194 Commits
Author SHA1 Message Date
MyLuxy 9f90d88277 fix: a solid lock on the Adventure chest 2026-10-20 22:22:15 +02:00
Elija 89e9b188cd fix: backport folders beside the game are not taken for it (#85) 2026-10-20 22:02:24 +02:00
MyLuxy b67337b094 fix: shorter Top rated tab in European Portuguese 2026-10-20 20:50:39 +02:00
MyLuxy f1ec9c94d5 feat: European Portuguese in the language list 2026-10-20 19:57:48 +02:00
Filipe Gomes 8630f9fec2 feat: European Portuguese translation (#81) 2026-10-20 19:56:32 +02:00
MyLuxy a5dfc5bd4a fix: the intro's logo no longer freezes while the store loads 2026-10-20 19:52:26 +02:00
MyLuxy 9170f56597 fix: Browse games on an empty Downloads opens Discover 2026-10-20 19:45:22 +02:00
Hemil Shah 5b4c89377d fix: the empty downloads button opens Browse (#80) 2026-10-20 18:47:01 +02:00
MyLuxyandHenianbin 4d8388d38b feat: Traditional Chinese, with its own font
Co-authored-by: Henianbin <154463651+Henianbin@users.noreply.github.com>
2026-10-20 18:39:26 +02:00
Hemil Shah cb4e695706 feat: game page button on download rows (#78) 2026-10-20 18:23:01 +02:00
MyLuxy 98d81a299f fix: dlproxy downloads stuck at 0 MB/s start over by themselves 2026-10-20 17:57:49 +02:00
MyLuxy fcf210b765 feat: pixel-art genre cards instead of covers, Sports joins Sport 2026-10-20 17:18:11 +02:00
MyLuxy b69f7e24c3 fix: header checks run off the render thread, the UI no longer freezes during fast downloads 2026-10-20 16:44:39 +02:00
MyLuxy ff1c95197c fix: store front sections skip empty ones when keeping images 2026-10-20 16:35:20 +02:00
MyLuxy 16ef0575b6 fix: a full image registry makes room, covers retry instead of showing titles 2026-10-20 02:20:10 +02:00
MyLuxy 7e905b98e1 fix: store front keeps only nearby images in use, image registry holds 512 2026-10-20 02:03:16 +02:00
MyLuxy 07d0ebf1a4 fix: warm the homebrew icons with the covers 2026-10-20 01:25:33 +02:00
MyLuxy 684f31545b fix: Homebrew page keeps its place, spinner while an app loads, emulators filter 2026-10-20 01:00:59 +02:00
MyLuxy ef1d389301 fix: covers stop thrashing the image cache on the store front 2026-10-20 00:46:09 +02:00
MyLuxy 9673ad66b8 feat: v1.0.8 2026-10-20 00:05:36 +02:00
MyLuxy afca004822 fix: shorten the kstuff credit 2026-10-19 23:58:23 +02:00
MyLuxy cdabb1bfb7 feat: credit kstuff in the README 2026-10-19 23:56:44 +02:00
MyLuxy e284d41b3f fix: fetch ps5-homebrew-ui and the ps5-opengl SDK from overdrive-deps 2026-10-19 23:54:50 +02:00
MyLuxy adde740a4f feat: extract 7z archives too large for the app's heap in rar-extract 2026-10-19 23:21:47 +02:00
Elija 0e7112e56f Fix: Accept larger encoded 7z headers, show extracted file count (#68) 2026-10-19 22:09:31 +02:00
MyLuxy e8001492bf feat: add a Homebrew section from prosperostore.net 2026-10-19 22:02:06 +02:00
MyLuxy ed9798b7d7 fix: list all 16 languages in the README 2026-10-19 20:07:08 +02:00
MyLuxy dff3d99855 feat: credit MyLuxy as current maintainer 2026-10-19 19:47:10 +02:00
MyLuxy 73bce2f73f fix: drop the home background copy at launch, it never shows on update 2026-10-19 17:57:16 +02:00
lunar-me eed910f3df docs: Add the missing preposition in the lazy-loading note in IMAGES.md (#67) 2026-10-19 17:36:57 +02:00
lunar-me 53e93e95af docs: Agree the verb after neither-nor in STORAGE.md (#66) 2026-10-19 17:36:49 +02:00
lunar-me a885231b7e docs: Agree the verb with the nearer subject in NETWORKING.md (#65) 2026-10-19 17:36:41 +02:00
MyLuxy 58e22d9cdf fix: turn mediafire off, games with only mediafire are hidden 2026-10-19 02:51:20 +02:00
MyLuxy c4731ba1ed fix: restore the card lift's original easing 2026-10-19 02:50:54 +02:00
MyLuxy d8525e0459 fix: focused cards lift without a jerk at the end 2026-10-19 02:34:45 +02:00
MyLuxy c742f637b3 fix: drop furi's mediafire source, it holds no game 2026-10-19 01:59:52 +02:00
MyLuxy af7b31e691 fix: say when an archive holds nothing to install 2026-10-19 01:51:03 +02:00
MyLuxy b5f1ae4411 fix: recommend confirmed hosts over mediafire 2026-10-19 01:43:13 +02:00
MyLuxy 223221bb43 feat: home-screen background, refreshed after every update 2026-10-19 01:01:17 +02:00
MyLuxy 5e1a981926 feat: dds home-screen backgrounds and fs.copyFile 2026-10-19 01:01:16 +02:00
Elija 6579f2d498 fix: detect installable archive packages by signature (#58) 2026-10-18 23:34:59 +02:00
MyLuxy 39467359bf fix: an extraction past its estimate keeps a full, dimmed bar 2026-10-18 23:17:38 +02:00
MyLuxy c72924e58b fix: extraction progress keeps counting past the archive's size 2026-10-18 23:15:50 +02:00
MyLuxy efc0d1c14b fix: password errors say the download is kept and tell missing from wrong 2026-10-18 23:05:55 +02:00
MyLuxy 8022425ced fix: say when there isn't enough space to extract a game 2026-10-18 22:14:29 +02:00
MyLuxy d0088575bf fix: downloads no longer fail when the queue folder takes no files 2026-10-18 21:29:55 +02:00
MyLuxy 1010275178 fix: crash loading covers when every connection is busy 2026-10-18 21:29:54 +02:00
MyLuxy 02992ccb7c fix: extraction receipts no longer limit how many files a game has 2026-10-18 20:14:22 +02:00
MyLuxy 4e7d4fa070 fix: fpkg-labelled sources rank as ps5 packages and drop re requiem's param.zip 2026-10-18 16:39:03 +02:00
MyLuxy c9538e43e8 feat: dlpsgame sources for 12 more ps4 games 2026-10-18 16:18:20 +02:00
MyLuxy f5d2ba4248 feat: delete pkgs once installed, with a setting to keep them 2026-10-18 15:59:56 +02:00
Elija 30b129854a fix: download progress survives pauses (#46) 2026-10-18 15:37:59 +02:00
MyLuxy aaa0fa214b fix: show the real file format while downloading and mark pkgs installed from files 2026-10-18 15:22:02 +02:00
MyLuxy 66206a3d5f fix: real archive passwords for blasphemous, ac syndicate and abzu 2026-10-18 15:16:34 +02:00
MyLuxy 62f71eb299 fix: drop ghost of yotei 7z sources the console can't extract 2026-10-18 06:34:09 +02:00
MyLuxy a20c799dd5 fix: filekeeper counts as a confirmed host 2026-10-18 06:15:59 +02:00
MyLuxy ac978145d3 fix: recommend the full game over backports and untested hosts 2026-10-18 06:12:05 +02:00
MyLuxy 1aee98a621 fix: covers of the five new ps4 games 2026-10-18 06:02:07 +02:00
MyLuxy 903633b60a fix: left from search results goes back to the keyboard 2026-10-18 05:51:23 +02:00
MyLuxy af472a5316 fix: install ps5 packages and show the real install error in files 2026-10-18 05:02:22 +02:00
MyLuxy d375034cf0 feat: app.log keeps the last five sessions 2026-10-18 04:37:34 +02:00
MyLuxy 1f7d29bfea feat: dlpsgame offline sources for the crew 2 2026-10-18 04:25:08 +02:00
MyLuxy b8082ce86f feat: dlpsgame sources for nier replicant 2026-10-18 04:20:18 +02:00
MyLuxy 8ce2d554ed feat: dlpsgame sources for 16 more ps4 games 2026-10-18 04:10:13 +02:00
MyLuxy 8daa2ad700 fix: log the refused vikingfile download host 2026-10-18 03:49:38 +02:00
MyLuxy 34663b95f9 fix: accept every vikingfile download server 2026-10-18 03:45:47 +02:00
MyLuxy 5e8c06200d feat: v1.0.7 2026-10-18 02:56:30 +02:00
MyLuxy 74178b2d88 feat: dlpsgame sources for 20 hidden ps4 games 2026-10-18 02:53:21 +02:00
MyLuxy 95b2c2715a feat: tool to fill new games' store data 2026-10-18 02:12:15 +02:00
MyLuxy f9e1908cbf fix: only a last volume as big as the first counts as full 2026-10-18 02:03:30 +02:00
MyLuxy 30324b53e2 fix: vikingfile sets missing their last volume stop before downloading 2026-10-18 02:01:52 +02:00
MyLuxy 62e6e01bc1 fix: drop sets missing their last volumes 2026-10-18 02:00:46 +02:00
MyLuxy ec28cb46fa fix: extracted images go straight into the homebrew folder 2026-10-18 00:21:52 +02:00
MyLuxy c632ad7be3 fix: vikingfile links with a plus for a space pass the name check 2026-10-17 22:23:34 +02:00
MyLuxy 2e84e56216 fix: vikingfile capture reads file names with spaces 2026-10-17 22:23:34 +02:00
MyLuxy ee0c8befbf fix: real multi-volume archives back together as sets 2026-10-17 21:52:30 +02:00
MyLuxy 0c7bc503e3 fix: broken multi-part sets split into their real files 2026-10-17 21:43:51 +02:00
MyLuxy 7dc1cbb7c2 fix: earlier .binary downloads are routed at launch 2026-10-17 21:22:48 +02:00
MyLuxy b6a0d349d6 feat: version 1.0.6 2026-10-17 20:48:37 +02:00
MyLuxy f3e08b6b54 fix: pkg installs show their real error and the by-hand route 2026-10-17 20:47:46 +02:00
MyLuxy b72c8a30e9 fix: changelog for the ps5 package check 2026-10-17 20:42:51 +02:00
MyLuxy d2734d43a6 fix: recognize ps5 packages by their header 2026-10-17 20:42:36 +02:00
MyLuxy 56ad78f780 fix: unrecognized game files take the format their name gives 2026-10-17 20:35:44 +02:00
MyLuxy 719fab55a7 fix: setup as its own command and the right clone address 2026-10-17 20:09:57 +02:00
Lpdev bf3689a5ec feat: linux desktop preview and npm scripts 2026-10-17 20:09:36 +02:00
Stintik-123 c742e20f89 fix: russian translation 2026-10-17 20:03:16 +02:00
MyLuxy 279c0d68a7 fix: left stops at a grid's first column 2026-10-17 05:23:14 +02:00
MyLuxy 9f02a1a9a9 fix: browse takes the pill like the other sections 2026-10-17 05:13:20 +02:00
MyLuxy cc392a0b10 fix: back to the top from deep in the catalog reaches the top 2026-10-17 05:13:20 +02:00
MyLuxy 15f6950ea8 docs: kstuff alongside shadowmount+ 2026-10-17 04:57:49 +02:00
MyLuxy dbfee949e1 fix: modern warfare iii cover on ps5 2026-10-17 04:51:20 +02:00
MyLuxy efc26071de fix: indie picks that can be downloaded 2026-10-17 04:34:06 +02:00
MyLuxy a787f2eb51 fix: hide games with no working source 2026-10-17 04:34:06 +02:00
MyLuxy d845949822 feat: game request issue form 2026-10-17 04:30:45 +02:00
MyLuxy c9594fe914 feat: one game and source report form 2026-10-17 04:29:30 +02:00
MyLuxy d5bae95449 fix: links filed under the wrong game 2026-10-17 04:15:47 +02:00
MyLuxy ec35c30f7c fix: one card per game, dead ps4 duplicates removed 2026-10-17 04:15:47 +02:00
MyLuxy 9f61caeeb9 fix: fewer speed limit options 2026-10-17 04:05:19 +02:00
MyLuxy 437b68c6f0 fix: left and right stop at a rail's ends 2026-10-17 03:58:32 +02:00
MyLuxy 2d2d61b3fb fix: far scrolls back up skip ahead instead of lagging 2026-10-17 03:58:32 +02:00
MyLuxy 76bdedba58 feat: source report issue form 2026-10-17 03:50:51 +02:00
MyLuxy 933223ee27 fix: remove limbo, its only source is gone 2026-10-17 03:50:51 +02:00
MyLuxy 821a525a5e fix: discover is its own section again, l1 and r1 stop on browse 2026-10-17 03:50:51 +02:00
MyLuxy ad62380d09 fix: dutch dates, missing texts and language name 2026-10-17 03:27:16 +02:00
Patrick Groot fb55ec1146 feat: dutch language 2026-10-17 03:26:40 +02:00
MyLuxy f45d09b7d5 fix: drop rift apart's dead links 2026-10-17 03:04:22 +02:00
MyLuxy 57950354ad fix: top charts rank the whole catalog and rotate on every launch 2026-10-17 02:53:01 +02:00
MyLuxy 01d71573a7 feat: battlefield 6 and assassin's creed shadows in the spotlight 2026-10-17 02:50:17 +02:00
MyLuxy fa567c890d feat: famous games in the spotlight, picks for you, library opens on new releases 2026-10-17 02:40:57 +02:00
MyLuxy 96a7a4c7a9 fix: pause buzzheavier again 2026-10-17 02:16:59 +02:00
MyLuxy 3fa5b91a65 feat: browser checks while another download runs 2026-10-17 02:12:47 +02:00
MyLuxy b599f399dd fix: queue moves on while a cancelled download's files are deleted 2026-10-17 01:32:33 +02:00
MyLuxy 19f9f0dd10 fix: unpause akirabox for testing 2026-10-17 01:01:20 +02:00
MyLuxy 80996acaa6 fix: akirabox captures take only the part being downloaded 2026-10-17 01:01:20 +02:00
MyLuxy a1c5446429 fix: a captured file named for the game outweighs the catalog size 2026-10-17 00:34:58 +02:00
MyLuxy c146420192 fix: buzzheavier through the browser with its file server captured 2026-10-17 00:31:32 +02:00
MyLuxy 0ec08fa08b fix: pause datavaults again 2026-10-17 00:25:53 +02:00
MyLuxy b5d6479ccb fix: capture passes over other sources' links, not old links of the same host 2026-10-17 00:17:44 +02:00
MyLuxy 0b7b7d2f96 fix: capture skips old links of the same game from other sources 2026-10-17 00:05:48 +02:00
MyLuxy 92a9894a06 fix: unpause datavaults and buzzheavier for testing 2026-10-16 23:30:59 +02:00
MyLuxy 76781b1314 fix: filekeeper downloads take the file's real size 2026-10-16 23:26:25 +02:00
MyLuxy 556bee99dc fix: find the game folder beside a patch or dlc in an archive 2026-10-16 22:44:47 +02:00
MyLuxy 51b1d3baf1 fix: vault captures ignore the vault's catalog size 2026-10-16 22:28:47 +02:00
MyLuxy 16a5cf321c fix: filekeeper form without the page cookie 2026-10-16 22:28:47 +02:00
MyLuxy d93a26a78b feat: filekeeper downloads without the browser 2026-10-16 21:52:36 +02:00
MyLuxy 8e1cb50bce fix: capture filekeeper's long gateway links 2026-10-16 21:48:00 +02:00
MyLuxy d744db8d3c fix: unpause linkvault datanodes and filekeeper mirrors 2026-10-16 21:39:00 +02:00
MyLuxy 73354a672a fix: unpause datanodes and filekeeper for testing 2026-10-16 20:41:49 +02:00
MyLuxy c4f72b1f2b fix: no automatic switch to another source 2026-10-16 20:28:47 +02:00
MyLuxy bd02648310 fix: hide games with only paused hosts 2026-10-16 20:05:41 +02:00
MyLuxy 39eb853b6a fix: pause browser hosts other than vikingfile 2026-10-16 20:02:44 +02:00
MyLuxy 0708569d07 fix: exact vikingfile capture through linkvault and title id check 2026-10-16 19:58:07 +02:00
MyLuxy 8a7f7fe529 fix: keep only vikingfile pippo sources 2026-10-16 19:51:28 +02:00
MyLuxy 576e5fe5d4 fix: capture only links that appear after the page opens 2026-10-16 19:06:14 +02:00
MyLuxy 6df2785d9e fix: capture 1fichier, datanodes and linkvault links 2026-10-16 18:02:34 +02:00
MyLuxy 1b2daddaa9 feat: vibration intensity levels 2026-10-16 16:00:20 +02:00
MyLuxy 30f7899531 fix: shorter download row labels 2026-10-16 15:33:07 +02:00
MyLuxy 5e80fe0feb fix: l1 and r1 follow right-to-left sections 2026-10-16 15:30:25 +02:00
MyLuxy cd2ecf4507 fix: keep big downloads with unknown headers 2026-10-16 15:30:25 +02:00
MyLuxy 4d3ced0e1e fix: shorter vikingfile capture message 2026-10-15 22:15:33 +02:00
MyLuxy af3ac4882e fix: shorter capture message 2026-10-15 22:14:08 +02:00
MyLuxy 6cd4add902 feat: browser capture for LinkVault, Akirabox and Datanodes 2026-10-15 22:06:14 +02:00
MyLuxy 7454d7be1c feat: screenshots for the new games 2026-10-15 21:35:00 +02:00
MyLuxy f55b42653b feat: version 1.0.5 2026-10-15 21:10:19 +02:00
MyLuxy 49bc557b1f feat: import the Pippo Library sources 2026-10-15 21:02:18 +02:00
MyLuxy 2211b28c7c fix: shorter download tips that wrap 2026-10-15 19:16:02 +02:00
MyLuxy a337cd7493 fix: firmware warning only for ps5 pkgs 2026-10-15 19:13:10 +02:00
MyLuxy 3bac8bf76f fix: download tips focus ring and down to continue 2026-10-15 19:13:10 +02:00
MyLuxy ece84f340d fix: shorter german labels for the new strings 2026-10-15 18:26:13 +02:00
MyLuxy a86383499d fix: download tips take focus and hand it to the source list 2026-10-15 18:26:13 +02:00
MyLuxy 1deb8f95d9 feat: download tips before a new download 2026-10-15 17:54:31 +02:00
MyLuxy 2e6285e3c6 fix: no firmware verdict on sources 2026-10-15 17:54:31 +02:00
MyLuxy 1a373b7f23 fix: dlc status line and no firmware number 2026-10-15 17:23:13 +02:00
MyLuxy 6ba1131b09 fix: warn about fake pkgs instead of hiding them 2026-10-15 17:23:13 +02:00
MyLuxy ce257ec2f2 fix: log the system software version the title is told 2026-10-15 16:42:28 +02:00
MyLuxy 214b992769 fix: tell players to wait instead of pressing download 2026-10-15 16:12:18 +02:00
MyLuxy c3b284f1d5 fix: capture the verified vikingfile link without the download button 2026-10-15 16:12:18 +02:00
MyLuxy 9189fccfd1 feat: version 1.0.4 2026-10-15 15:15:27 +02:00
MyLuxy 9c6a598ca8 feat: download speed limit setting 2026-10-15 15:06:59 +02:00
MyLuxy 9ca7ad56b7 feat: shared download rate limit in the framework 2026-10-15 15:06:59 +02:00
MyLuxy 1f21d10db9 feat: title id and minimum firmware in game details 2026-10-15 14:58:25 +02:00
MyLuxy 7dc1f1defe feat: firmware compatibility for each source 2026-10-15 14:57:44 +02:00
MyLuxy 4ad7ccb277 fix: tell backport patch files apart from full games 2026-10-15 14:49:25 +02:00
MyLuxy 87cc62099c fix: fake pkgs only on firmware 11.60 or older 2026-10-15 14:41:32 +02:00
MyLuxy db6f723fc1 fix: open up extracted game folder permissions 2026-10-15 14:41:31 +02:00
MyLuxy 041ae791b2 fix: app log path in the bug report form 2026-10-15 14:28:28 +02:00
MyLuxy 511865a47b fix: report a web page instead of keeping a .binary 2026-10-15 14:28:28 +02:00
MyLuxy d6ebf939a5 fix: persian language name in every locale 2026-10-15 14:25:44 +02:00
Sarbazi_PS c4f0579cb7 feat: persian language (#14) 2026-10-15 14:25:13 +02:00
MyLuxy fae429219d fix: drop metaphor mediafire sources 2026-10-15 03:23:52 +02:00
MyLuxy 13fb1dbdb1 fix: remove usb keyboard support 2026-10-15 01:31:14 +02:00
MyLuxy b58946c506 fix: load the keyboard module by id 2026-10-15 01:10:40 +02:00
MyLuxy b9cc056b42 fix: shorter german navigation labels 2026-10-15 00:54:16 +02:00
MyLuxy 2e9a415675 fix: keyboard lookup builds with clang 2026-10-15 00:04:41 +02:00
MyLuxy 61298687f7 fix: load the keyboard library at runtime 2026-10-14 23:59:06 +02:00
MyLuxy a211044154 feat: version 1.0.3 2026-10-14 23:41:06 +02:00
MyLuxy 4a4026b05c fix: find the image under its released name 2026-10-14 23:41:05 +02:00
MyLuxy c9ef821164 feat: usb keyboard support 2026-10-14 23:35:21 +02:00
MyLuxy 264f78e6b9 fix: try known archive passwords 2026-10-14 23:04:39 +02:00
MyLuxy d775ec8302 feat: sponsor button 2026-10-14 18:14:36 +02:00
MyLuxy b20572b660 fix: game details labels overflow 2026-10-14 17:50:45 +02:00
MyLuxy 034e8d6af1 fix: russian readme switcher and steps image 2026-10-14 17:27:06 +02:00
MyLuxy 42176292ae fix: build only on demand 2026-10-14 17:27:06 +02:00
Stintik-123 b963ad59b6 feat: russian readme (#3) 2026-10-14 17:19:36 +02:00
MyLuxy 4c90ab5a8c feat: italian, settings and language icons 2026-10-14 17:04:26 +02:00
MyLuxy 28558fbd26 feat: version 1.0.2 2026-10-14 16:32:21 +02:00
MyLuxy 5aca430011 feat: draft test builds 2026-10-14 16:32:21 +02:00
MyLuxy e0f14e8016 fix: dead archive.org sources 2026-10-14 16:24:42 +02:00
MyLuxy 5159948303 feat: vibration setting 2026-10-14 16:05:06 +02:00
MyLuxy f3071f3d0f feat: issue templates 2026-10-14 05:40:29 +02:00
MyLuxy 50c7a55342 fix: skip builds for readme-only pushes 2026-10-14 05:24:09 +02:00
MyLuxy f4140b8d54 feat: readme with install guide 2026-10-14 05:19:40 +02:00
MyLuxy 32422ca811 feat: version 1.0.1 2026-10-14 04:34:28 +02:00
MyLuxy 1942631b41 feat: Overdrive 1.0.0 2026-10-14 04:20:24 +02:00
4590 changed files with 102360 additions and 1 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
github: MyLuxy
+104
View File
@@ -0,0 +1,104 @@
name: Bug report
description: Something in Overdrive doesn't work as it should.
title: "[Bug] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report this. If Overdrive doesn't show up on the home screen
or an update won't install, the [Troubleshooting](https://github.com/MyLuxy/overdrive#troubleshooting)
section may already have the answer.
- type: input
id: version
attributes:
label: Overdrive version
description: It's shown next to the logo at the top of the app.
placeholder: v1.0.1
validations:
required: true
- type: input
id: firmware
attributes:
label: PS5 firmware
placeholder: "4.03"
validations:
required: true
- type: input
id: shadowmount
attributes:
label: ShadowMount+ version
description: If you know it.
placeholder: "1.6"
- type: dropdown
id: location
attributes:
label: Where is Overdrive installed?
options:
- USB drive (homebrew folder)
- Internal storage (/data/homebrew)
- Somewhere else
validations:
required: true
- type: dropdown
id: area
attributes:
label: Which part of the app?
options:
- Installing or starting Overdrive
- Discover, Browse or search
- Game page
- Downloads
- Files
- Updating Overdrive
- Language or text
- Something else
validations:
required: true
- type: textarea
id: what
attributes:
label: What happened?
description: Tell us what went wrong, and what you expected instead.
validations:
required: true
- type: textarea
id: steps
attributes:
label: How can we make it happen again?
placeholder: |
1. Open Overdrive
2. Go to ...
3. Press ...
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots or video
description: Press the Create button on the controller to capture the screen, then drag the file here.
- type: textarea
id: logs
attributes:
label: Log
description: For downloads and anything inside the app, copy `/data/ps5-react/PPSA99058/app.log` over FTP right after it happens. If a game won't install or start, the relevant lines from `/data/shadowmount/debug.log` help a lot.
render: text
- type: checkboxes
id: checks
attributes:
label: Before you send it
options:
- label: I'm on the [latest release](https://github.com/MyLuxy/overdrive/releases/latest).
required: true
- label: I searched the existing issues and this hasn't been reported yet.
required: true
+8
View File
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Install guide
url: https://github.com/MyLuxy/overdrive#install-in-four-steps
about: How to install Overdrive with ShadowMount+, step by step.
- name: Troubleshooting
url: https://github.com/MyLuxy/overdrive#troubleshooting
about: Overdrive doesn't show up, an update won't install, and other common problems.
@@ -0,0 +1,26 @@
name: Feature request
description: An idea to make Overdrive better.
title: "[Feature] "
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: What would you like to do?
description: The problem or the moment where Overdrive falls short today.
validations:
required: true
- type: textarea
id: idea
attributes:
label: Your idea
description: How you picture it working in the app.
validations:
required: true
- type: textarea
id: extra
attributes:
label: Anything else
description: Screenshots, sketches, or another app that does it well.
+92
View File
@@ -0,0 +1,92 @@
name: Game / source report
description: A game in the store has a problem, like a download source that doesn't work, a game that won't install or start, or wrong details.
title: "[Game] "
labels: ["catalog"]
body:
- type: markdown
attributes:
value: |
One report per game. If several sources of the same game fail, list them all here. Sources are third-party hosts: files get deleted and pages change, so a source that worked last week can stop working.
- type: input
id: game
attributes:
label: Game
description: The name exactly as it appears in Overdrive.
placeholder: Castlevania Dominus Collection
validations:
required: true
- type: dropdown
id: problem
attributes:
label: What's wrong?
options:
- "Source: the host says the file was deleted or not found"
- "Source: the browser page opens but the download is never captured"
- "Source: the download starts but fails or stops"
- "Source: the download finishes but it's the wrong file or game"
- "Source: the host is blocked in my country"
- The game doesn't install or start after downloading
- Wrong name, details, size or cover
- Something else
validations:
required: true
- type: input
id: source
attributes:
label: Source
description: For a download problem, the name on the source's button in the game page.
placeholder: Fpkg - VikingFile
- type: dropdown
id: host
attributes:
label: Host
description: For a download problem, the host of that source.
options:
- VikingFile
- DataNodes
- FileKeeper
- AkiraBox
- MediaFire
- Archive.org
- LinkVault
- Other (write it in the details)
- type: textarea
id: details
attributes:
label: Details
description: What you saw, and any error message the app or the host's page showed.
validations:
required: true
- type: input
id: country
attributes:
label: Country
description: For a download problem. Some hosts block some countries, so this helps tell a blocked host from a dead file.
placeholder: Italy
- type: input
id: version
attributes:
label: Overdrive version
placeholder: v1.0.5
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: Press the Create button on the controller to capture the screen, then drag the file here.
- type: textarea
id: logs
attributes:
label: Log
description: For downloads, copy `/data/ps5-react/PPSA99058/app.log` over FTP right after it happens and paste it here.
render: text
+58
View File
@@ -0,0 +1,58 @@
name: Game request
description: Ask for a game that isn't in the store, or that is there but has no working source.
title: "[Request] "
labels: ["catalog"]
body:
- type: markdown
attributes:
value: |
One game per request. Search the open issues first: if someone already asked for it, add a 👍 to that issue instead. Overdrive only lists links that third-party hosts already share, so a request can take time or stay open if no working link exists.
- type: input
id: game
attributes:
label: Game
description: Its full name, as on the PlayStation Store.
placeholder: Ratchet & Clank Rift Apart
validations:
required: true
- type: dropdown
id: platform
attributes:
label: Platform
options:
- PS5
- PS4
- Either
validations:
required: true
- type: dropdown
id: kind
attributes:
label: What's the request?
options:
- The game isn't in Overdrive
- The game is in Overdrive but none of its sources work
validations:
required: true
- type: input
id: title-id
attributes:
label: Title ID
description: If you know it, the game's ID, like PPSA01474 or CUSA12345.
placeholder: PPSA01474
- type: textarea
id: links
attributes:
label: Known links
description: If you know a working download link for it (a file page on VikingFile, MediaFire, DataNodes and the like), paste it here. It helps a lot.
- type: textarea
id: details
attributes:
label: Details
description: Anything else, like the version or region you need, or your PS5 firmware.
Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 369" width="1280" height="369" role="img" aria-label="Скачай Overdrive.exfat, скопируй его в папку homebrew, подключи накопитель, запусти">
<rect x="4" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="52.4" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M55.79 41.57L55.79 63.18L53.11 63.18L53.11 44.15L52.99 44.15L47.74 47.97L47.74 45.07L52.56 41.57L55.79 41.57Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(123.15 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/><path d="M12 15V3"/></g>
<path d="M107.76 169.34Q104.65 169.34 102.22 167.83Q99.8 166.33 98.42 163.55Q97.04 160.78 97.04 157.01Q97.04 153.23 98.42 150.45Q99.8 147.68 102.22 146.17Q104.65 144.65 107.76 144.65Q109.6 144.65 111.22 145.19Q112.85 145.73 114.14 146.76Q115.43 147.79 116.29 149.26Q117.15 150.73 117.49 152.58L114.45 152.58Q114.17 151.34 113.55 150.39Q112.93 149.44 112.04 148.79Q111.14 148.13 110.06 147.8Q108.97 147.47 107.76 147.47Q105.54 147.47 103.78 148.59Q102.02 149.71 101.02 151.84Q100.01 153.97 100.01 157.01Q100.01 160.04 101.02 162.17Q102.04 164.29 103.8 165.41Q105.55 166.52 107.76 166.52Q108.97 166.52 110.06 166.19Q111.14 165.86 112.04 165.21Q112.93 164.55 113.55 163.6Q114.17 162.65 114.45 161.41L117.49 161.41Q117.17 163.25 116.31 164.71Q115.45 166.16 114.16 167.2Q112.87 168.24 111.24 168.79Q109.61 169.34 107.76 169.34ZM121.02 169L121.02 151.15L123.89 151.15L123.89 158.88L125.69 158.88L132.12 151.15L135.78 151.15L128.58 159.78L135.88 169L132.24 169L126.39 161.54L123.89 161.54L123.89 169L121.02 169ZM143.1 169.39Q141.39 169.39 140 168.76Q138.62 168.13 137.8 166.91Q136.99 165.68 136.99 163.91Q136.99 162.38 137.59 161.42Q138.2 160.46 139.21 159.91Q140.23 159.36 141.47 159.09Q142.71 158.82 143.97 158.66Q145.58 158.45 146.58 158.33Q147.58 158.22 148.05 157.95Q148.53 157.67 148.53 157.01L148.53 156.92Q148.53 155.82 148.11 155.05Q147.69 154.27 146.85 153.85Q146.01 153.43 144.76 153.43Q143.48 153.43 142.57 153.84Q141.66 154.24 141.09 154.85Q140.52 155.46 140.28 156.14L137.49 155.37Q138.07 153.74 139.2 152.77Q140.33 151.79 141.77 151.35Q143.21 150.9 144.69 150.9Q145.69 150.9 146.85 151.15Q148.01 151.4 149.04 152.06Q150.07 152.73 150.73 153.95Q151.4 155.17 151.4 157.16L151.4 169L148.58 169L148.58 166.55L148.4 166.55Q148.09 167.18 147.43 167.84Q146.77 168.5 145.7 168.94Q144.63 169.39 143.1 169.39ZM143.58 166.84Q145.21 166.84 146.3 166.22Q147.4 165.6 147.96 164.6Q148.53 163.6 148.53 162.51L148.53 160.07Q148.35 160.27 147.79 160.43Q147.22 160.59 146.48 160.72Q145.74 160.85 145.02 160.94Q144.31 161.02 143.84 161.09Q142.79 161.22 141.89 161.53Q140.99 161.85 140.44 162.44Q139.89 163.04 139.89 164.07Q139.89 164.97 140.37 165.59Q140.84 166.21 141.67 166.53Q142.5 166.84 143.58 166.84ZM162.48 163.44Q159.37 163.44 157.52 161.79Q155.67 160.14 155.67 156.83L155.67 151.15L158.53 151.15L158.53 156.83Q158.53 158.86 159.66 159.82Q160.79 160.78 162.48 160.78Q164.22 160.78 165.64 160.46Q167.06 160.14 168.48 159.64L168.48 162.3Q167.54 162.64 166.61 162.89Q165.69 163.15 164.68 163.3Q163.67 163.44 162.48 163.44ZM166.74 169L166.74 151.15L169.6 151.15L169.6 169L166.74 169ZM178.93 169.39Q177.23 169.39 175.84 168.76Q174.45 168.13 173.64 166.91Q172.83 165.68 172.83 163.91Q172.83 162.38 173.43 161.42Q174.04 160.46 175.05 159.91Q176.07 159.36 177.31 159.09Q178.55 158.82 179.8 158.66Q181.42 158.45 182.41 158.33Q183.41 158.22 183.89 157.95Q184.36 157.67 184.36 157.01L184.36 156.92Q184.36 155.82 183.95 155.05Q183.53 154.27 182.69 153.85Q181.85 153.43 180.59 153.43Q179.32 153.43 178.41 153.84Q177.5 154.24 176.93 154.85Q176.36 155.46 176.11 156.14L173.33 155.37Q173.91 153.74 175.03 152.77Q176.16 151.79 177.6 151.35Q179.05 150.9 180.53 150.9Q181.53 150.9 182.69 151.15Q183.85 151.4 184.88 152.06Q185.91 152.73 186.57 153.95Q187.23 155.17 187.23 157.16L187.23 169L184.41 169L184.41 166.55L184.24 166.55Q183.93 167.18 183.27 167.84Q182.61 168.5 181.54 168.94Q180.46 169.39 178.93 169.39ZM179.42 166.84Q181.04 166.84 182.14 166.22Q183.24 165.6 183.8 164.6Q184.36 163.6 184.36 162.51L184.36 160.07Q184.19 160.27 183.62 160.43Q183.06 160.59 182.32 160.72Q181.58 160.85 180.86 160.94Q180.14 161.02 179.68 161.09Q178.63 161.22 177.73 161.53Q176.82 161.85 176.28 162.44Q175.73 163.04 175.73 164.07Q175.73 164.97 176.2 165.59Q176.68 166.21 177.51 166.53Q178.34 166.84 179.42 166.84ZM205.89 169L203.01 169L203.01 156.06L202.81 156.06L194.24 169L191.5 169L191.5 151.15L194.37 151.15L194.37 164.13L194.55 164.13L203.15 151.15L205.89 151.15L205.89 169ZM198.69 148.63Q197.38 148.63 196.33 148.03Q195.27 147.42 194.65 146.39Q194.03 145.35 194.03 144.07L196.14 144.07Q196.14 145.18 196.86 145.89Q197.58 146.59 198.69 146.59Q199.8 146.59 200.52 145.89Q201.24 145.18 201.24 144.07L203.35 144.07Q203.35 145.35 202.73 146.38Q202.11 147.41 201.06 148.02Q200.01 148.63 198.69 148.63Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M132.96 219.84Q131.42 219.84 130.25 219.12Q129.08 218.39 128.43 217.07Q127.78 215.75 127.78 214.01Q127.78 212.25 128.43 210.93Q129.08 209.6 130.25 208.87Q131.42 208.14 132.96 208.14L134.79 208.14Q136.33 208.14 137.5 208.87Q138.67 209.6 139.33 210.93Q139.98 212.25 139.98 214.01Q139.98 215.75 139.33 217.07Q138.67 218.39 137.5 219.12Q136.33 219.84 134.79 219.84L132.96 219.84ZM132.96 218.3L134.79 218.3Q135.91 218.3 136.66 217.71Q137.41 217.11 137.79 216.13Q138.18 215.15 138.18 214.01Q138.18 212.85 137.79 211.85Q137.41 210.85 136.66 210.23Q135.91 209.61 134.79 209.61L132.96 209.61Q131.84 209.61 131.09 210.23Q130.34 210.85 129.96 211.85Q129.58 212.85 129.58 214.01Q129.58 215.15 129.96 216.13Q130.34 217.11 131.09 217.71Q131.84 218.3 132.96 218.3ZM132.96 223.87L132.96 204.39L134.79 204.39L134.79 223.87L132.96 223.87ZM145.75 219.84Q144.67 219.84 143.79 219.45Q142.91 219.05 142.4 218.27Q141.88 217.5 141.88 216.38Q141.88 215.41 142.26 214.8Q142.65 214.19 143.29 213.84Q143.93 213.5 144.72 213.32Q145.5 213.15 146.3 213.05Q147.32 212.92 147.95 212.84Q148.59 212.77 148.89 212.6Q149.19 212.43 149.19 212.01L149.19 211.95Q149.19 211.25 148.92 210.76Q148.66 210.27 148.13 210.01Q147.6 209.74 146.8 209.74Q145.99 209.74 145.42 210Q144.84 210.25 144.48 210.64Q144.12 211.03 143.96 211.46L142.2 210.97Q142.57 209.94 143.28 209.32Q143.99 208.7 144.91 208.42Q145.82 208.14 146.76 208.14Q147.39 208.14 148.13 208.3Q148.86 208.46 149.52 208.87Q150.17 209.29 150.59 210.07Q151.01 210.84 151.01 212.1L151.01 219.6L149.22 219.6L149.22 218.05L149.11 218.05Q148.91 218.45 148.49 218.87Q148.08 219.28 147.4 219.56Q146.72 219.84 145.75 219.84ZM146.06 218.23Q147.09 218.23 147.78 217.84Q148.47 217.45 148.83 216.81Q149.19 216.18 149.19 215.49L149.19 213.95Q149.08 214.07 148.72 214.17Q148.36 214.27 147.89 214.35Q147.42 214.44 146.97 214.49Q146.51 214.55 146.22 214.59Q145.56 214.67 144.98 214.87Q144.41 215.07 144.07 215.45Q143.72 215.82 143.72 216.48Q143.72 217.05 144.02 217.44Q144.32 217.83 144.85 218.03Q145.37 218.23 146.06 218.23ZM163.24 219.6L161.41 219.6L161.41 211.41L161.29 211.41L155.86 219.6L154.13 219.6L154.13 208.29L155.94 208.29L155.94 216.52L156.06 216.52L161.51 208.29L163.24 208.29L163.24 219.6ZM158.68 206.7Q157.85 206.7 157.18 206.32Q156.52 205.94 156.12 205.28Q155.73 204.62 155.73 203.81L157.07 203.81Q157.07 204.52 157.52 204.96Q157.98 205.4 158.68 205.4Q159.38 205.4 159.84 204.96Q160.29 204.52 160.29 203.81L161.63 203.81Q161.63 204.62 161.24 205.27Q160.84 205.93 160.18 206.31Q159.52 206.7 158.68 206.7ZM164.99 219.6L164.99 217.92L165.39 217.92Q165.89 217.92 166.24 217.73Q166.58 217.54 166.79 217.05Q167 216.56 167.11 215.66Q167.23 214.75 167.29 213.32L167.5 208.29L175.18 208.29L175.18 219.6L173.35 219.6L173.35 209.98L169.23 209.98L169.06 213.96Q168.98 215.84 168.64 217.1Q168.31 218.35 167.59 218.98Q166.87 219.6 165.61 219.6L164.99 219.6Z" fill="#a3a3ab"/>
<rect x="60.85" y="230.6" width="181.79" height="35.2" rx="9.9" fill="#1d1d21" stroke="#2a2a2f" stroke-width="1.5"/>
<path d="M84.22 255.01Q82.26 255.01 80.73 254.06Q79.2 253.1 78.32 251.35Q77.45 249.6 77.45 247.21Q77.45 244.81 78.32 243.05Q79.2 241.3 80.73 240.34Q82.26 239.38 84.22 239.38Q86.18 239.38 87.71 240.34Q89.24 241.3 90.12 243.05Q90.99 244.81 90.99 247.21Q90.99 249.6 90.12 251.35Q89.24 253.1 87.71 254.06Q86.18 255.01 84.22 255.01ZM84.22 253.23Q85.58 253.23 86.69 252.53Q87.79 251.84 88.45 250.5Q89.11 249.16 89.11 247.21Q89.11 245.25 88.45 243.9Q87.79 242.55 86.69 241.86Q85.58 241.17 84.22 241.17Q82.86 241.17 81.74 241.86Q80.63 242.55 79.98 243.9Q79.32 245.25 79.32 247.21Q79.32 249.16 79.98 250.5Q80.63 251.84 81.74 252.53Q82.86 253.23 84.22 253.23ZM97.02 254.8L92.69 243.49L94.68 243.49L97.09 250.17Q97.47 251.18 97.73 252.18Q98 253.18 98.3 254.12L97.66 254.12Q97.95 253.18 98.22 252.18Q98.49 251.18 98.86 250.17L101.26 243.49L103.25 243.49L98.92 254.8L97.02 254.8ZM110.05 255.04Q108.41 255.04 107.23 254.31Q106.04 253.58 105.4 252.27Q104.77 250.96 104.77 249.23Q104.77 247.49 105.39 246.17Q106.02 244.84 107.17 244.09Q108.32 243.34 109.85 243.34Q110.8 243.34 111.68 243.66Q112.57 243.97 113.28 244.66Q113.98 245.34 114.39 246.42Q114.81 247.5 114.81 249.03L114.81 249.75L105.95 249.75L105.95 248.21L113.83 248.21L112.98 248.77Q112.98 247.66 112.62 246.79Q112.27 245.93 111.57 245.44Q110.87 244.95 109.85 244.95Q108.84 244.95 108.1 245.45Q107.37 245.94 106.98 246.75Q106.59 247.56 106.59 248.52L106.59 249.5Q106.59 250.75 107.02 251.63Q107.45 252.5 108.24 252.96Q109.02 253.42 110.06 253.42Q110.75 253.42 111.3 253.22Q111.86 253.01 112.26 252.62Q112.65 252.22 112.86 251.65L114.62 252.05Q114.37 252.93 113.74 253.61Q113.1 254.29 112.16 254.67Q111.23 255.04 110.05 255.04ZM117.34 254.8L117.34 243.49L119.09 243.49L119.09 245.24L119.2 245.24Q119.51 244.38 120.29 243.86Q121.07 243.33 122.09 243.33Q122.31 243.33 122.57 243.34Q122.84 243.36 122.99 243.37L122.99 245.2Q122.91 245.18 122.59 245.14Q122.27 245.09 121.9 245.09Q121.11 245.09 120.49 245.43Q119.87 245.76 119.51 246.35Q119.15 246.94 119.15 247.74L119.15 254.8L117.34 254.8ZM129.26 255.03Q127.84 255.03 126.76 254.32Q125.68 253.6 125.07 252.28Q124.46 250.96 124.46 249.18Q124.46 247.39 125.07 246.08Q125.68 244.77 126.76 244.05Q127.85 243.34 129.27 243.34Q130.31 243.34 130.96 243.68Q131.62 244.02 131.99 244.48Q132.37 244.93 132.58 245.29L132.71 245.29L132.71 239.59L134.52 239.59L134.52 254.8L132.77 254.8L132.77 253.05L132.6 253.05Q132.37 253.42 131.98 253.89Q131.59 254.35 130.94 254.69Q130.29 255.03 129.26 255.03ZM129.53 253.41Q130.56 253.41 131.28 252.87Q132 252.33 132.38 251.37Q132.75 250.41 132.75 249.16Q132.75 247.9 132.38 246.96Q132.01 246.02 131.29 245.5Q130.57 244.97 129.53 244.97Q128.47 244.97 127.75 245.52Q127.03 246.06 126.67 247.01Q126.31 247.95 126.31 249.16Q126.31 250.37 126.68 251.34Q127.04 252.3 127.77 252.86Q128.49 253.41 129.53 253.41ZM137.65 254.8L137.65 243.49L139.4 243.49L139.4 245.24L139.5 245.24Q139.82 244.38 140.6 243.86Q141.38 243.33 142.4 243.33Q142.62 243.33 142.88 243.34Q143.15 243.36 143.3 243.37L143.3 245.2Q143.22 245.18 142.9 245.14Q142.58 245.09 142.21 245.09Q141.42 245.09 140.8 245.43Q140.18 245.76 139.82 246.35Q139.46 246.94 139.46 247.74L139.46 254.8L137.65 254.8ZM145.32 254.8L145.32 243.49L147.14 243.49L147.14 254.8L145.32 254.8ZM146.23 241.59Q145.72 241.59 145.35 241.24Q144.97 240.88 144.97 240.38Q144.97 239.87 145.35 239.52Q145.72 239.18 146.23 239.18Q146.75 239.18 147.12 239.52Q147.49 239.87 147.49 240.38Q147.49 240.88 147.12 241.24Q146.75 241.59 146.23 241.59ZM153.54 254.8L149.21 243.49L151.2 243.49L153.61 250.17Q153.98 251.18 154.25 252.18Q154.52 253.18 154.81 254.12L154.18 254.12Q154.46 253.18 154.73 252.18Q155.01 251.18 155.37 250.17L157.77 243.49L159.76 243.49L155.43 254.8L153.54 254.8ZM166.57 255.04Q164.92 255.04 163.74 254.31Q162.56 253.58 161.92 252.27Q161.28 250.96 161.28 249.23Q161.28 247.49 161.91 246.17Q162.54 244.84 163.68 244.09Q164.83 243.34 166.36 243.34Q167.31 243.34 168.2 243.66Q169.09 243.97 169.79 244.66Q170.5 245.34 170.91 246.42Q171.32 247.5 171.32 249.03L171.32 249.75L162.47 249.75L162.47 248.21L170.34 248.21L169.5 248.77Q169.5 247.66 169.14 246.79Q168.78 245.93 168.08 245.44Q167.38 244.95 166.36 244.95Q165.35 244.95 164.62 245.45Q163.88 245.94 163.5 246.75Q163.11 247.56 163.11 248.52L163.11 249.5Q163.11 250.75 163.54 251.63Q163.97 252.5 164.75 252.96Q165.54 253.42 166.58 253.42Q167.26 253.42 167.82 253.22Q168.37 253.01 168.77 252.62Q169.17 252.22 169.37 251.65L171.14 252.05Q170.88 252.93 170.25 253.61Q169.62 254.29 168.68 254.67Q167.74 255.04 166.57 255.04ZM175.18 254.94Q174.62 254.94 174.22 254.54Q173.82 254.15 173.82 253.58Q173.82 253.01 174.22 252.62Q174.62 252.22 175.18 252.22Q175.75 252.22 176.15 252.62Q176.55 253.01 176.55 253.58Q176.55 254.15 176.15 254.54Q175.75 254.94 175.18 254.94ZM184.38 255.04Q182.73 255.04 181.55 254.31Q180.37 253.58 179.73 252.27Q179.09 250.96 179.09 249.23Q179.09 247.49 179.72 246.17Q180.34 244.84 181.49 244.09Q182.64 243.34 184.17 243.34Q185.12 243.34 186.01 243.66Q186.9 243.97 187.6 244.66Q188.Line truncated
<path d="M60.22 298.8L58.39 298.8L58.39 290.61L58.27 290.61L52.84 298.8L51.11 298.8L51.11 287.49L52.92 287.49L52.92 295.72L53.04 295.72L58.49 287.49L60.22 287.49L60.22 298.8ZM66.87 298.94Q65.72 298.94 64.78 298.57Q63.83 298.19 63.28 297.51Q62.72 296.83 62.69 295.94L64.55 295.94Q64.59 296.57 65.26 296.98Q65.94 297.39 66.86 297.39Q67.91 297.39 68.55 296.88Q69.2 296.36 69.2 295.58Q69.2 294.74 68.51 294.22Q67.81 293.71 66.63 293.71L65.86 293.71L65.86 292.34L66.63 292.34Q67.6 292.34 68.24 291.85Q68.88 291.36 68.88 290.56Q68.88 289.8 68.34 289.32Q67.8 288.84 66.92 288.84Q66.04 288.84 65.38 289.27Q64.72 289.71 64.7 290.43L62.95 290.43Q62.97 289.51 63.51 288.82Q64.05 288.13 64.95 287.74Q65.84 287.36 66.94 287.36Q68.07 287.36 68.91 287.78Q69.74 288.21 70.2 288.91Q70.66 289.62 70.66 290.47Q70.66 291.47 70.04 292.11Q69.43 292.75 68.5 292.93L68.5 293Q69.77 293.2 70.44 293.92Q71.1 294.64 71.1 295.69Q71.1 296.63 70.56 297.36Q70.02 298.1 69.06 298.52Q68.1 298.94 66.87 298.94ZM79.32 303.07L79.32 287.49L81.08 287.49L81.08 289.29L81.25 289.29Q81.48 288.93 81.86 288.48Q82.23 288.02 82.89 287.68Q83.54 287.34 84.58 287.34Q86.01 287.34 87.09 288.05Q88.16 288.77 88.77 290.08Q89.39 291.39 89.39 293.18Q89.39 294.96 88.78 296.28Q88.17 297.6 87.09 298.32Q86.01 299.03 84.59 299.03Q83.57 299.03 82.91 298.69Q82.25 298.35 81.87 297.89Q81.49 297.42 81.26 297.05L81.14 297.05L81.14 303.07L79.32 303.07ZM84.31 297.41Q85.37 297.41 86.09 296.86Q86.8 296.3 87.17 295.34Q87.54 294.37 87.54 293.16Q87.54 291.95 87.17 291.01Q86.8 290.06 86.09 289.52Q85.38 288.97 84.31 288.97Q83.27 288.97 82.55 289.5Q81.84 290.02 81.47 290.96Q81.1 291.9 81.1 293.16Q81.1 294.41 81.47 295.37Q81.85 296.33 82.56 296.87Q83.28 297.41 84.31 297.41ZM95.16 299.04Q94.08 299.04 93.2 298.65Q92.33 298.25 91.81 297.47Q91.3 296.7 91.3 295.58Q91.3 294.61 91.68 294Q92.06 293.39 92.7 293.04Q93.35 292.7 94.13 292.52Q94.92 292.35 95.71 292.25Q96.73 292.12 97.37 292.04Q98 291.97 98.3 291.8Q98.6 291.63 98.6 291.21L98.6 291.15Q98.6 290.45 98.34 289.96Q98.07 289.47 97.54 289.21Q97.01 288.94 96.21 288.94Q95.41 288.94 94.83 289.2Q94.25 289.45 93.89 289.84Q93.53 290.23 93.38 290.66L91.61 290.17Q91.98 289.14 92.69 288.52Q93.41 287.9 94.32 287.62Q95.23 287.34 96.17 287.34Q96.81 287.34 97.54 287.5Q98.28 287.66 98.93 288.07Q99.58 288.49 100 289.27Q100.42 290.04 100.42 291.3L100.42 298.8L98.63 298.8L98.63 297.25L98.52 297.25Q98.33 297.65 97.91 298.07Q97.49 298.48 96.81 298.76Q96.13 299.04 95.16 299.04ZM95.47 297.43Q96.5 297.43 97.19 297.04Q97.89 296.65 98.24 296.01Q98.6 295.38 98.6 294.69L98.6 293.15Q98.49 293.27 98.13 293.37Q97.78 293.47 97.31 293.55Q96.84 293.64 96.38 293.69Q95.93 293.75 95.63 293.79Q94.97 293.87 94.4 294.07Q93.83 294.27 93.48 294.65Q93.13 295.02 93.13 295.68Q93.13 296.25 93.43 296.64Q93.73 297.03 94.26 297.23Q94.79 297.43 95.47 297.43ZM107.08 298.94Q105.93 298.94 104.99 298.57Q104.04 298.19 103.49 297.51Q102.93 296.83 102.9 295.94L104.76 295.94Q104.8 296.57 105.47 296.98Q106.14 297.39 107.07 297.39Q108.11 297.39 108.76 296.88Q109.41 296.36 109.41 295.58Q109.41 294.74 108.72 294.22Q108.02 293.71 106.84 293.71L106.07 293.71L106.07 292.34L106.84 292.34Q107.81 292.34 108.45 291.85Q109.09 291.36 109.09 290.56Q109.09 289.8 108.55 289.32Q108.01 288.84 107.12 288.84Q106.25 288.84 105.59 289.27Q104.93 289.71 104.91 290.43L103.15 290.43Q103.17 289.51 103.71 288.82Q104.26 288.13 105.15 287.74Q106.05 287.36 107.14 287.36Q108.28 287.36 109.11 287.78Q109.95 288.21 110.41 288.91Q110.87 289.62 110.87 290.47Q110.87 291.47 110.25 292.11Q109.63 292.75 108.7 292.93L108.7 293Q109.98 293.2 110.64 293.92Q111.31 294.64 111.31 295.69Q111.31 296.63 110.77 297.36Q110.23 298.1 109.27 298.52Q108.31 298.94 107.08 298.94ZM112.58 302.08L112.58 297.12L113.52 297.12Q113.87 296.76 114.12 296.34Q114.38 295.92 114.56 295.34Q114.75 294.75 114.88 293.92Q115.01 293.09 115.11 291.92L115.5 287.49L122.84 287.49L122.84 297.12L124.57 297.12L124.57 302.08L122.76 302.08L122.76 298.8L114.4 298.8L114.4 302.08L112.58 302.08ZM115.59 297.12L121.02 297.12L121.02 289.18L117.14 289.18L116.9 291.92Q116.74 293.72 116.46 295.02Q116.18 296.33 115.59 297.12ZM131.25 299.04Q129.6 299.04 128.42 298.31Q127.24 297.58 126.6 296.27Q125.96 294.96 125.96 293.23Q125.96 291.49 126.59 290.17Q127.22 288.84 128.37 288.09Q129.51 287.34 131.04 287.34Q131.99 287.34 132.88 287.66Q133.77 287.97 134.47 288.66Q135.18 289.34 135.59 290.42Q136 291.5 136 293.03L136 293.75L127.15 293.75L127.15 292.21L135.02 292.21L134.18 292.77Q134.18 291.66 133.82 290.79Q133.46 289.93 132.76 289.44Q132.06 288.95 131.04 288.95Q130.03 288.95 129.3 289.45Q128.56 289.94 128.18 290.75Q127.79 291.56 127.79 292.52L127.79 293.5Q127.79 294.75 128.22 295.63Q128.65 296.5 129.43 296.96Q130.22 297.42 131.26 297.42Q131.94 297.42 132.5 297.22Q133.05 297.01 133.45 296.62Q133.85 296.22 134.05 295.65L135.82 296.05Q135.56 296.93 134.93 297.61Q134.3 298.29 133.36 298.67Q132.42 299.04 131.25 299.04ZM137.17 298.8L137.17 297.12L137.58 297.12Q138.08 297.12 138.42 296.93Q138.76 296.74 138.97 296.25Q139Line truncated
<g transform="translate(303.5 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
<rect x="329.5" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="377.9" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M371.03 63.18L371.03 61.16L378.29 53.51Q379.52 52.2 380.34 51.22Q381.15 50.24 381.55 49.35Q381.96 48.45 381.96 47.43Q381.96 46.27 381.42 45.42Q380.89 44.56 379.96 44.1Q379.03 43.65 377.84 43.65Q376.57 43.65 375.64 44.17Q374.71 44.69 374.2 45.63Q373.69 46.58 373.69 47.85L371.1 47.85Q371.1 45.89 371.98 44.41Q372.87 42.92 374.4 42.09Q375.93 41.27 377.9 41.27Q379.84 41.27 381.34 42.08Q382.83 42.89 383.69 44.28Q384.54 45.66 384.54 47.39Q384.54 48.61 384.11 49.73Q383.67 50.85 382.62 52.23Q381.57 53.61 379.7 55.55L374.78 60.63L374.78 60.77L384.86 60.77L384.86 63.18L371.03 63.18Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(448.65 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/></g>
<path d="M413.52 169.34Q410.41 169.34 407.98 167.83Q405.56 166.33 404.18 163.55Q402.8 160.78 402.8 157.01Q402.8 153.23 404.18 150.45Q405.56 147.68 407.98 146.17Q410.41 144.65 413.52 144.65Q415.36 144.65 416.98 145.19Q418.61 145.73 419.9 146.76Q421.19 147.79 422.05 149.26Q422.91 150.73 423.25 152.58L420.21 152.58Q419.93 151.34 419.31 150.39Q418.69 149.44 417.8 148.79Q416.9 148.13 415.82 147.8Q414.73 147.47 413.52 147.47Q411.3 147.47 409.54 148.59Q407.78 149.71 406.78 151.84Q405.77 153.97 405.77 157.01Q405.77 160.04 406.78 162.17Q407.8 164.29 409.56 165.41Q411.31 166.52 413.52 166.52Q414.73 166.52 415.82 166.19Q416.9 165.86 417.8 165.21Q418.69 164.55 419.31 163.6Q419.93 162.65 420.21 161.41L423.25 161.41Q422.93 163.25 422.07 164.71Q421.21 166.16 419.92 167.2Q418.63 168.24 417 168.79Q415.37 169.34 413.52 169.34ZM426.78 169L426.78 151.15L429.65 151.15L429.65 158.88L431.45 158.88L437.88 151.15L441.54 151.15L434.34 159.78L441.64 169L438 169L432.15 161.54L429.65 161.54L429.65 169L426.78 169ZM451.06 169.39Q448.63 169.39 446.8 168.23Q444.97 167.08 443.95 165Q442.93 162.93 442.93 160.17Q442.93 157.4 443.95 155.3Q444.97 153.21 446.8 152.06Q448.63 150.9 451.06 150.9Q453.51 150.9 455.36 152.06Q457.2 153.21 458.23 155.3Q459.25 157.4 459.25 160.17Q459.25 162.93 458.23 165Q457.2 167.08 455.36 168.23Q453.51 169.39 451.06 169.39ZM451.06 166.81Q452.85 166.81 454.03 165.9Q455.21 164.99 455.78 163.48Q456.35 161.97 456.35 160.17Q456.35 158.37 455.78 156.84Q455.21 155.32 454.03 154.4Q452.85 153.48 451.06 153.48Q449.31 153.48 448.15 154.4Q446.99 155.32 446.42 156.83Q445.84 158.35 445.84 160.17Q445.84 161.97 446.42 163.48Q446.99 164.99 448.14 165.9Q449.29 166.81 451.06 166.81ZM476.93 151.15L476.93 169L474.06 169L474.06 153.81L465.54 153.81L465.54 169L462.65 169L462.65 151.15L476.93 151.15ZM495.59 169L492.7 169L492.7 156.06L492.51 156.06L483.94 169L481.2 169L481.2 151.15L484.07 151.15L484.07 164.13L484.24 164.13L492.85 151.15L495.59 151.15L495.59 169ZM499.84 175.74L499.84 151.15L502.61 151.15L502.61 153.98L502.89 153.98Q503.24 153.42 503.84 152.7Q504.43 151.98 505.47 151.44Q506.5 150.9 508.14 150.9Q510.4 150.9 512.1 152.03Q513.8 153.16 514.76 155.23Q515.73 157.3 515.73 160.12Q515.73 162.94 514.77 165.02Q513.81 167.1 512.1 168.23Q510.4 169.37 508.16 169.37Q506.54 169.37 505.51 168.83Q504.47 168.29 503.86 167.56Q503.26 166.82 502.9 166.24L502.71 166.24L502.71 175.74L499.84 175.74ZM507.72 166.81Q509.38 166.81 510.52 165.93Q511.65 165.05 512.23 163.53Q512.81 162.01 512.81 160.09Q512.81 158.19 512.23 156.7Q511.65 155.21 510.52 154.34Q509.4 153.48 507.72 153.48Q506.08 153.48 504.94 154.31Q503.81 155.14 503.23 156.62Q502.65 158.11 502.65 160.09Q502.65 162.07 503.23 163.59Q503.82 165.1 504.96 165.95Q506.09 166.81 507.72 166.81ZM518.9 175.56L519.52 173.06L520.06 173.12Q520.89 173.32 521.56 173.2Q522.22 173.08 522.76 172.49Q523.3 171.9 523.72 170.71L524.3 169.05L517.47 151.15L520.61 151.15L524.42 161.68Q525.01 163.28 525.43 164.86Q525.85 166.44 526.3 167.92L525.3 167.92Q525.75 166.44 526.18 164.86Q526.61 163.28 527.19 161.68L531.01 151.15L534.13 151.15L526.22 171.77Q525.69 173.16 524.94 174.06Q524.19 174.96 523.19 175.41Q522.19 175.85 520.95 175.85Q520.24 175.85 519.7 175.75Q519.16 175.65 518.9 175.56ZM551.13 169L548.25 169L548.25 156.06L548.05 156.06L539.48 169L536.74 169L536.74 151.15L539.61 151.15L539.61 164.13L539.79 164.13L548.39 151.15L551.13 151.15L551.13 169ZM543.93 148.63Q542.62 148.63 541.57 148.03Q540.51 147.42 539.89 146.39Q539.27 145.35 539.27 144.07L541.38 144.07Q541.38 145.18 542.1 145.89Q542.82 146.59 543.93 146.59Q545.04 146.59 545.76 145.89Q546.47 145.18 546.47 144.07L548.59 144.07Q548.59 145.35 547.97 146.38Q547.35 147.41 546.3 148.02Q545.25 148.63 543.93 148.63Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M425.89 219.84Q424.24 219.84 423.06 219.11Q421.88 218.38 421.24 217.07Q420.6 215.76 420.6 214.03Q420.6 212.29 421.23 210.97Q421.86 209.64 423 208.89Q424.15 208.14 425.68 208.14Q426.63 208.14 427.52 208.46Q428.41 208.77 429.11 209.46Q429.82 210.14 430.23 211.22Q430.64 212.3 430.64 213.83L430.64 214.55L421.79 214.55L421.79 213.01L429.66 213.01L428.82 213.57Q428.82 212.46 428.46 211.59Q428.1 210.73 427.4 210.24Q426.7 209.75 425.68 209.75Q424.67 209.75 423.94 210.25Q423.2 210.74 422.82 211.55Q422.43 212.36 422.43 213.32L422.43 214.3Q422.43 215.55 422.86 216.43Q423.29 217.3 424.07 217.76Q424.86 218.22 425.9 218.22Q426.58 218.22 427.14 218.02Q427.69 217.81 428.09 217.42Q428.49 217.02 428.69 216.45L430.46 216.85Q430.2 217.73 429.57 218.41Q428.94 219.09 428 219.47Q427.06 219.84 425.89 219.84ZM440.25 208.29L440.25 209.98L434.99 209.98L434.99 219.6L433.17 219.6L433.17 208.29L440.25 208.29ZM446.84 219.84Q445.3 219.84 444.14 219.12Q442.98 218.39 442.33 217.07Q441.69 215.75 441.69 214.01Q441.69 212.25 442.33 210.93Q442.98 209.6 444.14 208.87Q445.3 208.14 446.84 208.14Q448.39 208.14 449.56 208.87Q450.73 209.6 451.38 210.93Q452.02 212.25 452.02 214.01Q452.02 215.75 451.38 217.07Q450.73 218.39 449.56 219.12Q448.39 219.84 446.84 219.84ZM446.84 218.21Q447.97 218.21 448.72 217.64Q449.46 217.06 449.82 216.1Q450.19 215.15 450.19 214.01Q450.19 212.86 449.82 211.9Q449.46 210.94 448.72 210.35Q447.97 209.77 446.84 209.77Q445.73 209.77 444.99 210.35Q444.26 210.94 443.89 211.9Q443.53 212.85 443.53 214.01Q443.53 215.15 443.89 216.1Q444.26 217.06 444.99 217.64Q445.72 218.21 446.84 218.21ZM460.36 219.6L460.36 208.29L464.99 208.29Q466.84 208.29 467.94 209.11Q469.03 209.94 469.03 211.31Q469.03 212.3 468.44 212.88Q467.85 213.46 466.86 213.66Q467.51 213.75 468.11 214.1Q468.7 214.46 469.09 215.06Q469.47 215.66 469.47 216.54Q469.47 217.43 469.02 218.12Q468.57 218.81 467.72 219.21Q466.88 219.6 465.72 219.6L460.36 219.6ZM462.09 217.94L465.72 217.94Q466.6 217.94 467.1 217.52Q467.6 217.11 467.6 216.4Q467.6 215.53 467.1 215.05Q466.6 214.57 465.72 214.57L462.09 214.57L462.09 217.94ZM462.09 213.04L465.01 213.04Q466.04 213.04 466.62 212.61Q467.2 212.19 467.2 211.46Q467.2 210.75 466.62 210.35Q466.03 209.96 464.99 209.96L462.09 209.96L462.09 213.04ZM486.83 208.29L486.83 219.6L485.02 219.6L485.02 209.98L479.62 209.98L479.62 219.6L477.79 219.6L477.79 208.29L486.83 208.29ZM493.16 219.84Q492.08 219.84 491.2 219.45Q490.32 219.05 489.81 218.27Q489.29 217.5 489.29 216.38Q489.29 215.41 489.67 214.8Q490.06 214.19 490.7 213.84Q491.34 213.5 492.13 213.32Q492.91 213.15 493.71 213.05Q494.73 212.92 495.36 212.84Q496 212.77 496.3 212.6Q496.6 212.43 496.6 212.01L496.6 211.95Q496.6 211.25 496.33 210.76Q496.07 210.27 495.54 210.01Q495.01 209.74 494.21 209.74Q493.4 209.74 492.83 210Q492.25 210.25 491.89 210.64Q491.53 211.03 491.37 211.46L489.61 210.97Q489.98 209.94 490.69 209.32Q491.4 208.7 492.32 208.42Q493.23 208.14 494.17 208.14Q494.8 208.14 495.54 208.3Q496.27 208.46 496.93 208.87Q497.58 209.29 498 210.07Q498.42 210.84 498.42 212.1L498.42 219.6L496.63 219.6L496.63 218.05L496.52 218.05Q496.32 218.45 495.9 218.87Q495.49 219.28 494.81 219.56Q494.13 219.84 493.16 219.84ZM493.47 218.23Q494.5 218.23 495.19 217.84Q495.88 217.45 496.24 216.81Q496.6 216.18 496.6 215.49L496.6 213.95Q496.49 214.07 496.13 214.17Q495.77 214.27 495.3 214.35Q494.83 214.44 494.38 214.49Q493.93 214.55 493.63 214.59Q492.97 214.67 492.39 214.87Q491.82 215.07 491.48 215.45Q491.13 215.82 491.13 216.48Q491.13 217.05 491.43 217.44Q491.73 217.83 492.26 218.03Q492.78 218.23 493.47 218.23ZM510.58 208.29L510.58 219.6L508.76 219.6L508.76 209.98L503.36 209.98L503.36 219.6L501.54 219.6L501.54 208.29L510.58 208.29ZM513.7 219.6L513.7 208.29L515.52 208.29L515.52 213.19L516.66 213.19L520.73 208.29L523.05 208.29L518.49 213.76L523.11 219.6L520.81 219.6L517.1 214.88L515.52 214.88L515.52 219.6L513.7 219.6ZM524.75 223.75L525.14 222.17L525.49 222.21Q526.01 222.33 526.43 222.26Q526.86 222.18 527.2 221.81Q527.54 221.44 527.81 220.68L528.17 219.63L523.85 208.29L525.84 208.29L528.24 214.97Q528.62 215.98 528.89 216.98Q529.15 217.98 529.44 218.92L528.81 218.92Q529.09 217.98 529.36 216.98Q529.63 215.98 530 214.97L532.42 208.29L534.4 208.29L529.39 221.36Q529.05 222.23 528.58 222.8Q528.1 223.38 527.47 223.66Q526.84 223.94 526.05 223.94Q525.6 223.94 525.26 223.88Q524.92 223.81 524.75 223.75Z" fill="#a3a3ab"/>
<rect x="409.87" y="230.6" width="134.76" height="35.2" rx="9.9" fill="#1d1d21" stroke="#2a2a2f" stroke-width="1.5"/>
<path d="M428.65 248.05L428.65 254.8L426.83 254.8L426.83 239.59L428.65 239.59L428.65 246.24L428.29 246.24Q428.82 244.68 429.78 244.01Q430.74 243.34 432.04 243.34Q433.18 243.34 434.05 243.81Q434.92 244.29 435.42 245.24Q435.91 246.2 435.91 247.65L435.91 254.8L434.09 254.8L434.09 247.8Q434.09 246.46 433.4 245.72Q432.72 244.98 431.52 244.98Q430.71 244.98 430.06 245.33Q429.4 245.69 429.03 246.37Q428.65 247.05 428.65 248.05ZM443.64 255.04Q442.1 255.04 440.94 254.32Q439.78 253.59 439.13 252.27Q438.49 250.95 438.49 249.21Q438.49 247.45 439.13 246.13Q439.78 244.8 440.94 244.07Q442.1 243.34 443.64 243.34Q445.19 243.34 446.36 244.07Q447.53 244.8 448.18 246.13Q448.82 247.45 448.82 249.21Q448.82 250.95 448.18 252.27Q447.53 253.59 446.36 254.32Q445.19 255.04 443.64 255.04ZM443.64 253.41Q444.77 253.41 445.52 252.84Q446.26 252.26 446.62 251.3Q446.99 250.35 446.99 249.21Q446.99 248.06 446.62 247.1Q446.26 246.14 445.52 245.55Q444.77 244.97 443.64 244.97Q442.53 244.97 441.79 245.55Q441.06 246.14 440.7 247.1Q440.33 248.05 440.33 249.21Q440.33 250.35 440.7 251.3Q441.06 252.26 441.79 252.84Q442.52 253.41 443.64 253.41ZM451.4 254.8L451.4 243.49L453.16 243.49L453.17 245.99L453.02 245.99Q453.26 245.08 453.77 244.49Q454.27 243.89 454.95 243.59Q455.63 243.29 456.37 243.29Q457.61 243.29 458.4 244.05Q459.19 244.81 459.42 246L459.15 246Q459.36 245.19 459.89 244.57Q460.43 243.96 461.19 243.63Q461.96 243.29 462.87 243.29Q463.86 243.29 464.67 243.72Q465.49 244.15 465.97 245.01Q466.46 245.88 466.46 247.21L466.46 254.8L464.63 254.8L464.63 247.26Q464.63 246.01 463.94 245.48Q463.24 244.95 462.33 244.95Q461.56 244.95 461 245.27Q460.44 245.6 460.14 246.16Q459.84 246.72 459.84 247.45L459.84 254.8L458.01 254.8L458.01 247.07Q458.01 246.12 457.38 245.53Q456.74 244.95 455.77 244.95Q455.11 244.95 454.52 245.26Q453.93 245.57 453.57 246.19Q453.21 246.81 453.21 247.72L453.21 254.8L451.4 254.8ZM474.31 255.04Q472.66 255.04 471.48 254.31Q470.3 253.58 469.66 252.27Q469.02 250.96 469.02 249.23Q469.02 247.49 469.65 246.17Q470.27 244.84 471.42 244.09Q472.57 243.34 474.1 243.34Q475.05 243.34 475.94 243.66Q476.83 243.97 477.53 244.66Q478.23 245.34 478.65 246.42Q479.06 247.5 479.06 249.03L479.06 249.75L470.2 249.75L470.2 248.21L478.08 248.21L477.23 248.77Q477.23 247.66 476.88 246.79Q476.52 245.93 475.82 245.44Q475.12 244.95 474.1 244.95Q473.09 244.95 472.36 245.45Q471.62 245.94 471.23 246.75Q470.85 247.56 470.85 248.52L470.85 249.5Q470.85 250.75 471.27 251.63Q471.7 252.5 472.49 252.96Q473.28 253.42 474.32 253.42Q475 253.42 475.56 253.22Q476.11 253.01 476.51 252.62Q476.91 252.22 477.11 251.65L478.88 252.05Q478.62 252.93 477.99 253.61Q477.36 254.29 476.42 254.67Q475.48 255.04 474.31 255.04ZM486.86 255.03Q485.84 255.03 485.18 254.69Q484.52 254.35 484.13 253.89Q483.75 253.42 483.52 253.05L483.35 253.05L483.35 254.8L481.59 254.8L481.59 239.59L483.41 239.59L483.41 245.29L483.53 245.29Q483.75 244.93 484.12 244.48Q484.5 244.02 485.15 243.68Q485.81 243.34 486.85 243.34Q488.28 243.34 489.35 244.05Q490.43 244.77 491.04 246.08Q491.65 247.39 491.65 249.18Q491.65 250.96 491.05 252.28Q490.44 253.6 489.36 254.32Q488.28 255.03 486.86 255.03ZM486.58 253.41Q487.63 253.41 488.35 252.86Q489.07 252.3 489.44 251.34Q489.81 250.37 489.81 249.16Q489.81 247.95 489.44 247.01Q489.07 246.06 488.36 245.52Q487.64 244.97 486.58 244.97Q485.54 244.97 484.82 245.5Q484.1 246.02 483.74 246.96Q483.37 247.9 483.37 249.16Q483.37 250.41 483.74 251.37Q484.11 252.33 484.83 252.87Q485.55 253.41 486.58 253.41ZM494.23 254.8L494.23 243.49L495.98 243.49L495.98 245.24L496.08 245.24Q496.4 244.38 497.18 243.86Q497.96 243.33 498.98 243.33Q499.2 243.33 499.46 243.34Q499.73 243.36 499.88 243.37L499.88 245.2Q499.8 245.18 499.48 245.14Q499.16 245.09 498.79 245.09Q498 245.09 497.38 245.43Q496.76 245.76 496.4 246.35Q496.04 246.94 496.04 247.74L496.04 254.8L494.23 254.8ZM506.64 255.04Q504.99 255.04 503.81 254.31Q502.62 253.58 501.99 252.27Q501.35 250.96 501.35 249.23Q501.35 247.49 501.98 246.17Q502.6 244.84 503.75 244.09Q504.9 243.34 506.43 243.34Q507.38 243.34 508.27 243.66Q509.16 243.97 509.86 244.66Q510.56 245.34 510.98 246.42Q511.39 247.5 511.39 249.03L511.39 249.75L502.53 249.75L502.53 248.21L510.41 248.21L509.56 248.77Q509.56 247.66 509.21 246.79Q508.85 245.93 508.15 245.44Q507.45 244.95 506.43 244.95Q505.42 244.95 504.69 245.45Q503.95 245.94 503.56 246.75Q503.18 247.56 503.18 248.52L503.18 249.5Q503.18 250.75 503.6 251.63Q504.03 252.5 504.82 252.96Q505.6 253.42 506.65 253.42Q507.33 253.42 507.89 253.22Q508.44 253.01 508.84 252.62Q509.24 252.22 509.44 251.65L511.21 252.05Q510.95 252.93 510.32 253.61Q509.69 254.29 508.75 254.67Q507.81 255.04 506.64 255.04ZM516.44 254.8L513 243.49L514.93 243.49L516.32 248.43Q516.61 249.47 516.93 250.74Q517.25 252 517.57 253.54L517.26 253.54Q517.57 252.07 517.88 250.79Q518.19 249.52 518.48 248.43L519.85 243.49L521.77 243.49L523.12 248.43Q523.41 249.49 523.72 250.76Q524.02 252.02 524.33 253.54L524.01 253.54Q524.33 252.04 524.65 250.78Q524.97 249.51 525.27 248.43L526.66 243.49L528.59 243Line truncated
<path d="M406.78 292.16L406.78 293.84L400.51 293.84L400.51 292.16L406.78 292.16ZM400.95 287.49L400.95 298.8L399.14 298.8L399.14 287.49L400.95 287.49ZM408.19 287.49L408.19 298.8L406.36 298.8L406.36 287.49L408.19 287.49ZM414.5 299.04Q413.42 299.04 412.54 298.65Q411.67 298.25 411.15 297.47Q410.64 296.7 410.64 295.58Q410.64 294.61 411.02 294Q411.4 293.39 412.04 293.04Q412.69 292.7 413.47 292.52Q414.26 292.35 415.06 292.25Q416.08 292.12 416.71 292.04Q417.34 291.97 417.64 291.8Q417.94 291.63 417.94 291.21L417.94 291.15Q417.94 290.45 417.68 289.96Q417.41 289.47 416.88 289.21Q416.35 288.94 415.56 288.94Q414.75 288.94 414.17 289.2Q413.6 289.45 413.23 289.84Q412.87 290.23 412.72 290.66L410.95 290.17Q411.32 289.14 412.03 288.52Q412.75 287.9 413.66 287.62Q414.58 287.34 415.51 287.34Q416.15 287.34 416.88 287.5Q417.62 287.66 418.27 288.07Q418.92 288.49 419.34 289.27Q419.76 290.04 419.76 291.3L419.76 298.8L417.97 298.8L417.97 297.25L417.86 297.25Q417.67 297.65 417.25 298.07Q416.83 298.48 416.15 298.76Q415.47 299.04 414.5 299.04ZM414.81 297.43Q415.84 297.43 416.53 297.04Q417.23 296.65 417.59 296.01Q417.94 295.38 417.94 294.69L417.94 293.15Q417.83 293.27 417.47 293.37Q417.12 293.47 416.65 293.55Q416.18 293.64 415.72 293.69Q415.27 293.75 414.97 293.79Q414.31 293.87 413.74 294.07Q413.17 294.27 412.82 294.65Q412.47 295.02 412.47 295.68Q412.47 296.25 412.77 296.64Q413.08 297.03 413.6 297.23Q414.13 297.43 414.81 297.43ZM434.8 299.04Q433.01 299.04 431.66 298.34Q430.32 297.64 429.59 296.41Q428.85 295.19 428.85 293.63L428.85 283.59L430.78 283.59L430.78 293.47Q430.78 294.58 431.27 295.43Q431.75 296.28 432.65 296.77Q433.55 297.26 434.8 297.26Q436.05 297.26 436.95 296.77Q437.84 296.28 438.32 295.43Q438.8 294.58 438.8 293.47L438.8 283.59L440.73 283.59L440.73 293.63Q440.73 295.19 440 296.41Q439.26 297.64 437.93 298.34Q436.6 299.04 434.8 299.04ZM449.17 299.07Q447.51 299.07 446.29 298.51Q445.07 297.96 444.38 296.98Q443.69 295.99 443.62 294.67L445.59 294.67Q445.65 295.56 446.14 296.16Q446.64 296.75 447.44 297.04Q448.23 297.34 449.17 297.34Q450.21 297.34 451.03 297Q451.85 296.67 452.33 296.05Q452.81 295.44 452.81 294.64Q452.81 293.92 452.42 293.46Q452.03 293 451.35 292.7Q450.67 292.39 449.8 292.16L447.99 291.66Q446.07 291.13 445.05 290.16Q444.03 289.19 444.03 287.67Q444.03 286.38 444.71 285.42Q445.39 284.45 446.58 283.92Q447.76 283.38 449.25 283.38Q450.76 283.38 451.92 283.92Q453.08 284.46 453.74 285.4Q454.41 286.34 454.45 287.54L452.57 287.54Q452.44 286.38 451.51 285.74Q450.58 285.09 449.19 285.09Q448.21 285.09 447.47 285.42Q446.72 285.74 446.31 286.3Q445.89 286.86 445.89 287.57Q445.89 288.34 446.36 288.82Q446.82 289.3 447.5 289.58Q448.18 289.86 448.82 290.03L450.37 290.45Q451.08 290.64 451.83 290.94Q452.58 291.24 453.23 291.72Q453.89 292.2 454.29 292.92Q454.69 293.64 454.69 294.65Q454.69 295.91 454.04 296.91Q453.39 297.91 452.15 298.49Q450.91 299.07 449.17 299.07ZM457.6 298.8L457.6 283.59L463 283.59Q464.58 283.59 465.63 284.13Q466.67 284.67 467.19 285.58Q467.71 286.49 467.71 287.63Q467.71 288.58 467.38 289.22Q467.04 289.86 466.47 290.25Q465.91 290.64 465.22 290.84L465.22 290.96Q465.97 291.01 466.68 291.46Q467.39 291.91 467.85 292.72Q468.32 293.53 468.32 294.71Q468.32 295.88 467.77 296.8Q467.23 297.73 466.1 298.26Q464.96 298.8 463.16 298.8L457.6 298.8ZM459.52 297.1L463.12 297.1Q464.89 297.1 465.67 296.42Q466.45 295.75 466.45 294.71Q466.45 293.93 466.06 293.29Q465.66 292.66 464.94 292.28Q464.22 291.9 463.22 291.9L459.52 291.9L459.52 297.1ZM459.52 290.27L462.93 290.27Q463.76 290.27 464.43 289.95Q465.1 289.64 465.48 289.05Q465.87 288.46 465.87 287.68Q465.87 286.66 465.16 285.98Q464.45 285.3 462.98 285.3L459.52 285.3L459.52 290.27ZM477.51 291.51L477.51 293.2L470.85 293.2L470.85 291.51L477.51 291.51ZM485.12 299.04Q483.58 299.04 482.41 298.32Q481.25 297.59 480.59 296.27Q479.94 294.95 479.94 293.21Q479.94 291.45 480.59 290.13Q481.25 288.8 482.41 288.07Q483.58 287.34 485.12 287.34L486.95 287.34Q488.49 287.34 489.66 288.07Q490.83 288.8 491.49 290.13Q492.14 291.45 492.14 293.21Q492.14 294.95 491.49 296.27Q490.83 297.59 489.66 298.32Q488.49 299.04 486.95 299.04L485.12 299.04ZM485.12 297.5L486.95 297.5Q488.07 297.5 488.82 296.91Q489.57 296.31 489.96 295.33Q490.34 294.35 490.34 293.21Q490.34 292.05 489.96 291.05Q489.57 290.05 488.82 289.43Q488.07 288.81 486.95 288.81L485.12 288.81Q484 288.81 483.25 289.43Q482.5 290.05 482.12 291.05Q481.75 292.05 481.75 293.21Q481.75 294.35 482.12 295.33Q482.5 296.31 483.25 296.91Q484 297.5 485.12 297.5ZM485.12 303.07L485.12 283.59L486.95 283.59L486.95 303.07L485.12 303.07ZM493.34 298.8L493.34 297.12L493.75 297.12Q494.25 297.12 494.59 296.93Q494.93 296.74 495.14 296.25Q495.35 295.76 495.47 294.86Q495.58 293.95 495.64 292.52L495.85 287.49L503.53 287.49L503.53 298.8L501.71 298.8L501.71 289.18L497.58 289.18L497.41 293.16Q497.33 295.04 497 296.3Q496.67 297.55 495.95 298.18Q495.23 298.8 493.96 298.8L493.34 298.8ZM511.38 299.04Q509.74 299.04 508.55 298.31Q507.37 297.58 506.73 296.27Q506.09 294.96 506.09 293.23Q506.09 291.49 Line truncated
<g transform="translate(629 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
<rect x="655" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="703.4" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M703.44 63.48Q701.31 63.48 699.66 62.72Q698.01 61.96 697.04 60.62Q696.08 59.28 696.02 57.51L698.77 57.51Q698.85 58.61 699.46 59.42Q700.08 60.22 701.1 60.65Q702.12 61.08 703.4 61.08Q704.79 61.08 705.85 60.6Q706.91 60.12 707.53 59.25Q708.14 58.38 708.14 57.25Q708.14 56.07 707.54 55.19Q706.94 54.3 705.81 53.8Q704.68 53.29 703.07 53.29L701.31 53.29L701.31 50.91L703.07 50.91Q704.36 50.91 705.34 50.46Q706.31 50.01 706.86 49.19Q707.4 48.37 707.4 47.26Q707.4 46.17 706.92 45.36Q706.43 44.54 705.54 44.1Q704.65 43.65 703.44 43.65Q702.3 43.65 701.33 44.07Q700.35 44.49 699.75 45.26Q699.15 46.04 699.12 47.16L696.48 47.16Q696.53 45.42 697.48 44.09Q698.43 42.76 700 42.01Q701.57 41.27 703.5 41.27Q705.5 41.27 706.98 42.08Q708.46 42.89 709.27 44.22Q710.07 45.55 710.07 47.11Q710.07 48.91 709.09 50.19Q708.11 51.46 706.45 51.97L706.45 52.12Q707.82 52.33 708.81 53.04Q709.8 53.75 710.32 54.83Q710.84 55.91 710.84 57.26Q710.84 59.06 709.88 60.46Q708.91 61.86 707.24 62.67Q705.58 63.48 703.44 63.48Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(774.15 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><path d="M6 16h.01"/><path d="M10 16h.01"/></g>
<path d="M743.49 144.99L743.49 169L740.46 169L740.46 147.68L727.83 147.68L727.83 169L724.8 169L724.8 144.99L743.49 144.99ZM755.38 169.39Q752.95 169.39 751.12 168.23Q749.29 167.08 748.27 165Q747.25 162.93 747.25 160.17Q747.25 157.4 748.27 155.3Q749.29 153.21 751.12 152.06Q752.95 150.9 755.38 150.9Q757.83 150.9 759.68 152.06Q761.52 153.21 762.55 155.3Q763.57 157.4 763.57 160.17Q763.57 162.93 762.55 165Q761.52 167.08 759.68 168.23Q757.83 169.39 755.38 169.39ZM755.38 166.81Q757.17 166.81 758.35 165.9Q759.52 164.99 760.1 163.48Q760.67 161.97 760.67 160.17Q760.67 158.37 760.1 156.84Q759.52 155.32 758.35 154.4Q757.17 153.48 755.38 153.48Q753.63 153.48 752.47 154.4Q751.31 155.32 750.73 156.83Q750.16 158.35 750.16 160.17Q750.16 161.97 750.73 163.48Q751.31 164.99 752.46 165.9Q753.61 166.81 755.38 166.81ZM765.1 174.17L765.1 166.34L766.58 166.34Q767.13 165.78 767.53 165.12Q767.94 164.46 768.23 163.53Q768.52 162.6 768.73 161.29Q768.94 159.98 769.1 158.14L769.71 151.15L781.29 151.15L781.29 166.34L784.03 166.34L784.03 174.17L781.17 174.17L781.17 169L767.97 169L767.97 174.17L765.1 174.17ZM769.85 166.34L778.43 166.34L778.43 153.81L772.3 153.81L771.92 158.14Q771.66 160.98 771.22 163.04Q770.77 165.1 769.85 166.34ZM786.43 169L786.43 151.15L789.3 151.15L789.3 158.88L791.11 158.88L797.54 151.15L801.19 151.15L793.99 159.78L801.29 169L797.65 169L791.8 161.54L789.3 161.54L789.3 169L786.43 169ZM801.29 169L801.29 166.34L801.94 166.34Q802.73 166.34 803.27 166.04Q803.81 165.75 804.14 164.97Q804.47 164.2 804.65 162.77Q804.84 161.35 804.93 159.09L805.26 151.15L817.39 151.15L817.39 169L814.5 169L814.5 153.81L808 153.81L807.72 160.09Q807.59 163.07 807.07 165.05Q806.55 167.03 805.41 168.02Q804.27 169 802.27 169L801.29 169ZM821.64 169L821.64 151.15L824.38 151.15L824.38 169L821.64 169ZM823.74 161.38L823.74 158.8L830.23 158.8L830.23 161.38L823.74 161.38ZM836.9 169.39Q834.47 169.39 832.63 168.23Q830.8 167.08 829.77 165Q828.75 162.93 828.75 160.17Q828.75 157.4 829.77 155.3Q830.8 153.21 832.63 152.06Q834.47 150.9 836.9 150.9Q839.35 150.9 841.19 152.06Q843.03 153.21 844.05 155.3Q845.07 157.4 845.07 160.17Q845.07 162.93 844.05 165Q843.03 167.08 841.19 168.23Q839.35 169.39 836.9 169.39ZM836.9 166.81Q838.69 166.81 839.86 165.9Q841.03 164.99 841.6 163.48Q842.17 161.97 842.17 160.17Q842.17 158.37 841.6 156.84Q841.03 155.32 839.86 154.4Q838.69 153.48 836.9 153.48Q835.15 153.48 833.98 154.4Q832.81 155.32 832.24 156.83Q831.67 158.35 831.67 160.17Q831.67 161.97 832.24 163.48Q832.81 164.99 833.98 165.9Q835.15 166.81 836.9 166.81ZM855.29 163.44Q852.18 163.44 850.33 161.79Q848.47 160.14 848.47 156.83L848.47 151.15L851.34 151.15L851.34 156.83Q851.34 158.86 852.47 159.82Q853.6 160.78 855.29 160.78Q857.03 160.78 858.45 160.46Q859.87 160.14 861.28 159.64L861.28 162.3Q860.35 162.64 859.42 162.89Q858.5 163.15 857.49 163.3Q856.48 163.44 855.29 163.44ZM859.54 169L859.54 151.15L862.41 151.15L862.41 169L859.54 169ZM881.07 169L878.19 169L878.19 156.06L877.99 156.06L869.42 169L866.68 169L866.68 151.15L869.55 151.15L869.55 164.13L869.73 164.13L878.33 151.15L881.07 151.15L881.07 169Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M731.96 219.87Q730.3 219.87 729.08 219.31Q727.86 218.76 727.17 217.78Q726.48 216.79 726.41 215.47L728.38 215.47Q728.44 216.36 728.94 216.96Q729.43 217.55 730.23 217.84Q731.02 218.14 731.96 218.14Q733 218.14 733.82 217.8Q734.65 217.47 735.13 216.85Q735.61 216.24 735.61 215.44Q735.61 214.72 735.21 214.26Q734.82 213.8 734.14 213.5Q733.46 213.19 732.6 212.96L730.78 212.46Q728.86 211.93 727.84 210.96Q726.82 209.99 726.82 208.47Q726.82 207.18 727.5 206.22Q728.19 205.25 729.37 204.72Q730.55 204.18 732.04 204.18Q733.55 204.18 734.71 204.72Q735.87 205.26 736.53 206.2Q737.2 207.14 737.24 208.34L735.36 208.34Q735.23 207.18 734.3 206.54Q733.37 205.89 731.98 205.89Q731 205.89 730.26 206.22Q729.51 206.54 729.1 207.1Q728.69 207.66 728.69 208.37Q728.69 209.14 729.15 209.62Q729.62 210.1 730.29 210.38Q730.97 210.66 731.62 210.83L733.17 211.25Q733.87 211.44 734.62 211.74Q735.37 212.04 736.02 212.52Q736.68 213 737.08 213.72Q737.48 214.44 737.48 215.45Q737.48 216.71 736.83 217.71Q736.18 218.71 734.94 219.29Q733.7 219.87 731.96 219.87ZM741.98 212.85L741.98 219.6L740.17 219.6L740.17 204.39L741.98 204.39L741.98 211.04L741.63 211.04Q742.16 209.48 743.12 208.81Q744.08 208.14 745.37 208.14Q746.51 208.14 747.39 208.61Q748.26 209.09 748.75 210.04Q749.25 211 749.25 212.45L749.25 219.6L747.42 219.6L747.42 212.6Q747.42 211.26 746.74 210.52Q746.06 209.78 744.85 209.78Q744.05 209.78 743.39 210.13Q742.74 210.49 742.36 211.17Q741.98 211.85 741.98 212.85ZM755.58 219.84Q754.5 219.84 753.62 219.45Q752.74 219.05 752.22 218.27Q751.71 217.5 751.71 216.38Q751.71 215.41 752.09 214.8Q752.47 214.19 753.12 213.84Q753.76 213.5 754.55 213.32Q755.33 213.15 756.13 213.05Q757.15 212.92 757.78 212.84Q758.41 212.77 758.72 212.6Q759.02 212.43 759.02 212.01L759.02 211.95Q759.02 211.25 758.75 210.76Q758.49 210.27 757.95 210.01Q757.42 209.74 756.63 209.74Q755.82 209.74 755.25 210Q754.67 210.25 754.31 210.64Q753.94 211.03 753.79 211.46L752.03 210.97Q752.39 209.94 753.11 209.32Q753.82 208.7 754.74 208.42Q755.65 208.14 756.59 208.14Q757.22 208.14 757.95 208.3Q758.69 208.46 759.34 208.87Q760 209.29 760.41 210.07Q760.83 210.84 760.83 212.1L760.83 219.6L759.05 219.6L759.05 218.05L758.93 218.05Q758.74 218.45 758.32 218.87Q757.9 219.28 757.23 219.56Q756.55 219.84 755.58 219.84ZM755.88 218.23Q756.91 218.23 757.61 217.84Q758.3 217.45 758.66 216.81Q759.02 216.18 759.02 215.49L759.02 213.95Q758.9 214.07 758.55 214.17Q758.19 214.27 757.72 214.35Q757.25 214.44 756.8 214.49Q756.34 214.55 756.05 214.59Q755.38 214.67 754.81 214.87Q754.24 215.07 753.89 215.45Q753.55 215.82 753.55 216.48Q753.55 217.05 753.85 217.44Q754.15 217.83 754.67 218.03Q755.2 218.23 755.88 218.23ZM768.2 219.83Q766.78 219.83 765.7 219.12Q764.62 218.4 764.01 217.08Q763.4 215.76 763.4 213.98Q763.4 212.19 764.01 210.88Q764.62 209.57 765.71 208.85Q766.79 208.14 768.21 208.14Q769.25 208.14 769.9 208.48Q770.56 208.82 770.94 209.28Q771.31 209.73 771.53 210.09L771.65 210.09L771.65 204.39L773.47 204.39L773.47 219.6L771.71 219.6L771.71 217.85L771.54 217.85Q771.31 218.22 770.93 218.69Q770.54 219.15 769.88 219.49Q769.23 219.83 768.2 219.83ZM768.48 218.21Q769.51 218.21 770.23 217.67Q770.95 217.13 771.32 216.17Q771.69 215.21 771.69 213.96Q771.69 212.7 771.32 211.76Q770.96 210.82 770.24 210.3Q769.52 209.77 768.48 209.77Q767.41 209.77 766.7 210.32Q765.98 210.86 765.61 211.81Q765.25 212.75 765.25 213.96Q765.25 215.17 765.62 216.14Q765.99 217.1 766.71 217.66Q767.44 218.21 768.48 218.21ZM781.19 219.84Q779.65 219.84 778.49 219.12Q777.33 218.39 776.69 217.07Q776.04 215.75 776.04 214.01Q776.04 212.25 776.69 210.93Q777.33 209.6 778.49 208.87Q779.65 208.14 781.19 208.14Q782.74 208.14 783.91 208.87Q785.08 209.6 785.73 210.93Q786.38 212.25 786.38 214.01Q786.38 215.75 785.73 217.07Q785.08 218.39 783.91 219.12Q782.74 219.84 781.19 219.84ZM781.19 218.21Q782.32 218.21 783.07 217.64Q783.81 217.06 784.18 216.1Q784.54 215.15 784.54 214.01Q784.54 212.86 784.18 211.9Q783.81 210.94 783.07 210.35Q782.32 209.77 781.19 209.77Q780.08 209.77 779.34 210.35Q778.61 210.94 778.25 211.9Q777.89 212.85 777.89 214.01Q777.89 215.15 778.25 216.1Q778.61 217.06 779.34 217.64Q780.07 218.21 781.19 218.21ZM791.47 219.6L788.03 208.29L789.96 208.29L791.35 213.23Q791.63 214.27 791.95 215.54Q792.27 216.8 792.59 218.34L792.28 218.34Q792.59 216.87 792.9 215.59Q793.21 214.32 793.51 213.23L794.88 208.29L796.8 208.29L798.14 213.23Q798.44 214.29 798.74 215.56Q799.05 216.82 799.36 218.34L799.04 218.34Q799.36 216.84 799.68 215.58Q800 214.31 800.3 213.23L801.68 208.29L803.61 208.29L800.17 219.6L798.35 219.6L796.88 214.48Q796.65 213.7 796.44 212.9Q796.23 212.09 796.03 211.25Q795.83 210.41 795.61 209.55L796.03 209.55Q795.83 210.41 795.62 211.25Q795.41 212.09 795.2 212.91Q794.99 213.72 794.76 214.48L793.29 219.6L791.47 219.6ZM806.04 219.6L806.04 204.39L808.75 204.39L812.51 214.03Q812.64 214.36 812.82 214.86Q812.99 215.36 813.18 215.94Q813.37 216.52 813.54 217.08Q813.72 217.65 813.84 218.12L813.42 218.12Q813.55 217.68 813.73 217.12Q813.9 216.56 814.09 215.98Q814.28 215.4 8Line truncated
<path d="M736.36 255.04Q734.81 255.04 733.66 254.32Q732.5 253.59 731.85 252.27Q731.2 250.95 731.2 249.21Q731.2 247.45 731.85 246.13Q732.5 244.8 733.66 244.07Q734.81 243.34 736.36 243.34Q737.2 243.34 737.94 243.56Q738.68 243.79 739.29 244.21Q739.9 244.63 740.33 245.23Q740.75 245.83 740.97 246.6L739.2 247Q739.09 246.56 738.84 246.19Q738.59 245.82 738.23 245.54Q737.87 245.27 737.4 245.12Q736.93 244.97 736.36 244.97Q735.24 244.97 734.51 245.55Q733.77 246.14 733.41 247.1Q733.05 248.05 733.05 249.21Q733.05 250.35 733.41 251.3Q733.77 252.26 734.5 252.84Q735.23 253.41 736.36 253.41Q736.94 253.41 737.41 253.26Q737.89 253.11 738.25 252.83Q738.62 252.54 738.87 252.15Q739.12 251.76 739.24 251.3L741 251.72Q740.79 252.48 740.36 253.1Q739.93 253.71 739.32 254.15Q738.71 254.59 737.96 254.82Q737.21 255.04 736.36 255.04ZM746.72 255.04Q745.64 255.04 744.76 254.65Q743.89 254.25 743.37 253.47Q742.86 252.7 742.86 251.58Q742.86 250.61 743.24 250Q743.62 249.39 744.26 249.04Q744.91 248.7 745.69 248.52Q746.48 248.35 747.28 248.25Q748.3 248.12 748.93 248.04Q749.56 247.97 749.86 247.8Q750.16 247.63 750.16 247.21L750.16 247.15Q750.16 246.45 749.9 245.96Q749.63 245.47 749.1 245.21Q748.57 244.94 747.78 244.94Q746.97 244.94 746.39 245.2Q745.82 245.45 745.45 245.84Q745.09 246.23 744.94 246.66L743.17 246.17Q743.54 245.14 744.25 244.52Q744.97 243.9 745.88 243.62Q746.8 243.34 747.73 243.34Q748.37 243.34 749.1 243.5Q749.84 243.66 750.49 244.07Q751.14 244.49 751.56 245.27Q751.98 246.04 751.98 247.3L751.98 254.8L750.19 254.8L750.19 253.25L750.08 253.25Q749.89 253.65 749.47 254.07Q749.05 254.48 748.37 254.76Q747.69 255.04 746.72 255.04ZM747.03 253.43Q748.06 253.43 748.75 253.04Q749.45 252.65 749.81 252.01Q750.16 251.38 750.16 250.69L750.16 249.15Q750.05 249.27 749.69 249.37Q749.34 249.47 748.87 249.55Q748.4 249.64 747.94 249.69Q747.49 249.75 747.19 249.79Q746.53 249.87 745.96 250.07Q745.39 250.27 745.04 250.65Q744.69 251.02 744.69 251.68Q744.69 252.25 744.99 252.64Q745.3 253.03 745.82 253.23Q746.35 253.43 747.03 253.43ZM755.1 254.8L755.1 243.49L757.83 243.49L760.46 249.81Q760.69 250.37 760.87 250.87Q761.05 251.36 761.19 251.8Q761.33 252.25 761.44 252.68Q761.56 253.12 761.68 253.55L761.36 253.55Q761.47 253.14 761.59 252.71Q761.71 252.28 761.84 251.83Q761.97 251.37 762.15 250.88Q762.33 250.38 762.56 249.81L765.16 243.49L767.93 243.49L767.93 254.8L766.1 254.8L766.1 248.92Q766.1 248.32 766.11 247.74Q766.11 247.17 766.12 246.6Q766.13 246.02 766.14 245.45Q766.15 244.87 766.16 244.27L766.39 244.27Q766.14 245.14 765.92 245.86Q765.7 246.57 765.42 247.3Q765.15 248.02 764.78 248.92L762.3 254.8L760.71 254.8L758.19 248.92Q757.82 248.03 757.55 247.31Q757.28 246.58 757.05 245.86Q756.82 245.14 756.57 244.27L756.85 244.27Q756.86 244.79 756.87 245.35Q756.88 245.91 756.89 246.5Q756.9 247.1 756.9 247.7Q756.91 248.3 756.91 248.92L756.91 254.8L755.1 254.8ZM784.46 248.16L784.46 249.84L778.2 249.84L778.2 248.16L784.46 248.16ZM778.64 243.49L778.64 254.8L776.82 254.8L776.82 243.49L778.64 243.49ZM785.87 243.49L785.87 254.8L784.04 254.8L784.04 243.49L785.87 243.49ZM792.19 255.04Q791.11 255.04 790.23 254.65Q789.35 254.25 788.84 253.47Q788.32 252.7 788.32 251.58Q788.32 250.61 788.7 250Q789.09 249.39 789.73 249.04Q790.37 248.7 791.16 248.52Q791.94 248.35 792.74 248.25Q793.76 248.12 794.39 248.04Q795.02 247.97 795.33 247.8Q795.63 247.63 795.63 247.21L795.63 247.15Q795.63 246.45 795.36 245.96Q795.1 245.47 794.57 245.21Q794.03 244.94 793.24 244.94Q792.43 244.94 791.86 245.2Q791.28 245.45 790.92 245.84Q790.55 246.23 790.4 246.66L788.64 246.17Q789 245.14 789.72 244.52Q790.43 243.9 791.35 243.62Q792.26 243.34 793.2 243.34Q793.83 243.34 794.57 243.5Q795.3 243.66 795.95 244.07Q796.61 244.49 797.02 245.27Q797.44 246.04 797.44 247.3L797.44 254.8L795.66 254.8L795.66 253.25L795.55 253.25Q795.35 253.65 794.93 254.07Q794.51 254.48 793.84 254.76Q793.16 255.04 792.19 255.04ZM792.49 253.43Q793.52 253.43 794.22 253.04Q794.91 252.65 795.27 252.01Q795.63 251.38 795.63 250.69L795.63 249.15Q795.51 249.27 795.16 249.37Q794.8 249.47 794.33 249.55Q793.86 249.64 793.41 249.69Q792.95 249.75 792.66 249.79Q791.99 249.87 791.42 250.07Q790.85 250.27 790.5 250.65Q790.16 251.02 790.16 251.68Q790.16 252.25 790.46 252.64Q790.76 253.03 791.28 253.23Q791.81 253.43 792.49 253.43ZM799.61 254.8L804.11 248.31L804.1 249.7L799.84 243.49L801.96 243.49L803.39 245.7Q803.92 246.51 804.33 247.24Q804.74 247.96 805.17 248.66L804.22 248.66Q804.66 247.96 805.03 247.24Q805.4 246.51 805.94 245.7L807.4 243.49L809.49 243.49L805.21 249.77L805.21 248.41L809.67 254.8L807.56 254.8L805.87 252.26Q805.35 251.46 804.96 250.76Q804.57 250.05 804.15 249.4L805.1 249.4Q804.68 250.05 804.31 250.76Q803.94 251.46 803.41 252.26L801.71 254.8L799.61 254.8ZM816.45 255.04Q814.9 255.04 813.75 254.32Q812.59 253.59 811.94 252.27Q811.29 250.95 811.29 249.21Q811.29 247.45 811.94 246.13Q812.59 244.8 813.75 244.07Q814.9 243.34 816.45 243.34Q818 243.34 819.16 244.07Q820.33 244.8 820.98 246.13Q821.63 247.45 821.63 249.21Q821.63 250.95 820.98 252.27Q820.33 253.Line truncated
<path d="M709.98 294.15L710.36 292.57L710.71 292.61Q711.23 292.73 711.65 292.66Q712.08 292.58 712.42 292.21Q712.76 291.84 713.03 291.08L713.39 290.03L709.07 278.69L711.06 278.69L713.47 285.37Q713.84 286.38 714.11 287.38Q714.37 288.38 714.66 289.32L714.03 289.32Q714.31 288.38 714.58 287.38Q714.85 286.38 715.22 285.37L717.64 278.69L719.62 278.69L714.61 291.76Q714.27 292.63 713.8 293.2Q713.32 293.78 712.69 294.06Q712.06 294.34 711.27 294.34Q710.82 294.34 710.48 294.28Q710.14 294.21 709.98 294.15ZM726.29 290.24Q724.75 290.24 723.59 289.52Q722.44 288.79 721.79 287.47Q721.14 286.15 721.14 284.41Q721.14 282.65 721.79 281.33Q722.44 280 723.59 279.27Q724.75 278.54 726.29 278.54Q727.14 278.54 727.88 278.76Q728.62 278.99 729.23 279.41Q729.83 279.83 730.26 280.43Q730.69 281.03 730.91 281.8L729.14 282.2Q729.03 281.76 728.78 281.39Q728.53 281.02 728.17 280.74Q727.8 280.47 727.33 280.32Q726.87 280.17 726.29 280.17Q725.18 280.17 724.45 280.75Q723.71 281.34 723.35 282.3Q722.99 283.25 722.99 284.41Q722.99 285.55 723.35 286.5Q723.71 287.46 724.44 288.04Q725.17 288.61 726.29 288.61Q726.88 288.61 727.35 288.46Q727.82 288.31 728.19 288.03Q728.56 287.74 728.81 287.35Q729.06 286.96 729.18 286.5L730.94 286.92Q730.73 287.68 730.3 288.3Q729.87 288.91 729.26 289.35Q728.65 289.79 727.9 290.02Q727.15 290.24 726.29 290.24ZM735.85 290L735.85 280.33L732.09 280.33L732.09 278.69L741.41 278.69L741.41 280.33L737.67 280.33L737.67 290L735.85 290ZM746.37 290.24Q745.29 290.24 744.41 289.85Q743.53 289.45 743.01 288.67Q742.5 287.9 742.5 286.78Q742.5 285.81 742.88 285.2Q743.26 284.59 743.91 284.24Q744.55 283.9 745.34 283.72Q746.12 283.55 746.92 283.45Q747.94 283.32 748.57 283.24Q749.2 283.17 749.51 283Q749.81 282.83 749.81 282.41L749.81 282.35Q749.81 281.65 749.54 281.16Q749.28 280.67 748.74 280.41Q748.21 280.14 747.42 280.14Q746.61 280.14 746.04 280.4Q745.46 280.65 745.1 281.04Q744.73 281.43 744.58 281.86L742.82 281.37Q743.18 280.34 743.9 279.72Q744.61 279.1 745.53 278.82Q746.44 278.54 747.38 278.54Q748.01 278.54 748.74 278.7Q749.48 278.86 750.13 279.27Q750.79 279.69 751.2 280.47Q751.62 281.24 751.62 282.5L751.62 290L749.84 290L749.84 288.45L749.72 288.45Q749.53 288.85 749.11 289.27Q748.69 289.68 748.02 289.96Q747.34 290.24 746.37 290.24ZM746.67 288.63Q747.7 288.63 748.4 288.24Q749.09 287.85 749.45 287.21Q749.81 286.58 749.81 285.89L749.81 284.35Q749.69 284.47 749.34 284.57Q748.98 284.67 748.51 284.75Q748.04 284.84 747.59 284.89Q747.13 284.95 746.84 284.99Q746.17 285.07 745.6 285.27Q745.03 285.47 744.68 285.85Q744.34 286.22 744.34 286.88Q744.34 287.45 744.64 287.84Q744.94 288.23 745.46 288.43Q745.99 288.63 746.67 288.63ZM762.39 283.36L762.39 285.04L756.12 285.04L756.12 283.36L762.39 283.36ZM756.56 278.69L756.56 290L754.75 290L754.75 278.69L756.56 278.69ZM763.8 278.69L763.8 290L761.97 290L761.97 278.69L763.8 278.69ZM770.11 290.24Q769.03 290.24 768.15 289.85Q767.28 289.45 766.76 288.67Q766.25 287.9 766.25 286.78Q766.25 285.81 766.63 285.2Q767.01 284.59 767.65 284.24Q768.3 283.9 769.08 283.72Q769.87 283.55 770.67 283.45Q771.69 283.32 772.32 283.24Q772.95 283.17 773.25 283Q773.55 282.83 773.55 282.41L773.55 282.35Q773.55 281.65 773.29 281.16Q773.02 280.67 772.49 280.41Q771.96 280.14 771.17 280.14Q770.36 280.14 769.78 280.4Q769.21 280.65 768.84 281.04Q768.48 281.43 768.33 281.86L766.56 281.37Q766.93 280.34 767.64 279.72Q768.36 279.1 769.27 278.82Q770.19 278.54 771.12 278.54Q771.76 278.54 772.49 278.7Q773.23 278.86 773.88 279.27Q774.53 279.69 774.95 280.47Q775.37 281.24 775.37 282.5L775.37 290L773.58 290L773.58 288.45L773.47 288.45Q773.28 288.85 772.86 289.27Q772.44 289.68 771.76 289.96Q771.08 290.24 770.11 290.24ZM770.42 288.63Q771.45 288.63 772.14 288.24Q772.84 287.85 773.2 287.21Q773.55 286.58 773.55 285.89L773.55 284.35Q773.44 284.47 773.08 284.57Q772.73 284.67 772.26 284.75Q771.79 284.84 771.33 284.89Q770.88 284.95 770.58 284.99Q769.92 285.07 769.35 285.27Q768.78 285.47 768.43 285.85Q768.08 286.22 768.08 286.88Q768.08 287.45 768.38 287.84Q768.69 288.23 769.21 288.43Q769.74 288.63 770.42 288.63ZM778.49 290L778.49 278.69L783.13 278.69Q784.97 278.69 786.07 279.51Q787.17 280.34 787.17 281.71Q787.17 282.7 786.57 283.28Q785.98 283.86 784.99 284.06Q785.65 284.15 786.24 284.5Q786.83 284.86 787.22 285.46Q787.61 286.06 787.61 286.94Q787.61 287.83 787.15 288.52Q786.7 289.21 785.86 289.61Q785.01 290 783.85 290L778.49 290ZM780.22 288.34L783.85 288.34Q784.73 288.34 785.23 287.92Q785.73 287.51 785.73 286.8Q785.73 285.93 785.23 285.45Q784.73 284.97 783.85 284.97L780.22 284.97L780.22 288.34ZM780.22 283.44L783.15 283.44Q784.18 283.44 784.75 283.01Q785.33 282.59 785.33 281.86Q785.33 281.15 784.75 280.75Q784.17 280.36 783.13 280.36L780.22 280.36L780.22 283.44ZM788.79 290L788.79 288.32L789.2 288.32Q789.7 288.32 790.04 288.13Q790.38 287.94 790.59 287.45Q790.8 286.96 790.92 286.06Q791.03 285.15 791.1 283.72L791.3 278.69L798.98 278.69L798.98 290L797.16 290L797.16 280.38L793.03 280.38L792.86 284.36Q792.78 286.24 792.45 287.5Q792.12 288.75 791.4 289.38Q790.68 290 789.41 290LLine truncated
<g transform="translate(954.5 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
<rect x="980.5" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="1028.9" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M1020.96 58.64L1020.96 56.42L1030.56 41.57L1032.21 41.57L1032.21 44.94L1031.13 44.94L1023.9 56.09L1023.9 56.25L1036.87 56.25L1036.87 58.64L1020.96 58.64ZM1031.27 63.18L1031.27 57.99L1031.27 56.93L1031.27 41.57L1033.88 41.57L1033.88 63.18L1031.27 63.18Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(1099.65 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3 20 12 6 21Z"/></g>
<path d="M1075.79 169.34Q1073.42 169.34 1071.59 168.49Q1069.75 167.65 1068.68 166.16Q1067.61 164.67 1067.54 162.7L1070.6 162.7Q1070.68 163.92 1071.37 164.82Q1072.05 165.71 1073.19 166.19Q1074.32 166.66 1075.74 166.66Q1077.29 166.66 1078.47 166.13Q1079.64 165.6 1080.33 164.63Q1081.01 163.67 1081.01 162.41Q1081.01 161.1 1080.34 160.12Q1079.67 159.14 1078.42 158.57Q1077.16 158.01 1075.37 158.01L1073.42 158.01L1073.42 155.37L1075.37 155.37Q1076.81 155.37 1077.89 154.87Q1078.98 154.37 1079.59 153.46Q1080.19 152.55 1080.19 151.31Q1080.19 150.1 1079.65 149.2Q1079.11 148.29 1078.12 147.79Q1077.13 147.3 1075.79 147.3Q1074.52 147.3 1073.44 147.76Q1072.36 148.23 1071.69 149.09Q1071.02 149.95 1070.99 151.19L1068.06 151.19Q1068.11 149.26 1069.16 147.79Q1070.22 146.31 1071.96 145.48Q1073.71 144.65 1075.86 144.65Q1078.08 144.65 1079.72 145.56Q1081.37 146.46 1082.26 147.93Q1083.16 149.41 1083.16 151.15Q1083.16 153.14 1082.07 154.56Q1080.98 155.98 1079.13 156.54L1079.13 156.71Q1080.66 156.95 1081.75 157.74Q1082.85 158.53 1083.43 159.73Q1084.01 160.93 1084.01 162.43Q1084.01 164.42 1082.94 165.98Q1081.87 167.53 1080.01 168.44Q1078.16 169.34 1075.79 169.34ZM1092.74 169.39Q1091.04 169.39 1089.65 168.76Q1088.26 168.13 1087.45 166.91Q1086.64 165.68 1086.64 163.91Q1086.64 162.38 1087.24 161.42Q1087.84 160.46 1088.86 159.91Q1089.87 159.36 1091.12 159.09Q1092.36 158.82 1093.61 158.66Q1095.22 158.45 1096.22 158.33Q1097.22 158.22 1097.7 157.95Q1098.17 157.67 1098.17 157.01L1098.17 156.92Q1098.17 155.82 1097.75 155.05Q1097.34 154.27 1096.5 153.85Q1095.66 153.43 1094.4 153.43Q1093.13 153.43 1092.22 153.84Q1091.31 154.24 1090.74 154.85Q1090.16 155.46 1089.92 156.14L1087.14 155.37Q1087.72 153.74 1088.84 152.77Q1089.97 151.79 1091.41 151.35Q1092.86 150.9 1094.34 150.9Q1095.34 150.9 1096.5 151.15Q1097.66 151.4 1098.69 152.06Q1099.72 152.73 1100.38 153.95Q1101.04 155.17 1101.04 157.16L1101.04 169L1098.22 169L1098.22 166.55L1098.04 166.55Q1097.74 167.18 1097.08 167.84Q1096.42 168.5 1095.35 168.94Q1094.27 169.39 1092.74 169.39ZM1093.23 166.84Q1094.85 166.84 1095.95 166.22Q1097.05 165.6 1097.61 164.6Q1098.17 163.6 1098.17 162.51L1098.17 160.07Q1098 160.27 1097.43 160.43Q1096.87 160.59 1096.13 160.72Q1095.39 160.85 1094.67 160.94Q1093.95 161.02 1093.48 161.09Q1092.44 161.22 1091.53 161.53Q1090.63 161.85 1090.08 162.44Q1089.54 163.04 1089.54 164.07Q1089.54 164.97 1090.01 165.59Q1090.49 166.21 1091.32 166.53Q1092.15 166.84 1093.23 166.84ZM1119.59 151.15L1119.59 169L1116.72 169L1116.72 153.81L1108.2 153.81L1108.2 169L1105.31 169L1105.31 151.15L1119.59 151.15ZM1123.63 175.56L1124.25 173.06L1124.79 173.12Q1125.62 173.32 1126.28 173.2Q1126.95 173.08 1127.49 172.49Q1128.03 171.9 1128.45 170.71L1129.03 169.05L1122.2 151.15L1125.34 151.15L1129.14 161.68Q1129.74 163.28 1130.16 164.86Q1130.58 166.44 1131.03 167.92L1130.03 167.92Q1130.48 166.44 1130.91 164.86Q1131.34 163.28 1131.92 161.68L1135.73 151.15L1138.86 151.15L1130.95 171.77Q1130.42 173.16 1129.67 174.06Q1128.92 174.96 1127.92 175.41Q1126.92 175.85 1125.68 175.85Q1124.97 175.85 1124.43 175.75Q1123.89 175.65 1123.63 175.56ZM1148.74 169.39Q1146.31 169.39 1144.48 168.23Q1142.65 167.08 1141.62 165Q1140.6 162.93 1140.6 160.17Q1140.6 157.4 1141.62 155.3Q1142.65 153.21 1144.48 152.06Q1146.31 150.9 1148.74 150.9Q1150.08 150.9 1151.24 151.26Q1152.41 151.61 1153.37 152.27Q1154.33 152.94 1155.01 153.89Q1155.68 154.84 1156.02 156.04L1153.23 156.69Q1153.06 156 1152.66 155.41Q1152.27 154.82 1151.7 154.39Q1151.12 153.95 1150.38 153.72Q1149.64 153.48 1148.74 153.48Q1146.98 153.48 1145.82 154.4Q1144.66 155.32 1144.09 156.83Q1143.52 158.35 1143.52 160.17Q1143.52 161.97 1144.09 163.48Q1144.66 164.99 1145.81 165.9Q1146.97 166.81 1148.74 166.81Q1149.66 166.81 1150.41 166.57Q1151.16 166.33 1151.74 165.88Q1152.32 165.44 1152.71 164.82Q1153.11 164.2 1153.3 163.47L1156.07 164.13Q1155.75 165.34 1155.06 166.31Q1154.38 167.28 1153.42 167.97Q1152.46 168.66 1151.28 169.02Q1150.09 169.39 1148.74 169.39ZM1163.16 169L1163.16 153.72L1157.23 153.72L1157.23 151.15L1171.94 151.15L1171.94 153.72L1166.04 153.72L1166.04 169L1163.16 169ZM1188.44 169L1185.56 169L1185.56 156.06L1185.37 156.06L1176.79 169L1174.05 169L1174.05 151.15L1176.92 151.15L1176.92 164.13L1177.1 164.13L1185.7 151.15L1188.44 151.15L1188.44 169Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M1038.9 219.81Q1036.95 219.81 1035.41 218.86Q1033.88 217.9 1033.01 216.15Q1032.13 214.4 1032.13 212.01Q1032.13 209.61 1033.01 207.85Q1033.88 206.1 1035.41 205.14Q1036.95 204.18 1038.9 204.18Q1040.86 204.18 1042.39 205.14Q1043.93 206.1 1044.8 207.85Q1045.67 209.61 1045.67 212.01Q1045.67 214.4 1044.8 216.15Q1043.93 217.9 1042.39 218.86Q1040.86 219.81 1038.9 219.81ZM1038.9 218.03Q1040.26 218.03 1041.37 217.33Q1042.48 216.64 1043.13 215.3Q1043.79 213.96 1043.79 212.01Q1043.79 210.05 1043.13 208.7Q1042.48 207.35 1041.37 206.66Q1040.26 205.97 1038.9 205.97Q1037.54 205.97 1036.42 206.66Q1035.31 207.35 1034.66 208.7Q1034.01 210.05 1034.01 212.01Q1034.01 213.96 1034.66 215.3Q1035.31 216.64 1036.42 217.33Q1037.54 218.03 1038.9 218.03ZM1051.7 219.6L1047.37 208.29L1049.36 208.29L1051.77 214.97Q1052.15 215.98 1052.42 216.98Q1052.68 217.98 1052.98 218.92L1052.34 218.92Q1052.63 217.98 1052.9 216.98Q1053.17 215.98 1053.54 214.97L1055.94 208.29L1057.93 208.29L1053.6 219.6L1051.7 219.6ZM1064.73 219.84Q1063.09 219.84 1061.91 219.11Q1060.72 218.38 1060.09 217.07Q1059.45 215.76 1059.45 214.03Q1059.45 212.29 1060.07 210.97Q1060.7 209.64 1061.85 208.89Q1063 208.14 1064.53 208.14Q1065.48 208.14 1066.37 208.46Q1067.25 208.77 1067.96 209.46Q1068.66 210.14 1069.08 211.22Q1069.49 212.3 1069.49 213.83L1069.49 214.55L1060.63 214.55L1060.63 213.01L1068.51 213.01L1067.66 213.57Q1067.66 212.46 1067.31 211.59Q1066.95 210.73 1066.25 210.24Q1065.55 209.75 1064.53 209.75Q1063.52 209.75 1062.78 210.25Q1062.05 210.74 1061.66 211.55Q1061.27 212.36 1061.27 213.32L1061.27 214.3Q1061.27 215.55 1061.7 216.43Q1062.13 217.3 1062.92 217.76Q1063.7 218.22 1064.74 218.22Q1065.43 218.22 1065.98 218.02Q1066.54 217.81 1066.94 217.42Q1067.34 217.02 1067.54 216.45L1069.31 216.85Q1069.05 217.73 1068.42 218.41Q1067.78 219.09 1066.85 219.47Q1065.91 219.84 1064.73 219.84ZM1072.02 219.6L1072.02 208.29L1073.78 208.29L1073.78 210.04L1073.88 210.04Q1074.19 209.18 1074.97 208.66Q1075.76 208.13 1076.78 208.13Q1076.99 208.13 1077.26 208.14Q1077.52 208.16 1077.67 208.17L1077.67 210Q1077.59 209.98 1077.27 209.94Q1076.95 209.89 1076.58 209.89Q1075.8 209.89 1075.17 210.23Q1074.55 210.56 1074.19 211.15Q1073.84 211.74 1073.84 212.54L1073.84 219.6L1072.02 219.6ZM1083.94 219.83Q1082.52 219.83 1081.44 219.12Q1080.36 218.4 1079.75 217.08Q1079.14 215.76 1079.14 213.98Q1079.14 212.19 1079.75 210.88Q1080.36 209.57 1081.44 208.85Q1082.53 208.14 1083.95 208.14Q1084.99 208.14 1085.64 208.48Q1086.3 208.82 1086.67 209.28Q1087.05 209.73 1087.27 210.09L1087.39 210.09L1087.39 204.39L1089.21 204.39L1089.21 219.6L1087.45 219.6L1087.45 217.85L1087.28 217.85Q1087.05 218.22 1086.66 218.69Q1086.28 219.15 1085.62 219.49Q1084.97 219.83 1083.94 219.83ZM1084.22 218.21Q1085.25 218.21 1085.97 217.67Q1086.68 217.13 1087.06 216.17Q1087.43 215.21 1087.43 213.96Q1087.43 212.7 1087.06 211.76Q1086.69 210.82 1085.98 210.3Q1085.26 209.77 1084.22 209.77Q1083.15 209.77 1082.43 210.32Q1081.71 210.86 1081.35 211.81Q1080.99 212.75 1080.99 213.96Q1080.99 215.17 1081.36 216.14Q1081.73 217.1 1082.45 217.66Q1083.17 218.21 1084.22 218.21ZM1092.33 219.6L1092.33 208.29L1094.08 208.29L1094.08 210.04L1094.19 210.04Q1094.5 209.18 1095.28 208.66Q1096.06 208.13 1097.08 208.13Q1097.3 208.13 1097.56 208.14Q1097.83 208.16 1097.98 208.17L1097.98 210Q1097.9 209.98 1097.58 209.94Q1097.26 209.89 1096.89 209.89Q1096.1 209.89 1095.48 210.23Q1094.86 210.56 1094.5 211.15Q1094.14 211.74 1094.14 212.54L1094.14 219.6L1092.33 219.6ZM1100 219.6L1100 208.29L1101.82 208.29L1101.82 219.6L1100 219.6ZM1100.91 206.39Q1100.4 206.39 1100.03 206.04Q1099.66 205.68 1099.66 205.18Q1099.66 204.67 1100.03 204.32Q1100.4 203.98 1100.91 203.98Q1101.43 203.98 1101.8 204.32Q1102.18 204.67 1102.18 205.18Q1102.18 205.68 1101.8 206.04Q1101.43 206.39 1100.91 206.39ZM1108.22 219.6L1103.89 208.29L1105.88 208.29L1108.29 214.97Q1108.67 215.98 1108.93 216.98Q1109.2 217.98 1109.49 218.92L1108.86 218.92Q1109.15 217.98 1109.42 216.98Q1109.69 215.98 1110.05 214.97L1112.45 208.29L1114.44 208.29L1110.12 219.6L1108.22 219.6ZM1121.25 219.84Q1119.61 219.84 1118.42 219.11Q1117.24 218.38 1116.6 217.07Q1115.96 215.76 1115.96 214.03Q1115.96 212.29 1116.59 210.97Q1117.22 209.64 1118.37 208.89Q1119.51 208.14 1121.05 208.14Q1121.99 208.14 1122.88 208.46Q1123.77 208.77 1124.47 209.46Q1125.18 210.14 1125.59 211.22Q1126 212.3 1126 213.83L1126 214.55L1117.15 214.55L1117.15 213.01L1125.03 213.01L1124.18 213.57Q1124.18 212.46 1123.82 211.59Q1123.46 210.73 1122.76 210.24Q1122.07 209.75 1121.05 209.75Q1120.03 209.75 1119.3 210.25Q1118.57 210.74 1118.18 211.55Q1117.79 212.36 1117.79 213.32L1117.79 214.3Q1117.79 215.55 1118.22 216.43Q1118.65 217.3 1119.43 217.76Q1120.22 218.22 1121.26 218.22Q1121.94 218.22 1122.5 218.02Q1123.06 217.81 1123.45 217.42Q1123.85 217.02 1124.06 216.45L1125.82 216.85Q1125.57 217.73 1124.93 218.41Q1124.3 219.09 1123.36 219.47Q1122.42 219.84 1121.25 219.84ZM1143.34 208.29L1143.34 219.6L1141.53 219.6L1141.53 209.98L1136.13 209.98L1136.13 219.6L1134.3 219.6L1134.3 Line truncated
<path d="M1038.88 248.16L1038.88 249.84L1032.61 249.84L1032.61 248.16L1038.88 248.16ZM1033.05 243.49L1033.05 254.8L1031.24 254.8L1031.24 243.49L1033.05 243.49ZM1040.29 243.49L1040.29 254.8L1038.46 254.8L1038.46 243.49L1040.29 243.49ZM1046.6 255.04Q1045.52 255.04 1044.64 254.65Q1043.77 254.25 1043.25 253.47Q1042.74 252.7 1042.74 251.58Q1042.74 250.61 1043.12 250Q1043.5 249.39 1044.14 249.04Q1044.79 248.7 1045.57 248.52Q1046.36 248.35 1047.16 248.25Q1048.18 248.12 1048.81 248.04Q1049.44 247.97 1049.74 247.8Q1050.04 247.63 1050.04 247.21L1050.04 247.15Q1050.04 246.45 1049.78 245.96Q1049.51 245.47 1048.98 245.21Q1048.45 244.94 1047.66 244.94Q1046.85 244.94 1046.27 245.2Q1045.7 245.45 1045.33 245.84Q1044.97 246.23 1044.82 246.66L1043.05 246.17Q1043.42 245.14 1044.13 244.52Q1044.85 243.9 1045.76 243.62Q1046.68 243.34 1047.61 243.34Q1048.25 243.34 1048.98 243.5Q1049.72 243.66 1050.37 244.07Q1051.02 244.49 1051.44 245.27Q1051.86 246.04 1051.86 247.3L1051.86 254.8L1050.07 254.8L1050.07 253.25L1049.96 253.25Q1049.77 253.65 1049.35 254.07Q1048.93 254.48 1048.25 254.76Q1047.57 255.04 1046.6 255.04ZM1046.91 253.43Q1047.94 253.43 1048.64 253.04Q1049.33 252.65 1049.69 252.01Q1050.04 251.38 1050.04 250.69L1050.04 249.15Q1049.93 249.27 1049.57 249.37Q1049.22 249.47 1048.75 249.55Q1048.28 249.64 1047.82 249.69Q1047.37 249.75 1047.07 249.79Q1046.41 249.87 1045.84 250.07Q1045.27 250.27 1044.92 250.65Q1044.57 251.02 1044.57 251.68Q1044.57 252.25 1044.87 252.64Q1045.18 253.03 1045.7 253.23Q1046.23 253.43 1046.91 253.43ZM1067.82 243.49L1067.82 245.18L1062.57 245.18L1062.57 254.8L1060.75 254.8L1060.75 243.49L1067.82 243.49ZM1068.44 254.8L1068.44 253.12L1068.85 253.12Q1069.35 253.12 1069.69 252.93Q1070.04 252.74 1070.24 252.25Q1070.45 251.76 1070.57 250.86Q1070.69 249.95 1070.75 248.52L1070.95 243.49L1078.64 243.49L1078.64 254.8L1076.81 254.8L1076.81 245.18L1072.69 245.18L1072.51 249.16Q1072.43 251.04 1072.1 252.3Q1071.77 253.55 1071.05 254.18Q1070.33 254.8 1069.07 254.8L1068.44 254.8ZM1084.95 255.04Q1083.87 255.04 1083 254.65Q1082.12 254.25 1081.6 253.47Q1081.09 252.7 1081.09 251.58Q1081.09 250.61 1081.47 250Q1081.85 249.39 1082.5 249.04Q1083.14 248.7 1083.92 248.52Q1084.71 248.35 1085.51 248.25Q1086.53 248.12 1087.16 248.04Q1087.79 247.97 1088.09 247.8Q1088.39 247.63 1088.39 247.21L1088.39 247.15Q1088.39 246.45 1088.13 245.96Q1087.86 245.47 1087.33 245.21Q1086.8 244.94 1086.01 244.94Q1085.2 244.94 1084.62 245.2Q1084.05 245.45 1083.68 245.84Q1083.32 246.23 1083.17 246.66L1081.4 246.17Q1081.77 245.14 1082.49 244.52Q1083.2 243.9 1084.11 243.62Q1085.03 243.34 1085.97 243.34Q1086.6 243.34 1087.33 243.5Q1088.07 243.66 1088.72 244.07Q1089.37 244.49 1089.79 245.27Q1090.21 246.04 1090.21 247.3L1090.21 254.8L1088.42 254.8L1088.42 253.25L1088.31 253.25Q1088.12 253.65 1087.7 254.07Q1087.28 254.48 1086.6 254.76Q1085.92 255.04 1084.95 255.04ZM1085.26 253.43Q1086.29 253.43 1086.99 253.04Q1087.68 252.65 1088.04 252.01Q1088.39 251.38 1088.39 250.69L1088.39 249.15Q1088.28 249.27 1087.92 249.37Q1087.57 249.47 1087.1 249.55Q1086.63 249.64 1086.17 249.69Q1085.72 249.75 1085.42 249.79Q1084.76 249.87 1084.19 250.07Q1083.62 250.27 1083.27 250.65Q1082.92 251.02 1082.92 251.68Q1082.92 252.25 1083.23 252.64Q1083.53 253.03 1084.05 253.23Q1084.58 253.43 1085.26 253.43ZM1093.33 254.8L1093.33 243.49L1097.97 243.49Q1099.81 243.49 1100.91 244.31Q1102.01 245.14 1102.01 246.51Q1102.01 247.5 1101.42 248.08Q1100.82 248.66 1099.83 248.86Q1100.49 248.95 1101.08 249.3Q1101.67 249.66 1102.06 250.26Q1102.45 250.86 1102.45 251.74Q1102.45 252.63 1101.99 253.32Q1101.54 254.01 1100.7 254.41Q1099.85 254.8 1098.69 254.8L1093.33 254.8ZM1095.06 253.14L1098.69 253.14Q1099.57 253.14 1100.07 252.72Q1100.57 252.31 1100.57 251.6Q1100.57 250.73 1100.07 250.25Q1099.57 249.77 1098.69 249.77L1095.06 249.77L1095.06 253.14ZM1095.06 248.24L1097.99 248.24Q1099.02 248.24 1099.59 247.81Q1100.17 247.39 1100.17 246.66Q1100.17 245.95 1099.59 245.55Q1099.01 245.16 1097.97 245.16L1095.06 245.16L1095.06 248.24ZM1112.64 248.16L1112.64 249.84L1106.38 249.84L1106.38 248.16L1112.64 248.16ZM1106.81 243.49L1106.81 254.8L1105 254.8L1105 243.49L1106.81 243.49ZM1114.05 243.49L1114.05 254.8L1112.22 254.8L1112.22 243.49L1114.05 243.49ZM1121.76 255.04Q1120.22 255.04 1119.07 254.32Q1117.91 253.59 1117.26 252.27Q1116.61 250.95 1116.61 249.21Q1116.61 247.45 1117.26 246.13Q1117.91 244.8 1119.07 244.07Q1120.22 243.34 1121.76 243.34Q1123.32 243.34 1124.48 244.07Q1125.65 244.8 1126.3 246.13Q1126.95 247.45 1126.95 249.21Q1126.95 250.95 1126.3 252.27Q1125.65 253.59 1124.48 254.32Q1123.32 255.04 1121.76 255.04ZM1121.76 253.41Q1122.9 253.41 1123.64 252.84Q1124.39 252.26 1124.75 251.3Q1125.11 250.35 1125.11 249.21Q1125.11 248.06 1124.75 247.1Q1124.39 246.14 1123.64 245.55Q1122.9 244.97 1121.76 244.97Q1120.65 244.97 1119.92 245.55Q1119.18 246.14 1118.82 247.1Q1118.46 248.05 1118.46 249.21Q1118.46 250.35 1118.82 251.3Q1119.18 252.26 1119.91 252.84Q1120.64 253.41 1121.76 253.41ZM1129.52 254.8L1129.52 243.49L1132.25 243.49L11Line truncated
<path d="M1079.7 290L1079.7 274.79L1085.1 274.79Q1086.68 274.79 1087.73 275.33Q1088.77 275.87 1089.29 276.78Q1089.81 277.69 1089.81 278.83Q1089.81 279.78 1089.48 280.42Q1089.14 281.06 1088.57 281.45Q1088.01 281.84 1087.32 282.04L1087.32 282.16Q1088.07 282.21 1088.78 282.66Q1089.49 283.11 1089.95 283.92Q1090.41 284.73 1090.41 285.91Q1090.41 287.08 1089.87 288Q1089.33 288.93 1088.2 289.46Q1087.06 290 1085.26 290L1079.7 290ZM1081.62 288.3L1085.22 288.3Q1086.99 288.3 1087.77 287.62Q1088.55 286.95 1088.55 285.91Q1088.55 285.13 1088.15 284.49Q1087.76 283.86 1087.04 283.48Q1086.32 283.1 1085.32 283.1L1081.62 283.1L1081.62 288.3ZM1081.62 281.47L1085.03 281.47Q1085.86 281.47 1086.53 281.15Q1087.2 280.84 1087.58 280.25Q1087.97 279.66 1087.97 278.88Q1087.97 277.86 1087.26 277.18Q1086.55 276.5 1085.08 276.5L1081.62 276.5L1081.62 281.47ZM1097.69 290.24Q1096.15 290.24 1094.99 289.52Q1093.83 288.79 1093.19 287.47Q1092.54 286.15 1092.54 284.41Q1092.54 282.65 1093.19 281.33Q1093.83 280 1094.99 279.27Q1096.15 278.54 1097.69 278.54Q1099.24 278.54 1100.41 279.27Q1101.58 280 1102.23 281.33Q1102.88 282.65 1102.88 284.41Q1102.88 286.15 1102.23 287.47Q1101.58 288.79 1100.41 289.52Q1099.24 290.24 1097.69 290.24ZM1097.69 288.61Q1098.82 288.61 1099.57 288.04Q1100.31 287.46 1100.68 286.5Q1101.04 285.55 1101.04 284.41Q1101.04 283.26 1100.68 282.3Q1100.31 281.34 1099.57 280.75Q1098.82 280.17 1097.69 280.17Q1096.58 280.17 1095.84 280.75Q1095.11 281.34 1094.75 282.3Q1094.38 283.25 1094.38 284.41Q1094.38 285.55 1094.75 286.5Q1095.11 287.46 1095.84 288.04Q1096.57 288.61 1097.69 288.61ZM1107.83 290L1107.83 280.33L1104.08 280.33L1104.08 278.69L1113.4 278.69L1113.4 280.33L1109.66 280.33L1109.66 290L1107.83 290ZM1130.03 290L1128.2 290L1128.2 281.81L1128.08 281.81L1122.65 290L1120.92 290L1120.92 278.69L1122.73 278.69L1122.73 286.92L1122.85 286.92L1128.3 278.69L1130.03 278.69L1130.03 290ZM1138.91 290L1138.91 278.69L1143.54 278.69Q1145.39 278.69 1146.49 279.51Q1147.58 280.34 1147.58 281.71Q1147.58 282.7 1146.99 283.28Q1146.4 283.86 1145.41 284.06Q1146.06 284.15 1146.65 284.5Q1147.25 284.86 1147.63 285.46Q1148.02 286.06 1148.02 286.94Q1148.02 287.83 1147.57 288.52Q1147.11 289.21 1146.27 289.61Q1145.43 290 1144.27 290L1138.91 290ZM1140.63 288.34L1144.27 288.34Q1145.14 288.34 1145.64 287.92Q1146.14 287.51 1146.14 286.8Q1146.14 285.93 1145.64 285.45Q1145.14 284.97 1144.27 284.97L1140.63 284.97L1140.63 288.34ZM1140.63 283.44L1143.56 283.44Q1144.59 283.44 1145.17 283.01Q1145.75 282.59 1145.75 281.86Q1145.75 281.15 1145.16 280.75Q1144.58 280.36 1143.54 280.36L1140.63 280.36L1140.63 283.44ZM1155.18 290.24Q1153.64 290.24 1152.48 289.52Q1151.32 288.79 1150.67 287.47Q1150.02 286.15 1150.02 284.41Q1150.02 282.65 1150.67 281.33Q1151.32 280 1152.48 279.27Q1153.64 278.54 1155.18 278.54Q1156.02 278.54 1156.76 278.76Q1157.5 278.99 1158.11 279.41Q1158.72 279.83 1159.15 280.43Q1159.57 281.03 1159.79 281.8L1158.02 282.2Q1157.91 281.76 1157.66 281.39Q1157.41 281.02 1157.05 280.74Q1156.69 280.47 1156.22 280.32Q1155.75 280.17 1155.18 280.17Q1154.06 280.17 1153.33 280.75Q1152.59 281.34 1152.23 282.3Q1151.87 283.25 1151.87 284.41Q1151.87 285.55 1152.23 286.5Q1152.59 287.46 1153.32 288.04Q1154.05 288.61 1155.18 288.61Q1155.76 288.61 1156.23 288.46Q1156.71 288.31 1157.07 288.03Q1157.44 287.74 1157.69 287.35Q1157.94 286.96 1158.06 286.5L1159.82 286.92Q1159.62 287.68 1159.18 288.3Q1158.75 288.91 1158.14 289.35Q1157.53 289.79 1156.78 290.02Q1156.03 290.24 1155.18 290.24ZM1167.08 290.24Q1165.43 290.24 1164.25 289.51Q1163.06 288.78 1162.43 287.47Q1161.79 286.16 1161.79 284.43Q1161.79 282.69 1162.42 281.37Q1163.04 280.04 1164.19 279.29Q1165.34 278.54 1166.87 278.54Q1167.82 278.54 1168.71 278.86Q1169.6 279.17 1170.3 279.86Q1171 280.54 1171.42 281.62Q1171.83 282.7 1171.83 284.23L1171.83 284.95L1162.97 284.95L1162.97 283.41L1170.85 283.41L1170 283.97Q1170 282.86 1169.65 281.99Q1169.29 281.13 1168.59 280.64Q1167.89 280.15 1166.87 280.15Q1165.86 280.15 1165.13 280.65Q1164.39 281.14 1164 281.95Q1163.62 282.76 1163.62 283.72L1163.62 284.7Q1163.62 285.95 1164.04 286.83Q1164.47 287.7 1165.26 288.16Q1166.04 288.62 1167.09 288.62Q1167.77 288.62 1168.33 288.42Q1168.88 288.21 1169.28 287.82Q1169.68 287.42 1169.88 286.85L1171.65 287.25Q1171.39 288.13 1170.76 288.81Q1170.13 289.49 1169.19 289.87Q1168.25 290.24 1167.08 290.24ZM1168.99 276.79Q1168.49 276.79 1168.14 276.44Q1167.79 276.08 1167.79 275.58Q1167.79 275.08 1168.14 274.73Q1168.49 274.38 1168.99 274.38Q1169.49 274.38 1169.85 274.73Q1170.2 275.08 1170.2 275.58Q1170.2 276.08 1169.85 276.44Q1169.49 276.79 1168.99 276.79ZM1164.71 276.79Q1164.21 276.79 1163.85 276.44Q1163.49 276.08 1163.49 275.58Q1163.49 275.08 1163.85 274.73Q1164.21 274.38 1164.71 274.38Q1165.2 274.38 1165.55 274.73Q1165.9 275.08 1165.9 275.58Q1165.9 276.08 1165.55 276.44Q1165.21 276.79 1164.71 276.79ZM1175.69 290.14Q1175.13 290.14 1174.73 289.74Q1174.33 289.35 1174.33 288.78Q1174.33 288.21 1174.73 287.82Q1175.13 287.42 1175.69 287.42Q1176.26 287.42 1176.66 287.82Q1177.06 28Line truncated
</svg>

After

Width:  |  Height:  |  Size: 105 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 369" width="1280" height="369" role="img" aria-label="Download Overdrive.exfat, copy it into a homebrew folder, plug the drive in, play">
<rect x="4" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="52.4" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M55.79 41.57L55.79 63.18L53.11 63.18L53.11 44.15L52.99 44.15L47.74 47.97L47.74 45.07L52.56 41.57L55.79 41.57Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(123.15 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/><path d="M12 15V3"/></g>
<path d="M87.06 169L81.26 169L81.26 166.31L86.87 166.31Q89.8 166.31 91.73 165.19Q93.67 164.07 94.62 161.97Q95.57 159.86 95.57 156.95Q95.57 154.06 94.63 151.98Q93.68 149.91 91.82 148.79Q89.96 147.68 87.16 147.68L81.13 147.68L81.13 144.99L87.37 144.99Q90.88 144.99 93.37 146.43Q95.86 147.86 97.19 150.54Q98.52 153.23 98.52 156.95Q98.52 160.7 97.18 163.4Q95.84 166.1 93.28 167.55Q90.72 169 87.06 169ZM82.61 144.99L82.61 169L79.58 169L79.58 144.99L82.61 144.99ZM109.48 169.39Q107.04 169.39 105.21 168.23Q103.38 167.08 102.36 165Q101.34 162.93 101.34 160.17Q101.34 157.4 102.36 155.3Q103.38 153.21 105.21 152.06Q107.04 150.9 109.48 150.9Q111.92 150.9 113.77 152.06Q115.61 153.21 116.64 155.3Q117.66 157.4 117.66 160.17Q117.66 162.93 116.64 165Q115.61 167.08 113.77 168.23Q111.92 169.39 109.48 169.39ZM109.48 166.81Q111.26 166.81 112.44 165.9Q113.62 164.99 114.19 163.48Q114.76 161.97 114.76 160.17Q114.76 158.37 114.19 156.84Q113.62 155.32 112.44 154.4Q111.26 153.48 109.48 153.48Q107.72 153.48 106.56 154.4Q105.4 155.32 104.83 156.83Q104.25 158.35 104.25 160.17Q104.25 161.97 104.83 163.48Q105.4 164.99 106.55 165.9Q107.7 166.81 109.48 166.81ZM125.04 169L119.61 151.15L122.66 151.15L124.85 158.95Q125.3 160.59 125.81 162.59Q126.31 164.58 126.81 167.02L126.33 167.02Q126.81 164.68 127.31 162.68Q127.8 160.67 128.26 158.95L130.42 151.15L133.45 151.15L135.58 158.95Q136.05 160.62 136.53 162.62Q137.01 164.62 137.5 167.02L137 167.02Q137.5 164.65 138 162.65Q138.51 160.65 138.98 158.95L141.17 151.15L144.22 151.15L138.79 169L135.9 169L133.58 160.91Q133.23 159.69 132.9 158.41Q132.57 157.14 132.24 155.81Q131.92 154.48 131.58 153.13L132.24 153.13Q131.92 154.48 131.59 155.81Q131.26 157.14 130.93 158.43Q130.6 159.72 130.25 160.91L127.93 169L125.04 169ZM149.9 158.35L149.9 169L147.04 169L147.04 151.15L149.79 151.15L149.81 155.48L149.34 155.48Q150.18 153.02 151.69 151.96Q153.21 150.9 155.25 150.9Q157.06 150.9 158.44 151.65Q159.81 152.4 160.59 153.91Q161.36 155.42 161.36 157.7L161.36 169L158.49 169L158.49 157.95Q158.49 155.84 157.41 154.67Q156.33 153.5 154.43 153.5Q153.16 153.5 152.13 154.05Q151.1 154.61 150.5 155.69Q149.9 156.77 149.9 158.35ZM168.5 144.99L168.5 169L165.63 169L165.63 144.99L168.5 144.99ZM180.04 169.39Q177.6 169.39 175.78 168.23Q173.95 167.08 172.92 165Q171.9 162.93 171.9 160.17Q171.9 157.4 172.92 155.3Q173.95 153.21 175.78 152.06Q177.6 150.9 180.04 150.9Q182.49 150.9 184.33 152.06Q186.18 153.21 187.2 155.3Q188.22 157.4 188.22 160.17Q188.22 162.93 187.2 165Q186.18 167.08 184.33 168.23Q182.49 169.39 180.04 169.39ZM180.04 166.81Q181.83 166.81 183 165.9Q184.18 164.99 184.75 163.48Q185.32 161.97 185.32 160.17Q185.32 158.37 184.75 156.84Q184.18 155.32 183 154.4Q181.83 153.48 180.04 153.48Q178.28 153.48 177.12 154.4Q175.96 155.32 175.39 156.83Q174.82 158.35 174.82 160.17Q174.82 161.97 175.39 163.48Q175.96 164.99 177.11 165.9Q178.27 166.81 180.04 166.81ZM196.68 169.39Q194.98 169.39 193.59 168.76Q192.2 168.13 191.39 166.91Q190.58 165.68 190.58 163.91Q190.58 162.38 191.18 161.42Q191.79 160.46 192.8 159.91Q193.82 159.36 195.06 159.09Q196.3 158.82 197.55 158.66Q199.16 158.45 200.16 158.33Q201.16 158.22 201.64 157.95Q202.11 157.67 202.11 157.01L202.11 156.92Q202.11 155.82 201.69 155.05Q201.28 154.27 200.44 153.85Q199.6 153.43 198.34 153.43Q197.07 153.43 196.16 153.84Q195.25 154.24 194.68 154.85Q194.11 155.46 193.86 156.14L191.08 155.37Q191.66 153.74 192.78 152.77Q193.91 151.79 195.35 151.35Q196.8 150.9 198.28 150.9Q199.28 150.9 200.44 151.15Q201.6 151.4 202.63 152.06Q203.66 152.73 204.32 153.95Q204.98 155.17 204.98 157.16L204.98 169L202.16 169L202.16 166.55L201.98 166.55Q201.68 167.18 201.02 167.84Q200.36 168.5 199.29 168.94Q198.21 169.39 196.68 169.39ZM197.17 166.84Q198.79 166.84 199.89 166.22Q200.99 165.6 201.55 164.6Q202.11 163.6 202.11 162.51L202.11 160.07Q201.94 160.27 201.37 160.43Q200.81 160.59 200.07 160.72Q199.33 160.85 198.61 160.94Q197.89 161.02 197.42 161.09Q196.38 161.22 195.48 161.53Q194.57 161.85 194.02 162.44Q193.48 163.04 193.48 164.07Q193.48 164.97 193.95 165.59Q194.43 166.21 195.26 166.53Q196.09 166.84 197.17 166.84ZM215.96 169.37Q213.72 169.37 212.01 168.23Q210.3 167.1 209.34 165.02Q208.38 162.94 208.38 160.12Q208.38 157.3 209.34 155.23Q210.3 153.16 212.02 152.03Q213.73 150.9 215.97 150.9Q217.62 150.9 218.65 151.44Q219.68 151.98 220.27 152.7Q220.87 153.42 221.21 153.98L221.4 153.98L221.4 144.99L224.27 144.99L224.27 169L221.5 169L221.5 166.24L221.22 166.24Q220.87 166.82 220.26 167.56Q219.65 168.29 218.61 168.83Q217.58 169.37 215.96 169.37ZM216.39 166.81Q218.02 166.81 219.15 165.95Q220.29 165.1 220.88 163.59Q221.47 162.07 221.47 160.09Q221.47 158.11 220.89 156.62Q220.31 155.14 219.17 154.31Q218.03 153.48 216.39 153.48Q214.71 153.48 213.58 154.34Q212.44 155.21 211.87 156.7Q211.3 158.19 211.3 160.09Q211.3 162.01 211.88 163.53Q212.46 165.05 213.6 165.93Q214.75 166.81 216.39 166.81Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M124.74 208.29L124.74 209.85L118.85 209.85L118.85 208.29L124.74 208.29ZM120.61 205.55L122.43 205.55L122.43 216.7Q122.43 217.44 122.73 217.77Q123.03 218.11 123.74 218.11Q123.93 218.11 124.2 218.07Q124.47 218.04 124.69 218.01L125.01 219.55Q124.72 219.63 124.37 219.68Q124.02 219.72 123.67 219.72Q122.21 219.72 121.41 218.97Q120.61 218.21 120.61 216.84L120.61 205.55ZM128.81 212.85L128.81 219.6L127 219.6L127 204.39L128.81 204.39L128.81 211.04L128.46 211.04Q128.99 209.48 129.95 208.81Q130.91 208.14 132.2 208.14Q133.35 208.14 134.22 208.61Q135.09 209.09 135.59 210.04Q136.08 211 136.08 212.45L136.08 219.6L134.25 219.6L134.25 212.6Q134.25 211.26 133.57 210.52Q132.89 209.78 131.68 209.78Q130.88 209.78 130.22 210.13Q129.57 210.49 129.19 211.17Q128.81 211.85 128.81 212.85ZM143.94 219.84Q142.29 219.84 141.11 219.11Q139.93 218.38 139.29 217.07Q138.65 215.76 138.65 214.03Q138.65 212.29 139.28 210.97Q139.91 209.64 141.06 208.89Q142.2 208.14 143.73 208.14Q144.68 208.14 145.57 208.46Q146.46 208.77 147.16 209.46Q147.87 210.14 148.28 211.22Q148.69 212.3 148.69 213.83L148.69 214.55L139.84 214.55L139.84 213.01L147.71 213.01L146.87 213.57Q146.87 212.46 146.51 211.59Q146.15 210.73 145.45 210.24Q144.75 209.75 143.73 209.75Q142.72 209.75 141.99 210.25Q141.25 210.74 140.87 211.55Q140.48 212.36 140.48 213.32L140.48 214.3Q140.48 215.55 140.91 216.43Q141.34 217.3 142.12 217.76Q142.91 218.22 143.95 218.22Q144.63 218.22 145.19 218.02Q145.74 217.81 146.14 217.42Q146.54 217.02 146.74 216.45L148.51 216.85Q148.25 217.73 147.62 218.41Q146.99 219.09 146.05 219.47Q145.11 219.84 143.94 219.84ZM162.19 208.29L162.19 209.85L155.62 209.85L155.62 208.29L162.19 208.29ZM157.82 219.6L157.82 206.71Q157.82 205.75 158.26 205.11Q158.7 204.47 159.43 204.13Q160.15 203.8 160.99 203.8Q161.59 203.8 162.01 203.89Q162.42 203.98 162.6 204.06L162.17 205.61Q162.04 205.57 161.8 205.52Q161.55 205.47 161.19 205.47Q160.38 205.47 160.01 205.88Q159.63 206.29 159.63 207.1L159.63 219.6L157.82 219.6ZM164.5 219.6L164.5 208.29L166.32 208.29L166.32 219.6L164.5 219.6ZM165.41 206.39Q164.9 206.39 164.53 206.04Q164.15 205.68 164.15 205.18Q164.15 204.67 164.53 204.32Q164.9 203.98 165.41 203.98Q165.93 203.98 166.3 204.32Q166.67 204.67 166.67 205.18Q166.67 205.68 166.3 206.04Q165.93 206.39 165.41 206.39ZM171.26 204.39L171.26 219.6L169.44 219.6L169.44 204.39L171.26 204.39ZM179.11 219.84Q177.47 219.84 176.29 219.11Q175.1 218.38 174.47 217.07Q173.83 215.76 173.83 214.03Q173.83 212.29 174.46 210.97Q175.08 209.64 176.23 208.89Q177.38 208.14 178.91 208.14Q179.86 208.14 180.75 208.46Q181.64 208.77 182.34 209.46Q183.04 210.14 183.46 211.22Q183.87 212.3 183.87 213.83L183.87 214.55L175.01 214.55L175.01 213.01L182.89 213.01L182.04 213.57Q182.04 212.46 181.69 211.59Q181.33 210.73 180.63 210.24Q179.93 209.75 178.91 209.75Q177.9 209.75 177.17 210.25Q176.43 210.74 176.04 211.55Q175.66 212.36 175.66 213.32L175.66 214.3Q175.66 215.55 176.08 216.43Q176.51 217.3 177.3 217.76Q178.08 218.22 179.13 218.22Q179.81 218.22 180.37 218.02Q180.92 217.81 181.32 217.42Q181.72 217.02 181.92 216.45L183.69 216.85Q183.43 217.73 182.8 218.41Q182.17 219.09 181.23 219.47Q180.29 219.84 179.11 219.84Z" fill="#a3a3ab"/>
<rect x="60.85" y="230.6" width="181.79" height="35.2" rx="9.9" fill="#1d1d21" stroke="#2a2a2f" stroke-width="1.5"/>
<path d="M84.22 255.01Q82.26 255.01 80.73 254.06Q79.2 253.1 78.32 251.35Q77.45 249.6 77.45 247.21Q77.45 244.81 78.32 243.05Q79.2 241.3 80.73 240.34Q82.26 239.38 84.22 239.38Q86.18 239.38 87.71 240.34Q89.24 241.3 90.12 243.05Q90.99 244.81 90.99 247.21Q90.99 249.6 90.12 251.35Q89.24 253.1 87.71 254.06Q86.18 255.01 84.22 255.01ZM84.22 253.23Q85.58 253.23 86.69 252.53Q87.79 251.84 88.45 250.5Q89.11 249.16 89.11 247.21Q89.11 245.25 88.45 243.9Q87.79 242.55 86.69 241.86Q85.58 241.17 84.22 241.17Q82.86 241.17 81.74 241.86Q80.63 242.55 79.98 243.9Q79.32 245.25 79.32 247.21Q79.32 249.16 79.98 250.5Q80.63 251.84 81.74 252.53Q82.86 253.23 84.22 253.23ZM97.02 254.8L92.69 243.49L94.68 243.49L97.09 250.17Q97.47 251.18 97.73 252.18Q98 253.18 98.3 254.12L97.66 254.12Q97.95 253.18 98.22 252.18Q98.49 251.18 98.86 250.17L101.26 243.49L103.25 243.49L98.92 254.8L97.02 254.8ZM110.05 255.04Q108.41 255.04 107.23 254.31Q106.04 253.58 105.4 252.27Q104.77 250.96 104.77 249.23Q104.77 247.49 105.39 246.17Q106.02 244.84 107.17 244.09Q108.32 243.34 109.85 243.34Q110.8 243.34 111.68 243.66Q112.57 243.97 113.28 244.66Q113.98 245.34 114.39 246.42Q114.81 247.5 114.81 249.03L114.81 249.75L105.95 249.75L105.95 248.21L113.83 248.21L112.98 248.77Q112.98 247.66 112.62 246.79Q112.27 245.93 111.57 245.44Q110.87 244.95 109.85 244.95Q108.84 244.95 108.1 245.45Q107.37 245.94 106.98 246.75Q106.59 247.56 106.59 248.52L106.59 249.5Q106.59 250.75 107.02 251.63Q107.45 252.5 108.24 252.96Q109.02 253.42 110.06 253.42Q110.75 253.42 111.3 253.22Q111.86 253.01 112.26 252.62Q112.65 252.22 112.86 251.65L114.62 252.05Q114.37 252.93 113.74 253.61Q113.1 254.29 112.16 254.67Q111.23 255.04 110.05 255.04ZM117.34 254.8L117.34 243.49L119.09 243.49L119.09 245.24L119.2 245.24Q119.51 244.38 120.29 243.86Q121.07 243.33 122.09 243.33Q122.31 243.33 122.57 243.34Q122.84 243.36 122.99 243.37L122.99 245.2Q122.91 245.18 122.59 245.14Q122.27 245.09 121.9 245.09Q121.11 245.09 120.49 245.43Q119.87 245.76 119.51 246.35Q119.15 246.94 119.15 247.74L119.15 254.8L117.34 254.8ZM129.26 255.03Q127.84 255.03 126.76 254.32Q125.68 253.6 125.07 252.28Q124.46 250.96 124.46 249.18Q124.46 247.39 125.07 246.08Q125.68 244.77 126.76 244.05Q127.85 243.34 129.27 243.34Q130.31 243.34 130.96 243.68Q131.62 244.02 131.99 244.48Q132.37 244.93 132.58 245.29L132.71 245.29L132.71 239.59L134.52 239.59L134.52 254.8L132.77 254.8L132.77 253.05L132.6 253.05Q132.37 253.42 131.98 253.89Q131.59 254.35 130.94 254.69Q130.29 255.03 129.26 255.03ZM129.53 253.41Q130.56 253.41 131.28 252.87Q132 252.33 132.38 251.37Q132.75 250.41 132.75 249.16Q132.75 247.9 132.38 246.96Q132.01 246.02 131.29 245.5Q130.57 244.97 129.53 244.97Q128.47 244.97 127.75 245.52Q127.03 246.06 126.67 247.01Q126.31 247.95 126.31 249.16Q126.31 250.37 126.68 251.34Q127.04 252.3 127.77 252.86Q128.49 253.41 129.53 253.41ZM137.65 254.8L137.65 243.49L139.4 243.49L139.4 245.24L139.5 245.24Q139.82 244.38 140.6 243.86Q141.38 243.33 142.4 243.33Q142.62 243.33 142.88 243.34Q143.15 243.36 143.3 243.37L143.3 245.2Q143.22 245.18 142.9 245.14Q142.58 245.09 142.21 245.09Q141.42 245.09 140.8 245.43Q140.18 245.76 139.82 246.35Q139.46 246.94 139.46 247.74L139.46 254.8L137.65 254.8ZM145.32 254.8L145.32 243.49L147.14 243.49L147.14 254.8L145.32 254.8ZM146.23 241.59Q145.72 241.59 145.35 241.24Q144.97 240.88 144.97 240.38Q144.97 239.87 145.35 239.52Q145.72 239.18 146.23 239.18Q146.75 239.18 147.12 239.52Q147.49 239.87 147.49 240.38Q147.49 240.88 147.12 241.24Q146.75 241.59 146.23 241.59ZM153.54 254.8L149.21 243.49L151.2 243.49L153.61 250.17Q153.98 251.18 154.25 252.18Q154.52 253.18 154.81 254.12L154.18 254.12Q154.46 253.18 154.73 252.18Q155.01 251.18 155.37 250.17L157.77 243.49L159.76 243.49L155.43 254.8L153.54 254.8ZM166.57 255.04Q164.92 255.04 163.74 254.31Q162.56 253.58 161.92 252.27Q161.28 250.96 161.28 249.23Q161.28 247.49 161.91 246.17Q162.54 244.84 163.68 244.09Q164.83 243.34 166.36 243.34Q167.31 243.34 168.2 243.66Q169.09 243.97 169.79 244.66Q170.5 245.34 170.91 246.42Q171.32 247.5 171.32 249.03L171.32 249.75L162.47 249.75L162.47 248.21L170.34 248.21L169.5 248.77Q169.5 247.66 169.14 246.79Q168.78 245.93 168.08 245.44Q167.38 244.95 166.36 244.95Q165.35 244.95 164.62 245.45Q163.88 245.94 163.5 246.75Q163.11 247.56 163.11 248.52L163.11 249.5Q163.11 250.75 163.54 251.63Q163.97 252.5 164.75 252.96Q165.54 253.42 166.58 253.42Q167.26 253.42 167.82 253.22Q168.37 253.01 168.77 252.62Q169.17 252.22 169.37 251.65L171.14 252.05Q170.88 252.93 170.25 253.61Q169.62 254.29 168.68 254.67Q167.74 255.04 166.57 255.04ZM175.18 254.94Q174.62 254.94 174.22 254.54Q173.82 254.15 173.82 253.58Q173.82 253.01 174.22 252.62Q174.62 252.22 175.18 252.22Q175.75 252.22 176.15 252.62Q176.55 253.01 176.55 253.58Q176.55 254.15 176.15 254.54Q175.75 254.94 175.18 254.94ZM184.38 255.04Q182.73 255.04 181.55 254.31Q180.37 253.58 179.73 252.27Q179.09 250.96 179.09 249.23Q179.09 247.49 179.72 246.17Q180.34 244.84 181.49 244.09Q182.64 243.34 184.17 243.34Q185.12 243.34 186.01 243.66Q186.9 243.97 187.6 244.66Q188.Line truncated
<path d="M88.93 287.49L88.93 289.05L82.36 289.05L82.36 287.49L88.93 287.49ZM84.55 298.8L84.55 285.91Q84.55 284.95 84.99 284.31Q85.44 283.67 86.16 283.33Q86.89 283 87.72 283Q88.33 283 88.74 283.09Q89.15 283.18 89.34 283.26L88.91 284.81Q88.77 284.77 88.53 284.72Q88.28 284.67 87.93 284.67Q87.11 284.67 86.74 285.08Q86.37 285.49 86.37 286.3L86.37 298.8L84.55 298.8ZM91.23 298.8L91.23 287.49L92.99 287.49L92.99 289.24L93.09 289.24Q93.41 288.38 94.19 287.86Q94.97 287.33 95.99 287.33Q96.2 287.33 96.47 287.34Q96.73 287.36 96.89 287.37L96.89 289.2Q96.81 289.18 96.48 289.14Q96.16 289.09 95.8 289.09Q95.01 289.09 94.39 289.43Q93.76 289.76 93.41 290.35Q93.05 290.94 93.05 291.74L93.05 298.8L91.23 298.8ZM103.51 299.04Q101.97 299.04 100.81 298.32Q99.65 297.59 99.01 296.27Q98.36 294.95 98.36 293.21Q98.36 291.45 99.01 290.13Q99.65 288.8 100.81 288.07Q101.97 287.34 103.51 287.34Q105.06 287.34 106.23 288.07Q107.4 288.8 108.05 290.13Q108.69 291.45 108.69 293.21Q108.69 294.95 108.05 296.27Q107.4 297.59 106.23 298.32Q105.06 299.04 103.51 299.04ZM103.51 297.41Q104.64 297.41 105.39 296.84Q106.13 296.26 106.5 295.3Q106.86 294.35 106.86 293.21Q106.86 292.06 106.5 291.1Q106.13 290.14 105.39 289.55Q104.64 288.97 103.51 288.97Q102.4 288.97 101.66 289.55Q100.93 290.14 100.57 291.1Q100.2 292.05 100.2 293.21Q100.2 294.35 100.57 295.3Q100.93 296.26 101.66 296.84Q102.39 297.41 103.51 297.41ZM111.27 298.8L111.27 287.49L113.03 287.49L113.04 289.99L112.89 289.99Q113.13 289.08 113.64 288.49Q114.14 287.89 114.82 287.59Q115.5 287.29 116.24 287.29Q117.48 287.29 118.27 288.05Q119.06 288.81 119.29 290L119.02 290Q119.23 289.19 119.76 288.57Q120.3 287.96 121.06 287.63Q121.83 287.29 122.74 287.29Q123.73 287.29 124.54 287.72Q125.36 288.15 125.84 289.01Q126.33 289.88 126.33 291.21L126.33 298.8L124.5 298.8L124.5 291.26Q124.5 290.01 123.81 289.48Q123.11 288.95 122.2 288.95Q121.43 288.95 120.87 289.27Q120.31 289.6 120.01 290.16Q119.71 290.72 119.71 291.45L119.71 298.8L117.88 298.8L117.88 291.07Q117.88 290.12 117.25 289.53Q116.61 288.95 115.64 288.95Q114.98 288.95 114.39 289.26Q113.8 289.57 113.44 290.19Q113.08 290.81 113.08 291.72L113.08 298.8L111.27 298.8ZM135.43 298.8L135.43 283.59L140.71 283.59Q142.45 283.59 143.6 284.19Q144.75 284.79 145.32 285.85Q145.89 286.91 145.89 288.28Q145.89 289.65 145.32 290.69Q144.74 291.73 143.59 292.31Q142.43 292.89 140.69 292.89L136.5 292.89L136.5 291.18L140.64 291.18Q141.81 291.18 142.55 290.82Q143.28 290.47 143.63 289.82Q143.97 289.17 143.97 288.28Q143.97 287.36 143.63 286.69Q143.28 286.02 142.54 285.66Q141.8 285.29 140.62 285.29L137.35 285.29L137.35 298.8L135.43 298.8ZM144.18 298.8L140.5 291.95L142.68 291.95L146.41 298.8L144.18 298.8ZM153.35 299.04Q151.71 299.04 150.53 298.31Q149.34 297.58 148.7 296.27Q148.07 294.96 148.07 293.23Q148.07 291.49 148.69 290.17Q149.32 288.84 150.47 288.09Q151.62 287.34 153.15 287.34Q154.1 287.34 154.99 287.66Q155.87 287.97 156.58 288.66Q157.28 289.34 157.69 290.42Q158.11 291.5 158.11 293.03L158.11 293.75L149.25 293.75L149.25 292.21L157.13 292.21L156.28 292.77Q156.28 291.66 155.92 290.79Q155.57 289.93 154.87 289.44Q154.17 288.95 153.15 288.95Q152.14 288.95 151.4 289.45Q150.67 289.94 150.28 290.75Q149.89 291.56 149.89 292.52L149.89 293.5Q149.89 294.75 150.32 295.63Q150.75 296.5 151.54 296.96Q152.32 297.42 153.36 297.42Q154.05 297.42 154.6 297.22Q155.16 297.01 155.56 296.62Q155.95 296.22 156.16 295.65L157.92 296.05Q157.67 296.93 157.04 297.61Q156.4 298.29 155.46 298.67Q154.53 299.04 153.35 299.04ZM162.46 283.59L162.46 298.8L160.64 298.8L160.64 283.59L162.46 283.59ZM170.31 299.04Q168.67 299.04 167.49 298.31Q166.3 297.58 165.66 296.27Q165.03 294.96 165.03 293.23Q165.03 291.49 165.65 290.17Q166.28 288.84 167.43 288.09Q168.58 287.34 170.11 287.34Q171.06 287.34 171.95 287.66Q172.83 287.97 173.54 288.66Q174.24 289.34 174.66 290.42Q175.07 291.5 175.07 293.03L175.07 293.75L166.21 293.75L166.21 292.21L174.09 292.21L173.24 292.77Q173.24 291.66 172.88 290.79Q172.53 289.93 171.83 289.44Q171.13 288.95 170.11 288.95Q169.1 288.95 168.36 289.45Q167.63 289.94 167.24 290.75Q166.85 291.56 166.85 292.52L166.85 293.5Q166.85 294.75 167.28 295.63Q167.71 296.5 168.5 296.96Q169.28 297.42 170.32 297.42Q171.01 297.42 171.56 297.22Q172.12 297.01 172.52 296.62Q172.92 296.22 173.12 295.65L174.88 296.05Q174.63 296.93 174 297.61Q173.36 298.29 172.43 298.67Q171.49 299.04 170.31 299.04ZM180.8 299.04Q179.72 299.04 178.84 298.65Q177.97 298.25 177.45 297.47Q176.94 296.7 176.94 295.58Q176.94 294.61 177.32 294Q177.7 293.39 178.34 293.04Q178.99 292.7 179.77 292.52Q180.56 292.35 181.35 292.25Q182.38 292.12 183.01 292.04Q183.64 291.97 183.94 291.8Q184.24 291.63 184.24 291.21L184.24 291.15Q184.24 290.45 183.98 289.96Q183.71 289.47 183.18 289.21Q182.65 288.94 181.85 288.94Q181.05 288.94 180.47 289.2Q179.9 289.45 179.53 289.84Q179.17 290.23 179.02 290.66L177.25 290.17Q177.62 289.14 178.33 288.52Q179.05 287.9 179.96 287.62Q180.88 287.34 181.81 287.34Q182.45 287.34 183.18 287.5Q183.92 287.66 184.57 288.07Q185.22 288.49 185.64 289.27Q186.06 290.Line truncated
<g transform="translate(303.5 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
<rect x="329.5" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="377.9" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M371.03 63.18L371.03 61.16L378.29 53.51Q379.52 52.2 380.34 51.22Q381.15 50.24 381.55 49.35Q381.96 48.45 381.96 47.43Q381.96 46.27 381.42 45.42Q380.89 44.56 379.96 44.1Q379.03 43.65 377.84 43.65Q376.57 43.65 375.64 44.17Q374.71 44.69 374.2 45.63Q373.69 46.58 373.69 47.85L371.1 47.85Q371.1 45.89 371.98 44.41Q372.87 42.92 374.4 42.09Q375.93 41.27 377.9 41.27Q379.84 41.27 381.34 42.08Q382.83 42.89 383.69 44.28Q384.54 45.66 384.54 47.39Q384.54 48.61 384.11 49.73Q383.67 50.85 382.62 52.23Q381.57 53.61 379.7 55.55L374.78 60.63L374.78 60.77L384.86 60.77L384.86 63.18L371.03 63.18Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(448.65 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/></g>
<path d="M449.95 169.34Q446.84 169.34 444.41 167.83Q441.99 166.33 440.61 163.55Q439.23 160.78 439.23 157.01Q439.23 153.23 440.61 150.45Q441.99 147.68 444.41 146.17Q446.84 144.65 449.95 144.65Q451.78 144.65 453.41 145.19Q455.04 145.73 456.33 146.76Q457.62 147.79 458.48 149.26Q459.34 150.73 459.68 152.58L456.63 152.58Q456.36 151.34 455.74 150.39Q455.12 149.44 454.22 148.79Q453.33 148.13 452.24 147.8Q451.15 147.47 449.95 147.47Q447.72 147.47 445.97 148.59Q444.21 149.71 443.2 151.84Q442.19 153.97 442.19 157.01Q442.19 160.04 443.21 162.17Q444.22 164.29 445.98 165.41Q447.74 166.52 449.95 166.52Q451.15 166.52 452.24 166.19Q453.33 165.86 454.22 165.21Q455.12 164.55 455.74 163.6Q456.36 162.65 456.63 161.41L459.68 161.41Q459.36 163.25 458.49 164.71Q457.63 166.16 456.34 167.2Q455.05 168.24 453.43 168.79Q451.8 169.34 449.95 169.34ZM470.47 169.39Q468.04 169.39 466.21 168.23Q464.38 167.08 463.36 165Q462.34 162.93 462.34 160.17Q462.34 157.4 463.36 155.3Q464.38 153.21 466.21 152.06Q468.04 150.9 470.47 150.9Q472.92 150.9 474.77 152.06Q476.61 153.21 477.64 155.3Q478.66 157.4 478.66 160.17Q478.66 162.93 477.64 165Q476.61 167.08 474.77 168.23Q472.92 169.39 470.47 169.39ZM470.47 166.81Q472.26 166.81 473.44 165.9Q474.62 164.99 475.19 163.48Q475.76 161.97 475.76 160.17Q475.76 158.37 475.19 156.84Q474.62 155.32 473.44 154.4Q472.26 153.48 470.47 153.48Q468.72 153.48 467.56 154.4Q466.4 155.32 465.83 156.83Q465.25 158.35 465.25 160.17Q465.25 161.97 465.83 163.48Q466.4 164.99 467.55 165.9Q468.7 166.81 470.47 166.81ZM482.06 175.74L482.06 151.15L484.83 151.15L484.83 153.98L485.11 153.98Q485.46 153.42 486.06 152.7Q486.65 151.98 487.68 151.44Q488.71 150.9 490.36 150.9Q492.61 150.9 494.31 152.03Q496.01 153.16 496.98 155.23Q497.95 157.3 497.95 160.12Q497.95 162.94 496.99 165.02Q496.03 167.1 494.32 168.23Q492.61 169.37 490.37 169.37Q488.76 169.37 487.72 168.83Q486.68 168.29 486.08 167.56Q485.48 166.82 485.12 166.24L484.93 166.24L484.93 175.74L482.06 175.74ZM489.94 166.81Q491.6 166.81 492.74 165.93Q493.87 165.05 494.45 163.53Q495.03 162.01 495.03 160.09Q495.03 158.19 494.45 156.7Q493.87 155.21 492.74 154.34Q491.62 153.48 489.94 153.48Q488.3 153.48 487.16 154.31Q486.02 155.14 485.44 156.62Q484.86 158.11 484.86 160.09Q484.86 162.07 485.45 163.59Q486.04 165.1 487.18 165.95Q488.31 166.81 489.94 166.81ZM501.12 175.56L501.74 173.06L502.28 173.12Q503.1 173.32 503.77 173.2Q504.44 173.08 504.98 172.49Q505.52 171.9 505.94 170.71L506.52 169.05L499.69 151.15L502.83 151.15L506.63 161.68Q507.23 163.28 507.65 164.86Q508.07 166.44 508.52 167.92L507.52 167.92Q507.97 166.44 508.4 164.86Q508.82 163.28 509.41 161.68L513.22 151.15L516.35 151.15L508.44 171.77Q507.91 173.16 507.16 174.06Q506.41 174.96 505.41 175.41Q504.41 175.85 503.17 175.85Q502.46 175.85 501.92 175.75Q501.38 175.65 501.12 175.56Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M411.81 219.6L411.81 208.29L413.63 208.29L413.63 219.6L411.81 219.6ZM412.72 206.39Q412.21 206.39 411.84 206.04Q411.46 205.68 411.46 205.18Q411.46 204.67 411.84 204.32Q412.21 203.98 412.72 203.98Q413.24 203.98 413.61 204.32Q413.98 204.67 413.98 205.18Q413.98 205.68 413.61 206.04Q413.24 206.39 412.72 206.39ZM421.27 208.29L421.27 209.85L415.38 209.85L415.38 208.29L421.27 208.29ZM417.14 205.55L418.95 205.55L418.95 216.7Q418.95 217.44 419.25 217.77Q419.56 218.11 420.27 218.11Q420.45 218.11 420.72 218.07Q420.99 218.04 421.22 218.01L421.54 219.55Q421.25 219.63 420.9 219.68Q420.55 219.72 420.2 219.72Q418.74 219.72 417.94 218.97Q417.14 218.21 417.14 216.84L417.14 205.55ZM429.29 219.6L429.29 208.29L431.11 208.29L431.11 219.6L429.29 219.6ZM430.2 206.39Q429.69 206.39 429.32 206.04Q428.94 205.68 428.94 205.18Q428.94 204.67 429.32 204.32Q429.69 203.98 430.2 203.98Q430.72 203.98 431.09 204.32Q431.46 204.67 431.46 205.18Q431.46 205.68 431.09 206.04Q430.72 206.39 430.2 206.39ZM436.05 212.85L436.05 219.6L434.23 219.6L434.23 208.29L435.98 208.29L435.99 211.04L435.69 211.04Q436.22 209.48 437.18 208.81Q438.14 208.14 439.44 208.14Q440.58 208.14 441.45 208.61Q442.32 209.09 442.81 210.04Q443.3 211 443.3 212.45L443.3 219.6L441.49 219.6L441.49 212.6Q441.49 211.26 440.8 210.52Q440.12 209.78 438.91 209.78Q438.11 209.78 437.46 210.13Q436.8 210.49 436.42 211.17Q436.05 211.85 436.05 212.85ZM450.95 208.29L450.95 209.85L445.06 209.85L445.06 208.29L450.95 208.29ZM446.81 205.55L448.63 205.55L448.63 216.7Q448.63 217.44 448.93 217.77Q449.23 218.11 449.95 218.11Q450.13 218.11 450.4 218.07Q450.67 218.04 450.9 218.01L451.21 219.55Q450.93 219.63 450.57 219.68Q450.22 219.72 449.87 219.72Q448.42 219.72 447.61 218.97Q446.81 218.21 446.81 216.84L446.81 205.55ZM457.8 219.84Q456.26 219.84 455.1 219.12Q453.95 218.39 453.3 217.07Q452.65 215.75 452.65 214.01Q452.65 212.25 453.3 210.93Q453.95 209.6 455.1 208.87Q456.26 208.14 457.8 208.14Q459.36 208.14 460.52 208.87Q461.69 209.6 462.34 210.93Q462.99 212.25 462.99 214.01Q462.99 215.75 462.34 217.07Q461.69 218.39 460.52 219.12Q459.36 219.84 457.8 219.84ZM457.8 218.21Q458.94 218.21 459.68 217.64Q460.43 217.06 460.79 216.1Q461.15 215.15 461.15 214.01Q461.15 212.86 460.79 211.9Q460.43 210.94 459.68 210.35Q458.94 209.77 457.8 209.77Q456.69 209.77 455.96 210.35Q455.22 210.94 454.86 211.9Q454.5 212.85 454.5 214.01Q454.5 215.15 454.86 216.1Q455.22 217.06 455.95 217.64Q456.68 218.21 457.8 218.21ZM474.53 219.84Q473.45 219.84 472.57 219.45Q471.69 219.05 471.18 218.27Q470.66 217.5 470.66 216.38Q470.66 215.41 471.05 214.8Q471.43 214.19 472.07 213.84Q472.71 213.5 473.5 213.32Q474.29 213.15 475.08 213.05Q476.1 212.92 476.73 212.84Q477.37 212.77 477.67 212.6Q477.97 212.43 477.97 212.01L477.97 211.95Q477.97 211.25 477.7 210.76Q477.44 210.27 476.91 210.01Q476.38 209.74 475.58 209.74Q474.78 209.74 474.2 210Q473.62 210.25 473.26 210.64Q472.9 211.03 472.74 211.46L470.98 210.97Q471.35 209.94 472.06 209.32Q472.78 208.7 473.69 208.42Q474.6 208.14 475.54 208.14Q476.17 208.14 476.91 208.3Q477.64 208.46 478.3 208.87Q478.95 209.29 479.37 210.07Q479.79 210.84 479.79 212.1L479.79 219.6L478 219.6L478 218.05L477.89 218.05Q477.69 218.45 477.28 218.87Q476.86 219.28 476.18 219.56Q475.5 219.84 474.53 219.84ZM474.84 218.23Q475.87 218.23 476.56 217.84Q477.26 217.45 477.61 216.81Q477.97 216.18 477.97 215.49L477.97 213.95Q477.86 214.07 477.5 214.17Q477.14 214.27 476.67 214.35Q476.2 214.44 475.75 214.49Q475.3 214.55 475 214.59Q474.34 214.67 473.76 214.87Q473.19 215.07 472.85 215.45Q472.5 215.82 472.5 216.48Q472.5 217.05 472.8 217.44Q473.1 217.83 473.63 218.03Q474.15 218.23 474.84 218.23ZM493.88 208.29L493.88 209.85L487.31 209.85L487.31 208.29L493.88 208.29ZM489.5 219.6L489.5 206.71Q489.5 205.75 489.95 205.11Q490.39 204.47 491.11 204.13Q491.84 203.8 492.67 203.8Q493.28 203.8 493.69 203.89Q494.1 203.98 494.29 204.06L493.86 205.61Q493.73 205.57 493.48 205.52Q493.24 205.47 492.88 205.47Q492.06 205.47 491.69 205.88Q491.32 206.29 491.32 207.1L491.32 219.6L489.5 219.6ZM500.79 219.84Q499.25 219.84 498.09 219.12Q496.93 218.39 496.28 217.07Q495.63 215.75 495.63 214.01Q495.63 212.25 496.28 210.93Q496.93 209.6 498.09 208.87Q499.25 208.14 500.79 208.14Q502.34 208.14 503.51 208.87Q504.68 209.6 505.32 210.93Q505.97 212.25 505.97 214.01Q505.97 215.75 505.32 217.07Q504.68 218.39 503.51 219.12Q502.34 219.84 500.79 219.84ZM500.79 218.21Q501.92 218.21 502.67 217.64Q503.41 217.06 503.77 216.1Q504.14 215.15 504.14 214.01Q504.14 212.86 503.77 211.9Q503.41 210.94 502.67 210.35Q501.92 209.77 500.79 209.77Q499.68 209.77 498.94 210.35Q498.21 210.94 497.84 211.9Q497.48 212.85 497.48 214.01Q497.48 215.15 497.84 216.1Q498.21 217.06 498.94 217.64Q499.67 218.21 500.79 218.21ZM510.36 204.39L510.36 219.6L508.54 219.6L508.54 204.39L510.36 204.39ZM517.73 219.83Q516.31 219.83 515.23 219.12Q514.15 218.4 513.54 217.08Q512.93 215.76 512.93 213.98Q512.93 212.19 513.54 210.88Q514.15 209.57 515.23 208.85Q516.32 208.14 517.74 208.14Q518.78 208.14 519.43 208.48Q520.09 208.82 520.46 2Line truncated
<rect x="409.87" y="230.6" width="134.76" height="35.2" rx="9.9" fill="#1d1d21" stroke="#2a2a2f" stroke-width="1.5"/>
<path d="M428.65 248.05L428.65 254.8L426.83 254.8L426.83 239.59L428.65 239.59L428.65 246.24L428.29 246.24Q428.82 244.68 429.78 244.01Q430.74 243.34 432.04 243.34Q433.18 243.34 434.05 243.81Q434.92 244.29 435.42 245.24Q435.91 246.2 435.91 247.65L435.91 254.8L434.09 254.8L434.09 247.8Q434.09 246.46 433.4 245.72Q432.72 244.98 431.52 244.98Q430.71 244.98 430.06 245.33Q429.4 245.69 429.03 246.37Q428.65 247.05 428.65 248.05ZM443.64 255.04Q442.1 255.04 440.94 254.32Q439.78 253.59 439.13 252.27Q438.49 250.95 438.49 249.21Q438.49 247.45 439.13 246.13Q439.78 244.8 440.94 244.07Q442.1 243.34 443.64 243.34Q445.19 243.34 446.36 244.07Q447.53 244.8 448.18 246.13Q448.82 247.45 448.82 249.21Q448.82 250.95 448.18 252.27Q447.53 253.59 446.36 254.32Q445.19 255.04 443.64 255.04ZM443.64 253.41Q444.77 253.41 445.52 252.84Q446.26 252.26 446.62 251.3Q446.99 250.35 446.99 249.21Q446.99 248.06 446.62 247.1Q446.26 246.14 445.52 245.55Q444.77 244.97 443.64 244.97Q442.53 244.97 441.79 245.55Q441.06 246.14 440.7 247.1Q440.33 248.05 440.33 249.21Q440.33 250.35 440.7 251.3Q441.06 252.26 441.79 252.84Q442.52 253.41 443.64 253.41ZM451.4 254.8L451.4 243.49L453.16 243.49L453.17 245.99L453.02 245.99Q453.26 245.08 453.77 244.49Q454.27 243.89 454.95 243.59Q455.63 243.29 456.37 243.29Q457.61 243.29 458.4 244.05Q459.19 244.81 459.42 246L459.15 246Q459.36 245.19 459.89 244.57Q460.43 243.96 461.19 243.63Q461.96 243.29 462.87 243.29Q463.86 243.29 464.67 243.72Q465.49 244.15 465.97 245.01Q466.46 245.88 466.46 247.21L466.46 254.8L464.63 254.8L464.63 247.26Q464.63 246.01 463.94 245.48Q463.24 244.95 462.33 244.95Q461.56 244.95 461 245.27Q460.44 245.6 460.14 246.16Q459.84 246.72 459.84 247.45L459.84 254.8L458.01 254.8L458.01 247.07Q458.01 246.12 457.38 245.53Q456.74 244.95 455.77 244.95Q455.11 244.95 454.52 245.26Q453.93 245.57 453.57 246.19Q453.21 246.81 453.21 247.72L453.21 254.8L451.4 254.8ZM474.31 255.04Q472.66 255.04 471.48 254.31Q470.3 253.58 469.66 252.27Q469.02 250.96 469.02 249.23Q469.02 247.49 469.65 246.17Q470.27 244.84 471.42 244.09Q472.57 243.34 474.1 243.34Q475.05 243.34 475.94 243.66Q476.83 243.97 477.53 244.66Q478.23 245.34 478.65 246.42Q479.06 247.5 479.06 249.03L479.06 249.75L470.2 249.75L470.2 248.21L478.08 248.21L477.23 248.77Q477.23 247.66 476.88 246.79Q476.52 245.93 475.82 245.44Q475.12 244.95 474.1 244.95Q473.09 244.95 472.36 245.45Q471.62 245.94 471.23 246.75Q470.85 247.56 470.85 248.52L470.85 249.5Q470.85 250.75 471.27 251.63Q471.7 252.5 472.49 252.96Q473.28 253.42 474.32 253.42Q475 253.42 475.56 253.22Q476.11 253.01 476.51 252.62Q476.91 252.22 477.11 251.65L478.88 252.05Q478.62 252.93 477.99 253.61Q477.36 254.29 476.42 254.67Q475.48 255.04 474.31 255.04ZM486.86 255.03Q485.84 255.03 485.18 254.69Q484.52 254.35 484.13 253.89Q483.75 253.42 483.52 253.05L483.35 253.05L483.35 254.8L481.59 254.8L481.59 239.59L483.41 239.59L483.41 245.29L483.53 245.29Q483.75 244.93 484.12 244.48Q484.5 244.02 485.15 243.68Q485.81 243.34 486.85 243.34Q488.28 243.34 489.35 244.05Q490.43 244.77 491.04 246.08Q491.65 247.39 491.65 249.18Q491.65 250.96 491.05 252.28Q490.44 253.6 489.36 254.32Q488.28 255.03 486.86 255.03ZM486.58 253.41Q487.63 253.41 488.35 252.86Q489.07 252.3 489.44 251.34Q489.81 250.37 489.81 249.16Q489.81 247.95 489.44 247.01Q489.07 246.06 488.36 245.52Q487.64 244.97 486.58 244.97Q485.54 244.97 484.82 245.5Q484.1 246.02 483.74 246.96Q483.37 247.9 483.37 249.16Q483.37 250.41 483.74 251.37Q484.11 252.33 484.83 252.87Q485.55 253.41 486.58 253.41ZM494.23 254.8L494.23 243.49L495.98 243.49L495.98 245.24L496.08 245.24Q496.4 244.38 497.18 243.86Q497.96 243.33 498.98 243.33Q499.2 243.33 499.46 243.34Q499.73 243.36 499.88 243.37L499.88 245.2Q499.8 245.18 499.48 245.14Q499.16 245.09 498.79 245.09Q498 245.09 497.38 245.43Q496.76 245.76 496.4 246.35Q496.04 246.94 496.04 247.74L496.04 254.8L494.23 254.8ZM506.64 255.04Q504.99 255.04 503.81 254.31Q502.62 253.58 501.99 252.27Q501.35 250.96 501.35 249.23Q501.35 247.49 501.98 246.17Q502.6 244.84 503.75 244.09Q504.9 243.34 506.43 243.34Q507.38 243.34 508.27 243.66Q509.16 243.97 509.86 244.66Q510.56 245.34 510.98 246.42Q511.39 247.5 511.39 249.03L511.39 249.75L502.53 249.75L502.53 248.21L510.41 248.21L509.56 248.77Q509.56 247.66 509.21 246.79Q508.85 245.93 508.15 245.44Q507.45 244.95 506.43 244.95Q505.42 244.95 504.69 245.45Q503.95 245.94 503.56 246.75Q503.18 247.56 503.18 248.52L503.18 249.5Q503.18 250.75 503.6 251.63Q504.03 252.5 504.82 252.96Q505.6 253.42 506.65 253.42Q507.33 253.42 507.89 253.22Q508.44 253.01 508.84 252.62Q509.24 252.22 509.44 251.65L511.21 252.05Q510.95 252.93 510.32 253.61Q509.69 254.29 508.75 254.67Q507.81 255.04 506.64 255.04ZM516.44 254.8L513 243.49L514.93 243.49L516.32 248.43Q516.61 249.47 516.93 250.74Q517.25 252 517.57 253.54L517.26 253.54Q517.57 252.07 517.88 250.79Q518.19 249.52 518.48 248.43L519.85 243.49L521.77 243.49L523.12 248.43Q523.41 249.49 523.72 250.76Q524.02 252.02 524.33 253.54L524.01 253.54Q524.33 252.04 524.65 250.78Q524.97 249.51 525.27 248.43L526.66 243.49L528.59 243Line truncated
<path d="M411.11 299.04Q409.56 299.04 408.41 298.32Q407.25 297.59 406.6 296.27Q405.95 294.95 405.95 293.21Q405.95 291.45 406.6 290.13Q407.25 288.8 408.41 288.07Q409.56 287.34 411.11 287.34Q412.66 287.34 413.83 288.07Q414.99 288.8 415.64 290.13Q416.29 291.45 416.29 293.21Q416.29 294.95 415.64 296.27Q414.99 297.59 413.83 298.32Q412.66 299.04 411.11 299.04ZM411.11 297.41Q412.24 297.41 412.98 296.84Q413.73 296.26 414.09 295.3Q414.45 294.35 414.45 293.21Q414.45 292.06 414.09 291.1Q413.73 290.14 412.98 289.55Q412.24 288.97 411.11 288.97Q409.99 288.97 409.26 289.55Q408.52 290.14 408.16 291.1Q407.8 292.05 407.8 293.21Q407.8 294.35 408.16 295.3Q408.52 296.26 409.25 296.84Q409.98 297.41 411.11 297.41ZM420.68 292.05L420.68 298.8L418.86 298.8L418.86 287.49L420.61 287.49L420.62 290.24L420.32 290.24Q420.85 288.68 421.81 288.01Q422.77 287.34 424.07 287.34Q425.21 287.34 426.08 287.81Q426.95 288.29 427.44 289.24Q427.93 290.2 427.93 291.65L427.93 298.8L426.12 298.8L426.12 291.8Q426.12 290.46 425.43 289.72Q424.75 288.98 423.55 288.98Q422.74 288.98 422.09 289.33Q421.43 289.69 421.06 290.37Q420.68 291.05 420.68 292.05ZM440.03 299.04Q438.95 299.04 438.07 298.65Q437.19 298.25 436.67 297.47Q436.16 296.7 436.16 295.58Q436.16 294.61 436.54 294Q436.92 293.39 437.57 293.04Q438.21 292.7 439 292.52Q439.78 292.35 440.58 292.25Q441.6 292.12 442.23 292.04Q442.86 291.97 443.17 291.8Q443.47 291.63 443.47 291.21L443.47 291.15Q443.47 290.45 443.2 289.96Q442.94 289.47 442.4 289.21Q441.87 288.94 441.08 288.94Q440.27 288.94 439.7 289.2Q439.12 289.45 438.76 289.84Q438.39 290.23 438.24 290.66L436.48 290.17Q436.84 289.14 437.56 288.52Q438.27 287.9 439.19 287.62Q440.1 287.34 441.04 287.34Q441.67 287.34 442.4 287.5Q443.14 287.66 443.79 288.07Q444.45 288.49 444.86 289.27Q445.28 290.04 445.28 291.3L445.28 298.8L443.5 298.8L443.5 297.25L443.38 297.25Q443.19 297.65 442.77 298.07Q442.35 298.48 441.68 298.76Q441 299.04 440.03 299.04ZM440.33 297.43Q441.36 297.43 442.06 297.04Q442.75 296.65 443.11 296.01Q443.47 295.38 443.47 294.69L443.47 293.15Q443.35 293.27 443 293.37Q442.64 293.47 442.17 293.55Q441.7 293.64 441.25 293.69Q440.79 293.75 440.5 293.79Q439.83 293.87 439.26 294.07Q438.69 294.27 438.34 294.65Q438 295.02 438 295.68Q438 296.25 438.3 296.64Q438.6 297.03 439.12 297.23Q439.65 297.43 440.33 297.43ZM460.32 299.04Q458.53 299.04 457.19 298.34Q455.84 297.64 455.11 296.41Q454.38 295.19 454.38 293.63L454.38 283.59L456.3 283.59L456.3 293.47Q456.3 294.58 456.79 295.43Q457.27 296.28 458.17 296.77Q459.07 297.26 460.32 297.26Q461.57 297.26 462.47 296.77Q463.37 296.28 463.85 295.43Q464.33 294.58 464.33 293.47L464.33 283.59L466.25 283.59L466.25 293.63Q466.25 295.19 465.52 296.41Q464.78 297.64 463.45 298.34Q462.12 299.04 460.32 299.04ZM474.69 299.07Q473.03 299.07 471.81 298.51Q470.59 297.96 469.9 296.98Q469.21 295.99 469.14 294.67L471.11 294.67Q471.17 295.56 471.67 296.16Q472.16 296.75 472.96 297.04Q473.75 297.34 474.69 297.34Q475.73 297.34 476.56 297Q477.38 296.67 477.86 296.05Q478.34 295.44 478.34 294.64Q478.34 293.92 477.94 293.46Q477.55 293 476.87 292.7Q476.19 292.39 475.33 292.16L473.51 291.66Q471.59 291.13 470.57 290.16Q469.55 289.19 469.55 287.67Q469.55 286.38 470.23 285.42Q470.92 284.45 472.1 283.92Q473.29 283.38 474.78 283.38Q476.29 283.38 477.44 283.92Q478.6 284.46 479.27 285.4Q479.93 286.34 479.97 287.54L478.09 287.54Q477.96 286.38 477.03 285.74Q476.1 285.09 474.71 285.09Q473.73 285.09 472.99 285.42Q472.24 285.74 471.83 286.3Q471.42 286.86 471.42 287.57Q471.42 288.34 471.88 288.82Q472.35 289.3 473.03 289.58Q473.7 289.86 474.35 290.03L475.9 290.45Q476.6 290.64 477.35 290.94Q478.1 291.24 478.76 291.72Q479.41 292.2 479.81 292.92Q480.21 293.64 480.21 294.65Q480.21 295.91 479.56 296.91Q478.91 297.91 477.67 298.49Q476.43 299.07 474.69 299.07ZM483.12 298.8L483.12 283.59L488.52 283.59Q490.1 283.59 491.15 284.13Q492.2 284.67 492.72 285.58Q493.24 286.49 493.24 287.63Q493.24 288.58 492.9 289.22Q492.56 289.86 492 290.25Q491.43 290.64 490.75 290.84L490.75 290.96Q491.49 291.01 492.2 291.46Q492.91 291.91 493.37 292.72Q493.84 293.53 493.84 294.71Q493.84 295.88 493.3 296.8Q492.76 297.73 491.62 298.26Q490.48 298.8 488.68 298.8L483.12 298.8ZM485.04 297.1L488.64 297.1Q490.41 297.1 491.19 296.42Q491.97 295.75 491.97 294.71Q491.97 293.93 491.58 293.29Q491.19 292.66 490.47 292.28Q489.75 291.9 488.75 291.9L485.04 291.9L485.04 297.1ZM485.04 290.27L488.45 290.27Q489.29 290.27 489.96 289.95Q490.62 289.64 491.01 289.05Q491.39 288.46 491.39 287.68Q491.39 286.66 490.68 285.98Q489.97 285.3 488.5 285.3L485.04 285.3L485.04 290.27ZM506.52 299.03Q505.1 299.03 504.02 298.32Q502.94 297.6 502.33 296.28Q501.73 294.96 501.73 293.18Q501.73 291.39 502.33 290.08Q502.94 288.77 504.03 288.05Q505.11 287.34 506.53 287.34Q507.57 287.34 508.23 287.68Q508.88 288.02 509.26 288.48Q509.64 288.93 509.85 289.29L509.97 289.29L509.97 283.59L511.79 283.59L511.79 298.8L510.03 298.8L510.03 297.05L509.86 297.05Q509.64 297.42 509.25 297.89Q508.86 298.35 508.21 298.69Q507.55 299.03 506.52 299.03ZM506.8 297.41Q507.83Line truncated
<g transform="translate(629 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
<rect x="655" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="703.4" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M703.44 63.48Q701.31 63.48 699.66 62.72Q698.01 61.96 697.04 60.62Q696.08 59.28 696.02 57.51L698.77 57.51Q698.85 58.61 699.46 59.42Q700.08 60.22 701.1 60.65Q702.12 61.08 703.4 61.08Q704.79 61.08 705.85 60.6Q706.91 60.12 707.53 59.25Q708.14 58.38 708.14 57.25Q708.14 56.07 707.54 55.19Q706.94 54.3 705.81 53.8Q704.68 53.29 703.07 53.29L701.31 53.29L701.31 50.91L703.07 50.91Q704.36 50.91 705.34 50.46Q706.31 50.01 706.86 49.19Q707.4 48.37 707.4 47.26Q707.4 46.17 706.92 45.36Q706.43 44.54 705.54 44.1Q704.65 43.65 703.44 43.65Q702.3 43.65 701.33 44.07Q700.35 44.49 699.75 45.26Q699.15 46.04 699.12 47.16L696.48 47.16Q696.53 45.42 697.48 44.09Q698.43 42.76 700 42.01Q701.57 41.27 703.5 41.27Q705.5 41.27 706.98 42.08Q708.46 42.89 709.27 44.22Q710.07 45.55 710.07 47.11Q710.07 48.91 709.09 50.19Q708.11 51.46 706.45 51.97L706.45 52.12Q707.82 52.33 708.81 53.04Q709.8 53.75 710.32 54.83Q710.84 55.91 710.84 57.26Q710.84 59.06 709.88 60.46Q708.91 61.86 707.24 62.67Q705.58 63.48 703.44 63.48Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(774.15 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><path d="M6 16h.01"/><path d="M10 16h.01"/></g>
<path d="M755.48 169L755.48 144.99L763.76 144.99Q766.52 144.99 768.33 145.99Q770.14 146.99 771.04 148.7Q771.93 150.41 771.93 152.56Q771.93 154.72 771.03 156.45Q770.13 158.17 768.31 159.18Q766.5 160.19 763.75 160.19L757.74 160.19L757.74 157.51L763.63 157.51Q765.5 157.51 766.66 156.87Q767.82 156.24 768.37 155.12Q768.92 154 768.92 152.56Q768.92 151.15 768.37 150.03Q767.82 148.92 766.65 148.29Q765.49 147.67 763.6 147.67L758.51 147.67L758.51 169L755.48 169ZM778.26 144.99L778.26 169L775.4 169L775.4 144.99L778.26 144.99ZM788.66 169.24Q786.85 169.24 785.47 168.49Q784.08 167.74 783.31 166.23Q782.54 164.71 782.54 162.44L782.54 151.15L785.4 151.15L785.4 162.22Q785.4 164.31 786.49 165.48Q787.58 166.65 789.46 166.65Q790.75 166.65 791.78 166.09Q792.8 165.54 793.4 164.46Q793.99 163.38 793.99 161.81L793.99 151.15L796.88 151.15L796.88 169L794.09 169L794.09 164.68L794.54 164.68Q793.7 167.16 792.17 168.2Q790.64 169.24 788.66 169.24ZM808.41 176.09Q806.43 176.09 804.96 175.57Q803.48 175.06 802.52 174.16Q801.55 173.27 801.03 172.17L803.47 170.92Q803.84 171.5 804.41 172.12Q804.98 172.74 805.95 173.16Q806.92 173.58 808.41 173.58Q810.57 173.58 811.95 172.52Q813.33 171.47 813.33 169.26L813.33 165.83L813.1 165.83Q812.73 166.41 812.14 167.11Q811.54 167.81 810.51 168.31Q809.48 168.81 807.83 168.81Q805.67 168.81 803.96 167.77Q802.24 166.73 801.26 164.76Q800.28 162.8 800.28 160.01Q800.28 157.25 801.24 155.21Q802.21 153.16 803.93 152.03Q805.66 150.9 807.9 150.9Q809.53 150.9 810.56 151.44Q811.59 151.97 812.2 152.69Q812.81 153.42 813.17 154L813.39 154L813.39 151.15L816.2 151.15L816.2 169.39Q816.2 171.74 815.15 173.22Q814.1 174.7 812.34 175.4Q810.57 176.09 808.41 176.09ZM808.32 166.26Q809.94 166.26 811.08 165.5Q812.22 164.75 812.8 163.33Q813.39 161.91 813.39 159.96Q813.39 158.04 812.8 156.58Q812.22 155.13 811.09 154.3Q809.96 153.48 808.32 153.48Q806.64 153.48 805.5 154.34Q804.35 155.19 803.77 156.65Q803.19 158.11 803.19 159.96Q803.19 161.85 803.78 163.26Q804.37 164.68 805.51 165.47Q806.66 166.26 808.32 166.26ZM828.91 169L828.91 151.15L831.78 151.15L831.78 169L828.91 169ZM830.35 148.15Q829.54 148.15 828.95 147.59Q828.36 147.02 828.36 146.23Q828.36 145.43 828.95 144.88Q829.54 144.33 830.35 144.33Q831.17 144.33 831.76 144.88Q832.34 145.43 832.34 146.23Q832.34 147.02 831.76 147.59Q831.17 148.15 830.35 148.15ZM838.92 158.35L838.92 169L836.05 169L836.05 151.15L838.81 151.15L838.82 155.48L838.35 155.48Q839.19 153.02 840.71 151.96Q842.22 150.9 844.27 150.9Q846.07 150.9 847.45 151.65Q848.83 152.4 849.6 153.91Q850.37 155.42 850.37 157.7L850.37 169L847.51 169L847.51 157.95Q847.51 155.84 846.43 154.67Q845.35 153.5 843.45 153.5Q842.17 153.5 841.14 154.05Q840.11 154.61 839.51 155.69Q838.92 156.77 838.92 158.35Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M731.96 219.87Q730.3 219.87 729.08 219.31Q727.86 218.76 727.17 217.78Q726.48 216.79 726.41 215.47L728.38 215.47Q728.44 216.36 728.94 216.96Q729.43 217.55 730.23 217.84Q731.02 218.14 731.96 218.14Q733 218.14 733.82 217.8Q734.65 217.47 735.13 216.85Q735.61 216.24 735.61 215.44Q735.61 214.72 735.21 214.26Q734.82 213.8 734.14 213.5Q733.46 213.19 732.6 212.96L730.78 212.46Q728.86 211.93 727.84 210.96Q726.82 209.99 726.82 208.47Q726.82 207.18 727.5 206.22Q728.19 205.25 729.37 204.72Q730.55 204.18 732.04 204.18Q733.55 204.18 734.71 204.72Q735.87 205.26 736.53 206.2Q737.2 207.14 737.24 208.34L735.36 208.34Q735.23 207.18 734.3 206.54Q733.37 205.89 731.98 205.89Q731 205.89 730.26 206.22Q729.51 206.54 729.1 207.1Q728.69 207.66 728.69 208.37Q728.69 209.14 729.15 209.62Q729.62 210.1 730.29 210.38Q730.97 210.66 731.62 210.83L733.17 211.25Q733.87 211.44 734.62 211.74Q735.37 212.04 736.02 212.52Q736.68 213 737.08 213.72Q737.48 214.44 737.48 215.45Q737.48 216.71 736.83 217.71Q736.18 218.71 734.94 219.29Q733.7 219.87 731.96 219.87ZM741.98 212.85L741.98 219.6L740.17 219.6L740.17 204.39L741.98 204.39L741.98 211.04L741.63 211.04Q742.16 209.48 743.12 208.81Q744.08 208.14 745.37 208.14Q746.51 208.14 747.39 208.61Q748.26 209.09 748.75 210.04Q749.25 211 749.25 212.45L749.25 219.6L747.42 219.6L747.42 212.6Q747.42 211.26 746.74 210.52Q746.06 209.78 744.85 209.78Q744.05 209.78 743.39 210.13Q742.74 210.49 742.36 211.17Q741.98 211.85 741.98 212.85ZM755.58 219.84Q754.5 219.84 753.62 219.45Q752.74 219.05 752.22 218.27Q751.71 217.5 751.71 216.38Q751.71 215.41 752.09 214.8Q752.47 214.19 753.12 213.84Q753.76 213.5 754.55 213.32Q755.33 213.15 756.13 213.05Q757.15 212.92 757.78 212.84Q758.41 212.77 758.72 212.6Q759.02 212.43 759.02 212.01L759.02 211.95Q759.02 211.25 758.75 210.76Q758.49 210.27 757.95 210.01Q757.42 209.74 756.63 209.74Q755.82 209.74 755.25 210Q754.67 210.25 754.31 210.64Q753.94 211.03 753.79 211.46L752.03 210.97Q752.39 209.94 753.11 209.32Q753.82 208.7 754.74 208.42Q755.65 208.14 756.59 208.14Q757.22 208.14 757.95 208.3Q758.69 208.46 759.34 208.87Q760 209.29 760.41 210.07Q760.83 210.84 760.83 212.1L760.83 219.6L759.05 219.6L759.05 218.05L758.93 218.05Q758.74 218.45 758.32 218.87Q757.9 219.28 757.23 219.56Q756.55 219.84 755.58 219.84ZM755.88 218.23Q756.91 218.23 757.61 217.84Q758.3 217.45 758.66 216.81Q759.02 216.18 759.02 215.49L759.02 213.95Q758.9 214.07 758.55 214.17Q758.19 214.27 757.72 214.35Q757.25 214.44 756.8 214.49Q756.34 214.55 756.05 214.59Q755.38 214.67 754.81 214.87Q754.24 215.07 753.89 215.45Q753.55 215.82 753.55 216.48Q753.55 217.05 753.85 217.44Q754.15 217.83 754.67 218.03Q755.2 218.23 755.88 218.23ZM768.2 219.83Q766.78 219.83 765.7 219.12Q764.62 218.4 764.01 217.08Q763.4 215.76 763.4 213.98Q763.4 212.19 764.01 210.88Q764.62 209.57 765.71 208.85Q766.79 208.14 768.21 208.14Q769.25 208.14 769.9 208.48Q770.56 208.82 770.94 209.28Q771.31 209.73 771.53 210.09L771.65 210.09L771.65 204.39L773.47 204.39L773.47 219.6L771.71 219.6L771.71 217.85L771.54 217.85Q771.31 218.22 770.93 218.69Q770.54 219.15 769.88 219.49Q769.23 219.83 768.2 219.83ZM768.48 218.21Q769.51 218.21 770.23 217.67Q770.95 217.13 771.32 216.17Q771.69 215.21 771.69 213.96Q771.69 212.7 771.32 211.76Q770.96 210.82 770.24 210.3Q769.52 209.77 768.48 209.77Q767.41 209.77 766.7 210.32Q765.98 210.86 765.61 211.81Q765.25 212.75 765.25 213.96Q765.25 215.17 765.62 216.14Q765.99 217.1 766.71 217.66Q767.44 218.21 768.48 218.21ZM781.19 219.84Q779.65 219.84 778.49 219.12Q777.33 218.39 776.69 217.07Q776.04 215.75 776.04 214.01Q776.04 212.25 776.69 210.93Q777.33 209.6 778.49 208.87Q779.65 208.14 781.19 208.14Q782.74 208.14 783.91 208.87Q785.08 209.6 785.73 210.93Q786.38 212.25 786.38 214.01Q786.38 215.75 785.73 217.07Q785.08 218.39 783.91 219.12Q782.74 219.84 781.19 219.84ZM781.19 218.21Q782.32 218.21 783.07 217.64Q783.81 217.06 784.18 216.1Q784.54 215.15 784.54 214.01Q784.54 212.86 784.18 211.9Q783.81 210.94 783.07 210.35Q782.32 209.77 781.19 209.77Q780.08 209.77 779.34 210.35Q778.61 210.94 778.25 211.9Q777.89 212.85 777.89 214.01Q777.89 215.15 778.25 216.1Q778.61 217.06 779.34 217.64Q780.07 218.21 781.19 218.21ZM791.47 219.6L788.03 208.29L789.96 208.29L791.35 213.23Q791.63 214.27 791.95 215.54Q792.27 216.8 792.59 218.34L792.28 218.34Q792.59 216.87 792.9 215.59Q793.21 214.32 793.51 213.23L794.88 208.29L796.8 208.29L798.14 213.23Q798.44 214.29 798.74 215.56Q799.05 216.82 799.36 218.34L799.04 218.34Q799.36 216.84 799.68 215.58Q800 214.31 800.3 213.23L801.68 208.29L803.61 208.29L800.17 219.6L798.35 219.6L796.88 214.48Q796.65 213.7 796.44 212.9Q796.23 212.09 796.03 211.25Q795.83 210.41 795.61 209.55L796.03 209.55Q795.83 210.41 795.62 211.25Q795.41 212.09 795.2 212.91Q794.99 213.72 794.76 214.48L793.29 219.6L791.47 219.6ZM806.04 219.6L806.04 204.39L808.75 204.39L812.51 214.03Q812.64 214.36 812.82 214.86Q812.99 215.36 813.18 215.94Q813.37 216.52 813.54 217.08Q813.72 217.65 813.84 218.12L813.42 218.12Q813.55 217.68 813.73 217.12Q813.9 216.56 814.09 215.98Q814.28 215.4 8Line truncated
<path d="M719.21 243.49L719.21 245.05L712.63 245.05L712.63 243.49L719.21 243.49ZM714.83 254.8L714.83 241.91Q714.83 240.95 715.27 240.31Q715.72 239.67 716.44 239.33Q717.17 239 718 239Q718.6 239 719.02 239.09Q719.43 239.18 719.61 239.26L719.19 240.81Q719.05 240.77 718.81 240.72Q718.56 240.67 718.21 240.67Q717.39 240.67 717.02 241.08Q716.64 241.49 716.64 242.3L716.64 254.8L714.83 254.8ZM721.51 254.8L721.51 243.49L723.33 243.49L723.33 254.8L721.51 254.8ZM722.42 241.59Q721.91 241.59 721.54 241.24Q721.17 240.88 721.17 240.38Q721.17 239.87 721.54 239.52Q721.91 239.18 722.42 239.18Q722.94 239.18 723.31 239.52Q723.69 239.87 723.69 240.38Q723.69 240.88 723.31 241.24Q722.94 241.59 722.42 241.59ZM728.27 248.05L728.27 254.8L726.45 254.8L726.45 243.49L728.2 243.49L728.21 246.24L727.91 246.24Q728.44 244.68 729.4 244.01Q730.36 243.34 731.66 243.34Q732.8 243.34 733.67 243.81Q734.54 244.29 735.03 245.24Q735.52 246.2 735.52 247.65L735.52 254.8L733.71 254.8L733.71 247.8Q733.71 246.46 733.02 245.72Q732.34 244.98 731.14 244.98Q730.33 244.98 729.68 245.33Q729.02 245.69 728.65 246.37Q728.27 247.05 728.27 248.05ZM742.89 255.03Q741.47 255.03 740.39 254.32Q739.31 253.6 738.7 252.28Q738.1 250.96 738.1 249.18Q738.1 247.39 738.7 246.08Q739.31 244.77 740.4 244.05Q741.48 243.34 742.9 243.34Q743.94 243.34 744.6 243.68Q745.25 244.02 745.63 244.48Q746 244.93 746.22 245.29L746.34 245.29L746.34 239.59L748.16 239.59L748.16 254.8L746.4 254.8L746.4 253.05L746.23 253.05Q746 253.42 745.62 253.89Q745.23 254.35 744.58 254.69Q743.92 255.03 742.89 255.03ZM743.17 253.41Q744.2 253.41 744.92 252.87Q745.64 252.33 746.01 251.37Q746.38 250.41 746.38 249.16Q746.38 247.9 746.01 246.96Q745.65 246.02 744.93 245.5Q744.21 244.97 743.17 244.97Q742.11 244.97 741.39 245.52Q740.67 246.06 740.31 247.01Q739.94 247.95 739.94 249.16Q739.94 250.37 740.31 251.34Q740.68 252.3 741.4 252.86Q742.13 253.41 743.17 253.41ZM755.14 255.04Q753.96 255.04 753.05 254.7Q752.13 254.35 751.54 253.66Q750.94 252.97 750.77 251.95L752.51 251.61Q752.73 252.55 753.4 253Q754.07 253.45 755.11 253.45Q756.29 253.45 756.99 252.95Q757.69 252.44 757.69 251.74Q757.69 251.15 757.27 250.76Q756.85 250.37 756.03 250.18L754.16 249.74Q752.61 249.37 751.85 248.6Q751.1 247.83 751.1 246.64Q751.1 245.67 751.64 244.92Q752.18 244.18 753.12 243.76Q754.07 243.34 755.27 243.34Q756.43 243.34 757.27 243.7Q758.1 244.06 758.62 244.71Q759.14 245.35 759.35 246.21L757.68 246.56Q757.49 245.91 756.93 245.4Q756.37 244.89 755.28 244.89Q754.26 244.89 753.6 245.36Q752.93 245.83 752.93 246.54Q752.93 247.17 753.39 247.55Q753.85 247.93 754.81 248.16L756.54 248.56Q758.09 248.93 758.83 249.7Q759.57 250.46 759.57 251.64Q759.57 252.64 759.01 253.4Q758.44 254.17 757.44 254.61Q756.44 255.04 755.14 255.04ZM771.1 255.04Q770.02 255.04 769.14 254.65Q768.26 254.25 767.75 253.47Q767.23 252.7 767.23 251.58Q767.23 250.61 767.61 250Q768 249.39 768.64 249.04Q769.28 248.7 770.07 248.52Q770.85 248.35 771.65 248.25Q772.67 248.12 773.3 248.04Q773.94 247.97 774.24 247.8Q774.54 247.63 774.54 247.21L774.54 247.15Q774.54 246.45 774.27 245.96Q774.01 245.47 773.48 245.21Q772.95 244.94 772.15 244.94Q771.34 244.94 770.77 245.2Q770.19 245.45 769.83 245.84Q769.47 246.23 769.31 246.66L767.55 246.17Q767.91 245.14 768.63 244.52Q769.34 243.9 770.26 243.62Q771.17 243.34 772.11 243.34Q772.74 243.34 773.48 243.5Q774.21 243.66 774.86 244.07Q775.52 244.49 775.94 245.27Q776.35 246.04 776.35 247.3L776.35 254.8L774.57 254.8L774.57 253.25L774.46 253.25Q774.26 253.65 773.84 254.07Q773.43 254.48 772.75 254.76Q772.07 255.04 771.1 255.04ZM771.41 253.43Q772.44 253.43 773.13 253.04Q773.82 252.65 774.18 252.01Q774.54 251.38 774.54 250.69L774.54 249.15Q774.43 249.27 774.07 249.37Q773.71 249.47 773.24 249.55Q772.77 249.64 772.32 249.69Q771.86 249.75 771.57 249.79Q770.91 249.87 770.33 250.07Q769.76 250.27 769.42 250.65Q769.07 251.02 769.07 251.68Q769.07 252.25 769.37 252.64Q769.67 253.03 770.2 253.23Q770.72 253.43 771.41 253.43ZM781.29 248.05L781.29 254.8L779.48 254.8L779.48 243.49L781.22 243.49L781.23 246.24L780.94 246.24Q781.47 244.68 782.43 244.01Q783.39 243.34 784.68 243.34Q785.82 243.34 786.7 243.81Q787.57 244.29 788.06 245.24Q788.55 246.2 788.55 247.65L788.55 254.8L786.73 254.8L786.73 247.8Q786.73 246.46 786.05 245.72Q785.37 244.98 784.16 244.98Q783.36 244.98 782.7 245.33Q782.05 245.69 781.67 246.37Q781.29 247.05 781.29 248.05ZM795.92 255.03Q794.5 255.03 793.42 254.32Q792.34 253.6 791.73 252.28Q791.12 250.96 791.12 249.18Q791.12 247.39 791.73 246.08Q792.34 244.77 793.42 244.05Q794.51 243.34 795.93 243.34Q796.97 243.34 797.62 243.68Q798.28 244.02 798.65 244.48Q799.03 244.93 799.24 245.29L799.37 245.29L799.37 239.59L801.18 239.59L801.18 254.8L799.43 254.8L799.43 253.05L799.25 253.05Q799.03 253.42 798.64 253.89Q798.25 254.35 797.6 254.69Q796.95 255.03 795.92 255.03ZM796.19 253.41Q797.22 253.41 797.94 252.87Q798.66 252.33 799.04 251.37Q799.41 250.41 799.41 249.16Q799.41 247.9 799.04 246.96Q798.67 246.02 797.95 245.5Q797.23 244.97 796.19 244.97Q795.13 244.97 794.41 245.52Q793.69 246.Line truncated
<path d="M758.88 290.24Q757.34 290.24 756.18 289.52Q755.02 288.79 754.37 287.47Q753.72 286.15 753.72 284.41Q753.72 282.65 754.37 281.33Q755.02 280 756.18 279.27Q757.34 278.54 758.88 278.54Q760.43 278.54 761.6 279.27Q762.77 280 763.41 281.33Q764.06 282.65 764.06 284.41Q764.06 286.15 763.41 287.47Q762.77 288.79 761.6 289.52Q760.43 290.24 758.88 290.24ZM758.88 288.61Q760.01 288.61 760.76 288.04Q761.5 287.46 761.86 286.5Q762.23 285.55 762.23 284.41Q762.23 283.26 761.86 282.3Q761.5 281.34 760.76 280.75Q760.01 280.17 758.88 280.17Q757.77 280.17 757.03 280.75Q756.3 281.34 755.93 282.3Q755.57 283.25 755.57 284.41Q755.57 285.55 755.93 286.5Q756.3 287.46 757.03 288.04Q757.76 288.61 758.88 288.61ZM768.45 283.25L768.45 290L766.63 290L766.63 278.69L768.38 278.69L768.39 281.44L768.09 281.44Q768.62 279.88 769.58 279.21Q770.54 278.54 771.84 278.54Q772.98 278.54 773.85 279.01Q774.73 279.49 775.22 280.44Q775.71 281.4 775.71 282.85L775.71 290L773.89 290L773.89 283Q773.89 281.66 773.21 280.92Q772.52 280.18 771.32 280.18Q770.51 280.18 769.86 280.53Q769.21 280.89 768.83 281.57Q768.45 282.25 768.45 283.25ZM784.6 290L784.6 278.69L786.41 278.69L786.41 290L784.6 290ZM785.5 276.79Q784.99 276.79 784.62 276.44Q784.25 276.08 784.25 275.58Q784.25 275.07 784.62 274.72Q784.99 274.38 785.5 274.38Q786.02 274.38 786.4 274.72Q786.77 275.07 786.77 275.58Q786.77 276.08 786.4 276.44Q786.02 276.79 785.5 276.79ZM794.06 278.69L794.06 280.25L788.17 280.25L788.17 278.69L794.06 278.69ZM789.92 275.95L791.74 275.95L791.74 287.1Q791.74 287.84 792.04 288.17Q792.34 288.51 793.06 288.51Q793.24 288.51 793.51 288.47Q793.78 288.44 794 288.41L794.32 289.95Q794.03 290.03 793.68 290.08Q793.33 290.12 792.98 290.12Q791.52 290.12 790.72 289.37Q789.92 288.61 789.92 287.24L789.92 275.95ZM800.17 290.24Q798.99 290.24 798.08 289.9Q797.16 289.55 796.57 288.86Q795.97 288.17 795.8 287.15L797.54 286.81Q797.76 287.75 798.43 288.2Q799.1 288.65 800.14 288.65Q801.32 288.65 802.02 288.15Q802.72 287.64 802.72 286.94Q802.72 286.35 802.3 285.96Q801.88 285.57 801.06 285.38L799.19 284.94Q797.64 284.57 796.88 283.8Q796.13 283.03 796.13 281.84Q796.13 280.87 796.67 280.12Q797.21 279.38 798.15 278.96Q799.1 278.54 800.3 278.54Q801.46 278.54 802.3 278.9Q803.13 279.26 803.65 279.91Q804.17 280.55 804.38 281.41L802.71 281.76Q802.52 281.11 801.96 280.6Q801.4 280.09 800.31 280.09Q799.29 280.09 798.63 280.56Q797.96 281.03 797.96 281.74Q797.96 282.37 798.42 282.75Q798.88 283.13 799.84 283.36L801.57 283.76Q803.12 284.13 803.86 284.9Q804.6 285.66 804.6 286.84Q804.6 287.84 804.04 288.6Q803.47 289.37 802.47 289.81Q801.47 290.24 800.17 290.24ZM817.53 290.24Q815.99 290.24 814.83 289.52Q813.67 288.79 813.02 287.47Q812.37 286.15 812.37 284.41Q812.37 282.65 813.02 281.33Q813.67 280 814.83 279.27Q815.99 278.54 817.53 278.54Q819.08 278.54 820.25 279.27Q821.42 280 822.06 281.33Q822.71 282.65 822.71 284.41Q822.71 286.15 822.06 287.47Q821.42 288.79 820.25 289.52Q819.08 290.24 817.53 290.24ZM817.53 288.61Q818.66 288.61 819.4 288.04Q820.15 287.46 820.51 286.5Q820.87 285.55 820.87 284.41Q820.87 283.26 820.51 282.3Q820.15 281.34 819.4 280.75Q818.66 280.17 817.53 280.17Q816.41 280.17 815.68 280.75Q814.95 281.34 814.58 282.3Q814.22 283.25 814.22 284.41Q814.22 285.55 814.58 286.5Q814.95 287.46 815.67 288.04Q816.4 288.61 817.53 288.61ZM827.8 290L824.36 278.69L826.29 278.69L827.68 283.63Q827.97 284.67 828.29 285.94Q828.61 287.2 828.93 288.74L828.62 288.74Q828.93 287.27 829.24 285.99Q829.55 284.72 829.84 283.63L831.21 278.69L833.13 278.69L834.48 283.63Q834.77 284.69 835.08 285.96Q835.39 287.22 835.69 288.74L835.38 288.74Q835.69 287.24 836.01 285.98Q836.33 284.71 836.63 283.63L838.02 278.69L839.95 278.69L836.51 290L834.68 290L833.21 284.88Q832.99 284.1 832.78 283.3Q832.57 282.49 832.37 281.65Q832.16 280.81 831.95 279.95L832.37 279.95Q832.16 280.81 831.95 281.65Q831.74 282.49 831.53 283.31Q831.32 284.12 831.1 284.88L829.63 290L827.8 290ZM843.97 283.25L843.97 290L842.15 290L842.15 278.69L843.9 278.69L843.91 281.44L843.61 281.44Q844.14 279.88 845.1 279.21Q846.06 278.54 847.36 278.54Q848.5 278.54 849.37 279.01Q850.24 279.49 850.73 280.44Q851.22 281.4 851.22 282.85L851.22 290L849.41 290L849.41 283Q849.41 281.66 848.72 280.92Q848.04 280.18 846.84 280.18Q846.03 280.18 845.38 280.53Q844.72 280.89 844.35 281.57Q843.97 282.25 843.97 283.25Z" fill="#a3a3ab"/>
<g transform="translate(954.5 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
<rect x="980.5" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="1028.9" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
<path d="M1020.96 58.64L1020.96 56.42L1030.56 41.57L1032.21 41.57L1032.21 44.94L1031.13 44.94L1023.9 56.09L1023.9 56.25L1036.87 56.25L1036.87 58.64L1020.96 58.64ZM1031.27 63.18L1031.27 57.99L1031.27 56.93L1031.27 41.57L1033.88 41.57L1033.88 63.18L1031.27 63.18Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
<g transform="translate(1099.65 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3 20 12 6 21Z"/></g>
<path d="M1099.41 169L1099.41 144.99L1107.7 144.99Q1110.45 144.99 1112.26 145.99Q1114.08 146.99 1114.97 148.7Q1115.87 150.41 1115.87 152.56Q1115.87 154.72 1114.96 156.45Q1114.06 158.17 1112.25 159.18Q1110.44 160.19 1107.68 160.19L1101.67 160.19L1101.67 157.51L1107.57 157.51Q1109.44 157.51 1110.6 156.87Q1111.76 156.24 1112.3 155.12Q1112.85 154 1112.85 152.56Q1112.85 151.15 1112.3 150.03Q1111.76 148.92 1110.59 148.29Q1109.42 147.67 1107.54 147.67L1102.44 147.67L1102.44 169L1099.41 169ZM1122.2 144.99L1122.2 169L1119.33 169L1119.33 144.99L1122.2 144.99ZM1131.53 169.39Q1129.82 169.39 1128.44 168.76Q1127.05 168.13 1126.24 166.91Q1125.42 165.68 1125.42 163.91Q1125.42 162.38 1126.03 161.42Q1126.63 160.46 1127.65 159.91Q1128.66 159.36 1129.9 159.09Q1131.14 158.82 1132.4 158.66Q1134.01 158.45 1135.01 158.33Q1136.01 158.22 1136.48 157.95Q1136.96 157.67 1136.96 157.01L1136.96 156.92Q1136.96 155.82 1136.54 155.05Q1136.12 154.27 1135.28 153.85Q1134.45 153.43 1133.19 153.43Q1131.92 153.43 1131.01 153.84Q1130.1 154.24 1129.52 154.85Q1128.95 155.46 1128.71 156.14L1125.92 155.37Q1126.5 153.74 1127.63 152.77Q1128.76 151.79 1130.2 151.35Q1131.64 150.9 1133.12 150.9Q1134.12 150.9 1135.28 151.15Q1136.44 151.4 1137.48 152.06Q1138.51 152.73 1139.17 153.95Q1139.83 155.17 1139.83 157.16L1139.83 169L1137.01 169L1137.01 166.55L1136.83 166.55Q1136.52 167.18 1135.86 167.84Q1135.2 168.5 1134.13 168.94Q1133.06 169.39 1131.53 169.39ZM1132.01 166.84Q1133.64 166.84 1134.74 166.22Q1135.83 165.6 1136.4 164.6Q1136.96 163.6 1136.96 162.51L1136.96 160.07Q1136.78 160.27 1136.22 160.43Q1135.65 160.59 1134.91 160.72Q1134.17 160.85 1133.45 160.94Q1132.74 161.02 1132.27 161.09Q1131.22 161.22 1130.32 161.53Q1129.42 161.85 1128.87 162.44Q1128.32 163.04 1128.32 164.07Q1128.32 164.97 1128.8 165.59Q1129.27 166.21 1130.1 166.53Q1130.93 166.84 1132.01 166.84ZM1143.87 175.56L1144.49 173.06L1145.03 173.12Q1145.85 173.32 1146.52 173.2Q1147.19 173.08 1147.73 172.49Q1148.27 171.9 1148.69 170.71L1149.27 169.05L1142.44 151.15L1145.58 151.15L1149.38 161.68Q1149.98 163.28 1150.4 164.86Q1150.82 166.44 1151.27 167.92L1150.27 167.92Q1150.72 166.44 1151.15 164.86Q1151.57 163.28 1152.16 161.68L1155.97 151.15L1159.1 151.15L1151.19 171.77Q1150.66 173.16 1149.91 174.06Q1149.16 174.96 1148.16 175.41Q1147.16 175.85 1145.92 175.85Q1145.21 175.85 1144.67 175.75Q1144.13 175.65 1143.87 175.56Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
<path d="M1062.26 219.81Q1060.3 219.81 1058.77 218.86Q1057.24 217.9 1056.37 216.15Q1055.49 214.4 1055.49 212.01Q1055.49 209.61 1056.37 207.85Q1057.24 206.1 1058.77 205.14Q1060.3 204.18 1062.26 204.18Q1064.22 204.18 1065.75 205.14Q1067.28 206.1 1068.16 207.85Q1069.03 209.61 1069.03 212.01Q1069.03 214.4 1068.16 216.15Q1067.28 217.9 1065.75 218.86Q1064.22 219.81 1062.26 219.81ZM1062.26 218.03Q1063.62 218.03 1064.73 217.33Q1065.84 216.64 1066.49 215.3Q1067.15 213.96 1067.15 212.01Q1067.15 210.05 1066.49 208.7Q1065.84 207.35 1064.73 206.66Q1063.62 205.97 1062.26 205.97Q1060.9 205.97 1059.78 206.66Q1058.67 207.35 1058.02 208.7Q1057.37 210.05 1057.37 212.01Q1057.37 213.96 1058.02 215.3Q1058.67 216.64 1059.78 217.33Q1060.9 218.03 1062.26 218.03ZM1075.06 219.6L1070.73 208.29L1072.72 208.29L1075.13 214.97Q1075.51 215.98 1075.78 216.98Q1076.04 217.98 1076.34 218.92L1075.7 218.92Q1075.99 217.98 1076.26 216.98Q1076.53 215.98 1076.9 214.97L1079.3 208.29L1081.29 208.29L1076.96 219.6L1075.06 219.6ZM1088.09 219.84Q1086.45 219.84 1085.27 219.11Q1084.08 218.38 1083.44 217.07Q1082.81 215.76 1082.81 214.03Q1082.81 212.29 1083.43 210.97Q1084.06 209.64 1085.21 208.89Q1086.36 208.14 1087.89 208.14Q1088.84 208.14 1089.73 208.46Q1090.61 208.77 1091.32 209.46Q1092.02 210.14 1092.44 211.22Q1092.85 212.3 1092.85 213.83L1092.85 214.55L1083.99 214.55L1083.99 213.01L1091.87 213.01L1091.02 213.57Q1091.02 212.46 1090.66 211.59Q1090.31 210.73 1089.61 210.24Q1088.91 209.75 1087.89 209.75Q1086.88 209.75 1086.14 210.25Q1085.41 210.74 1085.02 211.55Q1084.63 212.36 1084.63 213.32L1084.63 214.3Q1084.63 215.55 1085.06 216.43Q1085.49 217.3 1086.28 217.76Q1087.06 218.22 1088.1 218.22Q1088.79 218.22 1089.34 218.02Q1089.9 217.81 1090.3 217.42Q1090.7 217.02 1090.9 216.45L1092.66 216.85Q1092.41 217.73 1091.78 218.41Q1091.14 219.09 1090.21 219.47Q1089.27 219.84 1088.09 219.84ZM1095.38 219.6L1095.38 208.29L1097.13 208.29L1097.13 210.04L1097.24 210.04Q1097.55 209.18 1098.33 208.66Q1099.11 208.13 1100.14 208.13Q1100.35 208.13 1100.61 208.14Q1100.88 208.16 1101.03 208.17L1101.03 210Q1100.95 209.98 1100.63 209.94Q1100.31 209.89 1099.94 209.89Q1099.16 209.89 1098.53 210.23Q1097.91 210.56 1097.55 211.15Q1097.2 211.74 1097.2 212.54L1097.2 219.6L1095.38 219.6ZM1107.3 219.83Q1105.88 219.83 1104.8 219.12Q1103.72 218.4 1103.11 217.08Q1102.5 215.76 1102.5 213.98Q1102.5 212.19 1103.11 210.88Q1103.72 209.57 1104.8 208.85Q1105.89 208.14 1107.31 208.14Q1108.35 208.14 1109 208.48Q1109.66 208.82 1110.03 209.28Q1110.41 209.73 1110.63 210.09L1110.75 210.09L1110.75 204.39L1112.56 204.39L1112.56 219.6L1110.81 219.6L1110.81 217.85L1110.64 217.85Q1110.41 218.22 1110.02 218.69Q1109.64 219.15 1108.98 219.49Q1108.33 219.83 1107.3 219.83ZM1107.57 218.21Q1108.61 218.21 1109.32 217.67Q1110.04 217.13 1110.42 216.17Q1110.79 215.21 1110.79 213.96Q1110.79 212.7 1110.42 211.76Q1110.05 210.82 1109.33 210.3Q1108.62 209.77 1107.57 209.77Q1106.51 209.77 1105.79 210.32Q1105.07 210.86 1104.71 211.81Q1104.35 212.75 1104.35 213.96Q1104.35 215.17 1104.72 216.14Q1105.08 217.1 1105.81 217.66Q1106.53 218.21 1107.57 218.21ZM1115.69 219.6L1115.69 208.29L1117.44 208.29L1117.44 210.04L1117.54 210.04Q1117.86 209.18 1118.64 208.66Q1119.42 208.13 1120.44 208.13Q1120.66 208.13 1120.92 208.14Q1121.19 208.16 1121.34 208.17L1121.34 210Q1121.26 209.98 1120.94 209.94Q1120.62 209.89 1120.25 209.89Q1119.46 209.89 1118.84 210.23Q1118.22 210.56 1117.86 211.15Q1117.5 211.74 1117.5 212.54L1117.5 219.6L1115.69 219.6ZM1123.36 219.6L1123.36 208.29L1125.18 208.29L1125.18 219.6L1123.36 219.6ZM1124.27 206.39Q1123.76 206.39 1123.39 206.04Q1123.01 205.68 1123.01 205.18Q1123.01 204.67 1123.39 204.32Q1123.76 203.98 1124.27 203.98Q1124.79 203.98 1125.16 204.32Q1125.54 204.67 1125.54 205.18Q1125.54 205.68 1125.16 206.04Q1124.79 206.39 1124.27 206.39ZM1131.58 219.6L1127.25 208.29L1129.24 208.29L1131.65 214.97Q1132.03 215.98 1132.29 216.98Q1132.56 217.98 1132.85 218.92L1132.22 218.92Q1132.51 217.98 1132.78 216.98Q1133.05 215.98 1133.41 214.97L1135.81 208.29L1137.8 208.29L1133.48 219.6L1131.58 219.6ZM1144.61 219.84Q1142.97 219.84 1141.78 219.11Q1140.6 218.38 1139.96 217.07Q1139.32 215.76 1139.32 214.03Q1139.32 212.29 1139.95 210.97Q1140.58 209.64 1141.73 208.89Q1142.87 208.14 1144.4 208.14Q1145.35 208.14 1146.24 208.46Q1147.13 208.77 1147.83 209.46Q1148.54 210.14 1148.95 211.22Q1149.36 212.3 1149.36 213.83L1149.36 214.55L1140.51 214.55L1140.51 213.01L1148.38 213.01L1147.54 213.57Q1147.54 212.46 1147.18 211.59Q1146.82 210.73 1146.12 210.24Q1145.43 209.75 1144.4 209.75Q1143.39 209.75 1142.66 210.25Q1141.92 210.74 1141.54 211.55Q1141.15 212.36 1141.15 213.32L1141.15 214.3Q1141.15 215.55 1141.58 216.43Q1142.01 217.3 1142.79 217.76Q1143.58 218.22 1144.62 218.22Q1145.3 218.22 1145.86 218.02Q1146.42 217.81 1146.81 217.42Q1147.21 217.02 1147.42 216.45L1149.18 216.85Q1148.93 217.73 1148.29 218.41Q1147.66 219.09 1146.72 219.47Q1145.78 219.84 1144.61 219.84ZM1157.66 219.6L1157.66 208.29L1159.48 208.29L1159.48 219.6L1157.66 219.6ZM1158.57 206.39QLine truncated
<path d="M1038.46 258.95L1038.85 257.37L1039.2 257.41Q1039.72 257.53 1040.14 257.46Q1040.56 257.38 1040.9 257.01Q1041.25 256.64 1041.51 255.88L1041.88 254.83L1037.55 243.49L1039.54 243.49L1041.95 250.17Q1042.33 251.18 1042.59 252.18Q1042.86 253.18 1043.14 254.12L1042.51 254.12Q1042.8 253.18 1043.07 252.18Q1043.34 251.18 1043.71 250.17L1046.12 243.49L1048.1 243.49L1043.09 256.56Q1042.76 257.43 1042.28 258Q1041.81 258.58 1041.18 258.86Q1040.54 259.14 1039.76 259.14Q1039.31 259.14 1038.97 259.08Q1038.62 259.01 1038.46 258.95ZM1054.78 255.04Q1053.24 255.04 1052.08 254.32Q1050.92 253.59 1050.27 252.27Q1049.62 250.95 1049.62 249.21Q1049.62 247.45 1050.27 246.13Q1050.92 244.8 1052.08 244.07Q1053.24 243.34 1054.78 243.34Q1056.33 243.34 1057.5 244.07Q1058.67 244.8 1059.31 246.13Q1059.96 247.45 1059.96 249.21Q1059.96 250.95 1059.31 252.27Q1058.67 253.59 1057.5 254.32Q1056.33 255.04 1054.78 255.04ZM1054.78 253.41Q1055.91 253.41 1056.66 252.84Q1057.4 252.26 1057.76 251.3Q1058.13 250.35 1058.13 249.21Q1058.13 248.06 1057.76 247.1Q1057.4 246.14 1056.66 245.55Q1055.91 244.97 1054.78 244.97Q1053.67 244.97 1052.93 245.55Q1052.2 246.14 1051.83 247.1Q1051.47 248.05 1051.47 249.21Q1051.47 250.35 1051.83 251.3Q1052.2 252.26 1052.93 252.84Q1053.66 253.41 1054.78 253.41ZM1066.41 254.95Q1065.27 254.95 1064.39 254.48Q1063.51 254 1063.02 253.04Q1062.53 252.09 1062.53 250.65L1062.53 243.49L1064.35 243.49L1064.35 250.5Q1064.35 251.83 1065.04 252.57Q1065.73 253.31 1066.92 253.31Q1067.74 253.31 1068.39 252.96Q1069.04 252.61 1069.41 251.92Q1069.79 251.24 1069.79 250.25L1069.79 243.49L1071.62 243.49L1071.62 254.8L1069.85 254.8L1069.85 252.07L1070.14 252.07Q1069.61 253.64 1068.64 254.29Q1067.67 254.95 1066.41 254.95ZM1074.74 254.8L1074.74 243.49L1076.49 243.49L1076.49 245.24L1076.6 245.24Q1076.91 244.38 1077.69 243.86Q1078.47 243.33 1079.5 243.33Q1079.71 243.33 1079.97 243.34Q1080.24 243.36 1080.39 243.37L1080.39 245.2Q1080.31 245.18 1079.99 245.14Q1079.67 245.09 1079.3 245.09Q1078.52 245.09 1077.89 245.43Q1077.27 245.76 1076.91 246.35Q1076.56 246.94 1076.56 247.74L1076.56 254.8L1074.74 254.8ZM1090 248.05L1090 254.8L1088.18 254.8L1088.18 239.59L1090 239.59L1090 246.24L1089.64 246.24Q1090.17 244.68 1091.13 244.01Q1092.09 243.34 1093.38 243.34Q1094.53 243.34 1095.4 243.81Q1096.27 244.29 1096.77 245.24Q1097.26 246.2 1097.26 247.65L1097.26 254.8L1095.44 254.8L1095.44 247.8Q1095.44 246.46 1094.75 245.72Q1094.07 244.98 1092.86 244.98Q1092.06 244.98 1091.4 245.33Q1090.75 245.69 1090.37 246.37Q1090 247.05 1090 248.05ZM1104.99 255.04Q1103.45 255.04 1102.29 254.32Q1101.13 253.59 1100.48 252.27Q1099.83 250.95 1099.83 249.21Q1099.83 247.45 1100.48 246.13Q1101.13 244.8 1102.29 244.07Q1103.45 243.34 1104.99 243.34Q1106.54 243.34 1107.71 244.07Q1108.88 244.8 1109.52 246.13Q1110.17 247.45 1110.17 249.21Q1110.17 250.95 1109.52 252.27Q1108.88 253.59 1107.71 254.32Q1106.54 255.04 1104.99 255.04ZM1104.99 253.41Q1106.12 253.41 1106.87 252.84Q1107.61 252.26 1107.97 251.3Q1108.33 250.35 1108.33 249.21Q1108.33 248.06 1107.97 247.1Q1107.61 246.14 1106.87 245.55Q1106.12 244.97 1104.99 244.97Q1103.88 244.97 1103.14 245.55Q1102.41 246.14 1102.04 247.1Q1101.68 248.05 1101.68 249.21Q1101.68 250.35 1102.04 251.3Q1102.41 252.26 1103.14 252.84Q1103.86 253.41 1104.99 253.41ZM1112.74 254.8L1112.74 243.49L1114.51 243.49L1114.52 245.99L1114.37 245.99Q1114.61 245.08 1115.12 244.49Q1115.62 243.89 1116.3 243.59Q1116.98 243.29 1117.71 243.29Q1118.96 243.29 1119.75 244.05Q1120.54 244.81 1120.76 246L1120.5 246Q1120.7 245.19 1121.24 244.57Q1121.77 243.96 1122.54 243.63Q1123.31 243.29 1124.21 243.29Q1125.2 243.29 1126.02 243.72Q1126.84 244.15 1127.32 245.01Q1127.81 245.88 1127.81 247.21L1127.81 254.8L1125.98 254.8L1125.98 247.26Q1125.98 246.01 1125.29 245.48Q1124.59 244.95 1123.67 244.95Q1122.91 244.95 1122.35 245.27Q1121.79 245.6 1121.48 246.16Q1121.18 246.72 1121.18 247.45L1121.18 254.8L1119.36 254.8L1119.36 247.07Q1119.36 246.12 1118.72 245.53Q1118.09 244.95 1117.12 244.95Q1116.46 244.95 1115.87 245.26Q1115.27 245.57 1114.92 246.19Q1114.56 246.81 1114.56 247.72L1114.56 254.8L1112.74 254.8ZM1135.65 255.04Q1134.01 255.04 1132.83 254.31Q1131.64 253.58 1131.01 252.27Q1130.37 250.96 1130.37 249.23Q1130.37 247.49 1131 246.17Q1131.62 244.84 1132.77 244.09Q1133.92 243.34 1135.45 243.34Q1136.4 243.34 1137.29 243.66Q1138.17 243.97 1138.88 244.66Q1139.58 245.34 1140 246.42Q1140.41 247.5 1140.41 249.03L1140.41 249.75L1131.55 249.75L1131.55 248.21L1139.43 248.21L1138.58 248.77Q1138.58 247.66 1138.23 246.79Q1137.87 245.93 1137.17 245.44Q1136.47 244.95 1135.45 244.95Q1134.44 244.95 1133.7 245.45Q1132.97 245.94 1132.58 246.75Q1132.19 247.56 1132.19 248.52L1132.19 249.5Q1132.19 250.75 1132.62 251.63Q1133.05 252.5 1133.84 252.96Q1134.62 253.42 1135.66 253.42Q1136.35 253.42 1136.9 253.22Q1137.46 253.01 1137.86 252.62Q1138.26 252.22 1138.46 251.65L1140.23 252.05Q1139.97 252.93 1139.34 253.61Q1138.71 254.29 1137.77 254.67Q1136.83 255.04 1135.65 255.04ZM1152.56 255.04Q1151.39 255.04 1150.47 254.7Q1149Line truncated
<path d="M1087.09 276.5L1087.09 274.79L1098.62 274.79L1098.62 276.5L1093.83 276.5L1093.83 290L1091.91 290L1091.91 276.5L1087.09 276.5ZM1102.92 283.25L1102.92 290L1101.1 290L1101.1 274.79L1102.92 274.79L1102.92 281.44L1102.56 281.44Q1103.09 279.88 1104.05 279.21Q1105.01 278.54 1106.31 278.54Q1107.45 278.54 1108.32 279.01Q1109.2 279.49 1109.69 280.44Q1110.19 281.4 1110.19 282.85L1110.19 290L1108.36 290L1108.36 283Q1108.36 281.66 1107.68 280.92Q1106.99 280.18 1105.79 280.18Q1104.98 280.18 1104.33 280.53Q1103.68 280.89 1103.3 281.57Q1102.92 282.25 1102.92 283.25ZM1116.51 290.24Q1115.43 290.24 1114.55 289.85Q1113.68 289.45 1113.16 288.67Q1112.65 287.9 1112.65 286.78Q1112.65 285.81 1113.03 285.2Q1113.41 284.59 1114.05 284.24Q1114.7 283.9 1115.48 283.72Q1116.27 283.55 1117.07 283.45Q1118.09 283.32 1118.72 283.24Q1119.35 283.17 1119.65 283Q1119.95 282.83 1119.95 282.41L1119.95 282.35Q1119.95 281.65 1119.69 281.16Q1119.42 280.67 1118.89 280.41Q1118.36 280.14 1117.57 280.14Q1116.76 280.14 1116.18 280.4Q1115.61 280.65 1115.24 281.04Q1114.88 281.43 1114.73 281.86L1112.96 281.37Q1113.33 280.34 1114.04 279.72Q1114.76 279.1 1115.67 278.82Q1116.59 278.54 1117.52 278.54Q1118.16 278.54 1118.89 278.7Q1119.63 278.86 1120.28 279.27Q1120.93 279.69 1121.35 280.47Q1121.77 281.24 1121.77 282.5L1121.77 290L1119.98 290L1119.98 288.45L1119.87 288.45Q1119.68 288.85 1119.26 289.27Q1118.84 289.68 1118.16 289.96Q1117.48 290.24 1116.51 290.24ZM1116.82 288.63Q1117.85 288.63 1118.54 288.24Q1119.24 287.85 1119.6 287.21Q1119.95 286.58 1119.95 285.89L1119.95 284.35Q1119.84 284.47 1119.48 284.57Q1119.13 284.67 1118.66 284.75Q1118.19 284.84 1117.73 284.89Q1117.28 284.95 1116.98 284.99Q1116.32 285.07 1115.75 285.27Q1115.18 285.47 1114.83 285.85Q1114.48 286.22 1114.48 286.88Q1114.48 287.45 1114.78 287.84Q1115.09 288.23 1115.61 288.43Q1116.14 288.63 1116.82 288.63ZM1129.41 278.69L1129.41 280.25L1123.53 280.25L1123.53 278.69L1129.41 278.69ZM1125.28 275.95L1127.1 275.95L1127.1 287.1Q1127.1 287.84 1127.4 288.17Q1127.7 288.51 1128.41 288.51Q1128.6 288.51 1128.87 288.47Q1129.14 288.44 1129.36 288.41L1129.68 289.95Q1129.39 290.03 1129.04 290.08Q1128.69 290.12 1128.34 290.12Q1126.88 290.12 1126.08 289.37Q1125.28 288.61 1125.28 287.24L1125.28 275.95ZM1132.41 280.48L1132.19 274.79L1134.13 274.79L1133.9 280.48L1132.41 280.48ZM1141.63 290.24Q1140.46 290.24 1139.54 289.9Q1138.62 289.55 1138.03 288.86Q1137.43 288.17 1137.26 287.15L1139 286.81Q1139.22 287.75 1139.89 288.2Q1140.56 288.65 1141.6 288.65Q1142.78 288.65 1143.48 288.15Q1144.18 287.64 1144.18 286.94Q1144.18 286.35 1143.76 285.96Q1143.34 285.57 1142.52 285.38L1140.65 284.94Q1139.1 284.57 1138.34 283.8Q1137.59 283.03 1137.59 281.84Q1137.59 280.87 1138.13 280.12Q1138.67 279.38 1139.61 278.96Q1140.56 278.54 1141.76 278.54Q1142.92 278.54 1143.76 278.9Q1144.59 279.26 1145.11 279.91Q1145.63 280.55 1145.84 281.41L1144.17 281.76Q1143.98 281.11 1143.42 280.6Q1142.86 280.09 1141.77 280.09Q1140.75 280.09 1140.09 280.56Q1139.42 281.03 1139.42 281.74Q1139.42 282.37 1139.88 282.75Q1140.34 283.13 1141.3 283.36L1143.03 283.76Q1144.58 284.13 1145.32 284.9Q1146.06 285.66 1146.06 286.84Q1146.06 287.84 1145.5 288.6Q1144.94 289.37 1143.94 289.81Q1142.94 290.24 1141.63 290.24ZM1154.39 290L1154.39 278.69L1156.2 278.69L1156.2 290L1154.39 290ZM1155.29 276.79Q1154.78 276.79 1154.41 276.44Q1154.04 276.08 1154.04 275.58Q1154.04 275.07 1154.41 274.72Q1154.78 274.38 1155.29 274.38Q1155.81 274.38 1156.19 274.72Q1156.56 275.07 1156.56 275.58Q1156.56 276.08 1156.19 276.44Q1155.81 276.79 1155.29 276.79ZM1163.85 278.69L1163.85 280.25L1157.96 280.25L1157.96 278.69L1163.85 278.69ZM1159.71 275.95L1161.53 275.95L1161.53 287.1Q1161.53 287.84 1161.83 288.17Q1162.13 288.51 1162.85 288.51Q1163.03 288.51 1163.3 288.47Q1163.57 288.44 1163.79 288.41L1164.11 289.95Q1163.82 290.03 1163.47 290.08Q1163.12 290.12 1162.77 290.12Q1161.31 290.12 1160.51 289.37Q1159.71 288.61 1159.71 287.24L1159.71 275.95ZM1167.43 290.14Q1166.87 290.14 1166.47 289.74Q1166.07 289.35 1166.07 288.78Q1166.07 288.21 1166.47 287.82Q1166.87 287.42 1167.43 287.42Q1168 287.42 1168.4 287.82Q1168.79 288.21 1168.79 288.78Q1168.79 289.35 1168.4 289.74Q1168 290.14 1167.43 290.14Z" fill="#a3a3ab"/>
</svg>

After

Width:  |  Height:  |  Size: 97 KiB

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 176.16 36" width="2113.89" height="432" role="img" aria-label="Overdrive">
<path d="M26.34 12.24A11 11 0 1 1 19.76 5.66" fill="none" stroke="#f2f2f3" stroke-width="4.5"/>
<path d="M28.4 3.6 17.6 18.1a2.9 2.9 0 1 1-3.7-3.7Z" fill="#f2f2f3"/>
<path d="M55.06 26.5Q52.34 26.5 50.22 25.17Q48.09 23.84 46.87 21.41Q45.66 18.98 45.66 15.66Q45.66 12.34 46.87 9.9Q48.09 7.47 50.22 6.14Q52.34 4.8 55.06 4.8Q57.78 4.8 59.9 6.14Q62.03 7.47 63.24 9.9Q64.45 12.34 64.45 15.66Q64.45 18.98 63.24 21.41Q62.03 23.84 59.9 25.17Q57.78 26.5 55.06 26.5ZM55.06 24.02Q56.94 24.02 58.48 23.06Q60.02 22.09 60.93 20.23Q61.84 18.37 61.84 15.66Q61.84 12.95 60.93 11.08Q60.02 9.21 58.48 8.24Q56.94 7.28 55.06 7.28Q53.16 7.28 51.62 8.24Q50.07 9.21 49.17 11.08Q48.26 12.95 48.26 15.66Q48.26 18.37 49.17 20.23Q50.07 22.09 51.62 23.06Q53.16 24.02 55.06 24.02ZM72.18 26.2L66.17 10.51L68.94 10.51L72.28 19.77Q72.8 21.17 73.17 22.56Q73.54 23.95 73.95 25.25L73.07 25.25Q73.47 23.95 73.84 22.56Q74.22 21.17 74.73 19.77L78.05 10.51L80.82 10.51L74.81 26.2L72.18 26.2ZM89.62 26.54Q87.34 26.54 85.7 25.52Q84.06 24.5 83.17 22.69Q82.29 20.88 82.29 18.47Q82.29 16.06 83.16 14.22Q84.03 12.38 85.62 11.34Q87.22 10.3 89.34 10.3Q90.66 10.3 91.89 10.74Q93.12 11.18 94.1 12.12Q95.07 13.07 95.65 14.57Q96.22 16.08 96.22 18.2L96.22 19.19L83.93 19.19L83.93 17.05L94.86 17.05L93.69 17.83Q93.69 16.29 93.19 15.09Q92.7 13.89 91.73 13.22Q90.76 12.54 89.34 12.54Q87.94 12.54 86.92 13.22Q85.9 13.91 85.36 15.03Q84.82 16.16 84.82 17.49L84.82 18.85Q84.82 20.58 85.42 21.8Q86.01 23.01 87.1 23.65Q88.19 24.29 89.64 24.29Q90.59 24.29 91.36 24.01Q92.13 23.72 92.68 23.17Q93.23 22.62 93.52 21.82L95.97 22.39Q95.61 23.61 94.73 24.55Q93.86 25.49 92.55 26.02Q91.25 26.54 89.62 26.54ZM99.09 26.2L99.09 10.51L101.53 10.51L101.53 12.93L101.67 12.93Q102.11 11.74 103.19 11.01Q104.28 10.28 105.69 10.28Q105.99 10.28 106.36 10.31Q106.73 10.33 106.94 10.34L106.94 12.88Q106.83 12.85 106.38 12.79Q105.93 12.73 105.42 12.73Q104.33 12.73 103.47 13.19Q102.61 13.65 102.11 14.48Q101.62 15.3 101.62 16.4L101.62 26.2L99.09 26.2ZM115 26.53Q113.03 26.53 111.53 25.53Q110.03 24.53 109.18 22.7Q108.34 20.88 108.34 18.4Q108.34 15.92 109.18 14.1Q110.03 12.28 111.53 11.29Q113.04 10.3 115.01 10.3Q116.45 10.3 117.36 10.77Q118.27 11.25 118.79 11.88Q119.31 12.51 119.61 13L119.78 13L119.78 5.1L122.3 5.1L122.3 26.2L119.87 26.2L119.87 23.78L119.63 23.78Q119.31 24.29 118.78 24.93Q118.24 25.58 117.33 26.05Q116.43 26.53 115 26.53ZM115.38 24.27Q116.81 24.27 117.81 23.52Q118.8 22.77 119.32 21.44Q119.84 20.11 119.84 18.37Q119.84 16.63 119.33 15.32Q118.82 14.02 117.82 13.29Q116.82 12.56 115.38 12.56Q113.91 12.56 112.91 13.32Q111.91 14.08 111.41 15.39Q110.9 16.7 110.9 18.37Q110.9 20.05 111.41 21.39Q111.92 22.73 112.93 23.5Q113.93 24.27 115.38 24.27ZM126 26.2L126 10.51L128.43 10.51L128.43 12.93L128.57 12.93Q129.01 11.74 130.1 11.01Q131.18 10.28 132.6 10.28Q132.89 10.28 133.26 10.31Q133.63 10.33 133.84 10.34L133.84 12.88Q133.73 12.85 133.28 12.79Q132.84 12.73 132.33 12.73Q131.24 12.73 130.37 13.19Q129.51 13.65 129.01 14.48Q128.52 15.3 128.52 16.4L128.52 26.2L126 26.2ZM136.01 26.2L136.01 10.51L138.53 10.51L138.53 26.2L136.01 26.2ZM137.27 7.88Q136.56 7.88 136.04 7.38Q135.53 6.89 135.53 6.19Q135.53 5.48 136.04 5Q136.56 4.52 137.27 4.52Q137.99 4.52 138.51 5Q139.02 5.48 139.02 6.19Q139.02 6.89 138.51 7.38Q137.99 7.88 137.27 7.88ZM146.77 26.2L140.76 10.51L143.53 10.51L146.87 19.77Q147.39 21.17 147.76 22.56Q148.13 23.95 148.54 25.25L147.66 25.25Q148.06 23.95 148.43 22.56Q148.81 21.17 149.32 19.77L152.65 10.51L155.41 10.51L149.4 26.2L146.77 26.2ZM164.21 26.54Q161.93 26.54 160.29 25.52Q158.65 24.5 157.76 22.69Q156.88 20.88 156.88 18.47Q156.88 16.06 157.75 14.22Q158.62 12.38 160.21 11.34Q161.81 10.3 163.93 10.3Q165.25 10.3 166.48 10.74Q167.71 11.18 168.69 12.12Q169.67 13.07 170.24 14.57Q170.81 16.08 170.81 18.2L170.81 19.19L158.52 19.19L158.52 17.05L169.45 17.05L168.28 17.83Q168.28 16.29 167.78 15.09Q167.29 13.89 166.32 13.22Q165.35 12.54 163.93 12.54Q162.53 12.54 161.51 13.22Q160.49 13.91 159.95 15.03Q159.41 16.16 159.41 17.49L159.41 18.85Q159.41 20.58 160.01 21.8Q160.6 23.01 161.69 23.65Q162.78 24.29 164.23 24.29Q165.18 24.29 165.95 24.01Q166.72 23.72 167.27 23.17Q167.82 22.62 168.11 21.82L170.56 22.39Q170.2 23.61 169.33 24.55Q168.45 25.49 167.14 26.02Q165.84 26.54 164.21 26.54Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.9" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 176.16 36" width="2113.89" height="432" role="img" aria-label="Overdrive">
<path d="M26.34 12.24A11 11 0 1 1 19.76 5.66" fill="none" stroke="#0b0b0d" stroke-width="4.5"/>
<path d="M28.4 3.6 17.6 18.1a2.9 2.9 0 1 1-3.7-3.7Z" fill="#0b0b0d"/>
<path d="M55.06 26.5Q52.34 26.5 50.22 25.17Q48.09 23.84 46.87 21.41Q45.66 18.98 45.66 15.66Q45.66 12.34 46.87 9.9Q48.09 7.47 50.22 6.14Q52.34 4.8 55.06 4.8Q57.78 4.8 59.9 6.14Q62.03 7.47 63.24 9.9Q64.45 12.34 64.45 15.66Q64.45 18.98 63.24 21.41Q62.03 23.84 59.9 25.17Q57.78 26.5 55.06 26.5ZM55.06 24.02Q56.94 24.02 58.48 23.06Q60.02 22.09 60.93 20.23Q61.84 18.37 61.84 15.66Q61.84 12.95 60.93 11.08Q60.02 9.21 58.48 8.24Q56.94 7.28 55.06 7.28Q53.16 7.28 51.62 8.24Q50.07 9.21 49.17 11.08Q48.26 12.95 48.26 15.66Q48.26 18.37 49.17 20.23Q50.07 22.09 51.62 23.06Q53.16 24.02 55.06 24.02ZM72.18 26.2L66.17 10.51L68.94 10.51L72.28 19.77Q72.8 21.17 73.17 22.56Q73.54 23.95 73.95 25.25L73.07 25.25Q73.47 23.95 73.84 22.56Q74.22 21.17 74.73 19.77L78.05 10.51L80.82 10.51L74.81 26.2L72.18 26.2ZM89.62 26.54Q87.34 26.54 85.7 25.52Q84.06 24.5 83.17 22.69Q82.29 20.88 82.29 18.47Q82.29 16.06 83.16 14.22Q84.03 12.38 85.62 11.34Q87.22 10.3 89.34 10.3Q90.66 10.3 91.89 10.74Q93.12 11.18 94.1 12.12Q95.07 13.07 95.65 14.57Q96.22 16.08 96.22 18.2L96.22 19.19L83.93 19.19L83.93 17.05L94.86 17.05L93.69 17.83Q93.69 16.29 93.19 15.09Q92.7 13.89 91.73 13.22Q90.76 12.54 89.34 12.54Q87.94 12.54 86.92 13.22Q85.9 13.91 85.36 15.03Q84.82 16.16 84.82 17.49L84.82 18.85Q84.82 20.58 85.42 21.8Q86.01 23.01 87.1 23.65Q88.19 24.29 89.64 24.29Q90.59 24.29 91.36 24.01Q92.13 23.72 92.68 23.17Q93.23 22.62 93.52 21.82L95.97 22.39Q95.61 23.61 94.73 24.55Q93.86 25.49 92.55 26.02Q91.25 26.54 89.62 26.54ZM99.09 26.2L99.09 10.51L101.53 10.51L101.53 12.93L101.67 12.93Q102.11 11.74 103.19 11.01Q104.28 10.28 105.69 10.28Q105.99 10.28 106.36 10.31Q106.73 10.33 106.94 10.34L106.94 12.88Q106.83 12.85 106.38 12.79Q105.93 12.73 105.42 12.73Q104.33 12.73 103.47 13.19Q102.61 13.65 102.11 14.48Q101.62 15.3 101.62 16.4L101.62 26.2L99.09 26.2ZM115 26.53Q113.03 26.53 111.53 25.53Q110.03 24.53 109.18 22.7Q108.34 20.88 108.34 18.4Q108.34 15.92 109.18 14.1Q110.03 12.28 111.53 11.29Q113.04 10.3 115.01 10.3Q116.45 10.3 117.36 10.77Q118.27 11.25 118.79 11.88Q119.31 12.51 119.61 13L119.78 13L119.78 5.1L122.3 5.1L122.3 26.2L119.87 26.2L119.87 23.78L119.63 23.78Q119.31 24.29 118.78 24.93Q118.24 25.58 117.33 26.05Q116.43 26.53 115 26.53ZM115.38 24.27Q116.81 24.27 117.81 23.52Q118.8 22.77 119.32 21.44Q119.84 20.11 119.84 18.37Q119.84 16.63 119.33 15.32Q118.82 14.02 117.82 13.29Q116.82 12.56 115.38 12.56Q113.91 12.56 112.91 13.32Q111.91 14.08 111.41 15.39Q110.9 16.7 110.9 18.37Q110.9 20.05 111.41 21.39Q111.92 22.73 112.93 23.5Q113.93 24.27 115.38 24.27ZM126 26.2L126 10.51L128.43 10.51L128.43 12.93L128.57 12.93Q129.01 11.74 130.1 11.01Q131.18 10.28 132.6 10.28Q132.89 10.28 133.26 10.31Q133.63 10.33 133.84 10.34L133.84 12.88Q133.73 12.85 133.28 12.79Q132.84 12.73 132.33 12.73Q131.24 12.73 130.37 13.19Q129.51 13.65 129.01 14.48Q128.52 15.3 128.52 16.4L128.52 26.2L126 26.2ZM136.01 26.2L136.01 10.51L138.53 10.51L138.53 26.2L136.01 26.2ZM137.27 7.88Q136.56 7.88 136.04 7.38Q135.53 6.89 135.53 6.19Q135.53 5.48 136.04 5Q136.56 4.52 137.27 4.52Q137.99 4.52 138.51 5Q139.02 5.48 139.02 6.19Q139.02 6.89 138.51 7.38Q137.99 7.88 137.27 7.88ZM146.77 26.2L140.76 10.51L143.53 10.51L146.87 19.77Q147.39 21.17 147.76 22.56Q148.13 23.95 148.54 25.25L147.66 25.25Q148.06 23.95 148.43 22.56Q148.81 21.17 149.32 19.77L152.65 10.51L155.41 10.51L149.4 26.2L146.77 26.2ZM164.21 26.54Q161.93 26.54 160.29 25.52Q158.65 24.5 157.76 22.69Q156.88 20.88 156.88 18.47Q156.88 16.06 157.75 14.22Q158.62 12.38 160.21 11.34Q161.81 10.3 163.93 10.3Q165.25 10.3 166.48 10.74Q167.71 11.18 168.69 12.12Q169.67 13.07 170.24 14.57Q170.81 16.08 170.81 18.2L170.81 19.19L158.52 19.19L158.52 17.05L169.45 17.05L168.28 17.83Q168.28 16.29 167.78 15.09Q167.29 13.89 166.32 13.22Q165.35 12.54 163.93 12.54Q162.53 12.54 161.51 13.22Q160.49 13.91 159.95 15.03Q159.41 16.16 159.41 17.49L159.41 18.85Q159.41 20.58 160.01 21.8Q160.6 23.01 161.69 23.65Q162.78 24.29 164.23 24.29Q165.18 24.29 165.95 24.01Q166.72 23.72 167.27 23.17Q167.82 22.62 168.11 21.82L170.56 22.39Q170.2 23.61 169.33 24.55Q168.45 25.49 167.14 26.02Q165.84 26.54 164.21 26.54Z" fill="#0b0b0d" stroke="#0b0b0d" stroke-width="0.9" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 414 96" width="414" height="96" role="img" aria-label="Поддержать Overdrive через GitHub Sponsors">
<rect x="1" y="1" width="412" height="94" rx="22" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="54.0" cy="48.0" r="26.0" fill="#2a1420" stroke="#5a2343" stroke-width="1.5"/>
<g transform="translate(41 34.5) scale(1.08)"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" fill="#db61a2" stroke="#db61a2" stroke-width="2" stroke-linejoin="round"/></g>
<path d="M116.95 27.08L116.95 46L114.56 46L114.56 29.2L104.61 29.2L104.61 46L102.22 46L102.22 27.08L116.95 27.08ZM126.58 46.3Q124.66 46.3 123.22 45.4Q121.78 44.49 120.97 42.85Q120.17 41.21 120.17 39.04Q120.17 36.86 120.97 35.21Q121.78 33.56 123.22 32.65Q124.66 31.74 126.58 31.74Q128.51 31.74 129.96 32.65Q131.41 33.56 132.22 35.21Q133.03 36.86 133.03 39.04Q133.03 41.21 132.22 42.85Q131.41 44.49 129.96 45.4Q128.51 46.3 126.58 46.3ZM126.58 44.27Q127.99 44.27 128.91 43.56Q129.84 42.84 130.29 41.65Q130.74 40.46 130.74 39.04Q130.74 37.62 130.29 36.42Q129.84 35.22 128.91 34.5Q127.99 33.77 126.58 33.77Q125.19 33.77 124.28 34.5Q123.37 35.22 122.92 36.42Q122.46 37.61 122.46 39.04Q122.46 40.46 122.92 41.65Q123.37 42.84 124.27 43.56Q125.18 44.27 126.58 44.27ZM134.49 50.08L134.49 43.91L135.66 43.91Q136.09 43.46 136.41 42.94Q136.73 42.42 136.96 41.69Q137.19 40.96 137.35 39.93Q137.52 38.89 137.64 37.44L138.12 31.93L147.25 31.93L147.25 43.91L149.41 43.91L149.41 50.08L147.15 50.08L147.15 46L136.75 46L136.75 50.08L134.49 50.08ZM138.24 43.91L144.99 43.91L144.99 34.03L140.17 34.03L139.86 37.44Q139.66 39.68 139.31 41.3Q138.96 42.93 138.24 43.91ZM150.09 50.08L150.09 43.91L151.26 43.91Q151.69 43.46 152.01 42.94Q152.32 42.42 152.55 41.69Q152.78 40.96 152.95 39.93Q153.11 38.89 153.24 37.44L153.72 31.93L162.85 31.93L162.85 43.91L165.01 43.91L165.01 50.08L162.75 50.08L162.75 46L152.35 46L152.35 50.08L150.09 50.08ZM153.84 43.91L160.59 43.91L160.59 34.03L155.76 34.03L155.46 37.44Q155.26 39.68 154.91 41.3Q154.56 42.93 153.84 43.91ZM173.05 46.3Q171.01 46.3 169.53 45.39Q168.06 44.48 167.27 42.85Q166.47 41.23 166.47 39.07Q166.47 36.91 167.25 35.26Q168.04 33.61 169.46 32.68Q170.89 31.74 172.8 31.74Q173.98 31.74 175.08 32.14Q176.19 32.53 177.06 33.38Q177.94 34.23 178.45 35.58Q178.97 36.92 178.97 38.83L178.97 39.72L167.95 39.72L167.95 37.8L177.75 37.8L176.69 38.5Q176.69 37.11 176.25 36.04Q175.8 34.97 174.94 34.36Q174.07 33.75 172.8 33.75Q171.54 33.75 170.63 34.36Q169.71 34.98 169.23 35.99Q168.75 37 168.75 38.19L168.75 39.41Q168.75 40.96 169.28 42.05Q169.81 43.14 170.79 43.71Q171.77 44.29 173.06 44.29Q173.91 44.29 174.61 44.03Q175.3 43.78 175.79 43.28Q176.29 42.79 176.54 42.08L178.74 42.58Q178.42 43.68 177.63 44.52Q176.85 45.37 175.68 45.83Q174.51 46.3 173.05 46.3ZM181.85 51.31L181.85 31.93L184.04 31.93L184.04 34.17L184.25 34.17Q184.53 33.72 185 33.16Q185.47 32.59 186.28 32.17Q187.1 31.74 188.39 31.74Q190.17 31.74 191.51 32.63Q192.85 33.52 193.61 35.15Q194.37 36.78 194.37 39Q194.37 41.23 193.62 42.86Q192.86 44.5 191.52 45.4Q190.17 46.29 188.41 46.29Q187.14 46.29 186.32 45.87Q185.5 45.44 185.02 44.86Q184.55 44.29 184.27 43.83L184.11 43.83L184.11 51.31L181.85 51.31ZM188.06 44.27Q189.37 44.27 190.26 43.58Q191.16 42.89 191.62 41.69Q192.07 40.49 192.07 38.98Q192.07 37.48 191.62 36.31Q191.16 35.13 190.27 34.45Q189.38 33.77 188.06 33.77Q186.77 33.77 185.87 34.43Q184.98 35.08 184.52 36.25Q184.06 37.42 184.06 38.98Q184.06 40.54 184.53 41.73Q184.99 42.93 185.89 43.6Q186.78 44.27 188.06 44.27ZM196.12 46L201.83 38.85L196.19 31.93L198.87 31.93L203.56 37.91L204.7 37.91L204.7 31.93L206.96 31.93L206.96 37.91L208.08 37.91L212.74 31.93L215.44 31.93L209.82 38.85L215.5 46L212.77 46L208.05 40.01L206.96 40.01L206.96 46L204.7 46L204.7 40.01L203.61 40.01L198.86 46L196.12 46ZM221.92 46.3Q220.58 46.3 219.48 45.81Q218.39 45.31 217.75 44.35Q217.11 43.38 217.11 41.99Q217.11 40.78 217.59 40.03Q218.06 39.27 218.86 38.84Q219.66 38.41 220.64 38.19Q221.62 37.98 222.61 37.85Q223.88 37.68 224.66 37.6Q225.45 37.51 225.83 37.29Q226.2 37.08 226.2 36.55L226.2 36.48Q226.2 35.62 225.87 35.01Q225.54 34.4 224.88 34.07Q224.22 33.74 223.23 33.74Q222.23 33.74 221.51 34.05Q220.79 34.37 220.34 34.85Q219.89 35.34 219.7 35.87L217.5 35.26Q217.96 33.98 218.85 33.21Q219.74 32.44 220.87 32.09Q222.01 31.74 223.18 31.74Q223.97 31.74 224.88 31.94Q225.79 32.14 226.61 32.66Q227.42 33.18 227.94 34.14Q228.46 35.11 228.46 36.67L228.46 46L226.24 46L226.24 44.07L226.1 44.07Q225.86 44.57 225.34 45.09Q224.82 45.61 223.97 45.96Q223.13 46.3 221.92 46.3ZM222.3 44.3Q223.58 44.3 224.45 43.81Q225.31 43.32 225.76 42.53Q226.2 41.75 226.2 40.88L226.2 38.97Q226.06 39.12 225.62 39.25Q225.17 39.37 224.59 39.47Q224 39.58 223.44 39.65Q222.87 39.72 222.51 39.77Q221.68 39.87 220.97 40.12Q220.26 40.36 219.83 40.83Q219.39 41.3 219.39 42.12Q219.39 42.83 219.77 43.31Q220.14 43.8 220.8 44.05Q221.45 44.3 222.3 44.3ZM235.05 46L235.05 33.96L230.38 33.96L230.38 31.93L241.97 31.93L241.97 33.96L237.33 33.96L237.33 46L235.05 46ZM245.81 36.95L249.9 36.95Q251.55 36.95 252.71 37.53Q253.86 38.1 254.47 39.11Q255.07 40.12 255.07 41.43Q255.07 42.71 254.46 43.75Q253.85 44.78 252.7 45.39Q251.55 46 249.9 46L243.9 46L243.9 31.93L246.16 31.93L246.16 43.91L249.89 43.91Q251.16 43.91 251.97 43.24Q252.78 42.57 252.78 41.51Q252.78 40.41 251.97 39.73Q251.16 39.04 249.89 39.04L245.81 39.04L245.81 36.95ZM272.89 46.27Q270.46 46.27 268.55 45.07Q266.65 43.88 265.56 41.7Q264.46 39.53 264.46 36.55Q264.46 33.57 265.56 31.39Q266.65 29.2 268.55 28.01Q270.46 26.82Line truncated
<path d="M105.06 68.97Q103.37 68.97 102.36 68.07Q101.34 67.17 101.34 65.36L101.34 62.26L102.91 62.26L102.91 65.36Q102.91 66.47 103.52 66.99Q104.14 67.52 105.06 67.52Q106.01 67.52 106.79 67.34Q107.56 67.17 108.33 66.89L108.33 68.34Q107.82 68.53 107.32 68.67Q106.81 68.81 106.26 68.89Q105.71 68.97 105.06 68.97ZM107.38 72L107.38 62.26L108.95 62.26L108.95 72L107.38 72ZM115.71 72.21Q114.3 72.21 113.28 71.58Q112.26 70.95 111.71 69.82Q111.16 68.7 111.16 67.2Q111.16 65.71 111.7 64.56Q112.24 63.42 113.23 62.78Q114.22 62.13 115.54 62.13Q116.36 62.13 117.12 62.4Q117.89 62.67 118.49 63.26Q119.1 63.85 119.45 64.78Q119.81 65.72 119.81 67.03L119.81 67.65L112.18 67.65L112.18 66.32L118.97 66.32L118.24 66.81Q118.24 65.85 117.93 65.1Q117.62 64.36 117.02 63.94Q116.42 63.52 115.54 63.52Q114.67 63.52 114.04 63.94Q113.4 64.37 113.07 65.07Q112.74 65.77 112.74 66.59L112.74 67.44Q112.74 68.51 113.1 69.27Q113.47 70.02 114.15 70.42Q114.83 70.81 115.72 70.81Q116.31 70.81 116.79 70.64Q117.27 70.46 117.61 70.12Q117.96 69.78 118.13 69.28L119.65 69.64Q119.43 70.39 118.89 70.98Q118.34 71.56 117.53 71.89Q116.73 72.21 115.71 72.21ZM121.99 75.67L121.99 62.26L123.5 62.26L123.5 63.81L123.65 63.81Q123.84 63.5 124.17 63.11Q124.5 62.72 125.06 62.42Q125.62 62.13 126.52 62.13Q127.75 62.13 128.67 62.75Q129.6 63.36 130.13 64.49Q130.66 65.62 130.66 67.16Q130.66 68.7 130.13 69.83Q129.61 70.96 128.68 71.58Q127.75 72.2 126.53 72.2Q125.65 72.2 125.08 71.91Q124.51 71.61 124.18 71.21Q123.85 70.81 123.66 70.5L123.55 70.5L123.55 75.67L121.99 75.67ZM126.29 70.8Q127.19 70.8 127.81 70.33Q128.43 69.85 128.75 69.02Q129.07 68.19 129.07 67.14Q129.07 66.1 128.75 65.29Q128.43 64.48 127.82 64.01Q127.2 63.54 126.29 63.54Q125.39 63.54 124.77 63.99Q124.15 64.44 123.84 65.25Q123.52 66.06 123.52 67.14Q123.52 68.22 123.84 69.05Q124.16 69.87 124.78 70.34Q125.4 70.8 126.29 70.8ZM136.95 72.21Q135.53 72.21 134.51 71.58Q133.5 70.95 132.95 69.82Q132.4 68.7 132.4 67.2Q132.4 65.71 132.94 64.56Q133.48 63.42 134.47 62.78Q135.46 62.13 136.77 62.13Q137.59 62.13 138.36 62.4Q139.12 62.67 139.73 63.26Q140.33 63.85 140.69 64.78Q141.04 65.72 141.04 67.03L141.04 67.65L133.42 67.65L133.42 66.32L140.2 66.32L139.47 66.81Q139.47 65.85 139.16 65.1Q138.86 64.36 138.25 63.94Q137.65 63.52 136.77 63.52Q135.9 63.52 135.27 63.94Q134.64 64.37 134.3 65.07Q133.97 65.77 133.97 66.59L133.97 67.44Q133.97 68.51 134.34 69.27Q134.71 70.02 135.38 70.42Q136.06 70.81 136.96 70.81Q137.55 70.81 138.03 70.64Q138.5 70.46 138.85 70.12Q139.19 69.78 139.37 69.28L140.89 69.64Q140.67 70.39 140.12 70.98Q139.58 71.56 138.77 71.89Q137.96 72.21 136.95 72.21ZM146.27 72.12Q145.28 72.12 144.47 71.8Q143.66 71.47 143.18 70.89Q142.7 70.3 142.67 69.54L144.27 69.54Q144.31 70.08 144.89 70.43Q145.47 70.79 146.27 70.79Q147.16 70.79 147.72 70.34Q148.28 69.9 148.28 69.22Q148.28 68.5 147.68 68.06Q147.08 67.61 146.06 67.61L145.4 67.61L145.4 66.44L146.06 66.44Q146.9 66.44 147.45 66.01Q148.01 65.59 148.01 64.91Q148.01 64.25 147.54 63.83Q147.07 63.42 146.31 63.42Q145.55 63.42 144.99 63.8Q144.42 64.17 144.4 64.79L142.89 64.79Q142.91 64 143.37 63.4Q143.84 62.81 144.61 62.48Q145.39 62.15 146.33 62.15Q147.3 62.15 148.02 62.51Q148.74 62.88 149.14 63.48Q149.54 64.09 149.54 64.83Q149.54 65.69 149 66.24Q148.47 66.79 147.67 66.95L147.67 67.01Q148.77 67.17 149.34 67.79Q149.91 68.41 149.91 69.32Q149.91 70.13 149.45 70.76Q148.98 71.39 148.16 71.76Q147.33 72.12 146.27 72.12ZM162.56 72.18Q160.81 72.18 159.49 71.36Q158.17 70.53 157.42 69.02Q156.68 67.51 156.68 65.46Q156.68 63.4 157.42 61.88Q158.17 60.37 159.48 59.55Q160.79 58.72 162.47 58.72Q163.51 58.72 164.42 59.03Q165.32 59.34 166.03 59.92Q166.74 60.5 167.22 61.29Q167.69 62.08 167.86 63.04L166.16 63.04Q165.97 62.39 165.63 61.88Q165.29 61.37 164.82 61.01Q164.35 60.64 163.76 60.45Q163.18 60.26 162.48 60.26Q161.3 60.26 160.35 60.86Q159.41 61.47 158.85 62.63Q158.3 63.79 158.3 65.46Q158.3 67.11 158.86 68.27Q159.41 69.42 160.38 70.04Q161.34 70.65 162.56 70.65Q163.67 70.65 164.52 70.17Q165.37 69.7 165.85 68.83Q166.33 67.97 166.33 66.79L166.84 66.88L162.94 66.88L162.94 65.43L167.96 65.43L167.96 66.85Q167.96 68.46 167.25 69.66Q166.55 70.86 165.34 71.52Q164.12 72.18 162.56 72.18ZM170.38 72L170.38 62.26L171.95 62.26L171.95 72L170.38 72ZM171.17 60.63Q170.73 60.63 170.4 60.32Q170.08 60.01 170.08 59.58Q170.08 59.14 170.4 58.84Q170.73 58.54 171.17 58.54Q171.61 58.54 171.93 58.84Q172.25 59.14 172.25 59.58Q172.25 60.01 171.93 60.32Q171.61 60.63 171.17 60.63ZM178.53 62.26L178.53 63.61L173.46 63.61L173.46 62.26L178.53 62.26ZM174.97 59.9L176.54 59.9L176.54 69.5Q176.54 70.14 176.79 70.43Q177.05 70.72 177.67 70.72Q177.83 70.72 178.06 70.69Q178.29 70.66 178.49 70.63L178.76 71.96Q178.51 72.03 178.21 72.07Q177.91 72.11 177.61 72.11Q176.35 72.11 175.66 71.46Q174.97 70.8 174.97 69.63L174.97 59.9ZM180.67 72L180.67 58.9L182.32 58.9L182.32 64.57L189.21 64.57L189.21 58.9L190.86 58.9L190.86 72L189.21 72L189.21 66.03L182.32 66.03L182.32 72L180.67 72ZM197.08 72.13Q196.1 72.13 195.34 71.72Q194.59 71.31 194.17 70.49Q193.74 69.66 193.74 68.42L19Line truncated
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 96" width="358" height="96" role="img" aria-label="Sponsor Overdrive on GitHub Sponsors">
<rect x="1" y="1" width="356" height="94" rx="22" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
<circle cx="54.0" cy="48.0" r="26.0" fill="#2a1420" stroke="#5a2343" stroke-width="1.5"/>
<g transform="translate(41 34.5) scale(1.08)"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" fill="#db61a2" stroke="#db61a2" stroke-width="2" stroke-linejoin="round"/></g>
<path d="M108.3 46.33Q106.23 46.33 104.72 45.64Q103.2 44.96 102.34 43.73Q101.49 42.51 101.4 40.86L103.85 40.86Q103.92 41.98 104.54 42.71Q105.15 43.45 106.14 43.82Q107.13 44.18 108.3 44.18Q109.6 44.18 110.62 43.77Q111.64 43.35 112.24 42.58Q112.83 41.82 112.83 40.82Q112.83 39.93 112.35 39.36Q111.86 38.79 111.01 38.41Q110.17 38.03 109.09 37.74L106.83 37.11Q104.44 36.45 103.17 35.25Q101.9 34.04 101.9 32.15Q101.9 30.55 102.75 29.35Q103.61 28.15 105.08 27.48Q106.55 26.82 108.4 26.82Q110.28 26.82 111.72 27.49Q113.17 28.16 113.99 29.33Q114.82 30.5 114.87 32L112.53 32Q112.37 30.55 111.21 29.75Q110.05 28.95 108.33 28.95Q107.11 28.95 106.18 29.35Q105.26 29.75 104.74 30.45Q104.23 31.15 104.23 32.04Q104.23 32.99 104.81 33.58Q105.38 34.18 106.23 34.53Q107.07 34.88 107.87 35.09L109.8 35.62Q110.68 35.84 111.61 36.22Q112.54 36.59 113.36 37.19Q114.17 37.79 114.67 38.68Q115.17 39.58 115.17 40.83Q115.17 42.41 114.36 43.65Q113.55 44.9 112 45.61Q110.46 46.33 108.3 46.33ZM118.25 51.31L118.25 31.93L120.43 31.93L120.43 34.17L120.65 34.17Q120.93 33.72 121.4 33.16Q121.87 32.59 122.68 32.17Q123.49 31.74 124.79 31.74Q126.57 31.74 127.9 32.63Q129.24 33.52 130.01 35.15Q130.77 36.78 130.77 39Q130.77 41.23 130.01 42.86Q129.26 44.5 127.91 45.4Q126.57 46.29 124.8 46.29Q123.53 46.29 122.71 45.87Q121.89 45.44 121.42 44.86Q120.94 44.29 120.66 43.83L120.51 43.83L120.51 51.31L118.25 51.31ZM124.46 44.27Q125.77 44.27 126.66 43.58Q127.56 42.89 128.01 41.69Q128.47 40.49 128.47 38.98Q128.47 37.48 128.01 36.31Q127.56 35.13 126.67 34.45Q125.78 33.77 124.46 33.77Q123.16 33.77 122.27 34.43Q121.37 35.08 120.92 36.25Q120.46 37.42 120.46 38.98Q120.46 40.54 120.92 41.73Q121.39 42.93 122.28 43.6Q123.18 44.27 124.46 44.27ZM139.43 46.3Q137.52 46.3 136.07 45.4Q134.63 44.49 133.83 42.85Q133.02 41.21 133.02 39.04Q133.02 36.86 133.83 35.21Q134.63 33.56 136.07 32.65Q137.52 31.74 139.43 31.74Q141.36 31.74 142.82 32.65Q144.27 33.56 145.08 35.21Q145.88 36.86 145.88 39.04Q145.88 41.21 145.08 42.85Q144.27 44.49 142.82 45.4Q141.36 46.3 139.43 46.3ZM139.43 44.27Q140.84 44.27 141.77 43.56Q142.69 42.84 143.15 41.65Q143.6 40.46 143.6 39.04Q143.6 37.62 143.15 36.42Q142.69 35.22 141.77 34.5Q140.84 33.77 139.43 33.77Q138.05 33.77 137.13 34.5Q136.22 35.22 135.77 36.42Q135.32 37.61 135.32 39.04Q135.32 40.46 135.77 41.65Q136.22 42.84 137.13 43.56Q138.04 44.27 139.43 44.27ZM151.08 37.61L151.08 46L148.82 46L148.82 31.93L150.99 31.93L151 35.35L150.64 35.35Q151.3 33.41 152.49 32.57Q153.68 31.74 155.3 31.74Q156.72 31.74 157.8 32.33Q158.89 32.92 159.5 34.11Q160.11 35.3 160.11 37.1L160.11 46L157.85 46L157.85 37.29Q157.85 35.63 157 34.71Q156.15 33.79 154.65 33.79Q153.64 33.79 152.83 34.23Q152.02 34.66 151.55 35.51Q151.08 36.36 151.08 37.61ZM168.53 46.3Q167.07 46.3 165.93 45.87Q164.79 45.44 164.05 44.58Q163.31 43.73 163.1 42.46L165.25 42.03Q165.53 43.21 166.37 43.77Q167.2 44.32 168.49 44.32Q169.96 44.32 170.83 43.7Q171.7 43.07 171.7 42.19Q171.7 41.46 171.18 40.97Q170.66 40.49 169.63 40.25L167.31 39.7Q165.38 39.25 164.44 38.29Q163.5 37.33 163.5 35.84Q163.5 34.64 164.18 33.71Q164.85 32.78 166.02 32.26Q167.2 31.74 168.7 31.74Q170.14 31.74 171.18 32.19Q172.21 32.64 172.86 33.44Q173.51 34.24 173.77 35.31L171.69 35.75Q171.45 34.94 170.76 34.31Q170.07 33.67 168.71 33.67Q167.44 33.67 166.61 34.26Q165.79 34.84 165.79 35.73Q165.79 36.5 166.36 36.98Q166.93 37.46 168.12 37.74L170.27 38.24Q172.2 38.7 173.12 39.65Q174.04 40.6 174.04 42.06Q174.04 43.31 173.34 44.26Q172.64 45.21 171.4 45.76Q170.16 46.3 168.53 46.3ZM182.69 46.3Q180.78 46.3 179.33 45.4Q177.89 44.49 177.09 42.85Q176.28 41.21 176.28 39.04Q176.28 36.86 177.09 35.21Q177.89 33.56 179.33 32.65Q180.78 31.74 182.69 31.74Q184.62 31.74 186.08 32.65Q187.53 33.56 188.34 35.21Q189.14 36.86 189.14 39.04Q189.14 41.21 188.34 42.85Q187.53 44.49 186.08 45.4Q184.62 46.3 182.69 46.3ZM182.69 44.27Q184.1 44.27 185.03 43.56Q185.95 42.84 186.41 41.65Q186.86 40.46 186.86 39.04Q186.86 37.62 186.41 36.42Q185.95 35.22 185.03 34.5Q184.1 33.77 182.69 33.77Q181.31 33.77 180.39 34.5Q179.48 35.22 179.03 36.42Q178.58 37.61 178.58 39.04Q178.58 40.46 179.03 41.65Q179.48 42.84 180.39 43.56Q181.3 44.27 182.69 44.27ZM192.08 46L192.08 31.93L194.26 31.93L194.26 34.1L194.39 34.1Q194.78 33.04 195.76 32.38Q196.73 31.73 198 31.73Q198.26 31.73 198.59 31.75Q198.92 31.77 199.11 31.78L199.11 34.05Q199.01 34.03 198.61 33.98Q198.21 33.93 197.76 33.93Q196.78 33.93 196 34.34Q195.23 34.75 194.78 35.49Q194.34 36.22 194.34 37.21L194.34 46L192.08 46ZM216.25 46.27Q213.82 46.27 211.91 45.07Q210.01 43.88 208.92 41.7Q207.82 39.53 207.82 36.55Q207.82 33.57 208.92 31.39Q210.01 29.2 211.91 28.01Q213.82 26.82 216.25 26.82Q218.69 26.82 220.59 28.01Q222.5 29.2 223.58 31.39Q224.67 33.57 224.67 36.55Q224.67 39.53 223.58 41.7Q222.5 43.88 220.59 45.07Q218.69 46.27 216.25 46.27ZM216.25 44.04Q217.94 44.04 219.32 43.18Q220.7 42.32 221.52 40.65Q222.33 38.98 222.33 36.55Q222.33 34.12 221.52 32.44Q220.7 30.77 219.32 29.9Q217.94 29.04 216.25 29.04Q214.55 29.04 213.17 29.9Q211.78 30.77 210.97 32.44Q210.16 34.12 210.16 Line truncated
<path d="M105.31 72.21Q103.98 72.21 102.98 71.58Q101.99 70.95 101.43 69.82Q100.87 68.69 100.87 67.18Q100.87 65.67 101.43 64.53Q101.99 63.39 102.98 62.76Q103.98 62.13 105.31 62.13Q106.64 62.13 107.65 62.76Q108.66 63.39 109.22 64.53Q109.77 65.67 109.77 67.18Q109.77 68.69 109.22 69.82Q108.66 70.95 107.65 71.58Q106.64 72.21 105.31 72.21ZM105.31 70.8Q106.28 70.8 106.93 70.31Q107.57 69.81 107.88 68.99Q108.19 68.17 108.19 67.18Q108.19 66.2 107.88 65.37Q107.57 64.54 106.93 64.04Q106.28 63.54 105.31 63.54Q104.35 63.54 103.72 64.04Q103.08 64.54 102.77 65.36Q102.46 66.19 102.46 67.18Q102.46 68.17 102.77 68.99Q103.08 69.81 103.71 70.31Q104.34 70.8 105.31 70.8ZM113.55 66.19L113.55 72L111.99 72L111.99 62.26L113.49 62.26L113.5 64.63L113.25 64.63Q113.7 63.28 114.53 62.71Q115.35 62.13 116.47 62.13Q117.46 62.13 118.21 62.54Q118.96 62.95 119.38 63.77Q119.8 64.59 119.8 65.84L119.8 72L118.24 72L118.24 65.97Q118.24 64.82 117.65 64.18Q117.06 63.54 116.02 63.54Q115.33 63.54 114.77 63.85Q114.2 64.15 113.88 64.74Q113.55 65.33 113.55 66.19ZM133.02 72.18Q131.27 72.18 129.95 71.36Q128.63 70.53 127.88 69.02Q127.14 67.51 127.14 65.46Q127.14 63.4 127.88 61.88Q128.63 60.37 129.94 59.55Q131.25 58.72 132.93 58.72Q133.97 58.72 134.88 59.03Q135.78 59.34 136.49 59.92Q137.2 60.5 137.68 61.29Q138.15 62.08 138.32 63.04L136.62 63.04Q136.43 62.39 136.09 61.88Q135.75 61.37 135.28 61.01Q134.81 60.64 134.22 60.45Q133.64 60.26 132.94 60.26Q131.76 60.26 130.81 60.86Q129.87 61.47 129.31 62.63Q128.76 63.79 128.76 65.46Q128.76 67.11 129.32 68.27Q129.87 69.42 130.84 70.04Q131.8 70.65 133.02 70.65Q134.13 70.65 134.98 70.17Q135.83 69.7 136.31 68.83Q136.79 67.97 136.79 66.79L137.3 66.88L133.4 66.88L133.4 65.43L138.42 65.43L138.42 66.85Q138.42 68.46 137.71 69.66Q137.01 70.86 135.8 71.52Q134.58 72.18 133.02 72.18ZM140.84 72L140.84 62.26L142.41 62.26L142.41 72L140.84 72ZM141.62 60.63Q141.19 60.63 140.86 60.32Q140.54 60.01 140.54 59.58Q140.54 59.14 140.86 58.84Q141.19 58.54 141.62 58.54Q142.07 58.54 142.39 58.84Q142.71 59.14 142.71 59.58Q142.71 60.01 142.39 60.32Q142.07 60.63 141.62 60.63ZM148.99 62.26L148.99 63.61L143.92 63.61L143.92 62.26L148.99 62.26ZM145.43 59.9L147 59.9L147 69.5Q147 70.14 147.25 70.43Q147.51 70.72 148.13 70.72Q148.29 70.72 148.52 70.69Q148.75 70.66 148.95 70.63L149.22 71.96Q148.97 72.03 148.67 72.07Q148.37 72.11 148.07 72.11Q146.81 72.11 146.12 71.46Q145.43 70.8 145.43 69.63L145.43 59.9ZM151.13 72L151.13 58.9L152.78 58.9L152.78 64.57L159.67 64.57L159.67 58.9L161.32 58.9L161.32 72L159.67 72L159.67 66.03L152.78 66.03L152.78 72L151.13 72ZM167.54 72.13Q166.56 72.13 165.8 71.72Q165.05 71.31 164.63 70.49Q164.2 69.66 164.2 68.42L164.2 62.26L165.77 62.26L165.77 68.3Q165.77 69.44 166.36 70.08Q166.96 70.72 167.98 70.72Q168.69 70.72 169.24 70.41Q169.8 70.11 170.13 69.52Q170.45 68.93 170.45 68.08L170.45 62.26L172.03 62.26L172.03 72L170.51 72L170.51 69.64L170.75 69.64Q170.29 71 169.46 71.56Q168.62 72.13 167.54 72.13ZM179.25 72.2Q178.37 72.2 177.81 71.91Q177.24 71.61 176.9 71.21Q176.57 70.81 176.38 70.5L176.23 70.5L176.23 72L174.72 72L174.72 58.9L176.28 58.9L176.28 63.81L176.39 63.81Q176.57 63.5 176.9 63.11Q177.22 62.72 177.78 62.42Q178.35 62.13 179.24 62.13Q180.47 62.13 181.4 62.75Q182.33 63.36 182.85 64.49Q183.38 65.62 183.38 67.16Q183.38 68.7 182.86 69.83Q182.34 70.96 181.4 71.58Q180.47 72.2 179.25 72.2ZM179.01 70.8Q179.92 70.8 180.54 70.33Q181.16 69.85 181.47 69.02Q181.79 68.19 181.79 67.14Q181.79 66.1 181.47 65.29Q181.16 64.48 180.54 64.01Q179.93 63.54 179.01 63.54Q178.12 63.54 177.5 63.99Q176.88 64.44 176.56 65.25Q176.25 66.06 176.25 67.14Q176.25 68.22 176.57 69.05Q176.89 69.87 177.51 70.34Q178.13 70.8 179.01 70.8ZM194.97 72.23Q193.53 72.23 192.48 71.75Q191.43 71.28 190.84 70.43Q190.25 69.58 190.18 68.44L191.88 68.44Q191.93 69.21 192.36 69.72Q192.79 70.23 193.47 70.49Q194.16 70.74 194.97 70.74Q195.86 70.74 196.57 70.45Q197.28 70.16 197.69 69.64Q198.1 69.11 198.1 68.41Q198.1 67.8 197.77 67.4Q197.43 67.01 196.84 66.74Q196.26 66.48 195.51 66.28L193.95 65.85Q192.29 65.39 191.42 64.56Q190.54 63.72 190.54 62.41Q190.54 61.3 191.12 60.47Q191.71 59.64 192.73 59.18Q193.75 58.72 195.04 58.72Q196.34 58.72 197.33 59.19Q198.33 59.65 198.9 60.46Q199.47 61.27 199.51 62.31L197.89 62.31Q197.78 61.3 196.98 60.75Q196.18 60.2 194.98 60.2Q194.14 60.2 193.5 60.47Q192.86 60.75 192.5 61.23Q192.14 61.72 192.14 62.33Q192.14 62.99 192.54 63.4Q192.94 63.82 193.53 64.06Q194.11 64.3 194.67 64.45L196 64.81Q196.61 64.97 197.26 65.23Q197.9 65.49 198.46 65.9Q199.03 66.31 199.37 66.93Q199.72 67.55 199.72 68.42Q199.72 69.51 199.16 70.37Q198.6 71.24 197.53 71.73Q196.46 72.23 194.97 72.23ZM202.03 75.67L202.03 62.26L203.54 62.26L203.54 63.81L203.69 63.81Q203.89 63.5 204.21 63.11Q204.54 62.72 205.1 62.42Q205.66 62.13 206.56 62.13Q207.79 62.13 208.72 62.75Q209.64 63.36 210.17 64.49Q210.7 65.62 210.7 67.16Q210.7 68.7 210.18 69.83Q209.65 70.96 208.72 71.58Q207.79 72.2 206.57 72.2Q205.69 72.2 205.12 71.91Q204.55 71.61 204.23 71.21Q203.9 70.81 203.7 70.5L203.6 70.5L203.6 75.67L202.03 75.67ZM206.Line truncated
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" role="img" aria-label="Step 1"><circle cx="24" cy="24" r="22.5" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/><path d="M26.74 15.14L26.74 32.6L24.57 32.6L24.57 17.23L24.48 17.23L20.24 20.31L20.24 17.96L24.13 15.14L26.74 15.14Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.7" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 398 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" role="img" aria-label="Step 2"><circle cx="24" cy="24" r="22.5" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/><path d="M18.45 32.6L18.45 30.97L24.32 24.78Q25.31 23.73 25.97 22.94Q26.62 22.15 26.95 21.42Q27.28 20.69 27.28 19.87Q27.28 18.94 26.85 18.24Q26.41 17.55 25.66 17.18Q24.91 16.81 23.95 16.81Q22.92 16.81 22.17 17.24Q21.42 17.66 21.01 18.42Q20.6 19.18 20.6 20.21L18.5 20.21Q18.5 18.63 19.22 17.43Q19.93 16.23 21.17 15.56Q22.41 14.89 24 14.89Q25.57 14.89 26.78 15.55Q27.98 16.21 28.68 17.32Q29.37 18.44 29.37 19.84Q29.37 20.82 29.02 21.73Q28.66 22.64 27.81 23.75Q26.96 24.87 25.45 26.44L21.48 30.54L21.48 30.65L29.62 30.65L29.62 32.6L18.45 32.6Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.7" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 822 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" role="img" aria-label="Step 3"><circle cx="24" cy="24" r="22.5" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/><path d="M24.04 32.85Q22.31 32.85 20.98 32.23Q19.64 31.62 18.86 30.53Q18.08 29.45 18.04 28.02L20.26 28.02Q20.32 28.91 20.82 29.56Q21.32 30.21 22.14 30.56Q22.97 30.9 24 30.9Q25.12 30.9 25.98 30.51Q26.84 30.13 27.33 29.42Q27.83 28.72 27.83 27.81Q27.83 26.86 27.35 26.14Q26.86 25.43 25.95 25.02Q25.03 24.61 23.73 24.61L22.31 24.61L22.31 22.69L23.73 22.69Q24.77 22.69 25.56 22.32Q26.36 21.96 26.79 21.3Q27.23 20.64 27.23 19.73Q27.23 18.85 26.84 18.2Q26.45 17.54 25.73 17.18Q25.01 16.81 24.04 16.81Q23.11 16.81 22.32 17.15Q21.54 17.49 21.05 18.12Q20.57 18.75 20.54 19.65L18.41 19.65Q18.45 18.24 19.21 17.17Q19.98 16.1 21.25 15.5Q22.52 14.89 24.08 14.89Q25.7 14.89 26.89 15.55Q28.09 16.21 28.74 17.28Q29.39 18.35 29.39 19.62Q29.39 21.07 28.6 22.1Q27.81 23.13 26.46 23.54L26.46 23.66Q27.57 23.83 28.37 24.41Q29.17 24.98 29.59 25.86Q30.01 26.73 30.01 27.82Q30.01 29.27 29.23 30.4Q28.45 31.53 27.11 32.19Q25.76 32.85 24.04 32.85Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.7" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" role="img" aria-label="Step 4"><circle cx="24" cy="24" r="22.5" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/><path d="M17.58 28.93L17.58 27.14L25.34 15.14L26.68 15.14L26.68 17.86L25.8 17.86L19.96 26.87L19.96 27L30.44 27L30.44 28.93L17.58 28.93ZM25.92 32.6L25.92 28.4L25.92 27.55L25.92 15.14L28.03 15.14L28.03 32.6L25.92 32.6Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.7" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 498 B

+104
View File
@@ -0,0 +1,104 @@
name: build
# Builds run only from Run workflow: a push builds nothing. Each run puts its build in a draft
# release; publishing that draft creates its tag, and no build runs on tags, so players get the
# very files that were tested.
on:
workflow_dispatch:
permissions:
contents: write
jobs:
ps5:
runs-on: ubuntu-24.04
timeout-minutes: 180
steps:
- uses: actions/checkout@v4
- name: Install the toolchain
run: |
sudo apt-get update
sudo apt-get install -y \
clang-18 llvm-18 llvm-18-dev cmake ninja-build nodejs npm python3-venv \
zlib1g-dev build-essential pkg-config unzip zip curl zstd exfatprogs exfat-fuse
# The build wants unversioned clang and llvm-config in --llvm.
for tool in clang clang++ llvm-config; do
sudo ln -sf "/usr/bin/$tool-18" "/usr/local/bin/$tool"
done
clang --version | head -1
llvm-config --version
- name: Install the Python dependencies
run: |
python3 -m venv "$RUNNER_TEMP/venv"
"$RUNNER_TEMP/venv/bin/pip" install --disable-pip-version-check -r ps5-react/requirements.txt
# The build spawns python3 for its own tools, so the venv goes on PATH.
echo "$RUNNER_TEMP/venv/bin" >> "$GITHUB_PATH"
- name: Check the exfat packaging
run: |
mkdir -p "$RUNNER_TEMP/check/payload"
printf 'eboot' > "$RUNNER_TEMP/check/payload/eboot.bin"
# Big enough that the image gets the same geometry as the real one.
head -c 24000000 /dev/urandom > "$RUNNER_TEMP/check/payload/data.bin"
sudo bash packaging/make-exfat.sh "$RUNNER_TEMP/check/payload" \
"$RUNNER_TEMP/check/check.exfat" CHECK
- name: Cache the downloaded sources
uses: actions/cache@v4
with:
path: ps5-react/.deps
key: deps-${{ hashFiles('ps5-react/dependencies.lock.json') }}
- name: Build
working-directory: ps5-react
run: python3 tools/build_ps5.py --app-dir "$GITHUB_WORKSPACE/app" --llvm /usr/bin
- name: Package
run: |
sudo bash packaging/make-exfat.sh ps5-react/dist/PPSA99058 Overdrive.exfat OVERDRIVE
# The in-app updater fetches one name, for an image install: the image
# alone at the root of update.zip.
zip -q -X -j update.zip Overdrive.exfat
unzip -l update.zip
ls -l Overdrive.exfat update.zip ps5-react/dist/
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Overdrive
path: |
Overdrive.exfat
update.zip
ps5-react/dist/PPSA99058.receipt.json
if-no-files-found: error
- name: Draft release
# Only people with write access see a draft, and the in-app update feed
# (releases/latest) never returns one, so a test build reaches nobody else.
# The draft is named after app/version.js; building again replaces its files
# and moves it to this commit. A version already published is left alone.
if: github.event_name == 'workflow_dispatch'
env:
GH_TOKEN: ${{ github.token }}
run: |
version=$(sed -n 's/.*var VERSION = "\([^"]*\)".*/\1/p' app/version.js)
test -n "$version" || { echo "no VERSION in app/version.js" >&2; exit 1; }
tag="v$version"
assets="Overdrive.exfat update.zip"
draft=$(gh api "repos/$GITHUB_REPOSITORY/releases" --paginate \
--jq ".[] | select(.tag_name == \"$tag\") | .draft")
case "$draft" in
"")
gh release create "$tag" $assets --draft --target "$GITHUB_SHA" \
--title "Overdrive $tag" --notes "Test build of $GITHUB_SHA." ;;
true)
gh release edit "$tag" --target "$GITHUB_SHA" --notes "Test build of $GITHUB_SHA."
gh release upload "$tag" $assets --clobber ;;
*)
echo "$tag is already published: raise the version in app/version.js" >&2
exit 1 ;;
esac
gh release view "$tag" --json isDraft,tagName,assets \
--jq '"\(.tagName) draft=\(.isDraft) " + ([.assets[] | "\(.name) \(.size)"] | join(", "))'
+15
View File
@@ -0,0 +1,15 @@
# Downloaded sources and build output
.deps/
.build/
dist/
node_modules/
/Overdrive.exfat
/update.zip
# Python
__pycache__/
.venv/
# OS
.DS_Store
Thumbs.db
+335
View File
@@ -0,0 +1,335 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset=".github/readme/logo-dark.svg">
<img src=".github/readme/logo-light.svg" alt="Overdrive" width="440">
</picture>
</p>
<p align="center">
<b>English</b> ·
<a href="README.ru.md">Русский</a>
</p>
<p align="center">
<b>Your PS5 game store.</b><br>
Back from the dead, rebuilt from its own binary, with every line of source in the open.
</p>
<p align="center">
<a href="https://github.com/MyLuxy/overdrive/releases/latest"><img src="https://img.shields.io/github/v/release/MyLuxy/overdrive?style=for-the-badge&label=release&labelColor=0b0b0d&color=2a2a2f" alt="Latest release" width="197"></a>
<a href="https://github.com/MyLuxy/overdrive/releases"><img src="https://img.shields.io/github/downloads/MyLuxy/overdrive/total?style=for-the-badge&label=downloads&labelColor=0b0b0d&color=2a2a2f" alt="Downloads" width="183"></a>
<a href="https://github.com/sponsors/MyLuxy"><img src="https://img.shields.io/badge/sponsor-%E2%9D%A4-db61a2?style=for-the-badge&logo=githubsponsors&logoColor=white&labelColor=0b0b0d" alt="Sponsor MyLuxy on GitHub" width="180"></a>
</p>
<p align="center">
<a href="#install-in-four-steps">Install</a> ·
<a href="#features">Features</a> ·
<a href="#updates">Updates</a> ·
<a href="#troubleshooting">Troubleshooting</a> ·
<a href="#build-it-yourself">Build it yourself</a>
</p>
> [!NOTE]
> The original Overdrive project has been shut down so I decompiled the last released build,
> recovered the complete source and rebuilt it.
<p align="center">
<img src=".github/readme/discover.jpg" alt="Overdrive's Discover page, with a featured game and the Popular now row" width="100%">
</p>
<p align="center">
<img src=".github/readme/browse.jpg" alt="Browse library: 1,845 games with filters, sorting, scores and sizes" width="49.5%">
<img src=".github/readme/downloads.jpg" alt="Downloads page with activity and storage for internal storage and a USB drive" width="49.5%">
</p>
## Features
- **1,800+ games** to discover, with **Top rated**, a hand-picked row and a featured spotlight
- **Homebrew**: native PS5 apps and games from the community catalog at [prosperostore.net](https://prosperostore.net/), always up to date, installed from each developer's GitHub release
- **Browse the whole library** with filters, sorting, scores and download sizes at a glance
- **Downloads straight to the console**, to internal storage or any USB drive, with live speed and storage stats
- **Favorites**, **search** with an on-screen keyboard, and a **Files** page to see and clean up what's on your drives
- **18 languages**: English, Deutsch, Español, Français, Italiano, Nederlands, Português (Brasil), Português (Portugal), Русский, Bahasa Indonesia, 日本語, 简体中文, 繁體中文, العربية, فارسی, اردو, हिन्दी, বাংলা
- **Updates itself**: a new version installs from the console, no PC needed
- Made for the controller: <kbd>L1</kbd> <kbd>R1</kbd> to switch sections, <kbd>✕</kbd> to select, <kbd>○</kbd> to go back
## Install in four steps
<p align="center">
<img src=".github/readme/install-steps.svg" alt="1 Download Overdrive.exfat · 2 Copy it into a homebrew folder on a USB drive · 3 Plug it in: ShadowMount+ installs it · 4 Play" width="100%">
</p>
### Before you start
You need a **jailbroken PS5** running two payloads: **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)**,
which installs `.exfat` images by itself, and **[kstuff](https://github.com/EchoStretch/kstuff-lite/releases)**.
If ShadowMount+ shows its notification when the console starts, you are ready. You also need a
**USB drive** and a **PC**.
<p align="center">
<a href="https://github.com/MyLuxy/overdrive/releases/latest/download/Overdrive.exfat"><img src="https://img.shields.io/badge/Download-Overdrive.exfat-f2f2f3?style=for-the-badge&labelColor=0b0b0d" alt="Download Overdrive.exfat" width="347"></a>
</p>
<table>
<tr>
<td width="64" align="center" valign="top"><img src=".github/readme/step-1.svg" alt="1" width="40"></td>
<td>
**Download `Overdrive.exfat`** with the button above, or from the
[latest release](https://github.com/MyLuxy/overdrive/releases/latest). It is the only file you
need. Leave it as it is: don't unzip it and don't change the `.exfat` at the end of its name.
</td>
</tr>
<tr>
<td align="center" valign="top"><img src=".github/readme/step-2.svg" alt="2" width="40"></td>
<td>
**Copy it onto a USB drive, inside a folder called `homebrew`.** Plug the drive into your PC,
create a new folder named exactly `homebrew` (all lowercase) at the top level of the drive, and
copy `Overdrive.exfat` into it:
```text
USB drive
└── homebrew
└── Overdrive.exfat
```
The drive must be formatted as **exFAT**, which is how most drives come and what the PS5 reads.
</td>
</tr>
<tr>
<td align="center" valign="top"><img src=".github/readme/step-3.svg" alt="3" width="40"></td>
<td>
**Plug the drive into the PS5.** ShadowMount+ checks for new files every few seconds: it finds
Overdrive, mounts it and installs it, and a notification tells you when it's done. There is
nothing to click.
</td>
</tr>
<tr>
<td align="center" valign="top"><img src=".github/readme/step-4.svg" alt="4" width="40"></td>
<td>
<img src="app/sce_sys/icon0.png" alt="Overdrive's icon" width="64" align="right">
**Open Overdrive from the home screen.** Look for this icon. Enjoy!
</td>
</tr>
</table>
You can also use **any FTP client** to move the file onto the console's internal storage
instead, again inside a `homebrew` folder: `/data/homebrew/Overdrive.exfat`.
## Updates
You only install Overdrive by hand once. When a new version comes out, the app tells you by
itself a few seconds after it opens:
1. A window shows the new version and what changed. Press **Install**.
2. Overdrive downloads the update, checks it and puts it in place of the old one.
3. When it's done, the app **closes itself**. Open it again and you are on the new version.
The update needs about **600 MB free** on the drive that holds Overdrive. `update.zip` in each
release is the package the app downloads for this; you never need it yourself.
## Support the project
Overdrive is free and open source. If you enjoy it, sponsoring helps me keep it updated.
<p align="center">
<a href="https://github.com/sponsors/MyLuxy"><img src=".github/readme/sponsor.svg" alt="Sponsor Overdrive on GitHub Sponsors" width="358"></a>
</p>
## Troubleshooting
<details>
<summary><b>Overdrive doesn't appear on the home screen</b></summary>
<br>
- Make sure **ShadowMount+ is running**: it shows a notification when it starts.
- Check the folder: it must be called exactly `homebrew` and sit at the **top level** of the
drive, not inside another folder.
- Check the file still ends in **`.exfat`**. Some PCs hide extensions: a file renamed to
`Overdrive.exfat.zip` or unzipped into a folder won't be found.
- Give it a minute: ShadowMount+ waits until the file has finished copying before it installs it.
</details>
<details>
<summary><b>After an update, the app still shows the old version</b></summary>
<br>
The new version is installed but the console still has the old one loaded. **Restart the
console** and open Overdrive again; the app tells you this itself if it happens twice in a row.
</details>
<details>
<summary><b>The update says there isn't enough space</b></summary>
<br>
The update is downloaded next to the installed app, so the drive holding Overdrive needs about
600 MB free. Free some space on that drive and press **Retry**. Nothing has been changed yet
when this happens.
</details>
<details>
<summary><b>The update says it couldn't replace the app</b></summary>
<br>
Install it by hand: download `Overdrive.exfat` from the
[latest release](https://github.com/MyLuxy/overdrive/releases/latest), close Overdrive, and copy
the new file over the old one in the `homebrew` folder.
</details>
<details>
<summary><b>How do I remove Overdrive?</b></summary>
<br>
Delete `Overdrive.exfat` from the `homebrew` folder first, then delete its icon from the home
screen. In the other order ShadowMount+ finds the file again and puts the icon back.
</details>
## Build it yourself
<details>
<summary><b>What's in this repository</b></summary>
<br>
| Path | What it is |
| --- | --- |
| `app/` | The application: JSX sources, state, assets, catalog data, and `app.json` (title id `PPSA99058`, version, capabilities) |
| `ps5-react/` | The framework it runs on, vendored from [half144/ps5-react](https://github.com/half144/ps5-react) |
| `packaging/make-exfat.sh` | Builds the exFAT image ShadowMount+ installs |
| `.github/workflows/build.yml` | The build |
</details>
<details>
<summary><b>How the source was recovered</b></summary>
<br>
Overdrive is a React app running on [ps5-react](https://github.com/half144/ps5-react), and its
whole JavaScript bundle sits in plain text inside `eboot.bin`. A bundler merges every module into
one scope, so imports between modules turn into bare names; since each top-level name stays
unique, the module that declares a name can be worked out again. That split the bundle back into
its 137 original modules with their real `import`/`export` lines, checked against the original
bundle until every import edge matched.
What a bundler throws away could not come back: most comments, the JSX syntax (it reads as
`jsx(View, {…})` calls), and `const`/`let` (now `var`). None of that changes how the app behaves.
</details>
<details>
<summary><b>Developing</b></summary>
<br>
Everything runs from the repository root through npm. Once after cloning, `npm run setup`
(`packaging/setup.sh`) installs every dependency: on Linux the apt packages for the desktop preview,
the PS5 build and the tests (it asks for `sudo` once), on macOS the Homebrew formulae; then Pillow
and the framework's npm packages. Read the script first if you'd rather install them yourself.
```sh
git clone https://github.com/MyLuxy/overdrive.git
cd overdrive
npm run setup # once; asks for sudo on Linux
npm run dev # the app in a window on your PC, rebuilt on every save under app/
```
| Command | What it does |
| --- | --- |
| `npm run setup` | Installs every dependency, once after cloning |
| `npm run dev` | Opens the app in the desktop preview and rebuilds it on every save (state resets on restart) |
| `npm run preview` | Opens the desktop preview once, without watching |
| `npm test` | The framework's checks; needed after changes under `ps5-react/`, not for `app/` only |
| `npm run build` | The PS5 app, then `Overdrive.exfat` and `update.zip` (see Building) |
| `npm run build:app` | The PS5 app only, in `ps5-react/dist/PPSA99058` |
The preview is the console's UI on your PC, so it takes a controller or the keyboard, and a mouse
as a developer's shortcut. The first `npm run dev` downloads and compiles the framework's pinned
dependencies, which takes a while; later starts are quick.
| Action | Keyboard | Mouse | PS5 |
| --- | --- | --- | --- |
| Move focus | Arrow keys | Wheel (up/down) | D-pad |
| Select | Enter or Space | Left click on the element | ✕ |
| Back | Backspace | Right click | ○ |
| Sections | Q / E | — | L1 / R1 |
| Favorite | F | — | □ |
| Quit the preview | Escape | — | PS button |
The app's code is under `app/` (see "What's in this repository"); a change there needs no rebuild
of the framework. Keep new user-facing strings in every file of `app/i18n/locales/`. On Linux the
preview is compiled with clang (`CC=clang CXX=clang++`, set by the npm scripts), since GCC stops on
a bounds warning in `archive_preflight.cpp`. Linux support for the preview is this fork's addition;
upstream ps5-react supports macOS only.
</details>
<details>
<summary><b>Building</b></summary>
<br>
Builds run on `ubuntu-24.04` with clang 18, only from **Run workflow**: a push builds nothing.
Each run puts `Overdrive.exfat` and `update.zip` in a draft release named after
`app/version.js`, which only maintainers can see.
The same build locally, from the repository root, after `npm run setup` (see Developing):
```sh
npm run build # the app, then Overdrive.exfat and update.zip here
npm run build:app # the app only, in ps5-react/dist/PPSA99058
```
`packaging/build.sh` behind them finds LLVM 18 where apt or Homebrew put it (set
`LLVM=<its bin directory>` otherwise), builds through `ps5-react/tools/build_ps5.py`, then runs
`packaging/make-exfat.sh` under `sudo`, since the image is mounted to be filled. The build
downloads its pinned dependencies into `ps5-react/.deps` and writes the app folder, a `.zip` and a
`.receipt.json` into `ps5-react/dist`. It verifies the result itself (`tools/verify.py`), so a
green build means the payload structure and signatures check out.
The image is a plain exFAT volume whose root is the app folder, with 64 KiB clusters and the
label `OVERDRIVE`. To release a new version, raise the version in `app/version.js` and
`app/app.json`, run the workflow, test the draft's image on a console, then publish the draft:
that creates its tag, and installed apps offer exactly the tested files on their next start.
</details>
<details>
<summary><b>Fixes over upstream ps5-react</b></summary>
<br>
Two fixes in the vendored framework, both in the build tooling and both reported by a Linux build:
- `ps5-react/tools/common.py` read the `git apply --summary` line with a fixed space count, which
glued the file mode onto the path (`100644 <path>`) and made every fresh dependency checkout
fail on the first patch that creates a file. It now splits on whitespace.
- `ps5-react/tools/build_ps5.py` opened the pinned LLVM package's `data.tar.zst` with `tarfile`,
which reads zstd only from Python 3.14 while the documented minimum is 3.12. It now falls back
to the `zstd` command.
Nothing else in the framework is changed.
</details>
## Credits
- **[MyLuxy](https://github.com/MyLuxy)**, current maintainer, who decompiled Overdrive, recovered its source and rebuilt it.
- **[ps5-react](https://github.com/half144/ps5-react)**, the framework it runs on.
- **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)** by drakmor, which installs it.
- **[kstuff](https://github.com/EchoStretch/kstuff-lite)** by EchoStretch, the kernel payload that lets the console run homebrew and the games it installs.
- **[PS5 Homebrew Catalog](https://github.com/darkxex/ps5-homebrew-catalog)** by darkxex, the store API behind the Homebrew section, and every developer listed in it.
`ps5-react/` is GPL-3.0-or-later and carries its own `LICENSE`, `LICENSE-ATTRIBUTION` and
`NOTICE`. Every dependency notice is copied into `notices/` inside the built app, and
`ps5-react/docs/DEPENDENCIES.md` lists them with their sources.
<sub>Overdrive is an unofficial homebrew project and is not affiliated with or endorsed by Sony
Interactive Entertainment. PlayStation and PS5 are trademarks of Sony Interactive Entertainment.</sub>
+296
View File
@@ -0,0 +1,296 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset=".github/readme/logo-dark.svg">
<img src=".github/readme/logo-light.svg" alt="Overdrive" width="440">
</picture>
</p>
<p align="center">
<a href="README.md">English</a> ·
<b>Русский</b>
</p>
<p align="center">
<b>Ваш игровой магазин для PS5.</b><br>
Восставший из мёртвых, собранный заново из собственного бинарника, с полностью открытым исходным кодом.
</p>
<p align="center">
<a href="https://github.com/MyLuxy/overdrive/releases/latest"><img src="https://img.shields.io/github/v/release/MyLuxy/overdrive?style=for-the-badge&label=release&labelColor=0b0b0d&color=2a2a2f" alt="Последний релиз" width="197"></a>
<a href="https://github.com/MyLuxy/overdrive/releases"><img src="https://img.shields.io/github/downloads/MyLuxy/overdrive/total?style=for-the-badge&label=downloads&labelColor=0b0b0d&color=2a2a2f" alt="Скачивания" width="183"></a>
<a href="https://github.com/sponsors/MyLuxy"><img src="https://img.shields.io/badge/sponsor-%E2%9D%A4-db61a2?style=for-the-badge&logo=githubsponsors&logoColor=white&labelColor=0b0b0d" alt="Поддержать MyLuxy на GitHub" width="180"></a>
</p>
<p align="center">
<a href="#установка-в-четыре-шага">Установка</a> ·
<a href="#возможности">Возможности</a> ·
<a href="#обновления">Обновления</a> ·
<a href="#решение-проблем">Решение проблем</a> ·
<a href="#сборка-своими-руками">Сборка своими руками</a>
</p>
> [!NOTE]
> Оригинальный проект Overdrive был закрыт, поэтому я декомпилировал последнюю выпущенную сборку,
> восстановил полный исходный код и собрал его заново.
<p align="center">
<img src=".github/readme/discover.jpg" alt="Страница «Обзор» в Overdrive с рекомендованной игрой и подборкой «Популярное сейчас»" width="100%">
</p>
<p align="center">
<img src=".github/readme/browse.jpg" alt="Библиотека: 1845 игр с фильтрами, сортировкой, оценками и размерами" width="49.5%">
<img src=".github/readme/downloads.jpg" alt="Страница загрузок с активностью и местом на внутреннем накопителе и USB-накопителе" width="49.5%">
</p>
## Возможности
- **Более 1800 игр** для поиска, с подборкой **«Лучшие по оценкам»**, рядом избранных игр и отдельной рекомендованной игрой
- **Хоумбрю**: нативные приложения и игры для PS5 из каталога сообщества [prosperostore.net](https://prosperostore.net/), всегда актуальные, устанавливаются из релизов разработчиков на GitHub
- **Просмотр всей библиотеки** с фильтрами, сортировкой, оценками и размерами загрузок — всё видно сразу
- **Загрузка прямо на консоль** — во внутренний накопитель или на любой USB-накопитель, со скоростью и занятым местом в реальном времени
- **Избранное**, **поиск** с экранной клавиатурой и страница **«Файлы»**, где видно, что лежит на накопителях, и можно это почистить
- **16 языков**: английский, немецкий, испанский, французский, итальянский, нидерландский, португальский (Бразилия), русский, индонезийский, японский, китайский (упрощённый), арабский, персидский, урду, хинди, бенгальский
- **Обновляется сам**: новая версия устанавливается прямо с консоли, без компьютера
- Сделано под геймпад: <kbd>L1</kbd> <kbd>R1</kbd> — переключение разделов, <kbd>✕</kbd> — выбрать, <kbd>○</kbd> — назад
## Установка в четыре шага
<p align="center">
<img src=".github/readme/install-steps.ru.svg" alt="1 Скачайте Overdrive.exfat · 2 Скопируйте его в папку homebrew на USB-накопителе · 3 Вставьте накопитель: ShadowMount+ установит его · 4 Играйте" width="100%">
</p>
### Перед началом
Вам нужна **взломанная PS5** с запущенным **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)** —
это payload, который сам устанавливает образы `.exfat`. Если при включении консоли ShadowMount+
показывает уведомление, значит всё готово. Также понадобятся **USB-накопитель** и **компьютер**.
<p align="center">
<a href="https://github.com/MyLuxy/overdrive/releases/latest/download/Overdrive.exfat"><img src="https://img.shields.io/badge/Download-Overdrive.exfat-f2f2f3?style=for-the-badge&labelColor=0b0b0d" alt="Скачать Overdrive.exfat" width="347"></a>
</p>
<table>
<tr>
<td width="64" align="center" valign="top"><img src=".github/readme/step-1.svg" alt="1" width="40"></td>
<td>
**Скачайте `Overdrive.exfat`** по кнопке выше или из
[последнего релиза](https://github.com/MyLuxy/overdrive/releases/latest). Это единственный нужный
файл. Оставьте его как есть: не распаковывайте и не меняйте `.exfat` в конце имени.
</td>
</tr>
<tr>
<td align="center" valign="top"><img src=".github/readme/step-2.svg" alt="2" width="40"></td>
<td>
**Скопируйте его на USB-накопитель в папку `homebrew`.** Подключите накопитель к компьютеру,
создайте в корне накопителя папку с именем ровно `homebrew` (все буквы строчные) и скопируйте
в неё `Overdrive.exfat`:
```text
USB-накопитель
└── homebrew
└── Overdrive.exfat
```
Накопитель должен быть отформатирован в **exFAT** — так отформатировано большинство накопителей
из коробки, и именно этот формат читает PS5.
</td>
</tr>
<tr>
<td align="center" valign="top"><img src=".github/readme/step-3.svg" alt="3" width="40"></td>
<td>
**Вставьте накопитель в PS5.** ShadowMount+ проверяет наличие новых файлов каждые несколько секунд:
он находит Overdrive, монтирует и устанавливает его, а по завершении показывает уведомление.
Ничего нажимать не нужно.
</td>
</tr>
<tr>
<td align="center" valign="top"><img src=".github/readme/step-4.svg" alt="4" width="40"></td>
<td>
<img src="app/sce_sys/icon0.png" alt="Иконка Overdrive" width="64" align="right">
**Откройте Overdrive с главного экрана.** Ищите эту иконку. Приятной игры!
</td>
</tr>
</table>
Кроме того, файл можно перенести во внутренний накопитель консоли с помощью **любого FTP-клиента** —
тоже в папку `homebrew`: `/data/homebrew/Overdrive.exfat`.
## Обновления
Overdrive нужно установить вручную только один раз. Когда выходит новая версия, приложение само
сообщает об этом через несколько секунд после запуска:
1. Появляется окно с номером новой версии и списком изменений. Нажмите **«Установить»**.
2. Overdrive скачивает обновление, проверяет его и ставит на место старого.
3. Когда всё готово, приложение **закрывается само**. Откройте его снова — вы уже на новой версии.
Для обновления нужно около **600 МБ свободного места** на накопителе, где лежит Overdrive.
Файл `update.zip` в каждом релизе — это тот самый пакет, который скачивает приложение; вам он
самому не нужен.
## Поддержать проект
Overdrive бесплатный и с открытым исходным кодом. Если он вам нравится, спонсорство помогает мне его обновлять.
<p align="center">
<a href="https://github.com/sponsors/MyLuxy"><img src=".github/readme/sponsor.ru.svg" alt="Поддержать Overdrive через GitHub Sponsors" width="414"></a>
</p>
## Решение проблем
<details>
<summary><b>Overdrive не появляется на главном экране</b></summary>
<br>
- Убедитесь, что **ShadowMount+ запущен**: при старте он показывает уведомление.
- Проверьте папку: она должна называться ровно `homebrew` и лежать в **корне** накопителя, а не
внутри другой папки.
- Проверьте, что файл всё ещё заканчивается на **`.exfat`**. Некоторые системы скрывают расширения:
файл, переименованный в `Overdrive.exfat.zip` или распакованный в папку, найден не будет.
- Подождите минуту: ShadowMount+ ждёт, пока файл полностью скопируется, и только потом
устанавливает его.
</details>
<details>
<summary><b>После обновления приложение всё ещё показывает старую версию</b></summary>
<br>
Новая версия установлена, но консоль всё ещё держит в памяти старую. **Перезагрузите консоль** и
откройте Overdrive снова; приложение само об этом сообщит, если такое случится дважды подряд.
</details>
<details>
<summary><b>Обновление сообщает, что недостаточно места</b></summary>
<br>
Обновление скачивается рядом с установленным приложением, поэтому на накопителе с Overdrive нужно
около 600 МБ свободного места. Освободите место на этом накопителе и нажмите **«Повторить»**.
На этот момент ничего ещё не изменено.
</details>
<details>
<summary><b>Обновление сообщает, что не удалось заменить приложение</b></summary>
<br>
Установите вручную: скачайте `Overdrive.exfat` из
[последнего релиза](https://github.com/MyLuxy/overdrive/releases/latest), закройте Overdrive и
скопируйте новый файл поверх старого в папку `homebrew`.
</details>
<details>
<summary><b>Как удалить Overdrive?</b></summary>
<br>
Сначала удалите `Overdrive.exfat` из папки `homebrew`, а затем удалите его иконку с главного экрана.
В обратном порядке ShadowMount+ снова найдёт файл и вернёт иконку на место.
</details>
## Сборка своими руками
<details>
<summary><b>Что находится в этом репозитории</b></summary>
<br>
| Путь | Что это |
| --- | --- |
| `app/` | Само приложение: исходники на JSX, состояние, ресурсы, данные каталога и `app.json` (title id `PPSA99058`, версия, возможности) |
| `ps5-react/` | Фреймворк, на котором оно работает, взятый из [half144/ps5-react](https://github.com/half144/ps5-react) |
| `packaging/make-exfat.sh` | Собирает образ exFAT, который устанавливает ShadowMount+ |
| `.github/workflows/build.yml` | Процесс сборки |
</details>
<details>
<summary><b>Как был восстановлен исходный код</b></summary>
<br>
Overdrive — это приложение на React, работающее на [ps5-react](https://github.com/half144/ps5-react),
и весь его JavaScript-бандл лежит открытым текстом внутри `eboot.bin`. Сборщик объединяет все модули
в одну область видимости, поэтому импорты между модулями превращаются в простые имена; поскольку
каждое имя верхнего уровня остаётся уникальным, можно снова определить, какой модуль объявляет это
имя. Так бандл удалось разбить обратно на его 137 исходных модулей с настоящими строками
`import`/`export`, сверяя результат с оригинальным бандлом, пока не совпала каждая связь импорта.
То, что сборщик отбрасывает, вернуть не удалось: большинство комментариев, синтаксис JSX (теперь это
вызовы вида `jsx(View, {…})`) и `const`/`let` (теперь `var`). На поведение приложения это никак не
влияет.
</details>
<details>
<summary><b>Сборка</b></summary>
<br>
Каждый push запускает сборку на `ubuntu-24.04` с clang 18 и загружает `Overdrive.exfat` как артефакт
workflow; тег `v*` дополнительно публикует релиз с `Overdrive.exfat` и `update.zip`.
Та же сборка локально, на любом Linux с пакетами, которые устанавливает workflow (`clang-18`,
`llvm-18`, `cmake`, `ninja-build`, `nodejs`, `npm`, `zlib1g-dev`, `build-essential`,
`pkg-config`, `unzip`, `curl`, `exfatprogs`, а также Pillow из `ps5-react/requirements.txt`):
```sh
cd ps5-react
python3 tools/build_ps5.py --app-dir ../app --llvm /usr/bin
sudo ../packaging/make-exfat.sh dist/PPSA99058 ../Overdrive.exfat
```
При сборке закреплённые зависимости скачиваются в `ps5-react/.deps`, а папка приложения, `.zip` и
`.receipt.json` записываются в `ps5-react/dist`. Результат проверяется автоматически
(`tools/verify.py`), поэтому успешная сборка означает, что структура payload и подписи в порядке.
`--llvm /usr/bin` указывает на системный clang; по умолчанию в апстриме используется путь к LLVM
из Homebrew, поскольку поддерживаемая среда разработки — macOS.
Образ — это обычный том exFAT, корнем которого является папка приложения, с кластерами 64 КиБ и
меткой `OVERDRIVE`. Чтобы выпустить новую версию, поднимите версию в `app/version.js` и
`app/app.json` и отправьте тег `v*`: установленные приложения предложат обновление при следующем
запуске.
</details>
<details>
<summary><b>Исправления относительно оригинального ps5-react</b></summary>
<br>
Два исправления во встроенном фреймворке, оба в инструментах сборки и оба обнаружены при сборке на
Linux:
- `ps5-react/tools/common.py` читал строку `git apply --summary` с фиксированным числом пробелов,
из-за чего режим файла приклеивался к пути (`100644 <путь>`) и любая чистая выгрузка зависимости
падала на первом же патче, создающем файл. Теперь строка разбивается по пробельным символам.
- `ps5-react/tools/build_ps5.py` открывал `data.tar.zst` из закреплённого пакета LLVM через
`tarfile`, а тот читает zstd только начиная с Python 3.14, тогда как документированный минимум —
3.12. Теперь есть откат на команду `zstd`.
Больше во фреймворке ничего не изменено.
</details>
## Благодарности
- **[MyLuxy](https://github.com/MyLuxy)** — декомпилировал Overdrive, восстановил его исходный код и собрал заново.
- **[ps5-react](https://github.com/half144/ps5-react)** — фреймворк, на котором всё работает.
- **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)** от drakmor — устанавливает приложение.
- **[kstuff](https://github.com/EchoStretch/kstuff-lite)** от EchoStretch — пейлоад ядра, благодаря которому консоль запускает хоумбрю и установленные игры.
- **[PS5 Homebrew Catalog](https://github.com/darkxex/ps5-homebrew-catalog)** от darkxex — API магазина для раздела «Хоумбрю», и все разработчики, которые в нём есть.
`ps5-react/` распространяется под GPL-3.0-or-later и содержит собственные `LICENSE`,
`LICENSE-ATTRIBUTION` и `NOTICE`. Все уведомления о зависимостях копируются в `notices/` внутри
собранного приложения, а `ps5-react/docs/DEPENDENCIES.md` перечисляет их с указанием источников.
<sub>Overdrive — неофициальный homebrew-проект, не связанный с Sony Interactive Entertainment и не
одобренный ею. PlayStation и PS5 — товарные знаки Sony Interactive Entertainment.</sub>
<sub>Русский перевод сделан в [форке Stintik-123](https://github.com/Stintik-123/Overdrive).</sub>
+15
View File
@@ -0,0 +1,15 @@
{
"$schema": "https://raw.githubusercontent.com/half144/ps5-react/main/app.schema.json",
"titleId": "PPSA99058",
"contentId": "UP9000-PPSA99058_00-OVERDRIVE0000000",
"name": "Overdrive",
"version": "01.003.000",
"render": { "width": 1920, "height": 1080 },
"surface": { "width": 1920, "height": 1080 },
"refreshRate": 60,
"textFonts": ["chinese", "chinese-traditional", "japanese", "bengali", "devanagari", "arabic"],
"resources": ["data/releases", "data/pages", "i18n/locales"],
"filesystemAccess": "console",
"networking": true,
"timeoutSeconds": 0
}
+10
View File
@@ -0,0 +1,10 @@
// Baked fonts cover printable ASCII by default, and every codepoint outside it
// draws as `?`. The store separates genres and sources with U+00B7 and writes
// em dashes, curly quotes and ellipses, and the shipped locales add accented
// Latin and Cyrillic, so both faces bake the whole European set.
export default {
fonts: {
'Inter-Regular': { glyphs: 'european' },
'JetBrainsMono-Regular': { glyphs: 'european' },
},
};
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+59
View File
@@ -0,0 +1,59 @@
// ../pub-game-store/native/browse/ActiveFilters.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo } from 'react';
import { useT } from '../i18n/index.js';
import { FACETS, facetLabel } from '../state/catalog.js';
import { useNavActions } from '../state/nav.jsx';
import { useQuery, useStoreActions, useStoreState } from '../state/store.jsx';
import { Chip } from '../ui/Chip.jsx';
import { FocusRing } from '../ui/FocusRing.jsx';
import { Text, View, useIsFocused } from '@ps5-react/core';
function ClearAll() {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsx)(Text, { focused, style: [{ fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, focused ? { color: "#f2f2f3" } : null], children: t2("filters.clearAll") });
}
var ActiveFilters = (0, memo)(function ActiveFilters2() {
const t2 = useT();
const { filters } = useStoreState();
const query = useQuery();
const { setFilters, toggleFilter, setQuery, clearFilters } = useStoreActions();
const { focusLater } = useNavActions();
const chips = [
query && { label: t2("filters.queryChip", { query }), remove: () => setQuery("") },
filters.wishlist && { label: t2("filters.favorites"), remove: () => setFilters({ ...filters, wishlist: false }) },
...FACETS.flatMap(({ key }) => filters[key].map((value) => ({ label: facetLabel(key, value), remove: () => toggleFilter(key, value) })))
].filter(Boolean);
if (!chips.length) return null;
const remove = (index, action) => {
const neighbour = chips[index + 1] ?? chips[index - 1];
action();
focusLater(neighbour ? `chip:${neighbour.label}` : "catalog:filters");
};
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
chips.map(
(chip, index) => /* @__PURE__ */ (0, jsx)(
Chip,
{
focusKey: `chip:${chip.label}`,
label: chip.label,
onPress: () => remove(index, chip.remove)
},
chip.label
)
),
chips.length > 1 && /* @__PURE__ */ (0, jsxs)(View, { onPress: () => {
clearFilters();
focusLater("catalog:filters");
}, style: (_state) => [{ height: 60, justifyContent: "center", borderRadius: 14999, paddingHorizontal: 24 }, _state.focused ? { backgroundColor: "#2b2b30" } : null], children: [
/* @__PURE__ */ (0, jsx)(FocusRing, { round: "full" }),
/* @__PURE__ */ (0, jsx)(ClearAll, {})
] })
] });
});
export { ActiveFilters };
+84
View File
@@ -0,0 +1,84 @@
// ../pub-game-store/native/browse/BrowsePage.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import '../assets/JetBrainsMono-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo, useState } from 'react';
import { Catalog } from './Catalog.jsx';
import { CdnRail } from './CdnRail.jsx';
import { ContinueRow } from './ContinueRow.jsx';
import { FilterDrawer } from './FilterDrawer.jsx';
import { GenreRail } from './GenreRail.jsx';
import { PageHints } from './PageHints.jsx';
import { FocusedSection, NearSection } from './near.js';
import { PopularRail } from './PopularRail.jsx';
import { RecentRow } from './RecentRow.jsx';
import { Spotlight } from './Spotlight.jsx';
import { TopCharts } from './TopCharts.jsx';
import { useT } from '../i18n/index.js';
import { StoreFreeze } from '../state/store.jsx';
import { useFolderInstall } from '../state/update.js';
import { useFavoriteAction } from '../ui/GameCard.jsx';
import { Icon } from '../ui/Icon.jsx';
import { Logo } from '../ui/Logo.jsx';
import { colors } from '../ui/colors.js';
import { FocusScope, ScrollView, Text, View } from '@ps5-react/core';
function Footer() {
const t2 = useT();
return /* @__PURE__ */ (0, jsxs)(View, { style: { marginHorizontal: -48, marginTop: 120, flexDirection: "row", alignItems: "center", justifyContent: "space-between", borderTopWidth: 2, borderColor: "#2a2a2f", paddingHorizontal: 48, paddingVertical: 48 }, children: [
/* @__PURE__ */ (0, jsx)(Logo, { color: colors.muted }),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a94", lineHeight: 30 }, children: t2("browse.footer") })
] });
}
var MIGRATE_GUIDE = "github.com/MyLuxy/overdrive";
function FolderInstallNotice() {
const t2 = useT();
if (!useFolderInstall()) return null;
return /* @__PURE__ */ (0, jsxs)(View, { style: { flexDirection: "row", alignItems: "center", gap: 18, borderRadius: 18, borderWidth: 2, borderColor: "#2a2a2f", backgroundColor: "#17171a", paddingHorizontal: 30, paddingVertical: 18 }, children: [
/* @__PURE__ */ (0, jsx)(Icon, { name: "alert", size: 18, color: colors.muted }),
/* @__PURE__ */ (0, jsxs)(View, { style: { flex: 1, gap: 3 }, children: [
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: t2("browse.folderInstall") }),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "JetBrainsMono-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 }, children: MIGRATE_GUIDE })
] })
] });
}
var Sections = (0, memo)(function Sections2({ onOpenFilters }) {
const onAction = useFavoriteAction();
return /* @__PURE__ */ (0, jsx)(FocusScope, { trap: true, onAction, children: /* @__PURE__ */ (0, jsxs)(ScrollView, { style: { flex: 1, gap: 60, paddingHorizontal: 48 }, children: [
/* @__PURE__ */ (0, jsx)(FocusedSection, {}),
// Each section keeps its images in use only while focus is in it or the next one (near.js).
/* @__PURE__ */ (0, jsx)(NearSection, { index: 0, children: /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, style: { gap: 24, paddingTop: 36 }, children: [
/* @__PURE__ */ (0, jsx)(FolderInstallNotice, {}),
/* @__PURE__ */ (0, jsx)(Spotlight, {})
] }) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 1, children: /* @__PURE__ */ (0, jsx)(PopularRail, {}) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 2, children: /* @__PURE__ */ (0, jsx)(CdnRail, {}) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 3, children: /* @__PURE__ */ (0, jsx)(ContinueRow, {}) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 4, children: /* @__PURE__ */ (0, jsx)(RecentRow, {}) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 5, children: /* @__PURE__ */ (0, jsx)(TopCharts, {}) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 6, children: /* @__PURE__ */ (0, jsx)(GenreRail, {}) }),
/* @__PURE__ */ (0, jsx)(NearSection, { index: 7, children: /* @__PURE__ */ (0, jsx)(Catalog, { onOpenFilters }) }),
/* @__PURE__ */ (0, jsx)(Footer, {})
] }) });
});
var BrowsePage = (0, memo)(function BrowsePage2() {
const [open, setOpen] = (0, useState)(false);
const [frozen, setFrozen] = (0, useState)(false);
const [drawer] = (0, useState)(() => ({
open: () => {
setOpen(true);
setFrozen(true);
},
close: () => setOpen(false),
closed: () => setFrozen(false)
}));
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(StoreFreeze, { frozen, children: /* @__PURE__ */ (0, jsx)(Sections, { onOpenFilters: drawer.open }) }),
/* @__PURE__ */ (0, jsx)(FilterDrawer, { open, onClose: drawer.close, onClosed: drawer.closed }),
/* @__PURE__ */ (0, jsx)(PageHints, {})
] });
});
export { BrowsePage };
+149
View File
@@ -0,0 +1,149 @@
// ../pub-game-store/native/browse/Catalog.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { ActiveFilters } from './ActiveFilters.jsx';
import { EmptyState } from './EmptyState.jsx';
import { SortSelect } from './SortSelect.jsx';
import { SPAN_MAX, fitBytes } from '../i18n/fit.js';
import { useLocale, useT } from '../i18n/index.js';
import { activeCount, filterGames, sortGames } from '../state/catalog.js';
import { useNavActions } from '../state/nav.jsx';
import { useStore } from '../state/store.jsx';
import { ButtonGlyph } from '../ui/ButtonHints.jsx';
import { FocusRing } from '../ui/FocusRing.jsx';
import { DETAILED_CAPTION, GameCard } from '../ui/GameCard.jsx';
import { px } from '../ui/scale.js';
import { FocusScope, Image, Text, View, VirtualList, useIsFocused } from '@ps5-react/core';
var STAGGER = 0.03;
var COLUMNS = 6;
var BATCH = COLUMNS * 8;
var CARD_WIDTH = 182;
var CARD_HEIGHT = 243 + DETAILED_CAPTION;
var FIRST = COLUMNS * 3;
var STEP = 3;
var AHEAD = [2, 5];
var SETTLE_MS2 = 200;
var fetched = /* @__PURE__ */ new Set();
var settle2 = null;
var coverBox = { width: px(CARD_WIDTH), height: px(Math.round(CARD_WIDTH * 4 / 3)), resizeMode: "cover" };
function prefetchBelow(games2, index) {
clearTimeout(settle2);
settle2 = setTimeout(() => prefetchRows(games2, index), SETTLE_MS2);
}
function prefetchRows(games2, index) {
const row = Math.floor(index / COLUMNS);
for (const game of games2.slice((row + AHEAD[0]) * COLUMNS, (row + AHEAD[1]) * COLUMNS)) {
if (!game.art.cover || fetched.has(game.id)) continue;
fetched.add(game.id);
Image.prefetch(game.art.cover, coverBox).catch(() => fetched.delete(game.id));
}
}
var sameGrid = (a, b) => a.signature === b.signature && a.enter === b.enter && a.games.length === b.games.length && a.games.every((game, i) => game === b.games[i]);
var Grid = (0, memo)(function Grid2({ games: games2, enter: enter3 }) {
const { openGame } = useNavActions();
const [limit, setLimit] = (0, useState)(BATCH);
const [filled, setFilled] = (0, useState)(STEP);
const entering = (0, useRef)(enter3);
(0, useEffect)(() => {
if (filled >= FIRST) {
entering.current = false;
return void 0;
}
const id = setTimeout(() => setFilled((count) => count + STEP), 0);
return () => clearTimeout(id);
}, [filled]);
const all = (0, useRef)(games2);
all.current = games2;
const renderItem = (0, useCallback)(
({ item: game, index }) => /* @__PURE__ */ (0, jsx)(
GameCard,
{
game,
width: CARD_WIDTH,
detailed: true,
rowEnd: index % COLUMNS === COLUMNS - 1 || index === all.current.length - 1,
rowStart: index % COLUMNS === 0,
enterDelay: entering.current ? index * STAGGER : void 0,
onFocus: () => prefetchBelow(all.current, index),
onPress: () => openGame(game.id, `card:${game.id}`)
}
),
[openGame]
);
return /* @__PURE__ */ (0, jsx)(
VirtualList,
{
style: { marginTop: 36 },
data: games2.slice(0, filled < FIRST ? filled : limit),
numColumns: COLUMNS,
itemHeight: CARD_HEIGHT,
rowGap: 40,
columnGap: 24,
initialNumRows: 3,
keyExtractor: (game) => game.id,
onEndReached: () => setLimit((count) => count + BATCH),
renderItem
}
);
}, sameGrid);
function FiltersLabel({ count }) {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(FocusRing, {}),
/* @__PURE__ */ (0, jsx)(Text, { focused, style: [{ fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3d9", lineHeight: 30 }, focused ? { color: "#f2f2f3" } : null], children: t2("filters.title") }),
count > 0 && /* @__PURE__ */ (0, jsx)(View, { style: { height: 30, minWidth: 30, alignItems: "center", justifyContent: "center", borderRadius: 14999, backgroundColor: "#f2f2f3", paddingHorizontal: 9 }, children: /* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 18, fontWeight: 600, color: "#000000", lineHeight: 24 }, children: String(count) }) }),
/* @__PURE__ */ (0, jsx)(ButtonGlyph, { button: "triangle", size: 18 })
] });
}
function Catalog({ onOpenFilters }) {
const t2 = useT();
const { rtl } = useLocale();
const store = useStore();
const { filters, query } = store;
const results = (0, useMemo)(
() => sortGames(filterGames(store), store.sort),
[filters, query, store.wishlist, store.sort]
);
const settled = (0, useRef)(false);
(0, useEffect)(() => {
settled.current = true;
}, []);
const signature = JSON.stringify([filters, query, store.sort]);
const title = query ? t2("catalog.resultsFor", { query }) : filters.wishlist ? t2("catalog.favorites") : t2("catalog.library");
const filtersCount = activeCount(filters) - Number(filters.wishlist);
const onAction = (action) => {
if (action !== "triangle" && action !== "options") return false;
onOpenFilters();
return true;
};
return /* @__PURE__ */ (0, jsx)(FocusScope, { restoreFocus: false, onAction, children: /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, children: [
/* @__PURE__ */ (0, jsxs)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 30, fontWeight: 600, color: "#f2f2f3", lineHeight: 42, letterSpacing: -0.75 }, children: [
fitBytes(title, SPAN_MAX),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontWeight: 400, color: "#8a8a94" }, children: fitBytes(` ${t2("catalog.gameCount", { count: results.length })}`, SPAN_MAX) })
] }),
/* @__PURE__ */ (0, jsxs)(View, { style: { zIndex: 10, marginTop: 24, flexDirection: "row", flexWrap: "wrap", alignItems: "center", gap: 12 }, children: [
/* @__PURE__ */ (0, jsx)(View, { focusKey: "catalog:filters", onPress: onOpenFilters, style: (_state) => [
{ height: 60, flexDirection: "row", alignItems: "center", gap: 12, borderRadius: 14999, backgroundColor: "#17171a" },
rtl ? { paddingRight: 24, paddingLeft: 18 } : { paddingLeft: 24, paddingRight: 18 },
_state.focused ? { backgroundColor: "#2b2b30" } : null
], children: /* @__PURE__ */ (0, jsx)(FiltersLabel, { count: filtersCount }) }),
/* @__PURE__ */ (0, jsx)(SortSelect, {}),
/* @__PURE__ */ (0, jsx)(ActiveFilters, {})
] }),
results.length > 0 ? /* @__PURE__ */ (0, jsx)(Grid, { games: results, signature, enter: settled.current }, signature) : /* @__PURE__ */ (0, jsx)(
EmptyState,
{
query,
onlyWishlist: filters.wishlist && activeCount(filters) === 1,
onClear: store.clearFilters
}
)
] }) });
}
export { Catalog };
+77
View File
@@ -0,0 +1,77 @@
// ../pub-game-store/native/browse/CdnRail.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import cdnCard from '../assets/cdn-card.png';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo } from 'react';
import { GameRail } from './GameRail.jsx';
import { RowCard, useRowWindow, useSectionShown } from './near.js';
import { games } from '../data/catalog.js';
import { useT } from '../i18n/index.js';
import { CDN_HOST, NO_FILTERS, onCdn, sortGames } from '../state/catalog.js';
import { useNavActions } from '../state/nav.jsx';
import { useStoreActions } from '../state/store.jsx';
import { FocusFrame } from '../ui/FocusRing.jsx';
import { DETAILED_CAPTION, GameCard } from '../ui/GameCard.jsx';
import { Icon } from '../ui/Icon.jsx';
import { colors } from '../ui/colors.js';
import { EASE_OUT } from '../ui/ease.js';
import { px } from '../ui/scale.js';
import { Image, Text, View, motion, useIsFocused } from '@ps5-react/core';
var WIDTH = 152;
var TILE = { width: px(WIDTH * 2 + 24), height: px(Math.round(WIDTH * 4 / 3)), borderRadius: px(8) };
var CAPTION2 = { width: px(WIDTH * 2 + 24), height: px(DETAILED_CAPTION) };
var SERVED = sortGames(games.filter(onCdn), "relevance");
var lift2 = { type: "tween", duration: 0.3, ease: EASE_OUT };
function CollectionCard() {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsxs)(motion.View, { style: [{ position: "relative" }, TILE], initial: false, animate: { y: focused ? -6 : 0 }, transition: lift2, children: [
/* @__PURE__ */ (0, jsx)(Image, { source: cdnCard, resizeMode: "cover", style: TILE }),
/* @__PURE__ */ (0, jsx)(FocusFrame, { round: "lg" })
] }),
/* @__PURE__ */ (0, jsxs)(View, { style: [{ paddingTop: 15 }, CAPTION2], children: [
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 20, color: "#8a8a94", lineHeight: 24 }, children: t2("catalog.gameCount", { count: SERVED.length }) }),
/* @__PURE__ */ (0, jsx)(Text, { focused, style: [{ marginTop: 6, fontFamily: "Inter-Regular", fontSize: 23, fontWeight: 600, color: "#f2f2f3e6", lineHeight: 30 }, focused ? { color: "#f2f2f3" } : null], children: "Overdrive CDN" }),
/* @__PURE__ */ (0, jsxs)(View, { style: { marginTop: 9, flexDirection: "row", alignItems: "center", gap: 6 }, children: [
/* @__PURE__ */ (0, jsx)(Text, { focused, style: [{ fontFamily: "Inter-Regular", fontSize: 20, color: "#a3a3ab" }, focused ? { color: "#f2f2f3" } : null], children: t2("common.seeAll") }),
/* @__PURE__ */ (0, jsx)(Icon, { name: "chevronRight", size: 14, color: focused ? colors.fg : colors.muted })
] })
] })
] });
}
var CdnRail = (0, memo)(function CdnRail2() {
const { openGame, focusLater } = useNavActions();
const { setFilters, setQuery } = useStoreActions();
const row = useRowWindow();
useSectionShown(SERVED.length > 0);
if (!SERVED.length) return null;
const browse = () => {
setFilters({ ...NO_FILTERS, provider: [CDN_HOST] });
setQuery("");
focusLater("catalog:filters");
};
return /* @__PURE__ */ (0, jsxs)(GameRail, { title: "Overdrive CDN", onSeeAll: browse, seeAllKey: "cdn:all", children: [
/* @__PURE__ */ (0, jsx)(View, { focusKey: "cdn:card", onPress: browse, children: /* @__PURE__ */ (0, jsx)(CollectionCard, {}) }),
SERVED.map((game, index) => {
const key = `cdn:${game.id}`;
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
GameCard,
{
game,
width: WIDTH,
detailed: true,
focusKey: key,
rowEnd: index === SERVED.length - 1,
onFocus: () => row.reached(index),
onPress: () => openGame(game.id, key)
}
) }, game.id);
})
] });
});
export { CdnRail };
+70
View File
@@ -0,0 +1,70 @@
// ../pub-game-store/native/browse/ContinueRow.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo } from 'react';
import { GameRail } from './GameRail.jsx';
import { useSectionShown } from './near.js';
import { WAITING, shownState, stateLabel } from '../downloads/labels.js';
import { fractionOf, useJobs, useProgress } from '../downloads/useQueue.js';
import { formatPercent2 } from '../i18n/core.js';
import { useT } from '../i18n/index.js';
import { getGame } from '../state/catalog.js';
import { BUSY } from '../state/download-queue.js';
import { useNavActions } from '../state/nav.jsx';
import { GameCard } from '../ui/GameCard.jsx';
import { ProgressBar } from '../ui/ProgressBar.jsx';
import { ShimmerText } from '../ui/ShimmerText.jsx';
import { Text, View, useIsFocused } from '@ps5-react/core';
var UNFINISHED = [...BUSY, "paused", "failed"];
var WIDTH2 = 152;
var STATE = { fontFamily: "Inter-Regular", fontSize: 21 };
function JobCaption({ job: job2 }) {
const t2 = useT();
const focused = useIsFocused();
const progress = useProgress(job2.id);
const fraction = fractionOf(progress);
const shown = shownState(job2);
const percent = progress?.total && job2.state !== "failed" ? ` \xB7 ${formatPercent2(Math.floor(fraction * 100))}` : "";
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(Text, { focused, style: [{ marginTop: 18, width: 225, fontFamily: "Inter-Regular", fontSize: 23, color: "#f2f2f3d9", numberOfLines: 1, ellipsizeMode: "tail" }, focused ? { color: "#f2f2f3" } : null], children: job2.title }),
/* @__PURE__ */ (0, jsx)(View, { style: { marginTop: 12 }, children: /* @__PURE__ */ (0, jsx)(ProgressBar, { fraction, width: WIDTH2, active: job2.state === "downloading" }) }),
WAITING.includes(shown) ? /* @__PURE__ */ (0, jsx)(View, { style: { marginTop: 9, width: 225 }, children: /* @__PURE__ */ (0, jsx)(ShimmerText, { textStyle: STATE, children: stateLabel(shown) }) }) : /* @__PURE__ */ (0, jsx)(Text, { style: job2.state === "failed" ? { marginTop: 9, width: 225, fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", numberOfLines: 1, ellipsizeMode: "tail" } : { marginTop: 9, width: 225, fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a94", numberOfLines: 1, ellipsizeMode: "tail" }, children: job2.state === "failed" ? t2("browse.continueFailed") : `${stateLabel(job2.state)}${percent}` })
] });
}
var ContinueRow = (0, memo)(function ContinueRow2() {
const t2 = useT();
const { jobs } = useJobs();
const { push, openGame } = useNavActions();
const entries2 = jobs.filter((job2) => UNFINISHED.includes(job2.state)).map((job2) => ({ job: job2, game: getGame(job2.gameId) })).filter((entry2) => entry2.game);
useSectionShown(entries2.length > 0);
if (!entries2.length) return null;
return /* @__PURE__ */ (0, jsx)(
GameRail,
{
title: t2("browse.continueDownloading"),
seeAllKey: "continue:all",
onSeeAll: () => push({ name: "downloads" }, "continue:all"),
children: entries2.map(({ job: job2, game }, index) => {
const key = `continue:${job2.id}`;
return /* @__PURE__ */ (0, jsx)(
GameCard,
{
game,
width: WIDTH2,
detailed: true,
focusKey: key,
rowEnd: index === entries2.length - 1,
onPress: () => openGame(game.id, key),
caption: /* @__PURE__ */ (0, jsx)(JobCaption, { job: job2 })
},
job2.id
);
})
}
);
});
export { ContinueRow };
+28
View File
@@ -0,0 +1,28 @@
// ../pub-game-store/native/browse/EmptyState.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { jsx, jsxs } from 'react/jsx-runtime';
import { useT } from '../i18n/index.js';
import { Button2 } from '../ui/Button.jsx';
import { Icon } from '../ui/Icon.jsx';
import { colors } from '../ui/colors.js';
import { Text, View } from '@ps5-react/core';
function copy(t2, query, onlyWishlist) {
if (query) return { title: t2("catalog.empty.queryTitle", { query }), hint: t2("catalog.empty.queryHint") };
if (onlyWishlist) return { title: t2("catalog.empty.wishlistTitle"), hint: t2("catalog.empty.wishlistHint") };
return { title: t2("catalog.empty.filtersTitle"), hint: t2("catalog.empty.filtersHint") };
}
function EmptyState({ query, onlyWishlist, onClear }) {
const t2 = useT();
const { title, hint } = copy(t2, query, onlyWishlist);
return /* @__PURE__ */ (0, jsxs)(View, { style: { marginTop: 36, alignItems: "center", paddingHorizontal: 36, paddingVertical: 120 }, children: [
/* @__PURE__ */ (0, jsx)(Icon, { name: onlyWishlist ? "heart" : "searchX", size: 32, color: colors.subtle }),
/* @__PURE__ */ (0, jsx)(Text, { style: { marginTop: 24, fontFamily: "Inter-Regular", fontSize: 27, fontWeight: 600, color: "#f2f2f3", lineHeight: 42 }, children: title }),
/* @__PURE__ */ (0, jsx)(Text, { style: { marginTop: 6, width: 720, textAlign: "center", fontFamily: "Inter-Regular", fontSize: 24, color: "#a3a3ab", lineHeight: 36 }, children: hint }),
/* @__PURE__ */ (0, jsx)(View, { style: { marginTop: 36 }, children: /* @__PURE__ */ (0, jsx)(Button2, { variant: "outline", label: t2("catalog.empty.browseAll"), focusKey: "catalog:empty", onPress: onClear }) })
] });
}
export { EmptyState };
+165
View File
@@ -0,0 +1,165 @@
// ../pub-game-store/native/browse/FilterDrawer.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo, useRef, useState } from 'react';
import { formatNumber2 } from '../i18n/core.js';
import { useT } from '../i18n/index.js';
import { FACETS, activeCount, facetCounts, facetTitle, filterGames, optionLabel } from '../state/catalog.js';
import { useNavActions } from '../state/nav.jsx';
import { useStore } from '../state/store.jsx';
import { Button2 } from '../ui/Button.jsx';
import { CdnAura, CdnSpark } from '../ui/CdnAura.jsx';
import { FocusRing } from '../ui/FocusRing.jsx';
import { useHints } from '../ui/Legend.jsx';
import { PlatformBadge } from '../ui/PlatformBadge.jsx';
import { SheetPanel } from '../ui/SideSheet.jsx';
import { EASE_OUT } from '../ui/ease.js';
import { AnimatePresence, FocusScope, ScrollView, Text, View, useIsFocused } from '@ps5-react/core';
var WIDTH3 = 480;
var slide = { type: "tween", duration: 0.24, ease: EASE_OUT };
var TILE_LIMIT = 3;
var PILL_LIMIT = 12;
function TileFace({ facet, value, label, count, active: active2 }) {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(FocusRing, {}),
facet === "platform" ? /* @__PURE__ */ (0, jsx)(PlatformBadge, { platforms: [value] }) : /* @__PURE__ */ (0, jsx)(Text, { style: active2 ? { fontFamily: "Inter-Regular", fontSize: 23, fontWeight: 600, color: "#000000" } : { fontFamily: "Inter-Regular", fontSize: 23, fontWeight: 600, color: "#f2f2f3" }, children: label }),
/* @__PURE__ */ (0, jsx)(Text, { style: active2 ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#000000b3", lineHeight: 30 } : count === 0 ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a9499", lineHeight: 30 } : focused ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 } : { fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a94", lineHeight: 30 }, children: t2("catalog.gameCount", { count }) })
] });
}
var reachable2 = ({ count, active: active2 }) => count > 0 || active2;
function Tile({ focusKey, autoFocus, ...props }) {
const { active: active2, onPress } = props;
return /* @__PURE__ */ (0, jsx)(View, { focusKey, autoFocus, focusable: reachable2(props), onPress, style: (_state) => active2 ? { height: 108, flex: 1, justifyContent: "center", gap: 9, borderRadius: 12, backgroundColor: "#f2f2f3", paddingHorizontal: 24 } : [{ height: 108, flex: 1, justifyContent: "center", gap: 9, borderRadius: 12, borderWidth: 2, borderColor: "#2a2a2f", paddingHorizontal: 24 }, _state.focused ? { backgroundColor: "#212125" } : null], children: /* @__PURE__ */ (0, jsx)(TileFace, { ...props }) });
}
function PillFace({ label, count, active: active2 }) {
const focused = useIsFocused();
const empty = count === 0 && !active2;
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(FocusRing, { round: "full" }),
/* @__PURE__ */ (0, jsx)(Text, { style: active2 ? { fontFamily: "Inter-Regular", fontSize: 21, fontWeight: 600, color: "#000000", lineHeight: 30 } : empty ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a9499", lineHeight: 30 } : focused ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 } : { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3d9", lineHeight: 30 }, children: label }),
/* @__PURE__ */ (0, jsx)(Text, { style: active2 ? { fontFamily: "Inter-Regular", fontSize: 20, color: "#00000099" } : { fontFamily: "Inter-Regular", fontSize: 20, color: "#8a8a94" }, children: formatNumber2(count) })
] });
}
function Pill({ label, count, active: active2, onPress, focusKey, autoFocus, value }) {
const cdn = value === "overdrive cdn" && !active2;
return /* @__PURE__ */ (0, jsxs)(View, { focusKey, autoFocus, focusable: reachable2({ count, active: active2 }), onPress, style: (_state2) => active2 ? { height: 60, flexDirection: "row", alignItems: "center", gap: 12, borderRadius: 14999, backgroundColor: "#f2f2f3", paddingHorizontal: 24 } : cdn ? { position: "relative", height: 60, flexDirection: "row", alignItems: "center", gap: 12, borderRadius: 14999, backgroundColor: "#17171a", paddingHorizontal: 24 } : [{ height: 60, flexDirection: "row", alignItems: "center", gap: 12, borderRadius: 14999, backgroundColor: "#17171a", paddingHorizontal: 24 }, _state2.focused ? { backgroundColor: "#2b2b30" } : null], children: [
cdn ? /* @__PURE__ */ (0, jsx)(CdnAura, { radius: 20, width: 170 }) : null,
cdn ? /* @__PURE__ */ (0, jsx)(CdnSpark, { size: 14 }) : null,
/* @__PURE__ */ (0, jsx)(PillFace, { label, count, active: active2 })
] });
}
function More({ count, onPress }) {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(View, { onPress, style: (_state3) => [{ height: 60, flexDirection: "row", alignItems: "center", borderRadius: 14999, borderWidth: 2, borderColor: "#2a2a2f", paddingHorizontal: 24 }, _state3.focused ? { backgroundColor: "#2b2b30" } : null], children: [
/* @__PURE__ */ (0, jsx)(FocusRing, { round: "full" }),
/* @__PURE__ */ (0, jsx)(Text, { style: focused ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 } : { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: t2("filters.more", { count }) })
] });
}
function ClearFacet({ onPress }) {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(View, { onPress, style: { borderRadius: 6, paddingHorizontal: 6 }, children: [
/* @__PURE__ */ (0, jsx)(FocusRing, {}),
/* @__PURE__ */ (0, jsx)(Text, { style: focused ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 } : { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: t2("filters.clearFacet") })
] });
}
function Facet({ facet, store, autoFocus }) {
const t2 = useT();
const [expanded, setExpanded] = (0, useState)(false);
const { focusLater } = useNavActions();
const counts = facetCounts(store, facet);
const picked = store.filters[facet.key];
const tiles = facet.options.length <= TILE_LIMIT;
const folded = !tiles && !expanded && facet.options.length > PILL_LIMIT;
const shown = folded ? facet.options.filter((option, index) => index < PILL_LIMIT || picked.includes(option.value)) : facet.options;
return /* @__PURE__ */ (0, jsxs)(View, { style: { gap: 18, borderBottomWidth: 2, borderColor: "#2a2a2f", paddingVertical: 30 }, children: [
/* @__PURE__ */ (0, jsxs)(View, { style: { height: 36, flexDirection: "row", alignItems: "center", justifyContent: "space-between" }, children: [
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 20, fontWeight: 600, color: "#a3a3ab", letterSpacing: 1.6 }, children: facetTitle(facet.key).toUpperCase() }),
picked.length > 0 && /* @__PURE__ */ (0, jsxs)(View, { style: { flexDirection: "row", alignItems: "center", gap: 18 }, children: [
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 }, children: t2("filters.selected", { count: picked.length }) }),
/* @__PURE__ */ (0, jsx)(ClearFacet, { onPress: () => {
store.setFilters({ ...store.filters, [facet.key]: [] });
focusLater(`filters:${facet.key}`);
} })
] })
] }),
/* @__PURE__ */ (0, jsxs)(View, { style: tiles ? { flexDirection: "row", gap: 18 } : { flexDirection: "row", flexWrap: "wrap", gap: 12 }, children: [
shown.map((option, index) => {
const { value } = option;
const props = {
facet: facet.key,
value,
label: optionLabel(option),
count: counts[value],
active: picked.includes(value),
onPress: () => store.toggleFilter(facet.key, value),
focusKey: index === 0 ? `filters:${facet.key}` : `filters:${facet.key}:${value}`,
autoFocus: index === 0 && autoFocus
};
return tiles ? /* @__PURE__ */ (0, jsx)(Tile, { ...props }, value) : /* @__PURE__ */ (0, jsx)(Pill, { value, ...props }, value);
}),
folded && /* @__PURE__ */ (0, jsx)(More, { count: facet.options.length - shown.length, onPress: () => {
setExpanded(true);
focusLater(`filters:${facet.key}:${facet.options[PILL_LIMIT].value}`);
} })
] })
] });
}
var HINTS3 = [{ button: "cross", label: "hints.toggle" }, { button: "circle", label: "hints.close" }];
function Panel({ onClose }) {
useHints(HINTS3);
const t2 = useT();
const store = useStore();
const { filters, clearFilters } = store;
const { focusLater } = useNavActions();
const count = activeCount(filters);
const total = filterGames(store).length;
const opened = (0, useRef)(JSON.stringify(filters));
const close = () => {
if (JSON.stringify(filters) !== opened.current) focusLater("catalog:filters");
onClose();
return true;
};
return (
// A modal: the shoulder buttons would switch the header's section under it, so every action stops here.
/* @__PURE__ */ (0, jsxs)(FocusScope, { trap: true, onBack: close, onAction: (action) => action !== "triangle" && action !== "options" || close(), children: [
/* @__PURE__ */ (0, jsxs)(View, { style: { height: 96, flexDirection: "row", alignItems: "center", gap: 18, borderBottomWidth: 2, borderColor: "#2a2a2f" }, children: [
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 30, fontWeight: 600, color: "#f2f2f3", lineHeight: 42, letterSpacing: -0.75 }, children: t2("filters.title") }),
count > 0 && /* @__PURE__ */ (0, jsx)(View, { style: { height: 36, minWidth: 36, alignItems: "center", justifyContent: "center", borderRadius: 14999, backgroundColor: "#f2f2f3", paddingHorizontal: 12 }, children: /* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 20, fontWeight: 600, color: "#000000" }, children: String(count) }) }),
/* @__PURE__ */ (0, jsx)(View, { style: { flex: 1 } }),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: t2("catalog.gameCount", { count: total }) })
] }),
/* @__PURE__ */ (0, jsxs)(ScrollView, { style: { marginHorizontal: -24, flex: 1, paddingHorizontal: 24 }, children: [
FACETS.map((facet, index) => /* @__PURE__ */ (0, jsx)(Facet, { facet, store, autoFocus: index === 0 }, facet.key)),
/* @__PURE__ */ (0, jsxs)(View, { style: { flexDirection: "row", gap: 18, paddingBottom: 36, paddingTop: 30 }, children: [
count > 0 && /* @__PURE__ */ (0, jsx)(Button2, { variant: "secondary", size: "lg", label: t2("filters.clearAll"), onPress: () => {
clearFilters();
focusLater(`filters:${FACETS[0].key}`);
} }),
/* @__PURE__ */ (0, jsx)(Button2, { variant: "primary", size: "lg", style: { flex: 1 }, label: t2("filters.show", { count: total }), onPress: close })
] })
] })
] })
);
}
var FilterDrawer = (0, memo)(function FilterDrawer2({ open, onClose, onClosed }) {
return /* @__PURE__ */ (0, jsx)(AnimatePresence, { onExitComplete: onClosed, children: open && /* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", top: 0, right: 0, bottom: 0, left: 0, zIndex: 30 }, children: /* @__PURE__ */ (0, jsx)(
SheetPanel,
{
style: { width: 720, paddingHorizontal: 36 },
initial: { x: WIDTH3 },
animate: { x: 0 },
exit: { x: WIDTH3, transition: { ...slide, duration: 0.16 } },
transition: slide,
children: /* @__PURE__ */ (0, jsx)(Panel, { onClose })
}
) }, "drawer") });
});
export { FilterDrawer };
+41
View File
@@ -0,0 +1,41 @@
// ../pub-game-store/native/browse/GameRail.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { FocusRing } from '../ui/FocusRing.jsx';
import { Icon } from '../ui/Icon.jsx';
import { colors } from '../ui/colors.js';
import { FocusScope, ScrollView, Text, View, useIsFocused } from '@ps5-react/core';
function TitleLink({ title }) {
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(FocusRing, {}),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 30, fontWeight: 600, color: "#f2f2f3", lineHeight: 42, letterSpacing: -0.75 }, children: title }),
/* @__PURE__ */ (0, jsx)(Icon, { name: "chevronRight", size: 16, color: focused ? colors.fg : colors.muted })
] });
}
// A row scope: Left and Right stop at the rail's first and last card. Without one, a press past
// the end looked for the nearest element across the whole page and could land at its top.
var Arrow = ({ name }) => /* @__PURE__ */ (0, jsx)(View, { style: { width: 48, height: 48, alignItems: "center", justifyContent: "center", borderRadius: 14999, backgroundColor: "#17171a" }, children: /* @__PURE__ */ (0, jsx)(Icon, { name, size: 16, color: colors.muted, fixed: true }) });
var LTR = { direction: "ltr" };
// A long row loads the art of its first cards (about a screen and a half of them) and, as focus moves
// along it, of the cards up to ART_AHEAD past the furthest one reached: every image in use stays in the
// decoded cache, and forty covers per row pushed the rest of the app's images out of it.
var FIRST_ART = 10;
var ART_AHEAD = 8;
function GameRail({ title, onSeeAll, seeAllKey, children }) {
return /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, children: [
/* @__PURE__ */ (0, jsxs)(View, { style: { marginBottom: 24, flexDirection: "row", alignItems: "center", justifyContent: "space-between" }, children: [
onSeeAll ? /* @__PURE__ */ (0, jsx)(View, { onPress: onSeeAll, focusKey: seeAllKey, style: { flexDirection: "row", alignItems: "center", gap: 6, borderRadius: 9 }, children: /* @__PURE__ */ (0, jsx)(TitleLink, { title }) }) : /* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 30, fontWeight: 600, color: "#f2f2f3", lineHeight: 42, letterSpacing: -0.75 }, children: title }),
/* @__PURE__ */ (0, jsxs)(View, { style: [{ flexDirection: "row", gap: 12 }, LTR], children: [
/* @__PURE__ */ (0, jsx)(Arrow, { name: "chevronLeft" }),
/* @__PURE__ */ (0, jsx)(Arrow, { name: "chevronRight" })
] })
] }),
/* @__PURE__ */ (0, jsx)(View, { style: { marginHorizontal: -12, marginVertical: -24 }, children: /* @__PURE__ */ (0, jsx)(FocusScope, { row: true, children: /* @__PURE__ */ (0, jsx)(ScrollView, { style: [{ flexDirection: "row", gap: 36, paddingHorizontal: 12, paddingVertical: 24 }, LTR], children }) }) })
] });
}
export { ART_AHEAD, FIRST_ART, GameRail };
+66
View File
@@ -0,0 +1,66 @@
// ../pub-game-store/native/browse/GenreCard.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { jsx, jsxs } from 'react/jsx-runtime';
import { memo } from 'react';
import { GENRE_ART } from './genre-art.js';
import { useT } from '../i18n/index.js';
import { genreLabel } from '../state/catalog.js';
import { Cover } from '../ui/Cover.jsx';
import { FocusFrame } from '../ui/FocusRing.jsx';
import { Icon } from '../ui/Icon.jsx';
import { Shine } from '../ui/Shine.jsx';
import { colors } from '../ui/colors.js';
import { EASE_OUT } from '../ui/ease.js';
import { Image, Text, View, motion, useIsFocused } from '@ps5-react/core';
var spread = { type: "tween", duration: 0.3, ease: EASE_OUT };
var cover = { width: 126, height: 168, borderRadius: 12 };
var side = { width: 113, height: 151, borderRadius: 12 };
var front = { position: "absolute", left: 87, top: 24, zIndex: 10 };
var OPEN = [-12.6, 12.6];
// The sprite is drawn at the size it was baked at, centred in the space the covers take.
var art = { position: "absolute", left: 78, top: 36, width: 144, height: 144 };
function Fan({ covers }) {
const focused = useIsFocused();
return covers.slice(1).map(
(game, index) => /* @__PURE__ */ (0, jsx)(
motion.View,
{
style: index === 0 ? { position: "absolute", left: 18, top: 32 } : { position: "absolute", left: 169, top: 32 },
initial: false,
animate: { x: focused ? OPEN[index] : 0 },
transition: spread,
children: /* @__PURE__ */ (0, jsx)(Cover, { game, style: side, label: false })
},
game.id
)
);
}
var GenreCard = (0, memo)(function GenreCard2({ genre, count, covers, index, active: active2, onToggle, onReach }) {
const t2 = useT();
return /* @__PURE__ */ (0, jsxs)(
motion.View,
{
focusKey: `genre:${genre}`,
onFocus: () => onReach?.(index),
onPress: () => onToggle(genre),
selected: active2,
whileFocus: { y: -6 },
transition: spread,
style: (_state) => [{ width: 300, borderRadius: 18, backgroundColor: "#17171a", paddingHorizontal: 24, paddingBottom: 24, paddingTop: 216 }, active2 ? { backgroundColor: "#212125" } : null, _state.focused ? { backgroundColor: "#212125" } : null],
children: [
GENRE_ART[genre] ? /* @__PURE__ */ (0, jsx)(Image, { source: GENRE_ART[genre], resizeMode: "contain", style: art }) : /* @__PURE__ */ (0, jsx)(Fan, { covers }),
!GENRE_ART[genre] && covers[0] && /* @__PURE__ */ (0, jsx)(Cover, { game: covers[0], style: [cover, front], label: false }),
active2 && /* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", right: 18, top: 18, zIndex: 20, width: 36, height: 36, alignItems: "center", justifyContent: "center", borderRadius: 14999, backgroundColor: "#f2f2f3" }, children: /* @__PURE__ */ (0, jsx)(Icon, { name: "check", size: 14, strokeWidth: 3, color: colors.canvas }) }),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 24, color: "#f2f2f3", lineHeight: 36 }, children: genreLabel(genre) }),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a94", lineHeight: 30 }, children: t2("catalog.gameCount", { count }) }),
/* @__PURE__ */ (0, jsx)(Shine, { width: 200, round: "xl" }),
/* @__PURE__ */ (0, jsx)(FocusFrame, { round: "xl" })
]
}
);
});
export { GenreCard };
+51
View File
@@ -0,0 +1,51 @@
// ../pub-game-store/native/browse/GenreRail.jsx
// reconstructed from the esbuild bundle in eboot.bin
import { jsx, jsxs } from 'react/jsx-runtime';
import { useState } from 'react';
import { GenreCard } from './GenreCard.jsx';
import { RowCard, useRowWindow } from './near.js';
import { games } from '../data/catalog.js';
import { useT } from '../i18n/index.js';
import { genres } from '../state/catalog.js';
import { useStoreActions, useStoreState } from '../state/store.jsx';
import { SectionHeader } from '../ui/SectionHeader.jsx';
import { FocusScope, ScrollView, View } from '@ps5-react/core';
var used = /* @__PURE__ */ new Set();
var RAIL = genres.map((genre) => ({ genre, matches: games.filter((game) => game.genres.includes(genre)).sort((a, b) => b.recommendations - a.recommendations) })).filter(({ matches }) => matches.length >= 3).sort((a, b) => b.matches.length - a.matches.length).map(({ genre, matches }) => {
const covers = [...matches.filter((game) => !used.has(game.id)), ...matches.filter((game) => used.has(game.id))].slice(0, 3);
covers.forEach((game) => used.add(game.id));
return { genre, count: matches.length, covers };
});
function GenreRail() {
const t2 = useT();
const { filters } = useStoreState();
const { toggleFilter } = useStoreActions();
const [toggleGenre] = (0, useState)(() => (genre) => toggleFilter("genre", genre));
// Three covers a card: the cards far from where focus rests let theirs go.
const row = useRowWindow();
return /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, children: [
/* @__PURE__ */ (0, jsx)(SectionHeader, { title: t2("browse.popularGenres") }),
/* @__PURE__ */ (0, jsxs)(View, { style: { position: "relative", marginHorizontal: -9, marginVertical: -30 }, children: [
// A row scope, like GameRail: Left and Right stop at the rail's ends.
/* @__PURE__ */ (0, jsx)(FocusScope, { row: true, children: /* @__PURE__ */ (0, jsx)(ScrollView, { style: [{ flexDirection: "row", gap: 18, paddingHorizontal: 9, paddingVertical: 30 }, { direction: "ltr" }], children: RAIL.map(
({ genre, count, covers }, index) => /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
GenreCard,
{
genre,
count,
covers,
index,
active: filters.genre.includes(genre),
onToggle: toggleGenre,
onReach: row.reached
}
) }, genre)
) }) }),
/* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", top: 0, bottom: 0, right: 0, width: 96, backgroundGradient: { type: "linear", to: "right", stops: [{ color: "transparent", offset: 0 }, { color: "#000000", offset: 1 }] } } })
] })
] });
}
export { GenreRail };
+22
View File
@@ -0,0 +1,22 @@
// ../pub-game-store/native/browse/PageHints.jsx
// reconstructed from the esbuild bundle in eboot.bin
import { useNavState } from '../state/nav.jsx';
import { HINT, useHints } from '../ui/Legend.jsx';
import { useFocus } from '@ps5-react/core';
var CATALOG = [HINT.select, { button: "triangle", label: "hints.filters" }, HINT.favorite, HINT.top, HINT.sections];
var CARDS = [HINT.select, HINT.favorite, HINT.top, HINT.sections];
function hintsFor(key) {
if (/^(card|catalog|chip):/.test(key)) return CATALOG;
if (/^(popular|recent|continue):/.test(key) && !key.endsWith(":all")) return CARDS;
return null;
}
function PageHints() {
const { focusedKey: focusedKey2 } = useFocus();
const shown = useNavState().top.name === "browse";
useHints(shown ? hintsFor(focusedKey2 ?? "") : null);
return null;
}
export { PageHints };
+66
View File
@@ -0,0 +1,66 @@
// ../pub-game-store/native/browse/PopularRail.jsx
// reconstructed from the esbuild bundle in eboot.bin
import { jsx } from 'react/jsx-runtime';
import { memo, useState } from 'react';
import { GameRail } from './GameRail.jsx';
import { games } from '../data/catalog.js';
import { useT } from '../i18n/index.js';
import { NO_FILTERS } from '../state/catalog.js';
import { FAMOUS, INDIE, picked, shuffle } from './picks.js';
import { useNavActions } from '../state/nav.jsx';
import { useStoreActions } from '../state/store.jsx';
import { GameCard } from '../ui/GameCard.jsx';
import { ART_AHEAD, FIRST_ART } from './GameRail.jsx';
import { RowCard, useRowWindow } from './near.js';
var WIDTH4 = 152;
// "You might like" (was the most popular, which only Archive.org's few games could reach): 25
// games, new on every launch, from the hand-picked famous and indie ones and the rest of the
// catalog's games that have art and a genre, so the row always has something worth opening.
var PICKS = 25;
function selectPicks() {
const famous = picked(games, FAMOUS).slice(0, 10);
const indie = picked(games, INDIE).slice(0, 5);
const chosen = new Set([...famous, ...indie]);
const others = shuffle(games.filter((game) => !chosen.has(game) && game.art.cover && game.art.hero && game.genres.length)).slice(0, PICKS - chosen.size);
return shuffle([...famous, ...indie, ...others]);
}
var POPULAR = selectPicks();
var FIRST_POPULAR = `popular:${POPULAR[0].id}`;
var PopularRail = (0, memo)(function PopularRail2() {
const t2 = useT();
const { openGame, focusLater } = useNavActions();
const { setFilters, setQuery, setSort } = useStoreActions();
// Covers load only up to a few cards past the furthest one reached.
const [reach, setReach] = (0, useState)(FIRST_ART);
// And the ones far from where focus rests let theirs go.
const row = useRowWindow();
const seeAll = () => {
setFilters(NO_FILTERS);
setQuery("");
setSort("newest");
focusLater("catalog:sort");
};
return /* @__PURE__ */ (0, jsx)(GameRail, { title: t2("browse.forYou"), onSeeAll: seeAll, seeAllKey: "popular:all", children: POPULAR.map((game, index) => {
const key = `popular:${game.id}`;
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
GameCard,
{
game,
width: WIDTH4,
detailed: true,
focusKey: key,
rowEnd: index === POPULAR.length - 1,
deferArt: index >= reach,
onFocus: () => {
setReach((count) => Math.max(count, index + ART_AHEAD));
row.reached(index);
},
onPress: () => openGame(game.id, key)
}
) }, game.id);
}) });
});
export { FIRST_POPULAR, PopularRail };
+44
View File
@@ -0,0 +1,44 @@
// ../pub-game-store/native/browse/RecentRow.jsx
// reconstructed from the esbuild bundle in eboot.bin
import { jsx } from 'react/jsx-runtime';
import { memo, useRef } from 'react';
import { GameRail } from './GameRail.jsx';
import { RowCard, useRowWindow, useSectionShown } from './near.js';
import { useT } from '../i18n/index.js';
import { getGame, listedId } from '../state/catalog.js';
import { useNavActions, useNavState } from '../state/nav.jsx';
import { useRecent } from '../state/recent.js';
import { GameCard } from '../ui/GameCard.jsx';
function RecentRow() {
return /* @__PURE__ */ (0, jsx)(Recent, { shown: useNavState().top.name === "browse" });
}
var Recent = (0, memo)(function Recent2({ shown }) {
const t2 = useT();
const recent2 = useRecent();
const kept = (0, useRef)(recent2);
if (shown) kept.current = recent2;
const { openGame } = useNavActions();
const row = useRowWindow();
const games2 = [...new Set(kept.current.map(listedId))].map(getGame).filter(Boolean);
useSectionShown(games2.length > 0);
if (!games2.length) return null;
return /* @__PURE__ */ (0, jsx)(GameRail, { title: t2("browse.recentlyViewed"), children: games2.map((game, index) => {
const key = `recent:${game.id}`;
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
GameCard,
{
game,
width: 152,
detailed: true,
focusKey: key,
rowEnd: index === games2.length - 1,
onFocus: () => row.reached(index),
onPress: () => openGame(game.id, key)
}
) }, game.id);
}) });
});
export { RecentRow };
+63
View File
@@ -0,0 +1,63 @@
// ../pub-game-store/native/browse/SortSelect.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { memo, useState } from 'react';
import { SPAN_MAX, fitBytes } from '../i18n/fit.js';
import { useLocale, useT } from '../i18n/index.js';
import { SORTS, sortLabel } from '../state/catalog.js';
import { useStoreActions, useStoreState } from '../state/store.jsx';
import { FocusRing } from '../ui/FocusRing.jsx';
import { Icon } from '../ui/Icon.jsx';
import { Menu, MenuItem } from '../ui/Menu.jsx';
import { colors } from '../ui/colors.js';
import { Text, View, motion, useIsFocused } from '@ps5-react/core';
function Trigger({ sort, open }) {
const t2 = useT();
const focused = useIsFocused();
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(FocusRing, { round: "full" }),
/* @__PURE__ */ (0, jsxs)(Text, { focused, style: [{ fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, focused ? { color: "#f2f2f3d9" } : null], children: [
fitBytes(t2("sort.label"), SPAN_MAX),
/* @__PURE__ */ (0, jsx)(Text, { style: { color: "#f2f2f3" }, children: fitBytes(` ${sortLabel(sort)}`, SPAN_MAX) })
] }),
/* @__PURE__ */ (0, jsx)(
motion.View,
{
initial: false,
animate: { rotate: open ? 180 : 0 },
transition: { type: "tween", duration: 0.2, ease: "easeOut" },
children: /* @__PURE__ */ (0, jsx)(Icon, { name: "chevronDown", color: focused ? colors.fg : colors.muted })
}
)
] });
}
var SortSelect = (0, memo)(function SortSelect2() {
const { rtl } = useLocale();
const { sort } = useStoreState();
const { setSort } = useStoreActions();
const [open, setOpen] = (0, useState)(false);
return /* @__PURE__ */ (0, jsxs)(View, { style: { position: "relative", zIndex: 10 }, children: [
/* @__PURE__ */ (0, jsx)(View, { focusKey: "catalog:sort", selected: open, onPress: () => setOpen((value) => !value), style: (_state) => [
{ height: 60, flexDirection: "row", alignItems: "center", gap: 12, borderRadius: 14999, backgroundColor: "#17171a" },
rtl ? { paddingRight: 24, paddingLeft: 18 } : { paddingLeft: 24, paddingRight: 18 },
open ? { backgroundColor: "#2b2b30" } : null,
_state.focused ? { backgroundColor: "#2b2b30" } : null
], children: /* @__PURE__ */ (0, jsx)(Trigger, { sort, open }) }),
/* @__PURE__ */ (0, jsx)(Menu, { open, onClose: () => setOpen(false), align: "left", rows: SORTS.length, children: SORTS.map(
(option) => /* @__PURE__ */ (0, jsx)(
MenuItem,
{
label: sortLabel(option.id),
checked: sort === option.id,
onSelect: () => setSort(option.id)
},
option.id
)
) })
] });
});
export { SortSelect };
+159
View File
@@ -0,0 +1,159 @@
// ../pub-game-store/native/browse/Spotlight.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { jsx, jsxs } from 'react/jsx-runtime';
import { memo, useEffect, useRef, useState } from 'react';
import { FIRST_POPULAR } from './PopularRail.jsx';
import { FAMOUS, picked, shuffle } from './picks.js';
import { SpotlightList } from './SpotlightList.jsx';
import { useSlides } from './useSlides.js';
import { games } from '../data/catalog.js';
import { LATIN_IN_RTL, focusEnd, useLocale, useT } from '../i18n/index.js';
import { genreLabel, summaryOf } from '../state/catalog.js';
import { useNavActions, useNavState } from '../state/nav.jsx';
import { useStoreActions, useWishlist } from '../state/store.jsx';
import { Button2 } from '../ui/Button.jsx';
import { GameLogo, logoStyle } from '../ui/GameLogo.jsx';
import { WishHeart } from '../ui/WishHeart.jsx';
import { EASE_OUT } from '../ui/ease.js';
import { AnimatePresence, Image, Text, View, motion } from '@ps5-react/core';
// Five slides, new on every launch: four of the hand-picked famous games (picks.js), and one
// surprise from the rest of the catalog's well-dressed games. A slide needs only its hero art: a
// game with no logo shows its title in its place (GameLogo).
function selectFeatured() {
const famous = picked(games, FAMOUS).filter((game) => game.art.hero);
const chosen = new Set(famous);
const surprise = shuffle(games.filter((game) => game.art.hero && game.genres.length && !chosen.has(game) && (game.art.logo || game.recommendations > 0 || game.metacritic)));
const slides = [...famous.slice(0, 4), ...surprise.slice(0, 5 - Math.min(4, famous.length))];
return shuffle(slides.length ? slides : games.filter((game) => game.art.hero).slice(0, 5));
}
var featured = selectFeatured();
var ART = { width: 1410, height: 660 };
var LOGO2 = [320, 112, 48 * 256];
function prefetchSlides() {
for (const game of featured) {
if (game.art.hero) Image.prefetch(game.art.hero, ART).catch(() => {
});
if (game.art.logo) Image.prefetch(game.art.logo, { ...logoStyle(game, ...LOGO2), resizeMode: "contain" }).catch(() => {
});
}
}
function Art({ game }) {
const [shown, setShown] = (0, useState)(game);
(0, useEffect)(() => {
if (shown === game) return void 0;
const id = setTimeout(() => setShown(game), 20);
return () => clearTimeout(id);
}, [game, shown]);
if (!shown.art.hero) return null;
return /* @__PURE__ */ (0, jsx)(
Image,
{
source: { uri: shown.art.hero },
resizeMode: "cover",
style: [{ position: "absolute", top: 0, right: 0, bottom: 0, left: 0, borderRadius: 18 }, shown.art.tint ? { ...ART, backgroundColor: shown.art.tint } : ART]
}
);
}
function Blurb({ game }) {
useT();
const { rtl } = useLocale();
const [ready, setReady] = (0, useState)(null);
const current = (0, useRef)(game.id);
current.current = game.id;
(0, useEffect)(() => {
const id2 = setTimeout(() => setReady(game.id), 800);
return () => clearTimeout(id2);
}, [game.id]);
const id = game.id;
return /* @__PURE__ */ (0, jsx)(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, jsxs)(
motion.View,
{
style: { gap: 30 },
initial: { opacity: 0, y: 12 },
animate: ready === game.id ? { opacity: 1, y: 0 } : { opacity: 0, y: 12 },
exit: { opacity: 0, y: -6, transition: { type: "tween", duration: 0.15, ease: "easeIn" } },
transition: { type: "tween", duration: 0.45, ease: EASE_OUT },
children: [
/* @__PURE__ */ (0, jsx)(
GameLogo,
{
game,
width: LOGO2[0],
height: LOGO2[1],
area: LOGO2[2],
onReady: () => current.current === id && setReady(id)
}
),
/* @__PURE__ */ (0, jsx)(Text, { style: { marginBottom: -12, fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: game.genres.map(genreLabel).join(" \xB7 ") }),
/* @__PURE__ */ (0, jsx)(Text, { style: [{ width: 552, fontFamily: "Inter-Regular", fontSize: 23, color: "#f2f2f3d9", numberOfLines: 3, ellipsizeMode: "tail", lineHeight: 37 }, rtl ? LATIN_IN_RTL : void 0], children: summaryOf(game) })
]
},
game.id
) });
}
function WishButton({ id, toList }) {
const t2 = useT();
const { rtl } = useLocale();
const wishlist = useWishlist();
const { toggleWish } = useStoreActions();
const wished = wishlist.includes(id);
return /* @__PURE__ */ (0, jsx)(
Button2,
{
variant: "outline",
size: "lg",
label: wished ? t2("browse.favorited") : t2("browse.addToFavorites"),
focusKey: "spotlight:wish",
nextFocusUp: "nav:current",
nextFocusDown: FIRST_POPULAR,
...focusEnd(rtl, toList),
onPress: () => toggleWish(id),
children: /* @__PURE__ */ (0, jsx)(WishHeart, { active: wished })
}
);
}
function Spotlight() {
return /* @__PURE__ */ (0, jsx)(Carousel, { shown: useNavState().top.name === "browse" });
}
var Carousel = (0, memo)(function Carousel2({ shown }) {
const t2 = useT();
const { rtl } = useLocale();
const slides = useSlides(featured.length, shown);
const { openGame } = useNavActions();
const game = featured[slides.active];
(0, useEffect)(() => {
const id = setTimeout(prefetchSlides, 1500);
return () => clearTimeout(id);
}, []);
return /* @__PURE__ */ (0, jsxs)(View, { style: { flexDirection: "row", gap: 24 }, children: [
/* @__PURE__ */ (0, jsxs)(View, { style: { position: "relative", width: 1410, height: 660, overflow: "hidden", borderRadius: 18, backgroundColor: "#212125" }, children: [
/* @__PURE__ */ (0, jsx)(Art, { game }),
/* @__PURE__ */ (0, jsx)(View, { style: rtl ? { position: "absolute", top: 0, right: 0, bottom: 0, left: 0, backgroundGradient: { type: "linear", to: "left", stops: [{ color: "#000000", offset: 0 }, { color: "#000000bf", offset: 0.35 }, { color: "transparent", offset: 0.75 }] } } : { position: "absolute", top: 0, right: 0, bottom: 0, left: 0, backgroundGradient: { type: "linear", to: "right", stops: [{ color: "#000000", offset: 0 }, { color: "#000000bf", offset: 0.35 }, { color: "transparent", offset: 0.75 }] } } }),
/* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", top: 0, right: 0, bottom: 0, left: 0, backgroundGradient: { type: "linear", to: "top", stops: [{ color: "#000000b3", offset: 0 }, { color: "transparent", offset: 0.5 }] } } }),
/* @__PURE__ */ (0, jsxs)(View, { style: rtl ? { position: "absolute", top: 0, bottom: 0, right: 0, width: 672, justifyContent: "flex-end", padding: 60 } : { position: "absolute", top: 0, bottom: 0, left: 0, width: 672, justifyContent: "flex-end", padding: 60 }, children: [
/* @__PURE__ */ (0, jsx)(Blurb, { game }),
/* @__PURE__ */ (0, jsxs)(View, { style: { marginTop: 30, flexDirection: "row", gap: 12 }, children: [
/* @__PURE__ */ (0, jsx)(
Button2,
{
variant: "primary",
size: "lg",
label: t2("browse.viewGame"),
focusKey: "spotlight:cta",
nextFocusUp: "nav:current",
nextFocusDown: FIRST_POPULAR,
onPress: () => openGame(game.id, "spotlight:cta")
}
),
/* @__PURE__ */ (0, jsx)(WishButton, { id: game.id, toList: `spotlight:${slides.active}` })
] })
] })
] }),
/* @__PURE__ */ (0, jsx)(SpotlightList, { games: featured, slides })
] });
});
export { Spotlight };
+86
View File
@@ -0,0 +1,86 @@
// ../pub-game-store/native/browse/SpotlightList.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { jsx, jsxs } from 'react/jsx-runtime';
import { memo, useMemo } from 'react';
import { SLIDE_MS } from './useSlides.js';
import { focusEnd, focusStart, latin, useLocale } from '../i18n/index.js';
import { Cover } from '../ui/Cover.jsx';
import { FocusFrame } from '../ui/FocusRing.jsx';
import { Shine } from '../ui/Shine.jsx';
import { lightGame, unlight } from '../ui/lightBar.js';
import { Text, View, motion, useIsFocused } from '@ps5-react/core';
var TRACK = 240;
var cover2 = { height: "100%", aspectRatio: 0.75, borderRadius: 9 };
function Progress({ left, paused }) {
const { rtl } = useLocale();
const sign = rtl ? -1 : 1;
const x = -TRACK * left / SLIDE_MS * sign;
return /* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", left: 15, right: 15, bottom: 9, height: 3, overflow: "hidden", borderRadius: 14999, backgroundColor: "#ffffff1a" }, children: /* @__PURE__ */ (0, jsx)(
motion.View,
{
style: { position: "absolute", top: 0, bottom: 0, left: 0, width: 360, backgroundColor: "#f2f2f3" },
initial: { x: -TRACK * sign },
animate: { x: paused ? x : 0 },
transition: paused ? { type: "tween", duration: 0 } : { type: "tween", duration: left / 1e3, ease: "linear" }
}
) });
}
function Title2({ title, active: active2 }) {
const focused = useIsFocused();
const { rtl } = useLocale();
return /* @__PURE__ */ (0, jsx)(Text, { selected: active2 || focused, style: [{ width: 264, fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", numberOfLines: 2, ellipsizeMode: "tail", lineHeight: 30 }, active2 || focused ? { color: "#f2f2f3" } : null], children: latin(rtl, title) });
}
var Item = (0, memo)(function Item2({ game, index, active: active2, progress, select, hold }) {
const { rtl } = useLocale();
return /* @__PURE__ */ (0, jsxs)(
View,
{
focusKey: `spotlight:${index}`,
selected: active2,
nextFocusUp: index === 0 ? "nav:current" : void 0,
...focusStart(rtl, "spotlight:wish"),
...focusEnd(rtl, `spotlight:${index}`),
onFocus: () => {
select(index);
hold(true);
lightGame(`spotlight:${index}`, game);
},
onBlur: () => {
hold(false);
unlight(`spotlight:${index}`);
},
onPress: () => select(index),
style: [{ position: "relative", flex: 1, flexDirection: "row", alignItems: "center", gap: 21, borderRadius: 18, padding: 15 }, active2 ? { backgroundColor: "#17171a" } : null],
children: [
/* @__PURE__ */ (0, jsx)(Shine, { width: 260, round: "xl" }),
/* @__PURE__ */ (0, jsx)(FocusFrame, { round: "xl" }),
/* @__PURE__ */ (0, jsx)(Cover, { game, style: cover2, label: false }),
/* @__PURE__ */ (0, jsx)(Title2, { title: game.title, active: active2 }),
progress && /* @__PURE__ */ (0, jsx)(Progress, { left: progress.left, paused: progress.paused })
]
}
);
});
function SpotlightList({ games: games2, slides }) {
const { active: active2, left, paused, select, hold } = slides;
const progress = (0, useMemo)(() => ({ left, paused }), [left, paused]);
return /* @__PURE__ */ (0, jsx)(View, { style: { width: 390, gap: 6 }, children: games2.map(
(game, index) => /* @__PURE__ */ (0, jsx)(
Item,
{
game,
index,
active: index === active2,
progress: index === active2 ? progress : null,
select,
hold
},
game.id
)
) });
}
export { SpotlightList };
+91
View File
@@ -0,0 +1,91 @@
// ../pub-game-store/native/browse/TopCharts.jsx
// reconstructed from the esbuild bundle in eboot.bin
import '../assets/Inter-Regular.ttf';
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
import { games } from '../data/catalog.js';
import { prefetchWhenSettled } from '../game/art.js';
import { latin, useLocale, useT } from '../i18n/index.js';
import { NO_FILTERS, formatCount, formatDate3, sortGames, sortLabel } from '../state/catalog.js';
import { shuffle } from './picks.js';
import { useNavActions } from '../state/nav.jsx';
import { useShowLibrary } from '../ui/useSections.js';
import { Cover } from '../ui/Cover.jsx';
import { FocusFrame } from '../ui/FocusRing.jsx';
import { SectionHeader } from '../ui/SectionHeader.jsx';
import { lightGame, unlight } from '../ui/lightBar.js';
import { Text, View } from '@ps5-react/core';
// Each chart ranks the whole catalog, with no preference for Archive.org's games: the most reviewed
// and the best rated are five drawn on every launch from the fifteen at the top, then ranked, so
// the lists vary but stay the best; only the games that have that number take part. New releases
// are the five newest.
var TOP = 15;
var RANK = {
relevance: { has: (game) => game.recommendations > 0, compare: (a, b) => b.recommendations - a.recommendations },
rating: { has: (game) => game.metacritic != null, compare: (a, b) => b.metacritic - a.metacritic }
};
function chartOf(id) {
if (!RANK[id]) return sortGames(games, id).slice(0, 5);
const { has, compare } = RANK[id];
const top = games.filter(has).sort(compare).slice(0, TOP);
return shuffle(top).slice(0, 5).sort(compare);
}
var CHARTS = ["relevance", "newest", "rating"].map((id) => ({ id, games: chartOf(id) }));
var DETAIL = {
relevance: (t2, game) => t2("browse.reviews", { count: formatCount(game.recommendations) }),
newest: (t2, game) => formatDate3(game.releaseDate)
};
var thumb = { width: 66, height: 87, borderRadius: 9 };
function Detail({ chart, game }) {
const t2 = useT();
if (chart !== "rating") return /* @__PURE__ */ (0, jsx)(Text, { style: { marginTop: 6, fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab" }, children: DETAIL[chart](t2, game) });
return /* @__PURE__ */ (0, jsxs)(View, { style: { marginTop: 6, flexDirection: "row", alignItems: "center", gap: 9 }, children: [
/* @__PURE__ */ (0, jsx)(View, { style: { borderRadius: 3, backgroundColor: "#f2f2f3", paddingHorizontal: 9 }, children: /* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, fontWeight: 700, color: "#000000", lineHeight: 30 }, children: String(game.metacritic ?? "\u2014") }) }),
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab" }, children: "Metacritic" })
] });
}
function Row3({ rank, game, chart }) {
const { rtl } = useLocale();
return /* @__PURE__ */ (0, jsxs)(Fragment, { children: [
/* @__PURE__ */ (0, jsx)(FocusFrame, {}),
/* @__PURE__ */ (0, jsx)(Text, { style: { width: 18, fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a94", lineHeight: 30 }, children: String(rank) }),
/* @__PURE__ */ (0, jsx)(Cover, { game, style: thumb, label: false }),
/* @__PURE__ */ (0, jsxs)(View, { style: { flex: 1 }, children: [
/* @__PURE__ */ (0, jsx)(Text, { style: { width: 444, fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", numberOfLines: 1, ellipsizeMode: "tail", lineHeight: 30 }, children: latin(rtl, game.title) }),
/* @__PURE__ */ (0, jsx)(Detail, { chart, game })
] })
] });
}
function TopCharts() {
useT();
const { openGame } = useNavActions();
const show = useShowLibrary();
// "See all" opens the library on that sort, as the header's section of the same name does.
const seeAll = (id) => show(NO_FILTERS, id, "catalog:sort", { rating: "top" }[id] ?? "catalog");
return /* @__PURE__ */ (0, jsx)(View, { scrollAnchor: true, style: { marginBottom: -18, marginTop: -12, flexDirection: "row", gap: 48 }, children: CHARTS.map(
(chart) => /* @__PURE__ */ (0, jsxs)(View, { style: { flex: 1 }, children: [
/* @__PURE__ */ (0, jsx)(SectionHeader, { title: sortLabel(chart.id), onSeeAll: () => seeAll(chart.id) }),
chart.games.map((game, index) => {
const key = `chart:${chart.id}:${game.id}`;
return /* @__PURE__ */ (0, jsx)(
View,
{
focusKey: key,
onPress: () => openGame(game.id, key),
onFocus: () => {
prefetchWhenSettled(game);
lightGame(key, game);
},
onBlur: () => unlight(key),
style: (_state) => [{ position: "relative", marginHorizontal: -12, flexDirection: "row", alignItems: "center", gap: 21, borderRadius: 12, padding: 12 }, _state.focused ? { backgroundColor: "#17171a" } : null],
children: /* @__PURE__ */ (0, jsx)(Row3, { rank: index + 1, game, chart: chart.id })
},
game.id
);
})
] }, chart.id)
) });
}
export { TopCharts };
+45
View File
@@ -0,0 +1,45 @@
// The genre cards' pixel art (tools/genre-sprites.py), baked into the app: a card that has one shows
// it instead of three covers, so the rail loads no images. A genre without one keeps its covers.
import action from '../assets/genres/genre-action.png';
import adventure from '../assets/genres/genre-adventure.png';
import arcade from '../assets/genres/genre-arcade.png';
import brain from '../assets/genres/genre-brain.png';
import casual from '../assets/genres/genre-casual.png';
import family from '../assets/genres/genre-family.png';
import fighting from '../assets/genres/genre-fighting.png';
import horror from '../assets/genres/genre-horror.png';
import indie from '../assets/genres/genre-indie.png';
import music from '../assets/genres/genre-music.png';
import party from '../assets/genres/genre-party.png';
import puzzle from '../assets/genres/genre-puzzle.png';
import racing from '../assets/genres/genre-racing.png';
import rpg from '../assets/genres/genre-rpg.png';
import shooter from '../assets/genres/genre-shooter.png';
import simulation from '../assets/genres/genre-simulation.png';
import sport from '../assets/genres/genre-sport.png';
import strategy from '../assets/genres/genre-strategy.png';
// By the catalog's genre names.
var GENRE_ART = {
Action: action,
Adventure: adventure,
Arcade: arcade,
"Brain Training": brain,
Casual: casual,
Family: family,
Fighting: fighting,
Horror: horror,
Indie: indie,
"Music/Rhythm": music,
Party: party,
Puzzle: puzzle,
Racing: racing,
RPG: rpg,
Shooter: shooter,
Simulation: simulation,
Sport: sport,
Strategy: strategy
};
export { GENRE_ART };
+77
View File
@@ -0,0 +1,77 @@
// Which images the store front keeps in use. An image in use is never evicted from the decoded cache,
// and the store front mounts every section and every card of its rows, so it held over a hundred images
// at once: the cache stayed full and, with the Homebrew page's many small icons, the engine's image
// registry ran out ("the engine image registry is full") and new covers never drew.
//
// Down the page, the section focus is in and the one above and below keep theirs; the rest let them go
// (ReleaseImages: an image released stays cached until the room is needed, and one on screen at that
// moment stays). A section with nothing to show (no recent games, no download to continue) is not
// counted, so the one past it is still the next. Along a row, the cards near the one focus last rested
// on keep theirs.
import { jsx } from 'react/jsx-runtime';
import { createContext, useContext, useEffect, useState } from 'react';
import { ReleaseImages, useFocus } from '@ps5-react/core';
// The sections in page order, by the prefix of their elements' focus keys.
var SECTIONS = { spotlight: 0, popular: 1, cdn: 2, continue: 3, recent: 4, chart: 5, genre: 6, card: 7, catalog: 7, chip: 7 };
var NEAR = 1;
var current = 0;
var listeners = /* @__PURE__ */ new Set();
var empty = /* @__PURE__ */ new Set();
var notify = () => {
for (const listener of listeners) listener(current);
};
// Where a section sits among the ones shown.
var rank = (index) => index - [...empty].filter((other) => other < index).length;
var SectionIndex = (0, createContext)(-1);
// Rendered once by the page: follows focus and tells the sections, which re-render only when they turn
// near or far. Focus elsewhere (the header, another screen) leaves the last section as it was.
function FocusedSection() {
const { focusedKey } = useFocus();
(0, useEffect)(() => {
const index = SECTIONS[String(focusedKey ?? "").split(":")[0]];
if (index === void 0 || index === current) return;
current = index;
notify();
}, [focusedKey]);
return null;
}
function NearSection({ index, children }) {
const far = (focused) => Math.abs(rank(index) - rank(focused)) > NEAR;
const [released, setReleased] = (0, useState)(() => far(current));
(0, useEffect)(() => {
const listener = (focused) => setReleased(far(focused));
listeners.add(listener);
listener(current);
return () => {
listeners.delete(listener);
};
}, [index]);
return /* @__PURE__ */ (0, jsx)(SectionIndex.Provider, { value: index, children: /* @__PURE__ */ (0, jsx)(ReleaseImages, { when: released, children }) });
}
// Called by a section that can have nothing to show, before it returns null.
function useSectionShown(shown) {
const index = (0, useContext)(SectionIndex);
(0, useEffect)(() => {
if (index < 0 || shown === !empty.has(index)) return;
if (shown) empty.delete(index);
else empty.add(index);
notify();
}, [index, shown]);
}
// Cards further than this from the one focus last rested on let their images go; a screen shows six
// or seven. The centre moves in steps of four, so a row re-renders every few cards, not on every one.
var ROW_WINDOW = 8;
var STEP = 4;
// `reached` keeps its identity across renders, so a memoized card given it does not re-render.
function useRowWindow() {
const [center, setCenter] = (0, useState)(0);
const [reached] = (0, useState)(() => (index) => setCenter(Math.floor(index / STEP) * STEP));
return { far: (index) => Math.abs(index - center) > ROW_WINDOW, reached };
}
function RowCard({ far, children }) {
return /* @__PURE__ */ (0, jsx)(ReleaseImages, { when: far, children });
}
export { FocusedSection, NearSection, RowCard, useRowWindow, useSectionShown };
+33
View File
@@ -0,0 +1,33 @@
// The games the store front leads with, chosen by hand (2026-10-17): the spotlight draws from the
// famous ones, "You might like" mixes them with the indie ones and the rest of the catalog. Edit
// freely: an id that is not in the catalog, or whose host is paused, is passed over.
var FAMOUS = [
"PPSA31246", "PPSA01500", "PPSA23226", "PPSA04609", "PPSA22327", "PPSA01474", "PPSA08330", "PPSA34015",
"PPSA17221", "PPSA04029", "PPSA36458", "PPSA02530", "PPSA01467", "PPSA03016", "PPSA01417", "PPSA28180",
"PPSA03396", "PPSA15508", "PPSA11386", "PPSA17168", "PPSA01903", "PPSA17597", "PPSA13427", "PPSA17905",
"PPSA03671", "PPSA02225", "PPSA26344", "PPSA21567", "PPSA01285", "PPSA01342", "PPSA01968", "PPSA02015",
"PPSA01317", "PPSA05389", "PPSA13197", "PPSA30528", "PPSA04264", "PPSA01593", "PPSA14002", "PPSA07411",
"PPSA01556", "PPSA24191", "PPSA02632", "PPSA10595", "PPSA07570", "PPSA02343", "PPSA08560", "PPSA10621",
"PPSA02572", "PPSA03845", "PPSA08709", "PPSA15304", "PPSA07783", "PPSA07230", "PPSA20560", "PPSA26786",
"PPSA21704", "PPSA17599", "PPSA02433", "PPSA01289", "PPSA19534", "PPSA20397"
];
var INDIE = [
"PPSA12544", "PPSA06465", "PPSA03355", "PPSA36082", "PPSA15552", "CUSA11302", "CUSA20499", "PPSA02154",
"PPSA13579", "PPSA22520", "PPSA07587", "PPSA09804", "PPSA08102", "PPSA07117", "PPSA09076", "PPSA21402",
"PPSA16786", "PPSA08766"
];
var shuffle = (list) => {
for (let i = list.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[list[i], list[j]] = [list[j], list[i]];
}
return list;
};
// The listed games among `ids`, the catalog's own objects, in a new random order on every launch.
function picked(games, ids) {
const byId = new Map(games.map((game) => [game.id, game]));
return shuffle(ids.map((id) => byId.get(id)).filter(Boolean));
}
export { FAMOUS, INDIE, picked, shuffle };
+52
View File
@@ -0,0 +1,52 @@
// ../pub-game-store/native/browse/useSlides.js
// reconstructed from the esbuild bundle in eboot.bin
import { useEffect, useRef, useState } from 'react';
var SLIDE_MS = 7e3;
function useSlides(count, enabled) {
const [active2, setActive] = (0, useState)(0);
const [left, setLeft] = (0, useState)(SLIDE_MS);
const [paused, setPaused] = (0, useState)(false);
const startedAt = (0, useRef)(0);
const running = (0, useRef)(false);
const held = (0, useRef)(false);
const ranFor = (0, useRef)(0);
const current = (0, useRef)(active2);
current.current = active2;
(0, useEffect)(() => {
if (paused || !enabled) return void 0;
startedAt.current = Date.now();
running.current = true;
const id = setTimeout(() => {
setActive((index) => (index + 1) % count);
setLeft(SLIDE_MS);
}, left);
return () => {
running.current = false;
ranFor.current = Date.now() - startedAt.current;
clearTimeout(id);
};
}, [active2, left, paused, enabled]);
(0, useEffect)(() => {
if (!enabled && !held.current) setLeft((ms) => Math.max(0, ms - ranFor.current));
}, [enabled]);
const [select] = (0, useState)(() => (index) => {
if (index === current.current) return;
startedAt.current = Date.now();
setActive(index);
setLeft(SLIDE_MS);
});
const [hold] = (0, useState)(() => (on) => {
if (held.current === on) return;
held.current = on;
if (on && running.current) {
const elapsed = Date.now() - startedAt.current;
setLeft((ms) => Math.max(0, ms - elapsed));
}
setPaused(on);
});
return { active: active2, left, paused: paused || !enabled, select, hold };
}
export { SLIDE_MS, useSlides };
+1961
View File
File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
{"about":[],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":[],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["It is 1715. Pirates rule the Caribbean, terrorizing navies & humiliating empires. From sinking warships to conquering fortresses, Captain Edward Kenway stopped at nothing to earn his fortune & legend."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00010_00/FREE_CONTENT805ij9Ry6cfqHpcyQh0X/PREVIEW_SCREENSHOT1_49519.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00010_00/FREE_CONTENT805ij9Ry6cfqHpcyQh0X/PREVIEW_SCREENSHOT1_49519.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00010_00/FREE_CONTENTl0nYWhylRX2cMiBdV06t/PREVIEW_SCREENSHOT2_49519.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00010_00/FREE_CONTENTl0nYWhylRX2cMiBdV06t/PREVIEW_SCREENSHOT2_49519.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00010_00/FREE_CONTENTWUrex34ldYZYgeOod1KE/PREVIEW_SCREENSHOT3_49519.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00010_00/FREE_CONTENTWUrex34ldYZYgeOod1KE/PREVIEW_SCREENSHOT3_49519.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Outnumbered and outgunned, but not outmatched.","Call of Duty®: Ghosts is an extraordinary step forward for one of the largest entertainment franchises of all-time.","This new chapter in the Call of Duty® franchise features a new dynamic where players are on the side of a crippled nation fighting not for freedom, or liberty, but simply to survive.","Fueling this all new Call of Duty experience, the franchise's new next-gen engine delivers stunning levels of immersion and performance, all while maintaining the speed and fluidity of 60 frames-per-second across all platforms.","Single Player Campaign Ten years after a devastating mass event, America’s borders and the balance of global power have changed forever.","As what's left of the nation's Special Operations forces, a mysterious group known only as \"Ghosts\" leads the fight back against a newly emerged, technologically-superior global power."],"shots":[{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/209160/ss_40eccd8d9da36152496ed7cb625f1b3cde3848ac.1920x1080.jpg?t=1780963043","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/209160/ss_40eccd8d9da36152496ed7cb625f1b3cde3848ac.600x338.jpg?t=1780963043"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/209160/ss_4034e8573255a5cca333b42bb78aea9ec05118dc.1920x1080.jpg?t=1780963043","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/209160/ss_4034e8573255a5cca333b42bb78aea9ec05118dc.600x338.jpg?t=1780963043"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/209160/ss_007e6bb9311b3ebfc9441a6965699abc1f66971c.1920x1080.jpg?t=1780963043","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/209160/ss_007e6bb9311b3ebfc9441a6965699abc1f66971c.600x338.jpg?t=1780963043"}],"summary":"Outnumbered and outgunned, but not outmatched.Call of Duty®: Ghosts is an extraordinary step forward for one of the largest entertainment franchises of all-time. This new chapter in the Call of Duty® franchise features a new dynamic where…"}
+1
View File
@@ -0,0 +1 @@
{"about":["Become Aiden Pearce, a brilliant hacker whose criminal past lead to a violent family tragedy.","While on the hunt for those responsible, you will be able to tap into the city’s omnipresent security cameras, download personal information, control systems such as traffic lights and the electrical grid to stop a chase, and more."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00021_00/FREE_CONTENTGvngmduMg7LudnJNGMr3/PREVIEW_SCREENSHOT1_49381.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00021_00/FREE_CONTENTGvngmduMg7LudnJNGMr3/PREVIEW_SCREENSHOT1_49381.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00021_00/FREE_CONTENThFCaZCv5Xt62o0WVpocm/PREVIEW_SCREENSHOT2_49381.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00021_00/FREE_CONTENThFCaZCv5Xt62o0WVpocm/PREVIEW_SCREENSHOT2_49381.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00021_00/FREE_CONTENTq9wnjHrvtSTFngJUJmZJ/PREVIEW_SCREENSHOT3_49381.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00021_00/FREE_CONTENTq9wnjHrvtSTFngJUJmZJ/PREVIEW_SCREENSHOT3_49381.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["The Glade of Dreams is in trouble once again! During a 100-year nap, the nightmares multiplied and spread, creating new monsters even more terrifying than before! These creatures are the stuff of legend…","Dragons, giant toads, sea monsters, and even evil luchadores. With the help of Murfy, Rayman and Globox awake and must now help fight these nightmares and save the Teensies!"],"shots":[{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00069_00/FREE_CONTENTeYePsbRZLMtlzWsJCBxR/PREVIEW_SCREENSHOT1_51830.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00069_00/FREE_CONTENTeYePsbRZLMtlzWsJCBxR/PREVIEW_SCREENSHOT1_51830.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00069_00/FREE_CONTENTju0yVGMQotNOLaoDaWFk/PREVIEW_SCREENSHOT2_51830.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00069_00/FREE_CONTENTju0yVGMQotNOLaoDaWFk/PREVIEW_SCREENSHOT2_51830.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0001/CUSA00069_00/FREE_CONTENT6EnlOwywxB5fpAyFDoHV/PREVIEW_SCREENSHOT3_51830.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0001/CUSA00069_00/FREE_CONTENT6EnlOwywxB5fpAyFDoHV/PREVIEW_SCREENSHOT3_51830.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["From Housemarque OY, the creators of the Super Stardust™ series & Dead Nation™ comes RESOGUN™, the next generation of shoot ‘em up, developed exclusively for the PlayStation®4 system.Unleash a diverse array of devastating weapons…","Destroy hordes of enemies in worlds created from millions of individual building blocks (voxels) that break up in real time as you battle to survive as the world is destroyed around you.","• Push yourself to the limits in Arcade and level based Score Attack modes and prove your skills in global leaderboards for each game mode and difficulty setting.• Join forces with your friends online and show off your skills and take down…","an intensive, ultra-responsive, fully HD, 60FPS shoot ‘em up, only on PlayStation®4 system!","This item is being licensed or sublicensed to you by Sony Computer Entertainment America and is subject to the Network Terms of Service and User Agreement, this item’s use restrictions and other applicable terms located at…","If you do not wish to accept all these terms, do not download this item."],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["LEGO® Marvel™ Super Heroes features an original story crossing the entire Marvel Universe.","Players take control of Iron Man, Spider-Man, the Hulk, Captain America, Wolverine and many more Marvel characters as they unite to stop Loki and a host of other Marvel villains from assembling a super-weapon capable of destroying the world."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP1018/CUSA00083_00/FREE_CONTENT4x8vbqpub2yvKXVCZlJU/PREVIEW_SCREENSHOT1_50146.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP1018/CUSA00083_00/FREE_CONTENT4x8vbqpub2yvKXVCZlJU/PREVIEW_SCREENSHOT1_50146.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP1018/CUSA00083_00/FREE_CONTENTXCTuCba8P3U4Iiydrebx/PREVIEW_SCREENSHOT2_50146.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP1018/CUSA00083_00/FREE_CONTENTXCTuCba8P3U4Iiydrebx/PREVIEW_SCREENSHOT2_50146.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP1018/CUSA00083_00/FREE_CONTENTRdiNMpLzTYzjQP6hTqR2/PREVIEW_SCREENSHOT3_50146.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP1018/CUSA00083_00/FREE_CONTENTRdiNMpLzTYzjQP6hTqR2/PREVIEW_SCREENSHOT3_50146.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Battlefield 4™ Premium Edition gives you new maps, modes, and more in one simple package. Complete challenging assignments to unlock new weapons.","Dominate tactical challenges in a huge interactive environment — demolish buildings shielding your enemies, lead an assault from the back of a gun boat, or make a little C4 go a long way.","In massive 64-player battles, use all your resources and play to your strengths to carve your own path to victory.Key features Dynamic battlefields — Interactive environments react to your actions in real-time, so you can trigger a shipwreck or…","Your opponents won't know what hit 'em.","More vehicles, more freedom — Control the battlefield with dozens of vehicles, from helicopters and stealth jets to gunboats and anti-airs, all designed to give you an edge on massive, chaotic maps.","An intense single-player campaign — With international tensions running high, you’ll need to evacuate critical American VIPs from Shanghai and battle against the odds to get your squad home."],"shots":[{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1238860/ss_8cd5ec2e4bf1986bc01265db93f184e38e3b1236.1920x1080.jpg?t=1777391884","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1238860/ss_8cd5ec2e4bf1986bc01265db93f184e38e3b1236.600x338.jpg?t=1777391884"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1238860/ss_03f32767fd67f15723ffcd68c92e425265a0ca3d.1920x1080.jpg?t=1777391884","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1238860/ss_03f32767fd67f15723ffcd68c92e425265a0ca3d.600x338.jpg?t=1777391884"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1238860/ss_006c4f68fb8389d8753bb87ba6a37903591d1ec1.1920x1080.jpg?t=1777391884","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1238860/ss_006c4f68fb8389d8753bb87ba6a37903591d1ec1.600x338.jpg?t=1777391884"}],"summary":"Embrace unrivaled destruction in Battlefield 4™. Revel in the glorious chaos of all-out war packed with rewarding, tactical challenges in an interactive environment."}
+1
View File
@@ -0,0 +1 @@
{"about":["The Order: 1886™ introduces players to a unique vision of Victorian-Era London where Man uses advanced technology to battle a powerful and ancient foe.","As Galahad, a member of an elite order of Knights, join a centuries-old war against a powerful threat that will determine the course of history forever in this intense third-person action-adventure shooter, available exclusively on the…","• Where history and myth collide – Assume the role of Galahad, one of the most experienced Knights of The Order, and enter a unique vision of Victorian-Era London that fuses real historical figures and events with new twists on familiar myths…","Rebels declare all-out war on The Order and the police state they represent, while mankind’s true enemy, a powerful and ancient foe known as Half-breeds grows in strength and numbers in and around the city."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP9000/CUSA00785_00/FREE_CONTENTlfhhSt2Jez0x3rhRlVVO/PREVIEW_SCREENSHOT2_72203.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP9000/CUSA00785_00/FREE_CONTENTlfhhSt2Jez0x3rhRlVVO/PREVIEW_SCREENSHOT2_72203.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP9000/CUSA00785_00/FREE_CONTENTmodukFEa8eRVDhATrhhV/PREVIEW_SCREENSHOT3_72203.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP9000/CUSA00785_00/FREE_CONTENTmodukFEa8eRVDhATrhhV/PREVIEW_SCREENSHOT3_72203.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP9000/CUSA00785_00/FREE_CONTENTlKzQR85ydufdqMCxc1nH/PREVIEW_SCREENSHOT4_72203.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP9000/CUSA00785_00/FREE_CONTENTlKzQR85ydufdqMCxc1nH/PREVIEW_SCREENSHOT4_72203.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Online features for Sound Shapes will no longer be playable from January 31, 2019 at 12:00 PM PT. Functionality will be affected in the following ways: o You will be able to play the campaign and all DLC purchases as well as create your own levels.","o You will not be able to share your levels with the community or download community created levels.","Now available on PS4™, PS3™, and PS Vita systems.","Part platformer, part music creator, Sound Shapes™ is the award winning & critically acclaimed game from Queasy Games (Everyday Shooter) that combines sight and sound into a truly unique gaming experience.","Play through albums by Beck, deadmau5, and Jim Guthrie all beautifully illustrated by artists from Capy (SUPER TIME FORCE, Might & Magic: COH), Pyramid Attack (Jabbawaki, Guitar Hero), and Superbrothers (Sword & Sworcery).","And when you've completed the Campaign, flip through the Community Milkcrate for a selection of developer and guest curated albums that feature the best of the best from the Sound Shapes community OR check out the Level Editor (a full-on music…"],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Experience award-winning Flower™, now available on PS4™, PS3™, and PS Vita systems. Flower™ lets you take control of the wind as you explore and navigate beautiful, lush environments using the SIXAXIS™ motion controls.","Journey through varied landscapes at your own pace, interacting with and changing the environment as you go, and find balance and harmony in your surroundings.","This is an interactive escape that takes you on an emotional journey like no other game you've ever experienced.","Key Features:• Simple Gameplay Controls – Controlling the game is as simple as tilting the SIXAXIS™ wireless controller in the direction you want to go.• Lush and Interactive Environments – Vast grassy fields, blowing in the breeze…","For one price, get Flower™ on PS4™, PS3™ and PlayStation®Vita systems. Purchase it on your PS4™ system and it will automatically appear for download on your PS3™ and PS Vita systems at no additional cost."],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":[],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Pinball Arcade is the most realistic and comprehensive pinball simulation ever created!","Play digital version of real pinball tables like Ghostbusers®, Star Trek®, AC/DC®, and many others! Along with online tournaments and additional modes to challenge yourself and compete against your friends.","Note: The following tables are cross-buy with Stern Pinball Arcade."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP2058/CUSA00081_00/FREE_CONTENTgg4UvCjTajKOxu2NMgN3/PREVIEW_SCREENSHOT1_49280.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP2058/CUSA00081_00/FREE_CONTENTgg4UvCjTajKOxu2NMgN3/PREVIEW_SCREENSHOT1_49280.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP2058/CUSA00081_00/FREE_CONTENTPa4JmykN1Ig9ylPKTgoN/PREVIEW_SCREENSHOT2_49280.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP2058/CUSA00081_00/FREE_CONTENTPa4JmykN1Ig9ylPKTgoN/PREVIEW_SCREENSHOT2_49280.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP2058/CUSA00081_00/FREE_CONTENTZxnXINuBUyWFP378nTj0/PREVIEW_SCREENSHOT3_49280.png?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP2058/CUSA00081_00/FREE_CONTENTZxnXINuBUyWFP378nTj0/PREVIEW_SCREENSHOT3_49280.png?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["The Definitive Edition of the critically acclaimed action-adventure has been rebuilt for next-gen consoles, featuring an obsessively detailed Lara and a stunningly lifelike world.","Endure high-octane combat, customize weapons and gear, and overcome grueling environments to survive Lara’s first adventure.","Additional hardware required for Remote Play."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP0082/CUSA00107_00/FREE_CONTENT3c61Jniwk7iMtJ88Bqe1/PREVIEW_SCREENSHOT1_51421.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0082/CUSA00107_00/FREE_CONTENT3c61Jniwk7iMtJ88Bqe1/PREVIEW_SCREENSHOT1_51421.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0082/CUSA00107_00/FREE_CONTENTetEcurvoVxjtBJrZFWTf/PREVIEW_SCREENSHOT2_51421.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0082/CUSA00107_00/FREE_CONTENTetEcurvoVxjtBJrZFWTf/PREVIEW_SCREENSHOT2_51421.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP0082/CUSA00107_00/FREE_CONTENTaWF7SAyAUtA2iSGXqfmS/PREVIEW_SCREENSHOT3_51421.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP0082/CUSA00107_00/FREE_CONTENTaWF7SAyAUtA2iSGXqfmS/PREVIEW_SCREENSHOT3_51421.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Batman™: Arkham Knight brings the award-winning Arkham trilogy from Rocksteady Studios to its epic conclusion. Developed exclusively for New-Gen platforms, Batman: Arkham Knight introduces Rocksteady's uniquely designed version of the Batmobile.","The highly anticipated addition of this legendary vehicle, combined with the acclaimed gameplay of the Arkham series, offers gamers the ultimate and complete Batman experience as they tear through the streets and soar across the skyline of the…","In this explosive finale, Batman faces the ultimate threat against the city that he is sworn to protect, as Scarecrow returns to unite the super criminals of Gotham and destroy the Batman forever.Product Features: “Be The Batman” – Live the…","Players will become The World’s Greatest Detective like never before with the introduction of the Batmobile and enhancements to signature features such as FreeFlow Combat, stealth, forensics and navigation.","Introducing the Batmobile – The Batmobile is brought to life with a completely new and original design featuring a distinct visual appearance and a full range of on-board high-tech gadgetry.","Designed to be fully drivable throughout the game world and capable of transformation from high speed pursuit mode to military grade battle mode, this legendary vehicle sits at the heart of the game’s design and allows players to tear through…"],"shots":[{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/208650/ss_90026e46a995760d53bfa2dc1612b73960c84c94.1920x1080.jpg?t=1745534372","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/208650/ss_90026e46a995760d53bfa2dc1612b73960c84c94.600x338.jpg?t=1745534372"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/208650/ss_4c9d5fb849b1a7169184a37db000919b276056fe.1920x1080.jpg?t=1745534372","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/208650/ss_4c9d5fb849b1a7169184a37db000919b276056fe.600x338.jpg?t=1745534372"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/208650/ss_5da3185e4f7da999300555747be6b84b8f16164f.1920x1080.jpg?t=1745534372","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/208650/ss_5da3185e4f7da999300555747be6b84b8f16164f.600x338.jpg?t=1745534372"}],"summary":"Batman™: Arkham Knight brings the award-winning Arkham trilogy from Rocksteady Studios to its epic conclusion. Developed exclusively for New-Gen platforms, Batman: Arkham Knight introduces Rocksteady's uniquely designed version of the Batmobile."}
+1
View File
@@ -0,0 +1 @@
{"about":["Online servers are no longer available.","Welcome to Redview County, where a street-racing rivalry between cops and racers never stops as both sides compete in an all-out war featuring the fastest cars, mods and technology in a gritty open road environment.","Play as either a cop or racer, where each side of the law has its own set of high stakes challenges, rewards and consequences. Risk everything in the ultimate high stakes rivalry."],"shots":[{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1262600/ss_973335e826e450b176fdc5e54c003ffbdf48a8c2.1920x1080.jpg?t=1777394510","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1262600/ss_973335e826e450b176fdc5e54c003ffbdf48a8c2.600x338.jpg?t=1777394510"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1262600/ss_25ed9eea91e7d3d582eebc4d3df2a03cbc4ac295.1920x1080.jpg?t=1777394510","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1262600/ss_25ed9eea91e7d3d582eebc4d3df2a03cbc4ac295.600x338.jpg?t=1777394510"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1262600/ss_e8801aa10a3a3089d34672a7e28bcb9d711c8d46.1920x1080.jpg?t=1777394510","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1262600/ss_e8801aa10a3a3089d34672a7e28bcb9d711c8d46.600x338.jpg?t=1777394510"}],"summary":"Erase the line between single player and multiplayer in this street-racing rivalry between Cops and Racers. Seamlessly join a world where your friends are already racing and chasing"}
+1
View File
@@ -0,0 +1 @@
{"about":["Experience award-winning flOw, now available on PS4™, PS3™, and PS Vita systems.flOw is a game about piloting an aquatic organism through a surreal biosphere where players consume other organisms, evolve, and dive into the abyss.","With an embedded design of DDA (dynamic difficulty adjustment), players with differing skill levels can intuitively customize their game experience and enjoy the game at their own pace.You can play as one of 5 creatures, each in a unique environment.","Lose yourself in the crisp “deep blue” in an organic experience that will allow you to glide, flit, and flOw through the universe.Full game key features:-Vibrant environments in full 1080p HD-Gameplay dynamically adjusts to the player's…","For one price, get flOw on PS4™, PS3™ and PlayStation®Vita systems. Purchase it on your PS4™ system and it will automatically appear for download on your PS3™ and PS Vita systems at no additional cost."],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":[],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Worms™ Battlegrounds brings friends and families together in the noble pursuit of self‐improvement, world domination and exploding sheep.","Form Clans, Take On The World Join together with friends and other Worms™ Battlegrounds players to form a fearsome team name your clan, design your own emblem, promote other players to act as leaders and officers.","Enter your clan into the league and fight together to make your mark on the leaderboards. Nobody wants an empty trophy cabinet!","Story Mode’ adds a ton of variety by introducing physics based contraptions for the first time ever. A plethora of interesting machinery spices up the gameplay, and makes solo Worms™ much more fun!","The single‐player game isn’t only about dealing death and destruction, it’s also about negotiating tricky swinging rope bridges and rescuing friendlies from death defying traps!","The player spends much more time playing, and much less time waiting for their A.I. opponent to take a shot."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP4064/CUSA00192_00/FREE_CONTENT7RVXkzgqFvoLSDNNecf5/PREVIEW_SCREENSHOT1_53765.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP4064/CUSA00192_00/FREE_CONTENT7RVXkzgqFvoLSDNNecf5/PREVIEW_SCREENSHOT1_53765.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP4064/CUSA00192_00/FREE_CONTENTQZC7oxH749AMbuoAKPaO/PREVIEW_SCREENSHOT2_53765.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP4064/CUSA00192_00/FREE_CONTENTQZC7oxH749AMbuoAKPaO/PREVIEW_SCREENSHOT2_53765.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP4064/CUSA00192_00/FREE_CONTENTabV3ViSGhVwUr2oKyW0c/PREVIEW_SCREENSHOT3_53765.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP4064/CUSA00192_00/FREE_CONTENTabV3ViSGhVwUr2oKyW0c/PREVIEW_SCREENSHOT3_53765.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["When the sky opens up and rains down chaos, the world needs heroes. Become the savior of Thedas in Dragon Age: Inquisition – Game of the Year Edition. You are the Inquisitor, tasked with saving the world from itself.","But the road ahead is paved with difficult decisions. Thedas is a land of strife. Factions constantly war with each other even as a larger demonic invasion has begun. And you? You and your band of champions are the only ones who can hold it together.","It’s your job to lead them...or fall.","Enthralling, choice-driven narrative — You’re not just deciding who to send into which battle in Inquisition; you’re making important decisions that shape the future of Thedas.","Each choice carries weight, and your actions can lead to a variety of outcomes.","Inquisition is a highly personalized journey, where one wrong move could set in motion a series of events that alters the physical aspects of the world itself, making your Thedas — and your heroes — feel truly unique."],"shots":[{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1222690/ss_4c90bdbb1c2567edec0778f2e8956d1a8ff1b4c3.1920x1080.jpg?t=1779987585","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1222690/ss_4c90bdbb1c2567edec0778f2e8956d1a8ff1b4c3.600x338.jpg?t=1779987585"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1222690/ss_a106df995b9051e24ebe5abdec168ea3495bfda4.1920x1080.jpg?t=1779987585","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1222690/ss_a106df995b9051e24ebe5abdec168ea3495bfda4.600x338.jpg?t=1779987585"},{"url":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1222690/ss_e8e2d622313d983fc9eb3fd824a2e0401c247780.1920x1080.jpg?t=1779987585","thumb":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1222690/ss_e8e2d622313d983fc9eb3fd824a2e0401c247780.600x338.jpg?t=1779987585"}],"summary":"Winner of over 130 Game of the Year awards, discover the definitive Dragon Age: Inquisition experience. The Game of the Year Edition includes the critically acclaimed game, all three official add-ons - Jaws of Hakkon, The Descent, and Trespasser…"}
+1
View File
@@ -0,0 +1 @@
{"about":["inFAMOUS Second Son, a PlayStation 4 exclusive , brings you an action adventure game where surrounded by a society that fears them, superhumans are ruthlessly hunted down and caged by the Department of Unified Protection.","Step into a locked-down Seattle as Delsin Rowe, who has recently discovered his superhuman power and is now capable of fighting back against the oppressive DUP.","Enjoy your power as you choose how you will push your awesome abilities to the limit and witness the consequences of your actions as they affect the city and people around you."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP9000/CUSA00223_00/FREE_CONTENTof7RbczFsgnCGBXKzfSY/PREVIEW_SCREENSHOT1_56814.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP9000/CUSA00223_00/FREE_CONTENTof7RbczFsgnCGBXKzfSY/PREVIEW_SCREENSHOT1_56814.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP9000/CUSA00223_00/FREE_CONTENTHai72R3muzyROnkZQhcZ/PREVIEW_SCREENSHOT2_56814.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP9000/CUSA00223_00/FREE_CONTENTHai72R3muzyROnkZQhcZ/PREVIEW_SCREENSHOT2_56814.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP9000/CUSA00223_00/FREE_CONTENTWdqw2fZrc59kYPbaxZCl/PREVIEW_SCREENSHOT3_56814.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP9000/CUSA00223_00/FREE_CONTENTWdqw2fZrc59kYPbaxZCl/PREVIEW_SCREENSHOT3_56814.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["Trine 2: Complete Story is a beautiful, award-winning sidescrolling game of action, puzzles and platforming.","Play as the three Heroes - Amadeus the Wizard, Pontius the Knight, and Zoya the Thief - and join their adventure through dangers untold in a fantastical fairytale world, including physics-based puzzles using fire, water, gravity and magic wicked…","Features: - 20 levels chock-full of adventure, hazards, physics-based puzzles, dangerous enemies and curious contraptions - Travel through breathtaking environments, including a castle by the treacherous sea, a burning desert and snowy ice…","Visit www.us.playstation.com/support/3D for details."],"shots":[{"url":"https://image.api.playstation.com/cdn/UP4029/CUSA00234_00/FREE_CONTENTZEYzwm1jbvDDpMVjLHUr/PREVIEW_SCREENSHOT1_49341.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP4029/CUSA00234_00/FREE_CONTENTZEYzwm1jbvDDpMVjLHUr/PREVIEW_SCREENSHOT1_49341.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP4029/CUSA00234_00/FREE_CONTENTeyvm08XxibwsGiWuhsU5/PREVIEW_SCREENSHOT2_49341.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP4029/CUSA00234_00/FREE_CONTENTeyvm08XxibwsGiWuhsU5/PREVIEW_SCREENSHOT2_49341.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP4029/CUSA00234_00/FREE_CONTENT1xKZtIzHmzFOh9N5UCor/PREVIEW_SCREENSHOT3_49341.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP4029/CUSA00234_00/FREE_CONTENT1xKZtIzHmzFOh9N5UCor/PREVIEW_SCREENSHOT3_49341.jpg?w=256&thumb=false"}],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":["DARE YOU ENTER THE CITY OF THE DEAD?Run-and-gun through the zombie apocalypse as hit arcade shooter Dead Nation™ shuffles onto PlayStation®4.Fight for your life alone or with a friend as Jack McReady or Scarlett Blake as you step onto the…"],"shots":[],"summary":""}
+1
View File
@@ -0,0 +1 @@
{"about":[],"shots":[],"summary":""}
Loaded 100 of 4590 files, more files were not shown because too many files have changed in this diff. Show more