tangled
alpha
login
or
join now
tokono.ma
/
diffuse-artifacts
0
fork
atom
Content-addressed version deploy system for Diffuse
elements.diffuse.sh
0
fork
atom
overview
issues
pulls
pipelines
chore: deploy 4.0.0-alpha update
Steven Vandevelde
3 weeks ago
418d4c79
6f0d9cfe
+4811
-2
632 changed files
expand all
collapse all
unified
split
artifacts
artifacts.json
bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray
APEv2Parser-JBT6ZPPL.js
APEv2Parser-JBT6ZPPL.js.map
AiffParser-7J3JIU4R.js
AiffParser-7J3JIU4R.js.map
AsfParser-K6K2MCFT.js
AsfParser-K6K2MCFT.js.map
DsdiffParser-RX5L67QC.js
DsdiffParser-RX5L67QC.js.map
DsfParser-SEGRVUZ3.js
DsfParser-SEGRVUZ3.js.map
FlacParser-JAF54BZM.js
FlacParser-JAF54BZM.js.map
MP4Parser-TI5DETOV.js
MP4Parser-TI5DETOV.js.map
MatroskaParser-2BD5GINE.js
MatroskaParser-2BD5GINE.js.map
MpegParser-BNW6GDHZ.js
MpegParser-BNW6GDHZ.js.map
MusepackParser-AOTNNUS6.js
MusepackParser-AOTNNUS6.js.map
OggParser-UNPX7QR4.js
OggParser-UNPX7QR4.js.map
WavPackParser-BRAHRFOP.js
WavPackParser-BRAHRFOP.js.map
WaveParser-EPX6CXTY.js
WaveParser-EPX6CXTY.js.map
android-chrome-192x192.png
android-chrome-512x512.png
apple-touch-icon.png
browserconfig.xml
chunk-242LG3VP.js
chunk-242LG3VP.js.map
chunk-26GILFF4.js
chunk-26GILFF4.js.map
chunk-2E662X3X.js
chunk-2E662X3X.js.map
chunk-3AO35WC3.js
chunk-3AO35WC3.js.map
chunk-3CXPPL5Z.js
chunk-3CXPPL5Z.js.map
chunk-3ENCKNXO.js
chunk-3ENCKNXO.js.map
chunk-3HY7HXXJ.js
chunk-3HY7HXXJ.js.map
chunk-3IXJYTB6.js
chunk-3IXJYTB6.js.map
chunk-3THWHK2M.js
chunk-3THWHK2M.js.map
chunk-4LOJTZ72.js
chunk-4LOJTZ72.js.map
chunk-4YB6QUPN.js
chunk-4YB6QUPN.js.map
chunk-676R57TH.js
chunk-676R57TH.js.map
chunk-6CB2LXND.js
chunk-6CB2LXND.js.map
chunk-6DKPDMFE.js
chunk-6DKPDMFE.js.map
chunk-6DRHTH2U.js
chunk-6DRHTH2U.js.map
chunk-6JNRNMZQ.js
chunk-6JNRNMZQ.js.map
chunk-6KMZB5IA.js
chunk-6KMZB5IA.js.map
chunk-6WKBRQHS.js
chunk-6WKBRQHS.js.map
chunk-77ZY4GQV.js
chunk-77ZY4GQV.js.map
chunk-7BHFTEJL.js
chunk-7BHFTEJL.js.map
chunk-7SBFGDAO.js
chunk-7SBFGDAO.js.map
chunk-7XAKBJEU.js
chunk-7XAKBJEU.js.map
chunk-AHN37DQ6.js
chunk-AHN37DQ6.js.map
chunk-B63ZUKFI.js
chunk-B63ZUKFI.js.map
chunk-BKRD2ZIW.js
chunk-BKRD2ZIW.js.map
chunk-BLEJHIYA.js
chunk-BLEJHIYA.js.map
chunk-CMU4QLMC.js
chunk-CMU4QLMC.js.map
chunk-CRZ7HJJ4.js
chunk-CRZ7HJJ4.js.map
chunk-DDF5P57I.js
chunk-DDF5P57I.js.map
chunk-EEUCFWD4.js
chunk-EEUCFWD4.js.map
chunk-ESYALJPH.js
chunk-ESYALJPH.js.map
chunk-F27JDJI2.js
chunk-F27JDJI2.js.map
chunk-FAW4EB7G.js
chunk-FAW4EB7G.js.map
chunk-FJAAY3PY.js
chunk-FJAAY3PY.js.map
chunk-FJBTJV3K.js
chunk-FJBTJV3K.js.map
chunk-FPIXTJ7E.js
chunk-FPIXTJ7E.js.map
chunk-FVLUJBZP.js
chunk-FVLUJBZP.js.map
chunk-FZQXS3RE.js
chunk-FZQXS3RE.js.map
chunk-G4P4YFWD.js
chunk-G4P4YFWD.js.map
chunk-G56PUJUJ.js
chunk-G56PUJUJ.js.map
chunk-GASLBSUN.js
chunk-GASLBSUN.js.map
chunk-GCLDJKYV.js
chunk-GCLDJKYV.js.map
chunk-GQIBEDKG.js
chunk-GQIBEDKG.js.map
chunk-GX3WPNEX.js
chunk-GX3WPNEX.js.map
chunk-H3WG7GN4.js
chunk-H3WG7GN4.js.map
chunk-HDFVYYOI.js
chunk-HDFVYYOI.js.map
chunk-HMBZONBJ.js
chunk-HMBZONBJ.js.map
chunk-HN4F5JEZ.js
chunk-HN4F5JEZ.js.map
chunk-HNJPKCUJ.js
chunk-HNJPKCUJ.js.map
chunk-IGKYDHDK.js
chunk-IGKYDHDK.js.map
chunk-J67JY2AB.js
chunk-J67JY2AB.js.map
chunk-JBHW662S.js
chunk-JBHW662S.js.map
chunk-JEGKC6HA.js
chunk-JEGKC6HA.js.map
chunk-JZMTETBD.js
chunk-JZMTETBD.js.map
chunk-KJFA7KRK.js
chunk-KJFA7KRK.js.map
chunk-M2MAFKPM.js
chunk-M2MAFKPM.js.map
chunk-MKOANARL.js
chunk-MKOANARL.js.map
chunk-MVUUUQRL.js
chunk-MVUUUQRL.js.map
chunk-NBQPHQFP.js
chunk-NBQPHQFP.js.map
chunk-NKNZGHQG.js
chunk-NKNZGHQG.js.map
chunk-NP7LZHKR.js
chunk-NP7LZHKR.js.map
chunk-NSJY6VZI.js
chunk-NSJY6VZI.js.map
chunk-NZ7ODGIJ.js
chunk-NZ7ODGIJ.js.map
chunk-OBWEBS4T.js
chunk-OBWEBS4T.js.map
chunk-OIRYE7B4.js
chunk-OIRYE7B4.js.map
chunk-PJWFBDSG.js
chunk-PJWFBDSG.js.map
chunk-PKN6FN7E.js
chunk-PKN6FN7E.js.map
chunk-PTVB4Y37.js
chunk-PTVB4Y37.js.map
chunk-QERJLR3Q.js
chunk-QERJLR3Q.js.map
chunk-QXBWZVFE.js
chunk-QXBWZVFE.js.map
chunk-R3EQQDW5.js
chunk-R3EQQDW5.js.map
chunk-S6SMX4HA.js
chunk-S6SMX4HA.js.map
chunk-SGR5ST3A.js
chunk-SGR5ST3A.js.map
chunk-SVYFDHZC.js
chunk-SVYFDHZC.js.map
chunk-T2ADV37I.js
chunk-T2ADV37I.js.map
chunk-T6JAPJ7J.js
chunk-T6JAPJ7J.js.map
chunk-TP5GZFTO.js
chunk-TP5GZFTO.js.map
chunk-TSYF7OPM.js
chunk-TSYF7OPM.js.map
chunk-TXU4RB3O.js
chunk-TXU4RB3O.js.map
chunk-U5LVPDQM.js
chunk-U5LVPDQM.js.map
chunk-UMMPFCLQ.js
chunk-UMMPFCLQ.js.map
chunk-V7EQPFPD.js
chunk-V7EQPFPD.js.map
chunk-WN6GL63Q.js
chunk-WN6GL63Q.js.map
chunk-X6J7NMRW.js
chunk-X6J7NMRW.js.map
chunk-XGM6M423.js
chunk-XGM6M423.js.map
chunk-XMHD7DTB.js
chunk-XMHD7DTB.js.map
chunk-XRGLBUX4.js
chunk-XRGLBUX4.js.map
chunk-YCKIJVMK.js
chunk-YCKIJVMK.js.map
chunk-YEYOLW6N.js
chunk-YEYOLW6N.js.map
chunk-YV3SRJQF.js
chunk-YV3SRJQF.js.map
chunk-Z2SJTSR2.js
chunk-Z2SJTSR2.js.map
chunk-ZQZJJU3T.js
chunk-ZQZJJU3T.js.map
common
cid.js
cid.js.map
compare.js
compare.js.map
element.js
element.js.map
facets
foundation.js
foundation.js.map
utils.js
utils.js.map
loader.js
loader.js.map
playlist.js
playlist.js.map
signal.js
signal.js.map
themes
utils.js
utils.js.map
track.js
track.js.map
utils.js
utils.js.map
worker
rpc-channel.js
rpc-channel.js.map
worker.js
worker.js.map
components
configurator
input
element.js
element.js.map
worker.js
worker.js.map
output
element.js
element.js.map
engine
audio
element.js
element.js.map
queue
element.js
element.js.map
worker.js
worker.js.map
repeat-shuffle
element.js
element.js.map
scope
element.js
element.js.map
input
common.js
common.js.map
https
common.js
common.js.map
constants.js
constants.js.map
element.js
element.js.map
worker.js
worker.js.map
opensubsonic
class.js
class.js.map
common.js
common.js.map
constants.js
constants.js.map
element.js
element.js.map
worker.js
worker.js.map
s3
common.js
common.js.map
constants.js
constants.js.map
element.js
element.js.map
worker.js
worker.js.map
orchestrator
auto-queue
element.js
element.js.map
favourites
common.js
common.js.map
element.js
element.js.map
worker.js
worker.js.map
input
element.js
element.js.map
media-session
element.js
element.js.map
output
element.js
element.js.map
process-tracks
element.js
element.js.map
worker.js
worker.js.map
queue-audio
element.js
element.js.map
scoped-tracks
element.js
element.js.map
sources
element.js
element.js.map
output
bytes
s3
constants.js
constants.js.map
element.js
element.js.map
worker.js
worker.js.map
common.js
common.js.map
polymorphic
indexed-db
constants.js
constants.js.map
element.js
element.js.map
raw
atproto
element.js
element.js.map
oauth.js
oauth.js.map
processor
artwork
constants.js
constants.js.map
element.js
element.js.map
worker.js
worker.js.map
metadata
common.js
common.js.map
element.js
element.js.map
worker.js
worker.js.map
search
constants.js
constants.js.map
element.js
element.js.map
worker.js
worker.js.map
transformer
output
base.js
base.js.map
bytes
automerge
constants.js
constants.js.map
element.js
element.js.map
utils.js
utils.js.map
dasl-sync
constants.js
constants.js.map
element.js
element.js.map
json
element.js
element.js.map
raw
atproto-sync
element.js
element.js.map
refiner
default
element.js
element.js.map
track-uri-passkey
element.js
element.js.map
passkey.js
passkey.js.map
string
json
element.js
element.js.map
definitions
index.ts
output
collaboration.json
facet.json
playlistItem.json
playlistItemBundle.json
theme.json
track.json
trackBundle.json
facets
examples
generate-playlist.html.txt
now-playing.html.txt
index.html
index.js
index.js.map
l
index.html
index.js
index.js.map
tools
auto-queue.html.txt
v3-import.html.txt
favicon-16x16.png
favicon-32x32.png
favicon.ico
fonts
CommitMonoVariable.woff2
InterVariable-Italic.woff2
InterVariable.woff2
ms_sans_serif.woff2
ms_sans_serif_bold.woff2
images
background
1.jpg
10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg
17.jpg
18.jpg
19.jpg
2.jpg
20.jpg
21.jpg
22.jpg
23.jpg
24.jpg
25.jpg
26.jpg
27.jpg
28.jpg
29.jpg
3.jpg
30.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
thumbnails
1.jpg
10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg
17.jpg
18.jpg
19.jpg
2.jpg
20.jpg
21.jpg
22.jpg
23.jpg
24.jpg
25.jpg
26.jpg
27.jpg
28.jpg
29.jpg
3.jpg
30.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
diffuse-current.svg
diffuse-dark.svg
diffuse-grey.svg
diffuse-light.svg
diffuse__icon-dark.svg
diffuse__icon-grey.svg
diffuse__icon-light.svg
icon-square-ws.png
icon-square.png
icon.png
icons
windows_98
catalog-1.png
cd_audio_cd_a-0.png
cd_audio_cd_a-2.png
cd_audio_cd_a-3.png
cd_audio_cd_a-4.png
cd_drive-0.png
cd_drive_purple-3.png
channels-2.png
check-0.png
computer_sound-0.png
computer_user_pencil-0.png
connected_world-0.png
directory_admin_tools-3.png
directory_admin_tools-5.png
directory_channels-2.png
directory_channels-3.png
directory_closed-3.png
directory_closed-4.png
directory_control_panel-2.png
directory_control_panel-3.png
directory_explorer-4.png
directory_explorer-5.png
directory_favorites-2.png
directory_favorites-4.png
directory_net_web-3.png
directory_net_web-4.png
directory_network_conn-3.png
directory_network_conn-5.png
directory_open_file_mydocs_2k-3.png
directory_open_file_mydocs_2k-4.png
gears-0.png
globe_map-0.png
help_book_big-0.png
installer-3.png
installer_generic_old-0.png
keys-5.png
loudspeaker_wave-0.png
magnifying_glass-0.png
magnifying_glass_4-1.png
media_player-0.png
media_player_stream_no.png
ms_dos-1.png
msg_error-0.png
msg_information-0.png
msg_question-0.png
msg_warning-0.png
multimedia-4.png
network_drive_world-0.png
no-1.png
restrict-1.png
search_computer-0.png
search_server-1.png
search_web-0.png
settings_gear-0.png
settings_gear-2.png
tip.png
utopia_smiley.png
winamp2-32x32.png
windows-0.png
world-2.png
world-4.png
world_network_directories-3.png
index.html
index.js
index.js.map
mstile-150x150.png
node_crypto-QYMDOTAM.js
node_crypto-QYMDOTAM.js.map
oauth
callback
index.html
index.js
index.js.map
oauth-client-metadata.json
oauth-client-metadata.tunnel.json
safari-pinned-tab.svg
styles
animations.css
animations.css.map
base.css
base.css.map
diffuse
colors.css
colors.css.map
fonts.css
fonts.css.map
page.css
page.css.map
font-faces.css
font-faces.css.map
loader.css
loader.css.map
reset.css
reset.css.map
variables.css
variables.css.map
vendor
98.css
98.css.map
ms_sans_serif.woff2
ms_sans_serif_bold.woff2
phosphor
bold
Phosphor-Bold.svg
Phosphor-Bold.ttf
Phosphor-Bold.woff
Phosphor-Bold.woff2
style.css
style.css.map
fill
Phosphor-Fill.svg
Phosphor-Fill.ttf
Phosphor-Fill.woff
Phosphor-Fill.woff2
style.css
style.css.map
wireframe
ui.css
ui.css.map
testing
index.html
output
index.html
output.js
output.js.map
sample
tracks.js
tracks.js.map
themes
blur
artwork-controller
element.css
element.css.map
element.js
element.js.map
facet.html.txt
index.css
index.css.map
index.html
index.js
index.js.map
variables.css
variables.css.map
index.html
index.js
index.js.map
l
index.css
index.css.map
index.html
index.js
index.js.map
webamp
98-extra.css
98-extra.css.map
98-vars.css
98-vars.css.map
browser
element.js
element.js.map
facet.html.txt
common
ui.js
ui.js.map
configurators
input
element.js
element.js.map
facet.html.txt
output
element.js
element.js.map
facet.html.txt
facet.css
facet.css.map
fonts.css
fonts.css.map
index.css
index.css.map
index.html
index.js
index.js.map
webamp
element.js
element.js.map
window
element.js
element.js.map
window-manager
element.js
element.js.map
vendor
@atcute
tid
index.js
index.js.map
versions.json
+5
artifacts/artifacts.json
···
203
203
"cid": "bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu",
204
204
"createdAt": "2026-03-01T10:15:55.972Z",
205
205
"version": "4.0.0-alpha"
206
206
+
},
207
207
+
"bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray": {
208
208
+
"cid": "bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray",
209
209
+
"createdAt": "2026-03-01T13:51:12.415Z",
210
210
+
"version": "4.0.0-alpha"
206
211
}
207
212
}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/APEv2Parser-JBT6ZPPL.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/APEv2Parser-JBT6ZPPL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/APEv2Parser-JBT6ZPPL.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/APEv2Parser-JBT6ZPPL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AiffParser-7J3JIU4R.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AiffParser-7J3JIU4R.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AiffParser-7J3JIU4R.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AiffParser-7J3JIU4R.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AsfParser-K6K2MCFT.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AsfParser-K6K2MCFT.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AsfParser-K6K2MCFT.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AsfParser-K6K2MCFT.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsdiffParser-RX5L67QC.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsdiffParser-RX5L67QC.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsdiffParser-RX5L67QC.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsdiffParser-RX5L67QC.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsfParser-SEGRVUZ3.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsfParser-SEGRVUZ3.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsfParser-SEGRVUZ3.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsfParser-SEGRVUZ3.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/FlacParser-JAF54BZM.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/FlacParser-JAF54BZM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/FlacParser-JAF54BZM.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/FlacParser-JAF54BZM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MP4Parser-TI5DETOV.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MP4Parser-TI5DETOV.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MP4Parser-TI5DETOV.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MP4Parser-TI5DETOV.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MatroskaParser-2BD5GINE.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MatroskaParser-2BD5GINE.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MpegParser-BNW6GDHZ.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MpegParser-BNW6GDHZ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MpegParser-BNW6GDHZ.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MpegParser-BNW6GDHZ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MusepackParser-AOTNNUS6.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MusepackParser-AOTNNUS6.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MusepackParser-AOTNNUS6.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MusepackParser-AOTNNUS6.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/OggParser-UNPX7QR4.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/OggParser-UNPX7QR4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/OggParser-UNPX7QR4.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/OggParser-UNPX7QR4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WavPackParser-BRAHRFOP.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WavPackParser-BRAHRFOP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WavPackParser-BRAHRFOP.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WavPackParser-BRAHRFOP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WaveParser-EPX6CXTY.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WaveParser-EPX6CXTY.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WaveParser-EPX6CXTY.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WaveParser-EPX6CXTY.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/android-chrome-192x192.png
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-192x192.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/android-chrome-512x512.png
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-512x512.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/apple-touch-icon.png
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/apple-touch-icon.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/browserconfig.xml
···
1
1
+
../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/browserconfig.xml
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-242LG3VP.js
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-242LG3VP.js.map
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-26GILFF4.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-26GILFF4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-26GILFF4.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-26GILFF4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-2E662X3X.js
···
1
1
+
../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-2E662X3X.js.map
···
1
1
+
../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3AO35WC3.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3AO35WC3.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3AO35WC3.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3AO35WC3.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3CXPPL5Z.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3CXPPL5Z.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3ENCKNXO.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3ENCKNXO.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3ENCKNXO.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3ENCKNXO.js.map
+705
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3HY7HXXJ.js
···
1
1
+
import {
2
2
+
NAME as NAME2
3
3
+
} from "./chunk-BLEJHIYA.js";
4
4
+
import {
5
5
+
NAME as NAME3
6
6
+
} from "./chunk-IGKYDHDK.js";
7
7
+
import {
8
8
+
NAME
9
9
+
} from "./chunk-GASLBSUN.js";
10
10
+
import {
11
11
+
A,
12
12
+
DiffuseElement,
13
13
+
query
14
14
+
} from "./chunk-V7EQPFPD.js";
15
15
+
import {
16
16
+
signal
17
17
+
} from "./chunk-HNJPKCUJ.js";
18
18
+
import {
19
19
+
__name,
20
20
+
init_Buffer,
21
21
+
init_process
22
22
+
} from "./chunk-FZQXS3RE.js";
23
23
+
24
24
+
// themes/webamp/configurators/output/element.js
25
25
+
init_Buffer();
26
26
+
init_process();
27
27
+
var OutputConfig = class extends DiffuseElement {
28
28
+
static {
29
29
+
__name(this, "OutputConfig");
30
30
+
}
31
31
+
constructor() {
32
32
+
super();
33
33
+
this.attachShadow({ mode: "open" });
34
34
+
}
35
35
+
// SIGNALS
36
36
+
$output = signal(
37
37
+
/** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements> | undefined} */
38
38
+
void 0
39
39
+
);
40
40
+
$atproto = signal(
41
41
+
/** @type {ATProtoOutputElement | null} */
42
42
+
null
43
43
+
);
44
44
+
$atprotoPasskey = signal(
45
45
+
/** @type {TrackUriPasskeyTransformer | null} */
46
46
+
null
47
47
+
);
48
48
+
$s3 = signal(
49
49
+
/** @type {S3OutputElement | null} */
50
50
+
null
51
51
+
);
52
52
+
$atprotoError = signal(
53
53
+
/** @type {string | null} */
54
54
+
null
55
55
+
);
56
56
+
$passkeyError = signal(
57
57
+
/** @type {string | null} */
58
58
+
null
59
59
+
);
60
60
+
$passkeyWorking = signal(false);
61
61
+
$tab = signal("overview");
62
62
+
// LIFECYCLE
63
63
+
/** @override */
64
64
+
async connectedCallback() {
65
65
+
super.connectedCallback();
66
66
+
const output = query(this, "output-selector");
67
67
+
await customElements.whenDefined(output.localName);
68
68
+
this.$output.value = output;
69
69
+
const atproto = output.root().querySelector(NAME);
70
70
+
if (atproto) {
71
71
+
this.$atproto.value = /** @type {ATProtoOutputElement} */
72
72
+
atproto;
73
73
+
}
74
74
+
const atprotoPasskey = output.root().querySelector(
75
75
+
`${NAME2}[namespace="atproto"]`
76
76
+
);
77
77
+
if (atprotoPasskey) {
78
78
+
await customElements.whenDefined(NAME2);
79
79
+
this.$atprotoPasskey.value = /** @type {TrackUriPasskeyTransformer} */
80
80
+
atprotoPasskey;
81
81
+
}
82
82
+
const s3 = output.root().querySelector(NAME3);
83
83
+
if (s3) {
84
84
+
this.$s3.value = /** @type {S3OutputElement} */
85
85
+
s3;
86
86
+
}
87
87
+
}
88
88
+
// EVENTS
89
89
+
/** @param {Event} event */
90
90
+
#handleAtprotoLogin = /* @__PURE__ */ __name(async (event) => {
91
91
+
event.preventDefault();
92
92
+
const input = this.root().querySelector("#atproto-handle");
93
93
+
const handle = input?.value?.trim();
94
94
+
if (!handle) return;
95
95
+
const atproto = this.$atproto.value;
96
96
+
if (!atproto) return;
97
97
+
const button = this.root().querySelector("#atproto-submit");
98
98
+
if (button) {
99
99
+
button.disabled = true;
100
100
+
button.textContent = "Loading ...";
101
101
+
}
102
102
+
this.$atprotoError.value = null;
103
103
+
try {
104
104
+
await atproto.login(handle);
105
105
+
} catch (err) {
106
106
+
this.$atprotoError.value = err instanceof Error ? err.message : "login failed";
107
107
+
if (button) {
108
108
+
button.disabled = false;
109
109
+
button.textContent = "Sign in";
110
110
+
}
111
111
+
}
112
112
+
}, "#handleAtprotoLogin");
113
113
+
#handleAtprotoLogout = /* @__PURE__ */ __name(async () => {
114
114
+
const atproto = this.$atproto.value;
115
115
+
if (!atproto) return;
116
116
+
await atproto.logout();
117
117
+
}, "#handleAtprotoLogout");
118
118
+
#handlePasskeySetup = /* @__PURE__ */ __name(async () => {
119
119
+
const passkey = this.$atprotoPasskey.value;
120
120
+
if (!passkey) return;
121
121
+
this.$passkeyError.value = null;
122
122
+
this.$passkeyWorking.value = true;
123
123
+
try {
124
124
+
await passkey.setupPasskey();
125
125
+
} catch (err) {
126
126
+
this.$passkeyError.value = err instanceof Error ? err.message : "Passkey setup failed";
127
127
+
} finally {
128
128
+
this.$passkeyWorking.value = false;
129
129
+
}
130
130
+
}, "#handlePasskeySetup");
131
131
+
#handlePasskeyAdopt = /* @__PURE__ */ __name(async () => {
132
132
+
const passkey = this.$atprotoPasskey.value;
133
133
+
if (!passkey) return;
134
134
+
this.$passkeyError.value = null;
135
135
+
this.$passkeyWorking.value = true;
136
136
+
try {
137
137
+
await passkey.adoptPasskey();
138
138
+
} catch (err) {
139
139
+
this.$passkeyError.value = err instanceof Error ? err.message : "Passkey adoption failed";
140
140
+
} finally {
141
141
+
this.$passkeyWorking.value = false;
142
142
+
}
143
143
+
}, "#handlePasskeyAdopt");
144
144
+
#handlePasskeyRemove = /* @__PURE__ */ __name(async () => {
145
145
+
const passkey = this.$atprotoPasskey.value;
146
146
+
if (!passkey) return;
147
147
+
this.$passkeyError.value = null;
148
148
+
await passkey.removePasskey();
149
149
+
}, "#handlePasskeyRemove");
150
150
+
/** @param {Event} event */
151
151
+
#handleAtprotoActivate = /* @__PURE__ */ __name(async (event) => {
152
152
+
event.preventDefault();
153
153
+
const output = this.$output.value;
154
154
+
if (!output || !("select" in output)) return;
155
155
+
const atproto = this.$atproto.value;
156
156
+
if (!atproto) return;
157
157
+
const option = (await output.options()).find(
158
158
+
(o) => o.label === "AT Protocol"
159
159
+
);
160
160
+
if (option) await output.select(option.id);
161
161
+
}, "#handleAtprotoActivate");
162
162
+
/**
163
163
+
* @param {Event} event
164
164
+
*/
165
165
+
#handleS3SetBucket = /* @__PURE__ */ __name(async (event) => {
166
166
+
event.preventDefault();
167
167
+
const s3 = this.$s3.value;
168
168
+
if (!s3) return;
169
169
+
const button = this.root().querySelector("#s3-submit");
170
170
+
if (button) button.disabled = true;
171
171
+
const accessKey = (
172
172
+
/** @type {HTMLInputElement | null} */
173
173
+
this.root().querySelector(
174
174
+
"#s3-access-key"
175
175
+
)?.value
176
176
+
);
177
177
+
const bucketName = (
178
178
+
/** @type {HTMLInputElement | null} */
179
179
+
this.root().querySelector(
180
180
+
"#s3-bucket-name"
181
181
+
)?.value
182
182
+
);
183
183
+
const host = (
184
184
+
/** @type {HTMLInputElement | null} */
185
185
+
this.root().querySelector(
186
186
+
"#s3-host"
187
187
+
)?.value
188
188
+
);
189
189
+
const path = (
190
190
+
/** @type {HTMLInputElement | null} */
191
191
+
this.root().querySelector(
192
192
+
"#s3-path"
193
193
+
)?.value
194
194
+
);
195
195
+
const region = (
196
196
+
/** @type {HTMLInputElement | null} */
197
197
+
this.root().querySelector(
198
198
+
"#s3-region"
199
199
+
)?.value
200
200
+
);
201
201
+
const secretKey = (
202
202
+
/** @type {HTMLInputElement | null} */
203
203
+
this.root().querySelector(
204
204
+
"#s3-secret-key"
205
205
+
)?.value
206
206
+
);
207
207
+
if (!accessKey || !bucketName || !secretKey) return;
208
208
+
const bucket = {
209
209
+
accessKey,
210
210
+
bucketName,
211
211
+
host: host?.length ? host.replace(/^\w+:\/\//, "") : "s3.amazonaws.com",
212
212
+
path: path?.length ? path : "/",
213
213
+
region: region?.length ? region : "us-east-1",
214
214
+
secretKey
215
215
+
};
216
216
+
await s3.setBucket(bucket);
217
217
+
if (button) button.disabled = false;
218
218
+
}, "#handleS3SetBucket");
219
219
+
#handleS3Unset = /* @__PURE__ */ __name(async () => {
220
220
+
const s3 = this.$s3.value;
221
221
+
if (!s3) return;
222
222
+
await s3.unsetBucket();
223
223
+
}, "#handleS3Unset");
224
224
+
/** @param {Event} event */
225
225
+
#handleS3Activate = /* @__PURE__ */ __name(async (event) => {
226
226
+
event.preventDefault();
227
227
+
const output = this.$output.value;
228
228
+
if (!output || !("select" in output)) return;
229
229
+
const s3 = this.$s3.value;
230
230
+
if (!s3) return;
231
231
+
const option = (await output.options()).find((o) => o.label === "S3");
232
232
+
if (option) await output.select(option.id);
233
233
+
}, "#handleS3Activate");
234
234
+
#handleDeactivate = /* @__PURE__ */ __name(async () => {
235
235
+
const output = this.$output.value;
236
236
+
if (!output || !("deselect" in output)) return;
237
237
+
await output.deselect();
238
238
+
}, "#handleDeactivate");
239
239
+
// RENDER
240
240
+
/**
241
241
+
* @param {RenderArg} _
242
242
+
*/
243
243
+
render({ html }) {
244
244
+
return html`
245
245
+
<link rel="stylesheet" href="styles/vendor/98.css" />
246
246
+
<link rel="stylesheet" href="themes/webamp/98-extra.css" />
247
247
+
248
248
+
<style>
249
249
+
@import "./themes/webamp/98-vars.css";
250
250
+
251
251
+
.button-row {
252
252
+
display: inline-flex;
253
253
+
gap: var(--grouped-button-spacing);
254
254
+
}
255
255
+
256
256
+
#tabbed {
257
257
+
display: flex;
258
258
+
flex-direction: column;
259
259
+
height: 100%;
260
260
+
}
261
261
+
262
262
+
.window {
263
263
+
flex: 1;
264
264
+
overflow-y: auto;
265
265
+
}
266
266
+
267
267
+
/* TABS */
268
268
+
269
269
+
menu[role="tablist"] {
270
270
+
padding-top: 2px;
271
271
+
272
272
+
li > label {
273
273
+
cursor: pointer;
274
274
+
display: block;
275
275
+
padding: var(--radio-label-spacing);
276
276
+
}
277
277
+
278
278
+
li[aria-selected="true"] {
279
279
+
padding-bottom: 2px;
280
280
+
margin-top: -2px;
281
281
+
background-color: var(--surface);
282
282
+
position: relative;
283
283
+
z-index: 8;
284
284
+
margin-left: -3px;
285
285
+
}
286
286
+
}
287
287
+
</style>
288
288
+
289
289
+
<div id="tabbed">
290
290
+
<menu role="tablist" class="multirows">
291
291
+
<li role="tab" aria-selected="${this.$tab.value === "overview"}">
292
292
+
<label @click="${() => this.$tab.value = "overview"}">
293
293
+
<span>Overview</span>
294
294
+
</label>
295
295
+
</li>
296
296
+
<li role="tab" aria-selected="${this.$tab.value === "atproto"}">
297
297
+
<label @click="${() => this.$tab.value = "atproto"}">
298
298
+
<span>AT Protocol</span>
299
299
+
</label>
300
300
+
</li>
301
301
+
<li role="tab" aria-selected="${this.$tab.value === "s3"}">
302
302
+
<label @click="${() => this.$tab.value = "s3"}">
303
303
+
<span>S3</span>
304
304
+
</label>
305
305
+
</li>
306
306
+
</menu>
307
307
+
308
308
+
<div class="window" role="tabpanel">
309
309
+
${this.#renderTab(html)}
310
310
+
</div>
311
311
+
</div>
312
312
+
`;
313
313
+
}
314
314
+
/**
315
315
+
* @param {RenderArg["html"]} html
316
316
+
*/
317
317
+
#renderTab(html) {
318
318
+
switch (this.$tab.value) {
319
319
+
case "overview":
320
320
+
return this.#renderOverviewTab(html);
321
321
+
case "atproto":
322
322
+
return this.#renderAtprotoTab(html);
323
323
+
case "s3":
324
324
+
return this.#renderS3Tab(html);
325
325
+
default:
326
326
+
return A;
327
327
+
}
328
328
+
}
329
329
+
/**
330
330
+
* @param {RenderArg["html"]} html
331
331
+
*/
332
332
+
#renderOverviewTab(html) {
333
333
+
const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0;
334
334
+
return html`
335
335
+
<div class="window-body">
336
336
+
<fieldset>
337
337
+
<span class="with-icon with-icon--large">
338
338
+
<img
339
339
+
src="images/icons/windows_98/computer_user_pencil-0.png"
340
340
+
width="24"
341
341
+
/>
342
342
+
<span>Here you can configure where to keep your user data.<br />Each
343
343
+
storage method comes with its pros and cons.<br />By default your data
344
344
+
is only kept locally here in the browser.
345
345
+
</span>
346
346
+
</span>
347
347
+
</fieldset>
348
348
+
349
349
+
<fieldset>
350
350
+
<span class="with-icon with-icon--large">
351
351
+
<img
352
352
+
src="images/icons/windows_98/msg_information-0.png"
353
353
+
width="24"
354
354
+
/>
355
355
+
<span>
356
356
+
Data does not transfer across storage methods!<br />You can however
357
357
+
merge data between them though, if you wish to do so.
358
358
+
</span>
359
359
+
</span>
360
360
+
</fieldset>
361
361
+
362
362
+
<fieldset>
363
363
+
<legend>Active storage method</legend>
364
364
+
<div class="with-icon with-icon--large">
365
365
+
<img
366
366
+
src="images/icons/windows_98/${selectedOutput ? `directory_channels-2.png` : `msg_warning-0.png`}"
367
367
+
width="24"
368
368
+
/>
369
369
+
<div>
370
370
+
${this.$output.value && "selected" in this.$output.value ? selectedOutput ? html`
371
371
+
<p>
372
372
+
Selected output:
373
373
+
<strong>${selectedOutput.label}</strong><br />
374
374
+
</p>
375
375
+
<p>
376
376
+
<button @click="${this.#handleDeactivate}">Deactivate</button>
377
377
+
</p>
378
378
+
` : this.#defaultOutputMessage : this.#defaultOutputMessage}
379
379
+
</div>
380
380
+
</div>
381
381
+
</fieldset>
382
382
+
</div>
383
383
+
`;
384
384
+
}
385
385
+
/**
386
386
+
* @param {RenderArg["html"]} html
387
387
+
*/
388
388
+
#renderAtprotoTab(html) {
389
389
+
const did = this.$atproto.value?.did() ?? null;
390
390
+
const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0;
391
391
+
const authenticated = /* @__PURE__ */ __name(() => {
392
392
+
return html`
393
393
+
<fieldset>
394
394
+
<span class="with-icon with-icon--large">
395
395
+
<img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" />
396
396
+
<span>Signed in as <strong>${did}</strong></span>
397
397
+
</span>
398
398
+
</fieldset>
399
399
+
400
400
+
${this.#renderPasskeySection(html)}
401
401
+
402
402
+
<p class="button-row">
403
403
+
<button @click="${this.#handleAtprotoLogout}">Sign out</button>
404
404
+
${this.#renderAtprotoActivation(html, selectedOutput)}
405
405
+
</p>
406
406
+
`;
407
407
+
}, "authenticated");
408
408
+
const unauthenticated = /* @__PURE__ */ __name(() => {
409
409
+
return html`
410
410
+
<fieldset>
411
411
+
<span class="with-icon with-icon--large">
412
412
+
<img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" />
413
413
+
<span>
414
414
+
Store your user data on the storage associated with your AT Protocol
415
415
+
identity.
416
416
+
</span>
417
417
+
</span>
418
418
+
</fieldset>
419
419
+
420
420
+
<fieldset>
421
421
+
<form @submit="${this.#handleAtprotoLogin}" class="field-row">
422
422
+
<label for="atproto-handle">Your internet handle:</label>
423
423
+
<input
424
424
+
id="atproto-handle"
425
425
+
type="text"
426
426
+
required
427
427
+
placeholder="you.bsky.social"
428
428
+
/>
429
429
+
</form>
430
430
+
</fieldset>
431
431
+
432
432
+
${this.$atprotoError.value ? html`
433
433
+
<fieldset>
434
434
+
<span class="with-icon with-icon--large">
435
435
+
<img src="images/icons/windows_98/msg_error-0.png" width="24" />
436
436
+
<span>
437
437
+
Sign in failed, please check the provided handle and try again.
438
438
+
</span>
439
439
+
</span>
440
440
+
</fieldset>
441
441
+
` : A} ${this.#renderPasskeySection(html)}
442
442
+
443
443
+
<p>
444
444
+
<button @click="${this.#handleAtprotoLogin}" id="atproto-submit">Sign in</button>
445
445
+
${this.#renderAtprotoActivation(html, selectedOutput)}
446
446
+
</p>
447
447
+
`;
448
448
+
}, "unauthenticated");
449
449
+
return html`
450
450
+
<div class="window-body">
451
451
+
${did ? authenticated() : unauthenticated()}
452
452
+
</div>
453
453
+
`;
454
454
+
}
455
455
+
/**
456
456
+
* @param {RenderArg["html"]} html
457
457
+
*/
458
458
+
#renderS3Tab(html) {
459
459
+
const s3 = this.$s3.value;
460
460
+
const ready = s3?.ready() ?? false;
461
461
+
const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0;
462
462
+
const configured = /* @__PURE__ */ __name(() => {
463
463
+
const bucket = s3?.bucket();
464
464
+
return html`
465
465
+
<fieldset>
466
466
+
<div class="with-icon with-icon--large">
467
467
+
<img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" />
468
468
+
<div>
469
469
+
Bucket configured:
470
470
+
<ul
471
471
+
style="margin-bottom: 0; padding-left: 0; list-style-position: inside;"
472
472
+
>
473
473
+
<li>Name: <strong>${bucket?.bucketName}</strong></li>
474
474
+
<li>Host: ${bucket?.host}</li>
475
475
+
<li>Access key: ${bucket?.accessKey}</li>
476
476
+
</ul>
477
477
+
</div>
478
478
+
</div>
479
479
+
</fieldset>
480
480
+
481
481
+
<fieldset>
482
482
+
<span class="with-icon with-icon--large">
483
483
+
<img
484
484
+
src="images/icons/windows_98/msg_information-0.png"
485
485
+
width="24"
486
486
+
/>
487
487
+
<span>
488
488
+
Make sure the bucket has CORS configured properly.
489
489
+
</span>
490
490
+
</span>
491
491
+
</fieldset>
492
492
+
493
493
+
<p class="button-row">
494
494
+
<button id="s3-unset-bucket" @click="${this.#handleS3Unset}">
495
495
+
Remove bucket configuration
496
496
+
</button>
497
497
+
${this.#renderS3Activation(html, selectedOutput)}
498
498
+
</p>
499
499
+
`;
500
500
+
}, "configured");
501
501
+
const unconfigured = /* @__PURE__ */ __name(() => {
502
502
+
return html`
503
503
+
<fieldset>
504
504
+
<span class="with-icon with-icon--large">
505
505
+
<img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" />
506
506
+
<span>
507
507
+
Store your user data on an S3-compatible storage service.
508
508
+
</span>
509
509
+
</span>
510
510
+
</fieldset>
511
511
+
512
512
+
<form @submit="${this.#handleS3SetBucket}">
513
513
+
<fieldset>
514
514
+
<legend>Bucket details</legend>
515
515
+
516
516
+
<div class="field-row">
517
517
+
<label for="s3-access-key">Access Key:*</label>
518
518
+
<input type="text" id="s3-access-key" required />
519
519
+
</div>
520
520
+
521
521
+
<div class="field-row">
522
522
+
<label for="s3-secret-key">Secret Key:*</label>
523
523
+
<input type="password" id="s3-secret-key" required />
524
524
+
</div>
525
525
+
526
526
+
<div class="field-row">
527
527
+
<label for="s3-bucket-name">Bucket Name:*</label>
528
528
+
<input type="text" id="s3-bucket-name" required />
529
529
+
</div>
530
530
+
531
531
+
<div class="field-row">
532
532
+
<label for="s3-host">Host:</label>
533
533
+
<input
534
534
+
type="text"
535
535
+
id="s3-host"
536
536
+
placeholder="s3.amazonaws.com"
537
537
+
/>
538
538
+
</div>
539
539
+
540
540
+
<div class="field-row">
541
541
+
<label for="s3-region">Region:</label>
542
542
+
<input
543
543
+
type="text"
544
544
+
id="s3-region"
545
545
+
placeholder="us-east-1"
546
546
+
/>
547
547
+
</div>
548
548
+
549
549
+
<div class="field-row">
550
550
+
<label for="s3-path">Path:</label>
551
551
+
<input type="text" id="s3-path" />
552
552
+
</div>
553
553
+
554
554
+
<p>
555
555
+
* are required fields.
556
556
+
</p>
557
557
+
</fieldset>
558
558
+
559
559
+
<p>
560
560
+
<button type="submit" id="s3-submit">Set bucket</button>
561
561
+
${this.#renderS3Activation(html, selectedOutput)}
562
562
+
</p>
563
563
+
</form>
564
564
+
`;
565
565
+
}, "unconfigured");
566
566
+
return html`
567
567
+
<div class="window-body">
568
568
+
${ready ? configured() : unconfigured()}
569
569
+
</div>
570
570
+
`;
571
571
+
}
572
572
+
/**
573
573
+
* @param {RenderArg["html"]} html
574
574
+
*/
575
575
+
#renderPasskeySection(html) {
576
576
+
const passkey = this.$atprotoPasskey.value;
577
577
+
if (!passkey) return A;
578
578
+
const passkeyActive = passkey.passkeyActive() ?? false;
579
579
+
const lockedTracksCount = passkey.lockedTracks().length ?? 0;
580
580
+
return html`
581
581
+
<fieldset>
582
582
+
<legend>Passkey encryption (optional)</legend>
583
583
+
584
584
+
<div class="with-icon with-icon--large">
585
585
+
<img src="images/icons/windows_98/keys-5.png" width="24" />
586
586
+
587
587
+
<div>
588
588
+
${passkeyActive ? html`
589
589
+
<p class="with-icon with-icon--large">
590
590
+
<input type="checkbox" checked />
591
591
+
<label>Passkey active — Track URIs are encrypted</label>
592
592
+
</p>
593
593
+
594
594
+
${this.$passkeyError.value ? html`
595
595
+
<fieldset>
596
596
+
<span class="with-icon with-icon--large">
597
597
+
<img src="images/icons/windows_98/msg_error-0.png" width="24" />
598
598
+
<span>${this.$passkeyError.value}</span>
599
599
+
</span>
600
600
+
</fieldset>
601
601
+
` : A}
602
602
+
603
603
+
<p>
604
604
+
<button @click="${this.#handlePasskeyRemove}">Remove passkey</button>
605
605
+
</p>
606
606
+
607
607
+
<p>
608
608
+
Removing the passkey will expose all the sensitive<br />
609
609
+
information that was previously encrypted.
610
610
+
</p>
611
611
+
` : html`
612
612
+
<p>
613
613
+
Track URIs can optionally be encrypted so that passwords and<br />
614
614
+
other sensitive authentication details are kept private.
615
615
+
</p>
616
616
+
<p>
617
617
+
Note that, with this enabled, other people can NOT play audio listed on your
618
618
+
account.
619
619
+
</p>
620
620
+
621
621
+
${this.$passkeyError.value ? html`
622
622
+
<fieldset>
623
623
+
<span class="with-icon with-icon--large">
624
624
+
<img src="images/icons/windows_98/msg_error-0.png" width="24" />
625
625
+
<span>${this.$passkeyError.value}</span>
626
626
+
</span>
627
627
+
</fieldset>
628
628
+
` : A}
629
629
+
630
630
+
<p class="button-row">
631
631
+
<button
632
632
+
?disabled="${this.$passkeyWorking.value}"
633
633
+
@click="${this.#handlePasskeySetup}"
634
634
+
>
635
635
+
${this.$passkeyWorking.value ? "Setting up ..." : "Set up passkey encryption"}
636
636
+
</button>
637
637
+
<button
638
638
+
?disabled="${this.$passkeyWorking.value}"
639
639
+
@click="${this.#handlePasskeyAdopt}"
640
640
+
>
641
641
+
${this.$passkeyWorking.value ? "Authenticating ..." : "Use existing passkey"}
642
642
+
</button>
643
643
+
</p>
644
644
+
`}
645
645
+
</div>
646
646
+
</div>
647
647
+
</fieldset>
648
648
+
649
649
+
${lockedTracksCount > 0 ? html`
650
650
+
<fieldset>
651
651
+
<p class="with-icon with-icon--large">
652
652
+
<img
653
653
+
src="images/icons/windows_98/msg_warning-0.png"
654
654
+
width="24"
655
655
+
/>
656
656
+
${lockedTracksCount} encrypted track(s) cannot be played until you unlock them with
657
657
+
your passkey. If you're already using a passkey, remember that you have to
658
658
+
use same passkey as the one you originally locked the tracks with.
659
659
+
</p>
660
660
+
</fieldset>
661
661
+
` : A}
662
662
+
`;
663
663
+
}
664
664
+
/**
665
665
+
* @param {RenderArg['html']} html
666
666
+
* @param {VariousOutputElements | null | undefined} selectedOutput
667
667
+
*/
668
668
+
#renderAtprotoActivation(html, selectedOutput) {
669
669
+
const output = this.$output.value;
670
670
+
if (!output || !("select" in output)) return A;
671
671
+
const isActive = selectedOutput?.label === "AT Protocol";
672
672
+
return isActive ? html`
673
673
+
<button @click="${this.#handleDeactivate}">Deactivate</button>
674
674
+
` : html`
675
675
+
<button @click="${this.#handleAtprotoActivate}">Activate this storage</button>
676
676
+
`;
677
677
+
}
678
678
+
/**
679
679
+
* @param {RenderArg['html']} html
680
680
+
* @param {VariousOutputElements | null | undefined} selectedOutput
681
681
+
*/
682
682
+
#renderS3Activation(html, selectedOutput) {
683
683
+
const output = this.$output.value;
684
684
+
if (!output || !("select" in output)) return A;
685
685
+
const isActive = selectedOutput?.label === "S3";
686
686
+
return isActive ? html`
687
687
+
<button @click="${this.#handleDeactivate}">Deactivate</button>
688
688
+
` : html`
689
689
+
<button @click="${this.#handleS3Activate}">Activate this storage</button>
690
690
+
`;
691
691
+
}
692
692
+
#defaultOutputMessage = "Storing data locally in the browser without any backup or syncing enabled.";
693
693
+
};
694
694
+
var element_default = OutputConfig;
695
695
+
var CLASS = OutputConfig;
696
696
+
var NAME4 = "dtw-output-config";
697
697
+
customElements.define(NAME4, CLASS);
698
698
+
699
699
+
export {
700
700
+
element_default,
701
701
+
CLASS,
702
702
+
NAME4 as NAME
703
703
+
};
704
704
+
705
705
+
//# sourceMappingURL=./chunk-3HY7HXXJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3HY7HXXJ.js.map
···
1
1
+
{"version":3,"sources":["/themes/webamp/configurators/output/element.js"],"sourcesContent":["import { DiffuseElement, nothing, query } from \"@common/element.js\";\nimport { signal } from \"@common/signal.js\";\n\nimport { NAME as ATPROTO_NAME } from \"@components/output/raw/atproto/element.js\";\nimport { NAME as S3_NAME } from \"@components/output/bytes/s3/element.js\";\n\nimport { NAME as PASSKEY_NAME } from \"@components/transformer/output/refiner/track-uri-passkey/element.js\";\n\n/**\n * @import {ATProtoOutputElement} from \"@components/output/raw/atproto/types.d.ts\"\n *\n * @import {Bucket as S3Bucket} from \"@components/input/s3/types.d.ts\"\n * @import {S3OutputElement} from \"@components/output/bytes/s3/types.d.ts\"\n *\n * @import {OutputElement} from \"@components/output/types.d.ts\"\n * @import {OutputConfiguratorElement} from \"@components/configurator/output/types.d.ts\"\n * @import TrackUriPasskeyTransformer from \"@components/transformer/output/refiner/track-uri-passkey/element.js\";\n *\n * @import {RenderArg} from \"@common/element.d.ts\"\n */\n\n/**\n * @typedef {OutputElement<any>} VariousOutputElements\n */\n\nclass OutputConfig extends DiffuseElement {\n constructor() {\n super();\n this.attachShadow({ mode: \"open\" });\n }\n\n // SIGNALS\n\n $output = signal(\n /** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements> | undefined} */ (undefined),\n );\n\n $atproto = signal(\n /** @type {ATProtoOutputElement | null} */ (null),\n );\n\n $atprotoPasskey = signal(\n /** @type {TrackUriPasskeyTransformer | null} */ (null),\n );\n\n $s3 = signal(\n /** @type {S3OutputElement | null} */ (null),\n );\n\n $atprotoError = signal(/** @type {string | null} */ (null));\n $passkeyError = signal(/** @type {string | null} */ (null));\n $passkeyWorking = signal(false);\n $tab = signal(\"overview\");\n\n // LIFECYCLE\n\n /** @override */\n async connectedCallback() {\n super.connectedCallback();\n\n /** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements>} */\n const output = query(this, \"output-selector\");\n\n await customElements.whenDefined(output.localName);\n\n this.$output.value = output;\n\n // Try setting up specific outputs\n const atproto = output.root().querySelector(ATPROTO_NAME);\n\n if (atproto) {\n this.$atproto.value = /** @type {ATProtoOutputElement} */ (atproto);\n }\n\n const atprotoPasskey = output.root().querySelector(\n `${PASSKEY_NAME}[namespace=\"atproto\"]`,\n );\n\n if (atprotoPasskey) {\n await customElements.whenDefined(PASSKEY_NAME);\n this.$atprotoPasskey.value =\n /** @type {TrackUriPasskeyTransformer} */ (atprotoPasskey);\n }\n\n const s3 = output.root().querySelector(S3_NAME);\n\n if (s3) {\n this.$s3.value = /** @type {S3OutputElement} */ (s3);\n }\n }\n\n // EVENTS\n\n /** @param {Event} event */\n #handleAtprotoLogin = async (event) => {\n event.preventDefault();\n\n /** @type {HTMLInputElement | null} */\n const input = this.root().querySelector(\"#atproto-handle\");\n const handle = input?.value?.trim();\n if (!handle) return;\n\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n /** @type {HTMLButtonElement | null} */\n const button = this.root().querySelector(\"#atproto-submit\");\n if (button) {\n button.disabled = true;\n button.textContent = \"Loading ...\";\n }\n\n this.$atprotoError.value = null;\n\n try {\n await atproto.login(handle);\n } catch (err) {\n this.$atprotoError.value = err instanceof Error\n ? err.message\n : \"login failed\";\n if (button) {\n button.disabled = false;\n button.textContent = \"Sign in\";\n }\n }\n };\n\n #handleAtprotoLogout = async () => {\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n await atproto.logout();\n };\n\n #handlePasskeySetup = async () => {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return;\n\n this.$passkeyError.value = null;\n this.$passkeyWorking.value = true;\n\n try {\n await passkey.setupPasskey();\n } catch (err) {\n this.$passkeyError.value = err instanceof Error\n ? err.message\n : \"Passkey setup failed\";\n } finally {\n this.$passkeyWorking.value = false;\n }\n };\n\n #handlePasskeyAdopt = async () => {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return;\n\n this.$passkeyError.value = null;\n this.$passkeyWorking.value = true;\n\n try {\n await passkey.adoptPasskey();\n } catch (err) {\n this.$passkeyError.value = err instanceof Error\n ? err.message\n : \"Passkey adoption failed\";\n } finally {\n this.$passkeyWorking.value = false;\n }\n };\n\n #handlePasskeyRemove = async () => {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return;\n\n this.$passkeyError.value = null;\n await passkey.removePasskey();\n };\n\n /** @param {Event} event */\n #handleAtprotoActivate = async (event) => {\n event.preventDefault();\n\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return;\n\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n const option = (await output.options()).find((o) =>\n o.label === \"AT Protocol\"\n );\n if (option) await output.select(option.id);\n };\n\n /**\n * @param {Event} event\n */\n #handleS3SetBucket = async (event) => {\n event.preventDefault();\n\n const s3 = this.$s3.value;\n if (!s3) return;\n\n /** @type {HTMLButtonElement | null} */\n const button = this.root().querySelector(\"#s3-submit\");\n if (button) button.disabled = true;\n\n const accessKey =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-access-key\",\n ))?.value;\n const bucketName =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-bucket-name\",\n ))?.value;\n const host =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-host\",\n ))?.value;\n const path =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-path\",\n ))?.value;\n const region =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-region\",\n ))?.value;\n const secretKey =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-secret-key\",\n ))?.value;\n\n if (!accessKey || !bucketName || !secretKey) return;\n\n /** @type {S3Bucket} */\n const bucket = {\n accessKey,\n bucketName,\n host: host?.length ? host.replace(/^\\w+:\\/\\//, \"\") : \"s3.amazonaws.com\",\n path: path?.length ? path : \"/\",\n region: region?.length ? region : \"us-east-1\",\n secretKey,\n };\n\n await s3.setBucket(bucket);\n\n if (button) button.disabled = false;\n };\n\n #handleS3Unset = async () => {\n const s3 = this.$s3.value;\n if (!s3) return;\n\n await s3.unsetBucket();\n };\n\n /** @param {Event} event */\n #handleS3Activate = async (event) => {\n event.preventDefault();\n\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return;\n\n const s3 = this.$s3.value;\n if (!s3) return;\n\n const option = (await output.options()).find((o) => o.label === \"S3\");\n if (option) await output.select(option.id);\n };\n\n #handleDeactivate = async () => {\n const output = this.$output.value;\n if (!output || !(\"deselect\" in output)) return;\n\n await output.deselect();\n };\n\n // RENDER\n\n /**\n * @param {RenderArg} _\n */\n render({ html }) {\n return html`\n <link rel=\"stylesheet\" href=\"styles/vendor/98.css\" />\n <link rel=\"stylesheet\" href=\"themes/webamp/98-extra.css\" />\n\n <style>\n @import \"./themes/webamp/98-vars.css\";\n\n .button-row {\n display: inline-flex;\n gap: var(--grouped-button-spacing);\n }\n\n #tabbed {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .window {\n flex: 1;\n overflow-y: auto;\n }\n\n /* TABS */\n\n menu[role=\"tablist\"] {\n padding-top: 2px;\n\n li > label {\n cursor: pointer;\n display: block;\n padding: var(--radio-label-spacing);\n }\n\n li[aria-selected=\"true\"] {\n padding-bottom: 2px;\n margin-top: -2px;\n background-color: var(--surface);\n position: relative;\n z-index: 8;\n margin-left: -3px;\n }\n }\n </style>\n\n <div id=\"tabbed\">\n <menu role=\"tablist\" class=\"multirows\">\n <li role=\"tab\" aria-selected=\"${this.$tab.value === \"overview\"}\">\n <label @click=\"${() => this.$tab.value = \"overview\"}\">\n <span>Overview</span>\n </label>\n </li>\n <li role=\"tab\" aria-selected=\"${this.$tab.value === \"atproto\"}\">\n <label @click=\"${() => this.$tab.value = \"atproto\"}\">\n <span>AT Protocol</span>\n </label>\n </li>\n <li role=\"tab\" aria-selected=\"${this.$tab.value === \"s3\"}\">\n <label @click=\"${() => this.$tab.value = \"s3\"}\">\n <span>S3</span>\n </label>\n </li>\n </menu>\n\n <div class=\"window\" role=\"tabpanel\">\n ${this.#renderTab(html)}\n </div>\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderTab(html) {\n switch (this.$tab.value) {\n case \"overview\":\n return this.#renderOverviewTab(html);\n case \"atproto\":\n return this.#renderAtprotoTab(html);\n case \"s3\":\n return this.#renderS3Tab(html);\n default:\n return nothing;\n }\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderOverviewTab(html) {\n const selectedOutput =\n this.$output.value && \"selected\" in this.$output.value\n ? this.$output.value.selected()\n : undefined;\n\n return html`\n <div class=\"window-body\">\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/computer_user_pencil-0.png\"\n width=\"24\"\n />\n <span>Here you can configure where to keep your user data.<br />Each\n storage method comes with its pros and cons.<br />By default your data\n is only kept locally here in the browser.\n </span>\n </span>\n </fieldset>\n\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/msg_information-0.png\"\n width=\"24\"\n />\n <span>\n Data does not transfer across storage methods!<br />You can however\n merge data between them though, if you wish to do so.\n </span>\n </span>\n </fieldset>\n\n <fieldset>\n <legend>Active storage method</legend>\n <div class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/${selectedOutput\n ? `directory_channels-2.png`\n : `msg_warning-0.png`}\"\n width=\"24\"\n />\n <div>\n ${this.$output.value &&\n \"selected\" in this.$output.value\n ? selectedOutput\n ? html`\n <p>\n Selected output:\n <strong>${selectedOutput.label}</strong><br />\n </p>\n <p>\n <button @click=\"${this\n .#handleDeactivate}\">Deactivate</button>\n </p>\n `\n : this.#defaultOutputMessage\n : this.#defaultOutputMessage}\n </div>\n </div>\n </fieldset>\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderAtprotoTab(html) {\n const did = this.$atproto.value?.did() ?? null;\n const selectedOutput =\n this.$output.value && \"selected\" in this.$output.value\n ? this.$output.value.selected()\n : undefined;\n\n const authenticated = () => {\n return html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <span>Signed in as <strong>${did}</strong></span>\n </span>\n </fieldset>\n\n ${this.#renderPasskeySection(html)}\n\n <p class=\"button-row\">\n <button @click=\"${this.#handleAtprotoLogout}\">Sign out</button>\n ${this.#renderAtprotoActivation(html, selectedOutput)}\n </p>\n `;\n };\n\n const unauthenticated = () => {\n return html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <span>\n Store your user data on the storage associated with your AT Protocol\n identity.\n </span>\n </span>\n </fieldset>\n\n <fieldset>\n <form @submit=\"${this.#handleAtprotoLogin}\" class=\"field-row\">\n <label for=\"atproto-handle\">Your internet handle:</label>\n <input\n id=\"atproto-handle\"\n type=\"text\"\n required\n placeholder=\"you.bsky.social\"\n />\n </form>\n </fieldset>\n\n ${this.$atprotoError.value\n ? html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/msg_error-0.png\" width=\"24\" />\n <span>\n Sign in failed, please check the provided handle and try again.\n </span>\n </span>\n </fieldset>\n `\n : nothing} ${this.#renderPasskeySection(html)}\n\n <p>\n <button @click=\"${this\n .#handleAtprotoLogin}\" id=\"atproto-submit\">Sign in</button>\n ${this.#renderAtprotoActivation(html, selectedOutput)}\n </p>\n `;\n };\n\n return html`\n <div class=\"window-body\">\n ${did ? authenticated() : unauthenticated()}\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderS3Tab(html) {\n const s3 = this.$s3.value;\n const ready = s3?.ready() ?? false;\n const selectedOutput =\n this.$output.value && \"selected\" in this.$output.value\n ? this.$output.value.selected()\n : undefined;\n\n const configured = () => {\n const bucket = s3?.bucket();\n\n return html`\n <fieldset>\n <div class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <div>\n Bucket configured:\n <ul\n style=\"margin-bottom: 0; padding-left: 0; list-style-position: inside;\"\n >\n <li>Name: <strong>${bucket?.bucketName}</strong></li>\n <li>Host: ${bucket?.host}</li>\n <li>Access key: ${bucket?.accessKey}</li>\n </ul>\n </div>\n </div>\n </fieldset>\n\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/msg_information-0.png\"\n width=\"24\"\n />\n <span>\n Make sure the bucket has CORS configured properly.\n </span>\n </span>\n </fieldset>\n\n <p class=\"button-row\">\n <button id=\"s3-unset-bucket\" @click=\"${this.#handleS3Unset}\">\n Remove bucket configuration\n </button>\n ${this.#renderS3Activation(html, selectedOutput)}\n </p>\n `;\n };\n\n const unconfigured = () => {\n return html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <span>\n Store your user data on an S3-compatible storage service.\n </span>\n </span>\n </fieldset>\n\n <form @submit=\"${this.#handleS3SetBucket}\">\n <fieldset>\n <legend>Bucket details</legend>\n\n <div class=\"field-row\">\n <label for=\"s3-access-key\">Access Key:*</label>\n <input type=\"text\" id=\"s3-access-key\" required />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-secret-key\">Secret Key:*</label>\n <input type=\"password\" id=\"s3-secret-key\" required />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-bucket-name\">Bucket Name:*</label>\n <input type=\"text\" id=\"s3-bucket-name\" required />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-host\">Host:</label>\n <input\n type=\"text\"\n id=\"s3-host\"\n placeholder=\"s3.amazonaws.com\"\n />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-region\">Region:</label>\n <input\n type=\"text\"\n id=\"s3-region\"\n placeholder=\"us-east-1\"\n />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-path\">Path:</label>\n <input type=\"text\" id=\"s3-path\" />\n </div>\n\n <p>\n * are required fields.\n </p>\n </fieldset>\n\n <p>\n <button type=\"submit\" id=\"s3-submit\">Set bucket</button>\n ${this.#renderS3Activation(html, selectedOutput)}\n </p>\n </form>\n `;\n };\n\n return html`\n <div class=\"window-body\">\n ${ready ? configured() : unconfigured()}\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderPasskeySection(html) {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return nothing;\n\n const passkeyActive = passkey.passkeyActive() ?? false;\n const lockedTracksCount = passkey.lockedTracks().length ?? 0;\n\n return html`\n <fieldset>\n <legend>Passkey encryption (optional)</legend>\n\n <div class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/keys-5.png\" width=\"24\" />\n\n <div>\n ${passkeyActive\n ? html`\n <p class=\"with-icon with-icon--large\">\n <input type=\"checkbox\" checked />\n <label>Passkey active — Track URIs are encrypted</label>\n </p>\n\n ${this.$passkeyError.value\n ? html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/msg_error-0.png\" width=\"24\" />\n <span>${this.$passkeyError.value}</span>\n </span>\n </fieldset>\n `\n : nothing}\n\n <p>\n <button @click=\"${this\n .#handlePasskeyRemove}\">Remove passkey</button>\n </p>\n\n <p>\n Removing the passkey will expose all the sensitive<br />\n information that was previously encrypted.\n </p>\n `\n : html`\n <p>\n Track URIs can optionally be encrypted so that passwords and<br />\n other sensitive authentication details are kept private.\n </p>\n <p>\n Note that, with this enabled, other people can NOT play audio listed on your\n account.\n </p>\n\n ${this.$passkeyError.value\n ? html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/msg_error-0.png\" width=\"24\" />\n <span>${this.$passkeyError.value}</span>\n </span>\n </fieldset>\n `\n : nothing}\n\n <p class=\"button-row\">\n <button\n ?disabled=\"${this.$passkeyWorking.value}\"\n @click=\"${this.#handlePasskeySetup}\"\n >\n ${this.$passkeyWorking.value\n ? \"Setting up ...\"\n : \"Set up passkey encryption\"}\n </button>\n <button\n ?disabled=\"${this.$passkeyWorking.value}\"\n @click=\"${this.#handlePasskeyAdopt}\"\n >\n ${this.$passkeyWorking.value\n ? \"Authenticating ...\"\n : \"Use existing passkey\"}\n </button>\n </p>\n `}\n </div>\n </div>\n </fieldset>\n\n ${lockedTracksCount > 0\n ? html`\n <fieldset>\n <p class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/msg_warning-0.png\"\n width=\"24\"\n />\n ${lockedTracksCount} encrypted track(s) cannot be played until you unlock them with\n your passkey. If you're already using a passkey, remember that you have to\n use same passkey as the one you originally locked the tracks with.\n </p>\n </fieldset>\n `\n : nothing}\n `;\n }\n\n /**\n * @param {RenderArg['html']} html\n * @param {VariousOutputElements | null | undefined} selectedOutput\n */\n #renderAtprotoActivation(html, selectedOutput) {\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return nothing;\n\n const isActive = selectedOutput?.label === \"AT Protocol\";\n\n return isActive\n ? html`\n <button @click=\"${this.#handleDeactivate}\">Deactivate</button>\n `\n : html`\n <button @click=\"${this\n .#handleAtprotoActivate}\">Activate this storage</button>\n `;\n }\n\n /**\n * @param {RenderArg['html']} html\n * @param {VariousOutputElements | null | undefined} selectedOutput\n */\n #renderS3Activation(html, selectedOutput) {\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return nothing;\n\n const isActive = selectedOutput?.label === \"S3\";\n\n return isActive\n ? html`\n <button @click=\"${this.#handleDeactivate}\">Deactivate</button>\n `\n : html`\n <button @click=\"${this\n .#handleS3Activate}\">Activate this storage</button>\n `;\n }\n\n #defaultOutputMessage =\n \"Storing data locally in the browser without any backup or syncing enabled.\";\n}\n\nexport default OutputConfig;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = OutputConfig;\nexport const NAME = \"dtw-output-config\";\n\ncustomElements.define(NAME, CLASS);\n"],"mappings":"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","names":["NAME"],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-3HY7HXXJ.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3IXJYTB6.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3IXJYTB6.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3THWHK2M.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3THWHK2M.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3THWHK2M.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3THWHK2M.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4LOJTZ72.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-4LOJTZ72.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4LOJTZ72.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-4LOJTZ72.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4YB6QUPN.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4YB6QUPN.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-676R57TH.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-676R57TH.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-676R57TH.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-676R57TH.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6CB2LXND.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6CB2LXND.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6CB2LXND.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6CB2LXND.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DKPDMFE.js
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DKPDMFE.js.map
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DRHTH2U.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DRHTH2U.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6JNRNMZQ.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6JNRNMZQ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6JNRNMZQ.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6JNRNMZQ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6KMZB5IA.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6KMZB5IA.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6KMZB5IA.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6KMZB5IA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6WKBRQHS.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6WKBRQHS.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6WKBRQHS.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6WKBRQHS.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-77ZY4GQV.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-77ZY4GQV.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7BHFTEJL.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7BHFTEJL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7BHFTEJL.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7BHFTEJL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7SBFGDAO.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7SBFGDAO.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7XAKBJEU.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7XAKBJEU.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7XAKBJEU.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7XAKBJEU.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-AHN37DQ6.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-AHN37DQ6.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-AHN37DQ6.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-AHN37DQ6.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-B63ZUKFI.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-B63ZUKFI.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-B63ZUKFI.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-B63ZUKFI.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BKRD2ZIW.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BKRD2ZIW.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BKRD2ZIW.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BKRD2ZIW.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BLEJHIYA.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BLEJHIYA.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BLEJHIYA.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BLEJHIYA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CMU4QLMC.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CMU4QLMC.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CRZ7HJJ4.js
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CRZ7HJJ4.js.map
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-DDF5P57I.js
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-DDF5P57I.js.map
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-EEUCFWD4.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-EEUCFWD4.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ESYALJPH.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-ESYALJPH.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ESYALJPH.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-ESYALJPH.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-F27JDJI2.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-F27JDJI2.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FAW4EB7G.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FAW4EB7G.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJAAY3PY.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJAAY3PY.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJAAY3PY.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJAAY3PY.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJBTJV3K.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJBTJV3K.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJBTJV3K.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJBTJV3K.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FPIXTJ7E.js
···
1
1
+
../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FPIXTJ7E.js.map
···
1
1
+
../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FVLUJBZP.js
···
1
1
+
../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FVLUJBZP.js.map
···
1
1
+
../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FZQXS3RE.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FZQXS3RE.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G4P4YFWD.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-G4P4YFWD.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G4P4YFWD.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-G4P4YFWD.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G56PUJUJ.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G56PUJUJ.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js.map
+374
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GASLBSUN.js
···
1
1
+
import {
2
2
+
OAuthUserAgent,
3
3
+
TokenRefreshError,
4
4
+
clearStoredSession,
5
5
+
login,
6
6
+
logout,
7
7
+
restoreOrFinalize
8
8
+
} from "./chunk-NSJY6VZI.js";
9
9
+
import {
10
10
+
BroadcastedOutputElement,
11
11
+
outputManager
12
12
+
} from "./chunk-YCKIJVMK.js";
13
13
+
import {
14
14
+
Client,
15
15
+
ClientResponseError,
16
16
+
ok
17
17
+
} from "./chunk-WN6GL63Q.js";
18
18
+
import {
19
19
+
now
20
20
+
} from "./chunk-BKRD2ZIW.js";
21
21
+
import {
22
22
+
computed,
23
23
+
signal
24
24
+
} from "./chunk-HNJPKCUJ.js";
25
25
+
import {
26
26
+
__name,
27
27
+
init_Buffer,
28
28
+
init_process
29
29
+
} from "./chunk-FZQXS3RE.js";
30
30
+
31
31
+
// components/output/raw/atproto/element.js
32
32
+
init_Buffer();
33
33
+
init_process();
34
34
+
var ATProtoOutput = class extends BroadcastedOutputElement {
35
35
+
static {
36
36
+
__name(this, "ATProtoOutput");
37
37
+
}
38
38
+
static NAME = "diffuse/output/raw/atproto";
39
39
+
#manager;
40
40
+
/** @type {PromiseWithResolvers<void>} */
41
41
+
#authenticated = Promise.withResolvers();
42
42
+
/** @type {Client | null} */
43
43
+
#rpc = null;
44
44
+
/** @type {OAuthUserAgent | null} */
45
45
+
#agent = null;
46
46
+
constructor() {
47
47
+
super();
48
48
+
this.#manager = outputManager({
49
49
+
facets: {
50
50
+
empty: /* @__PURE__ */ __name(() => [], "empty"),
51
51
+
get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.facet"), "get"),
52
52
+
put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.facet", data), "put")
53
53
+
},
54
54
+
playlistItems: {
55
55
+
empty: /* @__PURE__ */ __name(() => [], "empty"),
56
56
+
get: /* @__PURE__ */ __name(async () => {
57
57
+
const bundles = await this.listRecords(
58
58
+
"sh.diffuse.output.playlistItemBundle"
59
59
+
);
60
60
+
return bundles.flatMap((bundle) => bundle.playlistItems ?? []);
61
61
+
}, "get"),
62
62
+
put: /* @__PURE__ */ __name((data) => {
63
63
+
const bundles = [];
64
64
+
for (let i = 0; i < data.length; i += 100) {
65
65
+
bundles.push({
66
66
+
$type: "sh.diffuse.output.playlistItemBundle",
67
67
+
id: now(),
68
68
+
playlistItems: data.slice(i, i + 100)
69
69
+
});
70
70
+
}
71
71
+
return this.#putRecords(
72
72
+
"sh.diffuse.output.playlistItemBundle",
73
73
+
bundles,
74
74
+
{ upsertBatchSize: 1 }
75
75
+
);
76
76
+
}, "put")
77
77
+
},
78
78
+
themes: {
79
79
+
empty: /* @__PURE__ */ __name(() => [], "empty"),
80
80
+
get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.theme"), "get"),
81
81
+
put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.theme", data), "put")
82
82
+
},
83
83
+
tracks: {
84
84
+
empty: /* @__PURE__ */ __name(() => [], "empty"),
85
85
+
get: /* @__PURE__ */ __name(async () => {
86
86
+
const bundles = await this.listRecords(
87
87
+
"sh.diffuse.output.trackBundle"
88
88
+
);
89
89
+
return bundles.flatMap((bundle) => bundle.tracks ?? []);
90
90
+
}, "get"),
91
91
+
put: /* @__PURE__ */ __name((data) => {
92
92
+
const bundles = [];
93
93
+
for (let i = 0; i < data.length; i += 100) {
94
94
+
bundles.push({
95
95
+
$type: "sh.diffuse.output.trackBundle",
96
96
+
id: now(),
97
97
+
tracks: data.slice(i, i + 100)
98
98
+
});
99
99
+
}
100
100
+
return this.#putRecords("sh.diffuse.output.trackBundle", bundles, {
101
101
+
upsertBatchSize: 1
102
102
+
});
103
103
+
}, "put")
104
104
+
}
105
105
+
});
106
106
+
this.facets = this.#manager.facets;
107
107
+
this.playlistItems = this.#manager.playlistItems;
108
108
+
this.themes = this.#manager.themes;
109
109
+
this.tracks = this.#manager.tracks;
110
110
+
}
111
111
+
// SIGNALS
112
112
+
#did = signal(
113
113
+
/** @type {string | null} */
114
114
+
null
115
115
+
);
116
116
+
#isOnline = signal(navigator.onLine);
117
117
+
#rev = signal(
118
118
+
/** @type {string | null} */
119
119
+
null
120
120
+
);
121
121
+
did = this.#did.get;
122
122
+
rev = this.#rev.get;
123
123
+
ready = computed(() => {
124
124
+
return this.#did.value !== null && !!this.#rpc && this.#isOnline.value;
125
125
+
});
126
126
+
// LIFECYCLE
127
127
+
/** @override */
128
128
+
connectedCallback() {
129
129
+
this.replicateSavedData(this.#manager);
130
130
+
super.connectedCallback();
131
131
+
this.#tryRestore();
132
132
+
globalThis.addEventListener("online", this.#online);
133
133
+
globalThis.addEventListener("offline", this.#offline);
134
134
+
}
135
135
+
/** @override */
136
136
+
disconnectedCallback() {
137
137
+
globalThis.removeEventListener("online", this.#online);
138
138
+
globalThis.removeEventListener("offline", this.#offline);
139
139
+
}
140
140
+
#offline = /* @__PURE__ */ __name(() => this.#isOnline.set(false), "#offline");
141
141
+
#online = /* @__PURE__ */ __name(() => this.#isOnline.set(true), "#online");
142
142
+
// AUTH
143
143
+
/**
144
144
+
* Initiate the OAuth flow.
145
145
+
* Navigates the browser to the authorization server.
146
146
+
*
147
147
+
* @param {string} handle
148
148
+
*/
149
149
+
async login(handle) {
150
150
+
await login(handle);
151
151
+
}
152
152
+
/**
153
153
+
* Sign out and revoke the current session.
154
154
+
*/
155
155
+
async logout() {
156
156
+
if (this.#agent) {
157
157
+
await logout(this.#agent);
158
158
+
this.#agent = null;
159
159
+
this.#authenticated = Promise.withResolvers();
160
160
+
this.#did.value = null;
161
161
+
this.#rpc = null;
162
162
+
}
163
163
+
}
164
164
+
/**
165
165
+
* Clear session state without contacting the server.
166
166
+
* Used when the session has already been revoked.
167
167
+
*/
168
168
+
#clearSession() {
169
169
+
this.#agent = null;
170
170
+
this.#authenticated = Promise.withResolvers();
171
171
+
this.#did.value = null;
172
172
+
this.#rpc = null;
173
173
+
clearStoredSession();
174
174
+
}
175
175
+
/**
176
176
+
* @param {unknown} err
177
177
+
* @returns {boolean}
178
178
+
*/
179
179
+
#isSessionError(err) {
180
180
+
if (err instanceof TokenRefreshError) return true;
181
181
+
if (err instanceof ClientResponseError && err.status === 401) return true;
182
182
+
if (err && typeof err === "object" && "cause" in err) {
183
183
+
return this.#isSessionError(
184
184
+
/** @type {any} */
185
185
+
err.cause
186
186
+
);
187
187
+
}
188
188
+
return false;
189
189
+
}
190
190
+
async #tryRestore() {
191
191
+
await this.whenConnected();
192
192
+
try {
193
193
+
const session = await restoreOrFinalize();
194
194
+
if (session) {
195
195
+
this.#setSession(session);
196
196
+
}
197
197
+
} catch (err) {
198
198
+
if (this.#isSessionError(err)) {
199
199
+
this.#clearSession();
200
200
+
} else {
201
201
+
throw err;
202
202
+
}
203
203
+
}
204
204
+
}
205
205
+
/**
206
206
+
* @param {import("@atcute/oauth-browser-client").Session} session
207
207
+
*/
208
208
+
#setSession(session) {
209
209
+
const agent = new OAuthUserAgent(session);
210
210
+
const originalGetSession = agent.getSession.bind(agent);
211
211
+
agent.getSession = /** @param {any[]} args */
212
212
+
(...args) => {
213
213
+
const promise = originalGetSession(...args);
214
214
+
promise.catch((err) => {
215
215
+
if (err instanceof TokenRefreshError) {
216
216
+
this.#clearSession();
217
217
+
}
218
218
+
});
219
219
+
return promise;
220
220
+
};
221
221
+
this.#agent = agent;
222
222
+
this.#rpc = new Client({ handler: agent });
223
223
+
this.#did.value = session.info.sub;
224
224
+
this.#authenticated.resolve();
225
225
+
}
226
226
+
// RECORDS
227
227
+
/**
228
228
+
* Fetch the latest commit rev for this repo.
229
229
+
* Returns `null` if not authenticated or on error.
230
230
+
*
231
231
+
* @returns {Promise<string | null>}
232
232
+
*/
233
233
+
async getLatestCommit() {
234
234
+
const did = this.#did.value;
235
235
+
const rpc = this.#rpc;
236
236
+
if (!rpc || !did) return null;
237
237
+
try {
238
238
+
const result = await ok(rpc.get(
239
239
+
"com.atproto.sync.getLatestCommit",
240
240
+
{ params: { did } }
241
241
+
));
242
242
+
this.#rev.value = result?.rev;
243
243
+
return result?.rev;
244
244
+
} catch (err) {
245
245
+
if (this.#isSessionError(err)) {
246
246
+
this.#clearSession();
247
247
+
return null;
248
248
+
}
249
249
+
throw err;
250
250
+
}
251
251
+
}
252
252
+
/**
253
253
+
* @template T
254
254
+
* @param {string} collection
255
255
+
* @param {string} [did]
256
256
+
* @returns {Promise<T[]>}
257
257
+
*/
258
258
+
async listRecords(collection, did) {
259
259
+
did ??= this.#did.value ?? void 0;
260
260
+
const rpc = this.#rpc;
261
261
+
if (!rpc || !did) return [];
262
262
+
try {
263
263
+
const records = [];
264
264
+
let cursor;
265
265
+
do {
266
266
+
const page = await ok(rpc.get(
267
267
+
"com.atproto.repo.listRecords",
268
268
+
{ params: { repo: did, collection, limit: 100, cursor } }
269
269
+
));
270
270
+
for (const record of page?.records ?? []) {
271
271
+
records.push(record.value);
272
272
+
}
273
273
+
cursor = page?.cursor;
274
274
+
} while (cursor);
275
275
+
return records;
276
276
+
} catch (err) {
277
277
+
if (this.#isSessionError(err)) {
278
278
+
this.#clearSession();
279
279
+
return [];
280
280
+
}
281
281
+
throw err;
282
282
+
}
283
283
+
}
284
284
+
/**
285
285
+
* @param {string} collection
286
286
+
* @param {Array<{ id: string }>} data
287
287
+
* @param {{ deleteBatchSize?: number, upsertBatchSize?: number }} [options]
288
288
+
*/
289
289
+
async #putRecords(collection, data, { deleteBatchSize = 100, upsertBatchSize = deleteBatchSize } = {}) {
290
290
+
const rpc = this.#rpc;
291
291
+
if (!rpc || !this.#did.value) return;
292
292
+
try {
293
293
+
const existing = /* @__PURE__ */ new Map();
294
294
+
let cursor;
295
295
+
do {
296
296
+
const page = await ok(rpc.get(
297
297
+
"com.atproto.repo.listRecords",
298
298
+
{
299
299
+
params: { repo: this.#did.value, collection, limit: 100, cursor }
300
300
+
}
301
301
+
));
302
302
+
for (const record of page?.records ?? []) {
303
303
+
const rkey = record.uri.split("/").pop();
304
304
+
existing.set(record.value.id, { rkey, value: record.value });
305
305
+
}
306
306
+
cursor = page?.cursor;
307
307
+
} while (cursor);
308
308
+
const desired = new Map(
309
309
+
data.map((record) => [record.id, { $type: collection, ...record }])
310
310
+
);
311
311
+
const deletes = [];
312
312
+
const upserts = [];
313
313
+
for (const [id, { rkey }] of existing) {
314
314
+
if (!desired.has(id)) {
315
315
+
deletes.push({
316
316
+
$type: "com.atproto.repo.applyWrites#delete",
317
317
+
collection,
318
318
+
rkey
319
319
+
});
320
320
+
}
321
321
+
}
322
322
+
for (const [id, record] of desired) {
323
323
+
const entry = existing.get(id);
324
324
+
if (!entry) {
325
325
+
upserts.push({
326
326
+
$type: "com.atproto.repo.applyWrites#create",
327
327
+
collection,
328
328
+
rkey: id,
329
329
+
value: record
330
330
+
});
331
331
+
} else if (JSON.stringify(entry.value) !== JSON.stringify(record)) {
332
332
+
upserts.push({
333
333
+
$type: "com.atproto.repo.applyWrites#update",
334
334
+
collection,
335
335
+
rkey: entry.rkey,
336
336
+
value: record
337
337
+
});
338
338
+
}
339
339
+
}
340
340
+
const applyBatch = /* @__PURE__ */ __name(async (batch) => {
341
341
+
const result = await ok(rpc.post("com.atproto.repo.applyWrites", {
342
342
+
input: { repo: this.#did.value, writes: batch }
343
343
+
}));
344
344
+
if (result?.commit?.rev) {
345
345
+
this.#rev.value = result.commit.rev;
346
346
+
}
347
347
+
}, "applyBatch");
348
348
+
for (let i = 0; i < deletes.length; i += deleteBatchSize) {
349
349
+
await applyBatch(deletes.slice(i, i + deleteBatchSize));
350
350
+
}
351
351
+
for (let i = 0; i < upserts.length; i += upsertBatchSize) {
352
352
+
await applyBatch(upserts.slice(i, i + upsertBatchSize));
353
353
+
}
354
354
+
} catch (err) {
355
355
+
if (this.#isSessionError(err)) {
356
356
+
this.#clearSession();
357
357
+
return;
358
358
+
}
359
359
+
throw err;
360
360
+
}
361
361
+
}
362
362
+
};
363
363
+
var element_default = ATProtoOutput;
364
364
+
var CLASS = ATProtoOutput;
365
365
+
var NAME = "dor-atproto";
366
366
+
customElements.define(NAME, ATProtoOutput);
367
367
+
368
368
+
export {
369
369
+
element_default,
370
370
+
CLASS,
371
371
+
NAME
372
372
+
};
373
373
+
374
374
+
//# sourceMappingURL=./chunk-GASLBSUN.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GASLBSUN.js.map
···
1
1
+
{"version":3,"sources":["/components/output/raw/atproto/element.js"],"sourcesContent":["import { Client, ClientResponseError, ok } from \"@atcute/client\";\nimport * as TID from \"@atcute/tid\";\n\nimport { computed, signal } from \"@common/signal.js\";\nimport { BroadcastedOutputElement, outputManager } from \"../../common.js\";\n\nimport {\n clearStoredSession,\n login,\n logout,\n OAuthUserAgent,\n restoreOrFinalize,\n TokenRefreshError,\n} from \"./oauth.js\";\n\n/**\n * @import {PlaylistItemBundle, TrackBundle} from \"@definitions/types.d.ts\"\n * @import {OutputManager} from \"../../types.d.ts\"\n * @import {ATProtoOutputElement} from \"./types.d.ts\"\n */\n\n////////////////////////////////////////////\n// ELEMENT\n////////////////////////////////////////////\n\n/**\n * @implements {ATProtoOutputElement}\n */\nclass ATProtoOutput extends BroadcastedOutputElement {\n static NAME = \"diffuse/output/raw/atproto\";\n\n #manager;\n\n /** @type {PromiseWithResolvers<void>} */\n #authenticated = Promise.withResolvers();\n\n /** @type {Client | null} */\n #rpc = null;\n\n /** @type {OAuthUserAgent | null} */\n #agent = null;\n\n constructor() {\n super();\n\n /** @type {OutputManager} */\n this.#manager = outputManager({\n facets: {\n empty: () => [],\n get: () => this.listRecords(\"sh.diffuse.output.facet\"),\n put: (data) => this.#putRecords(\"sh.diffuse.output.facet\", data),\n },\n playlistItems: {\n empty: () => [],\n get: async () => {\n const bundles = await this.listRecords(\n \"sh.diffuse.output.playlistItemBundle\",\n );\n\n return bundles.flatMap((bundle) => bundle.playlistItems ?? []);\n },\n put: (data) => {\n /** @type {PlaylistItemBundle[]} */\n const bundles = [];\n\n for (let i = 0; i < data.length; i += 100) {\n bundles.push({\n $type: \"sh.diffuse.output.playlistItemBundle\",\n id: TID.now(),\n playlistItems: data.slice(i, i + 100),\n });\n }\n\n return this.#putRecords(\n \"sh.diffuse.output.playlistItemBundle\",\n bundles,\n { upsertBatchSize: 1 },\n );\n },\n },\n themes: {\n empty: () => [],\n get: () => this.listRecords(\"sh.diffuse.output.theme\"),\n put: (data) => this.#putRecords(\"sh.diffuse.output.theme\", data),\n },\n tracks: {\n empty: () => [],\n get: async () => {\n const bundles = await this.listRecords(\n \"sh.diffuse.output.trackBundle\",\n );\n\n return bundles.flatMap((bundle) => bundle.tracks ?? []);\n },\n put: (data) => {\n /** @type {TrackBundle[]} */\n const bundles = [];\n\n for (let i = 0; i < data.length; i += 100) {\n bundles.push({\n $type: \"sh.diffuse.output.trackBundle\",\n id: TID.now(),\n tracks: data.slice(i, i + 100),\n });\n }\n\n return this.#putRecords(\"sh.diffuse.output.trackBundle\", bundles, {\n upsertBatchSize: 1,\n });\n },\n },\n });\n\n this.facets = this.#manager.facets;\n this.playlistItems = this.#manager.playlistItems;\n this.themes = this.#manager.themes;\n this.tracks = this.#manager.tracks;\n }\n\n // SIGNALS\n\n #did = signal(/** @type {string | null} */ (null));\n #isOnline = signal(navigator.onLine);\n #rev = signal(/** @type {string | null} */ (null));\n\n did = this.#did.get;\n rev = this.#rev.get;\n\n ready = computed(() => {\n return this.#did.value !== null && !!this.#rpc && this.#isOnline.value;\n });\n\n // LIFECYCLE\n\n /** @override */\n connectedCallback() {\n this.replicateSavedData(this.#manager);\n\n super.connectedCallback();\n\n this.#tryRestore();\n\n globalThis.addEventListener(\"online\", this.#online);\n globalThis.addEventListener(\"offline\", this.#offline);\n }\n\n /** @override */\n disconnectedCallback() {\n globalThis.removeEventListener(\"online\", this.#online);\n globalThis.removeEventListener(\"offline\", this.#offline);\n }\n\n #offline = () => this.#isOnline.set(false);\n #online = () => this.#isOnline.set(true);\n\n // AUTH\n\n /**\n * Initiate the OAuth flow.\n * Navigates the browser to the authorization server.\n *\n * @param {string} handle\n */\n async login(handle) {\n await login(handle);\n }\n\n /**\n * Sign out and revoke the current session.\n */\n async logout() {\n if (this.#agent) {\n await logout(this.#agent);\n this.#agent = null;\n this.#authenticated = Promise.withResolvers();\n this.#did.value = null;\n this.#rpc = null;\n }\n }\n\n /**\n * Clear session state without contacting the server.\n * Used when the session has already been revoked.\n */\n #clearSession() {\n this.#agent = null;\n this.#authenticated = Promise.withResolvers();\n this.#did.value = null;\n this.#rpc = null;\n\n clearStoredSession();\n }\n\n /**\n * @param {unknown} err\n * @returns {boolean}\n */\n #isSessionError(err) {\n if (err instanceof TokenRefreshError) return true;\n // OAuthUserAgent.handle() swallows TokenRefreshError and returns the\n // original 401 response, which ok() wraps as a ClientResponseError.\n if (err instanceof ClientResponseError && err.status === 401) return true;\n if (err && typeof err === \"object\" && \"cause\" in err) {\n return this.#isSessionError(/** @type {any} */ (err).cause);\n }\n return false;\n }\n\n async #tryRestore() {\n await this.whenConnected();\n\n try {\n const session = await restoreOrFinalize();\n\n if (session) {\n this.#setSession(session);\n }\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n } else {\n throw err;\n }\n }\n }\n\n /**\n * @param {import(\"@atcute/oauth-browser-client\").Session} session\n */\n #setSession(session) {\n const agent = new OAuthUserAgent(session);\n\n // Intercept token refresh to detect session revocation proactively.\n // OAuthUserAgent.handle() swallows TokenRefreshError silently,\n // so we hook into getSession to clear state as soon as refresh fails.\n const originalGetSession = agent.getSession.bind(agent);\n agent.getSession = /** @param {any[]} args */ (...args) => {\n const promise = originalGetSession(...args);\n\n promise.catch((err) => {\n if (err instanceof TokenRefreshError) {\n this.#clearSession();\n }\n });\n\n return promise;\n };\n\n this.#agent = agent;\n this.#rpc = new Client({ handler: agent });\n this.#did.value = session.info.sub;\n this.#authenticated.resolve();\n }\n\n // RECORDS\n\n /**\n * Fetch the latest commit rev for this repo.\n * Returns `null` if not authenticated or on error.\n *\n * @returns {Promise<string | null>}\n */\n async getLatestCommit() {\n const did = this.#did.value;\n\n const rpc = this.#rpc;\n if (!rpc || !did) return null;\n\n try {\n const result = await ok(rpc.get(\n \"com.atproto.sync.getLatestCommit\",\n { params: { did } },\n ));\n\n this.#rev.value = result?.rev;\n return result?.rev;\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n return null;\n }\n\n throw err;\n }\n }\n\n /**\n * @template T\n * @param {string} collection\n * @param {string} [did]\n * @returns {Promise<T[]>}\n */\n async listRecords(collection, did) {\n did ??= this.#did.value ?? undefined;\n\n const rpc = this.#rpc;\n if (!rpc || !did) return [];\n\n try {\n const records = [];\n\n /** @type {any} */\n let cursor;\n\n do {\n const page = await ok(rpc.get(\n \"com.atproto.repo.listRecords\",\n { params: { repo: did, collection, limit: 100, cursor } },\n ));\n\n for (const record of (page?.records ?? [])) {\n records.push(record.value);\n }\n\n cursor = page?.cursor;\n } while (cursor);\n\n return records;\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n return [];\n }\n\n throw err;\n }\n }\n\n /**\n * @param {string} collection\n * @param {Array<{ id: string }>} data\n * @param {{ deleteBatchSize?: number, upsertBatchSize?: number }} [options]\n */\n async #putRecords(collection, data, { deleteBatchSize = 100, upsertBatchSize = deleteBatchSize } = {}) {\n const rpc = this.#rpc;\n if (!rpc || !this.#did.value) return;\n\n try {\n // 1. Fetch current state\n /** @type {Map<string, { rkey: string, value: unknown }>} */\n const existing = new Map();\n\n /** @type {any} */\n let cursor;\n\n do {\n const page = await ok(rpc.get(\n \"com.atproto.repo.listRecords\",\n {\n params: { repo: this.#did.value, collection, limit: 100, cursor },\n },\n ));\n\n for (const record of (page?.records ?? [])) {\n const rkey = record.uri.split(\"/\").pop();\n existing.set(record.value.id, { rkey, value: record.value });\n }\n\n cursor = page?.cursor;\n } while (cursor);\n\n // 2. Build desired state\n const desired = new Map(\n data.map((record) => [record.id, { $type: collection, ...record }]),\n );\n\n // 3. Compute diff\n /** @type {unknown[]} */\n const deletes = [];\n\n /** @type {unknown[]} */\n const upserts = [];\n\n for (const [id, { rkey }] of existing) {\n if (!desired.has(id)) {\n deletes.push({\n $type: \"com.atproto.repo.applyWrites#delete\",\n collection,\n rkey,\n });\n }\n }\n\n for (const [id, record] of desired) {\n const entry = existing.get(id);\n\n if (!entry) {\n upserts.push({\n $type: \"com.atproto.repo.applyWrites#create\",\n collection,\n rkey: id,\n value: record,\n });\n } else if (JSON.stringify(entry.value) !== JSON.stringify(record)) {\n upserts.push({\n $type: \"com.atproto.repo.applyWrites#update\",\n collection,\n rkey: entry.rkey,\n value: record,\n });\n }\n }\n\n // 4. Apply in batches\n const applyBatch = async (/** @type {unknown[]} */ batch) => {\n const result = await ok(rpc.post(\"com.atproto.repo.applyWrites\", {\n input: { repo: this.#did.value, writes: batch },\n }));\n\n if (result?.commit?.rev) {\n this.#rev.value = result.commit.rev;\n }\n };\n\n for (let i = 0; i < deletes.length; i += deleteBatchSize) {\n await applyBatch(deletes.slice(i, i + deleteBatchSize));\n }\n\n for (let i = 0; i < upserts.length; i += upsertBatchSize) {\n await applyBatch(upserts.slice(i, i + upsertBatchSize));\n }\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n return;\n }\n\n throw err;\n }\n }\n}\n\nexport default ATProtoOutput;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = ATProtoOutput;\nexport const NAME = \"dor-atproto\";\n\ncustomElements.define(NAME, ATProtoOutput);\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-GASLBSUN.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GCLDJKYV.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GCLDJKYV.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GCLDJKYV.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GCLDJKYV.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GQIBEDKG.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GQIBEDKG.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GQIBEDKG.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GQIBEDKG.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GX3WPNEX.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GX3WPNEX.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-H3WG7GN4.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-H3WG7GN4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-H3WG7GN4.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-H3WG7GN4.js.map
+312
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HDFVYYOI.js
···
1
1
+
import {
2
2
+
element_default
3
3
+
} from "./chunk-G4P4YFWD.js";
4
4
+
import {
5
5
+
element_default as element_default7
6
6
+
} from "./chunk-6JNRNMZQ.js";
7
7
+
import {
8
8
+
element_default as element_default11
9
9
+
} from "./chunk-UMMPFCLQ.js";
10
10
+
import {
11
11
+
element_default as element_default16
12
12
+
} from "./chunk-PKN6FN7E.js";
13
13
+
import {
14
14
+
element_default as element_default3
15
15
+
} from "./chunk-NP7LZHKR.js";
16
16
+
import {
17
17
+
element_default as element_default13
18
18
+
} from "./chunk-M2MAFKPM.js";
19
19
+
import {
20
20
+
element_default as element_default14
21
21
+
} from "./chunk-YV3SRJQF.js";
22
22
+
import {
23
23
+
element_default as element_default15
24
24
+
} from "./chunk-ESYALJPH.js";
25
25
+
import {
26
26
+
element_default as element_default5
27
27
+
} from "./chunk-U5LVPDQM.js";
28
28
+
import {
29
29
+
element_default as element_default6
30
30
+
} from "./chunk-JEGKC6HA.js";
31
31
+
import {
32
32
+
element_default as element_default8
33
33
+
} from "./chunk-TXU4RB3O.js";
34
34
+
import {
35
35
+
element_default as element_default9
36
36
+
} from "./chunk-3ENCKNXO.js";
37
37
+
import {
38
38
+
element_default as element_default2
39
39
+
} from "./chunk-NBQPHQFP.js";
40
40
+
import {
41
41
+
element_default as element_default4
42
42
+
} from "./chunk-OBWEBS4T.js";
43
43
+
import {
44
44
+
element_default as element_default10
45
45
+
} from "./chunk-S6SMX4HA.js";
46
46
+
import {
47
47
+
element_default as element_default12
48
48
+
} from "./chunk-XRGLBUX4.js";
49
49
+
import {
50
50
+
__name,
51
51
+
init_Buffer,
52
52
+
init_process
53
53
+
} from "./chunk-FZQXS3RE.js";
54
54
+
55
55
+
// common/facets/foundation.js
56
56
+
init_Buffer();
57
57
+
init_process();
58
58
+
var url = new URL(document.location.href);
59
59
+
var GROUP = url.searchParams.get("group") ?? "facets";
60
60
+
var config = {
61
61
+
GROUP,
62
62
+
features: {
63
63
+
fillQueueAutomatically,
64
64
+
playAudioFromQueue,
65
65
+
processInputs,
66
66
+
searchThroughCollection
67
67
+
},
68
68
+
// Elements
69
69
+
engine: {
70
70
+
audio,
71
71
+
queue,
72
72
+
repeatShuffle,
73
73
+
scope
74
74
+
},
75
75
+
orchestrator: {
76
76
+
autoQueue,
77
77
+
favourites,
78
78
+
input,
79
79
+
mediaSession,
80
80
+
output,
81
81
+
queueAudio,
82
82
+
processTracks,
83
83
+
scopedTracks,
84
84
+
sources
85
85
+
},
86
86
+
processor: {
87
87
+
artwork,
88
88
+
metadata,
89
89
+
search
90
90
+
}
91
91
+
};
92
92
+
var foundation_default = config;
93
93
+
function fillQueueAutomatically() {
94
94
+
return {
95
95
+
engine: {
96
96
+
queue: queue(),
97
97
+
repeatShuffle: repeatShuffle(),
98
98
+
scope: scope()
99
99
+
},
100
100
+
orchestrator: {
101
101
+
autoQueue: autoQueue(),
102
102
+
input: input(),
103
103
+
output: output(),
104
104
+
scopedTracks: scopedTracks()
105
105
+
}
106
106
+
};
107
107
+
}
108
108
+
__name(fillQueueAutomatically, "fillQueueAutomatically");
109
109
+
function playAudioFromQueue() {
110
110
+
return {
111
111
+
engine: {
112
112
+
audio: audio(),
113
113
+
queue: queue()
114
114
+
},
115
115
+
orchestrator: {
116
116
+
mediaSession: mediaSession(),
117
117
+
queueAudio: queueAudio()
118
118
+
}
119
119
+
};
120
120
+
}
121
121
+
__name(playAudioFromQueue, "playAudioFromQueue");
122
122
+
function processInputs() {
123
123
+
return {
124
124
+
orchestrator: {
125
125
+
input: input(),
126
126
+
output: output(),
127
127
+
processTracks: processTracks()
128
128
+
},
129
129
+
processor: {
130
130
+
metadata: metadata()
131
131
+
}
132
132
+
};
133
133
+
}
134
134
+
__name(processInputs, "processInputs");
135
135
+
function searchThroughCollection() {
136
136
+
return {
137
137
+
engine: {
138
138
+
scope: scope()
139
139
+
},
140
140
+
orchestrator: {
141
141
+
output: output(),
142
142
+
scopedTracks: scopedTracks()
143
143
+
},
144
144
+
processor: {
145
145
+
search: search()
146
146
+
}
147
147
+
};
148
148
+
}
149
149
+
__name(searchThroughCollection, "searchThroughCollection");
150
150
+
function audio() {
151
151
+
const a = new element_default2();
152
152
+
a.setAttribute("group", GROUP);
153
153
+
return findExistingOrAdd(a);
154
154
+
}
155
155
+
__name(audio, "audio");
156
156
+
function queue() {
157
157
+
const q = new element_default4();
158
158
+
q.setAttribute("group", GROUP);
159
159
+
return findExistingOrAdd(q);
160
160
+
}
161
161
+
__name(queue, "queue");
162
162
+
function repeatShuffle() {
163
163
+
const r = new element_default10();
164
164
+
r.setAttribute("group", GROUP);
165
165
+
return findExistingOrAdd(r);
166
166
+
}
167
167
+
__name(repeatShuffle, "repeatShuffle");
168
168
+
function scope() {
169
169
+
const s = new element_default12();
170
170
+
s.setAttribute("group", GROUP);
171
171
+
return findExistingOrAdd(s);
172
172
+
}
173
173
+
__name(scope, "scope");
174
174
+
function artwork() {
175
175
+
const a = new element_default();
176
176
+
a.setAttribute("group", GROUP);
177
177
+
return findExistingOrAdd(a);
178
178
+
}
179
179
+
__name(artwork, "artwork");
180
180
+
function metadata() {
181
181
+
const m = new element_default7();
182
182
+
m.setAttribute("group", GROUP);
183
183
+
return findExistingOrAdd(m);
184
184
+
}
185
185
+
__name(metadata, "metadata");
186
186
+
function search() {
187
187
+
const s = new element_default11();
188
188
+
s.setAttribute("group", GROUP);
189
189
+
return findExistingOrAdd(s);
190
190
+
}
191
191
+
__name(search, "search");
192
192
+
function autoQueue() {
193
193
+
const q = queue();
194
194
+
const r = repeatShuffle();
195
195
+
const t = scopedTracks();
196
196
+
const aqo = new element_default3();
197
197
+
aqo.setAttribute("group", GROUP);
198
198
+
aqo.setAttribute("queue-engine-selector", q.selector);
199
199
+
aqo.setAttribute("repeat-shuffle-engine-selector", r.selector);
200
200
+
aqo.setAttribute("tracks-selector", t.selector);
201
201
+
return findExistingOrAdd(aqo);
202
202
+
}
203
203
+
__name(autoQueue, "autoQueue");
204
204
+
function favourites() {
205
205
+
const o = output();
206
206
+
const fo = new element_default14();
207
207
+
fo.setAttribute("group", GROUP);
208
208
+
fo.setAttribute("output-selector", o.selector);
209
209
+
return findExistingOrAdd(fo);
210
210
+
}
211
211
+
__name(favourites, "favourites");
212
212
+
function input() {
213
213
+
const i = new element_default5();
214
214
+
i.setAttribute("group", GROUP);
215
215
+
i.setAttribute("id", "input");
216
216
+
return findExistingOrAdd(i);
217
217
+
}
218
218
+
__name(input, "input");
219
219
+
function mediaSession() {
220
220
+
const a = audio();
221
221
+
const aw = artwork();
222
222
+
const o = output();
223
223
+
const q = queue();
224
224
+
const mso = new element_default15();
225
225
+
mso.setAttribute("group", GROUP);
226
226
+
mso.setAttribute("audio-engine-selector", a.selector);
227
227
+
mso.setAttribute("artwork-processor-selector", aw.selector);
228
228
+
mso.setAttribute("output-selector", o.selector);
229
229
+
mso.setAttribute("queue-engine-selector", q.selector);
230
230
+
return findExistingOrAdd(mso);
231
231
+
}
232
232
+
__name(mediaSession, "mediaSession");
233
233
+
function output() {
234
234
+
const o = new element_default6();
235
235
+
o.setAttribute("group", GROUP);
236
236
+
o.setAttribute("id", "output");
237
237
+
return findExistingOrAdd(o);
238
238
+
}
239
239
+
__name(output, "output");
240
240
+
function processTracks(opts = { disableWhenReady: false }) {
241
241
+
const i = input();
242
242
+
const o = output();
243
243
+
const m = metadata();
244
244
+
const opt = new element_default8();
245
245
+
opt.setAttribute("group", GROUP);
246
246
+
opt.setAttribute("input-selector", i.selector);
247
247
+
opt.setAttribute("output-selector", o.selector);
248
248
+
opt.setAttribute("metadata-processor-selector", m.selector);
249
249
+
if (!opts.disableWhenReady) {
250
250
+
opt.toggleAttribute("process-when-ready");
251
251
+
}
252
252
+
return findExistingOrAdd(opt);
253
253
+
}
254
254
+
__name(processTracks, "processTracks");
255
255
+
function queueAudio() {
256
256
+
const a = audio();
257
257
+
const i = input();
258
258
+
const o = output();
259
259
+
const q = queue();
260
260
+
const r = repeatShuffle();
261
261
+
const oqa = new element_default9();
262
262
+
oqa.setAttribute("group", GROUP);
263
263
+
oqa.setAttribute("audio-engine-selector", a.selector);
264
264
+
oqa.setAttribute("input-selector", i.selector);
265
265
+
oqa.setAttribute("output-selector", o.selector);
266
266
+
oqa.setAttribute("queue-engine-selector", q.selector);
267
267
+
oqa.setAttribute("repeat-shuffle-engine-selector", r.selector);
268
268
+
return findExistingOrAdd(oqa);
269
269
+
}
270
270
+
__name(queueAudio, "queueAudio");
271
271
+
function scopedTracks() {
272
272
+
const i = input();
273
273
+
const o = output();
274
274
+
const e = scope();
275
275
+
const s = search();
276
276
+
const sto = new element_default13();
277
277
+
sto.setAttribute("group", GROUP);
278
278
+
sto.setAttribute("input-selector", i.selector);
279
279
+
sto.setAttribute("output-selector", o.selector);
280
280
+
sto.setAttribute("scope-engine-selector", e.selector);
281
281
+
sto.setAttribute("search-processor-selector", s.selector);
282
282
+
return findExistingOrAdd(sto);
283
283
+
}
284
284
+
__name(scopedTracks, "scopedTracks");
285
285
+
function sources() {
286
286
+
const i = input();
287
287
+
const o = output();
288
288
+
const so = new element_default16();
289
289
+
so.setAttribute("group", GROUP);
290
290
+
so.setAttribute("input-selector", i.selector);
291
291
+
so.setAttribute("output-selector", o.selector);
292
292
+
return findExistingOrAdd(so);
293
293
+
}
294
294
+
__name(sources, "sources");
295
295
+
function findExistingOrAdd(element) {
296
296
+
const alreadyAdded = document.body.querySelector(element.selector);
297
297
+
if (!alreadyAdded) {
298
298
+
document.body.append(element);
299
299
+
return element;
300
300
+
}
301
301
+
return alreadyAdded;
302
302
+
}
303
303
+
__name(findExistingOrAdd, "findExistingOrAdd");
304
304
+
305
305
+
export {
306
306
+
GROUP,
307
307
+
config,
308
308
+
foundation_default,
309
309
+
findExistingOrAdd
310
310
+
};
311
311
+
312
312
+
//# sourceMappingURL=./chunk-HDFVYYOI.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HDFVYYOI.js.map
···
1
1
+
{"version":3,"sources":["/common/facets/foundation.js"],"sourcesContent":["import ArtworkProcessor from \"@components/processor/artwork/element.js\";\nimport AudioEngine from \"@components/engine/audio/element.js\";\nimport AutoQueueOrchestrator from \"@components/orchestrator/auto-queue/element.js\";\nimport Queue from \"@components/engine/queue/element.js\";\nimport InputOrchestrator from \"@components/orchestrator/input/element.js\";\nimport OutputOrchestrator from \"@components/orchestrator/output/element.js\";\nimport MetadataProcessor from \"@components/processor/metadata/element.js\";\nimport ProcessTracksOrchestrator from \"@components/orchestrator/process-tracks/element.js\";\nimport QueueAudioOrchestrator from \"@components/orchestrator/queue-audio/element.js\";\nimport RepeatShuffleEngine from \"@components/engine/repeat-shuffle/element.js\";\nimport SearchProcessor from \"@components/processor/search/element.js\";\nimport ScopeEngine from \"@components/engine/scope/element.js\";\nimport ScopedTracksOrchestrator from \"@components/orchestrator/scoped-tracks/element.js\";\nimport FavouritesOrchestrator from \"@components/orchestrator/favourites/element.js\";\nimport MediaSessionOrchestrator from \"@components/orchestrator/media-session/element.js\";\nimport SourcesOrchestrator from \"@components/orchestrator/sources/element.js\";\n\n/**\n * @import { DiffuseElement } from \"@toko/diffuse/common/element.js\";\n */\n\nconst url = new URL(document.location.href);\nexport const GROUP = url.searchParams.get(\"group\") ?? \"facets\";\n\n/**\n * Default config for facets.\n */\nexport const config = {\n GROUP,\n\n features: {\n fillQueueAutomatically,\n playAudioFromQueue,\n processInputs,\n searchThroughCollection,\n },\n\n // Elements\n engine: {\n audio,\n queue,\n repeatShuffle,\n scope,\n },\n orchestrator: {\n autoQueue,\n favourites,\n input,\n mediaSession,\n output,\n queueAudio,\n processTracks,\n scopedTracks,\n sources,\n },\n processor: {\n artwork,\n metadata,\n search,\n },\n};\n\nexport default config;\n\n// 📦️\n\nfunction fillQueueAutomatically() {\n return {\n engine: {\n queue: queue(),\n repeatShuffle: repeatShuffle(),\n scope: scope(),\n },\n orchestrator: {\n autoQueue: autoQueue(),\n input: input(),\n output: output(),\n scopedTracks: scopedTracks(),\n },\n };\n}\n\nfunction playAudioFromQueue() {\n return {\n engine: {\n audio: audio(),\n queue: queue(),\n },\n orchestrator: {\n mediaSession: mediaSession(),\n queueAudio: queueAudio(),\n },\n };\n}\n\nfunction processInputs() {\n return {\n orchestrator: {\n input: input(),\n output: output(),\n processTracks: processTracks(),\n },\n processor: {\n metadata: metadata(),\n },\n };\n}\n\nfunction searchThroughCollection() {\n return {\n engine: {\n scope: scope(),\n },\n orchestrator: {\n output: output(),\n scopedTracks: scopedTracks(),\n },\n processor: {\n search: search(),\n },\n };\n}\n\n// 🥡\n\n// Engines\nfunction audio() {\n const a = new AudioEngine();\n a.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(a);\n}\n\nfunction queue() {\n const q = new Queue();\n q.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(q);\n}\n\nfunction repeatShuffle() {\n const r = new RepeatShuffleEngine();\n r.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(r);\n}\n\nfunction scope() {\n const s = new ScopeEngine();\n s.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(s);\n}\n\n// Processors\nfunction artwork() {\n const a = new ArtworkProcessor();\n a.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(a);\n}\n\nfunction metadata() {\n const m = new MetadataProcessor();\n m.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(m);\n}\n\nfunction search() {\n const s = new SearchProcessor();\n s.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(s);\n}\n\n// Orchestrators\nfunction autoQueue() {\n const q = queue();\n const r = repeatShuffle();\n const t = scopedTracks();\n\n const aqo = new AutoQueueOrchestrator();\n aqo.setAttribute(\"group\", GROUP);\n aqo.setAttribute(\"queue-engine-selector\", q.selector);\n aqo.setAttribute(\"repeat-shuffle-engine-selector\", r.selector);\n aqo.setAttribute(\"tracks-selector\", t.selector);\n\n return findExistingOrAdd(aqo);\n}\n\nfunction favourites() {\n const o = output();\n\n const fo = new FavouritesOrchestrator();\n fo.setAttribute(\"group\", GROUP);\n fo.setAttribute(\"output-selector\", o.selector);\n\n return findExistingOrAdd(fo);\n}\n\nfunction input() {\n const i = new InputOrchestrator();\n i.setAttribute(\"group\", GROUP);\n i.setAttribute(\"id\", \"input\");\n\n return findExistingOrAdd(i);\n}\n\nfunction mediaSession() {\n const a = audio();\n const aw = artwork();\n const o = output();\n const q = queue();\n\n const mso = new MediaSessionOrchestrator();\n mso.setAttribute(\"group\", GROUP);\n mso.setAttribute(\"audio-engine-selector\", a.selector);\n mso.setAttribute(\"artwork-processor-selector\", aw.selector);\n mso.setAttribute(\"output-selector\", o.selector);\n mso.setAttribute(\"queue-engine-selector\", q.selector);\n\n return findExistingOrAdd(mso);\n}\n\nfunction output() {\n const o = new OutputOrchestrator();\n o.setAttribute(\"group\", GROUP);\n o.setAttribute(\"id\", \"output\");\n\n return findExistingOrAdd(o);\n}\n\n/**\n * @param {Object} opts - Options\n * @param {boolean} [opts.disableWhenReady] - Whether to disable processing when ready.\n */\nfunction processTracks(opts = { disableWhenReady: false }) {\n const i = input();\n const o = output();\n const m = metadata();\n\n const opt = new ProcessTracksOrchestrator();\n opt.setAttribute(\"group\", GROUP);\n opt.setAttribute(\"input-selector\", i.selector);\n opt.setAttribute(\"output-selector\", o.selector);\n opt.setAttribute(\"metadata-processor-selector\", m.selector);\n\n if (!opts.disableWhenReady) {\n opt.toggleAttribute(\"process-when-ready\");\n }\n\n return findExistingOrAdd(opt);\n}\n\nfunction queueAudio() {\n const a = audio();\n const i = input();\n const o = output();\n const q = queue();\n const r = repeatShuffle();\n\n const oqa = new QueueAudioOrchestrator();\n oqa.setAttribute(\"group\", GROUP);\n oqa.setAttribute(\"audio-engine-selector\", a.selector);\n oqa.setAttribute(\"input-selector\", i.selector);\n oqa.setAttribute(\"output-selector\", o.selector);\n oqa.setAttribute(\"queue-engine-selector\", q.selector);\n oqa.setAttribute(\"repeat-shuffle-engine-selector\", r.selector);\n\n return findExistingOrAdd(oqa);\n}\n\nfunction scopedTracks() {\n const i = input();\n const o = output();\n const e = scope();\n const s = search();\n\n const sto = new ScopedTracksOrchestrator();\n sto.setAttribute(\"group\", GROUP);\n sto.setAttribute(\"input-selector\", i.selector);\n sto.setAttribute(\"output-selector\", o.selector);\n sto.setAttribute(\"scope-engine-selector\", e.selector);\n sto.setAttribute(\"search-processor-selector\", s.selector);\n\n return findExistingOrAdd(sto);\n}\n\nfunction sources() {\n const i = input();\n const o = output();\n const so = new SourcesOrchestrator();\n so.setAttribute(\"group\", GROUP);\n so.setAttribute(\"input-selector\", i.selector);\n so.setAttribute(\"output-selector\", o.selector);\n\n return findExistingOrAdd(so);\n}\n\n// 🛠️\n\n/**\n * @template {DiffuseElement} T\n * @param {T} element\n * @returns {T}\n */\nexport function findExistingOrAdd(element) {\n /** @type {T | null} */\n const alreadyAdded = document.body.querySelector(element.selector);\n if (!alreadyAdded) {\n document.body.append(element);\n return element;\n }\n\n return alreadyAdded;\n}\n"],"mappings":"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","names":["element_default"],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-HDFVYYOI.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HMBZONBJ.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HMBZONBJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HMBZONBJ.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HMBZONBJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HN4F5JEZ.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HN4F5JEZ.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HNJPKCUJ.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HNJPKCUJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HNJPKCUJ.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HNJPKCUJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-IGKYDHDK.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-IGKYDHDK.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-IGKYDHDK.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-IGKYDHDK.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-J67JY2AB.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-J67JY2AB.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JBHW662S.js
···
1
1
+
../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JBHW662S.js.map
···
1
1
+
../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js.map
+189
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JEGKC6HA.js
···
1
1
+
import {
2
2
+
o
3
3
+
} from "./chunk-XGM6M423.js";
4
4
+
import {
5
5
+
DEFAULT_GROUP,
6
6
+
DiffuseElement
7
7
+
} from "./chunk-V7EQPFPD.js";
8
8
+
import {
9
9
+
__name,
10
10
+
init_Buffer,
11
11
+
init_process
12
12
+
} from "./chunk-FZQXS3RE.js";
13
13
+
14
14
+
// components/orchestrator/output/element.js
15
15
+
init_Buffer();
16
16
+
init_process();
17
17
+
var OutputOrchestrator = class extends DiffuseElement {
18
18
+
static {
19
19
+
__name(this, "OutputOrchestrator");
20
20
+
}
21
21
+
static NAME = "diffuse/orchestrator/output";
22
22
+
// LIFECYCLE
23
23
+
/**
24
24
+
* @override
25
25
+
*/
26
26
+
async connectedCallback() {
27
27
+
super.connectedCallback();
28
28
+
let previouslyActivated = /* @__PURE__ */ new Set();
29
29
+
this.effect(() => {
30
30
+
const set = this.outputConfigurator.activated();
31
31
+
const newlyActicated = set.difference(previouslyActivated);
32
32
+
newlyActicated.forEach((id) => {
33
33
+
switch (id) {
34
34
+
case "do-output__dc-output__local": {
35
35
+
import("./components/output/polymorphic/indexed-db/element.js");
36
36
+
import("./components/transformer/output/string/json/element.js");
37
37
+
break;
38
38
+
}
39
39
+
case "do-output__dc-output__atproto": {
40
40
+
import("./components/output/raw/atproto/element.js");
41
41
+
import("./components/transformer/output/raw/atproto-sync/element.js");
42
42
+
import("./components/transformer/output/refiner/track-uri-passkey/element.js");
43
43
+
break;
44
44
+
}
45
45
+
case "do-output__dc-output__s3": {
46
46
+
import("./components/output/bytes/s3/element.js");
47
47
+
import("./components/transformer/output/bytes/dasl-sync/element.js");
48
48
+
break;
49
49
+
}
50
50
+
}
51
51
+
});
52
52
+
previouslyActivated = set;
53
53
+
});
54
54
+
}
55
55
+
// ELEMENT GETTERS
56
56
+
/**
57
57
+
* @returns {OutputElement}
58
58
+
*/
59
59
+
get output() {
60
60
+
const output = this.root().querySelector("#do-output__output");
61
61
+
if (!output) throw new Error("Output orchestrator did not render yet.");
62
62
+
return output;
63
63
+
}
64
64
+
/**
65
65
+
* @returns {OutputConfiguratorElement}
66
66
+
*/
67
67
+
get outputConfigurator() {
68
68
+
const outputConfigurator = this.root().querySelector(
69
69
+
"#do-output__dc-output"
70
70
+
);
71
71
+
if (!outputConfigurator) {
72
72
+
throw new Error("Output orchestrator did not render yet.");
73
73
+
}
74
74
+
return outputConfigurator;
75
75
+
}
76
76
+
// PROXY OUTPUT ACTIONS
77
77
+
get facets() {
78
78
+
return this.output.facets;
79
79
+
}
80
80
+
get playlistItems() {
81
81
+
return this.output.playlistItems;
82
82
+
}
83
83
+
get themes() {
84
84
+
return this.output.themes;
85
85
+
}
86
86
+
get tracks() {
87
87
+
return this.output.tracks;
88
88
+
}
89
89
+
get ready() {
90
90
+
return this.output.ready;
91
91
+
}
92
92
+
// PROXY ADDITIONAL OUTPUT CONFIGURATOR ACTIONS
93
93
+
get activated() {
94
94
+
return this.outputConfigurator.activated;
95
95
+
}
96
96
+
get deselect() {
97
97
+
return this.outputConfigurator.deselect;
98
98
+
}
99
99
+
get options() {
100
100
+
return this.outputConfigurator.options;
101
101
+
}
102
102
+
get select() {
103
103
+
return this.outputConfigurator.select;
104
104
+
}
105
105
+
get selected() {
106
106
+
return this.outputConfigurator.selected;
107
107
+
}
108
108
+
// RENDER
109
109
+
/**
110
110
+
* @param {RenderArg} _
111
111
+
*/
112
112
+
render({ html }) {
113
113
+
const group = this.group === DEFAULT_GROUP ? void 0 : this.group;
114
114
+
return html`
115
115
+
<dop-indexed-db
116
116
+
id="do-output__dop-indexed-db__json"
117
117
+
namespace="json"
118
118
+
group="${o(group)}"
119
119
+
></dop-indexed-db>
120
120
+
121
121
+
<!-- ⚙️ S3 -->
122
122
+
<dob-s3 id="do-output__dob-s3" group="${o(group)}"></dob-s3>
123
123
+
124
124
+
<!-- ⚙️ ATPROTO -->
125
125
+
<dtor-atproto-sync
126
126
+
id="do-output__dtor-atproto-sync"
127
127
+
namespace="atproto"
128
128
+
output-selector="#do-output__dor-atproto"
129
129
+
group="${o(group)}"
130
130
+
></dtor-atproto-sync>
131
131
+
132
132
+
<dor-atproto
133
133
+
id="do-output__dor-atproto"
134
134
+
group="${o(group)}"
135
135
+
></dor-atproto>
136
136
+
137
137
+
<!-- OUTPUT CONFIGURATOR -->
138
138
+
<dc-output
139
139
+
id="do-output__dc-output"
140
140
+
default="do-output__dc-output__local"
141
141
+
group="${o(group)}"
142
142
+
>
143
143
+
<!-- local -->
144
144
+
<dtos-json
145
145
+
id="do-output__dc-output__local"
146
146
+
output-selector="#do-output__dop-indexed-db__json"
147
147
+
label="Local"
148
148
+
></dtos-json>
149
149
+
150
150
+
<!-- atproto -->
151
151
+
<dtor-track-uri-passkey
152
152
+
id="do-output__dc-output__atproto"
153
153
+
namespace="atproto"
154
154
+
output-selector="#do-output__dtor-atproto-sync"
155
155
+
group="${o(group)}"
156
156
+
label="AT Protocol"
157
157
+
>
158
158
+
</dtor-track-uri-passkey>
159
159
+
160
160
+
<!-- s3 -->
161
161
+
<dtob-dasl-sync
162
162
+
id="do-output__dc-output__s3"
163
163
+
namespace="s3"
164
164
+
output-selector="#do-output__dob-s3"
165
165
+
group="${o(group)}"
166
166
+
label="S3"
167
167
+
></dtob-dasl-sync>
168
168
+
</dc-output>
169
169
+
170
170
+
<!-- ENTRY ⬆️ -->
171
171
+
<dtor-default
172
172
+
id="do-output__output"
173
173
+
output-selector="#do-output__dc-output"
174
174
+
></dtor-default>
175
175
+
`;
176
176
+
}
177
177
+
};
178
178
+
var element_default = OutputOrchestrator;
179
179
+
var CLASS = OutputOrchestrator;
180
180
+
var NAME = "do-output";
181
181
+
customElements.define(NAME, CLASS);
182
182
+
183
183
+
export {
184
184
+
element_default,
185
185
+
CLASS,
186
186
+
NAME
187
187
+
};
188
188
+
189
189
+
//# sourceMappingURL=./chunk-JEGKC6HA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JEGKC6HA.js.map
···
1
1
+
{"version":3,"sources":["/components/orchestrator/output/element.js"],"sourcesContent":["import { ifDefined } from \"lit-html/directives/if-defined.js\";\nimport { DEFAULT_GROUP, DiffuseElement } from \"@common/element.js\";\n\nimport \"@components/configurator/output/element.js\";\nimport \"@components/transformer/output/refiner/default/element.js\";\n\n/**\n * @import {RenderArg} from \"@common/element.d.ts\"\n * @import {OutputElement} from \"@components/output/types.d.ts\"\n * @import {OutputConfiguratorElement} from \"@components/configurator/output/types.d.ts\"\n */\n\n////////////////////////////////////////////\n// ELEMENT\n////////////////////////////////////////////\n\n/**\n * A default setup for managing output.\n *\n * @implements {OutputConfiguratorElement}\n */\nclass OutputOrchestrator extends DiffuseElement {\n static NAME = \"diffuse/orchestrator/output\";\n\n // LIFECYCLE\n\n /**\n * @override\n */\n async connectedCallback() {\n super.connectedCallback();\n\n /** @type {Set<string>} */\n let previouslyActivated = new Set();\n\n this.effect(() => {\n const set = this.outputConfigurator.activated();\n const newlyActicated = set.difference(previouslyActivated);\n\n newlyActicated.forEach((id) => {\n switch (id) {\n case \"do-output__dc-output__local\": {\n import(\"@components/output/polymorphic/indexed-db/element.js\");\n import(\"@components/transformer/output/string/json/element.js\");\n break;\n }\n case \"do-output__dc-output__atproto\": {\n import(\"@components/output/raw/atproto/element.js\");\n import(\n \"@components/transformer/output/raw/atproto-sync/element.js\"\n );\n import(\n \"@components/transformer/output/refiner/track-uri-passkey/element.js\"\n );\n break;\n }\n case \"do-output__dc-output__s3\": {\n import(\"@components/output/bytes/s3/element.js\");\n import(\"@components/transformer/output/bytes/dasl-sync/element.js\");\n break;\n }\n }\n });\n\n previouslyActivated = set;\n });\n }\n\n // ELEMENT GETTERS\n\n /**\n * @returns {OutputElement}\n */\n get output() {\n /** @type {OutputElement | null} */\n const output = this.root().querySelector(\"#do-output__output\");\n\n if (!output) throw new Error(\"Output orchestrator did not render yet.\");\n return output;\n }\n\n /**\n * @returns {OutputConfiguratorElement}\n */\n get outputConfigurator() {\n /** @type {OutputConfiguratorElement | null} */\n const outputConfigurator = this.root().querySelector(\n \"#do-output__dc-output\",\n );\n\n if (!outputConfigurator) {\n throw new Error(\"Output orchestrator did not render yet.\");\n }\n\n return outputConfigurator;\n }\n\n // PROXY OUTPUT ACTIONS\n\n get facets() {\n return this.output.facets;\n }\n\n get playlistItems() {\n return this.output.playlistItems;\n }\n\n get themes() {\n return this.output.themes;\n }\n\n get tracks() {\n return this.output.tracks;\n }\n\n get ready() {\n return this.output.ready;\n }\n\n // PROXY ADDITIONAL OUTPUT CONFIGURATOR ACTIONS\n\n get activated() {\n return this.outputConfigurator.activated;\n }\n\n get deselect() {\n return this.outputConfigurator.deselect;\n }\n\n get options() {\n return this.outputConfigurator.options;\n }\n\n get select() {\n return this.outputConfigurator.select;\n }\n\n get selected() {\n return this.outputConfigurator.selected;\n }\n\n // RENDER\n\n /**\n * @param {RenderArg} _\n */\n render({ html }) {\n const group = this.group === DEFAULT_GROUP ? undefined : this.group;\n\n return html`\n <dop-indexed-db\n id=\"do-output__dop-indexed-db__json\"\n namespace=\"json\"\n group=\"${ifDefined(group)}\"\n ></dop-indexed-db>\n\n <!-- ⚙️ S3 -->\n <dob-s3 id=\"do-output__dob-s3\" group=\"${ifDefined(group)}\"></dob-s3>\n\n <!-- ⚙️ ATPROTO -->\n <dtor-atproto-sync\n id=\"do-output__dtor-atproto-sync\"\n namespace=\"atproto\"\n output-selector=\"#do-output__dor-atproto\"\n group=\"${ifDefined(group)}\"\n ></dtor-atproto-sync>\n\n <dor-atproto\n id=\"do-output__dor-atproto\"\n group=\"${ifDefined(group)}\"\n ></dor-atproto>\n\n <!-- OUTPUT CONFIGURATOR -->\n <dc-output\n id=\"do-output__dc-output\"\n default=\"do-output__dc-output__local\"\n group=\"${ifDefined(group)}\"\n >\n <!-- local -->\n <dtos-json\n id=\"do-output__dc-output__local\"\n output-selector=\"#do-output__dop-indexed-db__json\"\n label=\"Local\"\n ></dtos-json>\n\n <!-- atproto -->\n <dtor-track-uri-passkey\n id=\"do-output__dc-output__atproto\"\n namespace=\"atproto\"\n output-selector=\"#do-output__dtor-atproto-sync\"\n group=\"${ifDefined(group)}\"\n label=\"AT Protocol\"\n >\n </dtor-track-uri-passkey>\n\n <!-- s3 -->\n <dtob-dasl-sync\n id=\"do-output__dc-output__s3\"\n namespace=\"s3\"\n output-selector=\"#do-output__dob-s3\"\n group=\"${ifDefined(group)}\"\n label=\"S3\"\n ></dtob-dasl-sync>\n </dc-output>\n\n <!-- ENTRY ⬆️ -->\n <dtor-default\n id=\"do-output__output\"\n output-selector=\"#do-output__dc-output\"\n ></dtor-default>\n `;\n }\n}\n\nexport default OutputOrchestrator;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = OutputOrchestrator;\nexport const NAME = \"do-output\";\n\ncustomElements.define(NAME, CLASS);\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-JEGKC6HA.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JZMTETBD.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-JZMTETBD.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JZMTETBD.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-JZMTETBD.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-KJFA7KRK.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-KJFA7KRK.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-KJFA7KRK.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-KJFA7KRK.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-M2MAFKPM.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-M2MAFKPM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-M2MAFKPM.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-M2MAFKPM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MKOANARL.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MKOANARL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MKOANARL.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MKOANARL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MVUUUQRL.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MVUUUQRL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MVUUUQRL.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MVUUUQRL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NBQPHQFP.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NBQPHQFP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NBQPHQFP.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NBQPHQFP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NKNZGHQG.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NKNZGHQG.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NKNZGHQG.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NKNZGHQG.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NP7LZHKR.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NP7LZHKR.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NP7LZHKR.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NP7LZHKR.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NSJY6VZI.js
···
1
1
+
../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/chunk-NSJY6VZI.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NSJY6VZI.js.map
···
1
1
+
../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/chunk-NSJY6VZI.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NZ7ODGIJ.js
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NZ7ODGIJ.js.map
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OBWEBS4T.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OBWEBS4T.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OBWEBS4T.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OBWEBS4T.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OIRYE7B4.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OIRYE7B4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OIRYE7B4.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OIRYE7B4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PJWFBDSG.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PJWFBDSG.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PKN6FN7E.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-PKN6FN7E.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PKN6FN7E.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-PKN6FN7E.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PTVB4Y37.js
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PTVB4Y37.js.map
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QERJLR3Q.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QERJLR3Q.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QERJLR3Q.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QERJLR3Q.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QXBWZVFE.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QXBWZVFE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QXBWZVFE.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QXBWZVFE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-R3EQQDW5.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-R3EQQDW5.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-R3EQQDW5.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-R3EQQDW5.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-S6SMX4HA.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-S6SMX4HA.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-S6SMX4HA.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-S6SMX4HA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SGR5ST3A.js
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SGR5ST3A.js.map
···
1
1
+
../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SVYFDHZC.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-SVYFDHZC.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SVYFDHZC.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-SVYFDHZC.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T2ADV37I.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-T2ADV37I.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T2ADV37I.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-T2ADV37I.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T6JAPJ7J.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T6JAPJ7J.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TP5GZFTO.js
···
1
1
+
../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TP5GZFTO.js.map
···
1
1
+
../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TSYF7OPM.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TSYF7OPM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TSYF7OPM.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TSYF7OPM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TXU4RB3O.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TXU4RB3O.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TXU4RB3O.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TXU4RB3O.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-U5LVPDQM.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-U5LVPDQM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-U5LVPDQM.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-U5LVPDQM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-UMMPFCLQ.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-UMMPFCLQ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-UMMPFCLQ.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-UMMPFCLQ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-V7EQPFPD.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-V7EQPFPD.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-V7EQPFPD.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-V7EQPFPD.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-WN6GL63Q.js
···
1
1
+
../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-WN6GL63Q.js.map
···
1
1
+
../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-X6J7NMRW.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-X6J7NMRW.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-X6J7NMRW.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-X6J7NMRW.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XGM6M423.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XGM6M423.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XGM6M423.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XGM6M423.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XMHD7DTB.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XMHD7DTB.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XMHD7DTB.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XMHD7DTB.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XRGLBUX4.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XRGLBUX4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XRGLBUX4.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XRGLBUX4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YCKIJVMK.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YCKIJVMK.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YCKIJVMK.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YCKIJVMK.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YEYOLW6N.js
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YEYOLW6N.js.map
···
1
1
+
../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YV3SRJQF.js
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YV3SRJQF.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YV3SRJQF.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YV3SRJQF.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-Z2SJTSR2.js
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-Z2SJTSR2.js.map
···
1
1
+
../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ZQZJJU3T.js
···
1
1
+
../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ZQZJJU3T.js.map
···
1
1
+
../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/cid.js
···
1
1
+
../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/cid.js.map
···
1
1
+
../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/compare.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/compare.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/compare.js.map
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/compare.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/element.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/element.js.map
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/element.js.map
+61
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/foundation.js
···
1
1
+
import {
2
2
+
GROUP,
3
3
+
config,
4
4
+
findExistingOrAdd,
5
5
+
foundation_default
6
6
+
} from "../../chunk-HDFVYYOI.js";
7
7
+
import "../../chunk-G4P4YFWD.js";
8
8
+
import "../../chunk-6JNRNMZQ.js";
9
9
+
import "../../chunk-UMMPFCLQ.js";
10
10
+
import "../../chunk-PKN6FN7E.js";
11
11
+
import "../../chunk-NP7LZHKR.js";
12
12
+
import "../../chunk-M2MAFKPM.js";
13
13
+
import "../../chunk-YV3SRJQF.js";
14
14
+
import "../../chunk-MVUUUQRL.js";
15
15
+
import "../../chunk-ESYALJPH.js";
16
16
+
import "../../chunk-U5LVPDQM.js";
17
17
+
import "../../chunk-JEGKC6HA.js";
18
18
+
import "../../chunk-6KMZB5IA.js";
19
19
+
import "../../chunk-XGM6M423.js";
20
20
+
import "../../chunk-B63ZUKFI.js";
21
21
+
import "../../chunk-TXU4RB3O.js";
22
22
+
import "../../chunk-3ENCKNXO.js";
23
23
+
import "../../chunk-OIRYE7B4.js";
24
24
+
import "../../chunk-3AO35WC3.js";
25
25
+
import "../../chunk-JBHW662S.js";
26
26
+
import "../../chunk-GX3WPNEX.js";
27
27
+
import "../../chunk-FJBTJV3K.js";
28
28
+
import "../../chunk-PTVB4Y37.js";
29
29
+
import "../../chunk-HN4F5JEZ.js";
30
30
+
import "../../chunk-NBQPHQFP.js";
31
31
+
import "../../chunk-QERJLR3Q.js";
32
32
+
import "../../chunk-OBWEBS4T.js";
33
33
+
import "../../chunk-S6SMX4HA.js";
34
34
+
import "../../chunk-XRGLBUX4.js";
35
35
+
import "../../chunk-R3EQQDW5.js";
36
36
+
import "../../chunk-GQIBEDKG.js";
37
37
+
import "../../chunk-DDF5P57I.js";
38
38
+
import "../../chunk-EEUCFWD4.js";
39
39
+
import "../../chunk-6DRHTH2U.js";
40
40
+
import "../../chunk-TSYF7OPM.js";
41
41
+
import "../../chunk-GCLDJKYV.js";
42
42
+
import "../../chunk-KJFA7KRK.js";
43
43
+
import "../../chunk-HMBZONBJ.js";
44
44
+
import "../../chunk-6CB2LXND.js";
45
45
+
import "../../chunk-V7EQPFPD.js";
46
46
+
import "../../chunk-G56PUJUJ.js";
47
47
+
import "../../chunk-6DKPDMFE.js";
48
48
+
import "../../chunk-TP5GZFTO.js";
49
49
+
import "../../chunk-ZQZJJU3T.js";
50
50
+
import "../../chunk-BKRD2ZIW.js";
51
51
+
import "../../chunk-HNJPKCUJ.js";
52
52
+
import "../../chunk-SGR5ST3A.js";
53
53
+
import "../../chunk-FZQXS3RE.js";
54
54
+
export {
55
55
+
GROUP,
56
56
+
config,
57
57
+
foundation_default as default,
58
58
+
findExistingOrAdd
59
59
+
};
60
60
+
61
61
+
//# sourceMappingURL=./foundation.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/foundation.js.map
···
1
1
+
../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/foundation.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/utils.js
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/facets/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/utils.js.map
···
1
1
+
../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/loader.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/loader.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/loader.js.map
···
1
1
+
../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/loader.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/playlist.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/playlist.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/playlist.js.map
···
1
1
+
../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/playlist.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/signal.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/signal.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/signal.js.map
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/signal.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/themes/utils.js
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/themes/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/themes/utils.js.map
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/themes/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/track.js
···
1
1
+
../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/track.js.map
···
1
1
+
../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/utils.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/utils.js.map
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker.js
···
1
1
+
../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/common/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker.js.map
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker/rpc-channel.js
···
1
1
+
../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/worker/rpc-channel.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker/rpc-channel.js.map
···
1
1
+
../../../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/common/worker/rpc-channel.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/configurator/input/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/input/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/configurator/input/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/worker.js.map
···
1
1
+
../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/configurator/input/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/output/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/configurator/output/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/output/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/output/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/audio/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/audio/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/audio/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/audio/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/queue/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/queue/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/queue/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/worker.js.map
···
1
1
+
../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/engine/queue/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/repeat-shuffle/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/repeat-shuffle/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/repeat-shuffle/element.js.map
···
1
1
+
../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/engine/repeat-shuffle/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/scope/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/scope/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/scope/element.js.map
···
1
1
+
../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/engine/scope/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/common.js
···
1
1
+
../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/common.js.map
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/common.js
···
1
1
+
../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/common.js.map
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/constants.js
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/constants.js.map
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/https/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/element.js.map
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/https/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/worker.js.map
···
1
1
+
../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/class.js
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/class.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/class.js.map
···
1
1
+
../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/components/input/opensubsonic/class.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/common.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/opensubsonic/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/common.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/constants.js
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/constants.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/opensubsonic/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/opensubsonic/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/worker.js.map
···
1
1
+
../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/common.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/s3/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/common.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/constants.js
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/s3/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/constants.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/s3/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/s3/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/worker.js.map
···
1
1
+
../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/auto-queue/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/auto-queue/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/auto-queue/element.js.map
···
1
1
+
../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/orchestrator/auto-queue/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/common.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/common.js.map
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/element.js.map
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/worker.js.map
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/input/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/input/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/input/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/input/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/media-session/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/media-session/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/media-session/element.js.map
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/media-session/element.js.map
+23
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/output/element.js
···
1
1
+
import {
2
2
+
CLASS,
3
3
+
NAME,
4
4
+
element_default
5
5
+
} from "../../../chunk-JEGKC6HA.js";
6
6
+
import "../../../chunk-6KMZB5IA.js";
7
7
+
import "../../../chunk-XGM6M423.js";
8
8
+
import "../../../chunk-B63ZUKFI.js";
9
9
+
import "../../../chunk-6CB2LXND.js";
10
10
+
import "../../../chunk-V7EQPFPD.js";
11
11
+
import "../../../chunk-G56PUJUJ.js";
12
12
+
import "../../../chunk-6DKPDMFE.js";
13
13
+
import "../../../chunk-TP5GZFTO.js";
14
14
+
import "../../../chunk-ZQZJJU3T.js";
15
15
+
import "../../../chunk-HNJPKCUJ.js";
16
16
+
import "../../../chunk-FZQXS3RE.js";
17
17
+
export {
18
18
+
CLASS,
19
19
+
NAME,
20
20
+
element_default as default
21
21
+
};
22
22
+
23
23
+
//# sourceMappingURL=./element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/output/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/output/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/process-tracks/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/process-tracks/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/process-tracks/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/worker.js.map
···
1
1
+
../../../../bafybeidi3kcddz5dkh3zvsszshh4pe37cf4zjgco3xgydj77g7v3ksd2ya/components/orchestrator/process-tracks/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/queue-audio/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/queue-audio/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/queue-audio/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/queue-audio/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/scoped-tracks/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/scoped-tracks/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/scoped-tracks/element.js.map
···
1
1
+
../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/orchestrator/scoped-tracks/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/sources/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/sources/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/sources/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/sources/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/constants.js
···
1
1
+
../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/constants.js.map
···
1
1
+
../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/bytes/s3/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/element.js
···
1
1
+
../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/bytes/s3/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/element.js.map
···
1
1
+
../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/worker.js
···
1
1
+
../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/bytes/s3/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/worker.js.map
···
1
1
+
../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/output/bytes/s3/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/common.js
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/common.js.map
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/constants.js
···
1
1
+
../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/polymorphic/indexed-db/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/constants.js.map
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/element.js
···
1
1
+
../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/polymorphic/indexed-db/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/element.js.map
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/element.js.map
+29
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/element.js
···
1
1
+
import {
2
2
+
CLASS,
3
3
+
NAME,
4
4
+
element_default
5
5
+
} from "../../../../chunk-GASLBSUN.js";
6
6
+
import "../../../../chunk-NSJY6VZI.js";
7
7
+
import "../../../../chunk-77ZY4GQV.js";
8
8
+
import "../../../../chunk-NZ7ODGIJ.js";
9
9
+
import "../../../../chunk-YCKIJVMK.js";
10
10
+
import "../../../../chunk-JZMTETBD.js";
11
11
+
import "../../../../chunk-H3WG7GN4.js";
12
12
+
import "../../../../chunk-V7EQPFPD.js";
13
13
+
import "../../../../chunk-G56PUJUJ.js";
14
14
+
import "../../../../chunk-6DKPDMFE.js";
15
15
+
import "../../../../chunk-TP5GZFTO.js";
16
16
+
import "../../../../chunk-ZQZJJU3T.js";
17
17
+
import "../../../../chunk-WN6GL63Q.js";
18
18
+
import "../../../../chunk-CRZ7HJJ4.js";
19
19
+
import "../../../../chunk-242LG3VP.js";
20
20
+
import "../../../../chunk-BKRD2ZIW.js";
21
21
+
import "../../../../chunk-HNJPKCUJ.js";
22
22
+
import "../../../../chunk-FZQXS3RE.js";
23
23
+
export {
24
24
+
CLASS,
25
25
+
NAME,
26
26
+
element_default as default
27
27
+
};
28
28
+
29
29
+
//# sourceMappingURL=./element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/element.js.map
···
1
1
+
../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/oauth.js
···
1
1
+
../../../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/components/output/raw/atproto/oauth.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/oauth.js.map
···
1
1
+
../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/oauth.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/constants.js
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/processor/artwork/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/constants.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/artwork/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/artwork/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/worker.js.map
···
1
1
+
../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/artwork/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/common.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/metadata/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/common.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/metadata/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/metadata/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/worker.js.map
···
1
1
+
../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/metadata/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/constants.js
···
1
1
+
../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/search/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/constants.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/search/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/worker.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/search/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/worker.js.map
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/search/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/base.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/base.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/base.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/base.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/constants.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/constants.js.map
···
1
1
+
../../../../../../bafybeieo3vdz7hmuriods6ueueg5yt6xctzjqrmqdasqr4plalwojiwvou/components/transformer/output/bytes/automerge/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/element.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/element.js.map
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/utils.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/utils.js.map
···
1
1
+
../../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/transformer/output/bytes/automerge/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/constants.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/constants.js.map
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/element.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/element.js.map
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/json/element.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/json/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/json/element.js.map
···
1
1
+
../../../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/transformer/output/bytes/json/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/raw/atproto-sync/element.js
···
1
1
+
../../../../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/components/transformer/output/raw/atproto-sync/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/raw/atproto-sync/element.js.map
···
1
1
+
../../../../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/components/transformer/output/raw/atproto-sync/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/default/element.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/default/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/default/element.js.map
···
1
1
+
../../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/refiner/default/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/element.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/element.js.map
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/passkey.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/passkey.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/passkey.js.map
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/passkey.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/string/json/element.js
···
1
1
+
../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/string/json/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/string/json/element.js.map
···
1
1
+
../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/string/json/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/index.ts
···
1
1
+
../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/definitions/index.ts
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/collaboration.json
···
1
1
+
../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/collaboration.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/facet.json
···
1
1
+
../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/facet.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/playlistItem.json
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/definitions/output/playlistItem.json
+23
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/playlistItemBundle.json
···
1
1
+
{
2
2
+
"lexicon": 1,
3
3
+
"id": "sh.diffuse.output.playlistItemBundle",
4
4
+
"defs": {
5
5
+
"main": {
6
6
+
"type": "record",
7
7
+
"record": {
8
8
+
"type": "object",
9
9
+
"required": ["id", "playlistItems"],
10
10
+
"properties": {
11
11
+
"id": { "type": "string" },
12
12
+
"createdAt": { "type": "string", "format": "datetime" },
13
13
+
"playlistItems": {
14
14
+
"type": "array",
15
15
+
"description": "A bundle of playlist items",
16
16
+
"items": { "type": "ref", "ref": "sh.diffuse.output.playlistItem" }
17
17
+
},
18
18
+
"updatedAt": { "type": "string", "format": "datetime" }
19
19
+
}
20
20
+
}
21
21
+
}
22
22
+
}
23
23
+
}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/theme.json
···
1
1
+
../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/theme.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/track.json
···
1
1
+
../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/definitions/output/track.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/trackBundle.json
···
1
1
+
../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/definitions/output/trackBundle.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/examples/generate-playlist.html.txt
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/examples/generate-playlist.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/examples/now-playing.html.txt
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/examples/now-playing.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/index.html
···
1
1
+
../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/index.html
+1636
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/index.js
···
1
1
+
import {
2
2
+
EditorView,
3
3
+
autocompletion,
4
4
+
basicSetup,
5
5
+
css,
6
6
+
html,
7
7
+
javascript
8
8
+
} from "../chunk-T6JAPJ7J.js";
9
9
+
import {
10
10
+
facetFromURI
11
11
+
} from "../chunk-7XAKBJEU.js";
12
12
+
import {
13
13
+
foundation_default
14
14
+
} from "../chunk-HDFVYYOI.js";
15
15
+
import "../chunk-G4P4YFWD.js";
16
16
+
import "../chunk-6JNRNMZQ.js";
17
17
+
import "../chunk-UMMPFCLQ.js";
18
18
+
import "../chunk-PKN6FN7E.js";
19
19
+
import "../chunk-NP7LZHKR.js";
20
20
+
import "../chunk-M2MAFKPM.js";
21
21
+
import "../chunk-YV3SRJQF.js";
22
22
+
import "../chunk-MVUUUQRL.js";
23
23
+
import "../chunk-ESYALJPH.js";
24
24
+
import "../chunk-U5LVPDQM.js";
25
25
+
import "../chunk-JEGKC6HA.js";
26
26
+
import "../chunk-6KMZB5IA.js";
27
27
+
import "../chunk-XGM6M423.js";
28
28
+
import "../chunk-B63ZUKFI.js";
29
29
+
import "../chunk-TXU4RB3O.js";
30
30
+
import "../chunk-3ENCKNXO.js";
31
31
+
import "../chunk-OIRYE7B4.js";
32
32
+
import "../chunk-3AO35WC3.js";
33
33
+
import "../chunk-JBHW662S.js";
34
34
+
import "../chunk-GX3WPNEX.js";
35
35
+
import "../chunk-FJBTJV3K.js";
36
36
+
import "../chunk-PTVB4Y37.js";
37
37
+
import "../chunk-HN4F5JEZ.js";
38
38
+
import {
39
39
+
i as i2
40
40
+
} from "../chunk-NBQPHQFP.js";
41
41
+
import {
42
42
+
e,
43
43
+
i,
44
44
+
t
45
45
+
} from "../chunk-QERJLR3Q.js";
46
46
+
import "../chunk-OBWEBS4T.js";
47
47
+
import "../chunk-S6SMX4HA.js";
48
48
+
import "../chunk-XRGLBUX4.js";
49
49
+
import "../chunk-R3EQQDW5.js";
50
50
+
import "../chunk-GQIBEDKG.js";
51
51
+
import "../chunk-DDF5P57I.js";
52
52
+
import "../chunk-EEUCFWD4.js";
53
53
+
import "../chunk-6DRHTH2U.js";
54
54
+
import "../chunk-TSYF7OPM.js";
55
55
+
import "../chunk-GCLDJKYV.js";
56
56
+
import "../chunk-KJFA7KRK.js";
57
57
+
import "../chunk-HMBZONBJ.js";
58
58
+
import "../chunk-6CB2LXND.js";
59
59
+
import {
60
60
+
A,
61
61
+
B,
62
62
+
E,
63
63
+
T
64
64
+
} from "../chunk-V7EQPFPD.js";
65
65
+
import "../chunk-G56PUJUJ.js";
66
66
+
import "../chunk-6DKPDMFE.js";
67
67
+
import "../chunk-TP5GZFTO.js";
68
68
+
import "../chunk-ZQZJJU3T.js";
69
69
+
import {
70
70
+
loadURI
71
71
+
} from "../chunk-X6J7NMRW.js";
72
72
+
import "../chunk-WN6GL63Q.js";
73
73
+
import "../chunk-CRZ7HJJ4.js";
74
74
+
import "../chunk-242LG3VP.js";
75
75
+
import {
76
76
+
now
77
77
+
} from "../chunk-BKRD2ZIW.js";
78
78
+
import {
79
79
+
effect,
80
80
+
signal
81
81
+
} from "../chunk-HNJPKCUJ.js";
82
82
+
import {
83
83
+
create
84
84
+
} from "../chunk-4YB6QUPN.js";
85
85
+
import "../chunk-SGR5ST3A.js";
86
86
+
import {
87
87
+
__name,
88
88
+
init_Buffer,
89
89
+
init_process
90
90
+
} from "../chunk-FZQXS3RE.js";
91
91
+
92
92
+
// facets/index.js
93
93
+
init_Buffer();
94
94
+
init_process();
95
95
+
96
96
+
// ../node_modules/.deno/marked@17.0.3/node_modules/marked/lib/marked.esm.js
97
97
+
init_Buffer();
98
98
+
init_process();
99
99
+
function M() {
100
100
+
return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null };
101
101
+
}
102
102
+
__name(M, "M");
103
103
+
var T2 = M();
104
104
+
function H(u3) {
105
105
+
T2 = u3;
106
106
+
}
107
107
+
__name(H, "H");
108
108
+
var _ = { exec: /* @__PURE__ */ __name(() => null, "exec") };
109
109
+
function k(u3, e3 = "") {
110
110
+
let t2 = typeof u3 == "string" ? u3 : u3.source, n = { replace: /* @__PURE__ */ __name((r, i3) => {
111
111
+
let s = typeof i3 == "string" ? i3 : i3.source;
112
112
+
return s = s.replace(m.caret, "$1"), t2 = t2.replace(r, s), n;
113
113
+
}, "replace"), getRegex: /* @__PURE__ */ __name(() => new RegExp(t2, e3), "getRegex") };
114
114
+
return n;
115
115
+
}
116
116
+
__name(k, "k");
117
117
+
var Re = (() => {
118
118
+
try {
119
119
+
return !!new RegExp("(?<=1)(?<!1)");
120
120
+
} catch {
121
121
+
return false;
122
122
+
}
123
123
+
})();
124
124
+
var m = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^( {0,3}${u3})((?:[ ][^\\n]*)?(?:\\n|$))`), "listItemRegex"), nextBulletRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), "nextBulletRegex"), hrRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), "hrRegex"), fencesBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}(?:\`\`\`|~~~)`), "fencesBeginRegex"), headingBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}#`), "headingBeginRegex"), htmlBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}<(?:[a-z].*>|!--)`, "i"), "htmlBeginRegex"), blockquoteBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}>`), "blockquoteBeginRegex") };
125
125
+
var Te = /^(?:[ \t]*(?:\n|$))+/;
126
126
+
var Oe = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
127
127
+
var we = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
128
128
+
var I = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
129
129
+
var ye = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
130
130
+
var N = / {0,3}(?:[*+-]|\d{1,9}[.)])/;
131
131
+
var re = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
132
132
+
var se = k(re).replace(/bull/g, N).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
133
133
+
var Pe = k(re).replace(/bull/g, N).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
134
134
+
var Q = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
135
135
+
var Se = /^[^\n]+/;
136
136
+
var F = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/;
137
137
+
var $e = k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", F).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
138
138
+
var _e = k(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, N).getRegex();
139
139
+
var q = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
140
140
+
var j = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
141
141
+
var Le = k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", j).replace("tag", q).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
142
142
+
var ie = k(Q).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", q).getRegex();
143
143
+
var Me = k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ie).getRegex();
144
144
+
var U = { blockquote: Me, code: Oe, def: $e, fences: we, heading: ye, hr: I, html: Le, lheading: se, list: _e, newline: Te, paragraph: ie, table: _, text: Se };
145
145
+
var te = k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", q).getRegex();
146
146
+
var ze = { ...U, lheading: Pe, table: te, paragraph: k(Q).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", te).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", q).getRegex() };
147
147
+
var Ce = { ...U, html: k(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", j).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: _, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: k(Q).replace("hr", I).replace("heading", ` *#{1,6} *[^
148
148
+
]`).replace("lheading", se).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() };
149
149
+
var Ae = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
150
150
+
var Ie = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
151
151
+
var oe = /^( {2,}|\\)\n(?!\s*$)/;
152
152
+
var Ee = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
153
153
+
var v = /[\p{P}\p{S}]/u;
154
154
+
var K = /[\s\p{P}\p{S}]/u;
155
155
+
var ae = /[^\s\p{P}\p{S}]/u;
156
156
+
var Be = k(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, K).getRegex();
157
157
+
var le = /(?!~)[\p{P}\p{S}]/u;
158
158
+
var De = /(?!~)[\s\p{P}\p{S}]/u;
159
159
+
var qe = /(?:[^\s\p{P}\p{S}]|~)/u;
160
160
+
var ue = /(?![*_])[\p{P}\p{S}]/u;
161
161
+
var ve = /(?![*_])[\s\p{P}\p{S}]/u;
162
162
+
var Ge = /(?:[^\s\p{P}\p{S}]|[*_])/u;
163
163
+
var He = k(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Re ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex();
164
164
+
var pe = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
165
165
+
var Ze = k(pe, "u").replace(/punct/g, v).getRegex();
166
166
+
var Ne = k(pe, "u").replace(/punct/g, le).getRegex();
167
167
+
var ce = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
168
168
+
var Qe = k(ce, "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, K).replace(/punct/g, v).getRegex();
169
169
+
var Fe = k(ce, "gu").replace(/notPunctSpace/g, qe).replace(/punctSpace/g, De).replace(/punct/g, le).getRegex();
170
170
+
var je = k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, K).replace(/punct/g, v).getRegex();
171
171
+
var Ue = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, ue).getRegex();
172
172
+
var Ke = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)";
173
173
+
var We = k(Ke, "gu").replace(/notPunctSpace/g, Ge).replace(/punctSpace/g, ve).replace(/punct/g, ue).getRegex();
174
174
+
var Xe = k(/\\(punct)/, "gu").replace(/punct/g, v).getRegex();
175
175
+
var Je = k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
176
176
+
var Ve = k(j).replace("(?:-->|$)", "-->").getRegex();
177
177
+
var Ye = k("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Ve).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
178
178
+
var D = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/;
179
179
+
var et = k(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", D).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
180
180
+
var he = k(/^!?\[(label)\]\[(ref)\]/).replace("label", D).replace("ref", F).getRegex();
181
181
+
var ke = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", F).getRegex();
182
182
+
var tt = k("reflink|nolink(?!\\()", "g").replace("reflink", he).replace("nolink", ke).getRegex();
183
183
+
var ne = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;
184
184
+
var W = { _backpedal: _, anyPunctuation: Xe, autolink: Je, blockSkip: He, br: oe, code: Ie, del: _, delLDelim: _, delRDelim: _, emStrongLDelim: Ze, emStrongRDelimAst: Qe, emStrongRDelimUnd: je, escape: Ae, link: et, nolink: ke, punctuation: Be, reflink: he, reflinkSearch: tt, tag: Ye, text: Ee, url: _ };
185
185
+
var nt = { ...W, link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", D).getRegex(), reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", D).getRegex() };
186
186
+
var Z = { ...W, emStrongRDelimAst: Fe, emStrongLDelim: Ne, delLDelim: Ue, delRDelim: We, url: k(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", ne).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: k(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", ne).getRegex() };
187
187
+
var rt = { ...Z, br: k(oe).replace("{2,}", "*").getRegex(), text: k(Z.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
188
188
+
var E2 = { normal: U, gfm: ze, pedantic: Ce };
189
189
+
var z = { normal: W, gfm: Z, breaks: rt, pedantic: nt };
190
190
+
var st = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" };
191
191
+
var de = /* @__PURE__ */ __name((u3) => st[u3], "de");
192
192
+
function O(u3, e3) {
193
193
+
if (e3) {
194
194
+
if (m.escapeTest.test(u3)) return u3.replace(m.escapeReplace, de);
195
195
+
} else if (m.escapeTestNoEncode.test(u3)) return u3.replace(m.escapeReplaceNoEncode, de);
196
196
+
return u3;
197
197
+
}
198
198
+
__name(O, "O");
199
199
+
function X(u3) {
200
200
+
try {
201
201
+
u3 = encodeURI(u3).replace(m.percentDecode, "%");
202
202
+
} catch {
203
203
+
return null;
204
204
+
}
205
205
+
return u3;
206
206
+
}
207
207
+
__name(X, "X");
208
208
+
function J(u3, e3) {
209
209
+
let t2 = u3.replace(m.findPipe, (i3, s, a) => {
210
210
+
let o2 = false, l = s;
211
211
+
for (; --l >= 0 && a[l] === "\\"; ) o2 = !o2;
212
212
+
return o2 ? "|" : " |";
213
213
+
}), n = t2.split(m.splitPipe), r = 0;
214
214
+
if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), e3) if (n.length > e3) n.splice(e3);
215
215
+
else for (; n.length < e3; ) n.push("");
216
216
+
for (; r < n.length; r++) n[r] = n[r].trim().replace(m.slashPipe, "|");
217
217
+
return n;
218
218
+
}
219
219
+
__name(J, "J");
220
220
+
function C(u3, e3, t2) {
221
221
+
let n = u3.length;
222
222
+
if (n === 0) return "";
223
223
+
let r = 0;
224
224
+
for (; r < n; ) {
225
225
+
let i3 = u3.charAt(n - r - 1);
226
226
+
if (i3 === e3 && !t2) r++;
227
227
+
else if (i3 !== e3 && t2) r++;
228
228
+
else break;
229
229
+
}
230
230
+
return u3.slice(0, n - r);
231
231
+
}
232
232
+
__name(C, "C");
233
233
+
function ge(u3, e3) {
234
234
+
if (u3.indexOf(e3[1]) === -1) return -1;
235
235
+
let t2 = 0;
236
236
+
for (let n = 0; n < u3.length; n++) if (u3[n] === "\\") n++;
237
237
+
else if (u3[n] === e3[0]) t2++;
238
238
+
else if (u3[n] === e3[1] && (t2--, t2 < 0)) return n;
239
239
+
return t2 > 0 ? -2 : -1;
240
240
+
}
241
241
+
__name(ge, "ge");
242
242
+
function fe(u3, e3 = 0) {
243
243
+
let t2 = e3, n = "";
244
244
+
for (let r of u3) if (r === " ") {
245
245
+
let i3 = 4 - t2 % 4;
246
246
+
n += " ".repeat(i3), t2 += i3;
247
247
+
} else n += r, t2++;
248
248
+
return n;
249
249
+
}
250
250
+
__name(fe, "fe");
251
251
+
function me(u3, e3, t2, n, r) {
252
252
+
let i3 = e3.href, s = e3.title || null, a = u3[1].replace(r.other.outputLinkReplace, "$1");
253
253
+
n.state.inLink = true;
254
254
+
let o2 = { type: u3[0].charAt(0) === "!" ? "image" : "link", raw: t2, href: i3, title: s, text: a, tokens: n.inlineTokens(a) };
255
255
+
return n.state.inLink = false, o2;
256
256
+
}
257
257
+
__name(me, "me");
258
258
+
function it(u3, e3, t2) {
259
259
+
let n = u3.match(t2.other.indentCodeCompensation);
260
260
+
if (n === null) return e3;
261
261
+
let r = n[1];
262
262
+
return e3.split(`
263
263
+
`).map((i3) => {
264
264
+
let s = i3.match(t2.other.beginningSpace);
265
265
+
if (s === null) return i3;
266
266
+
let [a] = s;
267
267
+
return a.length >= r.length ? i3.slice(r.length) : i3;
268
268
+
}).join(`
269
269
+
`);
270
270
+
}
271
271
+
__name(it, "it");
272
272
+
var w = class {
273
273
+
static {
274
274
+
__name(this, "w");
275
275
+
}
276
276
+
options;
277
277
+
rules;
278
278
+
lexer;
279
279
+
constructor(e3) {
280
280
+
this.options = e3 || T2;
281
281
+
}
282
282
+
space(e3) {
283
283
+
let t2 = this.rules.block.newline.exec(e3);
284
284
+
if (t2 && t2[0].length > 0) return { type: "space", raw: t2[0] };
285
285
+
}
286
286
+
code(e3) {
287
287
+
let t2 = this.rules.block.code.exec(e3);
288
288
+
if (t2) {
289
289
+
let n = t2[0].replace(this.rules.other.codeRemoveIndent, "");
290
290
+
return { type: "code", raw: t2[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : C(n, `
291
291
+
`) };
292
292
+
}
293
293
+
}
294
294
+
fences(e3) {
295
295
+
let t2 = this.rules.block.fences.exec(e3);
296
296
+
if (t2) {
297
297
+
let n = t2[0], r = it(n, t2[3] || "", this.rules);
298
298
+
return { type: "code", raw: n, lang: t2[2] ? t2[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t2[2], text: r };
299
299
+
}
300
300
+
}
301
301
+
heading(e3) {
302
302
+
let t2 = this.rules.block.heading.exec(e3);
303
303
+
if (t2) {
304
304
+
let n = t2[2].trim();
305
305
+
if (this.rules.other.endingHash.test(n)) {
306
306
+
let r = C(n, "#");
307
307
+
(this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());
308
308
+
}
309
309
+
return { type: "heading", raw: t2[0], depth: t2[1].length, text: n, tokens: this.lexer.inline(n) };
310
310
+
}
311
311
+
}
312
312
+
hr(e3) {
313
313
+
let t2 = this.rules.block.hr.exec(e3);
314
314
+
if (t2) return { type: "hr", raw: C(t2[0], `
315
315
+
`) };
316
316
+
}
317
317
+
blockquote(e3) {
318
318
+
let t2 = this.rules.block.blockquote.exec(e3);
319
319
+
if (t2) {
320
320
+
let n = C(t2[0], `
321
321
+
`).split(`
322
322
+
`), r = "", i3 = "", s = [];
323
323
+
for (; n.length > 0; ) {
324
324
+
let a = false, o2 = [], l;
325
325
+
for (l = 0; l < n.length; l++) if (this.rules.other.blockquoteStart.test(n[l])) o2.push(n[l]), a = true;
326
326
+
else if (!a) o2.push(n[l]);
327
327
+
else break;
328
328
+
n = n.slice(l);
329
329
+
let p = o2.join(`
330
330
+
`), c = p.replace(this.rules.other.blockquoteSetextReplace, `
331
331
+
$1`).replace(this.rules.other.blockquoteSetextReplace2, "");
332
332
+
r = r ? `${r}
333
333
+
${p}` : p, i3 = i3 ? `${i3}
334
334
+
${c}` : c;
335
335
+
let d = this.lexer.state.top;
336
336
+
if (this.lexer.state.top = true, this.lexer.blockTokens(c, s, true), this.lexer.state.top = d, n.length === 0) break;
337
337
+
let h = s.at(-1);
338
338
+
if (h?.type === "code") break;
339
339
+
if (h?.type === "blockquote") {
340
340
+
let R = h, f = R.raw + `
341
341
+
` + n.join(`
342
342
+
`), S = this.blockquote(f);
343
343
+
s[s.length - 1] = S, r = r.substring(0, r.length - R.raw.length) + S.raw, i3 = i3.substring(0, i3.length - R.text.length) + S.text;
344
344
+
break;
345
345
+
} else if (h?.type === "list") {
346
346
+
let R = h, f = R.raw + `
347
347
+
` + n.join(`
348
348
+
`), S = this.list(f);
349
349
+
s[s.length - 1] = S, r = r.substring(0, r.length - h.raw.length) + S.raw, i3 = i3.substring(0, i3.length - R.raw.length) + S.raw, n = f.substring(s.at(-1).raw.length).split(`
350
350
+
`);
351
351
+
continue;
352
352
+
}
353
353
+
}
354
354
+
return { type: "blockquote", raw: r, tokens: s, text: i3 };
355
355
+
}
356
356
+
}
357
357
+
list(e3) {
358
358
+
let t2 = this.rules.block.list.exec(e3);
359
359
+
if (t2) {
360
360
+
let n = t2[1].trim(), r = n.length > 1, i3 = { type: "list", raw: "", ordered: r, start: r ? +n.slice(0, -1) : "", loose: false, items: [] };
361
361
+
n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]");
362
362
+
let s = this.rules.other.listItemRegex(n), a = false;
363
363
+
for (; e3; ) {
364
364
+
let l = false, p = "", c = "";
365
365
+
if (!(t2 = s.exec(e3)) || this.rules.block.hr.test(e3)) break;
366
366
+
p = t2[0], e3 = e3.substring(p.length);
367
367
+
let d = fe(t2[2].split(`
368
368
+
`, 1)[0], t2[1].length), h = e3.split(`
369
369
+
`, 1)[0], R = !d.trim(), f = 0;
370
370
+
if (this.options.pedantic ? (f = 2, c = d.trimStart()) : R ? f = t2[1].length + 1 : (f = d.search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, c = d.slice(f), f += t2[1].length), R && this.rules.other.blankLine.test(h) && (p += h + `
371
371
+
`, e3 = e3.substring(h.length + 1), l = true), !l) {
372
372
+
let S = this.rules.other.nextBulletRegex(f), V = this.rules.other.hrRegex(f), Y = this.rules.other.fencesBeginRegex(f), ee = this.rules.other.headingBeginRegex(f), xe = this.rules.other.htmlBeginRegex(f), be = this.rules.other.blockquoteBeginRegex(f);
373
373
+
for (; e3; ) {
374
374
+
let G = e3.split(`
375
375
+
`, 1)[0], A2;
376
376
+
if (h = G, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), A2 = h) : A2 = h.replace(this.rules.other.tabCharGlobal, " "), Y.test(h) || ee.test(h) || xe.test(h) || be.test(h) || S.test(h) || V.test(h)) break;
377
377
+
if (A2.search(this.rules.other.nonSpaceChar) >= f || !h.trim()) c += `
378
378
+
` + A2.slice(f);
379
379
+
else {
380
380
+
if (R || d.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || Y.test(d) || ee.test(d) || V.test(d)) break;
381
381
+
c += `
382
382
+
` + h;
383
383
+
}
384
384
+
R = !h.trim(), p += G + `
385
385
+
`, e3 = e3.substring(G.length + 1), d = A2.slice(f);
386
386
+
}
387
387
+
}
388
388
+
i3.loose || (a ? i3.loose = true : this.rules.other.doubleBlankLine.test(p) && (a = true)), i3.items.push({ type: "list_item", raw: p, task: !!this.options.gfm && this.rules.other.listIsTask.test(c), loose: false, text: c, tokens: [] }), i3.raw += p;
389
389
+
}
390
390
+
let o2 = i3.items.at(-1);
391
391
+
if (o2) o2.raw = o2.raw.trimEnd(), o2.text = o2.text.trimEnd();
392
392
+
else return;
393
393
+
i3.raw = i3.raw.trimEnd();
394
394
+
for (let l of i3.items) {
395
395
+
if (this.lexer.state.top = false, l.tokens = this.lexer.blockTokens(l.text, []), l.task) {
396
396
+
if (l.text = l.text.replace(this.rules.other.listReplaceTask, ""), l.tokens[0]?.type === "text" || l.tokens[0]?.type === "paragraph") {
397
397
+
l.tokens[0].raw = l.tokens[0].raw.replace(this.rules.other.listReplaceTask, ""), l.tokens[0].text = l.tokens[0].text.replace(this.rules.other.listReplaceTask, "");
398
398
+
for (let c = this.lexer.inlineQueue.length - 1; c >= 0; c--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)) {
399
399
+
this.lexer.inlineQueue[c].src = this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask, "");
400
400
+
break;
401
401
+
}
402
402
+
}
403
403
+
let p = this.rules.other.listTaskCheckbox.exec(l.raw);
404
404
+
if (p) {
405
405
+
let c = { type: "checkbox", raw: p[0] + " ", checked: p[0] !== "[ ]" };
406
406
+
l.checked = c.checked, i3.loose ? l.tokens[0] && ["paragraph", "text"].includes(l.tokens[0].type) && "tokens" in l.tokens[0] && l.tokens[0].tokens ? (l.tokens[0].raw = c.raw + l.tokens[0].raw, l.tokens[0].text = c.raw + l.tokens[0].text, l.tokens[0].tokens.unshift(c)) : l.tokens.unshift({ type: "paragraph", raw: c.raw, text: c.raw, tokens: [c] }) : l.tokens.unshift(c);
407
407
+
}
408
408
+
}
409
409
+
if (!i3.loose) {
410
410
+
let p = l.tokens.filter((d) => d.type === "space"), c = p.length > 0 && p.some((d) => this.rules.other.anyLine.test(d.raw));
411
411
+
i3.loose = c;
412
412
+
}
413
413
+
}
414
414
+
if (i3.loose) for (let l of i3.items) {
415
415
+
l.loose = true;
416
416
+
for (let p of l.tokens) p.type === "text" && (p.type = "paragraph");
417
417
+
}
418
418
+
return i3;
419
419
+
}
420
420
+
}
421
421
+
html(e3) {
422
422
+
let t2 = this.rules.block.html.exec(e3);
423
423
+
if (t2) return { type: "html", block: true, raw: t2[0], pre: t2[1] === "pre" || t2[1] === "script" || t2[1] === "style", text: t2[0] };
424
424
+
}
425
425
+
def(e3) {
426
426
+
let t2 = this.rules.block.def.exec(e3);
427
427
+
if (t2) {
428
428
+
let n = t2[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), r = t2[2] ? t2[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", i3 = t2[3] ? t2[3].substring(1, t2[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t2[3];
429
429
+
return { type: "def", tag: n, raw: t2[0], href: r, title: i3 };
430
430
+
}
431
431
+
}
432
432
+
table(e3) {
433
433
+
let t2 = this.rules.block.table.exec(e3);
434
434
+
if (!t2 || !this.rules.other.tableDelimiter.test(t2[2])) return;
435
435
+
let n = J(t2[1]), r = t2[2].replace(this.rules.other.tableAlignChars, "").split("|"), i3 = t2[3]?.trim() ? t2[3].replace(this.rules.other.tableRowBlankLine, "").split(`
436
436
+
`) : [], s = { type: "table", raw: t2[0], header: [], align: [], rows: [] };
437
437
+
if (n.length === r.length) {
438
438
+
for (let a of r) this.rules.other.tableAlignRight.test(a) ? s.align.push("right") : this.rules.other.tableAlignCenter.test(a) ? s.align.push("center") : this.rules.other.tableAlignLeft.test(a) ? s.align.push("left") : s.align.push(null);
439
439
+
for (let a = 0; a < n.length; a++) s.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: true, align: s.align[a] });
440
440
+
for (let a of i3) s.rows.push(J(a, s.header.length).map((o2, l) => ({ text: o2, tokens: this.lexer.inline(o2), header: false, align: s.align[l] })));
441
441
+
return s;
442
442
+
}
443
443
+
}
444
444
+
lheading(e3) {
445
445
+
let t2 = this.rules.block.lheading.exec(e3);
446
446
+
if (t2) return { type: "heading", raw: t2[0], depth: t2[2].charAt(0) === "=" ? 1 : 2, text: t2[1], tokens: this.lexer.inline(t2[1]) };
447
447
+
}
448
448
+
paragraph(e3) {
449
449
+
let t2 = this.rules.block.paragraph.exec(e3);
450
450
+
if (t2) {
451
451
+
let n = t2[1].charAt(t2[1].length - 1) === `
452
452
+
` ? t2[1].slice(0, -1) : t2[1];
453
453
+
return { type: "paragraph", raw: t2[0], text: n, tokens: this.lexer.inline(n) };
454
454
+
}
455
455
+
}
456
456
+
text(e3) {
457
457
+
let t2 = this.rules.block.text.exec(e3);
458
458
+
if (t2) return { type: "text", raw: t2[0], text: t2[0], tokens: this.lexer.inline(t2[0]) };
459
459
+
}
460
460
+
escape(e3) {
461
461
+
let t2 = this.rules.inline.escape.exec(e3);
462
462
+
if (t2) return { type: "escape", raw: t2[0], text: t2[1] };
463
463
+
}
464
464
+
tag(e3) {
465
465
+
let t2 = this.rules.inline.tag.exec(e3);
466
466
+
if (t2) return !this.lexer.state.inLink && this.rules.other.startATag.test(t2[0]) ? this.lexer.state.inLink = true : this.lexer.state.inLink && this.rules.other.endATag.test(t2[0]) && (this.lexer.state.inLink = false), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t2[0]) ? this.lexer.state.inRawBlock = true : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t2[0]) && (this.lexer.state.inRawBlock = false), { type: "html", raw: t2[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: false, text: t2[0] };
467
467
+
}
468
468
+
link(e3) {
469
469
+
let t2 = this.rules.inline.link.exec(e3);
470
470
+
if (t2) {
471
471
+
let n = t2[2].trim();
472
472
+
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {
473
473
+
if (!this.rules.other.endAngleBracket.test(n)) return;
474
474
+
let s = C(n.slice(0, -1), "\\");
475
475
+
if ((n.length - s.length) % 2 === 0) return;
476
476
+
} else {
477
477
+
let s = ge(t2[2], "()");
478
478
+
if (s === -2) return;
479
479
+
if (s > -1) {
480
480
+
let o2 = (t2[0].indexOf("!") === 0 ? 5 : 4) + t2[1].length + s;
481
481
+
t2[2] = t2[2].substring(0, s), t2[0] = t2[0].substring(0, o2).trim(), t2[3] = "";
482
482
+
}
483
483
+
}
484
484
+
let r = t2[2], i3 = "";
485
485
+
if (this.options.pedantic) {
486
486
+
let s = this.rules.other.pedanticHrefTitle.exec(r);
487
487
+
s && (r = s[1], i3 = s[3]);
488
488
+
} else i3 = t2[3] ? t2[3].slice(1, -1) : "";
489
489
+
return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), me(t2, { href: r && r.replace(this.rules.inline.anyPunctuation, "$1"), title: i3 && i3.replace(this.rules.inline.anyPunctuation, "$1") }, t2[0], this.lexer, this.rules);
490
490
+
}
491
491
+
}
492
492
+
reflink(e3, t2) {
493
493
+
let n;
494
494
+
if ((n = this.rules.inline.reflink.exec(e3)) || (n = this.rules.inline.nolink.exec(e3))) {
495
495
+
let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i3 = t2[r.toLowerCase()];
496
496
+
if (!i3) {
497
497
+
let s = n[0].charAt(0);
498
498
+
return { type: "text", raw: s, text: s };
499
499
+
}
500
500
+
return me(n, i3, n[0], this.lexer, this.rules);
501
501
+
}
502
502
+
}
503
503
+
emStrong(e3, t2, n = "") {
504
504
+
let r = this.rules.inline.emStrongLDelim.exec(e3);
505
505
+
if (!r || r[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return;
506
506
+
if (!(r[1] || r[2] || "") || !n || this.rules.inline.punctuation.exec(n)) {
507
507
+
let s = [...r[0]].length - 1, a, o2, l = s, p = 0, c = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
508
508
+
for (c.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = c.exec(t2)) != null; ) {
509
509
+
if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a) continue;
510
510
+
if (o2 = [...a].length, r[3] || r[4]) {
511
511
+
l += o2;
512
512
+
continue;
513
513
+
} else if ((r[5] || r[6]) && s % 3 && !((s + o2) % 3)) {
514
514
+
p += o2;
515
515
+
continue;
516
516
+
}
517
517
+
if (l -= o2, l > 0) continue;
518
518
+
o2 = Math.min(o2, o2 + l + p);
519
519
+
let d = [...r[0]][0].length, h = e3.slice(0, s + r.index + d + o2);
520
520
+
if (Math.min(s, o2) % 2) {
521
521
+
let f = h.slice(1, -1);
522
522
+
return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };
523
523
+
}
524
524
+
let R = h.slice(2, -2);
525
525
+
return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) };
526
526
+
}
527
527
+
}
528
528
+
}
529
529
+
codespan(e3) {
530
530
+
let t2 = this.rules.inline.code.exec(e3);
531
531
+
if (t2) {
532
532
+
let n = t2[2].replace(this.rules.other.newLineCharGlobal, " "), r = this.rules.other.nonSpaceChar.test(n), i3 = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);
533
533
+
return r && i3 && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t2[0], text: n };
534
534
+
}
535
535
+
}
536
536
+
br(e3) {
537
537
+
let t2 = this.rules.inline.br.exec(e3);
538
538
+
if (t2) return { type: "br", raw: t2[0] };
539
539
+
}
540
540
+
del(e3, t2, n = "") {
541
541
+
let r = this.rules.inline.delLDelim.exec(e3);
542
542
+
if (!r) return;
543
543
+
if (!(r[1] || "") || !n || this.rules.inline.punctuation.exec(n)) {
544
544
+
let s = [...r[0]].length - 1, a, o2, l = s, p = this.rules.inline.delRDelim;
545
545
+
for (p.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = p.exec(t2)) != null; ) {
546
546
+
if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a || (o2 = [...a].length, o2 !== s)) continue;
547
547
+
if (r[3] || r[4]) {
548
548
+
l += o2;
549
549
+
continue;
550
550
+
}
551
551
+
if (l -= o2, l > 0) continue;
552
552
+
o2 = Math.min(o2, o2 + l);
553
553
+
let c = [...r[0]][0].length, d = e3.slice(0, s + r.index + c + o2), h = d.slice(s, -s);
554
554
+
return { type: "del", raw: d, text: h, tokens: this.lexer.inlineTokens(h) };
555
555
+
}
556
556
+
}
557
557
+
}
558
558
+
autolink(e3) {
559
559
+
let t2 = this.rules.inline.autolink.exec(e3);
560
560
+
if (t2) {
561
561
+
let n, r;
562
562
+
return t2[2] === "@" ? (n = t2[1], r = "mailto:" + n) : (n = t2[1], r = n), { type: "link", raw: t2[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
563
563
+
}
564
564
+
}
565
565
+
url(e3) {
566
566
+
let t2;
567
567
+
if (t2 = this.rules.inline.url.exec(e3)) {
568
568
+
let n, r;
569
569
+
if (t2[2] === "@") n = t2[0], r = "mailto:" + n;
570
570
+
else {
571
571
+
let i3;
572
572
+
do
573
573
+
i3 = t2[0], t2[0] = this.rules.inline._backpedal.exec(t2[0])?.[0] ?? "";
574
574
+
while (i3 !== t2[0]);
575
575
+
n = t2[0], t2[1] === "www." ? r = "http://" + t2[0] : r = t2[0];
576
576
+
}
577
577
+
return { type: "link", raw: t2[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
578
578
+
}
579
579
+
}
580
580
+
inlineText(e3) {
581
581
+
let t2 = this.rules.inline.text.exec(e3);
582
582
+
if (t2) {
583
583
+
let n = this.lexer.state.inRawBlock;
584
584
+
return { type: "text", raw: t2[0], text: t2[0], escaped: n };
585
585
+
}
586
586
+
}
587
587
+
};
588
588
+
var x = class u {
589
589
+
static {
590
590
+
__name(this, "u");
591
591
+
}
592
592
+
tokens;
593
593
+
options;
594
594
+
state;
595
595
+
inlineQueue;
596
596
+
tokenizer;
597
597
+
constructor(e3) {
598
598
+
this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e3 || T2, this.options.tokenizer = this.options.tokenizer || new w(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true };
599
599
+
let t2 = { other: m, block: E2.normal, inline: z.normal };
600
600
+
this.options.pedantic ? (t2.block = E2.pedantic, t2.inline = z.pedantic) : this.options.gfm && (t2.block = E2.gfm, this.options.breaks ? t2.inline = z.breaks : t2.inline = z.gfm), this.tokenizer.rules = t2;
601
601
+
}
602
602
+
static get rules() {
603
603
+
return { block: E2, inline: z };
604
604
+
}
605
605
+
static lex(e3, t2) {
606
606
+
return new u(t2).lex(e3);
607
607
+
}
608
608
+
static lexInline(e3, t2) {
609
609
+
return new u(t2).inlineTokens(e3);
610
610
+
}
611
611
+
lex(e3) {
612
612
+
e3 = e3.replace(m.carriageReturn, `
613
613
+
`), this.blockTokens(e3, this.tokens);
614
614
+
for (let t2 = 0; t2 < this.inlineQueue.length; t2++) {
615
615
+
let n = this.inlineQueue[t2];
616
616
+
this.inlineTokens(n.src, n.tokens);
617
617
+
}
618
618
+
return this.inlineQueue = [], this.tokens;
619
619
+
}
620
620
+
blockTokens(e3, t2 = [], n = false) {
621
621
+
for (this.options.pedantic && (e3 = e3.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); e3; ) {
622
622
+
let r;
623
623
+
if (this.options.extensions?.block?.some((s) => (r = s.call({ lexer: this }, e3, t2)) ? (e3 = e3.substring(r.raw.length), t2.push(r), true) : false)) continue;
624
624
+
if (r = this.tokenizer.space(e3)) {
625
625
+
e3 = e3.substring(r.raw.length);
626
626
+
let s = t2.at(-1);
627
627
+
r.raw.length === 1 && s !== void 0 ? s.raw += `
628
628
+
` : t2.push(r);
629
629
+
continue;
630
630
+
}
631
631
+
if (r = this.tokenizer.code(e3)) {
632
632
+
e3 = e3.substring(r.raw.length);
633
633
+
let s = t2.at(-1);
634
634
+
s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
635
635
+
`) ? "" : `
636
636
+
`) + r.raw, s.text += `
637
637
+
` + r.text, this.inlineQueue.at(-1).src = s.text) : t2.push(r);
638
638
+
continue;
639
639
+
}
640
640
+
if (r = this.tokenizer.fences(e3)) {
641
641
+
e3 = e3.substring(r.raw.length), t2.push(r);
642
642
+
continue;
643
643
+
}
644
644
+
if (r = this.tokenizer.heading(e3)) {
645
645
+
e3 = e3.substring(r.raw.length), t2.push(r);
646
646
+
continue;
647
647
+
}
648
648
+
if (r = this.tokenizer.hr(e3)) {
649
649
+
e3 = e3.substring(r.raw.length), t2.push(r);
650
650
+
continue;
651
651
+
}
652
652
+
if (r = this.tokenizer.blockquote(e3)) {
653
653
+
e3 = e3.substring(r.raw.length), t2.push(r);
654
654
+
continue;
655
655
+
}
656
656
+
if (r = this.tokenizer.list(e3)) {
657
657
+
e3 = e3.substring(r.raw.length), t2.push(r);
658
658
+
continue;
659
659
+
}
660
660
+
if (r = this.tokenizer.html(e3)) {
661
661
+
e3 = e3.substring(r.raw.length), t2.push(r);
662
662
+
continue;
663
663
+
}
664
664
+
if (r = this.tokenizer.def(e3)) {
665
665
+
e3 = e3.substring(r.raw.length);
666
666
+
let s = t2.at(-1);
667
667
+
s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
668
668
+
`) ? "" : `
669
669
+
`) + r.raw, s.text += `
670
670
+
` + r.raw, this.inlineQueue.at(-1).src = s.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = { href: r.href, title: r.title }, t2.push(r));
671
671
+
continue;
672
672
+
}
673
673
+
if (r = this.tokenizer.table(e3)) {
674
674
+
e3 = e3.substring(r.raw.length), t2.push(r);
675
675
+
continue;
676
676
+
}
677
677
+
if (r = this.tokenizer.lheading(e3)) {
678
678
+
e3 = e3.substring(r.raw.length), t2.push(r);
679
679
+
continue;
680
680
+
}
681
681
+
let i3 = e3;
682
682
+
if (this.options.extensions?.startBlock) {
683
683
+
let s = 1 / 0, a = e3.slice(1), o2;
684
684
+
this.options.extensions.startBlock.forEach((l) => {
685
685
+
o2 = l.call({ lexer: this }, a), typeof o2 == "number" && o2 >= 0 && (s = Math.min(s, o2));
686
686
+
}), s < 1 / 0 && s >= 0 && (i3 = e3.substring(0, s + 1));
687
687
+
}
688
688
+
if (this.state.top && (r = this.tokenizer.paragraph(i3))) {
689
689
+
let s = t2.at(-1);
690
690
+
n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(`
691
691
+
`) ? "" : `
692
692
+
`) + r.raw, s.text += `
693
693
+
` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t2.push(r), n = i3.length !== e3.length, e3 = e3.substring(r.raw.length);
694
694
+
continue;
695
695
+
}
696
696
+
if (r = this.tokenizer.text(e3)) {
697
697
+
e3 = e3.substring(r.raw.length);
698
698
+
let s = t2.at(-1);
699
699
+
s?.type === "text" ? (s.raw += (s.raw.endsWith(`
700
700
+
`) ? "" : `
701
701
+
`) + r.raw, s.text += `
702
702
+
` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t2.push(r);
703
703
+
continue;
704
704
+
}
705
705
+
if (e3) {
706
706
+
let s = "Infinite loop on byte: " + e3.charCodeAt(0);
707
707
+
if (this.options.silent) {
708
708
+
console.error(s);
709
709
+
break;
710
710
+
} else throw new Error(s);
711
711
+
}
712
712
+
}
713
713
+
return this.state.top = true, t2;
714
714
+
}
715
715
+
inline(e3, t2 = []) {
716
716
+
return this.inlineQueue.push({ src: e3, tokens: t2 }), t2;
717
717
+
}
718
718
+
inlineTokens(e3, t2 = []) {
719
719
+
let n = e3, r = null;
720
720
+
if (this.tokens.links) {
721
721
+
let o2 = Object.keys(this.tokens.links);
722
722
+
if (o2.length > 0) for (; (r = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) o2.includes(r[0].slice(r[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
723
723
+
}
724
724
+
for (; (r = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, r.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
725
725
+
let i3;
726
726
+
for (; (r = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) i3 = r[2] ? r[2].length : 0, n = n.slice(0, r.index + i3) + "[" + "a".repeat(r[0].length - i3 - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
727
727
+
n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n;
728
728
+
let s = false, a = "";
729
729
+
for (; e3; ) {
730
730
+
s || (a = ""), s = false;
731
731
+
let o2;
732
732
+
if (this.options.extensions?.inline?.some((p) => (o2 = p.call({ lexer: this }, e3, t2)) ? (e3 = e3.substring(o2.raw.length), t2.push(o2), true) : false)) continue;
733
733
+
if (o2 = this.tokenizer.escape(e3)) {
734
734
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
735
735
+
continue;
736
736
+
}
737
737
+
if (o2 = this.tokenizer.tag(e3)) {
738
738
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
739
739
+
continue;
740
740
+
}
741
741
+
if (o2 = this.tokenizer.link(e3)) {
742
742
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
743
743
+
continue;
744
744
+
}
745
745
+
if (o2 = this.tokenizer.reflink(e3, this.tokens.links)) {
746
746
+
e3 = e3.substring(o2.raw.length);
747
747
+
let p = t2.at(-1);
748
748
+
o2.type === "text" && p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2);
749
749
+
continue;
750
750
+
}
751
751
+
if (o2 = this.tokenizer.emStrong(e3, n, a)) {
752
752
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
753
753
+
continue;
754
754
+
}
755
755
+
if (o2 = this.tokenizer.codespan(e3)) {
756
756
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
757
757
+
continue;
758
758
+
}
759
759
+
if (o2 = this.tokenizer.br(e3)) {
760
760
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
761
761
+
continue;
762
762
+
}
763
763
+
if (o2 = this.tokenizer.del(e3, n, a)) {
764
764
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
765
765
+
continue;
766
766
+
}
767
767
+
if (o2 = this.tokenizer.autolink(e3)) {
768
768
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
769
769
+
continue;
770
770
+
}
771
771
+
if (!this.state.inLink && (o2 = this.tokenizer.url(e3))) {
772
772
+
e3 = e3.substring(o2.raw.length), t2.push(o2);
773
773
+
continue;
774
774
+
}
775
775
+
let l = e3;
776
776
+
if (this.options.extensions?.startInline) {
777
777
+
let p = 1 / 0, c = e3.slice(1), d;
778
778
+
this.options.extensions.startInline.forEach((h) => {
779
779
+
d = h.call({ lexer: this }, c), typeof d == "number" && d >= 0 && (p = Math.min(p, d));
780
780
+
}), p < 1 / 0 && p >= 0 && (l = e3.substring(0, p + 1));
781
781
+
}
782
782
+
if (o2 = this.tokenizer.inlineText(l)) {
783
783
+
e3 = e3.substring(o2.raw.length), o2.raw.slice(-1) !== "_" && (a = o2.raw.slice(-1)), s = true;
784
784
+
let p = t2.at(-1);
785
785
+
p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2);
786
786
+
continue;
787
787
+
}
788
788
+
if (e3) {
789
789
+
let p = "Infinite loop on byte: " + e3.charCodeAt(0);
790
790
+
if (this.options.silent) {
791
791
+
console.error(p);
792
792
+
break;
793
793
+
} else throw new Error(p);
794
794
+
}
795
795
+
}
796
796
+
return t2;
797
797
+
}
798
798
+
};
799
799
+
var y = class {
800
800
+
static {
801
801
+
__name(this, "y");
802
802
+
}
803
803
+
options;
804
804
+
parser;
805
805
+
constructor(e3) {
806
806
+
this.options = e3 || T2;
807
807
+
}
808
808
+
space(e3) {
809
809
+
return "";
810
810
+
}
811
811
+
code({ text: e3, lang: t2, escaped: n }) {
812
812
+
let r = (t2 || "").match(m.notSpaceStart)?.[0], i3 = e3.replace(m.endingNewline, "") + `
813
813
+
`;
814
814
+
return r ? '<pre><code class="language-' + O(r) + '">' + (n ? i3 : O(i3, true)) + `</code></pre>
815
815
+
` : "<pre><code>" + (n ? i3 : O(i3, true)) + `</code></pre>
816
816
+
`;
817
817
+
}
818
818
+
blockquote({ tokens: e3 }) {
819
819
+
return `<blockquote>
820
820
+
${this.parser.parse(e3)}</blockquote>
821
821
+
`;
822
822
+
}
823
823
+
html({ text: e3 }) {
824
824
+
return e3;
825
825
+
}
826
826
+
def(e3) {
827
827
+
return "";
828
828
+
}
829
829
+
heading({ tokens: e3, depth: t2 }) {
830
830
+
return `<h${t2}>${this.parser.parseInline(e3)}</h${t2}>
831
831
+
`;
832
832
+
}
833
833
+
hr(e3) {
834
834
+
return `<hr>
835
835
+
`;
836
836
+
}
837
837
+
list(e3) {
838
838
+
let t2 = e3.ordered, n = e3.start, r = "";
839
839
+
for (let a = 0; a < e3.items.length; a++) {
840
840
+
let o2 = e3.items[a];
841
841
+
r += this.listitem(o2);
842
842
+
}
843
843
+
let i3 = t2 ? "ol" : "ul", s = t2 && n !== 1 ? ' start="' + n + '"' : "";
844
844
+
return "<" + i3 + s + `>
845
845
+
` + r + "</" + i3 + `>
846
846
+
`;
847
847
+
}
848
848
+
listitem(e3) {
849
849
+
return `<li>${this.parser.parse(e3.tokens)}</li>
850
850
+
`;
851
851
+
}
852
852
+
checkbox({ checked: e3 }) {
853
853
+
return "<input " + (e3 ? 'checked="" ' : "") + 'disabled="" type="checkbox"> ';
854
854
+
}
855
855
+
paragraph({ tokens: e3 }) {
856
856
+
return `<p>${this.parser.parseInline(e3)}</p>
857
857
+
`;
858
858
+
}
859
859
+
table(e3) {
860
860
+
let t2 = "", n = "";
861
861
+
for (let i3 = 0; i3 < e3.header.length; i3++) n += this.tablecell(e3.header[i3]);
862
862
+
t2 += this.tablerow({ text: n });
863
863
+
let r = "";
864
864
+
for (let i3 = 0; i3 < e3.rows.length; i3++) {
865
865
+
let s = e3.rows[i3];
866
866
+
n = "";
867
867
+
for (let a = 0; a < s.length; a++) n += this.tablecell(s[a]);
868
868
+
r += this.tablerow({ text: n });
869
869
+
}
870
870
+
return r && (r = `<tbody>${r}</tbody>`), `<table>
871
871
+
<thead>
872
872
+
` + t2 + `</thead>
873
873
+
` + r + `</table>
874
874
+
`;
875
875
+
}
876
876
+
tablerow({ text: e3 }) {
877
877
+
return `<tr>
878
878
+
${e3}</tr>
879
879
+
`;
880
880
+
}
881
881
+
tablecell(e3) {
882
882
+
let t2 = this.parser.parseInline(e3.tokens), n = e3.header ? "th" : "td";
883
883
+
return (e3.align ? `<${n} align="${e3.align}">` : `<${n}>`) + t2 + `</${n}>
884
884
+
`;
885
885
+
}
886
886
+
strong({ tokens: e3 }) {
887
887
+
return `<strong>${this.parser.parseInline(e3)}</strong>`;
888
888
+
}
889
889
+
em({ tokens: e3 }) {
890
890
+
return `<em>${this.parser.parseInline(e3)}</em>`;
891
891
+
}
892
892
+
codespan({ text: e3 }) {
893
893
+
return `<code>${O(e3, true)}</code>`;
894
894
+
}
895
895
+
br(e3) {
896
896
+
return "<br>";
897
897
+
}
898
898
+
del({ tokens: e3 }) {
899
899
+
return `<del>${this.parser.parseInline(e3)}</del>`;
900
900
+
}
901
901
+
link({ href: e3, title: t2, tokens: n }) {
902
902
+
let r = this.parser.parseInline(n), i3 = X(e3);
903
903
+
if (i3 === null) return r;
904
904
+
e3 = i3;
905
905
+
let s = '<a href="' + e3 + '"';
906
906
+
return t2 && (s += ' title="' + O(t2) + '"'), s += ">" + r + "</a>", s;
907
907
+
}
908
908
+
image({ href: e3, title: t2, text: n, tokens: r }) {
909
909
+
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
910
910
+
let i3 = X(e3);
911
911
+
if (i3 === null) return O(n);
912
912
+
e3 = i3;
913
913
+
let s = `<img src="${e3}" alt="${O(n)}"`;
914
914
+
return t2 && (s += ` title="${O(t2)}"`), s += ">", s;
915
915
+
}
916
916
+
text(e3) {
917
917
+
return "tokens" in e3 && e3.tokens ? this.parser.parseInline(e3.tokens) : "escaped" in e3 && e3.escaped ? e3.text : O(e3.text);
918
918
+
}
919
919
+
};
920
920
+
var $ = class {
921
921
+
static {
922
922
+
__name(this, "$");
923
923
+
}
924
924
+
strong({ text: e3 }) {
925
925
+
return e3;
926
926
+
}
927
927
+
em({ text: e3 }) {
928
928
+
return e3;
929
929
+
}
930
930
+
codespan({ text: e3 }) {
931
931
+
return e3;
932
932
+
}
933
933
+
del({ text: e3 }) {
934
934
+
return e3;
935
935
+
}
936
936
+
html({ text: e3 }) {
937
937
+
return e3;
938
938
+
}
939
939
+
text({ text: e3 }) {
940
940
+
return e3;
941
941
+
}
942
942
+
link({ text: e3 }) {
943
943
+
return "" + e3;
944
944
+
}
945
945
+
image({ text: e3 }) {
946
946
+
return "" + e3;
947
947
+
}
948
948
+
br() {
949
949
+
return "";
950
950
+
}
951
951
+
checkbox({ raw: e3 }) {
952
952
+
return e3;
953
953
+
}
954
954
+
};
955
955
+
var b = class u2 {
956
956
+
static {
957
957
+
__name(this, "u");
958
958
+
}
959
959
+
options;
960
960
+
renderer;
961
961
+
textRenderer;
962
962
+
constructor(e3) {
963
963
+
this.options = e3 || T2, this.options.renderer = this.options.renderer || new y(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $();
964
964
+
}
965
965
+
static parse(e3, t2) {
966
966
+
return new u2(t2).parse(e3);
967
967
+
}
968
968
+
static parseInline(e3, t2) {
969
969
+
return new u2(t2).parseInline(e3);
970
970
+
}
971
971
+
parse(e3) {
972
972
+
let t2 = "";
973
973
+
for (let n = 0; n < e3.length; n++) {
974
974
+
let r = e3[n];
975
975
+
if (this.options.extensions?.renderers?.[r.type]) {
976
976
+
let s = r, a = this.options.extensions.renderers[s.type].call({ parser: this }, s);
977
977
+
if (a !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(s.type)) {
978
978
+
t2 += a || "";
979
979
+
continue;
980
980
+
}
981
981
+
}
982
982
+
let i3 = r;
983
983
+
switch (i3.type) {
984
984
+
case "space": {
985
985
+
t2 += this.renderer.space(i3);
986
986
+
break;
987
987
+
}
988
988
+
case "hr": {
989
989
+
t2 += this.renderer.hr(i3);
990
990
+
break;
991
991
+
}
992
992
+
case "heading": {
993
993
+
t2 += this.renderer.heading(i3);
994
994
+
break;
995
995
+
}
996
996
+
case "code": {
997
997
+
t2 += this.renderer.code(i3);
998
998
+
break;
999
999
+
}
1000
1000
+
case "table": {
1001
1001
+
t2 += this.renderer.table(i3);
1002
1002
+
break;
1003
1003
+
}
1004
1004
+
case "blockquote": {
1005
1005
+
t2 += this.renderer.blockquote(i3);
1006
1006
+
break;
1007
1007
+
}
1008
1008
+
case "list": {
1009
1009
+
t2 += this.renderer.list(i3);
1010
1010
+
break;
1011
1011
+
}
1012
1012
+
case "checkbox": {
1013
1013
+
t2 += this.renderer.checkbox(i3);
1014
1014
+
break;
1015
1015
+
}
1016
1016
+
case "html": {
1017
1017
+
t2 += this.renderer.html(i3);
1018
1018
+
break;
1019
1019
+
}
1020
1020
+
case "def": {
1021
1021
+
t2 += this.renderer.def(i3);
1022
1022
+
break;
1023
1023
+
}
1024
1024
+
case "paragraph": {
1025
1025
+
t2 += this.renderer.paragraph(i3);
1026
1026
+
break;
1027
1027
+
}
1028
1028
+
case "text": {
1029
1029
+
t2 += this.renderer.text(i3);
1030
1030
+
break;
1031
1031
+
}
1032
1032
+
default: {
1033
1033
+
let s = 'Token with "' + i3.type + '" type was not found.';
1034
1034
+
if (this.options.silent) return console.error(s), "";
1035
1035
+
throw new Error(s);
1036
1036
+
}
1037
1037
+
}
1038
1038
+
}
1039
1039
+
return t2;
1040
1040
+
}
1041
1041
+
parseInline(e3, t2 = this.renderer) {
1042
1042
+
let n = "";
1043
1043
+
for (let r = 0; r < e3.length; r++) {
1044
1044
+
let i3 = e3[r];
1045
1045
+
if (this.options.extensions?.renderers?.[i3.type]) {
1046
1046
+
let a = this.options.extensions.renderers[i3.type].call({ parser: this }, i3);
1047
1047
+
if (a !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i3.type)) {
1048
1048
+
n += a || "";
1049
1049
+
continue;
1050
1050
+
}
1051
1051
+
}
1052
1052
+
let s = i3;
1053
1053
+
switch (s.type) {
1054
1054
+
case "escape": {
1055
1055
+
n += t2.text(s);
1056
1056
+
break;
1057
1057
+
}
1058
1058
+
case "html": {
1059
1059
+
n += t2.html(s);
1060
1060
+
break;
1061
1061
+
}
1062
1062
+
case "link": {
1063
1063
+
n += t2.link(s);
1064
1064
+
break;
1065
1065
+
}
1066
1066
+
case "image": {
1067
1067
+
n += t2.image(s);
1068
1068
+
break;
1069
1069
+
}
1070
1070
+
case "checkbox": {
1071
1071
+
n += t2.checkbox(s);
1072
1072
+
break;
1073
1073
+
}
1074
1074
+
case "strong": {
1075
1075
+
n += t2.strong(s);
1076
1076
+
break;
1077
1077
+
}
1078
1078
+
case "em": {
1079
1079
+
n += t2.em(s);
1080
1080
+
break;
1081
1081
+
}
1082
1082
+
case "codespan": {
1083
1083
+
n += t2.codespan(s);
1084
1084
+
break;
1085
1085
+
}
1086
1086
+
case "br": {
1087
1087
+
n += t2.br(s);
1088
1088
+
break;
1089
1089
+
}
1090
1090
+
case "del": {
1091
1091
+
n += t2.del(s);
1092
1092
+
break;
1093
1093
+
}
1094
1094
+
case "text": {
1095
1095
+
n += t2.text(s);
1096
1096
+
break;
1097
1097
+
}
1098
1098
+
default: {
1099
1099
+
let a = 'Token with "' + s.type + '" type was not found.';
1100
1100
+
if (this.options.silent) return console.error(a), "";
1101
1101
+
throw new Error(a);
1102
1102
+
}
1103
1103
+
}
1104
1104
+
}
1105
1105
+
return n;
1106
1106
+
}
1107
1107
+
};
1108
1108
+
var P = class {
1109
1109
+
static {
1110
1110
+
__name(this, "P");
1111
1111
+
}
1112
1112
+
options;
1113
1113
+
block;
1114
1114
+
constructor(e3) {
1115
1115
+
this.options = e3 || T2;
1116
1116
+
}
1117
1117
+
static passThroughHooks = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]);
1118
1118
+
static passThroughHooksRespectAsync = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"]);
1119
1119
+
preprocess(e3) {
1120
1120
+
return e3;
1121
1121
+
}
1122
1122
+
postprocess(e3) {
1123
1123
+
return e3;
1124
1124
+
}
1125
1125
+
processAllTokens(e3) {
1126
1126
+
return e3;
1127
1127
+
}
1128
1128
+
emStrongMask(e3) {
1129
1129
+
return e3;
1130
1130
+
}
1131
1131
+
provideLexer() {
1132
1132
+
return this.block ? x.lex : x.lexInline;
1133
1133
+
}
1134
1134
+
provideParser() {
1135
1135
+
return this.block ? b.parse : b.parseInline;
1136
1136
+
}
1137
1137
+
};
1138
1138
+
var B2 = class {
1139
1139
+
static {
1140
1140
+
__name(this, "B");
1141
1141
+
}
1142
1142
+
defaults = M();
1143
1143
+
options = this.setOptions;
1144
1144
+
parse = this.parseMarkdown(true);
1145
1145
+
parseInline = this.parseMarkdown(false);
1146
1146
+
Parser = b;
1147
1147
+
Renderer = y;
1148
1148
+
TextRenderer = $;
1149
1149
+
Lexer = x;
1150
1150
+
Tokenizer = w;
1151
1151
+
Hooks = P;
1152
1152
+
constructor(...e3) {
1153
1153
+
this.use(...e3);
1154
1154
+
}
1155
1155
+
walkTokens(e3, t2) {
1156
1156
+
let n = [];
1157
1157
+
for (let r of e3) switch (n = n.concat(t2.call(this, r)), r.type) {
1158
1158
+
case "table": {
1159
1159
+
let i3 = r;
1160
1160
+
for (let s of i3.header) n = n.concat(this.walkTokens(s.tokens, t2));
1161
1161
+
for (let s of i3.rows) for (let a of s) n = n.concat(this.walkTokens(a.tokens, t2));
1162
1162
+
break;
1163
1163
+
}
1164
1164
+
case "list": {
1165
1165
+
let i3 = r;
1166
1166
+
n = n.concat(this.walkTokens(i3.items, t2));
1167
1167
+
break;
1168
1168
+
}
1169
1169
+
default: {
1170
1170
+
let i3 = r;
1171
1171
+
this.defaults.extensions?.childTokens?.[i3.type] ? this.defaults.extensions.childTokens[i3.type].forEach((s) => {
1172
1172
+
let a = i3[s].flat(1 / 0);
1173
1173
+
n = n.concat(this.walkTokens(a, t2));
1174
1174
+
}) : i3.tokens && (n = n.concat(this.walkTokens(i3.tokens, t2)));
1175
1175
+
}
1176
1176
+
}
1177
1177
+
return n;
1178
1178
+
}
1179
1179
+
use(...e3) {
1180
1180
+
let t2 = this.defaults.extensions || { renderers: {}, childTokens: {} };
1181
1181
+
return e3.forEach((n) => {
1182
1182
+
let r = { ...n };
1183
1183
+
if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i3) => {
1184
1184
+
if (!i3.name) throw new Error("extension name required");
1185
1185
+
if ("renderer" in i3) {
1186
1186
+
let s = t2.renderers[i3.name];
1187
1187
+
s ? t2.renderers[i3.name] = function(...a) {
1188
1188
+
let o2 = i3.renderer.apply(this, a);
1189
1189
+
return o2 === false && (o2 = s.apply(this, a)), o2;
1190
1190
+
} : t2.renderers[i3.name] = i3.renderer;
1191
1191
+
}
1192
1192
+
if ("tokenizer" in i3) {
1193
1193
+
if (!i3.level || i3.level !== "block" && i3.level !== "inline") throw new Error("extension level must be 'block' or 'inline'");
1194
1194
+
let s = t2[i3.level];
1195
1195
+
s ? s.unshift(i3.tokenizer) : t2[i3.level] = [i3.tokenizer], i3.start && (i3.level === "block" ? t2.startBlock ? t2.startBlock.push(i3.start) : t2.startBlock = [i3.start] : i3.level === "inline" && (t2.startInline ? t2.startInline.push(i3.start) : t2.startInline = [i3.start]));
1196
1196
+
}
1197
1197
+
"childTokens" in i3 && i3.childTokens && (t2.childTokens[i3.name] = i3.childTokens);
1198
1198
+
}), r.extensions = t2), n.renderer) {
1199
1199
+
let i3 = this.defaults.renderer || new y(this.defaults);
1200
1200
+
for (let s in n.renderer) {
1201
1201
+
if (!(s in i3)) throw new Error(`renderer '${s}' does not exist`);
1202
1202
+
if (["options", "parser"].includes(s)) continue;
1203
1203
+
let a = s, o2 = n.renderer[a], l = i3[a];
1204
1204
+
i3[a] = (...p) => {
1205
1205
+
let c = o2.apply(i3, p);
1206
1206
+
return c === false && (c = l.apply(i3, p)), c || "";
1207
1207
+
};
1208
1208
+
}
1209
1209
+
r.renderer = i3;
1210
1210
+
}
1211
1211
+
if (n.tokenizer) {
1212
1212
+
let i3 = this.defaults.tokenizer || new w(this.defaults);
1213
1213
+
for (let s in n.tokenizer) {
1214
1214
+
if (!(s in i3)) throw new Error(`tokenizer '${s}' does not exist`);
1215
1215
+
if (["options", "rules", "lexer"].includes(s)) continue;
1216
1216
+
let a = s, o2 = n.tokenizer[a], l = i3[a];
1217
1217
+
i3[a] = (...p) => {
1218
1218
+
let c = o2.apply(i3, p);
1219
1219
+
return c === false && (c = l.apply(i3, p)), c;
1220
1220
+
};
1221
1221
+
}
1222
1222
+
r.tokenizer = i3;
1223
1223
+
}
1224
1224
+
if (n.hooks) {
1225
1225
+
let i3 = this.defaults.hooks || new P();
1226
1226
+
for (let s in n.hooks) {
1227
1227
+
if (!(s in i3)) throw new Error(`hook '${s}' does not exist`);
1228
1228
+
if (["options", "block"].includes(s)) continue;
1229
1229
+
let a = s, o2 = n.hooks[a], l = i3[a];
1230
1230
+
P.passThroughHooks.has(s) ? i3[a] = (p) => {
1231
1231
+
if (this.defaults.async && P.passThroughHooksRespectAsync.has(s)) return (async () => {
1232
1232
+
let d = await o2.call(i3, p);
1233
1233
+
return l.call(i3, d);
1234
1234
+
})();
1235
1235
+
let c = o2.call(i3, p);
1236
1236
+
return l.call(i3, c);
1237
1237
+
} : i3[a] = (...p) => {
1238
1238
+
if (this.defaults.async) return (async () => {
1239
1239
+
let d = await o2.apply(i3, p);
1240
1240
+
return d === false && (d = await l.apply(i3, p)), d;
1241
1241
+
})();
1242
1242
+
let c = o2.apply(i3, p);
1243
1243
+
return c === false && (c = l.apply(i3, p)), c;
1244
1244
+
};
1245
1245
+
}
1246
1246
+
r.hooks = i3;
1247
1247
+
}
1248
1248
+
if (n.walkTokens) {
1249
1249
+
let i3 = this.defaults.walkTokens, s = n.walkTokens;
1250
1250
+
r.walkTokens = function(a) {
1251
1251
+
let o2 = [];
1252
1252
+
return o2.push(s.call(this, a)), i3 && (o2 = o2.concat(i3.call(this, a))), o2;
1253
1253
+
};
1254
1254
+
}
1255
1255
+
this.defaults = { ...this.defaults, ...r };
1256
1256
+
}), this;
1257
1257
+
}
1258
1258
+
setOptions(e3) {
1259
1259
+
return this.defaults = { ...this.defaults, ...e3 }, this;
1260
1260
+
}
1261
1261
+
lexer(e3, t2) {
1262
1262
+
return x.lex(e3, t2 ?? this.defaults);
1263
1263
+
}
1264
1264
+
parser(e3, t2) {
1265
1265
+
return b.parse(e3, t2 ?? this.defaults);
1266
1266
+
}
1267
1267
+
parseMarkdown(e3) {
1268
1268
+
return (n, r) => {
1269
1269
+
let i3 = { ...r }, s = { ...this.defaults, ...i3 }, a = this.onError(!!s.silent, !!s.async);
1270
1270
+
if (this.defaults.async === true && i3.async === false) return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
1271
1271
+
if (typeof n > "u" || n === null) return a(new Error("marked(): input parameter is undefined or null"));
1272
1272
+
if (typeof n != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected"));
1273
1273
+
if (s.hooks && (s.hooks.options = s, s.hooks.block = e3), s.async) return (async () => {
1274
1274
+
let o2 = s.hooks ? await s.hooks.preprocess(n) : n, p = await (s.hooks ? await s.hooks.provideLexer() : e3 ? x.lex : x.lexInline)(o2, s), c = s.hooks ? await s.hooks.processAllTokens(p) : p;
1275
1275
+
s.walkTokens && await Promise.all(this.walkTokens(c, s.walkTokens));
1276
1276
+
let h = await (s.hooks ? await s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(c, s);
1277
1277
+
return s.hooks ? await s.hooks.postprocess(h) : h;
1278
1278
+
})().catch(a);
1279
1279
+
try {
1280
1280
+
s.hooks && (n = s.hooks.preprocess(n));
1281
1281
+
let l = (s.hooks ? s.hooks.provideLexer() : e3 ? x.lex : x.lexInline)(n, s);
1282
1282
+
s.hooks && (l = s.hooks.processAllTokens(l)), s.walkTokens && this.walkTokens(l, s.walkTokens);
1283
1283
+
let c = (s.hooks ? s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(l, s);
1284
1284
+
return s.hooks && (c = s.hooks.postprocess(c)), c;
1285
1285
+
} catch (o2) {
1286
1286
+
return a(o2);
1287
1287
+
}
1288
1288
+
};
1289
1289
+
}
1290
1290
+
onError(e3, t2) {
1291
1291
+
return (n) => {
1292
1292
+
if (n.message += `
1293
1293
+
Please report this to https://github.com/markedjs/marked.`, e3) {
1294
1294
+
let r = "<p>An error occurred:</p><pre>" + O(n.message + "", true) + "</pre>";
1295
1295
+
return t2 ? Promise.resolve(r) : r;
1296
1296
+
}
1297
1297
+
if (t2) return Promise.reject(n);
1298
1298
+
throw n;
1299
1299
+
};
1300
1300
+
}
1301
1301
+
};
1302
1302
+
var L = new B2();
1303
1303
+
function g(u3, e3) {
1304
1304
+
return L.parse(u3, e3);
1305
1305
+
}
1306
1306
+
__name(g, "g");
1307
1307
+
g.options = g.setOptions = function(u3) {
1308
1308
+
return L.setOptions(u3), g.defaults = L.defaults, H(g.defaults), g;
1309
1309
+
};
1310
1310
+
g.getDefaults = M;
1311
1311
+
g.defaults = T2;
1312
1312
+
g.use = function(...u3) {
1313
1313
+
return L.use(...u3), g.defaults = L.defaults, H(g.defaults), g;
1314
1314
+
};
1315
1315
+
g.walkTokens = function(u3, e3) {
1316
1316
+
return L.walkTokens(u3, e3);
1317
1317
+
};
1318
1318
+
g.parseInline = L.parseInline;
1319
1319
+
g.Parser = b;
1320
1320
+
g.parser = b.parse;
1321
1321
+
g.Renderer = y;
1322
1322
+
g.TextRenderer = $;
1323
1323
+
g.Lexer = x;
1324
1324
+
g.lexer = x.lex;
1325
1325
+
g.Tokenizer = w;
1326
1326
+
g.Hooks = P;
1327
1327
+
g.parse = g;
1328
1328
+
var Ut = g.options;
1329
1329
+
var Kt = g.setOptions;
1330
1330
+
var Wt = g.use;
1331
1331
+
var Xt = g.walkTokens;
1332
1332
+
var Jt = g.parseInline;
1333
1333
+
var Yt = b.parse;
1334
1334
+
var en = x.lex;
1335
1335
+
1336
1336
+
// ../node_modules/.deno/lit-html@3.3.2/node_modules/lit-html/node/directives/unsafe-html.js
1337
1337
+
init_Buffer();
1338
1338
+
init_process();
1339
1339
+
var e2 = class extends i {
1340
1340
+
static {
1341
1341
+
__name(this, "e");
1342
1342
+
}
1343
1343
+
constructor(i3) {
1344
1344
+
if (super(i3), this.it = A, i3.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
1345
1345
+
}
1346
1346
+
render(r) {
1347
1347
+
if (r === A || null == r) return this._t = void 0, this.it = r;
1348
1348
+
if (r === E) return r;
1349
1349
+
if ("string" != typeof r) throw Error(this.constructor.directiveName + "() called with a non-string value");
1350
1350
+
if (r === this.it) return this._t;
1351
1351
+
this.it = r;
1352
1352
+
const s = [r];
1353
1353
+
return s.raw = s, this._t = { _$litType$: this.constructor.resultType, strings: s, values: [] };
1354
1354
+
}
1355
1355
+
};
1356
1356
+
e2.directiveName = "unsafeHTML", e2.resultType = 1;
1357
1357
+
var o = e(e2);
1358
1358
+
1359
1359
+
// facets/index.js
1360
1360
+
document.body.addEventListener(
1361
1361
+
"click",
1362
1362
+
/**
1363
1363
+
* @param {MouseEvent} event
1364
1364
+
*/
1365
1365
+
async (event) => {
1366
1366
+
const target = (
1367
1367
+
/** @type {HTMLElement} */
1368
1368
+
event.target
1369
1369
+
);
1370
1370
+
const rel = target.getAttribute("rel");
1371
1371
+
if (!rel) return;
1372
1372
+
const uri = target.closest("li")?.getAttribute("data-uri");
1373
1373
+
if (!uri) return;
1374
1374
+
const name = target.closest("li")?.getAttribute("data-name");
1375
1375
+
if (!name) return;
1376
1376
+
switch (rel) {
1377
1377
+
case "fork": {
1378
1378
+
const facet = await facetFromURI({ name, uri }, { fetchHTML: true });
1379
1379
+
editFacet(facet);
1380
1380
+
document.querySelector("#build")?.scrollIntoView();
1381
1381
+
break;
1382
1382
+
}
1383
1383
+
case "save": {
1384
1384
+
const facet = await facetFromURI({ name, uri }, { fetchHTML: false });
1385
1385
+
const out = foundation_default.orchestrator.output();
1386
1386
+
out.facets.save([
1387
1387
+
...out.facets.collection(),
1388
1388
+
facet
1389
1389
+
]);
1390
1390
+
break;
1391
1391
+
}
1392
1392
+
}
1393
1393
+
}
1394
1394
+
);
1395
1395
+
var listEl = document.querySelector("#list");
1396
1396
+
if (!listEl) throw new Error("List element not found");
1397
1397
+
var output = foundation_default.orchestrator.output();
1398
1398
+
listEl.innerHTML = "";
1399
1399
+
effect(() => {
1400
1400
+
const col = output.facets.collection().sort((a, b2) => {
1401
1401
+
return a.name.toLocaleLowerCase().localeCompare(b2.name.toLocaleLowerCase());
1402
1402
+
});
1403
1403
+
const state = output.facets.state();
1404
1404
+
const h = col.length && state === "loaded" ? T`
1405
1405
+
<ul>
1406
1406
+
${col.map(
1407
1407
+
(c) => i2(
1408
1408
+
c.id,
1409
1409
+
T`
1410
1410
+
<li>
1411
1411
+
<div style="position: relative;">
1412
1412
+
<a href="facets/l/?id=${c.id}">
1413
1413
+
${c.name}
1414
1414
+
</a>
1415
1415
+
<button
1416
1416
+
class="button--fixed button--transparent"
1417
1417
+
popovertarget="facet-menu-col-${c.id}"
1418
1418
+
style="anchor-name: --facet-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);"
1419
1419
+
>
1420
1420
+
<i class="ph-fill ph-dots-three-circle"></i>
1421
1421
+
</button>
1422
1422
+
</div>
1423
1423
+
<div class="list-description">
1424
1424
+
<div>
1425
1425
+
${c.description?.trim().length ? o(
1426
1426
+
g.parse(c.description, { async: false })
1427
1427
+
) : A}
1428
1428
+
</div>
1429
1429
+
<div>
1430
1430
+
${c.uri && !c.html ? T`
1431
1431
+
<span class="with-icon">
1432
1432
+
<i class="ph-fill ph-binoculars"></i>
1433
1433
+
<span>Tracking the original <a href="${c.uri}">URI</a></span>
1434
1434
+
</span>
1435
1435
+
` : T`
1436
1436
+
<span class="with-icon">
1437
1437
+
<i class="ph-fill ph-code"></i>
1438
1438
+
<span>Custom code</span>
1439
1439
+
</span>
1440
1440
+
`}
1441
1441
+
</div>
1442
1442
+
</div>
1443
1443
+
1444
1444
+
<!-- Dropdown Menu -->
1445
1445
+
<div
1446
1446
+
id="facet-menu-col-${c.id}"
1447
1447
+
class="dropdown"
1448
1448
+
style="position-anchor: --facet-anchor-col-${c.id}"
1449
1449
+
popover
1450
1450
+
>
1451
1451
+
<a href="facets/l/?id=${c.id}">
1452
1452
+
<span class="with-icon">
1453
1453
+
<i class="ph-fill ph-globe"></i> Open
1454
1454
+
</span>
1455
1455
+
</a>
1456
1456
+
<a @click="${() => editFacet(c)}">
1457
1457
+
<span class="with-icon">
1458
1458
+
<i class="ph-fill ph-cursor-text"></i> Edit
1459
1459
+
</span>
1460
1460
+
</a>
1461
1461
+
<a @click="${deleteFacet({ id: c.id })}">
1462
1462
+
<span class="with-icon">
1463
1463
+
<i class="ph-fill ph-eraser"></i> Delete
1464
1464
+
</span>
1465
1465
+
</a>
1466
1466
+
</div>
1467
1467
+
</li>
1468
1468
+
`
1469
1469
+
)
1470
1470
+
)}
1471
1471
+
</ul>
1472
1472
+
` : state === "loaded" ? emptyFacetsList : T`
1473
1473
+
<div class="with-icon" style="font-size: var(--fs-sm);">
1474
1474
+
<i class="ph-bold ph-spinner-gap"></i>
1475
1475
+
Loading items
1476
1476
+
</div>
1477
1477
+
`;
1478
1478
+
B(h, listEl);
1479
1479
+
});
1480
1480
+
var emptyFacetsList = T`
1481
1481
+
<p style="margin-bottom: 0;">
1482
1482
+
<i class="ph-fill ph-info"></i> You have not saved any facets yet.
1483
1483
+
</p>
1484
1484
+
`;
1485
1485
+
function deleteFacet({ id }) {
1486
1486
+
return () => {
1487
1487
+
const c = confirm("Are you sure you want to delete this facet?");
1488
1488
+
if (!c) return;
1489
1489
+
output.facets.save(
1490
1490
+
output.facets.collection().filter((c2) => !(c2.id === id))
1491
1491
+
);
1492
1492
+
};
1493
1493
+
}
1494
1494
+
__name(deleteFacet, "deleteFacet");
1495
1495
+
var $editingFacet = signal(
1496
1496
+
/** @type {Facet | null} */
1497
1497
+
null
1498
1498
+
);
1499
1499
+
var editorContainer = document.body.querySelector("#html-input-container");
1500
1500
+
if (!editorContainer) throw new Error("Editor container not found");
1501
1501
+
var editor = new EditorView({
1502
1502
+
parent: editorContainer,
1503
1503
+
doc: `
1504
1504
+
<main>
1505
1505
+
<h1 id="now-playing">
1506
1506
+
Waiting on tracks & queue to load ...
1507
1507
+
</h1>
1508
1508
+
</main>
1509
1509
+
1510
1510
+
<style>
1511
1511
+
@import "./styles/base.css";
1512
1512
+
@import "./styles/diffuse/page.css";
1513
1513
+
</style>
1514
1514
+
1515
1515
+
<script type="module">
1516
1516
+
import foundation from "@diffuse/foundation";
1517
1517
+
import { effect } from "./common/signal.js";
1518
1518
+
1519
1519
+
const components = foundation.features.fillQueueAutomatically();
1520
1520
+
const myHtmlElement = document.querySelector("#now-playing");
1521
1521
+
1522
1522
+
effect(() => {
1523
1523
+
const now = components.engine.queue.now();
1524
1524
+
const currentlyPlaying = now ? components.orchestrator.output.tracks.collection().find(t => t.id === now.id) : undefined;
1525
1525
+
if (currentlyPlaying && myHtmlElement) {
1526
1526
+
myHtmlElement.innerText = \`\${currentlyPlaying.tags.artist} - \${currentlyPlaying.tags.title}\`;
1527
1527
+
}
1528
1528
+
})
1529
1529
+
<\/script>
1530
1530
+
`.trim(),
1531
1531
+
extensions: [
1532
1532
+
basicSetup,
1533
1533
+
html(),
1534
1534
+
css(),
1535
1535
+
javascript(),
1536
1536
+
autocompletion()
1537
1537
+
]
1538
1538
+
});
1539
1539
+
document.querySelector("#build-form")?.addEventListener(
1540
1540
+
"submit",
1541
1541
+
onBuildSubmit
1542
1542
+
);
1543
1543
+
async function onBuildSubmit(event) {
1544
1544
+
event.preventDefault();
1545
1545
+
const nameEl = (
1546
1546
+
/** @type {HTMLInputElement | null} */
1547
1547
+
document.querySelector(
1548
1548
+
"#name-input"
1549
1549
+
)
1550
1550
+
);
1551
1551
+
const descriptionEl = (
1552
1552
+
/** @type {HTMLTextAreaElement | null} */
1553
1553
+
document.querySelector("#description-input")
1554
1554
+
);
1555
1555
+
const html2 = editor.state.doc.toString();
1556
1556
+
const cid = await create(85, new TextEncoder().encode(html2));
1557
1557
+
const name = nameEl?.value ?? "nameless";
1558
1558
+
const description = descriptionEl?.value ?? "";
1559
1559
+
const facet = $editingFacet.value ? {
1560
1560
+
...$editingFacet.value,
1561
1561
+
cid,
1562
1562
+
description,
1563
1563
+
html: html2,
1564
1564
+
name
1565
1565
+
} : {
1566
1566
+
$type: "sh.diffuse.output.facet",
1567
1567
+
id: now(),
1568
1568
+
cid,
1569
1569
+
description,
1570
1570
+
html: html2,
1571
1571
+
name
1572
1572
+
};
1573
1573
+
switch (
1574
1574
+
/** @type {any} */
1575
1575
+
event.submitter.name
1576
1576
+
) {
1577
1577
+
case "save":
1578
1578
+
await saveFacet(facet);
1579
1579
+
break;
1580
1580
+
case "save+open":
1581
1581
+
await saveFacet(facet);
1582
1582
+
globalThis.open(`./facets/l/?id=${facet.id}`, "blank");
1583
1583
+
break;
1584
1584
+
}
1585
1585
+
}
1586
1586
+
__name(onBuildSubmit, "onBuildSubmit");
1587
1587
+
async function editFacet(ogFacet) {
1588
1588
+
const facet = { ...ogFacet };
1589
1589
+
const nameEl = (
1590
1590
+
/** @type {HTMLInputElement | null} */
1591
1591
+
document.querySelector(
1592
1592
+
"#name-input"
1593
1593
+
)
1594
1594
+
);
1595
1595
+
const descriptionEl = (
1596
1596
+
/** @type {HTMLTextAreaElement | null} */
1597
1597
+
document.querySelector("#description-input")
1598
1598
+
);
1599
1599
+
if (!nameEl) return;
1600
1600
+
document.querySelector("#build")?.scrollIntoView();
1601
1601
+
if (!facet.html && facet.uri) {
1602
1602
+
const html2 = await loadURI(facet.uri);
1603
1603
+
const cid = await create(85, new TextEncoder().encode(html2));
1604
1604
+
facet.html = html2;
1605
1605
+
facet.cid = cid;
1606
1606
+
}
1607
1607
+
$editingFacet.value = facet;
1608
1608
+
nameEl.value = facet.name;
1609
1609
+
if (descriptionEl) {
1610
1610
+
descriptionEl.value = facet.description ?? "";
1611
1611
+
}
1612
1612
+
editor.dispatch({
1613
1613
+
changes: { from: 0, to: editor.state.doc.length, insert: facet.html }
1614
1614
+
});
1615
1615
+
}
1616
1616
+
__name(editFacet, "editFacet");
1617
1617
+
async function saveFacet(facet) {
1618
1618
+
const col = output.facets.collection();
1619
1619
+
const colWithoutId = col.filter((c) => c.id !== facet.id);
1620
1620
+
await output.facets.save([...colWithoutId, {
1621
1621
+
...facet,
1622
1622
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1623
1623
+
}]);
1624
1624
+
}
1625
1625
+
__name(saveFacet, "saveFacet");
1626
1626
+
/*! Bundled license information:
1627
1627
+
1628
1628
+
lit-html/node/directives/unsafe-html.js:
1629
1629
+
(**
1630
1630
+
* @license
1631
1631
+
* Copyright 2017 Google LLC
1632
1632
+
* SPDX-License-Identifier: BSD-3-Clause
1633
1633
+
*)
1634
1634
+
*/
1635
1635
+
1636
1636
+
//# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/index.js.map
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/l/index.html
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/l/index.html
+86
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/l/index.js
···
1
1
+
import {
2
2
+
foundation_default
3
3
+
} from "../../chunk-HDFVYYOI.js";
4
4
+
import "../../chunk-G4P4YFWD.js";
5
5
+
import "../../chunk-6JNRNMZQ.js";
6
6
+
import "../../chunk-UMMPFCLQ.js";
7
7
+
import "../../chunk-PKN6FN7E.js";
8
8
+
import "../../chunk-NP7LZHKR.js";
9
9
+
import "../../chunk-M2MAFKPM.js";
10
10
+
import "../../chunk-YV3SRJQF.js";
11
11
+
import "../../chunk-MVUUUQRL.js";
12
12
+
import "../../chunk-ESYALJPH.js";
13
13
+
import "../../chunk-U5LVPDQM.js";
14
14
+
import "../../chunk-JEGKC6HA.js";
15
15
+
import "../../chunk-6KMZB5IA.js";
16
16
+
import "../../chunk-XGM6M423.js";
17
17
+
import "../../chunk-B63ZUKFI.js";
18
18
+
import "../../chunk-TXU4RB3O.js";
19
19
+
import "../../chunk-3ENCKNXO.js";
20
20
+
import "../../chunk-OIRYE7B4.js";
21
21
+
import "../../chunk-3AO35WC3.js";
22
22
+
import "../../chunk-JBHW662S.js";
23
23
+
import "../../chunk-GX3WPNEX.js";
24
24
+
import "../../chunk-FJBTJV3K.js";
25
25
+
import "../../chunk-PTVB4Y37.js";
26
26
+
import "../../chunk-HN4F5JEZ.js";
27
27
+
import "../../chunk-NBQPHQFP.js";
28
28
+
import "../../chunk-QERJLR3Q.js";
29
29
+
import "../../chunk-OBWEBS4T.js";
30
30
+
import "../../chunk-S6SMX4HA.js";
31
31
+
import "../../chunk-XRGLBUX4.js";
32
32
+
import "../../chunk-R3EQQDW5.js";
33
33
+
import "../../chunk-GQIBEDKG.js";
34
34
+
import "../../chunk-DDF5P57I.js";
35
35
+
import "../../chunk-EEUCFWD4.js";
36
36
+
import "../../chunk-6DRHTH2U.js";
37
37
+
import "../../chunk-TSYF7OPM.js";
38
38
+
import "../../chunk-GCLDJKYV.js";
39
39
+
import "../../chunk-KJFA7KRK.js";
40
40
+
import "../../chunk-HMBZONBJ.js";
41
41
+
import "../../chunk-6CB2LXND.js";
42
42
+
import "../../chunk-V7EQPFPD.js";
43
43
+
import "../../chunk-G56PUJUJ.js";
44
44
+
import "../../chunk-6DKPDMFE.js";
45
45
+
import "../../chunk-TP5GZFTO.js";
46
46
+
import "../../chunk-ZQZJJU3T.js";
47
47
+
import {
48
48
+
createLoader
49
49
+
} from "../../chunk-X6J7NMRW.js";
50
50
+
import "../../chunk-WN6GL63Q.js";
51
51
+
import "../../chunk-CRZ7HJJ4.js";
52
52
+
import "../../chunk-242LG3VP.js";
53
53
+
import "../../chunk-BKRD2ZIW.js";
54
54
+
import "../../chunk-HNJPKCUJ.js";
55
55
+
import "../../chunk-4YB6QUPN.js";
56
56
+
import "../../chunk-SGR5ST3A.js";
57
57
+
import {
58
58
+
__name,
59
59
+
init_Buffer,
60
60
+
init_process
61
61
+
} from "../../chunk-FZQXS3RE.js";
62
62
+
63
63
+
// facets/l/index.js
64
64
+
init_Buffer();
65
65
+
init_process();
66
66
+
createLoader({
67
67
+
$type: "sh.diffuse.output.facet",
68
68
+
label: "Facet",
69
69
+
source: /* @__PURE__ */ __name(() => {
70
70
+
const output = foundation_default.orchestrator.output();
71
71
+
return output.facets;
72
72
+
}, "source"),
73
73
+
render(facet) {
74
74
+
const container = (
75
75
+
/** @type {HTMLDivElement} */
76
76
+
document.querySelector("#container")
77
77
+
);
78
78
+
const range = document.createRange();
79
79
+
range.selectNode(container);
80
80
+
const documentFragment = range.createContextualFragment(facet.html ?? "");
81
81
+
container.innerHTML = "";
82
82
+
container.append(documentFragment);
83
83
+
}
84
84
+
});
85
85
+
86
86
+
//# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/l/index.js.map
···
1
1
+
../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/facets/l/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/tools/auto-queue.html.txt
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/tools/auto-queue.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/tools/v3-import.html.txt
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/tools/v3-import.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/favicon-16x16.png
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-16x16.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/favicon-32x32.png
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-32x32.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/favicon.ico
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon.ico
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/CommitMonoVariable.woff2
···
1
1
+
../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/fonts/CommitMonoVariable.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/InterVariable-Italic.woff2
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable-Italic.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/InterVariable.woff2
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/ms_sans_serif.woff2
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/ms_sans_serif_bold.woff2
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/1.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/1.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/10.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/10.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/11.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/11.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/12.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/12.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/13.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/13.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/14.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/14.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/15.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/15.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/16.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/16.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/17.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/17.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/18.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/18.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/19.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/19.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/2.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/2.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/20.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/20.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/21.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/21.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/22.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/22.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/23.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/23.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/24.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/24.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/25.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/25.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/26.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/26.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/27.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/27.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/28.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/28.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/29.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/29.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/3.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/3.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/30.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/30.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/4.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/4.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/5.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/5.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/6.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/6.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/7.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/7.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/8.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/8.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/9.jpg
···
1
1
+
../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/9.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/1.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/1.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/10.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/10.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/11.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/11.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/12.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/12.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/13.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/13.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/14.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/14.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/15.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/15.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/16.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/16.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/17.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/17.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/18.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/18.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/19.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/19.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/2.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/2.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/20.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/20.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/21.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/21.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/22.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/22.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/23.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/23.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/24.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/24.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/25.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/25.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/26.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/26.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/27.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/27.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/28.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/28.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/29.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/29.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/3.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/3.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/30.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/30.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/4.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/4.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/5.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/5.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/6.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/6.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/7.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/7.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/8.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/8.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/9.jpg
···
1
1
+
../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/9.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-current.svg
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/diffuse-current.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-dark.svg
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-dark.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-grey.svg
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-grey.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-light.svg
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-light.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse__icon-dark.svg
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-dark.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse__icon-grey.svg
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-grey.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse__icon-light.svg
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-light.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icon-square-ws.png
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square-ws.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icon-square.png
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icon.png
···
1
1
+
../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/catalog-1.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/catalog-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_drive-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_drive_purple-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive_purple-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/channels-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/channels-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/check-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/check-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/computer_sound-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_sound-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/computer_user_pencil-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_user_pencil-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/connected_world-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/connected_world-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_admin_tools-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_admin_tools-5.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_channels-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_channels-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_closed-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_closed-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_control_panel-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_control_panel-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_explorer-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_explorer-5.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_favorites-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_favorites-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_net_web-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_net_web-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_network_conn-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_network_conn-5.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/gears-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/gears-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/globe_map-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/globe_map-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/help_book_big-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/help_book_big-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/installer-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/installer_generic_old-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer_generic_old-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/keys-5.png
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/images/icons/windows_98/keys-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/loudspeaker_wave-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/loudspeaker_wave-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/magnifying_glass-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/magnifying_glass_4-1.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass_4-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/media_player-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/media_player_stream_no.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player_stream_no.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/ms_dos-1.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/ms_dos-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_error-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_error-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_information-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_information-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_question-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_question-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_warning-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_warning-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/multimedia-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/multimedia-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/network_drive_world-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/network_drive_world-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/no-1.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/no-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/restrict-1.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/restrict-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/search_computer-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_computer-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/search_server-1.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_server-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/search_web-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_web-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/settings_gear-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/settings_gear-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/tip.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/tip.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/utopia_smiley.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/utopia_smiley.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/winamp2-32x32.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/winamp2-32x32.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/windows-0.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/windows-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/world-2.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/world-4.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/world_network_directories-3.png
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world_network_directories-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/index.html
···
1
1
+
../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/index.html
+136
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/index.js
···
1
1
+
import {
2
2
+
GROUP
3
3
+
} from "./chunk-HDFVYYOI.js";
4
4
+
import "./chunk-G4P4YFWD.js";
5
5
+
import {
6
6
+
element_default as element_default4
7
7
+
} from "./chunk-6JNRNMZQ.js";
8
8
+
import "./chunk-UMMPFCLQ.js";
9
9
+
import "./chunk-PKN6FN7E.js";
10
10
+
import "./chunk-NP7LZHKR.js";
11
11
+
import "./chunk-M2MAFKPM.js";
12
12
+
import "./chunk-YV3SRJQF.js";
13
13
+
import "./chunk-MVUUUQRL.js";
14
14
+
import "./chunk-ESYALJPH.js";
15
15
+
import "./chunk-U5LVPDQM.js";
16
16
+
import {
17
17
+
element_default as element_default3
18
18
+
} from "./chunk-JEGKC6HA.js";
19
19
+
import "./chunk-6KMZB5IA.js";
20
20
+
import "./chunk-XGM6M423.js";
21
21
+
import "./chunk-B63ZUKFI.js";
22
22
+
import {
23
23
+
element_default as element_default5
24
24
+
} from "./chunk-TXU4RB3O.js";
25
25
+
import "./chunk-3ENCKNXO.js";
26
26
+
import {
27
27
+
element_default as element_default2
28
28
+
} from "./chunk-OIRYE7B4.js";
29
29
+
import "./chunk-3AO35WC3.js";
30
30
+
import "./chunk-JBHW662S.js";
31
31
+
import "./chunk-GX3WPNEX.js";
32
32
+
import "./chunk-FJBTJV3K.js";
33
33
+
import "./chunk-PTVB4Y37.js";
34
34
+
import "./chunk-HN4F5JEZ.js";
35
35
+
import "./chunk-NBQPHQFP.js";
36
36
+
import "./chunk-QERJLR3Q.js";
37
37
+
import "./chunk-OBWEBS4T.js";
38
38
+
import "./chunk-S6SMX4HA.js";
39
39
+
import "./chunk-XRGLBUX4.js";
40
40
+
import "./chunk-R3EQQDW5.js";
41
41
+
import "./chunk-GQIBEDKG.js";
42
42
+
import "./chunk-DDF5P57I.js";
43
43
+
import "./chunk-EEUCFWD4.js";
44
44
+
import "./chunk-6DRHTH2U.js";
45
45
+
import "./chunk-TSYF7OPM.js";
46
46
+
import {
47
47
+
element_default
48
48
+
} from "./chunk-GCLDJKYV.js";
49
49
+
import "./chunk-KJFA7KRK.js";
50
50
+
import "./chunk-HMBZONBJ.js";
51
51
+
import "./chunk-6CB2LXND.js";
52
52
+
import "./chunk-V7EQPFPD.js";
53
53
+
import "./chunk-G56PUJUJ.js";
54
54
+
import "./chunk-6DKPDMFE.js";
55
55
+
import "./chunk-TP5GZFTO.js";
56
56
+
import "./chunk-ZQZJJU3T.js";
57
57
+
import "./chunk-BKRD2ZIW.js";
58
58
+
import "./chunk-HNJPKCUJ.js";
59
59
+
import "./chunk-SGR5ST3A.js";
60
60
+
import {
61
61
+
__name,
62
62
+
init_Buffer,
63
63
+
init_process
64
64
+
} from "./chunk-FZQXS3RE.js";
65
65
+
66
66
+
// index.js
67
67
+
init_Buffer();
68
68
+
init_process();
69
69
+
var s3 = new element_default2();
70
70
+
var input = new element_default();
71
71
+
input.setAttribute("group", GROUP);
72
72
+
input.append(s3);
73
73
+
var output = new element_default3();
74
74
+
output.setAttribute("group", GROUP);
75
75
+
var metadataProcessor = new element_default4();
76
76
+
metadataProcessor.setAttribute("group", GROUP);
77
77
+
document.body.append(input, output, metadataProcessor);
78
78
+
var pto = new element_default5();
79
79
+
pto.setAttribute("group", GROUP);
80
80
+
pto.setAttribute("input-selector", input.selector);
81
81
+
pto.setAttribute("output-selector", output.selector);
82
82
+
pto.setAttribute("metadata-processor-selector", metadataProcessor.selector);
83
83
+
document.body.append(pto);
84
84
+
var addDemoBtn = document.querySelector("#add-sample-content");
85
85
+
async function addSampleContent() {
86
86
+
if (!addDemoBtn) return;
87
87
+
addDemoBtn.setAttribute("disabled", "");
88
88
+
addDemoBtn.innerHTML = `<span>
89
89
+
<i class="ph-fill ph-hourglass-medium"></i>
90
90
+
Adding source
91
91
+
</span>`;
92
92
+
const demo = await s3.demo();
93
93
+
await output.tracks.loaded();
94
94
+
addDemoBtn.innerHTML = `<span>
95
95
+
<i class="ph-fill ph-hourglass-medium"></i>
96
96
+
Processing source
97
97
+
</span>`;
98
98
+
await output.tracks.save([...output.tracks.collection(), demo.track]);
99
99
+
await pto.process();
100
100
+
addDemoBtn.innerHTML = `<span>
101
101
+
<i class="ph-fill ph-check-fat"></i> Added
102
102
+
</span>`;
103
103
+
}
104
104
+
__name(addSampleContent, "addSampleContent");
105
105
+
addDemoBtn?.addEventListener("click", addSampleContent);
106
106
+
if (document.location.hostname.endsWith("diffuse.sh")) {
107
107
+
document.querySelectorAll("#status").forEach(async (status) => {
108
108
+
const versionOrCid = document.location.pathname.slice(1).split("/")[0]?.toLowerCase() ?? "";
109
109
+
const usesCid = versionOrCid.startsWith("bafy");
110
110
+
const { default: artifacts } = await import(`${document.location.origin}/artifacts.json`, { with: { type: "json" } });
111
111
+
const lastArtifact = Object.values(artifacts).reverse()[0];
112
112
+
const isLatest = usesCid ? versionOrCid === lastArtifact.cid : versionOrCid === lastArtifact.version;
113
113
+
status.querySelectorAll(".ph-spinner").forEach((icon) => {
114
114
+
icon.parentElement?.classList.add("hidden");
115
115
+
setTimeout(() => {
116
116
+
icon.parentElement?.classList.remove("animate-spin");
117
117
+
icon.classList.remove("ph-spinner");
118
118
+
icon.classList.add("ph-arrow-fat-lines-up");
119
119
+
}, 500);
120
120
+
});
121
121
+
status.querySelectorAll(`[href="/latest/"]`).forEach((a) => {
122
122
+
if (usesCid) a.setAttribute("href", "/latest/hash/");
123
123
+
if (!isLatest) {
124
124
+
setTimeout(() => {
125
125
+
a.classList.remove("hidden");
126
126
+
}, 750);
127
127
+
}
128
128
+
});
129
129
+
});
130
130
+
} else {
131
131
+
document.querySelectorAll("#status").forEach((status) => {
132
132
+
status.remove();
133
133
+
});
134
134
+
}
135
135
+
136
136
+
//# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/index.js.map
···
1
1
+
../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/mstile-150x150.png
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/mstile-150x150.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/node_crypto-QYMDOTAM.js
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/node_crypto-QYMDOTAM.js.map
···
1
1
+
../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth-client-metadata.json
···
1
1
+
../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/oauth-client-metadata.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth-client-metadata.tunnel.json
···
1
1
+
../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/oauth-client-metadata.tunnel.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth/callback/index.html
···
1
1
+
../../../bafybeiauzef62425mum6ztycx7plxmceagc2pjl4uck4h2q6qjds3ahe2u/oauth/callback/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth/callback/index.js
···
1
1
+
../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth/callback/index.js.map
···
1
1
+
../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/safari-pinned-tab.svg
···
1
1
+
../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/safari-pinned-tab.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/animations.css
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/animations.css.map
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/base.css
···
1
1
+
../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/base.css.map
···
1
1
+
../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/colors.css
···
1
1
+
../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/colors.css.map
···
1
1
+
../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/fonts.css
···
1
1
+
../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/fonts.css.map
···
1
1
+
../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/page.css
···
1
1
+
../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/page.css.map
···
1
1
+
../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/font-faces.css
···
1
1
+
../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/font-faces.css.map
···
1
1
+
../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/loader.css
···
1
1
+
../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/loader.css.map
···
1
1
+
../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/reset.css
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/reset.css.map
···
1
1
+
../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/variables.css
···
1
1
+
../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/variables.css.map
···
1
1
+
../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/98.css
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/98.css.map
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/ms_sans_serif.woff2
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/ms_sans_serif_bold.woff2
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.svg
···
1
1
+
../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
···
1
1
+
../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.woff
···
1
1
+
../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
···
1
1
+
../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/style.css
···
1
1
+
../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/style.css.map
···
1
1
+
../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.svg
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.woff
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/style.css
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/style.css.map
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/wireframe/ui.css
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/wireframe/ui.css.map
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/index.html
···
1
1
+
../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/output.js
···
1
1
+
../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/testing/output.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/output.js.map
···
1
1
+
../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/output.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/output/index.html
···
1
1
+
../../../bafybeic6tj6wx4iomrjs54m3je4e7lmq4jgcn7zqegufxtvqijffq32zkm/testing/output/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/sample/tracks.js
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/sample/tracks.js.map
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.css
···
1
1
+
../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.css.map
···
1
1
+
../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/blur/artwork-controller/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.js.map
···
1
1
+
../../../../bafybeidi3kcddz5dkh3zvsszshh4pe37cf4zjgco3xgydj77g7v3ksd2ya/themes/blur/artwork-controller/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/facet.html.txt
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/blur/artwork-controller/facet.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.css
···
1
1
+
../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.css.map
···
1
1
+
../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.html
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.js
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.js.map
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/variables.css
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/variables.css.map
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/index.html
···
1
1
+
../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/themes/index.html
+307
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/index.js
···
1
1
+
import {
2
2
+
EditorView,
3
3
+
autocompletion,
4
4
+
basicSetup,
5
5
+
css,
6
6
+
html,
7
7
+
javascript
8
8
+
} from "../chunk-T6JAPJ7J.js";
9
9
+
import {
10
10
+
foundation_default
11
11
+
} from "../chunk-HDFVYYOI.js";
12
12
+
import "../chunk-G4P4YFWD.js";
13
13
+
import "../chunk-6JNRNMZQ.js";
14
14
+
import "../chunk-UMMPFCLQ.js";
15
15
+
import "../chunk-PKN6FN7E.js";
16
16
+
import "../chunk-NP7LZHKR.js";
17
17
+
import "../chunk-M2MAFKPM.js";
18
18
+
import "../chunk-YV3SRJQF.js";
19
19
+
import "../chunk-MVUUUQRL.js";
20
20
+
import "../chunk-ESYALJPH.js";
21
21
+
import "../chunk-U5LVPDQM.js";
22
22
+
import "../chunk-JEGKC6HA.js";
23
23
+
import "../chunk-6KMZB5IA.js";
24
24
+
import "../chunk-XGM6M423.js";
25
25
+
import "../chunk-B63ZUKFI.js";
26
26
+
import "../chunk-TXU4RB3O.js";
27
27
+
import "../chunk-3ENCKNXO.js";
28
28
+
import "../chunk-OIRYE7B4.js";
29
29
+
import "../chunk-3AO35WC3.js";
30
30
+
import "../chunk-JBHW662S.js";
31
31
+
import "../chunk-GX3WPNEX.js";
32
32
+
import "../chunk-FJBTJV3K.js";
33
33
+
import "../chunk-PTVB4Y37.js";
34
34
+
import "../chunk-HN4F5JEZ.js";
35
35
+
import {
36
36
+
i
37
37
+
} from "../chunk-NBQPHQFP.js";
38
38
+
import "../chunk-QERJLR3Q.js";
39
39
+
import "../chunk-OBWEBS4T.js";
40
40
+
import "../chunk-S6SMX4HA.js";
41
41
+
import "../chunk-XRGLBUX4.js";
42
42
+
import "../chunk-R3EQQDW5.js";
43
43
+
import "../chunk-GQIBEDKG.js";
44
44
+
import "../chunk-DDF5P57I.js";
45
45
+
import "../chunk-EEUCFWD4.js";
46
46
+
import "../chunk-6DRHTH2U.js";
47
47
+
import "../chunk-TSYF7OPM.js";
48
48
+
import "../chunk-GCLDJKYV.js";
49
49
+
import "../chunk-KJFA7KRK.js";
50
50
+
import "../chunk-HMBZONBJ.js";
51
51
+
import "../chunk-6CB2LXND.js";
52
52
+
import {
53
53
+
B,
54
54
+
T
55
55
+
} from "../chunk-V7EQPFPD.js";
56
56
+
import "../chunk-G56PUJUJ.js";
57
57
+
import {
58
58
+
themeFromURI
59
59
+
} from "../chunk-4LOJTZ72.js";
60
60
+
import "../chunk-6DKPDMFE.js";
61
61
+
import "../chunk-TP5GZFTO.js";
62
62
+
import "../chunk-ZQZJJU3T.js";
63
63
+
import {
64
64
+
loadURI
65
65
+
} from "../chunk-X6J7NMRW.js";
66
66
+
import "../chunk-WN6GL63Q.js";
67
67
+
import "../chunk-CRZ7HJJ4.js";
68
68
+
import "../chunk-242LG3VP.js";
69
69
+
import {
70
70
+
now
71
71
+
} from "../chunk-BKRD2ZIW.js";
72
72
+
import {
73
73
+
effect,
74
74
+
signal
75
75
+
} from "../chunk-HNJPKCUJ.js";
76
76
+
import {
77
77
+
create
78
78
+
} from "../chunk-4YB6QUPN.js";
79
79
+
import "../chunk-SGR5ST3A.js";
80
80
+
import {
81
81
+
__name,
82
82
+
init_Buffer,
83
83
+
init_process
84
84
+
} from "../chunk-FZQXS3RE.js";
85
85
+
86
86
+
// themes/index.js
87
87
+
init_Buffer();
88
88
+
init_process();
89
89
+
document.body.addEventListener(
90
90
+
"click",
91
91
+
/**
92
92
+
* @param {MouseEvent} event
93
93
+
*/
94
94
+
async (event) => {
95
95
+
const target = (
96
96
+
/** @type {HTMLElement} */
97
97
+
event.target
98
98
+
);
99
99
+
const rel = target.getAttribute("rel");
100
100
+
if (!rel) return;
101
101
+
const uri = target.closest("li")?.getAttribute("data-uri");
102
102
+
if (!uri) return;
103
103
+
const name = target.closest("li")?.getAttribute("data-name");
104
104
+
if (!name) return;
105
105
+
switch (rel) {
106
106
+
case "fork": {
107
107
+
const theme = await themeFromURI({ name, uri }, { fetchHTML: true });
108
108
+
editTheme(theme);
109
109
+
document.querySelector("#build")?.scrollIntoView();
110
110
+
break;
111
111
+
}
112
112
+
case "save": {
113
113
+
const theme = await themeFromURI({ name, uri }, { fetchHTML: false });
114
114
+
const out = foundation_default.orchestrator.output();
115
115
+
out.themes.save([
116
116
+
...out.themes.collection(),
117
117
+
theme
118
118
+
]);
119
119
+
break;
120
120
+
}
121
121
+
}
122
122
+
}
123
123
+
);
124
124
+
var listEl = document.querySelector("#list");
125
125
+
if (!listEl) throw new Error("List element not found");
126
126
+
listEl.innerHTML = "";
127
127
+
var output = foundation_default.orchestrator.output();
128
128
+
effect(() => {
129
129
+
const col = output.themes.collection().sort((a, b) => {
130
130
+
return a.name.toLocaleLowerCase().localeCompare(b.name.toLocaleLowerCase());
131
131
+
});
132
132
+
const state = output.themes.state();
133
133
+
const h = col.length && state === "loaded" ? T`
134
134
+
<ul>
135
135
+
${col.map(
136
136
+
(c) => i(
137
137
+
c.id,
138
138
+
T`
139
139
+
<li>
140
140
+
<div style="position: relative;">
141
141
+
<a href="themes/l/?id=${c.id}">
142
142
+
${c.name}
143
143
+
</a>
144
144
+
<button
145
145
+
class="button--fixed button--transparent"
146
146
+
popovertarget="theme-menu-col-${c.id}"
147
147
+
style="anchor-name: --theme-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);"
148
148
+
>
149
149
+
<i class="ph-fill ph-dots-three-circle"></i>
150
150
+
</button>
151
151
+
</div>
152
152
+
<div class="list-description">
153
153
+
${c.uri && !c.html ? T`
154
154
+
<span class="with-icon">
155
155
+
<i class="ph-fill ph-binoculars"></i>
156
156
+
<span>Tracking the original <a href="${c.uri}">URI</a></span>
157
157
+
</span>
158
158
+
` : T`
159
159
+
<span class="with-icon">
160
160
+
<i class="ph-fill ph-code"></i>
161
161
+
<span>Custom code</span>
162
162
+
</span>
163
163
+
`}
164
164
+
</div>
165
165
+
166
166
+
<!-- Dropdown Menu -->
167
167
+
<div
168
168
+
id="theme-menu-col-${c.id}"
169
169
+
class="dropdown"
170
170
+
style="position-anchor: --theme-anchor-col-${c.id}"
171
171
+
popover
172
172
+
>
173
173
+
<a href="themes/l/?id=${c.id}">
174
174
+
<span class="with-icon">
175
175
+
<i class="ph-fill ph-globe"></i> Open
176
176
+
</span>
177
177
+
</a>
178
178
+
<a @click="${() => editTheme(c)}">
179
179
+
<span class="with-icon">
180
180
+
<i class="ph-fill ph-cursor-text"></i> Edit
181
181
+
</span>
182
182
+
</a>
183
183
+
<a @click="${deleteTheme({ id: c.id })}">
184
184
+
<span class="with-icon">
185
185
+
<i class="ph-fill ph-eraser"></i> Delete
186
186
+
</span>
187
187
+
</a>
188
188
+
</div>
189
189
+
</li>
190
190
+
`
191
191
+
)
192
192
+
)}
193
193
+
</ul>
194
194
+
` : state === "loaded" ? emptyThemesList : T`
195
195
+
<div class="with-icon" style="font-size: var(--fs-sm);">
196
196
+
<i class="ph-bold ph-spinner-gap"></i>
197
197
+
Loading items
198
198
+
</div>
199
199
+
`;
200
200
+
B(h, listEl);
201
201
+
});
202
202
+
var emptyThemesList = T`
203
203
+
<p style="margin-bottom: 0;">
204
204
+
<i class="ph-fill ph-info"></i> You have not saved any themes yet.
205
205
+
</p>
206
206
+
`;
207
207
+
function deleteTheme({ id }) {
208
208
+
return () => {
209
209
+
const c = confirm("Are you sure you want to delete this theme?");
210
210
+
if (!c) return;
211
211
+
output.themes.save(
212
212
+
output.themes.collection().filter((c2) => !(c2.id === id))
213
213
+
);
214
214
+
};
215
215
+
}
216
216
+
__name(deleteTheme, "deleteTheme");
217
217
+
var $editingTheme = signal(
218
218
+
/** @type {Theme | null} */
219
219
+
null
220
220
+
);
221
221
+
var editorContainer = document.body.querySelector("#html-input-container");
222
222
+
if (!editorContainer) throw new Error("Editor container not found");
223
223
+
var editor = new EditorView({
224
224
+
parent: editorContainer,
225
225
+
doc: ``.trim(),
226
226
+
extensions: [
227
227
+
basicSetup,
228
228
+
html(),
229
229
+
css(),
230
230
+
javascript(),
231
231
+
autocompletion()
232
232
+
]
233
233
+
});
234
234
+
document.querySelector("#build-form")?.addEventListener(
235
235
+
"submit",
236
236
+
onBuildSubmit
237
237
+
);
238
238
+
async function onBuildSubmit(event) {
239
239
+
event.preventDefault();
240
240
+
const nameEl = (
241
241
+
/** @type {HTMLInputElement | null} */
242
242
+
document.querySelector(
243
243
+
"#name-input"
244
244
+
)
245
245
+
);
246
246
+
const html2 = editor.state.doc.toString();
247
247
+
const cid = await create(85, new TextEncoder().encode(html2));
248
248
+
const name = nameEl?.value ?? "nameless";
249
249
+
const theme = $editingTheme.value ? {
250
250
+
...$editingTheme.value,
251
251
+
cid,
252
252
+
html: html2,
253
253
+
name
254
254
+
} : {
255
255
+
$type: "sh.diffuse.output.theme",
256
256
+
id: now(),
257
257
+
cid,
258
258
+
html: html2,
259
259
+
name
260
260
+
};
261
261
+
switch (
262
262
+
/** @type {any} */
263
263
+
event.submitter.name
264
264
+
) {
265
265
+
case "save":
266
266
+
await saveTheme(theme);
267
267
+
break;
268
268
+
case "save+open":
269
269
+
await saveTheme(theme);
270
270
+
globalThis.open(`./themes/l/?id=${theme.id}`, "blank");
271
271
+
break;
272
272
+
}
273
273
+
}
274
274
+
__name(onBuildSubmit, "onBuildSubmit");
275
275
+
async function editTheme(ogTheme) {
276
276
+
const theme = { ...ogTheme };
277
277
+
const nameEl = (
278
278
+
/** @type {HTMLInputElement | null} */
279
279
+
document.querySelector(
280
280
+
"#name-input"
281
281
+
)
282
282
+
);
283
283
+
if (!nameEl) return;
284
284
+
if (!theme.html && theme.uri) {
285
285
+
const html2 = await loadURI(theme.uri);
286
286
+
const cid = await create(85, new TextEncoder().encode(html2));
287
287
+
theme.html = html2;
288
288
+
theme.cid = cid;
289
289
+
}
290
290
+
$editingTheme.value = theme;
291
291
+
nameEl.value = theme.name;
292
292
+
editor.dispatch({
293
293
+
changes: { from: 0, to: editor.state.doc.length, insert: theme.html }
294
294
+
});
295
295
+
}
296
296
+
__name(editTheme, "editTheme");
297
297
+
async function saveTheme(theme) {
298
298
+
const col = output.themes.collection();
299
299
+
const colWithoutId = col.filter((c) => c.id !== theme.id);
300
300
+
await output.themes.save([...colWithoutId, {
301
301
+
...theme,
302
302
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
303
303
+
}]);
304
304
+
}
305
305
+
__name(saveTheme, "saveTheme");
306
306
+
307
307
+
//# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/index.js.map
···
1
1
+
../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.css
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.css.map
···
1
1
+
../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.html
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/l/index.html
+81
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.js
···
1
1
+
import {
2
2
+
foundation_default
3
3
+
} from "../../chunk-HDFVYYOI.js";
4
4
+
import "../../chunk-G4P4YFWD.js";
5
5
+
import "../../chunk-6JNRNMZQ.js";
6
6
+
import "../../chunk-UMMPFCLQ.js";
7
7
+
import "../../chunk-PKN6FN7E.js";
8
8
+
import "../../chunk-NP7LZHKR.js";
9
9
+
import "../../chunk-M2MAFKPM.js";
10
10
+
import "../../chunk-YV3SRJQF.js";
11
11
+
import "../../chunk-MVUUUQRL.js";
12
12
+
import "../../chunk-ESYALJPH.js";
13
13
+
import "../../chunk-U5LVPDQM.js";
14
14
+
import "../../chunk-JEGKC6HA.js";
15
15
+
import "../../chunk-6KMZB5IA.js";
16
16
+
import "../../chunk-XGM6M423.js";
17
17
+
import "../../chunk-B63ZUKFI.js";
18
18
+
import "../../chunk-TXU4RB3O.js";
19
19
+
import "../../chunk-3ENCKNXO.js";
20
20
+
import "../../chunk-OIRYE7B4.js";
21
21
+
import "../../chunk-3AO35WC3.js";
22
22
+
import "../../chunk-JBHW662S.js";
23
23
+
import "../../chunk-GX3WPNEX.js";
24
24
+
import "../../chunk-FJBTJV3K.js";
25
25
+
import "../../chunk-PTVB4Y37.js";
26
26
+
import "../../chunk-HN4F5JEZ.js";
27
27
+
import "../../chunk-NBQPHQFP.js";
28
28
+
import "../../chunk-QERJLR3Q.js";
29
29
+
import "../../chunk-OBWEBS4T.js";
30
30
+
import "../../chunk-S6SMX4HA.js";
31
31
+
import "../../chunk-XRGLBUX4.js";
32
32
+
import "../../chunk-R3EQQDW5.js";
33
33
+
import "../../chunk-GQIBEDKG.js";
34
34
+
import "../../chunk-DDF5P57I.js";
35
35
+
import "../../chunk-EEUCFWD4.js";
36
36
+
import "../../chunk-6DRHTH2U.js";
37
37
+
import "../../chunk-TSYF7OPM.js";
38
38
+
import "../../chunk-GCLDJKYV.js";
39
39
+
import "../../chunk-KJFA7KRK.js";
40
40
+
import "../../chunk-HMBZONBJ.js";
41
41
+
import "../../chunk-6CB2LXND.js";
42
42
+
import "../../chunk-V7EQPFPD.js";
43
43
+
import "../../chunk-G56PUJUJ.js";
44
44
+
import "../../chunk-6DKPDMFE.js";
45
45
+
import "../../chunk-TP5GZFTO.js";
46
46
+
import "../../chunk-ZQZJJU3T.js";
47
47
+
import {
48
48
+
createLoader
49
49
+
} from "../../chunk-X6J7NMRW.js";
50
50
+
import "../../chunk-WN6GL63Q.js";
51
51
+
import "../../chunk-CRZ7HJJ4.js";
52
52
+
import "../../chunk-242LG3VP.js";
53
53
+
import "../../chunk-BKRD2ZIW.js";
54
54
+
import "../../chunk-HNJPKCUJ.js";
55
55
+
import "../../chunk-4YB6QUPN.js";
56
56
+
import "../../chunk-SGR5ST3A.js";
57
57
+
import {
58
58
+
__name,
59
59
+
init_Buffer,
60
60
+
init_process
61
61
+
} from "../../chunk-FZQXS3RE.js";
62
62
+
63
63
+
// themes/l/index.js
64
64
+
init_Buffer();
65
65
+
init_process();
66
66
+
createLoader({
67
67
+
$type: "sh.diffuse.output.theme",
68
68
+
label: "Theme",
69
69
+
source: /* @__PURE__ */ __name(() => {
70
70
+
const output = foundation_default.orchestrator.output();
71
71
+
return output.themes;
72
72
+
}, "source"),
73
73
+
render(theme) {
74
74
+
const iframe = document.createElement("iframe");
75
75
+
iframe.srcdoc = theme.html ?? "";
76
76
+
document.body.innerHTML = "";
77
77
+
document.body.append(iframe);
78
78
+
}
79
79
+
});
80
80
+
81
81
+
//# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.js.map
···
1
1
+
../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/l/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-extra.css
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-extra.css.map
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-vars.css
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-vars.css.map
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/browser/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/browser/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/browser/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/browser/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/browser/facet.html.txt
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/browser/facet.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/common/ui.js
···
1
1
+
../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/common/ui.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/common/ui.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/common/ui.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/input/element.js
···
1
1
+
../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/configurators/input/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/input/element.js.map
···
1
1
+
../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/configurators/input/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/input/facet.html.txt
···
1
1
+
../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/configurators/input/facet.html.txt
+36
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/output/element.js
···
1
1
+
import {
2
2
+
CLASS,
3
3
+
NAME,
4
4
+
element_default
5
5
+
} from "../../../../chunk-3HY7HXXJ.js";
6
6
+
import "../../../../chunk-BLEJHIYA.js";
7
7
+
import "../../../../chunk-6WKBRQHS.js";
8
8
+
import "../../../../chunk-IGKYDHDK.js";
9
9
+
import "../../../../chunk-GASLBSUN.js";
10
10
+
import "../../../../chunk-NSJY6VZI.js";
11
11
+
import "../../../../chunk-77ZY4GQV.js";
12
12
+
import "../../../../chunk-NZ7ODGIJ.js";
13
13
+
import "../../../../chunk-YCKIJVMK.js";
14
14
+
import "../../../../chunk-JZMTETBD.js";
15
15
+
import "../../../../chunk-H3WG7GN4.js";
16
16
+
import "../../../../chunk-B63ZUKFI.js";
17
17
+
import "../../../../chunk-JBHW662S.js";
18
18
+
import "../../../../chunk-HMBZONBJ.js";
19
19
+
import "../../../../chunk-V7EQPFPD.js";
20
20
+
import "../../../../chunk-G56PUJUJ.js";
21
21
+
import "../../../../chunk-6DKPDMFE.js";
22
22
+
import "../../../../chunk-TP5GZFTO.js";
23
23
+
import "../../../../chunk-ZQZJJU3T.js";
24
24
+
import "../../../../chunk-WN6GL63Q.js";
25
25
+
import "../../../../chunk-CRZ7HJJ4.js";
26
26
+
import "../../../../chunk-242LG3VP.js";
27
27
+
import "../../../../chunk-BKRD2ZIW.js";
28
28
+
import "../../../../chunk-HNJPKCUJ.js";
29
29
+
import "../../../../chunk-FZQXS3RE.js";
30
30
+
export {
31
31
+
CLASS,
32
32
+
NAME,
33
33
+
element_default as default
34
34
+
};
35
35
+
36
36
+
//# sourceMappingURL=./element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/output/element.js.map
···
1
1
+
../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/configurators/output/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/output/facet.html.txt
···
1
1
+
../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/configurators/output/facet.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/facet.css
···
1
1
+
../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/facet.css.map
···
1
1
+
../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/fonts.css
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/fonts.css.map
···
1
1
+
../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.css
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.css.map
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.html
···
1
1
+
../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.html
+191
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.js
···
1
1
+
import "../../chunk-FJAAY3PY.js";
2
2
+
import "../../chunk-3HY7HXXJ.js";
3
3
+
import {
4
4
+
element_default
5
5
+
} from "../../chunk-2E662X3X.js";
6
6
+
import {
7
7
+
element_default as element_default2
8
8
+
} from "../../chunk-3THWHK2M.js";
9
9
+
import "../../chunk-QXBWZVFE.js";
10
10
+
import "../../chunk-676R57TH.js";
11
11
+
import "../../chunk-3CXPPL5Z.js";
12
12
+
import "../../chunk-BLEJHIYA.js";
13
13
+
import "../../chunk-6WKBRQHS.js";
14
14
+
import "../../chunk-IGKYDHDK.js";
15
15
+
import "../../chunk-GASLBSUN.js";
16
16
+
import "../../chunk-NSJY6VZI.js";
17
17
+
import "../../chunk-77ZY4GQV.js";
18
18
+
import "../../chunk-NZ7ODGIJ.js";
19
19
+
import "../../chunk-YCKIJVMK.js";
20
20
+
import "../../chunk-JZMTETBD.js";
21
21
+
import "../../chunk-H3WG7GN4.js";
22
22
+
import "../../chunk-6JNRNMZQ.js";
23
23
+
import {
24
24
+
element_exports as element_exports3
25
25
+
} from "../../chunk-UMMPFCLQ.js";
26
26
+
import "../../chunk-PKN6FN7E.js";
27
27
+
import {
28
28
+
element_exports as element_exports4
29
29
+
} from "../../chunk-M2MAFKPM.js";
30
30
+
import "../../chunk-U5LVPDQM.js";
31
31
+
import "../../chunk-JEGKC6HA.js";
32
32
+
import "../../chunk-6KMZB5IA.js";
33
33
+
import "../../chunk-XGM6M423.js";
34
34
+
import "../../chunk-B63ZUKFI.js";
35
35
+
import "../../chunk-TXU4RB3O.js";
36
36
+
import "../../chunk-OIRYE7B4.js";
37
37
+
import "../../chunk-3AO35WC3.js";
38
38
+
import "../../chunk-JBHW662S.js";
39
39
+
import "../../chunk-GX3WPNEX.js";
40
40
+
import "../../chunk-FJBTJV3K.js";
41
41
+
import "../../chunk-PTVB4Y37.js";
42
42
+
import "../../chunk-HN4F5JEZ.js";
43
43
+
import {
44
44
+
element_exports
45
45
+
} from "../../chunk-OBWEBS4T.js";
46
46
+
import "../../chunk-XRGLBUX4.js";
47
47
+
import "../../chunk-R3EQQDW5.js";
48
48
+
import "../../chunk-GQIBEDKG.js";
49
49
+
import "../../chunk-DDF5P57I.js";
50
50
+
import "../../chunk-EEUCFWD4.js";
51
51
+
import "../../chunk-6DRHTH2U.js";
52
52
+
import "../../chunk-TSYF7OPM.js";
53
53
+
import {
54
54
+
element_exports as element_exports2
55
55
+
} from "../../chunk-GCLDJKYV.js";
56
56
+
import "../../chunk-KJFA7KRK.js";
57
57
+
import "../../chunk-HMBZONBJ.js";
58
58
+
import "../../chunk-6CB2LXND.js";
59
59
+
import {
60
60
+
component
61
61
+
} from "../../chunk-V7EQPFPD.js";
62
62
+
import "../../chunk-G56PUJUJ.js";
63
63
+
import "../../chunk-6DKPDMFE.js";
64
64
+
import "../../chunk-TP5GZFTO.js";
65
65
+
import "../../chunk-ZQZJJU3T.js";
66
66
+
import "../../chunk-WN6GL63Q.js";
67
67
+
import "../../chunk-CRZ7HJJ4.js";
68
68
+
import "../../chunk-242LG3VP.js";
69
69
+
import "../../chunk-BKRD2ZIW.js";
70
70
+
import {
71
71
+
effect,
72
72
+
untracked
73
73
+
} from "../../chunk-HNJPKCUJ.js";
74
74
+
import "../../chunk-SGR5ST3A.js";
75
75
+
import {
76
76
+
__name,
77
77
+
init_Buffer,
78
78
+
init_process
79
79
+
} from "../../chunk-FZQXS3RE.js";
80
80
+
81
81
+
// themes/webamp/index.js
82
82
+
init_Buffer();
83
83
+
init_process();
84
84
+
var input = component(element_exports2);
85
85
+
var queue = component(element_exports);
86
86
+
var search = component(element_exports3);
87
87
+
var scopedTracks = component(element_exports4);
88
88
+
var output = document.querySelector("#output");
89
89
+
if (!output) throw new Error("Missing output element");
90
90
+
globalThis.queue = queue;
91
91
+
globalThis.output = output;
92
92
+
var index = {};
93
93
+
var initiatedPlaylist = false;
94
94
+
var ampElement = document.querySelector("dtw-webamp");
95
95
+
if (ampElement instanceof element_default === false) {
96
96
+
throw new Error("Missing webamp element");
97
97
+
}
98
98
+
var amp = ampElement.amp;
99
99
+
var loadFromUrl = amp.media.loadFromUrl.bind(amp.media);
100
100
+
async function loadOverride(uri, autoPlay) {
101
101
+
if (uri.startsWith("blob:")) {
102
102
+
return await loadFromUrl(uri, autoPlay);
103
103
+
}
104
104
+
const resp = await input.resolve({ method: "GET", uri });
105
105
+
if (!resp) throw new Error("Failed to resolve URI");
106
106
+
if (resp && "stream" in resp) {
107
107
+
throw new Error("Webamp does not support playing streams.");
108
108
+
}
109
109
+
return await loadFromUrl(resp.url, autoPlay);
110
110
+
}
111
111
+
__name(loadOverride, "loadOverride");
112
112
+
amp.media.loadFromUrl = loadOverride.bind(amp.media);
113
113
+
effect(() => {
114
114
+
const past = untracked(() => queue.past());
115
115
+
const now = untracked(() => queue.now());
116
116
+
const future = queue.future();
117
117
+
const list = [...past, ...now ? [now] : [], ...future];
118
118
+
const newIdx = {};
119
119
+
list.forEach((item) => {
120
120
+
newIdx[item.id] = (newIdx[item.id] ?? 0) + 1;
121
121
+
});
122
122
+
const tracksToAdd = [];
123
123
+
Object.entries(newIdx).forEach(([id, n]) => {
124
124
+
const x = index[id] ?? 0;
125
125
+
if (n > x) {
126
126
+
const track = output.tracks.collection().find((t) => t.id === id);
127
127
+
if (track) tracksToAdd.push(track);
128
128
+
index[id] = x + 1;
129
129
+
}
130
130
+
});
131
131
+
tracksToAdd.forEach((t) => ampElement.addTrack(t));
132
132
+
if (!initiatedPlaylist && tracksToAdd.length) {
133
133
+
initiatedPlaylist = true;
134
134
+
amp.store.dispatch({ type: "BUFFER_TRACK", id: 0 });
135
135
+
}
136
136
+
});
137
137
+
effect(() => {
138
138
+
const tracks = scopedTracks.tracks();
139
139
+
queue.supply({ trackIds: tracks.map((t) => t.id) });
140
140
+
});
141
141
+
var tracksPromise = Promise.withResolvers();
142
142
+
effect(() => {
143
143
+
const state = output.tracks.state();
144
144
+
if (state !== "loaded") return;
145
145
+
const fingerprintSearch = search.supplyFingerprint();
146
146
+
if (fingerprintSearch === void 0) return;
147
147
+
const fingerprintQueue = queue.supplyFingerprint();
148
148
+
if (fingerprintQueue === void 0) return;
149
149
+
tracksPromise.resolve("loaded");
150
150
+
});
151
151
+
document.body.querySelectorAll(".desktop__item").forEach((element) => {
152
152
+
if (element instanceof HTMLElement) {
153
153
+
element.addEventListener("dblclick", () => {
154
154
+
const f = element.querySelector("label")?.getAttribute("for");
155
155
+
if (f) return windowManager()?.toggleWindow(f);
156
156
+
});
157
157
+
}
158
158
+
});
159
159
+
document.body.querySelector("#desktop-batch")?.addEventListener(
160
160
+
"dblclick",
161
161
+
() => {
162
162
+
tracksPromise.promise.then(() => {
163
163
+
addBatch();
164
164
+
});
165
165
+
}
166
166
+
);
167
167
+
var winampIsShown = true;
168
168
+
document.body.querySelector("#desktop-winamp")?.addEventListener(
169
169
+
"dblclick",
170
170
+
() => {
171
171
+
if (winampIsShown) {
172
172
+
amp.close();
173
173
+
} else {
174
174
+
amp.reopen();
175
175
+
winampIsShown = true;
176
176
+
}
177
177
+
}
178
178
+
);
179
179
+
amp.onClose(() => winampIsShown = false);
180
180
+
async function addBatch() {
181
181
+
await queue.fill({ augment: true, amount: 50, shuffled: true });
182
182
+
}
183
183
+
__name(addBatch, "addBatch");
184
184
+
function windowManager() {
185
185
+
const w = document.body.querySelector("dtw-window-manager");
186
186
+
if (w instanceof element_default2) return w;
187
187
+
return null;
188
188
+
}
189
189
+
__name(windowManager, "windowManager");
190
190
+
191
191
+
//# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.js.map
···
1
1
+
../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/webamp/element.js
···
1
1
+
../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/webamp/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/webamp/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/webamp/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window-manager/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/window-manager/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window-manager/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window-manager/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window/element.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/window/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window/element.js.map
···
1
1
+
../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/vendor/@atcute/tid/index.js
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/vendor/@atcute/tid/index.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/vendor/@atcute/tid/index.js.map
···
1
1
+
../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/vendor/@atcute/tid/index.js.map
+2
-2
artifacts/versions.json
···
5
5
"version": "3.5.0"
6
6
},
7
7
"4.0.0-alpha": {
8
8
-
"cid": "bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu",
9
9
-
"createdAt": "2026-03-01T10:15:55.972Z",
8
8
+
"cid": "bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray",
9
9
+
"createdAt": "2026-03-01T13:51:12.415Z",
10
10
"version": "4.0.0-alpha"
11
11
}
12
12
}