Content-addressed version deploy system for Diffuse elements.diffuse.sh
0
fork

Configure Feed

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

chore: deploy 4.0.0-alpha update

+11723 -2
+10
artifacts/artifacts.json
··· 173 173 "cid": "bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m", 174 174 "createdAt": "2026-02-25T13:33:05.378Z", 175 175 "version": "4.0.0-alpha" 176 + }, 177 + "bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu": { 178 + "cid": "bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu", 179 + "createdAt": "2026-02-25T16:29:03.359Z", 180 + "version": "4.0.0-alpha" 181 + }, 182 + "bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy": { 183 + "cid": "bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy", 184 + "createdAt": "2026-02-25T17:16:14.550Z", 185 + "version": "4.0.0-alpha" 176 186 } 177 187 }
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/APEv2Parser-LJ7N3HNS.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/APEv2Parser-LJ7N3HNS.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/APEv2Parser-LJ7N3HNS.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/APEv2Parser-LJ7N3HNS.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/AiffParser-73LZIKSO.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AiffParser-73LZIKSO.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/AiffParser-73LZIKSO.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AiffParser-73LZIKSO.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/AsfParser-YRIKESZW.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AsfParser-YRIKESZW.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/AsfParser-YRIKESZW.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AsfParser-YRIKESZW.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/DsdiffParser-V5ROCCMP.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsdiffParser-V5ROCCMP.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/DsdiffParser-V5ROCCMP.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsdiffParser-V5ROCCMP.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/DsfParser-GSHWLMZG.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsfParser-GSHWLMZG.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/DsfParser-GSHWLMZG.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsfParser-GSHWLMZG.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/FlacParser-3WLRWEM5.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/FlacParser-3WLRWEM5.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/FlacParser-3WLRWEM5.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/FlacParser-3WLRWEM5.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MP4Parser-WGWY2YG6.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MP4Parser-WGWY2YG6.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MP4Parser-WGWY2YG6.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MP4Parser-WGWY2YG6.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MatroskaParser-2BD5GINE.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MatroskaParser-2BD5GINE.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MpegParser-3YF6H5NF.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MpegParser-3YF6H5NF.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MpegParser-3YF6H5NF.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MpegParser-3YF6H5NF.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MusepackParser-UV4ARQ3H.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MusepackParser-UV4ARQ3H.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/MusepackParser-UV4ARQ3H.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MusepackParser-UV4ARQ3H.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/OggParser-P4VZHADT.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/OggParser-P4VZHADT.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/OggParser-P4VZHADT.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/OggParser-P4VZHADT.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/WavPackParser-VXYVIQFV.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WavPackParser-VXYVIQFV.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/WavPackParser-VXYVIQFV.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WavPackParser-VXYVIQFV.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/WaveParser-OAMFGZFK.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WaveParser-OAMFGZFK.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/WaveParser-OAMFGZFK.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WaveParser-OAMFGZFK.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/android-chrome-192x192.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-192x192.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/android-chrome-512x512.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-512x512.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/apple-touch-icon.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/apple-touch-icon.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/browserconfig.xml
··· 1 + ../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/browserconfig.xml
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-226QQPVM.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-226QQPVM.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-226QQPVM.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-226QQPVM.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-242LG3VP.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-242LG3VP.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-2DJLRGI2.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-2DJLRGI2.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-2DJLRGI2.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-2DJLRGI2.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-2E662X3X.js
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-2E662X3X.js.map
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-2HRMT4JN.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2HRMT4JN.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-2HRMT4JN.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2HRMT4JN.js.map
+178
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-34FHQ3GB.js
··· 1 + import { 2 + o 3 + } from "./chunk-M7I6ARGE.js"; 4 + import { 5 + DEFAULT_GROUP, 6 + DiffuseElement 7 + } from "./chunk-52F6J3SQ.js"; 8 + import { 9 + __name, 10 + init_Buffer, 11 + init_process 12 + } from "./chunk-FZQXS3RE.js"; 13 + 14 + // components/orchestrator/output/element.js 15 + init_Buffer(); 16 + init_process(); 17 + var OutputOrchestrator = class extends DiffuseElement { 18 + static { 19 + __name(this, "OutputOrchestrator"); 20 + } 21 + static NAME = "diffuse/orchestrator/output"; 22 + // LIFECYCLE 23 + /** 24 + * @override 25 + */ 26 + async connectedCallback() { 27 + super.connectedCallback(); 28 + let previouslyActivated = /* @__PURE__ */ new Set(); 29 + this.effect(() => { 30 + const set = this.outputConfigurator.activated(); 31 + const newlyActicated = set.difference(previouslyActivated); 32 + newlyActicated.forEach((id) => { 33 + switch (id) { 34 + case "do-output__dc-output__local": { 35 + import("./components/output/polymorphic/indexed-db/element.js"); 36 + import("./components/transformer/output/string/json/element.js"); 37 + break; 38 + } 39 + case "do-output__dc-output__atproto": { 40 + import("./components/output/raw/atproto/element.js"); 41 + import("./components/transformer/output/raw/atproto-sync/element.js"); 42 + break; 43 + } 44 + case "do-output__dc-output__s3": { 45 + import("./components/output/bytes/s3/element.js"); 46 + import("./components/transformer/output/bytes/dasl-sync/element.js"); 47 + break; 48 + } 49 + } 50 + }); 51 + previouslyActivated = set; 52 + }); 53 + } 54 + // ELEMENT GETTERS 55 + /** 56 + * @returns {OutputElement} 57 + */ 58 + get output() { 59 + const output = this.root().querySelector("#do-output__output"); 60 + if (!output) throw new Error("Output orchestrator did not render yet."); 61 + return output; 62 + } 63 + /** 64 + * @returns {OutputConfiguratorElement} 65 + */ 66 + get outputConfigurator() { 67 + const outputConfigurator = this.root().querySelector( 68 + "#do-output__dc-output" 69 + ); 70 + if (!outputConfigurator) { 71 + throw new Error("Output orchestrator did not render yet."); 72 + } 73 + return outputConfigurator; 74 + } 75 + // PROXY OUTPUT ACTIONS 76 + get facets() { 77 + return this.output.facets; 78 + } 79 + get playlistItems() { 80 + return this.output.playlistItems; 81 + } 82 + get themes() { 83 + return this.output.themes; 84 + } 85 + get tracks() { 86 + return this.output.tracks; 87 + } 88 + get ready() { 89 + return this.output.ready; 90 + } 91 + // PROXY ADDITIONAL OUTPUT CONFIGURATOR ACTIONS 92 + get activated() { 93 + return this.outputConfigurator.activated; 94 + } 95 + get deselect() { 96 + return this.outputConfigurator.deselect; 97 + } 98 + get options() { 99 + return this.outputConfigurator.options; 100 + } 101 + get select() { 102 + return this.outputConfigurator.select; 103 + } 104 + get selected() { 105 + return this.outputConfigurator.selected; 106 + } 107 + // RENDER 108 + /** 109 + * @param {RenderArg} _ 110 + */ 111 + render({ html }) { 112 + const group = this.group === DEFAULT_GROUP ? void 0 : this.group; 113 + return html` 114 + <dop-indexed-db 115 + id="do-output__dop-indexed-db__json" 116 + namespace="json" 117 + ></dop-indexed-db> 118 + 119 + <dob-s3 id="do-output__dob-s3"></dob-s3> 120 + <dor-atproto id="do-output__dor-atproto"></dor-atproto> 121 + 122 + <!-- OUTPUT CONFIGURATOR --> 123 + <dc-output 124 + id="do-output__dc-output" 125 + default="do-output__dc-output__local" 126 + group="${o(group)}" 127 + > 128 + <!-- Local --> 129 + <dtos-json 130 + id="do-output__dc-output__local" 131 + output-selector="#do-output__dop-indexed-db__json" 132 + label="Local" 133 + ></dtos-json> 134 + 135 + <!-- ATProto --> 136 + <dtor-atproto-sync 137 + id="do-output__dc-output__atproto" 138 + namespace="atproto" 139 + output-selector="#do-output__dor-atproto" 140 + label="AT Protocol" 141 + ></dtor-atproto-sync> 142 + 143 + <!-- S3 --> 144 + <dtob-dasl-sync 145 + id="do-output__dc-output__s3" 146 + namespace="s3" 147 + output-selector="#do-output__dob-s3" 148 + label="S3" 149 + ></dtob-dasl-sync> 150 + </dc-output> 151 + 152 + <!-- REFINER --> 153 + <dtor-default 154 + id="do-output__dtor-default" 155 + output-selector="#do-output__dc-output" 156 + ></dtor-default> 157 + 158 + <!-- ENTRY ⬆️ --> 159 + <dtor-broadcast 160 + id="do-output__output" 161 + output-selector="#do-output__dtor-default" 162 + group="${o(group)}" 163 + ></dtor-broadcast> 164 + `; 165 + } 166 + }; 167 + var element_default = OutputOrchestrator; 168 + var CLASS = OutputOrchestrator; 169 + var NAME = "do-output"; 170 + customElements.define(NAME, CLASS); 171 + 172 + export { 173 + element_default, 174 + CLASS, 175 + NAME 176 + }; 177 + 178 + //# sourceMappingURL=./chunk-34FHQ3GB.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-34FHQ3GB.js.map
··· 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\";\nimport \"@components/transformer/output/replicator/broadcast/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 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 ></dop-indexed-db>\n\n <dob-s3 id=\"do-output__dob-s3\"></dob-s3>\n <dor-atproto id=\"do-output__dor-atproto\"></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-atproto-sync\n id=\"do-output__dc-output__atproto\"\n namespace=\"atproto\"\n output-selector=\"#do-output__dor-atproto\"\n label=\"AT Protocol\"\n ></dtor-atproto-sync>\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 label=\"S3\"\n ></dtob-dasl-sync>\n </dc-output>\n\n <!-- REFINER -->\n <dtor-default\n id=\"do-output__dtor-default\"\n output-selector=\"#do-output__dc-output\"\n ></dtor-default>\n\n <!-- ENTRY ⬆️ -->\n <dtor-broadcast\n id=\"do-output__output\"\n output-selector=\"#do-output__dtor-default\"\n group=\"${ifDefined(group)}\"\n ></dtor-broadcast>\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":";;;;;;;;;;;;;;AAAA;AAAA;AAsBA,IAAM,qBAAN,cAAiC,eAAe;AAAA,EAtBhD,OAsBgD;AAAA;AAAA;AAAA,EAC9C,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOd,MAAM,oBAAoB;AACxB,UAAM,kBAAkB;AAGxB,QAAI,sBAAsB,oBAAI,IAAI;AAElC,SAAK,OAAO,MAAM;AAChB,YAAM,MAAM,KAAK,mBAAmB,UAAU;AAC9C,YAAM,iBAAiB,IAAI,WAAW,mBAAmB;AAEzD,qBAAe,QAAQ,CAAC,OAAO;AAC7B,gBAAQ,IAAI;AAAA,UACV,KAAK,+BAA+B;AAClC,mBAAO,uDAAsD;AAC7D,mBAAO,wDAAuD;AAC9D;AAAA,UACF;AAAA,UACA,KAAK,iCAAiC;AACpC,mBAAO,4CAA2C;AAClD,mBACE,6DACF;AACA;AAAA,UACF;AAAA,UACA,KAAK,4BAA4B;AAC/B,mBAAO,yCAAwC;AAC/C,mBAAO,4DAA2D;AAClE;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAED,4BAAsB;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,SAAS;AAEX,UAAM,SAAS,KAAK,KAAK,EAAE,cAAc,oBAAoB;AAE7D,QAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,yCAAyC;AACtE,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AAEvB,UAAM,qBAAqB,KAAK,KAAK,EAAE;AAAA,MACrC;AAAA,IACF;AAEA,QAAI,CAAC,oBAAoB;AACvB,YAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAIA,IAAI,SAAS;AACX,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAIA,IAAI,YAAY;AACd,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,EAAE,KAAK,GAAG;AACf,UAAM,QAAQ,KAAK,UAAU,gBAAgB,SAAY,KAAK;AAE9D,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAaM,EAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAoChB,EAAU,KAAK,CAAC;AAAA;AAAA;AAAA,EAG/B;AACF;AAEA,IAAO,kBAAQ;AAMR,IAAM,QAAQ;AACd,IAAM,OAAO;AAEpB,eAAe,OAAO,MAAM,KAAK;","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-34FHQ3GB.js.map"}
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-3CXPPL5Z.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-3CXPPL5Z.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-3IXJYTB6.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-3IXJYTB6.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-3QHZWZIL.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3QHZWZIL.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-3QHZWZIL.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3QHZWZIL.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-46MJSXAT.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-46MJSXAT.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-46MJSXAT.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-46MJSXAT.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-4GYGC4OZ.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4GYGC4OZ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-4GYGC4OZ.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4GYGC4OZ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-4MMRODUP.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4MMRODUP.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-4MMRODUP.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4MMRODUP.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-4YB6QUPN.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-4YB6QUPN.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-52BFTJ3R.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52BFTJ3R.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-52BFTJ3R.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52BFTJ3R.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-52F6J3SQ.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52F6J3SQ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-52F6J3SQ.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52F6J3SQ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-5GF3RIXZ.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-5GF3RIXZ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-5GF3RIXZ.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-5GF3RIXZ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-5QN5IAQ5.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-5QN5IAQ5.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-5QN5IAQ5.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-5QN5IAQ5.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-5U6YGUSF.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-5U6YGUSF.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-5U6YGUSF.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-5U6YGUSF.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-6DKPDMFE.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-6DKPDMFE.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-6DRHTH2U.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-6DRHTH2U.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-6LRCMOGT.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-6LRCMOGT.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-6LRCMOGT.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-6LRCMOGT.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-77N5LJ3L.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77N5LJ3L.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-77N5LJ3L.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77N5LJ3L.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-77XZB4M3.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-77XZB4M3.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-77XZB4M3.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-77XZB4M3.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-77ZY4GQV.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-77ZY4GQV.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-7SBFGDAO.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-7SBFGDAO.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-7XPM3FOM.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-7XPM3FOM.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-7XPM3FOM.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-7XPM3FOM.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-BT6SPCM2.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-BT6SPCM2.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-BT6SPCM2.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-BT6SPCM2.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-BUBM2UB3.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-BUBM2UB3.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-BUBM2UB3.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-BUBM2UB3.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CMU4QLMC.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CMU4QLMC.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CRZ7HJJ4.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CRZ7HJJ4.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CWBOQXH6.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CWBOQXH6.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CWBOQXH6.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CWBOQXH6.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CZYH5TCN.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CZYH5TCN.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-CZYH5TCN.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CZYH5TCN.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-DBY4UFCR.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-DBY4UFCR.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-DBY4UFCR.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-DBY4UFCR.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-DDF5P57I.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-DDF5P57I.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-E4JXX72S.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-E4JXX72S.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-E4JXX72S.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-E4JXX72S.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-E6H4GVL4.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-E6H4GVL4.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-E6H4GVL4.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-E6H4GVL4.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-EEUCFWD4.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-EEUCFWD4.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-EEZ5A5ST.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-EEZ5A5ST.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-EEZ5A5ST.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-EEZ5A5ST.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-EVQ6TWZV.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EVQ6TWZV.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-EVQ6TWZV.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EVQ6TWZV.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-F27JDJI2.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-F27JDJI2.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-F74HSTJN.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-F74HSTJN.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-F74HSTJN.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-F74HSTJN.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FAW4EB7G.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FAW4EB7G.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FPIXTJ7E.js
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FPIXTJ7E.js.map
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FVLUJBZP.js
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FVLUJBZP.js.map
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FVRMQKBS.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FVRMQKBS.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FVRMQKBS.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FVRMQKBS.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FZQXS3RE.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-FZQXS3RE.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-G56PUJUJ.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-G56PUJUJ.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-GX3WPNEX.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-GX3WPNEX.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js.map
+293
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-H243HMAU.js
··· 1 + import { 2 + element_default as element_default7 3 + } from "./chunk-UM3YGQCD.js"; 4 + import { 5 + element_default as element_default11 6 + } from "./chunk-5U6YGUSF.js"; 7 + import { 8 + element_default 9 + } from "./chunk-JHKODV4C.js"; 10 + import { 11 + element_default as element_default3 12 + } from "./chunk-NC2PKDLJ.js"; 13 + import { 14 + element_default as element_default13 15 + } from "./chunk-LC5ADJPD.js"; 16 + import { 17 + element_default as element_default14 18 + } from "./chunk-DBY4UFCR.js"; 19 + import { 20 + element_default as element_default5 21 + } from "./chunk-6LRCMOGT.js"; 22 + import { 23 + element_default as element_default6 24 + } from "./chunk-34FHQ3GB.js"; 25 + import { 26 + element_default as element_default8 27 + } from "./chunk-T3L6UFWY.js"; 28 + import { 29 + element_default as element_default9 30 + } from "./chunk-IPJO7YD4.js"; 31 + import { 32 + element_default as element_default15 33 + } from "./chunk-Y6DMBYY7.js"; 34 + import { 35 + element_default as element_default4 36 + } from "./chunk-4MMRODUP.js"; 37 + import { 38 + element_default as element_default10 39 + } from "./chunk-F74HSTJN.js"; 40 + import { 41 + element_default as element_default12 42 + } from "./chunk-BUBM2UB3.js"; 43 + import { 44 + element_default as element_default2 45 + } from "./chunk-E6H4GVL4.js"; 46 + import { 47 + __name, 48 + init_Buffer, 49 + init_process 50 + } from "./chunk-FZQXS3RE.js"; 51 + 52 + // common/facets/foundation.js 53 + init_Buffer(); 54 + init_process(); 55 + var url = new URL(document.location.href); 56 + var GROUP = url.searchParams.get("group") ?? "facets"; 57 + var config = { 58 + GROUP, 59 + features: { 60 + fillQueueAutomatically, 61 + playAudioFromQueue, 62 + processInputs, 63 + searchThroughCollection 64 + }, 65 + // Elements 66 + engine: { 67 + audio, 68 + queue, 69 + repeatShuffle, 70 + scope 71 + }, 72 + orchestrator: { 73 + autoQueue, 74 + favourites, 75 + input, 76 + output, 77 + queueAudio, 78 + processTracks, 79 + scopedTracks, 80 + sources 81 + }, 82 + processor: { 83 + artwork, 84 + metadata, 85 + search 86 + } 87 + }; 88 + var foundation_default = config; 89 + function fillQueueAutomatically() { 90 + return { 91 + engine: { 92 + queue: queue(), 93 + repeatShuffle: repeatShuffle(), 94 + scope: scope() 95 + }, 96 + orchestrator: { 97 + autoQueue: autoQueue(), 98 + input: input(), 99 + output: output(), 100 + scopedTracks: scopedTracks() 101 + } 102 + }; 103 + } 104 + __name(fillQueueAutomatically, "fillQueueAutomatically"); 105 + function playAudioFromQueue() { 106 + return { 107 + engine: { 108 + audio: audio(), 109 + queue: queue() 110 + }, 111 + orchestrator: { 112 + queueAudio: queueAudio() 113 + } 114 + }; 115 + } 116 + __name(playAudioFromQueue, "playAudioFromQueue"); 117 + function processInputs() { 118 + return { 119 + orchestrator: { 120 + input: input(), 121 + output: output(), 122 + processTracks: processTracks() 123 + }, 124 + processor: { 125 + metadata: metadata() 126 + } 127 + }; 128 + } 129 + __name(processInputs, "processInputs"); 130 + function searchThroughCollection() { 131 + return { 132 + engine: { 133 + scope: scope() 134 + }, 135 + orchestrator: { 136 + output: output(), 137 + scopedTracks: scopedTracks() 138 + }, 139 + processor: { 140 + search: search() 141 + } 142 + }; 143 + } 144 + __name(searchThroughCollection, "searchThroughCollection"); 145 + function audio() { 146 + const a = new element_default2(); 147 + a.setAttribute("group", GROUP); 148 + return findExistingOrAdd(a); 149 + } 150 + __name(audio, "audio"); 151 + function queue() { 152 + const q = new element_default4(); 153 + q.setAttribute("group", GROUP); 154 + return findExistingOrAdd(q); 155 + } 156 + __name(queue, "queue"); 157 + function repeatShuffle() { 158 + const r = new element_default10(); 159 + r.setAttribute("group", GROUP); 160 + return findExistingOrAdd(r); 161 + } 162 + __name(repeatShuffle, "repeatShuffle"); 163 + function scope() { 164 + const s = new element_default12(); 165 + s.setAttribute("group", GROUP); 166 + return findExistingOrAdd(s); 167 + } 168 + __name(scope, "scope"); 169 + function artwork() { 170 + const a = new element_default(); 171 + a.setAttribute("group", GROUP); 172 + return findExistingOrAdd(a); 173 + } 174 + __name(artwork, "artwork"); 175 + function metadata() { 176 + const m = new element_default7(); 177 + m.setAttribute("group", GROUP); 178 + return findExistingOrAdd(m); 179 + } 180 + __name(metadata, "metadata"); 181 + function search() { 182 + const s = new element_default11(); 183 + s.setAttribute("group", GROUP); 184 + return findExistingOrAdd(s); 185 + } 186 + __name(search, "search"); 187 + function autoQueue() { 188 + const q = queue(); 189 + const r = repeatShuffle(); 190 + const t = scopedTracks(); 191 + const aqo = new element_default3(); 192 + aqo.setAttribute("group", GROUP); 193 + aqo.setAttribute("queue-engine-selector", q.selector); 194 + aqo.setAttribute("repeat-shuffle-engine-selector", r.selector); 195 + aqo.setAttribute("tracks-selector", t.selector); 196 + return findExistingOrAdd(aqo); 197 + } 198 + __name(autoQueue, "autoQueue"); 199 + function input() { 200 + const i = new element_default5(); 201 + i.setAttribute("group", GROUP); 202 + i.setAttribute("id", "input"); 203 + return findExistingOrAdd(i); 204 + } 205 + __name(input, "input"); 206 + function output() { 207 + const o = new element_default6(); 208 + o.setAttribute("group", GROUP); 209 + o.setAttribute("id", "output"); 210 + return findExistingOrAdd(o); 211 + } 212 + __name(output, "output"); 213 + function processTracks(opts = { disableWhenReady: false }) { 214 + const i = input(); 215 + const o = output(); 216 + const m = metadata(); 217 + const opt = new element_default8(); 218 + opt.setAttribute("group", GROUP); 219 + opt.setAttribute("input-selector", i.selector); 220 + opt.setAttribute("output-selector", o.selector); 221 + opt.setAttribute("metadata-processor-selector", m.selector); 222 + if (!opts.disableWhenReady) { 223 + opt.toggleAttribute("process-when-ready"); 224 + } 225 + return findExistingOrAdd(opt); 226 + } 227 + __name(processTracks, "processTracks"); 228 + function queueAudio() { 229 + const a = audio(); 230 + const i = input(); 231 + const o = output(); 232 + const q = queue(); 233 + const r = repeatShuffle(); 234 + const oqa = new element_default9(); 235 + oqa.setAttribute("group", GROUP); 236 + oqa.setAttribute("audio-engine-selector", a.selector); 237 + oqa.setAttribute("input-selector", i.selector); 238 + oqa.setAttribute("output-selector", o.selector); 239 + oqa.setAttribute("queue-engine-selector", q.selector); 240 + oqa.setAttribute("repeat-shuffle-engine-selector", r.selector); 241 + return findExistingOrAdd(oqa); 242 + } 243 + __name(queueAudio, "queueAudio"); 244 + function scopedTracks() { 245 + const i = input(); 246 + const o = output(); 247 + const e = scope(); 248 + const s = search(); 249 + const sto = new element_default13(); 250 + sto.setAttribute("group", GROUP); 251 + sto.setAttribute("input-selector", i.selector); 252 + sto.setAttribute("output-selector", o.selector); 253 + sto.setAttribute("scope-engine-selector", e.selector); 254 + sto.setAttribute("search-processor-selector", s.selector); 255 + return findExistingOrAdd(sto); 256 + } 257 + __name(scopedTracks, "scopedTracks"); 258 + function favourites() { 259 + const o = output(); 260 + const fo = new element_default14(); 261 + fo.setAttribute("group", GROUP); 262 + fo.setAttribute("output-selector", o.selector); 263 + return findExistingOrAdd(fo); 264 + } 265 + __name(favourites, "favourites"); 266 + function sources() { 267 + const i = input(); 268 + const o = output(); 269 + const so = new element_default15(); 270 + so.setAttribute("group", GROUP); 271 + so.setAttribute("input-selector", i.selector); 272 + so.setAttribute("output-selector", o.selector); 273 + return findExistingOrAdd(so); 274 + } 275 + __name(sources, "sources"); 276 + function findExistingOrAdd(element) { 277 + const alreadyAdded = document.body.querySelector(element.selector); 278 + if (!alreadyAdded) { 279 + document.body.append(element); 280 + return element; 281 + } 282 + return alreadyAdded; 283 + } 284 + __name(findExistingOrAdd, "findExistingOrAdd"); 285 + 286 + export { 287 + GROUP, 288 + config, 289 + foundation_default, 290 + findExistingOrAdd 291 + }; 292 + 293 + //# sourceMappingURL=./chunk-H243HMAU.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-H243HMAU.js.map
··· 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 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 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 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 input() {\n const i = new InputOrchestrator();\n i.setAttribute(\"group\", GROUP);\n i.setAttribute(\"id\", \"input\");\n\n return findExistingOrAdd(i);\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 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 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-H243HMAU.js.map"}
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-HI6EUDY3.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-HI6EUDY3.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-HI6EUDY3.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-HI6EUDY3.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-HN4F5JEZ.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-HN4F5JEZ.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-IPJO7YD4.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-IPJO7YD4.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-IPJO7YD4.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-IPJO7YD4.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-IZOBPV2S.js
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-IZOBPV2S.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-IZOBPV2S.js.map
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-IZOBPV2S.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-J3RUTL7I.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-J3RUTL7I.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-J3RUTL7I.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-J3RUTL7I.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-J67JY2AB.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-J67JY2AB.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-JBHW662S.js
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-JBHW662S.js.map
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-JH6MOGSD.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-JH6MOGSD.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-JH6MOGSD.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-JH6MOGSD.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-JHKODV4C.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-JHKODV4C.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-JHKODV4C.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-JHKODV4C.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-KIXJZP53.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-KIXJZP53.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-KIXJZP53.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-KIXJZP53.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-LC5ADJPD.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LC5ADJPD.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-LC5ADJPD.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LC5ADJPD.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-LHSDDKDM.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-LHSDDKDM.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-LHSDDKDM.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-LHSDDKDM.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-LQ2RJJ6P.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LQ2RJJ6P.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-LQ2RJJ6P.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LQ2RJJ6P.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-M7I6ARGE.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-M7I6ARGE.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-M7I6ARGE.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-M7I6ARGE.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-NB2M3NWG.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NB2M3NWG.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-NB2M3NWG.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NB2M3NWG.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-NC2PKDLJ.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NC2PKDLJ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-NC2PKDLJ.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NC2PKDLJ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-NZ7ODGIJ.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-NZ7ODGIJ.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-O4TYPAUO.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-O4TYPAUO.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-O4TYPAUO.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-O4TYPAUO.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-OENN55R6.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-OENN55R6.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-OENN55R6.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-OENN55R6.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-PJWFBDSG.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-PJWFBDSG.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-PRNTAB7W.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-PRNTAB7W.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-PRNTAB7W.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-PRNTAB7W.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-PTVB4Y37.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-PTVB4Y37.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-QBVAW255.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-QBVAW255.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-QBVAW255.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-QBVAW255.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-R3VDMJ43.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-R3VDMJ43.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-R3VDMJ43.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-R3VDMJ43.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-SGR5ST3A.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-SGR5ST3A.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-T3L6UFWY.js
··· 1 + ../bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m/chunk-T3L6UFWY.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-T3L6UFWY.js.map
··· 1 + ../bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m/chunk-T3L6UFWY.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-T6JAPJ7J.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-T6JAPJ7J.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-TP5GZFTO.js
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-TP5GZFTO.js.map
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-UGE3FKYA.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-UGE3FKYA.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-UGE3FKYA.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-UGE3FKYA.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-UM3YGQCD.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-UM3YGQCD.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-UM3YGQCD.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-UM3YGQCD.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-VBDBYJMS.js
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-VBDBYJMS.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-VBDBYJMS.js.map
··· 1 + ../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-VBDBYJMS.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-W3QCTPVZ.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-W3QCTPVZ.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-W3QCTPVZ.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-W3QCTPVZ.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-WN6GL63Q.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-WN6GL63Q.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-XQ3APM6Z.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-XQ3APM6Z.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-XQ3APM6Z.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-XQ3APM6Z.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-Y6DMBYY7.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-Y6DMBYY7.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-Y6DMBYY7.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-Y6DMBYY7.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-YEYOLW6N.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-YEYOLW6N.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-YW5C2D2V.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YW5C2D2V.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-YW5C2D2V.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YW5C2D2V.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-YZWL75VE.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YZWL75VE.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-YZWL75VE.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YZWL75VE.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-Z2SJTSR2.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-Z2SJTSR2.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-ZQZJJU3T.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/chunk-ZQZJJU3T.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/cid.js
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/cid.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/element.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/common/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/element.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/element.js.map
+60
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/facets/foundation.js
··· 1 + import { 2 + GROUP, 3 + config, 4 + findExistingOrAdd, 5 + foundation_default 6 + } from "../../chunk-H243HMAU.js"; 7 + import "../../chunk-UM3YGQCD.js"; 8 + import "../../chunk-5U6YGUSF.js"; 9 + import "../../chunk-JHKODV4C.js"; 10 + import "../../chunk-NC2PKDLJ.js"; 11 + import "../../chunk-LC5ADJPD.js"; 12 + import "../../chunk-DBY4UFCR.js"; 13 + import "../../chunk-5GF3RIXZ.js"; 14 + import "../../chunk-6LRCMOGT.js"; 15 + import "../../chunk-34FHQ3GB.js"; 16 + import "../../chunk-M7I6ARGE.js"; 17 + import "../../chunk-2HRMT4JN.js"; 18 + import "../../chunk-77N5LJ3L.js"; 19 + import "../../chunk-KIXJZP53.js"; 20 + import "../../chunk-T3L6UFWY.js"; 21 + import "../../chunk-IPJO7YD4.js"; 22 + import "../../chunk-Y6DMBYY7.js"; 23 + import "../../chunk-YZWL75VE.js"; 24 + import "../../chunk-NB2M3NWG.js"; 25 + import "../../chunk-JBHW662S.js"; 26 + import "../../chunk-GX3WPNEX.js"; 27 + import "../../chunk-226QQPVM.js"; 28 + import "../../chunk-HN4F5JEZ.js"; 29 + import "../../chunk-PTVB4Y37.js"; 30 + import "../../chunk-4MMRODUP.js"; 31 + import "../../chunk-F74HSTJN.js"; 32 + import "../../chunk-BUBM2UB3.js"; 33 + import "../../chunk-R3VDMJ43.js"; 34 + import "../../chunk-LQ2RJJ6P.js"; 35 + import "../../chunk-DDF5P57I.js"; 36 + import "../../chunk-EEUCFWD4.js"; 37 + import "../../chunk-6DRHTH2U.js"; 38 + import "../../chunk-HI6EUDY3.js"; 39 + import "../../chunk-CZYH5TCN.js"; 40 + import "../../chunk-OENN55R6.js"; 41 + import "../../chunk-UGE3FKYA.js"; 42 + import "../../chunk-52BFTJ3R.js"; 43 + import "../../chunk-E6H4GVL4.js"; 44 + import "../../chunk-J3RUTL7I.js"; 45 + import "../../chunk-52F6J3SQ.js"; 46 + import "../../chunk-G56PUJUJ.js"; 47 + import "../../chunk-IZOBPV2S.js"; 48 + import "../../chunk-SGR5ST3A.js"; 49 + import "../../chunk-6DKPDMFE.js"; 50 + import "../../chunk-TP5GZFTO.js"; 51 + import "../../chunk-ZQZJJU3T.js"; 52 + import "../../chunk-FZQXS3RE.js"; 53 + export { 54 + GROUP, 55 + config, 56 + foundation_default as default, 57 + findExistingOrAdd 58 + }; 59 + 60 + //# sourceMappingURL=./foundation.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/facets/foundation.js.map
··· 1 + ../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/foundation.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/facets/utils.js
··· 1 + ../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/facets/utils.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/facets/utils.js.map
··· 1 + ../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/utils.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/loader.js
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/loader.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/loader.js.map
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/loader.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/playlist.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/common/playlist.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/playlist.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/playlist.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/signal.js
··· 1 + ../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/common/signal.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/signal.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/signal.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/themes/utils.js
··· 1 + ../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/themes/utils.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/themes/utils.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/themes/utils.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/track.js
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/track.js.map
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/utils.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/common/utils.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/utils.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/utils.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/worker.js
··· 1 + ../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/common/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/worker.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/worker/rpc-channel.js
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/worker/rpc-channel.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/common/worker/rpc-channel.js.map
··· 1 + ../../../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/common/worker/rpc-channel.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/configurator/input/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/configurator/input/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/configurator/input/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/input/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/configurator/input/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/configurator/input/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/configurator/input/worker.js.map
··· 1 + ../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/configurator/input/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/configurator/output/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/configurator/output/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/configurator/output/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/output/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/audio/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/audio/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/audio/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/audio/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/queue/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/queue/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/queue/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/queue/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/queue/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/queue/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/queue/worker.js.map
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/engine/queue/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/repeat-shuffle/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/repeat-shuffle/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/repeat-shuffle/element.js.map
··· 1 + ../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/engine/repeat-shuffle/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/scope/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/scope/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/engine/scope/element.js.map
··· 1 + ../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/engine/scope/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/common.js
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/common.js.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/common.js
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/common.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/constants.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/https/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/element.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/worker.js
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/https/worker.js.map
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/class.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/class.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/class.js.map
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/components/input/opensubsonic/class.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/common.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/opensubsonic/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/common.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/s3/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/input/s3/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/auto-queue/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/auto-queue/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/auto-queue/element.js.map
··· 1 + ../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/orchestrator/auto-queue/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/favourites/common.js
··· 1 + ../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/orchestrator/favourites/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/favourites/common.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/favourites/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/favourites/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/favourites/element.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/favourites/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/favourites/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/favourites/worker.js.map
··· 1 + ../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/orchestrator/favourites/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/input/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/input/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/input/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/input/element.js.map
+24
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/output/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../chunk-34FHQ3GB.js"; 6 + import "../../../chunk-M7I6ARGE.js"; 7 + import "../../../chunk-2HRMT4JN.js"; 8 + import "../../../chunk-77N5LJ3L.js"; 9 + import "../../../chunk-KIXJZP53.js"; 10 + import "../../../chunk-52BFTJ3R.js"; 11 + import "../../../chunk-52F6J3SQ.js"; 12 + import "../../../chunk-G56PUJUJ.js"; 13 + import "../../../chunk-IZOBPV2S.js"; 14 + import "../../../chunk-6DKPDMFE.js"; 15 + import "../../../chunk-TP5GZFTO.js"; 16 + import "../../../chunk-ZQZJJU3T.js"; 17 + import "../../../chunk-FZQXS3RE.js"; 18 + export { 19 + CLASS, 20 + NAME, 21 + element_default as default 22 + }; 23 + 24 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/output/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/output/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/process-tracks/element.js
··· 1 + ../../../../bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m/components/orchestrator/process-tracks/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/process-tracks/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/process-tracks/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/process-tracks/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/process-tracks/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/process-tracks/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/process-tracks/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/queue-audio/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/queue-audio/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/queue-audio/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/queue-audio/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/scoped-tracks/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/scoped-tracks/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/scoped-tracks/element.js.map
··· 1 + ../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/orchestrator/scoped-tracks/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/sources/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/sources/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/orchestrator/sources/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/sources/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/bytes/s3/constants.js
··· 1 + ../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/bytes/s3/constants.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/bytes/s3/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/bytes/s3/element.js
··· 1 + ../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/bytes/s3/element.js.map
··· 1 + ../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/bytes/s3/worker.js
··· 1 + ../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/output/bytes/s3/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/bytes/s3/worker.js.map
··· 1 + ../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/output/bytes/s3/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/common.js
··· 1 + ../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/common.js.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/polymorphic/indexed-db/constants.js
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/polymorphic/indexed-db/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/polymorphic/indexed-db/constants.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/polymorphic/indexed-db/element.js
··· 1 + ../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/polymorphic/indexed-db/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/polymorphic/indexed-db/element.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/raw/atproto/element.js
··· 1 + ../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/raw/atproto/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/raw/atproto/element.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/raw/atproto/oauth.js
··· 1 + ../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/output/raw/atproto/oauth.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/output/raw/atproto/oauth.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/oauth.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/artwork/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/processor/artwork/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/artwork/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/artwork/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/artwork/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/artwork/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/artwork/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/artwork/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/artwork/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/artwork/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/metadata/common.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/metadata/common.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/metadata/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/common.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/metadata/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/metadata/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/metadata/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/metadata/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/metadata/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/metadata/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/metadata/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/search/constants.js
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/search/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/search/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/search/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/search/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/search/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/search/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/search/worker.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/processor/search/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/search/worker.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/base.js
··· 1 + ../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/base.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/base.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/base.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/automerge/constants.js
··· 1 + ../../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/transformer/output/bytes/automerge/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/automerge/constants.js.map
··· 1 + ../../../../../../bafybeieo3vdz7hmuriods6ueueg5yt6xctzjqrmqdasqr4plalwojiwvou/components/transformer/output/bytes/automerge/constants.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/automerge/element.js
··· 1 + ../../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/automerge/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/bytes/automerge/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/automerge/utils.js
··· 1 + ../../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/transformer/output/bytes/automerge/utils.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/automerge/utils.js.map
··· 1 + ../../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/transformer/output/bytes/automerge/utils.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/dasl-sync/constants.js
··· 1 + ../../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/transformer/output/bytes/dasl-sync/constants.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/dasl-sync/constants.js.map
··· 1 + ../../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/transformer/output/bytes/dasl-sync/constants.js.map
+1044
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/dasl-sync/element.js
··· 1 + import { 2 + IDB_PREFIX 3 + } from "../../../../../chunk-YW5C2D2V.js"; 4 + import { 5 + fromBase32, 6 + fromBase64, 7 + toBase32, 8 + toBase64 9 + } from "../../../../../chunk-NZ7ODGIJ.js"; 10 + import "../../../../../chunk-FVRMQKBS.js"; 11 + import "../../../../../chunk-3QHZWZIL.js"; 12 + import "../../../../../chunk-FAW4EB7G.js"; 13 + import { 14 + OutputTransformer 15 + } from "../../../../../chunk-KIXJZP53.js"; 16 + import { 17 + get, 18 + set 19 + } from "../../../../../chunk-JBHW662S.js"; 20 + import { 21 + compareTimestamps 22 + } from "../../../../../chunk-OENN55R6.js"; 23 + import "../../../../../chunk-UGE3FKYA.js"; 24 + import "../../../../../chunk-52F6J3SQ.js"; 25 + import "../../../../../chunk-G56PUJUJ.js"; 26 + import { 27 + allocUnsafe, 28 + concat, 29 + decodeUtf8From, 30 + encodeUtf8Into 31 + } from "../../../../../chunk-242LG3VP.js"; 32 + import { 33 + computed, 34 + deep_diff_default, 35 + signal 36 + } from "../../../../../chunk-IZOBPV2S.js"; 37 + import { 38 + create 39 + } from "../../../../../chunk-4YB6QUPN.js"; 40 + import "../../../../../chunk-6DKPDMFE.js"; 41 + import "../../../../../chunk-TP5GZFTO.js"; 42 + import "../../../../../chunk-ZQZJJU3T.js"; 43 + import { 44 + __name, 45 + init_Buffer, 46 + init_process 47 + } from "../../../../../chunk-FZQXS3RE.js"; 48 + 49 + // components/transformer/output/bytes/dasl-sync/element.js 50 + init_Buffer(); 51 + init_process(); 52 + 53 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/index.js 54 + init_Buffer(); 55 + init_process(); 56 + 57 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/index.js 58 + init_Buffer(); 59 + init_process(); 60 + 61 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/cid-link.js 62 + init_Buffer(); 63 + init_process(); 64 + 65 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/codec.js 66 + init_Buffer(); 67 + init_process(); 68 + var CID_VERSION = 1; 69 + var HASH_SHA256 = 18; 70 + var CODEC_RAW = 85; 71 + var CODEC_DCBOR = 113; 72 + var decodeFirst = /* @__PURE__ */ __name((bytes) => { 73 + if (bytes.length < 36) { 74 + throw new RangeError(`cid too short`); 75 + } 76 + const version = bytes[0]; 77 + const codec = bytes[1]; 78 + const digestType = bytes[2]; 79 + const digestSize = bytes[3]; 80 + if (version !== CID_VERSION) { 81 + throw new RangeError(`incorrect cid version (got v${version})`); 82 + } 83 + if (codec !== CODEC_DCBOR && codec !== CODEC_RAW) { 84 + throw new RangeError(`incorrect cid codec (got 0x${codec.toString(16)})`); 85 + } 86 + if (digestType !== HASH_SHA256) { 87 + throw new RangeError(`incorrect cid digest codec (got 0x${digestType.toString(16)})`); 88 + } 89 + if (digestSize !== 32) { 90 + throw new RangeError(`incorrect cid digest size (got ${digestSize})`); 91 + } 92 + const cid = { 93 + version: CID_VERSION, 94 + codec, 95 + digest: { 96 + codec: digestType, 97 + contents: bytes.subarray(4, 36) 98 + }, 99 + bytes: bytes.subarray(0, 36) 100 + }; 101 + return [cid, bytes.subarray(36)]; 102 + }, "decodeFirst"); 103 + var decode = /* @__PURE__ */ __name((bytes) => { 104 + const [cid, remainder] = decodeFirst(bytes); 105 + if (remainder.length !== 0) { 106 + throw new RangeError(`cid bytes includes remainder`); 107 + } 108 + return cid; 109 + }, "decode"); 110 + var fromString = /* @__PURE__ */ __name((input) => { 111 + if (input.length !== 59 || input[0] !== "b") { 112 + throw new SyntaxError(`not a valid cid string`); 113 + } 114 + const bytes = fromBase32(input.slice(1)); 115 + return decode(bytes); 116 + }, "fromString"); 117 + var fromBinary = /* @__PURE__ */ __name((input) => { 118 + if (input.length !== 37 || input[0] !== 0) { 119 + throw new SyntaxError(`invalid binary cid`); 120 + } 121 + return decode(input.subarray(1)); 122 + }, "fromBinary"); 123 + 124 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/cid-link.js 125 + var CID_LINK_SYMBOL = /* @__PURE__ */ Symbol.for("@atcute/cid-link-wrapper"); 126 + var CidLinkWrapper = class { 127 + static { 128 + __name(this, "CidLinkWrapper"); 129 + } 130 + /** @internal */ 131 + [CID_LINK_SYMBOL] = true; 132 + bytes; 133 + constructor(bytes) { 134 + this.bytes = bytes; 135 + } 136 + get $link() { 137 + const link = `b${toBase32(this.bytes)}`; 138 + Object.defineProperty(this, "$link", { 139 + value: link, 140 + enumerable: true 141 + }); 142 + return link; 143 + } 144 + toJSON() { 145 + return { $link: this.$link }; 146 + } 147 + }; 148 + 149 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/bytes.js 150 + init_Buffer(); 151 + init_process(); 152 + var BYTES_SYMBOL = /* @__PURE__ */ Symbol.for("@atcute/bytes-wrapper"); 153 + var BytesWrapper = class { 154 + static { 155 + __name(this, "BytesWrapper"); 156 + } 157 + buf; 158 + /** @internal */ 159 + [BYTES_SYMBOL] = true; 160 + constructor(buf) { 161 + this.buf = buf; 162 + } 163 + get $bytes() { 164 + return toBase64(this.buf); 165 + } 166 + toJSON() { 167 + return { $bytes: this.$bytes }; 168 + } 169 + }; 170 + var toBytes = /* @__PURE__ */ __name((buf) => { 171 + return new BytesWrapper(buf); 172 + }, "toBytes"); 173 + var fromBytes = /* @__PURE__ */ __name((bytes) => { 174 + if (bytes instanceof BytesWrapper) { 175 + return bytes.buf; 176 + } 177 + return fromBase64(bytes.$bytes); 178 + }, "fromBytes"); 179 + 180 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/decode.js 181 + init_Buffer(); 182 + init_process(); 183 + var readArgument = /* @__PURE__ */ __name((state, info) => { 184 + if (info < 24) { 185 + return info; 186 + } 187 + let arg; 188 + switch (info) { 189 + case 24: { 190 + arg = readUint8(state); 191 + if (arg < 24) { 192 + throw new TypeError(`non-canonical argument encoding`); 193 + } 194 + break; 195 + } 196 + case 25: { 197 + arg = readUint16(state); 198 + if (arg < 256) { 199 + throw new TypeError(`non-canonical argument encoding`); 200 + } 201 + break; 202 + } 203 + case 26: { 204 + arg = readUint32(state); 205 + if (arg < 65536) { 206 + throw new TypeError(`non-canonical argument encoding`); 207 + } 208 + break; 209 + } 210 + case 27: { 211 + arg = readUint53(state); 212 + if (arg < 4294967296) { 213 + throw new TypeError(`non-canonical argument encoding`); 214 + } 215 + break; 216 + } 217 + default: { 218 + throw new Error(`invalid argument encoding; got ${info}`); 219 + } 220 + } 221 + return arg; 222 + }, "readArgument"); 223 + var readFloat64 = /* @__PURE__ */ __name((state) => { 224 + const view = state.v ??= new DataView(state.b.buffer, state.b.byteOffset, state.b.byteLength); 225 + const value = view.getFloat64(state.p); 226 + state.p += 8; 227 + return value; 228 + }, "readFloat64"); 229 + var readUint8 = /* @__PURE__ */ __name((state) => { 230 + return state.b[state.p++]; 231 + }, "readUint8"); 232 + var readUint16 = /* @__PURE__ */ __name((state) => { 233 + let pos = state.p; 234 + const buf = state.b; 235 + const value = buf[pos++] << 8 | buf[pos++]; 236 + state.p = pos; 237 + return value; 238 + }, "readUint16"); 239 + var readUint32 = /* @__PURE__ */ __name((state) => { 240 + let pos = state.p; 241 + const buf = state.b; 242 + const value = (buf[pos++] << 24 | buf[pos++] << 16 | buf[pos++] << 8 | buf[pos++]) >>> 0; 243 + state.p = pos; 244 + return value; 245 + }, "readUint32"); 246 + var readUint53 = /* @__PURE__ */ __name((state) => { 247 + const hi = readUint32(state); 248 + const lo = readUint32(state); 249 + if (hi > 2097151) { 250 + throw new RangeError(`can't decode integers beyond safe integer range`); 251 + } 252 + return hi * 2 ** 32 + lo; 253 + }, "readUint53"); 254 + var readString = /* @__PURE__ */ __name((state, length) => { 255 + const string = decodeUtf8From(state.b, state.p, length); 256 + state.p += length; 257 + return string; 258 + }, "readString"); 259 + var readBytes = /* @__PURE__ */ __name((state, length) => { 260 + const slice = state.b.subarray(state.p, state.p += length); 261 + return toBytes(slice); 262 + }, "readBytes"); 263 + var readCid = /* @__PURE__ */ __name((state, length) => { 264 + const cid = fromBinary(state.b.subarray(state.p, state.p += length)); 265 + return new CidLinkWrapper(cid.bytes); 266 + }, "readCid"); 267 + var decodeStringKey = /* @__PURE__ */ __name((state) => { 268 + const prelude = readUint8(state); 269 + const type = prelude >> 5; 270 + if (type !== 3) { 271 + throw new TypeError(`expected map to only have string keys; got type ${type}`); 272 + } 273 + const info = prelude & 31; 274 + const length = info < 24 ? info : readArgument(state, info); 275 + return readString(state, length); 276 + }, "decodeStringKey"); 277 + var decodeFirst2 = /* @__PURE__ */ __name((buf) => { 278 + const len = buf.length; 279 + const state = { 280 + b: buf, 281 + v: null, 282 + p: 0 283 + }; 284 + let stack = null; 285 + let value; 286 + jump: while (state.p < len) { 287 + const prelude = readUint8(state); 288 + const type = prelude >> 5; 289 + const info = prelude & 31; 290 + const arg = type === 7 ? 0 : info < 24 ? info : readArgument(state, info); 291 + switch (type) { 292 + case 0: { 293 + value = arg; 294 + break; 295 + } 296 + case 1: { 297 + value = -1 - arg; 298 + break; 299 + } 300 + case 2: { 301 + value = readBytes(state, arg); 302 + break; 303 + } 304 + case 3: { 305 + value = readString(state, arg); 306 + break; 307 + } 308 + case 4: { 309 + if (arg > 0) { 310 + stack = { t: 1, c: value = new Array(arg), k: null, r: arg, n: stack }; 311 + continue jump; 312 + } 313 + value = []; 314 + break; 315 + } 316 + case 5: { 317 + value = {}; 318 + if (arg > 0) { 319 + const first = decodeStringKey(state); 320 + stack = { t: 0, c: value, k: first, r: arg, n: stack }; 321 + continue jump; 322 + } 323 + break; 324 + } 325 + case 6: { 326 + switch (arg) { 327 + case 42: { 328 + const prelude2 = readUint8(state); 329 + const type2 = prelude2 >> 5; 330 + const info2 = prelude2 & 31; 331 + if (type2 !== 2) { 332 + throw new TypeError(`expected cid-link to be type 2 (bytes); got type ${type2}`); 333 + } 334 + const len2 = readArgument(state, info2); 335 + value = readCid(state, len2); 336 + break; 337 + } 338 + default: { 339 + throw new TypeError(`unsupported tag; got ${arg}`); 340 + } 341 + } 342 + break; 343 + } 344 + case 7: { 345 + switch (info) { 346 + case 20: 347 + case 21: { 348 + value = info === 21; 349 + break; 350 + } 351 + case 22: { 352 + value = null; 353 + break; 354 + } 355 + case 27: { 356 + value = readFloat64(state); 357 + break; 358 + } 359 + default: { 360 + throw new Error(`invalid simple value; got ${info}`); 361 + } 362 + } 363 + break; 364 + } 365 + default: { 366 + throw new TypeError(`invalid type; got ${type}`); 367 + } 368 + } 369 + while (stack !== null) { 370 + switch (stack.t) { 371 + case 0: { 372 + const obj = stack.c; 373 + const key = stack.k; 374 + if (key === "__proto__") { 375 + Object.defineProperty(obj, key, { enumerable: true, configurable: true, writable: true }); 376 + } 377 + obj[key] = value; 378 + break; 379 + } 380 + case 1: { 381 + const arr = stack.c; 382 + const index = arr.length - stack.r; 383 + arr[index] = value; 384 + break; 385 + } 386 + } 387 + if (--stack.r) { 388 + if (!stack.t) { 389 + const prevKey = stack.k; 390 + const key = decodeStringKey(state); 391 + stack.k = key; 392 + const cmp = key.length - prevKey.length || (key > prevKey ? 1 : key < prevKey ? -1 : 0); 393 + if (cmp <= 0) { 394 + throw new TypeError(`map keys are not in canonical order or contain duplicates`); 395 + } 396 + } 397 + continue jump; 398 + } 399 + value = stack.c; 400 + stack = stack.n; 401 + } 402 + break; 403 + } 404 + return [value, buf.subarray(state.p)]; 405 + }, "decodeFirst"); 406 + var decode2 = /* @__PURE__ */ __name((buf) => { 407 + const [value, remainder] = decodeFirst2(buf); 408 + if (remainder.length !== 0) { 409 + throw new Error(`decoded value contains remainder`); 410 + } 411 + return value; 412 + }, "decode"); 413 + 414 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/encode.js 415 + init_Buffer(); 416 + init_process(); 417 + 418 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/runtime.node.js 419 + init_Buffer(); 420 + init_process(); 421 + var IS_NODE_RUNTIME = true; 422 + 423 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/encode.js 424 + var MAX_TYPE_ARG_LEN = 9; 425 + var CHUNK_SIZE = 1024; 426 + var _max = Math.max; 427 + var _isInteger = Number.isInteger; 428 + var _isFinite = Number.isFinite; 429 + var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER; 430 + var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER; 431 + var resizeIfNeeded = /* @__PURE__ */ __name((state, needed) => { 432 + const buf = state.b; 433 + const pos = state.p; 434 + if (buf.byteLength < pos + needed) { 435 + state.c.push(buf.subarray(0, pos)); 436 + state.l += pos; 437 + state.b = allocUnsafe(_max(CHUNK_SIZE, needed)); 438 + state.v = null; 439 + state.p = 0; 440 + } 441 + }, "resizeIfNeeded"); 442 + var getTypeInfoLength = /* @__PURE__ */ __name((arg) => { 443 + return arg < 24 ? 1 : arg < 256 ? 2 : arg < 65536 ? 3 : arg < 4294967296 ? 5 : 9; 444 + }, "getTypeInfoLength"); 445 + var writeFloat64 = /* @__PURE__ */ __name((state, val) => { 446 + const buf = state.b; 447 + const view = state.v ??= new DataView(buf.buffer, buf.byteOffset, buf.byteLength); 448 + view.setFloat64(state.p, val); 449 + state.p += 8; 450 + }, "writeFloat64"); 451 + var writeUint8 = /* @__PURE__ */ __name((state, val) => { 452 + state.b[state.p++] = val; 453 + }, "writeUint8"); 454 + var writeUint16 = /* @__PURE__ */ __name((state, val) => { 455 + let pos = state.p; 456 + const buf = state.b; 457 + buf[pos++] = val >>> 8; 458 + buf[pos++] = val & 255; 459 + state.p = pos; 460 + }, "writeUint16"); 461 + var writeUint32 = /* @__PURE__ */ __name((state, val) => { 462 + let pos = state.p; 463 + const buf = state.b; 464 + buf[pos++] = val >>> 24; 465 + buf[pos++] = val >>> 16 & 255; 466 + buf[pos++] = val >>> 8 & 255; 467 + buf[pos++] = val & 255; 468 + state.p = pos; 469 + }, "writeUint32"); 470 + var writeUint53 = /* @__PURE__ */ __name((state, val) => { 471 + let pos = state.p; 472 + const buf = state.b; 473 + const hi = val / 2 ** 32 | 0; 474 + const lo = val >>> 0; 475 + buf[pos++] = hi >>> 24; 476 + buf[pos++] = hi >>> 16 & 255; 477 + buf[pos++] = hi >>> 8 & 255; 478 + buf[pos++] = hi & 255; 479 + buf[pos++] = lo >>> 24; 480 + buf[pos++] = lo >>> 16 & 255; 481 + buf[pos++] = lo >>> 8 & 255; 482 + buf[pos++] = lo & 255; 483 + state.p = pos; 484 + }, "writeUint53"); 485 + var writeTypeAndArgument = /* @__PURE__ */ __name((state, type, arg) => { 486 + if (arg < 24) { 487 + writeUint8(state, type << 5 | arg); 488 + } else if (arg < 256) { 489 + writeUint8(state, type << 5 | 24); 490 + writeUint8(state, arg); 491 + } else if (arg < 65536) { 492 + writeUint8(state, type << 5 | 25); 493 + writeUint16(state, arg); 494 + } else if (arg < 4294967296) { 495 + writeUint8(state, type << 5 | 26); 496 + writeUint32(state, arg); 497 + } else { 498 + writeUint8(state, type << 5 | 27); 499 + writeUint53(state, arg); 500 + } 501 + }, "writeTypeAndArgument"); 502 + var writeInteger = /* @__PURE__ */ __name((state, val) => { 503 + resizeIfNeeded(state, MAX_TYPE_ARG_LEN); 504 + if (val < 0) { 505 + writeTypeAndArgument(state, 1, -val - 1); 506 + } else { 507 + writeTypeAndArgument(state, 0, val); 508 + } 509 + }, "writeInteger"); 510 + var writeFloat = /* @__PURE__ */ __name((state, val) => { 511 + resizeIfNeeded(state, 9); 512 + writeUint8(state, 224 | 27); 513 + writeFloat64(state, val); 514 + }, "writeFloat"); 515 + var writeNumber = /* @__PURE__ */ __name((state, val) => { 516 + if (!_isFinite(val)) { 517 + throw new RangeError(`NaN and Infinity values not supported`); 518 + } 519 + if (val > MAX_SAFE_INTEGER || val < MIN_SAFE_INTEGER) { 520 + throw new RangeError(`can't encode numbers beyond safe integer range`); 521 + } 522 + if (_isInteger(val)) { 523 + writeInteger(state, val); 524 + } else { 525 + writeFloat(state, val); 526 + } 527 + }, "writeNumber"); 528 + var writeString = /* @__PURE__ */ __name((state, val) => { 529 + const strLength = val.length; 530 + if (strLength === 0) { 531 + resizeIfNeeded(state, 1); 532 + writeUint8(state, 96); 533 + return; 534 + } 535 + resizeIfNeeded(state, strLength * 3 + MAX_TYPE_ARG_LEN); 536 + ascii: if (!IS_NODE_RUNTIME || strLength < 24) { 537 + const ptr = state.p + getTypeInfoLength(strLength); 538 + const first = val.charCodeAt(0); 539 + if (first > 127) { 540 + break ascii; 541 + } 542 + state.b[ptr] = first; 543 + let i = 1; 544 + for (; i + 3 < strLength; i += 4) { 545 + const a = val.charCodeAt(i); 546 + const b = val.charCodeAt(i + 1); 547 + const c = val.charCodeAt(i + 2); 548 + const d = val.charCodeAt(i + 3); 549 + if ((a | b | c | d) & 128) { 550 + break ascii; 551 + } 552 + state.b[ptr + i] = a; 553 + state.b[ptr + i + 1] = b; 554 + state.b[ptr + i + 2] = c; 555 + state.b[ptr + i + 3] = d; 556 + } 557 + for (; i < strLength; i++) { 558 + const code = val.charCodeAt(i); 559 + if (code > 127) { 560 + break ascii; 561 + } 562 + state.b[ptr + i] = code; 563 + } 564 + writeTypeAndArgument(state, 3, strLength); 565 + state.p += strLength; 566 + return; 567 + } 568 + const estimatedHeaderSize = getTypeInfoLength(strLength * 2); 569 + const estimatedPosition = state.p + estimatedHeaderSize; 570 + const len = encodeUtf8Into(state.b, val, estimatedPosition); 571 + const headerSize = getTypeInfoLength(len); 572 + if (estimatedHeaderSize !== headerSize) { 573 + state.b.copyWithin(state.p + headerSize, estimatedPosition, estimatedPosition + len); 574 + } 575 + writeTypeAndArgument(state, 3, len); 576 + state.p += len; 577 + }, "writeString"); 578 + var writeBytes = /* @__PURE__ */ __name((state, val) => { 579 + const buf = fromBytes(val); 580 + const len = buf.byteLength; 581 + resizeIfNeeded(state, len + MAX_TYPE_ARG_LEN); 582 + writeTypeAndArgument(state, 2, len); 583 + state.b.set(buf, state.p); 584 + state.p += len; 585 + }, "writeBytes"); 586 + var writeCid = /* @__PURE__ */ __name((state, val) => { 587 + const buf = val instanceof CidLinkWrapper ? val.bytes : fromString(val.$link).bytes; 588 + const len = buf.byteLength + 1; 589 + resizeIfNeeded(state, len + 2 * MAX_TYPE_ARG_LEN); 590 + writeTypeAndArgument(state, 6, 42); 591 + writeTypeAndArgument(state, 2, len); 592 + state.b[state.p] = 0; 593 + state.b.set(buf, state.p + 1); 594 + state.p += len; 595 + }, "writeCid"); 596 + var writeValue = /* @__PURE__ */ __name((state, val) => { 597 + switch (typeof val) { 598 + case "boolean": { 599 + resizeIfNeeded(state, 1); 600 + return writeUint8(state, 244 + +val); 601 + } 602 + case "number": { 603 + return writeNumber(state, val); 604 + } 605 + case "string": { 606 + return writeString(state, val); 607 + } 608 + case "object": { 609 + if (val === null) { 610 + resizeIfNeeded(state, 1); 611 + return writeUint8(state, 246); 612 + } 613 + if (Array.isArray(val)) { 614 + const len = val.length; 615 + resizeIfNeeded(state, MAX_TYPE_ARG_LEN); 616 + writeTypeAndArgument(state, 4, len); 617 + for (let idx = 0; idx < len; idx++) { 618 + writeValue(state, val[idx]); 619 + } 620 + return; 621 + } 622 + if (val.constructor === Object) { 623 + const keys = getOrderedObjectKeys(val); 624 + const len = keys.length; 625 + if (len === 1) { 626 + const key = keys[0]; 627 + if (key === "$link") { 628 + if (typeof val.$link === "string") { 629 + writeCid(state, val); 630 + return; 631 + } 632 + throw new TypeError(`unexpected cid-link value`); 633 + } 634 + if (key === "$bytes") { 635 + if (typeof val.$bytes === "string") { 636 + writeBytes(state, val); 637 + return; 638 + } 639 + throw new TypeError(`unexpected bytes value`); 640 + } 641 + } 642 + resizeIfNeeded(state, MAX_TYPE_ARG_LEN); 643 + writeTypeAndArgument(state, 5, len); 644 + for (let idx = 0; idx < len; idx++) { 645 + const key = keys[idx]; 646 + writeString(state, key); 647 + writeValue(state, val[key]); 648 + } 649 + return; 650 + } 651 + if ("$link" in val) { 652 + if (val instanceof CidLinkWrapper || typeof val.$link === "string") { 653 + writeCid(state, val); 654 + return; 655 + } 656 + throw new TypeError(`unexpected cid-link value`); 657 + } 658 + if ("$bytes" in val) { 659 + if (val instanceof BytesWrapper || typeof val.$bytes === "string") { 660 + writeBytes(state, val); 661 + return; 662 + } 663 + throw new TypeError(`unexpected bytes value`); 664 + } 665 + } 666 + } 667 + throw new TypeError(`unsupported type: ${val}`); 668 + }, "writeValue"); 669 + var createState = /* @__PURE__ */ __name(() => { 670 + return { 671 + c: [], 672 + b: allocUnsafe(CHUNK_SIZE), 673 + v: null, 674 + p: 0, 675 + l: 0 676 + }; 677 + }, "createState"); 678 + var encode = /* @__PURE__ */ __name((value) => { 679 + const state = createState(); 680 + writeValue(state, value); 681 + const final = state.b.subarray(0, state.p); 682 + if (!state.c.length) 683 + return final; 684 + state.c.push(final); 685 + return concat(state.c, state.l + state.p); 686 + }, "encode"); 687 + var getOrderedObjectKeys = /* @__PURE__ */ __name((obj) => { 688 + const keys = Object.keys(obj); 689 + let len = 0; 690 + for (let i = 0; i < keys.length; i++) { 691 + const valA = keys[i]; 692 + if (obj[valA] === void 0) { 693 + continue; 694 + } 695 + const lenA = valA.length; 696 + let j = len - 1; 697 + for (; j >= 0; j--) { 698 + const valB = keys[j]; 699 + if (lenA > valB.length || lenA === valB.length && valA > valB) { 700 + break; 701 + } 702 + keys[j + 1] = valB; 703 + } 704 + keys[j + 1] = valA; 705 + len++; 706 + } 707 + keys.length = len; 708 + return keys; 709 + }, "getOrderedObjectKeys"); 710 + 711 + // components/transformer/output/bytes/dasl-sync/element.js 712 + var EMPTY = { 713 + cid: void 0, 714 + data: [], 715 + inventory: { current: {}, removed: [] } 716 + }; 717 + var DaslBytesSyncOutputTransformer = class extends OutputTransformer { 718 + static { 719 + __name(this, "DaslBytesSyncOutputTransformer"); 720 + } 721 + constructor() { 722 + super(); 723 + const remote = this.base(); 724 + const state = /* @__PURE__ */ __name((kind, localCollection, remoteCollection, remoteState, { saveLocal, saveRemote }) => { 725 + const container = signal( 726 + /** @type {Container<T>} */ 727 + EMPTY, 728 + { 729 + eager: true 730 + } 731 + ); 732 + const isReady = signal(false); 733 + const isMerging = signal(false); 734 + this.effect(() => { 735 + if (!isReady.value) return; 736 + if (isMerging.value) return; 737 + const lb = localCollection(); 738 + const rb = remote.ready() ? remoteCollection() : void 0; 739 + const rs = remoteState(); 740 + const l = lb ? decode2(lb) : void 0; 741 + const r = rb && rs === "loaded" ? decode2(rb) : void 0; 742 + if (!r) { 743 + if (l) { 744 + container.value = l; 745 + if (remote.ready() && rs === "loaded") { 746 + const bytes = this.save(l); 747 + saveRemote(bytes); 748 + } 749 + } 750 + } else if (!l) { 751 + container.value = r; 752 + const bytes = this.save(r); 753 + saveLocal(bytes); 754 + } else { 755 + container.value = l; 756 + if (this.hasDiverged({ local: l, remote: r })) { 757 + isMerging.value = true; 758 + this.merge(l, r).then(async (c) => { 759 + container.value = c; 760 + const bytes = this.save(c); 761 + await saveLocal(bytes); 762 + if (remote.ready() && rs === "loaded") { 763 + await saveRemote(bytes); 764 + } 765 + isMerging.value = false; 766 + }); 767 + } 768 + } 769 + }); 770 + return computed(() => { 771 + if (!isReady.get()) isReady.value = true; 772 + return container.get(); 773 + }); 774 + }, "state"); 775 + const local = { 776 + facets: this.local("facets"), 777 + playlistItems: this.local("playlistItems"), 778 + themes: this.local("themes"), 779 + tracks: this.local("tracks") 780 + }; 781 + const facets = state( 782 + "facets", 783 + local.facets.get, 784 + remote.facets.collection, 785 + remote.facets.state, 786 + { 787 + saveLocal: this.putLocalFn("facets", local.facets), 788 + saveRemote: remote.facets.save 789 + } 790 + ); 791 + const playlistItems = state( 792 + "playlistItems", 793 + local.playlistItems.get, 794 + remote.playlistItems.collection, 795 + remote.playlistItems.state, 796 + { 797 + saveLocal: this.putLocalFn("playlistItems", local.playlistItems), 798 + saveRemote: remote.playlistItems.save 799 + } 800 + ); 801 + const themes = state( 802 + "themes", 803 + local.themes.get, 804 + remote.themes.collection, 805 + remote.themes.state, 806 + { 807 + saveLocal: this.putLocalFn("themes", local.themes), 808 + saveRemote: remote.themes.save 809 + } 810 + ); 811 + const tracks = state( 812 + "tracks", 813 + local.tracks.get, 814 + remote.tracks.collection, 815 + remote.tracks.state, 816 + { 817 + saveLocal: this.putLocalFn("tracks", local.tracks), 818 + saveRemote: remote.tracks.save 819 + } 820 + ); 821 + this.facets = this.managerProp( 822 + { save: this.putLocalFn("facets", local.facets) }, 823 + remote.facets, 824 + facets 825 + ); 826 + this.playlistItems = this.managerProp( 827 + { save: this.putLocalFn("playlistItems", local.playlistItems) }, 828 + remote.playlistItems, 829 + playlistItems 830 + ); 831 + this.themes = this.managerProp( 832 + { save: this.putLocalFn("themes", local.themes) }, 833 + remote.themes, 834 + themes 835 + ); 836 + this.tracks = this.managerProp( 837 + { save: this.putLocalFn("tracks", local.tracks) }, 838 + remote.tracks, 839 + tracks 840 + ); 841 + this.ready = () => true; 842 + } 843 + // DATA FUNCTIONS 844 + /** 845 + * @template {{ id: string; updatedAt: string }} T 846 + * @param {{ previous: Container<T>, collection: T[] }} _ 847 + * @returns {Promise<Container<T>>} 848 + */ 849 + async updateContainer({ previous, collection }) { 850 + const inventory = previous.inventory; 851 + const collIds = collection.map(({ id }) => id); 852 + const currSet = new Set(Object.keys(inventory.current)); 853 + const collSet = new Set(collIds); 854 + const newSet = collSet.difference(currSet); 855 + const remSet = currSet.difference(collSet); 856 + const alreadyRemoved = new Set(inventory.removed); 857 + const allRemoved = alreadyRemoved.union(remSet); 858 + const current = { ...inventory.current }; 859 + remSet.forEach((id) => { 860 + delete current[id]; 861 + }); 862 + const promises = []; 863 + collection.forEach((a) => { 864 + if (!newSet.has(a.id)) return; 865 + const encoded = encode(a); 866 + promises.push((async () => { 867 + const cid = await create(113, encoded); 868 + current[a.id] = cid; 869 + })()); 870 + }); 871 + await Promise.all(promises); 872 + const newInventory = { 873 + current, 874 + removed: Array.from(allRemoved) 875 + }; 876 + return { 877 + // TODO: Do we need this? Too big of a perf penalty? 878 + cid: await create(113, encode(newInventory)), 879 + data: collection, 880 + inventory: newInventory 881 + }; 882 + } 883 + /** 884 + * @template {{ id: string; updatedAt: string }} T 885 + * @param {{ local: Container<T>, remote: Container<T> }} _ 886 + */ 887 + hasDiverged({ local, remote }) { 888 + return local.cid !== remote.cid; 889 + } 890 + /** 891 + * @template {{ id: string; updatedAt: string }} T 892 + * @param {Container<T>} a 893 + * @param {Container<T>} b 894 + * @returns {Promise<Container<T>>} 895 + */ 896 + async merge(a, b) { 897 + const removedA = new Set(a.inventory.removed); 898 + const removedB = new Set(b.inventory.removed); 899 + const allRemoved = removedA.union(removedB); 900 + const currentA = a.inventory.current; 901 + const currentB = b.inventory.current; 902 + const mapA = new Map(a.data.map((item) => [item.id, item])); 903 + const mapB = new Map(b.data.map((item) => [item.id, item])); 904 + const allIds = /* @__PURE__ */ new Set([ 905 + ...Object.keys(currentA), 906 + ...Object.keys(currentB) 907 + ]); 908 + const current = {}; 909 + const data = []; 910 + const cidPromises = []; 911 + for (const id of allIds) { 912 + if (allRemoved.has(id)) continue; 913 + if (id in currentA && id in currentB) { 914 + const itemA = mapA.get(id); 915 + const itemB = mapB.get(id); 916 + if (!itemA || !itemB) { 917 + console.warn("Should have found both items but didn't!"); 918 + continue; 919 + } 920 + if (currentA[id] === currentB[id]) { 921 + data.push(itemA); 922 + current[id] = currentA[id]; 923 + continue; 924 + } 925 + const isANewerThanB = itemA.updatedAt && itemB.updatedAt ? compareTimestamps(itemA.updatedAt, itemB.updatedAt) > 0 : false; 926 + const newestItem = isANewerThanB ? itemA : itemB; 927 + const oldItem = isANewerThanB ? itemB : itemA; 928 + const mergedItem = { ...oldItem }; 929 + deep_diff_default.applyDiff(newestItem, mergedItem); 930 + data.push(mergedItem); 931 + cidPromises.push( 932 + create(113, encode(mergedItem)).then((cid) => { 933 + current[id] = cid; 934 + }) 935 + ); 936 + } else { 937 + const item = mapA.get(id) ?? mapB.get(id); 938 + if (item) { 939 + data.push(item); 940 + current[id] = currentA[id] ?? currentB[id]; 941 + } 942 + } 943 + } 944 + await Promise.all(cidPromises); 945 + const updatedInventory = { current, removed: Array.from(allRemoved) }; 946 + return { 947 + cid: await create(113, encode(updatedInventory)), 948 + data, 949 + inventory: updatedInventory 950 + }; 951 + } 952 + /** 953 + * @template {{ id: string; updatedAt: string }} T 954 + * @param {Container<T>} container 955 + * @returns {Uint8Array} 956 + */ 957 + save(container) { 958 + return encode(container); 959 + } 960 + // OUTPUT MANAGER FUNCTIONS 961 + /** 962 + * @template {{ id: string; updatedAt: string }} T 963 + * @param {{ save: (bytes: Uint8Array) => Promise<void> | void }} local 964 + * @param {{ collection: SignalReader<Uint8Array | undefined>, reload: () => Promise<void>, save: (bytes: Uint8Array) => Promise<void>, state: SignalReader<"loading" | "loaded" | "sleeping"> }} remote 965 + * @param {SignalReader<Container<T>>} container 966 + * @returns {{ collection: SignalReader<T[]>, reload: () => Promise<void>, save: (items: T[]) => Promise<void>, state: SignalReader<"loading" | "loaded" | "sleeping"> }} 967 + */ 968 + managerProp(local, remote, container) { 969 + return { 970 + collection: computed(() => { 971 + return container().data; 972 + }), 973 + reload: remote.reload, 974 + save: /* @__PURE__ */ __name(async (newItems) => { 975 + const adjustedContainer = await this.updateContainer({ 976 + collection: newItems, 977 + previous: container() 978 + }); 979 + const bytes = this.save(adjustedContainer); 980 + await local.save(bytes); 981 + }, "save"), 982 + state: computed(() => { 983 + if (container().cid) return "loaded"; 984 + return "loading"; 985 + }) 986 + }; 987 + } 988 + // INDEXED-DB 989 + /** 990 + * @param {string} name 991 + */ 992 + local(name) { 993 + const s = signal( 994 + /** @type {Uint8Array | undefined} */ 995 + void 0, 996 + { 997 + eager: true 998 + } 999 + ); 1000 + this.getLocal(name).then(s.set); 1001 + return s; 1002 + } 1003 + /** 1004 + * @param {string} name 1005 + * @returns {Promise<Uint8Array | undefined>} 1006 + */ 1007 + getLocal(name) { 1008 + return get(`${IDB_PREFIX}/${this.#cat(name)}`); 1009 + } 1010 + /** @param {string} name; @param {Uint8Array} data */ 1011 + putLocal(name, data) { 1012 + return set(`${IDB_PREFIX}/${this.#cat(name)}`, data); 1013 + } 1014 + /** 1015 + * @param {string} name 1016 + * @param {Signal<Uint8Array | undefined>} signal 1017 + */ 1018 + putLocalFn = /* @__PURE__ */ __name((name, signal2) => ( 1019 + /** @param {Uint8Array} data */ 1020 + async (data) => { 1021 + signal2.value = data; 1022 + await this.putLocal(name, data); 1023 + } 1024 + ), "putLocalFn"); 1025 + // 🛠️ 1026 + get namespace() { 1027 + return this.hasAttribute("namespace") ? this.getAttribute("namespace") + "/" : ""; 1028 + } 1029 + /** @param {string} name */ 1030 + #cat(name) { 1031 + return `${this.namespace}${name}`; 1032 + } 1033 + }; 1034 + var element_default = DaslBytesSyncOutputTransformer; 1035 + var CLASS = DaslBytesSyncOutputTransformer; 1036 + var NAME = "dtob-dasl-sync"; 1037 + customElements.define(NAME, CLASS); 1038 + export { 1039 + CLASS, 1040 + NAME, 1041 + element_default as default 1042 + }; 1043 + 1044 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/dasl-sync/element.js.map
··· 1 + {"version":3,"sources":["/element.js","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/index.ts","/node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/lib/index.ts","/node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/lib/cid-link.ts","/node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/lib/codec.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/bytes.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/decode.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/encode.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/runtime.node.ts"],"sourcesContent":["import * as IDB from \"idb-keyval\";\nimport { decode, encode } from \"@atcute/cbor\";\nimport deepDiff from \"@fry69/deep-diff\";\n\nimport \"@components/output/polymorphic/indexed-db/element.js\";\n\nimport * as CID from \"@common/cid.js\";\nimport { computed, signal } from \"@common/signal.js\";\nimport { compareTimestamps } from \"@common/utils.js\";\nimport { OutputTransformer } from \"../../base.js\";\nimport { IDB_PREFIX } from \"./constants.js\";\n\n/**\n * @import { Signal, SignalReader } from \"@common/signal.d.ts\";\n * @import { Container } from \"./types.d.ts\"\n */\n\n/** @type {Container<any>} */\nconst EMPTY = {\n cid: undefined,\n data: [],\n inventory: { current: {}, removed: [] },\n};\n\n/**\n * @extends {OutputTransformer<Uint8Array>}\n */\nclass DaslBytesSyncOutputTransformer extends OutputTransformer {\n constructor() {\n super();\n\n const remote = this.base();\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {string} kind\n * @param {SignalReader<Uint8Array | undefined>} localCollection\n * @param {SignalReader<Uint8Array | undefined>} remoteCollection\n * @param {SignalReader<\"loading\" | \"loaded\" | \"sleeping\">} remoteState\n * @param {{ saveLocal: (bytes: Uint8Array) => Promise<void>; saveRemote: (bytes: Uint8Array) => Promise<void> }} sync\n */\n const state = (\n kind,\n localCollection,\n remoteCollection,\n remoteState,\n { saveLocal, saveRemote },\n ) => {\n const container = signal(/** @type {Container<T>} */ (EMPTY), {\n eager: true,\n });\n\n const isReady = signal(false);\n const isMerging = signal(false);\n\n this.effect(() => {\n if (!isReady.value) return;\n if (isMerging.value) return;\n\n const lb = localCollection();\n const rb = remote.ready() ? remoteCollection() : undefined;\n const rs = remoteState();\n\n /** @type {Container<T> | undefined} */\n const l = lb ? decode(lb) : undefined;\n\n /** @type {Container<T> | undefined} */\n const r = rb && rs === \"loaded\" ? decode(rb) : undefined;\n\n if (!r) {\n if (l) {\n container.value = l;\n\n if (remote.ready() && rs === \"loaded\") {\n const bytes = this.save(l);\n saveRemote(bytes);\n }\n }\n } else if (!l) {\n container.value = r;\n\n const bytes = this.save(r);\n saveLocal(bytes);\n } else {\n container.value = l;\n\n if (this.hasDiverged({ local: l, remote: r })) {\n isMerging.value = true;\n\n this.merge(l, r).then(async (c) => {\n container.value = c;\n\n const bytes = this.save(c);\n await saveLocal(bytes);\n\n if (remote.ready() && rs === \"loaded\") {\n await saveRemote(bytes);\n }\n\n isMerging.value = false;\n });\n }\n }\n });\n\n return computed(() => {\n if (!isReady.get()) isReady.value = true;\n return container.get();\n });\n };\n\n // Local\n const local = {\n facets: this.local(\"facets\"),\n playlistItems: this.local(\"playlistItems\"),\n themes: this.local(\"themes\"),\n tracks: this.local(\"tracks\"),\n };\n\n // Container signals\n const facets = state(\n \"facets\",\n local.facets.get,\n remote.facets.collection,\n remote.facets.state,\n {\n saveLocal: this.putLocalFn(\"facets\", local.facets),\n saveRemote: remote.facets.save,\n },\n );\n\n const playlistItems = state(\n \"playlistItems\",\n local.playlistItems.get,\n remote.playlistItems.collection,\n remote.playlistItems.state,\n {\n saveLocal: this.putLocalFn(\"playlistItems\", local.playlistItems),\n saveRemote: remote.playlistItems.save,\n },\n );\n\n const themes = state(\n \"themes\",\n local.themes.get,\n remote.themes.collection,\n remote.themes.state,\n {\n saveLocal: this.putLocalFn(\"themes\", local.themes),\n saveRemote: remote.themes.save,\n },\n );\n\n const tracks = state(\n \"tracks\",\n local.tracks.get,\n remote.tracks.collection,\n remote.tracks.state,\n {\n saveLocal: this.putLocalFn(\"tracks\", local.tracks),\n saveRemote: remote.tracks.save,\n },\n );\n\n // Output manager\n this.facets = this.managerProp(\n { save: this.putLocalFn(\"facets\", local.facets) },\n remote.facets,\n facets,\n );\n\n this.playlistItems = this.managerProp(\n { save: this.putLocalFn(\"playlistItems\", local.playlistItems) },\n remote.playlistItems,\n playlistItems,\n );\n\n this.themes = this.managerProp(\n { save: this.putLocalFn(\"themes\", local.themes) },\n remote.themes,\n themes,\n );\n\n this.tracks = this.managerProp(\n { save: this.putLocalFn(\"tracks\", local.tracks) },\n remote.tracks,\n tracks,\n );\n\n this.ready = () => true;\n }\n\n // DATA FUNCTIONS\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {{ previous: Container<T>, collection: T[] }} _\n * @returns {Promise<Container<T>>}\n */\n async updateContainer({ previous, collection }) {\n const inventory = previous.inventory;\n\n const collIds = collection.map(({ id }) => id);\n\n const currSet = new Set(Object.keys(inventory.current));\n const collSet = new Set(collIds);\n\n const newSet = collSet.difference(currSet);\n const remSet = currSet.difference(collSet);\n\n const alreadyRemoved = new Set(inventory.removed);\n const allRemoved = alreadyRemoved.union(remSet);\n\n /** @type {Record<string, string>} */\n const current = { ...inventory.current };\n\n remSet.forEach((id) => {\n delete current[id];\n });\n\n /** @type Promise<void>[] */\n const promises = [];\n\n collection.forEach((a) => {\n if (!newSet.has(a.id)) return;\n\n // Item is new, calculate CID and add it to the `current` dictionary\n const encoded = encode(a);\n\n promises.push((async () => {\n const cid = await CID.create(0x71, encoded);\n current[a.id] = cid;\n })());\n });\n\n await Promise.all(promises);\n\n const newInventory = {\n current,\n removed: Array.from(allRemoved),\n };\n\n return {\n // TODO: Do we need this? Too big of a perf penalty?\n cid: await CID.create(0x71, encode(newInventory)),\n data: collection,\n inventory: newInventory,\n };\n }\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {{ local: Container<T>, remote: Container<T> }} _\n */\n hasDiverged({ local, remote }) {\n return local.cid !== remote.cid;\n }\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {Container<T>} a\n * @param {Container<T>} b\n * @returns {Promise<Container<T>>}\n */\n async merge(a, b) {\n const removedA = new Set(a.inventory.removed);\n const removedB = new Set(b.inventory.removed);\n const allRemoved = removedA.union(removedB);\n\n const currentA = a.inventory.current;\n const currentB = b.inventory.current;\n\n const mapA = new Map(a.data.map((item) => [item.id, item]));\n const mapB = new Map(b.data.map((item) => [item.id, item]));\n\n // Combine all known ids from both sides\n const allIds = new Set([\n ...Object.keys(currentA),\n ...Object.keys(currentB),\n ]);\n\n /** @type {Record<string, string>} */\n const current = {};\n\n /** @type {T[]} */\n const data = [];\n\n // Construct `current` and `data`\n /** @type {Promise<void>[]} */\n const cidPromises = [];\n\n for (const id of allIds) {\n if (allRemoved.has(id)) continue;\n\n if (id in currentA && id in currentB) {\n const itemA = mapA.get(id);\n const itemB = mapB.get(id);\n\n if (!itemA || !itemB) {\n console.warn(\"Should have found both items but didn't!\");\n continue;\n }\n\n // Items are identical, no merge or CID recomputation needed\n if (currentA[id] === currentB[id]) {\n data.push(itemA);\n current[id] = currentA[id];\n continue;\n }\n\n const isANewerThanB = itemA.updatedAt && itemB.updatedAt\n ? compareTimestamps(itemA.updatedAt, itemB.updatedAt) > 0\n : false;\n\n const newestItem = isANewerThanB ? itemA : itemB;\n const oldItem = isANewerThanB ? itemB : itemA;\n\n /** @type {T} */\n const mergedItem = { ...oldItem };\n\n deepDiff.applyDiff(newestItem, mergedItem);\n\n data.push(mergedItem);\n\n cidPromises.push(\n CID.create(0x71, encode(mergedItem)).then((cid) => {\n current[id] = cid;\n }),\n );\n } else {\n const item = mapA.get(id) ?? mapB.get(id);\n\n if (item) {\n data.push(item);\n current[id] = currentA[id] ?? currentB[id];\n }\n }\n }\n\n await Promise.all(cidPromises);\n\n // New inventory\n const updatedInventory = { current, removed: Array.from(allRemoved) };\n\n return {\n cid: await CID.create(0x71, encode(updatedInventory)),\n data,\n inventory: updatedInventory,\n };\n }\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {Container<T>} container\n * @returns {Uint8Array}\n */\n save(container) {\n return encode(container);\n }\n\n // OUTPUT MANAGER FUNCTIONS\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {{ save: (bytes: Uint8Array) => Promise<void> | void }} local\n * @param {{ collection: SignalReader<Uint8Array | undefined>, reload: () => Promise<void>, save: (bytes: Uint8Array) => Promise<void>, state: SignalReader<\"loading\" | \"loaded\" | \"sleeping\"> }} remote\n * @param {SignalReader<Container<T>>} container\n * @returns {{ collection: SignalReader<T[]>, reload: () => Promise<void>, save: (items: T[]) => Promise<void>, state: SignalReader<\"loading\" | \"loaded\" | \"sleeping\"> }}\n */\n managerProp(local, remote, container) {\n return {\n collection: computed(() => {\n return container().data;\n }),\n reload: remote.reload,\n save: async (/** @type {T[]} */ newItems) => {\n const adjustedContainer = await this.updateContainer({\n collection: newItems,\n previous: container(),\n });\n\n const bytes = this.save(adjustedContainer);\n await local.save(bytes);\n },\n state: computed(() => {\n if (container().cid) return \"loaded\";\n return \"loading\";\n }),\n };\n }\n\n // INDEXED-DB\n\n /**\n * @param {string} name\n */\n local(name) {\n const s = signal(/** @type {Uint8Array | undefined} */ (undefined), {\n eager: true,\n });\n\n this.getLocal(name).then(s.set);\n\n return s;\n }\n\n /**\n * @param {string} name\n * @returns {Promise<Uint8Array | undefined>}\n */\n getLocal(name) {\n return IDB.get(`${IDB_PREFIX}/${this.#cat(name)}`);\n }\n\n /** @param {string} name; @param {Uint8Array} data */\n putLocal(name, data) {\n return IDB.set(`${IDB_PREFIX}/${this.#cat(name)}`, data);\n }\n\n /**\n * @param {string} name\n * @param {Signal<Uint8Array | undefined>} signal\n */\n putLocalFn =\n (name, signal) => /** @param {Uint8Array} data */ async (data) => {\n signal.value = data;\n await this.putLocal(name, data);\n };\n\n // 🛠️\n\n get namespace() {\n return this.hasAttribute(\"namespace\")\n ? this.getAttribute(\"namespace\") + \"/\"\n : \"\";\n }\n\n /** @param {string} name */\n #cat(name) {\n return `${this.namespace}${name}`;\n }\n}\n\nexport default DaslBytesSyncOutputTransformer;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = DaslBytesSyncOutputTransformer;\nexport const NAME = \"dtob-dasl-sync\";\n\ncustomElements.define(NAME, CLASS);\n","// implements github:darobin/dasl.ing@cc66c35 (2025-10-20)\n\nexport { CidLinkWrapper, fromCidLink, isCidLink, toCidLink, type CidLink } from '@atcute/cid';\n\nexport { BytesWrapper, fromBytes, isBytes, toBytes, type Bytes } from './bytes.ts';\n\nexport { decode, decodeFirst } from './decode.ts';\nexport { encode } from './encode.ts';\n","// implements github:darobin/dasl.ing@cc66c35 (2025-10-20)\n\nexport * from './cid-link.ts';\nexport * from './codec.ts';\n","import { toBase32 } from '@atcute/multibase';\n\nimport { decode, fromString, type Cid } from './codec.ts';\n\nconst CID_LINK_SYMBOL = Symbol.for('@atcute/cid-link-wrapper');\n\nexport interface CidLink {\n\t$link: string;\n}\n\nexport class CidLinkWrapper implements CidLink {\n\t/** @internal */\n\treadonly [CID_LINK_SYMBOL] = true;\n\n\treadonly bytes: Uint8Array;\n\n\tconstructor(bytes: Uint8Array) {\n\t\tthis.bytes = bytes;\n\t}\n\n\tget $link(): string {\n\t\tconst link = `b${toBase32(this.bytes)}`;\n\t\tObject.defineProperty(this, '$link', {\n\t\t\tvalue: link,\n\t\t\tenumerable: true,\n\t\t});\n\n\t\treturn link;\n\t}\n\n\ttoJSON(): CidLink {\n\t\treturn { $link: this.$link };\n\t}\n}\n\nexport const isCidLink = (value: unknown): value is CidLink => {\n\tconst val = value as any;\n\n\treturn (\n\t\tval instanceof CidLinkWrapper ||\n\t\t(val !== null && typeof val === 'object' && typeof val.$link === 'string')\n\t);\n};\n\nexport const toCidLink = (cid: Cid): CidLink => {\n\treturn new CidLinkWrapper(cid.bytes);\n};\n\nexport const fromCidLink = (link: CidLink): Cid => {\n\tif (link instanceof CidLinkWrapper) {\n\t\treturn decode(link.bytes);\n\t}\n\n\treturn fromString(link.$link);\n};\n","import { fromBase32, toBase32 } from '@atcute/multibase';\nimport { allocUnsafe, toSha256, equals as isBufferEqual } from '@atcute/uint8array';\n\n/** CID version, always `1` for CIDv1 */\nexport const CID_VERSION = 1;\n/** multicodec for SHA-256 hash */\nexport const HASH_SHA256 = 0x12;\n\n/** multicodec for raw binary data */\nexport const CODEC_RAW = 0x55;\n/** multicodec for DAG-CBOR encoded data */\nexport const CODEC_DCBOR = 0x71;\n\n/**\n * represents a Content Identifier (CID), in particular, a limited subset of\n * CIDv1 as described by DASL specifications.\n * https://dasl.ing/cid.html\n */\nexport interface Cid {\n\t/** CID version, this is always `1` for CIDv1 */\n\treadonly version: number;\n\t/** Multicodec type for the data, can be `0x55` for raw data or `0x71` for DAG-CBOR */\n\treadonly codec: number;\n\t/** Digest contents */\n\treadonly digest: {\n\t\t/** Multicodec type for the digest, this is always `0x12` for SHA-256 */\n\t\treadonly codec: number;\n\t\t/** Raw hash bytes */\n\t\treadonly contents: Uint8Array;\n\t};\n\t/** Raw CID bytes */\n\treadonly bytes: Uint8Array;\n}\n\n// a SHA-256 CIDv1 is always going to be 36 bytes, that's 4 bytes for the\n// header, and 32 bytes for the digest itself.\n\n/**\n * creates a CID from a pre-computed SHA-256 digest\n * @param codec multicodec type for the data\n * @param digest raw SHA-256 hash bytes (must be 32 bytes)\n * @returns CID object\n */\nexport const fromDigest = (codec: 0x55 | 0x71, digest: Uint8Array): Cid => {\n\tif (digest.length !== 32) {\n\t\tthrow new RangeError(`invalid digest length`);\n\t}\n\n\tconst bytes = allocUnsafe(4 + 32);\n\n\tbytes[0] = CID_VERSION;\n\tbytes[1] = codec;\n\tbytes[2] = HASH_SHA256;\n\tbytes[3] = 32;\n\n\tbytes.set(digest, 4);\n\n\treturn {\n\t\tversion: CID_VERSION,\n\t\tcodec: codec,\n\t\tdigest: {\n\t\t\tcodec: HASH_SHA256,\n\t\t\tcontents: bytes.subarray(4, 36),\n\t\t},\n\t\tbytes: bytes,\n\t};\n};\n\n/**\n * creates a CID by hashing the provided data with SHA-256\n * @param codec multicodec type for the data\n * @param data raw data to hash\n * @returns CID object\n */\nexport const create = async (codec: 0x55 | 0x71, data: Uint8Array<ArrayBuffer>): Promise<Cid> => {\n\tconst digest = await toSha256(data);\n\treturn fromDigest(codec, digest);\n};\n\n/**\n * decodes a CID from bytes, returning the CID and any remaining bytes\n * @param bytes raw CID bytes\n * @returns tuple of decoded CID and remainder bytes\n * @throws {RangeError} if the bytes are too short or contain invalid values\n */\nexport const decodeFirst = (bytes: Uint8Array): [decoded: Cid, remainder: Uint8Array] => {\n\tif (bytes.length < 36) {\n\t\tthrow new RangeError(`cid too short`);\n\t}\n\n\tconst version = bytes[0];\n\tconst codec = bytes[1];\n\tconst digestType = bytes[2];\n\tconst digestSize = bytes[3];\n\n\tif (version !== CID_VERSION) {\n\t\tthrow new RangeError(`incorrect cid version (got v${version})`);\n\t}\n\n\tif (codec !== CODEC_DCBOR && codec !== CODEC_RAW) {\n\t\tthrow new RangeError(`incorrect cid codec (got 0x${codec.toString(16)})`);\n\t}\n\n\tif (digestType !== HASH_SHA256) {\n\t\tthrow new RangeError(`incorrect cid digest codec (got 0x${digestType.toString(16)})`);\n\t}\n\n\tif (digestSize !== 32) {\n\t\tthrow new RangeError(`incorrect cid digest size (got ${digestSize})`);\n\t}\n\n\tconst cid: Cid = {\n\t\tversion: CID_VERSION,\n\t\tcodec: codec,\n\t\tdigest: {\n\t\t\tcodec: digestType,\n\t\t\tcontents: bytes.subarray(4, 36),\n\t\t},\n\t\tbytes: bytes.subarray(0, 36),\n\t};\n\n\treturn [cid, bytes.subarray(36)];\n};\n\n/**\n * decodes a CID from bytes, expecting no remainder\n * @param bytes raw CID bytes\n * @returns decoded CID\n * @throws {RangeError} if the bytes are invalid or contain extra data\n */\nexport const decode = (bytes: Uint8Array): Cid => {\n\tconst [cid, remainder] = decodeFirst(bytes);\n\n\tif (remainder.length !== 0) {\n\t\tthrow new RangeError(`cid bytes includes remainder`);\n\t}\n\n\treturn cid;\n};\n\n/**\n * parses a CID from a multibase base32 string\n * @param input base32-encoded CID string (with 'b' prefix)\n * @returns decoded CID\n * @throws {SyntaxError} if the string is not a valid multibase base32 string\n * @throws {RangeError} if the string length is invalid\n */\nexport const fromString = (input: string): Cid => {\n\t// 36 bytes in base32 = 58 characters + 1 character for the prefix\n\tif (input.length !== 59 || input[0] !== 'b') {\n\t\tthrow new SyntaxError(`not a valid cid string`);\n\t}\n\n\tconst bytes = fromBase32(input.slice(1));\n\treturn decode(bytes);\n};\n\n/**\n * encodes a CID to a multibase base32 string\n * @param cid CID to encode\n * @returns base32-encoded string with 'b' prefix\n */\nexport const toString = (cid: Cid): string => {\n\treturn `b${toBase32(cid.bytes)}`;\n};\n\n/**\n * parses a CID from binary format (with 0x00 prefix)\n * @param input binary CID bytes with 0x00 prefix\n * @returns decoded CID\n * @throws {RangeError} if the byte length is invalid\n * @throws {SyntaxError} if the prefix byte is not 0x00\n */\nexport const fromBinary = (input: Uint8Array): Cid => {\n\t// 36 bytes + 1 byte for the 0x00 prefix\n\tif (input.length !== 37 || input[0] !== 0) {\n\t\tthrow new SyntaxError(`invalid binary cid`);\n\t}\n\n\treturn decode(input.subarray(1));\n};\n\n/**\n * encodes a CID to binary format (with 0x00 prefix)\n * @param cid CID to encode\n * @returns binary CID bytes with 0x00 prefix\n */\nexport const toBinary = (cid: Cid): Uint8Array => {\n\tconst bytes = allocUnsafe(1 + cid.bytes.length);\n\tbytes[0] = 0;\n\tbytes.set(cid.bytes, 1);\n\n\treturn bytes;\n};\n\n/**\n * checks if two CIDs are equal\n * @param a first CID\n * @param b second CID\n * @returns true if the CIDs have identical bytes\n */\nexport const equals = (a: Cid, b: Cid): boolean => {\n\treturn isBufferEqual(a.bytes, b.bytes);\n};\n","import { fromBase64, toBase64 } from '@atcute/multibase';\n\nexport interface Bytes {\n\t$bytes: string;\n}\n\nconst BYTES_SYMBOL = Symbol.for('@atcute/bytes-wrapper');\n\nexport class BytesWrapper implements Bytes {\n\t/** @internal */\n\treadonly [BYTES_SYMBOL] = true;\n\n\tconstructor(public buf: Uint8Array) {}\n\n\tget $bytes(): string {\n\t\treturn toBase64(this.buf);\n\t}\n\n\ttoJSON(): Bytes {\n\t\treturn { $bytes: this.$bytes };\n\t}\n}\n\nexport const isBytes = (value: unknown): value is Bytes => {\n\tconst val = value as any;\n\n\treturn (\n\t\tval instanceof BytesWrapper || (val !== null && typeof val === 'object' && typeof val.$bytes === 'string')\n\t);\n};\n\nexport const toBytes = (buf: Uint8Array): Bytes => {\n\treturn new BytesWrapper(buf);\n};\n\nexport const fromBytes = (bytes: Bytes): Uint8Array => {\n\tif (bytes instanceof BytesWrapper) {\n\t\treturn bytes.buf;\n\t}\n\n\treturn fromBase64(bytes.$bytes);\n};\n","import { CidLinkWrapper, fromBinary, type CidLink } from '@atcute/cid';\nimport { decodeUtf8From } from '@atcute/uint8array';\n\nimport { toBytes, type Bytes } from './bytes.ts';\n\ninterface State {\n\tb: Uint8Array;\n\tv: DataView | null;\n\tp: number;\n}\n\nconst readArgument = (state: State, info: number): number => {\n\tif (info < 24) {\n\t\treturn info;\n\t}\n\n\tlet arg: number;\n\tswitch (info) {\n\t\tcase 24: {\n\t\t\targ = readUint8(state);\n\t\t\tif (arg < 24) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 25: {\n\t\t\targ = readUint16(state);\n\t\t\tif (arg < 0x100) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 26: {\n\t\t\targ = readUint32(state);\n\t\t\tif (arg < 0x10000) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 27: {\n\t\t\targ = readUint53(state);\n\t\t\tif (arg < 0x100000000) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`invalid argument encoding; got ${info}`);\n\t\t}\n\t}\n\treturn arg;\n};\n\nconst readFloat64 = (state: State): number => {\n\tconst view = (state.v ??= new DataView(state.b.buffer, state.b.byteOffset, state.b.byteLength));\n\tconst value = view.getFloat64(state.p);\n\n\tstate.p += 8;\n\treturn value;\n};\n\nconst readUint8 = (state: State): number => {\n\treturn state.b[state.p++];\n};\n\nconst readUint16 = (state: State): number => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\tconst value = (buf[pos++] << 8) | buf[pos++];\n\n\tstate.p = pos;\n\treturn value;\n};\n\nconst readUint32 = (state: State): number => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\tconst value = ((buf[pos++] << 24) | (buf[pos++] << 16) | (buf[pos++] << 8) | buf[pos++]) >>> 0;\n\n\tstate.p = pos;\n\treturn value;\n};\n\nconst readUint53 = (state: State): number => {\n\tconst hi = readUint32(state);\n\tconst lo = readUint32(state);\n\n\tif (hi > 0x1fffff) {\n\t\tthrow new RangeError(`can't decode integers beyond safe integer range`);\n\t}\n\n\treturn hi * 2 ** 32 + lo;\n};\n\nconst readString = (state: State, length: number): string => {\n\tconst string = decodeUtf8From(state.b, state.p, length);\n\tstate.p += length;\n\n\treturn string;\n};\n\nconst readBytes = (state: State, length: number): Bytes => {\n\tconst slice = state.b.subarray(state.p, (state.p += length));\n\n\treturn toBytes(slice);\n};\n\nconst readCid = (state: State, length: number): CidLink => {\n\tconst cid = fromBinary(state.b.subarray(state.p, (state.p += length)));\n\n\treturn new CidLinkWrapper(cid.bytes);\n};\n\nconst decodeStringKey = (state: State): string => {\n\tconst prelude = readUint8(state);\n\n\tconst type = prelude >> 5;\n\tif (type !== 3) {\n\t\tthrow new TypeError(`expected map to only have string keys; got type ${type}`);\n\t}\n\n\tconst info = prelude & 0x1f;\n\tconst length = info < 24 ? info : readArgument(state, info);\n\treturn readString(state, length);\n};\n\ntype Container =\n\t| {\n\t\t\t/** map type */\n\t\t\tt: 0;\n\t\t\t/** container value */\n\t\t\tc: Record<string, unknown>;\n\t\t\t/** held key (as we decode the value) */\n\t\t\tk: string;\n\t\t\t/** remaining elements (key + value) */\n\t\t\tr: number;\n\t\t\t/** next container in stack */\n\t\t\tn: Container | null;\n\t }\n\t| {\n\t\t\t/** array type */\n\t\t\tt: 1;\n\t\t\t/** container value */\n\t\t\tc: any[];\n\t\t\t/** held key (not used) */\n\t\t\tk: null;\n\t\t\t/** remaining elements (values) */\n\t\t\tr: number;\n\t\t\t/** next container in stack */\n\t\t\tn: Container | null;\n\t };\n\nexport const decodeFirst = (buf: Uint8Array): [value: any, remainder: Uint8Array] => {\n\tconst len = buf.length;\n\n\tconst state: State = {\n\t\tb: buf,\n\t\tv: null,\n\t\tp: 0,\n\t};\n\n\tlet stack: Container | null = null;\n\tlet value: any;\n\n\tjump: while (state.p < len) {\n\t\tconst prelude = readUint8(state);\n\n\t\tconst type = prelude >> 5;\n\t\tconst info = prelude & 0x1f;\n\t\tconst arg = type === 7 ? 0 : info < 24 ? info : readArgument(state, info);\n\n\t\tswitch (type) {\n\t\t\tcase 0: {\n\t\t\t\tvalue = arg;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 1: {\n\t\t\t\tvalue = -1 - arg;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 2: {\n\t\t\t\tvalue = readBytes(state, arg);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 3: {\n\t\t\t\tvalue = readString(state, arg);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 4: {\n\t\t\t\tif (arg > 0) {\n\t\t\t\t\t// oxlint-disable-next-line no-new-array\n\t\t\t\t\tstack = { t: 1, c: (value = new Array(arg)), k: null, r: arg, n: stack };\n\t\t\t\t\tcontinue jump;\n\t\t\t\t}\n\n\t\t\t\tvalue = [];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 5: {\n\t\t\t\tvalue = {};\n\t\t\t\tif (arg > 0) {\n\t\t\t\t\t// We'll read the key of the first item here.\n\t\t\t\t\tconst first = decodeStringKey(state);\n\n\t\t\t\t\tstack = { t: 0, c: value, k: first, r: arg, n: stack };\n\t\t\t\t\tcontinue jump;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 6: {\n\t\t\t\tswitch (arg) {\n\t\t\t\t\tcase 42: {\n\t\t\t\t\t\tconst prelude = readUint8(state);\n\n\t\t\t\t\t\tconst type = prelude >> 5;\n\t\t\t\t\t\tconst info = prelude & 0x1f;\n\t\t\t\t\t\tif (type !== 2) {\n\t\t\t\t\t\t\tthrow new TypeError(`expected cid-link to be type 2 (bytes); got type ${type}`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst len = readArgument(state, info);\n\t\t\t\t\t\tvalue = readCid(state, len);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tthrow new TypeError(`unsupported tag; got ${arg}`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 7: {\n\t\t\t\tswitch (info) {\n\t\t\t\t\tcase 20:\n\t\t\t\t\tcase 21: {\n\t\t\t\t\t\tvalue = info === 21;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 22: {\n\t\t\t\t\t\tvalue = null;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 27: {\n\t\t\t\t\t\tvalue = readFloat64(state);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tthrow new Error(`invalid simple value; got ${info}`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new TypeError(`invalid type; got ${type}`);\n\t\t\t}\n\t\t}\n\n\t\twhile (stack !== null) {\n\t\t\tswitch (stack.t) {\n\t\t\t\tcase 0: {\n\t\t\t\t\tconst obj = stack.c;\n\t\t\t\t\tconst key = stack.k;\n\n\t\t\t\t\tif (key === '__proto__') {\n\t\t\t\t\t\t// Guard against prototype pollution. CWE-1321\n\t\t\t\t\t\tObject.defineProperty(obj, key, { enumerable: true, configurable: true, writable: true });\n\t\t\t\t\t}\n\n\t\t\t\t\tobj[key] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 1: {\n\t\t\t\t\tconst arr = stack.c;\n\t\t\t\t\tconst index = arr.length - stack.r;\n\n\t\t\t\t\tarr[index] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (--stack.r) {\n\t\t\t\t// We still have more values to decode, continue\n\n\t\t\t\tif (!stack.t) {\n\t\t\t\t\t// Read the key of the next map item\n\t\t\t\t\tconst prevKey = stack.k;\n\t\t\t\t\tconst key = decodeStringKey(state);\n\t\t\t\t\tstack.k = key;\n\n\t\t\t\t\tconst cmp = key.length - prevKey.length || (key > prevKey ? 1 : key < prevKey ? -1 : 0);\n\t\t\t\t\tif (cmp <= 0) {\n\t\t\t\t\t\tthrow new TypeError(`map keys are not in canonical order or contain duplicates`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcontinue jump;\n\t\t\t}\n\n\t\t\t// Unwrap the stack\n\t\t\tvalue = stack.c;\n\t\t\tstack = stack.n;\n\t\t}\n\n\t\tbreak;\n\t}\n\n\treturn [value, buf.subarray(state.p)];\n};\n\nexport const decode = (buf: Uint8Array): any => {\n\tconst [value, remainder] = decodeFirst(buf);\n\tif (remainder.length !== 0) {\n\t\tthrow new Error(`decoded value contains remainder`);\n\t}\n\n\treturn value;\n};\n","import { type CidLink, CidLinkWrapper, fromString } from '@atcute/cid';\nimport { allocUnsafe, concat, encodeUtf8Into } from '@atcute/uint8array';\n\nimport { IS_NODE_RUNTIME } from '#runtime';\n\nimport { type Bytes, BytesWrapper, fromBytes } from './bytes.ts';\n\nconst MAX_TYPE_ARG_LEN = 9;\nconst CHUNK_SIZE = 1024;\n\ninterface State {\n\tc: Uint8Array<ArrayBuffer>[];\n\tb: Uint8Array<ArrayBuffer>;\n\tv: DataView | null;\n\tp: number;\n\tl: number;\n}\n\nconst _max = Math.max;\n\nconst _isInteger = Number.isInteger;\nconst _isFinite = Number.isFinite;\n\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;\nconst MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER;\n\nconst resizeIfNeeded = (state: State, needed: number): void => {\n\tconst buf = state.b;\n\tconst pos = state.p;\n\n\tif (buf.byteLength < pos + needed) {\n\t\tstate.c.push(buf.subarray(0, pos));\n\t\tstate.l += pos;\n\n\t\tstate.b = allocUnsafe(_max(CHUNK_SIZE, needed));\n\t\tstate.v = null;\n\t\tstate.p = 0;\n\t}\n};\n\nconst getTypeInfoLength = (arg: number): number => {\n\treturn arg < 24 ? 1 : arg < 0x100 ? 2 : arg < 0x10000 ? 3 : arg < 0x100000000 ? 5 : 9;\n};\n\nconst writeFloat64 = (state: State, val: number): void => {\n\tconst buf = state.b;\n\tconst view = (state.v ??= new DataView(buf.buffer, buf.byteOffset, buf.byteLength));\n\n\tview.setFloat64(state.p, val);\n\tstate.p += 8;\n};\n\nconst writeUint8 = (state: State, val: number): void => {\n\tstate.b[state.p++] = val;\n};\n\nconst writeUint16 = (state: State, val: number): void => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\n\tbuf[pos++] = val >>> 8;\n\tbuf[pos++] = val & 0xff;\n\n\tstate.p = pos;\n};\n\nconst writeUint32 = (state: State, val: number): void => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\n\tbuf[pos++] = val >>> 24;\n\tbuf[pos++] = (val >>> 16) & 0xff;\n\tbuf[pos++] = (val >>> 8) & 0xff;\n\tbuf[pos++] = val & 0xff;\n\n\tstate.p = pos;\n};\n\nconst writeUint53 = (state: State, val: number): void => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\n\tconst hi = (val / 2 ** 32) | 0;\n\tconst lo = val >>> 0;\n\n\tbuf[pos++] = hi >>> 24;\n\tbuf[pos++] = (hi >>> 16) & 0xff;\n\tbuf[pos++] = (hi >>> 8) & 0xff;\n\tbuf[pos++] = hi & 0xff;\n\n\tbuf[pos++] = lo >>> 24;\n\tbuf[pos++] = (lo >>> 16) & 0xff;\n\tbuf[pos++] = (lo >>> 8) & 0xff;\n\tbuf[pos++] = lo & 0xff;\n\n\tstate.p = pos;\n};\n\nconst writeTypeAndArgument = (state: State, type: number, arg: number): void => {\n\tif (arg < 24) {\n\t\twriteUint8(state, (type << 5) | arg);\n\t} else if (arg < 0x100) {\n\t\twriteUint8(state, (type << 5) | 24);\n\t\twriteUint8(state, arg);\n\t} else if (arg < 0x10000) {\n\t\twriteUint8(state, (type << 5) | 25);\n\t\twriteUint16(state, arg);\n\t} else if (arg < 0x100000000) {\n\t\twriteUint8(state, (type << 5) | 26);\n\t\twriteUint32(state, arg);\n\t} else {\n\t\twriteUint8(state, (type << 5) | 27);\n\t\twriteUint53(state, arg);\n\t}\n};\n\n// --- Functions below MUST be cautious about ensuring there's enough room in the buffer!!\n\nconst writeInteger = (state: State, val: number): void => {\n\tresizeIfNeeded(state, MAX_TYPE_ARG_LEN);\n\n\tif (val < 0) {\n\t\twriteTypeAndArgument(state, 1, -val - 1);\n\t} else {\n\t\twriteTypeAndArgument(state, 0, val);\n\t}\n};\n\nconst writeFloat = (state: State, val: number): void => {\n\tresizeIfNeeded(state, 9);\n\n\twriteUint8(state, 0xe0 | 27);\n\twriteFloat64(state, val);\n};\n\nconst writeNumber = (state: State, val: number): void => {\n\tif (!_isFinite(val)) {\n\t\tthrow new RangeError(`NaN and Infinity values not supported`);\n\t}\n\n\tif (val > MAX_SAFE_INTEGER || val < MIN_SAFE_INTEGER) {\n\t\tthrow new RangeError(`can't encode numbers beyond safe integer range`);\n\t}\n\n\tif (_isInteger(val)) {\n\t\twriteInteger(state, val);\n\t} else {\n\t\t// Note: https://atproto.com/specs/data-model#:~:text=not%20allowed%20in%20atproto\n\t\twriteFloat(state, val);\n\t}\n};\n\nconst writeString = (state: State, val: string): void => {\n\tconst strLength = val.length;\n\n\tif (strLength === 0) {\n\t\tresizeIfNeeded(state, 1);\n\t\twriteUint8(state, 0x60);\n\t\treturn;\n\t}\n\n\t// JS strings are UTF-16 (ECMA spec)\n\t// Therefore, worst case length of UTF-8 is length * 3. (plus 9 bytes of CBOR header)\n\t// Greatly overshoots in practice, but doesn't matter. (alloc is O(1)+ anyway)\n\tresizeIfNeeded(state, strLength * 3 + MAX_TYPE_ARG_LEN);\n\n\t// Optimistic fast encode\n\tascii: if (!IS_NODE_RUNTIME || strLength < 24) {\n\t\tconst ptr = state.p + getTypeInfoLength(strLength);\n\t\tconst first = val.charCodeAt(0);\n\t\tif (first > 0x7f) {\n\t\t\tbreak ascii;\n\t\t}\n\n\t\tstate.b[ptr] = first;\n\t\tlet i = 1;\n\n\t\t// batch-process four characters per iteration to lower charCodeAt/branch overhead.\n\t\tfor (; i + 3 < strLength; i += 4) {\n\t\t\tconst a = val.charCodeAt(i);\n\t\t\tconst b = val.charCodeAt(i + 1);\n\t\t\tconst c = val.charCodeAt(i + 2);\n\t\t\tconst d = val.charCodeAt(i + 3);\n\n\t\t\tif ((a | b | c | d) & 0x80) {\n\t\t\t\tbreak ascii;\n\t\t\t}\n\n\t\t\tstate.b[ptr + i] = a;\n\t\t\tstate.b[ptr + i + 1] = b;\n\t\t\tstate.b[ptr + i + 2] = c;\n\t\t\tstate.b[ptr + i + 3] = d;\n\t\t}\n\n\t\tfor (; i < strLength; i++) {\n\t\t\tconst code = val.charCodeAt(i);\n\t\t\tif (code > 0x7f) {\n\t\t\t\tbreak ascii;\n\t\t\t}\n\n\t\t\tstate.b[ptr + i] = code;\n\t\t}\n\n\t\t// String was ASCII-only, we're done\n\t\twriteTypeAndArgument(state, 3, strLength);\n\t\tstate.p += strLength;\n\t\treturn;\n\t}\n\n\t// Credit: method used by cbor-x\n\t// Rather than allocate a buffer and then copy it back to the destination buffer:\n\t// - Estimate the length of the header based on the UTF-16 size of the string.\n\t// Should be accurate enough, see last point for when it isn't.\n\t// - Directly write the string at the estimated location, retrieving with it the actual length.\n\t// - Write the header now that the length is available.\n\t// - If the estimation happened to be wrong, correct the placement of the string.\n\t// While it's costly, it's actually roughly the same cost as if we encoded it separately + copy.\n\tconst estimatedHeaderSize = getTypeInfoLength(strLength * 2);\n\tconst estimatedPosition = state.p + estimatedHeaderSize;\n\tconst len = encodeUtf8Into(state.b, val, estimatedPosition);\n\n\tconst headerSize = getTypeInfoLength(len);\n\tif (estimatedHeaderSize !== headerSize) {\n\t\t// Estimation was incorrect, move the bytes to the real place.\n\t\tstate.b.copyWithin(state.p + headerSize, estimatedPosition, estimatedPosition + len);\n\t}\n\n\twriteTypeAndArgument(state, 3, len);\n\tstate.p += len;\n};\n\nconst writeBytes = (state: State, val: Bytes): void => {\n\tconst buf = fromBytes(val);\n\tconst len = buf.byteLength;\n\n\tresizeIfNeeded(state, len + MAX_TYPE_ARG_LEN);\n\n\twriteTypeAndArgument(state, 2, len);\n\tstate.b.set(buf, state.p);\n\tstate.p += len;\n};\n\nconst writeCid = (state: State, val: CidLink): void => {\n\t// CID bytes are prefixed with 0x00 for historical reasons, apparently.\n\n\tconst buf = val instanceof CidLinkWrapper ? val.bytes : fromString(val.$link).bytes;\n\tconst len = buf.byteLength + 1;\n\n\tresizeIfNeeded(state, len + 2 * MAX_TYPE_ARG_LEN);\n\n\twriteTypeAndArgument(state, 6, 42);\n\twriteTypeAndArgument(state, 2, len);\n\n\tstate.b[state.p] = 0;\n\tstate.b.set(buf, state.p + 1);\n\n\tstate.p += len;\n};\n\nconst writeValue = (state: State, val: any): void => {\n\tswitch (typeof val) {\n\t\tcase 'boolean': {\n\t\t\tresizeIfNeeded(state, 1);\n\t\t\treturn writeUint8(state, 0xf4 + +val);\n\t\t}\n\t\tcase 'number': {\n\t\t\treturn writeNumber(state, val);\n\t\t}\n\t\tcase 'string': {\n\t\t\treturn writeString(state, val);\n\t\t}\n\t\tcase 'object': {\n\t\t\t// case: null\n\t\t\tif (val === null) {\n\t\t\t\tresizeIfNeeded(state, 1);\n\t\t\t\treturn writeUint8(state, 0xf6);\n\t\t\t}\n\n\t\t\t// case: array\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tconst len = val.length;\n\t\t\t\tresizeIfNeeded(state, MAX_TYPE_ARG_LEN);\n\t\t\t\twriteTypeAndArgument(state, 4, len);\n\n\t\t\t\tfor (let idx = 0; idx < len; idx++) {\n\t\t\t\t\twriteValue(state, val[idx]);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// case: POJO\n\t\t\tif (val.constructor === Object) {\n\t\t\t\tconst keys = getOrderedObjectKeys(val);\n\t\t\t\tconst len = keys.length;\n\n\t\t\t\tif (len === 1) {\n\t\t\t\t\tconst key = keys[0]!;\n\n\t\t\t\t\tif (key === '$link') {\n\t\t\t\t\t\tif (typeof val.$link === 'string') {\n\t\t\t\t\t\t\twriteCid(state, val);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new TypeError(`unexpected cid-link value`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === '$bytes') {\n\t\t\t\t\t\tif (typeof val.$bytes === 'string') {\n\t\t\t\t\t\t\twriteBytes(state, val);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new TypeError(`unexpected bytes value`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresizeIfNeeded(state, MAX_TYPE_ARG_LEN);\n\t\t\t\twriteTypeAndArgument(state, 5, len);\n\n\t\t\t\tfor (let idx = 0; idx < len; idx++) {\n\t\t\t\t\tconst key = keys[idx];\n\n\t\t\t\t\twriteString(state, key);\n\t\t\t\t\twriteValue(state, val[key]);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// case: cid-link wrappers / odd objects\n\t\t\tif ('$link' in val) {\n\t\t\t\tif (val instanceof CidLinkWrapper || typeof val.$link === 'string') {\n\t\t\t\t\twriteCid(state, val);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthrow new TypeError(`unexpected cid-link value`);\n\t\t\t}\n\n\t\t\t// case: bytes wrappers / odd objects\n\t\t\tif ('$bytes' in val) {\n\t\t\t\tif (val instanceof BytesWrapper || typeof val.$bytes === 'string') {\n\t\t\t\t\twriteBytes(state, val);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthrow new TypeError(`unexpected bytes value`);\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new TypeError(`unsupported type: ${val}`);\n};\n\nconst createState = (): State => {\n\treturn {\n\t\tc: [],\n\t\tb: allocUnsafe(CHUNK_SIZE),\n\t\tv: null,\n\t\tp: 0,\n\t\tl: 0,\n\t};\n};\n\nexport const encode = (value: any): Uint8Array<ArrayBuffer> => {\n\tconst state = createState();\n\n\twriteValue(state, value);\n\n\tconst final = state.b.subarray(0, state.p);\n\tif (!state.c.length) return final;\n\n\tstate.c.push(final);\n\treturn concat(state.c, state.l + state.p);\n};\n\n/** @internal */\nexport const getOrderedObjectKeys = (obj: Record<string, unknown>): string[] => {\n\tconst keys = Object.keys(obj);\n\tlet len = 0;\n\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst valA = keys[i];\n\t\tif (obj[valA] === undefined) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst lenA = valA.length;\n\t\tlet j = len - 1;\n\t\tfor (; j >= 0; j--) {\n\t\t\tconst valB = keys[j];\n\n\t\t\t// Note: Don't need to check for equality, keys are always distinct.\n\t\t\tif (lenA > valB.length || (lenA === valB.length && valA > valB)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tkeys[j + 1] = valB;\n\t\t}\n\n\t\tkeys[j + 1] = valA;\n\t\tlen++;\n\t}\n\n\tkeys.length = len;\n\treturn keys;\n};\n","export const IS_NODE_RUNTIME = true;\n"],"mappings":"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","names":["decodeFirst","prelude","type","info","len","decode","decode","signal"],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/components/transformer/output/bytes/dasl-sync/element.js.map"}
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/json/element.js
··· 1 + ../../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/json/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/bytes/json/element.js.map
··· 1 + ../../../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/transformer/output/bytes/json/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/raw/atproto-sync/element.js
··· 1 + ../../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/raw/atproto-sync/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/raw/atproto-sync/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/raw/atproto-sync/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/refiner/default/element.js
··· 1 + ../../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/refiner/default/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/refiner/default/element.js.map
··· 1 + ../../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/refiner/default/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/replicator/broadcast/element.js
··· 1 + ../../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/replicator/broadcast/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/replicator/broadcast/element.js.map
··· 1 + ../../../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/transformer/output/replicator/broadcast/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/string/json/element.js
··· 1 + ../../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/string/json/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/components/transformer/output/string/json/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/string/json/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/definitions/index.ts
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/index.ts
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/definitions/output/collaboration.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/collaboration.json
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/definitions/output/facet.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/facet.json
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/definitions/output/playlistItem.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/playlistItem.json
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/definitions/output/theme.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/theme.json
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/definitions/output/track.json
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/definitions/output/track.json
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/examples/generate-playlist.html.txt
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/facets/examples/generate-playlist.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/examples/now-playing.html.txt
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/facets/examples/now-playing.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/index.html
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/index.html
+1636
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/index.js
··· 1 + import { 2 + EditorView, 3 + autocompletion, 4 + basicSetup, 5 + css, 6 + html, 7 + javascript 8 + } from "../chunk-T6JAPJ7J.js"; 9 + import { 10 + foundation_default 11 + } from "../chunk-H243HMAU.js"; 12 + import "../chunk-UM3YGQCD.js"; 13 + import "../chunk-5U6YGUSF.js"; 14 + import "../chunk-JHKODV4C.js"; 15 + import "../chunk-NC2PKDLJ.js"; 16 + import "../chunk-LC5ADJPD.js"; 17 + import "../chunk-DBY4UFCR.js"; 18 + import "../chunk-5GF3RIXZ.js"; 19 + import "../chunk-6LRCMOGT.js"; 20 + import "../chunk-34FHQ3GB.js"; 21 + import "../chunk-M7I6ARGE.js"; 22 + import "../chunk-2HRMT4JN.js"; 23 + import "../chunk-77N5LJ3L.js"; 24 + import "../chunk-KIXJZP53.js"; 25 + import "../chunk-T3L6UFWY.js"; 26 + import "../chunk-IPJO7YD4.js"; 27 + import "../chunk-Y6DMBYY7.js"; 28 + import "../chunk-YZWL75VE.js"; 29 + import "../chunk-NB2M3NWG.js"; 30 + import "../chunk-JBHW662S.js"; 31 + import "../chunk-GX3WPNEX.js"; 32 + import "../chunk-226QQPVM.js"; 33 + import "../chunk-HN4F5JEZ.js"; 34 + import "../chunk-PTVB4Y37.js"; 35 + import "../chunk-4MMRODUP.js"; 36 + import "../chunk-F74HSTJN.js"; 37 + import "../chunk-BUBM2UB3.js"; 38 + import "../chunk-R3VDMJ43.js"; 39 + import "../chunk-LQ2RJJ6P.js"; 40 + import "../chunk-DDF5P57I.js"; 41 + import "../chunk-EEUCFWD4.js"; 42 + import "../chunk-6DRHTH2U.js"; 43 + import "../chunk-HI6EUDY3.js"; 44 + import "../chunk-CZYH5TCN.js"; 45 + import "../chunk-OENN55R6.js"; 46 + import "../chunk-UGE3FKYA.js"; 47 + import "../chunk-52BFTJ3R.js"; 48 + import { 49 + i as i2 50 + } from "../chunk-E6H4GVL4.js"; 51 + import { 52 + e, 53 + i, 54 + t 55 + } from "../chunk-J3RUTL7I.js"; 56 + import { 57 + A, 58 + B, 59 + E, 60 + T 61 + } from "../chunk-52F6J3SQ.js"; 62 + import "../chunk-G56PUJUJ.js"; 63 + import { 64 + facetFromURI 65 + } from "../chunk-46MJSXAT.js"; 66 + import { 67 + loadURI 68 + } from "../chunk-W3QCTPVZ.js"; 69 + import "../chunk-WN6GL63Q.js"; 70 + import "../chunk-CRZ7HJJ4.js"; 71 + import "../chunk-242LG3VP.js"; 72 + import { 73 + now 74 + } from "../chunk-LHSDDKDM.js"; 75 + import { 76 + effect, 77 + signal 78 + } from "../chunk-IZOBPV2S.js"; 79 + import { 80 + create 81 + } from "../chunk-4YB6QUPN.js"; 82 + import "../chunk-SGR5ST3A.js"; 83 + import "../chunk-6DKPDMFE.js"; 84 + import "../chunk-TP5GZFTO.js"; 85 + import "../chunk-ZQZJJU3T.js"; 86 + import { 87 + __name, 88 + init_Buffer, 89 + init_process 90 + } from "../chunk-FZQXS3RE.js"; 91 + 92 + // facets/index.js 93 + init_Buffer(); 94 + init_process(); 95 + 96 + // ../node_modules/.deno/marked@17.0.3/node_modules/marked/lib/marked.esm.js 97 + init_Buffer(); 98 + init_process(); 99 + function M() { 100 + return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null }; 101 + } 102 + __name(M, "M"); 103 + var T2 = M(); 104 + function H(u3) { 105 + T2 = u3; 106 + } 107 + __name(H, "H"); 108 + var _ = { exec: /* @__PURE__ */ __name(() => null, "exec") }; 109 + function k(u3, e3 = "") { 110 + let t2 = typeof u3 == "string" ? u3 : u3.source, n = { replace: /* @__PURE__ */ __name((r, i3) => { 111 + let s = typeof i3 == "string" ? i3 : i3.source; 112 + return s = s.replace(m.caret, "$1"), t2 = t2.replace(r, s), n; 113 + }, "replace"), getRegex: /* @__PURE__ */ __name(() => new RegExp(t2, e3), "getRegex") }; 114 + return n; 115 + } 116 + __name(k, "k"); 117 + var Re = (() => { 118 + try { 119 + return !!new RegExp("(?<=1)(?<!1)"); 120 + } catch { 121 + return false; 122 + } 123 + })(); 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 + var Te = /^(?:[ \t]*(?:\n|$))+/; 126 + var Oe = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/; 127 + var we = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/; 128 + var I = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/; 129 + var ye = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/; 130 + var N = / {0,3}(?:[*+-]|\d{1,9}[.)])/; 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 + 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 + 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 + var Q = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/; 135 + var Se = /^[^\n]+/; 136 + var F = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/; 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 + var _e = k(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, N).getRegex(); 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 + var j = /<!--(?:-?>|[\s\S]*?(?:-->|$))/; 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 + 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 + var Me = k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ie).getRegex(); 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 + 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 + 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 + 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 + ]`).replace("lheading", se).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }; 149 + var Ae = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/; 150 + var Ie = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/; 151 + var oe = /^( {2,}|\\)\n(?!\s*$)/; 152 + var Ee = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/; 153 + var v = /[\p{P}\p{S}]/u; 154 + var K = /[\s\p{P}\p{S}]/u; 155 + var ae = /[^\s\p{P}\p{S}]/u; 156 + var Be = k(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, K).getRegex(); 157 + var le = /(?!~)[\p{P}\p{S}]/u; 158 + var De = /(?!~)[\s\p{P}\p{S}]/u; 159 + var qe = /(?:[^\s\p{P}\p{S}]|~)/u; 160 + var ue = /(?![*_])[\p{P}\p{S}]/u; 161 + var ve = /(?![*_])[\s\p{P}\p{S}]/u; 162 + var Ge = /(?:[^\s\p{P}\p{S}]|[*_])/u; 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 + var pe = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/; 165 + var Ze = k(pe, "u").replace(/punct/g, v).getRegex(); 166 + var Ne = k(pe, "u").replace(/punct/g, le).getRegex(); 167 + var ce = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)"; 168 + var Qe = k(ce, "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, K).replace(/punct/g, v).getRegex(); 169 + var Fe = k(ce, "gu").replace(/notPunctSpace/g, qe).replace(/punctSpace/g, De).replace(/punct/g, le).getRegex(); 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 + var Ue = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, ue).getRegex(); 172 + var Ke = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)"; 173 + var We = k(Ke, "gu").replace(/notPunctSpace/g, Ge).replace(/punctSpace/g, ve).replace(/punct/g, ue).getRegex(); 174 + var Xe = k(/\\(punct)/, "gu").replace(/punct/g, v).getRegex(); 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 + var Ve = k(j).replace("(?:-->|$)", "-->").getRegex(); 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 + var D = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/; 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 + var he = k(/^!?\[(label)\]\[(ref)\]/).replace("label", D).replace("ref", F).getRegex(); 181 + var ke = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", F).getRegex(); 182 + var tt = k("reflink|nolink(?!\\()", "g").replace("reflink", he).replace("nolink", ke).getRegex(); 183 + var ne = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/; 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 + var nt = { ...W, link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", D).getRegex(), reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", D).getRegex() }; 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 + var rt = { ...Z, br: k(oe).replace("{2,}", "*").getRegex(), text: k(Z.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }; 188 + var E2 = { normal: U, gfm: ze, pedantic: Ce }; 189 + var z = { normal: W, gfm: Z, breaks: rt, pedantic: nt }; 190 + var st = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }; 191 + var de = /* @__PURE__ */ __name((u3) => st[u3], "de"); 192 + function O(u3, e3) { 193 + if (e3) { 194 + if (m.escapeTest.test(u3)) return u3.replace(m.escapeReplace, de); 195 + } else if (m.escapeTestNoEncode.test(u3)) return u3.replace(m.escapeReplaceNoEncode, de); 196 + return u3; 197 + } 198 + __name(O, "O"); 199 + function X(u3) { 200 + try { 201 + u3 = encodeURI(u3).replace(m.percentDecode, "%"); 202 + } catch { 203 + return null; 204 + } 205 + return u3; 206 + } 207 + __name(X, "X"); 208 + function J(u3, e3) { 209 + let t2 = u3.replace(m.findPipe, (i3, s, a) => { 210 + let o2 = false, l = s; 211 + for (; --l >= 0 && a[l] === "\\"; ) o2 = !o2; 212 + return o2 ? "|" : " |"; 213 + }), n = t2.split(m.splitPipe), r = 0; 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 + else for (; n.length < e3; ) n.push(""); 216 + for (; r < n.length; r++) n[r] = n[r].trim().replace(m.slashPipe, "|"); 217 + return n; 218 + } 219 + __name(J, "J"); 220 + function C(u3, e3, t2) { 221 + let n = u3.length; 222 + if (n === 0) return ""; 223 + let r = 0; 224 + for (; r < n; ) { 225 + let i3 = u3.charAt(n - r - 1); 226 + if (i3 === e3 && !t2) r++; 227 + else if (i3 !== e3 && t2) r++; 228 + else break; 229 + } 230 + return u3.slice(0, n - r); 231 + } 232 + __name(C, "C"); 233 + function ge(u3, e3) { 234 + if (u3.indexOf(e3[1]) === -1) return -1; 235 + let t2 = 0; 236 + for (let n = 0; n < u3.length; n++) if (u3[n] === "\\") n++; 237 + else if (u3[n] === e3[0]) t2++; 238 + else if (u3[n] === e3[1] && (t2--, t2 < 0)) return n; 239 + return t2 > 0 ? -2 : -1; 240 + } 241 + __name(ge, "ge"); 242 + function fe(u3, e3 = 0) { 243 + let t2 = e3, n = ""; 244 + for (let r of u3) if (r === " ") { 245 + let i3 = 4 - t2 % 4; 246 + n += " ".repeat(i3), t2 += i3; 247 + } else n += r, t2++; 248 + return n; 249 + } 250 + __name(fe, "fe"); 251 + function me(u3, e3, t2, n, r) { 252 + let i3 = e3.href, s = e3.title || null, a = u3[1].replace(r.other.outputLinkReplace, "$1"); 253 + n.state.inLink = true; 254 + let o2 = { type: u3[0].charAt(0) === "!" ? "image" : "link", raw: t2, href: i3, title: s, text: a, tokens: n.inlineTokens(a) }; 255 + return n.state.inLink = false, o2; 256 + } 257 + __name(me, "me"); 258 + function it(u3, e3, t2) { 259 + let n = u3.match(t2.other.indentCodeCompensation); 260 + if (n === null) return e3; 261 + let r = n[1]; 262 + return e3.split(` 263 + `).map((i3) => { 264 + let s = i3.match(t2.other.beginningSpace); 265 + if (s === null) return i3; 266 + let [a] = s; 267 + return a.length >= r.length ? i3.slice(r.length) : i3; 268 + }).join(` 269 + `); 270 + } 271 + __name(it, "it"); 272 + var w = class { 273 + static { 274 + __name(this, "w"); 275 + } 276 + options; 277 + rules; 278 + lexer; 279 + constructor(e3) { 280 + this.options = e3 || T2; 281 + } 282 + space(e3) { 283 + let t2 = this.rules.block.newline.exec(e3); 284 + if (t2 && t2[0].length > 0) return { type: "space", raw: t2[0] }; 285 + } 286 + code(e3) { 287 + let t2 = this.rules.block.code.exec(e3); 288 + if (t2) { 289 + let n = t2[0].replace(this.rules.other.codeRemoveIndent, ""); 290 + return { type: "code", raw: t2[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : C(n, ` 291 + `) }; 292 + } 293 + } 294 + fences(e3) { 295 + let t2 = this.rules.block.fences.exec(e3); 296 + if (t2) { 297 + let n = t2[0], r = it(n, t2[3] || "", this.rules); 298 + return { type: "code", raw: n, lang: t2[2] ? t2[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t2[2], text: r }; 299 + } 300 + } 301 + heading(e3) { 302 + let t2 = this.rules.block.heading.exec(e3); 303 + if (t2) { 304 + let n = t2[2].trim(); 305 + if (this.rules.other.endingHash.test(n)) { 306 + let r = C(n, "#"); 307 + (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim()); 308 + } 309 + return { type: "heading", raw: t2[0], depth: t2[1].length, text: n, tokens: this.lexer.inline(n) }; 310 + } 311 + } 312 + hr(e3) { 313 + let t2 = this.rules.block.hr.exec(e3); 314 + if (t2) return { type: "hr", raw: C(t2[0], ` 315 + `) }; 316 + } 317 + blockquote(e3) { 318 + let t2 = this.rules.block.blockquote.exec(e3); 319 + if (t2) { 320 + let n = C(t2[0], ` 321 + `).split(` 322 + `), r = "", i3 = "", s = []; 323 + for (; n.length > 0; ) { 324 + let a = false, o2 = [], l; 325 + for (l = 0; l < n.length; l++) if (this.rules.other.blockquoteStart.test(n[l])) o2.push(n[l]), a = true; 326 + else if (!a) o2.push(n[l]); 327 + else break; 328 + n = n.slice(l); 329 + let p = o2.join(` 330 + `), c = p.replace(this.rules.other.blockquoteSetextReplace, ` 331 + $1`).replace(this.rules.other.blockquoteSetextReplace2, ""); 332 + r = r ? `${r} 333 + ${p}` : p, i3 = i3 ? `${i3} 334 + ${c}` : c; 335 + let d = this.lexer.state.top; 336 + if (this.lexer.state.top = true, this.lexer.blockTokens(c, s, true), this.lexer.state.top = d, n.length === 0) break; 337 + let h = s.at(-1); 338 + if (h?.type === "code") break; 339 + if (h?.type === "blockquote") { 340 + let R = h, f = R.raw + ` 341 + ` + n.join(` 342 + `), S = this.blockquote(f); 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 + break; 345 + } else if (h?.type === "list") { 346 + let R = h, f = R.raw + ` 347 + ` + n.join(` 348 + `), S = this.list(f); 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 + `); 351 + continue; 352 + } 353 + } 354 + return { type: "blockquote", raw: r, tokens: s, text: i3 }; 355 + } 356 + } 357 + list(e3) { 358 + let t2 = this.rules.block.list.exec(e3); 359 + if (t2) { 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 + n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]"); 362 + let s = this.rules.other.listItemRegex(n), a = false; 363 + for (; e3; ) { 364 + let l = false, p = "", c = ""; 365 + if (!(t2 = s.exec(e3)) || this.rules.block.hr.test(e3)) break; 366 + p = t2[0], e3 = e3.substring(p.length); 367 + let d = fe(t2[2].split(` 368 + `, 1)[0], t2[1].length), h = e3.split(` 369 + `, 1)[0], R = !d.trim(), f = 0; 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 + `, e3 = e3.substring(h.length + 1), l = true), !l) { 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 + for (; e3; ) { 374 + let G = e3.split(` 375 + `, 1)[0], A2; 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 + if (A2.search(this.rules.other.nonSpaceChar) >= f || !h.trim()) c += ` 378 + ` + A2.slice(f); 379 + else { 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 + c += ` 382 + ` + h; 383 + } 384 + R = !h.trim(), p += G + ` 385 + `, e3 = e3.substring(G.length + 1), d = A2.slice(f); 386 + } 387 + } 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 + } 390 + let o2 = i3.items.at(-1); 391 + if (o2) o2.raw = o2.raw.trimEnd(), o2.text = o2.text.trimEnd(); 392 + else return; 393 + i3.raw = i3.raw.trimEnd(); 394 + for (let l of i3.items) { 395 + if (this.lexer.state.top = false, l.tokens = this.lexer.blockTokens(l.text, []), l.task) { 396 + if (l.text = l.text.replace(this.rules.other.listReplaceTask, ""), l.tokens[0]?.type === "text" || l.tokens[0]?.type === "paragraph") { 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 + for (let c = this.lexer.inlineQueue.length - 1; c >= 0; c--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)) { 399 + this.lexer.inlineQueue[c].src = this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask, ""); 400 + break; 401 + } 402 + } 403 + let p = this.rules.other.listTaskCheckbox.exec(l.raw); 404 + if (p) { 405 + let c = { type: "checkbox", raw: p[0] + " ", checked: p[0] !== "[ ]" }; 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 + } 408 + } 409 + if (!i3.loose) { 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 + i3.loose = c; 412 + } 413 + } 414 + if (i3.loose) for (let l of i3.items) { 415 + l.loose = true; 416 + for (let p of l.tokens) p.type === "text" && (p.type = "paragraph"); 417 + } 418 + return i3; 419 + } 420 + } 421 + html(e3) { 422 + let t2 = this.rules.block.html.exec(e3); 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 + } 425 + def(e3) { 426 + let t2 = this.rules.block.def.exec(e3); 427 + if (t2) { 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 + return { type: "def", tag: n, raw: t2[0], href: r, title: i3 }; 430 + } 431 + } 432 + table(e3) { 433 + let t2 = this.rules.block.table.exec(e3); 434 + if (!t2 || !this.rules.other.tableDelimiter.test(t2[2])) return; 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 + `) : [], s = { type: "table", raw: t2[0], header: [], align: [], rows: [] }; 437 + if (n.length === r.length) { 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 + 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 + 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 + return s; 442 + } 443 + } 444 + lheading(e3) { 445 + let t2 = this.rules.block.lheading.exec(e3); 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 + } 448 + paragraph(e3) { 449 + let t2 = this.rules.block.paragraph.exec(e3); 450 + if (t2) { 451 + let n = t2[1].charAt(t2[1].length - 1) === ` 452 + ` ? t2[1].slice(0, -1) : t2[1]; 453 + return { type: "paragraph", raw: t2[0], text: n, tokens: this.lexer.inline(n) }; 454 + } 455 + } 456 + text(e3) { 457 + let t2 = this.rules.block.text.exec(e3); 458 + if (t2) return { type: "text", raw: t2[0], text: t2[0], tokens: this.lexer.inline(t2[0]) }; 459 + } 460 + escape(e3) { 461 + let t2 = this.rules.inline.escape.exec(e3); 462 + if (t2) return { type: "escape", raw: t2[0], text: t2[1] }; 463 + } 464 + tag(e3) { 465 + let t2 = this.rules.inline.tag.exec(e3); 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 + } 468 + link(e3) { 469 + let t2 = this.rules.inline.link.exec(e3); 470 + if (t2) { 471 + let n = t2[2].trim(); 472 + if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) { 473 + if (!this.rules.other.endAngleBracket.test(n)) return; 474 + let s = C(n.slice(0, -1), "\\"); 475 + if ((n.length - s.length) % 2 === 0) return; 476 + } else { 477 + let s = ge(t2[2], "()"); 478 + if (s === -2) return; 479 + if (s > -1) { 480 + let o2 = (t2[0].indexOf("!") === 0 ? 5 : 4) + t2[1].length + s; 481 + t2[2] = t2[2].substring(0, s), t2[0] = t2[0].substring(0, o2).trim(), t2[3] = ""; 482 + } 483 + } 484 + let r = t2[2], i3 = ""; 485 + if (this.options.pedantic) { 486 + let s = this.rules.other.pedanticHrefTitle.exec(r); 487 + s && (r = s[1], i3 = s[3]); 488 + } else i3 = t2[3] ? t2[3].slice(1, -1) : ""; 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 + } 491 + } 492 + reflink(e3, t2) { 493 + let n; 494 + if ((n = this.rules.inline.reflink.exec(e3)) || (n = this.rules.inline.nolink.exec(e3))) { 495 + let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i3 = t2[r.toLowerCase()]; 496 + if (!i3) { 497 + let s = n[0].charAt(0); 498 + return { type: "text", raw: s, text: s }; 499 + } 500 + return me(n, i3, n[0], this.lexer, this.rules); 501 + } 502 + } 503 + emStrong(e3, t2, n = "") { 504 + let r = this.rules.inline.emStrongLDelim.exec(e3); 505 + if (!r || r[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return; 506 + if (!(r[1] || r[2] || "") || !n || this.rules.inline.punctuation.exec(n)) { 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 + for (c.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = c.exec(t2)) != null; ) { 509 + if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a) continue; 510 + if (o2 = [...a].length, r[3] || r[4]) { 511 + l += o2; 512 + continue; 513 + } else if ((r[5] || r[6]) && s % 3 && !((s + o2) % 3)) { 514 + p += o2; 515 + continue; 516 + } 517 + if (l -= o2, l > 0) continue; 518 + o2 = Math.min(o2, o2 + l + p); 519 + let d = [...r[0]][0].length, h = e3.slice(0, s + r.index + d + o2); 520 + if (Math.min(s, o2) % 2) { 521 + let f = h.slice(1, -1); 522 + return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) }; 523 + } 524 + let R = h.slice(2, -2); 525 + return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) }; 526 + } 527 + } 528 + } 529 + codespan(e3) { 530 + let t2 = this.rules.inline.code.exec(e3); 531 + if (t2) { 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 + return r && i3 && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t2[0], text: n }; 534 + } 535 + } 536 + br(e3) { 537 + let t2 = this.rules.inline.br.exec(e3); 538 + if (t2) return { type: "br", raw: t2[0] }; 539 + } 540 + del(e3, t2, n = "") { 541 + let r = this.rules.inline.delLDelim.exec(e3); 542 + if (!r) return; 543 + if (!(r[1] || "") || !n || this.rules.inline.punctuation.exec(n)) { 544 + let s = [...r[0]].length - 1, a, o2, l = s, p = this.rules.inline.delRDelim; 545 + for (p.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = p.exec(t2)) != null; ) { 546 + if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a || (o2 = [...a].length, o2 !== s)) continue; 547 + if (r[3] || r[4]) { 548 + l += o2; 549 + continue; 550 + } 551 + if (l -= o2, l > 0) continue; 552 + o2 = Math.min(o2, o2 + l); 553 + let c = [...r[0]][0].length, d = e3.slice(0, s + r.index + c + o2), h = d.slice(s, -s); 554 + return { type: "del", raw: d, text: h, tokens: this.lexer.inlineTokens(h) }; 555 + } 556 + } 557 + } 558 + autolink(e3) { 559 + let t2 = this.rules.inline.autolink.exec(e3); 560 + if (t2) { 561 + let n, r; 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 + } 564 + } 565 + url(e3) { 566 + let t2; 567 + if (t2 = this.rules.inline.url.exec(e3)) { 568 + let n, r; 569 + if (t2[2] === "@") n = t2[0], r = "mailto:" + n; 570 + else { 571 + let i3; 572 + do 573 + i3 = t2[0], t2[0] = this.rules.inline._backpedal.exec(t2[0])?.[0] ?? ""; 574 + while (i3 !== t2[0]); 575 + n = t2[0], t2[1] === "www." ? r = "http://" + t2[0] : r = t2[0]; 576 + } 577 + return { type: "link", raw: t2[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] }; 578 + } 579 + } 580 + inlineText(e3) { 581 + let t2 = this.rules.inline.text.exec(e3); 582 + if (t2) { 583 + let n = this.lexer.state.inRawBlock; 584 + return { type: "text", raw: t2[0], text: t2[0], escaped: n }; 585 + } 586 + } 587 + }; 588 + var x = class u { 589 + static { 590 + __name(this, "u"); 591 + } 592 + tokens; 593 + options; 594 + state; 595 + inlineQueue; 596 + tokenizer; 597 + constructor(e3) { 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 + let t2 = { other: m, block: E2.normal, inline: z.normal }; 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 + } 602 + static get rules() { 603 + return { block: E2, inline: z }; 604 + } 605 + static lex(e3, t2) { 606 + return new u(t2).lex(e3); 607 + } 608 + static lexInline(e3, t2) { 609 + return new u(t2).inlineTokens(e3); 610 + } 611 + lex(e3) { 612 + e3 = e3.replace(m.carriageReturn, ` 613 + `), this.blockTokens(e3, this.tokens); 614 + for (let t2 = 0; t2 < this.inlineQueue.length; t2++) { 615 + let n = this.inlineQueue[t2]; 616 + this.inlineTokens(n.src, n.tokens); 617 + } 618 + return this.inlineQueue = [], this.tokens; 619 + } 620 + blockTokens(e3, t2 = [], n = false) { 621 + for (this.options.pedantic && (e3 = e3.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); e3; ) { 622 + let r; 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 + if (r = this.tokenizer.space(e3)) { 625 + e3 = e3.substring(r.raw.length); 626 + let s = t2.at(-1); 627 + r.raw.length === 1 && s !== void 0 ? s.raw += ` 628 + ` : t2.push(r); 629 + continue; 630 + } 631 + if (r = this.tokenizer.code(e3)) { 632 + e3 = e3.substring(r.raw.length); 633 + let s = t2.at(-1); 634 + s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(` 635 + `) ? "" : ` 636 + `) + r.raw, s.text += ` 637 + ` + r.text, this.inlineQueue.at(-1).src = s.text) : t2.push(r); 638 + continue; 639 + } 640 + if (r = this.tokenizer.fences(e3)) { 641 + e3 = e3.substring(r.raw.length), t2.push(r); 642 + continue; 643 + } 644 + if (r = this.tokenizer.heading(e3)) { 645 + e3 = e3.substring(r.raw.length), t2.push(r); 646 + continue; 647 + } 648 + if (r = this.tokenizer.hr(e3)) { 649 + e3 = e3.substring(r.raw.length), t2.push(r); 650 + continue; 651 + } 652 + if (r = this.tokenizer.blockquote(e3)) { 653 + e3 = e3.substring(r.raw.length), t2.push(r); 654 + continue; 655 + } 656 + if (r = this.tokenizer.list(e3)) { 657 + e3 = e3.substring(r.raw.length), t2.push(r); 658 + continue; 659 + } 660 + if (r = this.tokenizer.html(e3)) { 661 + e3 = e3.substring(r.raw.length), t2.push(r); 662 + continue; 663 + } 664 + if (r = this.tokenizer.def(e3)) { 665 + e3 = e3.substring(r.raw.length); 666 + let s = t2.at(-1); 667 + s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(` 668 + `) ? "" : ` 669 + `) + r.raw, s.text += ` 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 + continue; 672 + } 673 + if (r = this.tokenizer.table(e3)) { 674 + e3 = e3.substring(r.raw.length), t2.push(r); 675 + continue; 676 + } 677 + if (r = this.tokenizer.lheading(e3)) { 678 + e3 = e3.substring(r.raw.length), t2.push(r); 679 + continue; 680 + } 681 + let i3 = e3; 682 + if (this.options.extensions?.startBlock) { 683 + let s = 1 / 0, a = e3.slice(1), o2; 684 + this.options.extensions.startBlock.forEach((l) => { 685 + o2 = l.call({ lexer: this }, a), typeof o2 == "number" && o2 >= 0 && (s = Math.min(s, o2)); 686 + }), s < 1 / 0 && s >= 0 && (i3 = e3.substring(0, s + 1)); 687 + } 688 + if (this.state.top && (r = this.tokenizer.paragraph(i3))) { 689 + let s = t2.at(-1); 690 + n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(` 691 + `) ? "" : ` 692 + `) + r.raw, s.text += ` 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 + continue; 695 + } 696 + if (r = this.tokenizer.text(e3)) { 697 + e3 = e3.substring(r.raw.length); 698 + let s = t2.at(-1); 699 + s?.type === "text" ? (s.raw += (s.raw.endsWith(` 700 + `) ? "" : ` 701 + `) + r.raw, s.text += ` 702 + ` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t2.push(r); 703 + continue; 704 + } 705 + if (e3) { 706 + let s = "Infinite loop on byte: " + e3.charCodeAt(0); 707 + if (this.options.silent) { 708 + console.error(s); 709 + break; 710 + } else throw new Error(s); 711 + } 712 + } 713 + return this.state.top = true, t2; 714 + } 715 + inline(e3, t2 = []) { 716 + return this.inlineQueue.push({ src: e3, tokens: t2 }), t2; 717 + } 718 + inlineTokens(e3, t2 = []) { 719 + let n = e3, r = null; 720 + if (this.tokens.links) { 721 + let o2 = Object.keys(this.tokens.links); 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 + } 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 + let i3; 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 + n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n; 728 + let s = false, a = ""; 729 + for (; e3; ) { 730 + s || (a = ""), s = false; 731 + let o2; 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 + if (o2 = this.tokenizer.escape(e3)) { 734 + e3 = e3.substring(o2.raw.length), t2.push(o2); 735 + continue; 736 + } 737 + if (o2 = this.tokenizer.tag(e3)) { 738 + e3 = e3.substring(o2.raw.length), t2.push(o2); 739 + continue; 740 + } 741 + if (o2 = this.tokenizer.link(e3)) { 742 + e3 = e3.substring(o2.raw.length), t2.push(o2); 743 + continue; 744 + } 745 + if (o2 = this.tokenizer.reflink(e3, this.tokens.links)) { 746 + e3 = e3.substring(o2.raw.length); 747 + let p = t2.at(-1); 748 + o2.type === "text" && p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2); 749 + continue; 750 + } 751 + if (o2 = this.tokenizer.emStrong(e3, n, a)) { 752 + e3 = e3.substring(o2.raw.length), t2.push(o2); 753 + continue; 754 + } 755 + if (o2 = this.tokenizer.codespan(e3)) { 756 + e3 = e3.substring(o2.raw.length), t2.push(o2); 757 + continue; 758 + } 759 + if (o2 = this.tokenizer.br(e3)) { 760 + e3 = e3.substring(o2.raw.length), t2.push(o2); 761 + continue; 762 + } 763 + if (o2 = this.tokenizer.del(e3, n, a)) { 764 + e3 = e3.substring(o2.raw.length), t2.push(o2); 765 + continue; 766 + } 767 + if (o2 = this.tokenizer.autolink(e3)) { 768 + e3 = e3.substring(o2.raw.length), t2.push(o2); 769 + continue; 770 + } 771 + if (!this.state.inLink && (o2 = this.tokenizer.url(e3))) { 772 + e3 = e3.substring(o2.raw.length), t2.push(o2); 773 + continue; 774 + } 775 + let l = e3; 776 + if (this.options.extensions?.startInline) { 777 + let p = 1 / 0, c = e3.slice(1), d; 778 + this.options.extensions.startInline.forEach((h) => { 779 + d = h.call({ lexer: this }, c), typeof d == "number" && d >= 0 && (p = Math.min(p, d)); 780 + }), p < 1 / 0 && p >= 0 && (l = e3.substring(0, p + 1)); 781 + } 782 + if (o2 = this.tokenizer.inlineText(l)) { 783 + e3 = e3.substring(o2.raw.length), o2.raw.slice(-1) !== "_" && (a = o2.raw.slice(-1)), s = true; 784 + let p = t2.at(-1); 785 + p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2); 786 + continue; 787 + } 788 + if (e3) { 789 + let p = "Infinite loop on byte: " + e3.charCodeAt(0); 790 + if (this.options.silent) { 791 + console.error(p); 792 + break; 793 + } else throw new Error(p); 794 + } 795 + } 796 + return t2; 797 + } 798 + }; 799 + var y = class { 800 + static { 801 + __name(this, "y"); 802 + } 803 + options; 804 + parser; 805 + constructor(e3) { 806 + this.options = e3 || T2; 807 + } 808 + space(e3) { 809 + return ""; 810 + } 811 + code({ text: e3, lang: t2, escaped: n }) { 812 + let r = (t2 || "").match(m.notSpaceStart)?.[0], i3 = e3.replace(m.endingNewline, "") + ` 813 + `; 814 + return r ? '<pre><code class="language-' + O(r) + '">' + (n ? i3 : O(i3, true)) + `</code></pre> 815 + ` : "<pre><code>" + (n ? i3 : O(i3, true)) + `</code></pre> 816 + `; 817 + } 818 + blockquote({ tokens: e3 }) { 819 + return `<blockquote> 820 + ${this.parser.parse(e3)}</blockquote> 821 + `; 822 + } 823 + html({ text: e3 }) { 824 + return e3; 825 + } 826 + def(e3) { 827 + return ""; 828 + } 829 + heading({ tokens: e3, depth: t2 }) { 830 + return `<h${t2}>${this.parser.parseInline(e3)}</h${t2}> 831 + `; 832 + } 833 + hr(e3) { 834 + return `<hr> 835 + `; 836 + } 837 + list(e3) { 838 + let t2 = e3.ordered, n = e3.start, r = ""; 839 + for (let a = 0; a < e3.items.length; a++) { 840 + let o2 = e3.items[a]; 841 + r += this.listitem(o2); 842 + } 843 + let i3 = t2 ? "ol" : "ul", s = t2 && n !== 1 ? ' start="' + n + '"' : ""; 844 + return "<" + i3 + s + `> 845 + ` + r + "</" + i3 + `> 846 + `; 847 + } 848 + listitem(e3) { 849 + return `<li>${this.parser.parse(e3.tokens)}</li> 850 + `; 851 + } 852 + checkbox({ checked: e3 }) { 853 + return "<input " + (e3 ? 'checked="" ' : "") + 'disabled="" type="checkbox"> '; 854 + } 855 + paragraph({ tokens: e3 }) { 856 + return `<p>${this.parser.parseInline(e3)}</p> 857 + `; 858 + } 859 + table(e3) { 860 + let t2 = "", n = ""; 861 + for (let i3 = 0; i3 < e3.header.length; i3++) n += this.tablecell(e3.header[i3]); 862 + t2 += this.tablerow({ text: n }); 863 + let r = ""; 864 + for (let i3 = 0; i3 < e3.rows.length; i3++) { 865 + let s = e3.rows[i3]; 866 + n = ""; 867 + for (let a = 0; a < s.length; a++) n += this.tablecell(s[a]); 868 + r += this.tablerow({ text: n }); 869 + } 870 + return r && (r = `<tbody>${r}</tbody>`), `<table> 871 + <thead> 872 + ` + t2 + `</thead> 873 + ` + r + `</table> 874 + `; 875 + } 876 + tablerow({ text: e3 }) { 877 + return `<tr> 878 + ${e3}</tr> 879 + `; 880 + } 881 + tablecell(e3) { 882 + let t2 = this.parser.parseInline(e3.tokens), n = e3.header ? "th" : "td"; 883 + return (e3.align ? `<${n} align="${e3.align}">` : `<${n}>`) + t2 + `</${n}> 884 + `; 885 + } 886 + strong({ tokens: e3 }) { 887 + return `<strong>${this.parser.parseInline(e3)}</strong>`; 888 + } 889 + em({ tokens: e3 }) { 890 + return `<em>${this.parser.parseInline(e3)}</em>`; 891 + } 892 + codespan({ text: e3 }) { 893 + return `<code>${O(e3, true)}</code>`; 894 + } 895 + br(e3) { 896 + return "<br>"; 897 + } 898 + del({ tokens: e3 }) { 899 + return `<del>${this.parser.parseInline(e3)}</del>`; 900 + } 901 + link({ href: e3, title: t2, tokens: n }) { 902 + let r = this.parser.parseInline(n), i3 = X(e3); 903 + if (i3 === null) return r; 904 + e3 = i3; 905 + let s = '<a href="' + e3 + '"'; 906 + return t2 && (s += ' title="' + O(t2) + '"'), s += ">" + r + "</a>", s; 907 + } 908 + image({ href: e3, title: t2, text: n, tokens: r }) { 909 + r && (n = this.parser.parseInline(r, this.parser.textRenderer)); 910 + let i3 = X(e3); 911 + if (i3 === null) return O(n); 912 + e3 = i3; 913 + let s = `<img src="${e3}" alt="${O(n)}"`; 914 + return t2 && (s += ` title="${O(t2)}"`), s += ">", s; 915 + } 916 + text(e3) { 917 + return "tokens" in e3 && e3.tokens ? this.parser.parseInline(e3.tokens) : "escaped" in e3 && e3.escaped ? e3.text : O(e3.text); 918 + } 919 + }; 920 + var $ = class { 921 + static { 922 + __name(this, "$"); 923 + } 924 + strong({ text: e3 }) { 925 + return e3; 926 + } 927 + em({ text: e3 }) { 928 + return e3; 929 + } 930 + codespan({ text: e3 }) { 931 + return e3; 932 + } 933 + del({ text: e3 }) { 934 + return e3; 935 + } 936 + html({ text: e3 }) { 937 + return e3; 938 + } 939 + text({ text: e3 }) { 940 + return e3; 941 + } 942 + link({ text: e3 }) { 943 + return "" + e3; 944 + } 945 + image({ text: e3 }) { 946 + return "" + e3; 947 + } 948 + br() { 949 + return ""; 950 + } 951 + checkbox({ raw: e3 }) { 952 + return e3; 953 + } 954 + }; 955 + var b = class u2 { 956 + static { 957 + __name(this, "u"); 958 + } 959 + options; 960 + renderer; 961 + textRenderer; 962 + constructor(e3) { 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 + } 965 + static parse(e3, t2) { 966 + return new u2(t2).parse(e3); 967 + } 968 + static parseInline(e3, t2) { 969 + return new u2(t2).parseInline(e3); 970 + } 971 + parse(e3) { 972 + let t2 = ""; 973 + for (let n = 0; n < e3.length; n++) { 974 + let r = e3[n]; 975 + if (this.options.extensions?.renderers?.[r.type]) { 976 + let s = r, a = this.options.extensions.renderers[s.type].call({ parser: this }, s); 977 + if (a !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(s.type)) { 978 + t2 += a || ""; 979 + continue; 980 + } 981 + } 982 + let i3 = r; 983 + switch (i3.type) { 984 + case "space": { 985 + t2 += this.renderer.space(i3); 986 + break; 987 + } 988 + case "hr": { 989 + t2 += this.renderer.hr(i3); 990 + break; 991 + } 992 + case "heading": { 993 + t2 += this.renderer.heading(i3); 994 + break; 995 + } 996 + case "code": { 997 + t2 += this.renderer.code(i3); 998 + break; 999 + } 1000 + case "table": { 1001 + t2 += this.renderer.table(i3); 1002 + break; 1003 + } 1004 + case "blockquote": { 1005 + t2 += this.renderer.blockquote(i3); 1006 + break; 1007 + } 1008 + case "list": { 1009 + t2 += this.renderer.list(i3); 1010 + break; 1011 + } 1012 + case "checkbox": { 1013 + t2 += this.renderer.checkbox(i3); 1014 + break; 1015 + } 1016 + case "html": { 1017 + t2 += this.renderer.html(i3); 1018 + break; 1019 + } 1020 + case "def": { 1021 + t2 += this.renderer.def(i3); 1022 + break; 1023 + } 1024 + case "paragraph": { 1025 + t2 += this.renderer.paragraph(i3); 1026 + break; 1027 + } 1028 + case "text": { 1029 + t2 += this.renderer.text(i3); 1030 + break; 1031 + } 1032 + default: { 1033 + let s = 'Token with "' + i3.type + '" type was not found.'; 1034 + if (this.options.silent) return console.error(s), ""; 1035 + throw new Error(s); 1036 + } 1037 + } 1038 + } 1039 + return t2; 1040 + } 1041 + parseInline(e3, t2 = this.renderer) { 1042 + let n = ""; 1043 + for (let r = 0; r < e3.length; r++) { 1044 + let i3 = e3[r]; 1045 + if (this.options.extensions?.renderers?.[i3.type]) { 1046 + let a = this.options.extensions.renderers[i3.type].call({ parser: this }, i3); 1047 + if (a !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i3.type)) { 1048 + n += a || ""; 1049 + continue; 1050 + } 1051 + } 1052 + let s = i3; 1053 + switch (s.type) { 1054 + case "escape": { 1055 + n += t2.text(s); 1056 + break; 1057 + } 1058 + case "html": { 1059 + n += t2.html(s); 1060 + break; 1061 + } 1062 + case "link": { 1063 + n += t2.link(s); 1064 + break; 1065 + } 1066 + case "image": { 1067 + n += t2.image(s); 1068 + break; 1069 + } 1070 + case "checkbox": { 1071 + n += t2.checkbox(s); 1072 + break; 1073 + } 1074 + case "strong": { 1075 + n += t2.strong(s); 1076 + break; 1077 + } 1078 + case "em": { 1079 + n += t2.em(s); 1080 + break; 1081 + } 1082 + case "codespan": { 1083 + n += t2.codespan(s); 1084 + break; 1085 + } 1086 + case "br": { 1087 + n += t2.br(s); 1088 + break; 1089 + } 1090 + case "del": { 1091 + n += t2.del(s); 1092 + break; 1093 + } 1094 + case "text": { 1095 + n += t2.text(s); 1096 + break; 1097 + } 1098 + default: { 1099 + let a = 'Token with "' + s.type + '" type was not found.'; 1100 + if (this.options.silent) return console.error(a), ""; 1101 + throw new Error(a); 1102 + } 1103 + } 1104 + } 1105 + return n; 1106 + } 1107 + }; 1108 + var P = class { 1109 + static { 1110 + __name(this, "P"); 1111 + } 1112 + options; 1113 + block; 1114 + constructor(e3) { 1115 + this.options = e3 || T2; 1116 + } 1117 + static passThroughHooks = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]); 1118 + static passThroughHooksRespectAsync = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"]); 1119 + preprocess(e3) { 1120 + return e3; 1121 + } 1122 + postprocess(e3) { 1123 + return e3; 1124 + } 1125 + processAllTokens(e3) { 1126 + return e3; 1127 + } 1128 + emStrongMask(e3) { 1129 + return e3; 1130 + } 1131 + provideLexer() { 1132 + return this.block ? x.lex : x.lexInline; 1133 + } 1134 + provideParser() { 1135 + return this.block ? b.parse : b.parseInline; 1136 + } 1137 + }; 1138 + var B2 = class { 1139 + static { 1140 + __name(this, "B"); 1141 + } 1142 + defaults = M(); 1143 + options = this.setOptions; 1144 + parse = this.parseMarkdown(true); 1145 + parseInline = this.parseMarkdown(false); 1146 + Parser = b; 1147 + Renderer = y; 1148 + TextRenderer = $; 1149 + Lexer = x; 1150 + Tokenizer = w; 1151 + Hooks = P; 1152 + constructor(...e3) { 1153 + this.use(...e3); 1154 + } 1155 + walkTokens(e3, t2) { 1156 + let n = []; 1157 + for (let r of e3) switch (n = n.concat(t2.call(this, r)), r.type) { 1158 + case "table": { 1159 + let i3 = r; 1160 + for (let s of i3.header) n = n.concat(this.walkTokens(s.tokens, t2)); 1161 + for (let s of i3.rows) for (let a of s) n = n.concat(this.walkTokens(a.tokens, t2)); 1162 + break; 1163 + } 1164 + case "list": { 1165 + let i3 = r; 1166 + n = n.concat(this.walkTokens(i3.items, t2)); 1167 + break; 1168 + } 1169 + default: { 1170 + let i3 = r; 1171 + this.defaults.extensions?.childTokens?.[i3.type] ? this.defaults.extensions.childTokens[i3.type].forEach((s) => { 1172 + let a = i3[s].flat(1 / 0); 1173 + n = n.concat(this.walkTokens(a, t2)); 1174 + }) : i3.tokens && (n = n.concat(this.walkTokens(i3.tokens, t2))); 1175 + } 1176 + } 1177 + return n; 1178 + } 1179 + use(...e3) { 1180 + let t2 = this.defaults.extensions || { renderers: {}, childTokens: {} }; 1181 + return e3.forEach((n) => { 1182 + let r = { ...n }; 1183 + if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i3) => { 1184 + if (!i3.name) throw new Error("extension name required"); 1185 + if ("renderer" in i3) { 1186 + let s = t2.renderers[i3.name]; 1187 + s ? t2.renderers[i3.name] = function(...a) { 1188 + let o2 = i3.renderer.apply(this, a); 1189 + return o2 === false && (o2 = s.apply(this, a)), o2; 1190 + } : t2.renderers[i3.name] = i3.renderer; 1191 + } 1192 + if ("tokenizer" in i3) { 1193 + if (!i3.level || i3.level !== "block" && i3.level !== "inline") throw new Error("extension level must be 'block' or 'inline'"); 1194 + let s = t2[i3.level]; 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 + } 1197 + "childTokens" in i3 && i3.childTokens && (t2.childTokens[i3.name] = i3.childTokens); 1198 + }), r.extensions = t2), n.renderer) { 1199 + let i3 = this.defaults.renderer || new y(this.defaults); 1200 + for (let s in n.renderer) { 1201 + if (!(s in i3)) throw new Error(`renderer '${s}' does not exist`); 1202 + if (["options", "parser"].includes(s)) continue; 1203 + let a = s, o2 = n.renderer[a], l = i3[a]; 1204 + i3[a] = (...p) => { 1205 + let c = o2.apply(i3, p); 1206 + return c === false && (c = l.apply(i3, p)), c || ""; 1207 + }; 1208 + } 1209 + r.renderer = i3; 1210 + } 1211 + if (n.tokenizer) { 1212 + let i3 = this.defaults.tokenizer || new w(this.defaults); 1213 + for (let s in n.tokenizer) { 1214 + if (!(s in i3)) throw new Error(`tokenizer '${s}' does not exist`); 1215 + if (["options", "rules", "lexer"].includes(s)) continue; 1216 + let a = s, o2 = n.tokenizer[a], l = i3[a]; 1217 + i3[a] = (...p) => { 1218 + let c = o2.apply(i3, p); 1219 + return c === false && (c = l.apply(i3, p)), c; 1220 + }; 1221 + } 1222 + r.tokenizer = i3; 1223 + } 1224 + if (n.hooks) { 1225 + let i3 = this.defaults.hooks || new P(); 1226 + for (let s in n.hooks) { 1227 + if (!(s in i3)) throw new Error(`hook '${s}' does not exist`); 1228 + if (["options", "block"].includes(s)) continue; 1229 + let a = s, o2 = n.hooks[a], l = i3[a]; 1230 + P.passThroughHooks.has(s) ? i3[a] = (p) => { 1231 + if (this.defaults.async && P.passThroughHooksRespectAsync.has(s)) return (async () => { 1232 + let d = await o2.call(i3, p); 1233 + return l.call(i3, d); 1234 + })(); 1235 + let c = o2.call(i3, p); 1236 + return l.call(i3, c); 1237 + } : i3[a] = (...p) => { 1238 + if (this.defaults.async) return (async () => { 1239 + let d = await o2.apply(i3, p); 1240 + return d === false && (d = await l.apply(i3, p)), d; 1241 + })(); 1242 + let c = o2.apply(i3, p); 1243 + return c === false && (c = l.apply(i3, p)), c; 1244 + }; 1245 + } 1246 + r.hooks = i3; 1247 + } 1248 + if (n.walkTokens) { 1249 + let i3 = this.defaults.walkTokens, s = n.walkTokens; 1250 + r.walkTokens = function(a) { 1251 + let o2 = []; 1252 + return o2.push(s.call(this, a)), i3 && (o2 = o2.concat(i3.call(this, a))), o2; 1253 + }; 1254 + } 1255 + this.defaults = { ...this.defaults, ...r }; 1256 + }), this; 1257 + } 1258 + setOptions(e3) { 1259 + return this.defaults = { ...this.defaults, ...e3 }, this; 1260 + } 1261 + lexer(e3, t2) { 1262 + return x.lex(e3, t2 ?? this.defaults); 1263 + } 1264 + parser(e3, t2) { 1265 + return b.parse(e3, t2 ?? this.defaults); 1266 + } 1267 + parseMarkdown(e3) { 1268 + return (n, r) => { 1269 + let i3 = { ...r }, s = { ...this.defaults, ...i3 }, a = this.onError(!!s.silent, !!s.async); 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 + if (typeof n > "u" || n === null) return a(new Error("marked(): input parameter is undefined or null")); 1272 + if (typeof n != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected")); 1273 + if (s.hooks && (s.hooks.options = s, s.hooks.block = e3), s.async) return (async () => { 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 + s.walkTokens && await Promise.all(this.walkTokens(c, s.walkTokens)); 1276 + let h = await (s.hooks ? await s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(c, s); 1277 + return s.hooks ? await s.hooks.postprocess(h) : h; 1278 + })().catch(a); 1279 + try { 1280 + s.hooks && (n = s.hooks.preprocess(n)); 1281 + let l = (s.hooks ? s.hooks.provideLexer() : e3 ? x.lex : x.lexInline)(n, s); 1282 + s.hooks && (l = s.hooks.processAllTokens(l)), s.walkTokens && this.walkTokens(l, s.walkTokens); 1283 + let c = (s.hooks ? s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(l, s); 1284 + return s.hooks && (c = s.hooks.postprocess(c)), c; 1285 + } catch (o2) { 1286 + return a(o2); 1287 + } 1288 + }; 1289 + } 1290 + onError(e3, t2) { 1291 + return (n) => { 1292 + if (n.message += ` 1293 + Please report this to https://github.com/markedjs/marked.`, e3) { 1294 + let r = "<p>An error occurred:</p><pre>" + O(n.message + "", true) + "</pre>"; 1295 + return t2 ? Promise.resolve(r) : r; 1296 + } 1297 + if (t2) return Promise.reject(n); 1298 + throw n; 1299 + }; 1300 + } 1301 + }; 1302 + var L = new B2(); 1303 + function g(u3, e3) { 1304 + return L.parse(u3, e3); 1305 + } 1306 + __name(g, "g"); 1307 + g.options = g.setOptions = function(u3) { 1308 + return L.setOptions(u3), g.defaults = L.defaults, H(g.defaults), g; 1309 + }; 1310 + g.getDefaults = M; 1311 + g.defaults = T2; 1312 + g.use = function(...u3) { 1313 + return L.use(...u3), g.defaults = L.defaults, H(g.defaults), g; 1314 + }; 1315 + g.walkTokens = function(u3, e3) { 1316 + return L.walkTokens(u3, e3); 1317 + }; 1318 + g.parseInline = L.parseInline; 1319 + g.Parser = b; 1320 + g.parser = b.parse; 1321 + g.Renderer = y; 1322 + g.TextRenderer = $; 1323 + g.Lexer = x; 1324 + g.lexer = x.lex; 1325 + g.Tokenizer = w; 1326 + g.Hooks = P; 1327 + g.parse = g; 1328 + var Ut = g.options; 1329 + var Kt = g.setOptions; 1330 + var Wt = g.use; 1331 + var Xt = g.walkTokens; 1332 + var Jt = g.parseInline; 1333 + var Yt = b.parse; 1334 + var en = x.lex; 1335 + 1336 + // ../node_modules/.deno/lit-html@3.3.2/node_modules/lit-html/node/directives/unsafe-html.js 1337 + init_Buffer(); 1338 + init_process(); 1339 + var e2 = class extends i { 1340 + static { 1341 + __name(this, "e"); 1342 + } 1343 + constructor(i3) { 1344 + if (super(i3), this.it = A, i3.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings"); 1345 + } 1346 + render(r) { 1347 + if (r === A || null == r) return this._t = void 0, this.it = r; 1348 + if (r === E) return r; 1349 + if ("string" != typeof r) throw Error(this.constructor.directiveName + "() called with a non-string value"); 1350 + if (r === this.it) return this._t; 1351 + this.it = r; 1352 + const s = [r]; 1353 + return s.raw = s, this._t = { _$litType$: this.constructor.resultType, strings: s, values: [] }; 1354 + } 1355 + }; 1356 + e2.directiveName = "unsafeHTML", e2.resultType = 1; 1357 + var o = e(e2); 1358 + 1359 + // facets/index.js 1360 + document.body.addEventListener( 1361 + "click", 1362 + /** 1363 + * @param {MouseEvent} event 1364 + */ 1365 + async (event) => { 1366 + const target = ( 1367 + /** @type {HTMLElement} */ 1368 + event.target 1369 + ); 1370 + const rel = target.getAttribute("rel"); 1371 + if (!rel) return; 1372 + const uri = target.closest("li")?.getAttribute("data-uri"); 1373 + if (!uri) return; 1374 + const name = target.closest("li")?.getAttribute("data-name"); 1375 + if (!name) return; 1376 + switch (rel) { 1377 + case "fork": { 1378 + const facet = await facetFromURI({ name, uri }, { fetchHTML: true }); 1379 + editFacet(facet); 1380 + document.querySelector("#build")?.scrollIntoView(); 1381 + break; 1382 + } 1383 + case "save": { 1384 + const facet = await facetFromURI({ name, uri }, { fetchHTML: false }); 1385 + const out = foundation_default.orchestrator.output(); 1386 + out.facets.save([ 1387 + ...out.facets.collection(), 1388 + facet 1389 + ]); 1390 + break; 1391 + } 1392 + } 1393 + } 1394 + ); 1395 + var listEl = document.querySelector("#list"); 1396 + if (!listEl) throw new Error("List element not found"); 1397 + var output = foundation_default.orchestrator.output(); 1398 + listEl.innerHTML = ""; 1399 + effect(() => { 1400 + const col = output.facets.collection().sort((a, b2) => { 1401 + return a.name.toLocaleLowerCase().localeCompare(b2.name.toLocaleLowerCase()); 1402 + }); 1403 + const state = output.facets.state(); 1404 + const h = col.length && state === "loaded" ? T` 1405 + <ul> 1406 + ${col.map( 1407 + (c) => i2( 1408 + c.id, 1409 + T` 1410 + <li> 1411 + <div style="position: relative;"> 1412 + <a href="facets/l/?id=${c.id}"> 1413 + ${c.name} 1414 + </a> 1415 + <button 1416 + class="button--fixed button--transparent" 1417 + popovertarget="facet-menu-col-${c.id}" 1418 + style="anchor-name: --facet-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);" 1419 + > 1420 + <i class="ph-fill ph-dots-three-circle"></i> 1421 + </button> 1422 + </div> 1423 + <div class="list-description"> 1424 + <div> 1425 + ${c.description?.trim().length ? o( 1426 + g.parse(c.description, { async: false }) 1427 + ) : A} 1428 + </div> 1429 + <div> 1430 + ${c.uri && !c.html ? T` 1431 + <span class="with-icon"> 1432 + <i class="ph-fill ph-binoculars"></i> 1433 + <span>Tracking the original <a href="${c.uri}">URI</a></span> 1434 + </span> 1435 + ` : T` 1436 + <span class="with-icon"> 1437 + <i class="ph-fill ph-code"></i> 1438 + <span>Custom code</span> 1439 + </span> 1440 + `} 1441 + </div> 1442 + </div> 1443 + 1444 + <!-- Dropdown Menu --> 1445 + <div 1446 + id="facet-menu-col-${c.id}" 1447 + class="dropdown" 1448 + style="position-anchor: --facet-anchor-col-${c.id}" 1449 + popover 1450 + > 1451 + <a href="facets/l/?id=${c.id}"> 1452 + <span class="with-icon"> 1453 + <i class="ph-fill ph-globe"></i> Open 1454 + </span> 1455 + </a> 1456 + <a @click="${() => editFacet(c)}"> 1457 + <span class="with-icon"> 1458 + <i class="ph-fill ph-cursor-text"></i> Edit 1459 + </span> 1460 + </a> 1461 + <a @click="${deleteFacet({ id: c.id })}"> 1462 + <span class="with-icon"> 1463 + <i class="ph-fill ph-eraser"></i> Delete 1464 + </span> 1465 + </a> 1466 + </div> 1467 + </li> 1468 + ` 1469 + ) 1470 + )} 1471 + </ul> 1472 + ` : state === "loaded" ? emptyFacetsList : T` 1473 + <div class="with-icon" style="font-size: var(--fs-sm);"> 1474 + <i class="ph-bold ph-spinner-gap"></i> 1475 + Loading items 1476 + </div> 1477 + `; 1478 + B(h, listEl); 1479 + }); 1480 + var emptyFacetsList = T` 1481 + <p style="margin-bottom: 0;"> 1482 + <i class="ph-fill ph-info"></i> You have not saved any facets yet. 1483 + </p> 1484 + `; 1485 + function deleteFacet({ id }) { 1486 + return () => { 1487 + const c = confirm("Are you sure you want to delete this facet?"); 1488 + if (!c) return; 1489 + output.facets.save( 1490 + output.facets.collection().filter((c2) => !(c2.id === id)) 1491 + ); 1492 + }; 1493 + } 1494 + __name(deleteFacet, "deleteFacet"); 1495 + var $editingFacet = signal( 1496 + /** @type {Facet | null} */ 1497 + null 1498 + ); 1499 + var editorContainer = document.body.querySelector("#html-input-container"); 1500 + if (!editorContainer) throw new Error("Editor container not found"); 1501 + var editor = new EditorView({ 1502 + parent: editorContainer, 1503 + doc: ` 1504 + <main> 1505 + <h1 id="now-playing"> 1506 + Waiting on tracks &amp; queue to load ... 1507 + </h1> 1508 + </main> 1509 + 1510 + <style> 1511 + @import "./styles/base.css"; 1512 + @import "./styles/diffuse/page.css"; 1513 + </style> 1514 + 1515 + <script type="module"> 1516 + import foundation from "./common/facets/foundation.js"; 1517 + import { effect } from "./common/signal.js"; 1518 + 1519 + const components = foundation.features.fillQueueAutomatically(); 1520 + const myHtmlElement = document.querySelector("#now-playing"); 1521 + 1522 + effect(() => { 1523 + const now = components.engine.queue.now(); 1524 + const currentlyPlaying = now ? components.orchestrator.output.tracks.collection().find(t => t.id === now.id) : undefined; 1525 + if (currentlyPlaying && myHtmlElement) { 1526 + myHtmlElement.innerText = \`\${currentlyPlaying.tags.artist} - \${currentlyPlaying.tags.title}\`; 1527 + } 1528 + }) 1529 + <\/script> 1530 + `.trim(), 1531 + extensions: [ 1532 + basicSetup, 1533 + html(), 1534 + css(), 1535 + javascript(), 1536 + autocompletion() 1537 + ] 1538 + }); 1539 + document.querySelector("#build-form")?.addEventListener( 1540 + "submit", 1541 + onBuildSubmit 1542 + ); 1543 + async function onBuildSubmit(event) { 1544 + event.preventDefault(); 1545 + const nameEl = ( 1546 + /** @type {HTMLInputElement | null} */ 1547 + document.querySelector( 1548 + "#name-input" 1549 + ) 1550 + ); 1551 + const descriptionEl = ( 1552 + /** @type {HTMLTextAreaElement | null} */ 1553 + document.querySelector("#description-input") 1554 + ); 1555 + const html2 = editor.state.doc.toString(); 1556 + const cid = await create(85, new TextEncoder().encode(html2)); 1557 + const name = nameEl?.value ?? "nameless"; 1558 + const description = descriptionEl?.value ?? ""; 1559 + const facet = $editingFacet.value ? { 1560 + ...$editingFacet.value, 1561 + cid, 1562 + description, 1563 + html: html2, 1564 + name 1565 + } : { 1566 + $type: "sh.diffuse.output.facet", 1567 + id: now(), 1568 + cid, 1569 + description, 1570 + html: html2, 1571 + name 1572 + }; 1573 + switch ( 1574 + /** @type {any} */ 1575 + event.submitter.name 1576 + ) { 1577 + case "save": 1578 + await saveFacet(facet); 1579 + break; 1580 + case "save+open": 1581 + await saveFacet(facet); 1582 + globalThis.open(`./facets/l/?id=${facet.id}`, "blank"); 1583 + break; 1584 + } 1585 + } 1586 + __name(onBuildSubmit, "onBuildSubmit"); 1587 + async function editFacet(ogFacet) { 1588 + const facet = { ...ogFacet }; 1589 + const nameEl = ( 1590 + /** @type {HTMLInputElement | null} */ 1591 + document.querySelector( 1592 + "#name-input" 1593 + ) 1594 + ); 1595 + const descriptionEl = ( 1596 + /** @type {HTMLTextAreaElement | null} */ 1597 + document.querySelector("#description-input") 1598 + ); 1599 + if (!nameEl) return; 1600 + document.querySelector("#build")?.scrollIntoView(); 1601 + if (!facet.html && facet.uri) { 1602 + const html2 = await loadURI(facet.uri); 1603 + const cid = await create(85, new TextEncoder().encode(html2)); 1604 + facet.html = html2; 1605 + facet.cid = cid; 1606 + } 1607 + $editingFacet.value = facet; 1608 + nameEl.value = facet.name; 1609 + if (descriptionEl) { 1610 + descriptionEl.value = facet.description ?? ""; 1611 + } 1612 + editor.dispatch({ 1613 + changes: { from: 0, to: editor.state.doc.length, insert: facet.html } 1614 + }); 1615 + } 1616 + __name(editFacet, "editFacet"); 1617 + async function saveFacet(facet) { 1618 + const col = output.facets.collection(); 1619 + const colWithoutId = col.filter((c) => c.id !== facet.id); 1620 + await output.facets.save([...colWithoutId, { 1621 + ...facet, 1622 + updatedAt: (/* @__PURE__ */ new Date()).toISOString() 1623 + }]); 1624 + } 1625 + __name(saveFacet, "saveFacet"); 1626 + /*! Bundled license information: 1627 + 1628 + lit-html/node/directives/unsafe-html.js: 1629 + (** 1630 + * @license 1631 + * Copyright 2017 Google LLC 1632 + * SPDX-License-Identifier: BSD-3-Clause 1633 + *) 1634 + */ 1635 + 1636 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/index.js.map
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/facets/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/l/index.html
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/l/index.html
+86
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/l/index.js
··· 1 + import { 2 + foundation_default 3 + } from "../../chunk-H243HMAU.js"; 4 + import "../../chunk-UM3YGQCD.js"; 5 + import "../../chunk-5U6YGUSF.js"; 6 + import "../../chunk-JHKODV4C.js"; 7 + import "../../chunk-NC2PKDLJ.js"; 8 + import "../../chunk-LC5ADJPD.js"; 9 + import "../../chunk-DBY4UFCR.js"; 10 + import "../../chunk-5GF3RIXZ.js"; 11 + import "../../chunk-6LRCMOGT.js"; 12 + import "../../chunk-34FHQ3GB.js"; 13 + import "../../chunk-M7I6ARGE.js"; 14 + import "../../chunk-2HRMT4JN.js"; 15 + import "../../chunk-77N5LJ3L.js"; 16 + import "../../chunk-KIXJZP53.js"; 17 + import "../../chunk-T3L6UFWY.js"; 18 + import "../../chunk-IPJO7YD4.js"; 19 + import "../../chunk-Y6DMBYY7.js"; 20 + import "../../chunk-YZWL75VE.js"; 21 + import "../../chunk-NB2M3NWG.js"; 22 + import "../../chunk-JBHW662S.js"; 23 + import "../../chunk-GX3WPNEX.js"; 24 + import "../../chunk-226QQPVM.js"; 25 + import "../../chunk-HN4F5JEZ.js"; 26 + import "../../chunk-PTVB4Y37.js"; 27 + import "../../chunk-4MMRODUP.js"; 28 + import "../../chunk-F74HSTJN.js"; 29 + import "../../chunk-BUBM2UB3.js"; 30 + import "../../chunk-R3VDMJ43.js"; 31 + import "../../chunk-LQ2RJJ6P.js"; 32 + import "../../chunk-DDF5P57I.js"; 33 + import "../../chunk-EEUCFWD4.js"; 34 + import "../../chunk-6DRHTH2U.js"; 35 + import "../../chunk-HI6EUDY3.js"; 36 + import "../../chunk-CZYH5TCN.js"; 37 + import "../../chunk-OENN55R6.js"; 38 + import "../../chunk-UGE3FKYA.js"; 39 + import "../../chunk-52BFTJ3R.js"; 40 + import "../../chunk-E6H4GVL4.js"; 41 + import "../../chunk-J3RUTL7I.js"; 42 + import "../../chunk-52F6J3SQ.js"; 43 + import "../../chunk-G56PUJUJ.js"; 44 + import { 45 + createLoader 46 + } from "../../chunk-W3QCTPVZ.js"; 47 + import "../../chunk-WN6GL63Q.js"; 48 + import "../../chunk-CRZ7HJJ4.js"; 49 + import "../../chunk-242LG3VP.js"; 50 + import "../../chunk-LHSDDKDM.js"; 51 + import "../../chunk-IZOBPV2S.js"; 52 + import "../../chunk-4YB6QUPN.js"; 53 + import "../../chunk-SGR5ST3A.js"; 54 + import "../../chunk-6DKPDMFE.js"; 55 + import "../../chunk-TP5GZFTO.js"; 56 + import "../../chunk-ZQZJJU3T.js"; 57 + import { 58 + __name, 59 + init_Buffer, 60 + init_process 61 + } from "../../chunk-FZQXS3RE.js"; 62 + 63 + // facets/l/index.js 64 + init_Buffer(); 65 + init_process(); 66 + createLoader({ 67 + $type: "sh.diffuse.output.facet", 68 + label: "Facet", 69 + source: /* @__PURE__ */ __name(() => { 70 + const output = foundation_default.orchestrator.output(); 71 + return output.facets; 72 + }, "source"), 73 + render(facet) { 74 + const container = ( 75 + /** @type {HTMLDivElement} */ 76 + document.querySelector("#container") 77 + ); 78 + const range = document.createRange(); 79 + range.selectNode(container); 80 + const documentFragment = range.createContextualFragment(facet.html ?? ""); 81 + container.innerHTML = ""; 82 + container.append(documentFragment); 83 + } 84 + }); 85 + 86 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/l/index.js.map
··· 1 + ../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/facets/l/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/tools/auto-queue.html.txt
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/tools/auto-queue.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/facets/tools/v3-import.html.txt
··· 1 + ../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/facets/tools/v3-import.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/favicon-16x16.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-16x16.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/favicon-32x32.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-32x32.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/favicon.ico
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon.ico
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/fonts/CommitMonoVariable.woff2
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/fonts/CommitMonoVariable.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/fonts/InterVariable-Italic.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable-Italic.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/fonts/InterVariable.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/fonts/ms_sans_serif.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/fonts/ms_sans_serif_bold.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/1.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/1.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/10.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/10.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/11.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/11.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/12.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/12.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/13.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/13.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/14.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/14.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/15.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/15.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/16.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/16.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/17.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/17.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/18.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/18.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/19.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/19.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/2.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/2.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/20.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/20.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/21.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/21.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/22.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/22.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/23.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/23.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/24.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/24.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/25.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/25.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/26.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/26.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/27.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/27.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/28.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/28.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/29.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/29.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/3.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/3.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/30.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/30.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/4.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/4.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/5.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/5.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/6.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/6.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/7.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/7.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/8.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/8.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/9.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/9.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/1.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/1.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/10.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/10.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/11.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/11.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/12.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/12.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/13.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/13.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/14.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/14.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/15.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/15.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/16.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/16.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/17.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/17.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/18.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/18.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/19.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/19.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/2.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/2.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/20.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/20.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/21.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/21.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/22.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/22.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/23.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/23.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/24.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/24.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/25.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/25.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/26.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/26.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/27.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/27.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/28.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/28.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/29.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/29.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/3.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/3.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/30.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/30.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/4.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/4.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/5.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/5.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/6.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/6.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/7.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/7.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/8.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/8.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/background/thumbnails/9.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/9.jpg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse-current.svg
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/diffuse-current.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse-dark.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-dark.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse-grey.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-grey.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse-light.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-light.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse__icon-dark.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-dark.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse__icon-grey.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-grey.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/diffuse__icon-light.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-light.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icon-square-ws.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square-ws.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icon-square.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icon.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/catalog-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/catalog-1.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/cd_audio_cd_a-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/cd_audio_cd_a-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/cd_audio_cd_a-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/cd_audio_cd_a-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/cd_drive-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/cd_drive_purple-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive_purple-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/channels-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/channels-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/check-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/check-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/computer_sound-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_sound-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/computer_user_pencil-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_user_pencil-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/connected_world-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/connected_world-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_admin_tools-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_admin_tools-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-5.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_channels-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_channels-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_closed-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_closed-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_control_panel-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_control_panel-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_explorer-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_explorer-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-5.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_favorites-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_favorites-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_net_web-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_net_web-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_network_conn-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_network_conn-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-5.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/gears-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/gears-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/globe_map-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/globe_map-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/help_book_big-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/help_book_big-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/installer-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/installer_generic_old-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer_generic_old-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/loudspeaker_wave-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/loudspeaker_wave-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/magnifying_glass-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/magnifying_glass_4-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass_4-1.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/media_player-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/media_player_stream_no.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player_stream_no.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/ms_dos-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/ms_dos-1.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/msg_error-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_error-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/msg_information-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_information-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/msg_question-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_question-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/msg_warning-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_warning-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/multimedia-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/multimedia-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/network_drive_world-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/network_drive_world-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/no-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/no-1.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/restrict-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/restrict-1.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/search_computer-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_computer-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/search_server-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_server-1.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/search_web-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_web-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/settings_gear-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/settings_gear-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/tip.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/tip.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/utopia_smiley.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/utopia_smiley.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/winamp2-32x32.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/winamp2-32x32.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/windows-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/windows-0.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/world-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-2.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/world-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-4.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/images/icons/windows_98/world_network_directories-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world_network_directories-3.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/index.html
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/index.html
+135
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/index.js
··· 1 + import { 2 + GROUP 3 + } from "./chunk-H243HMAU.js"; 4 + import { 5 + element_default as element_default4 6 + } from "./chunk-UM3YGQCD.js"; 7 + import "./chunk-5U6YGUSF.js"; 8 + import "./chunk-JHKODV4C.js"; 9 + import "./chunk-NC2PKDLJ.js"; 10 + import "./chunk-LC5ADJPD.js"; 11 + import "./chunk-DBY4UFCR.js"; 12 + import "./chunk-5GF3RIXZ.js"; 13 + import "./chunk-6LRCMOGT.js"; 14 + import { 15 + element_default as element_default3 16 + } from "./chunk-34FHQ3GB.js"; 17 + import "./chunk-M7I6ARGE.js"; 18 + import "./chunk-2HRMT4JN.js"; 19 + import "./chunk-77N5LJ3L.js"; 20 + import "./chunk-KIXJZP53.js"; 21 + import { 22 + element_default as element_default5 23 + } from "./chunk-T3L6UFWY.js"; 24 + import "./chunk-IPJO7YD4.js"; 25 + import "./chunk-Y6DMBYY7.js"; 26 + import { 27 + element_default as element_default2 28 + } from "./chunk-YZWL75VE.js"; 29 + import "./chunk-NB2M3NWG.js"; 30 + import "./chunk-JBHW662S.js"; 31 + import "./chunk-GX3WPNEX.js"; 32 + import "./chunk-226QQPVM.js"; 33 + import "./chunk-HN4F5JEZ.js"; 34 + import "./chunk-PTVB4Y37.js"; 35 + import "./chunk-4MMRODUP.js"; 36 + import "./chunk-F74HSTJN.js"; 37 + import "./chunk-BUBM2UB3.js"; 38 + import "./chunk-R3VDMJ43.js"; 39 + import "./chunk-LQ2RJJ6P.js"; 40 + import "./chunk-DDF5P57I.js"; 41 + import "./chunk-EEUCFWD4.js"; 42 + import "./chunk-6DRHTH2U.js"; 43 + import "./chunk-HI6EUDY3.js"; 44 + import { 45 + element_default 46 + } from "./chunk-CZYH5TCN.js"; 47 + import "./chunk-OENN55R6.js"; 48 + import "./chunk-UGE3FKYA.js"; 49 + import "./chunk-52BFTJ3R.js"; 50 + import "./chunk-E6H4GVL4.js"; 51 + import "./chunk-J3RUTL7I.js"; 52 + import "./chunk-52F6J3SQ.js"; 53 + import "./chunk-G56PUJUJ.js"; 54 + import "./chunk-IZOBPV2S.js"; 55 + import "./chunk-SGR5ST3A.js"; 56 + import "./chunk-6DKPDMFE.js"; 57 + import "./chunk-TP5GZFTO.js"; 58 + import "./chunk-ZQZJJU3T.js"; 59 + import { 60 + __name, 61 + init_Buffer, 62 + init_process 63 + } from "./chunk-FZQXS3RE.js"; 64 + 65 + // index.js 66 + init_Buffer(); 67 + init_process(); 68 + var s3 = new element_default2(); 69 + var input = new element_default(); 70 + input.setAttribute("group", GROUP); 71 + input.append(s3); 72 + var output = new element_default3(); 73 + output.setAttribute("group", GROUP); 74 + var metadataProcessor = new element_default4(); 75 + metadataProcessor.setAttribute("group", GROUP); 76 + document.body.append(input, output, metadataProcessor); 77 + var pto = new element_default5(); 78 + pto.setAttribute("group", GROUP); 79 + pto.setAttribute("input-selector", input.selector); 80 + pto.setAttribute("output-selector", output.selector); 81 + pto.setAttribute("metadata-processor-selector", metadataProcessor.selector); 82 + document.body.append(pto); 83 + var addDemoBtn = document.querySelector("#add-sample-content"); 84 + async function addSampleContent() { 85 + if (!addDemoBtn) return; 86 + addDemoBtn.setAttribute("disabled", ""); 87 + addDemoBtn.innerHTML = `<span> 88 + <i class="ph-fill ph-hourglass-medium"></i> 89 + Adding source 90 + </span>`; 91 + const demo = await s3.demo(); 92 + const tracks = output.tracks.collection(); 93 + await output.tracks.save([...tracks, demo.track]); 94 + addDemoBtn.innerHTML = `<span> 95 + <i class="ph-fill ph-hourglass-medium"></i> 96 + Processing source 97 + </span>`; 98 + await pto.process(); 99 + addDemoBtn.innerHTML = `<span> 100 + <i class="ph-fill ph-check-fat"></i> Added 101 + </span>`; 102 + } 103 + __name(addSampleContent, "addSampleContent"); 104 + addDemoBtn?.addEventListener("click", addSampleContent); 105 + if (document.location.hostname.endsWith("diffuse.sh")) { 106 + document.querySelectorAll("#status").forEach(async (status) => { 107 + const versionOrCid = document.location.pathname.slice(1).split("/")[0]?.toLowerCase() ?? ""; 108 + const usesCid = versionOrCid.startsWith("bafy"); 109 + const { default: artifacts } = await import(`${document.location.origin}/artifacts.json`, { with: { type: "json" } }); 110 + const lastArtifact = Object.values(artifacts).reverse()[0]; 111 + const isLatest = usesCid ? versionOrCid === lastArtifact.cid : versionOrCid === lastArtifact.version; 112 + status.querySelectorAll(".ph-spinner").forEach((icon) => { 113 + icon.parentElement?.classList.add("hidden"); 114 + setTimeout(() => { 115 + icon.parentElement?.classList.remove("animate-spin"); 116 + icon.classList.remove("ph-spinner"); 117 + icon.classList.add("ph-arrow-fat-lines-up"); 118 + }, 500); 119 + }); 120 + status.querySelectorAll(`[href="/latest/"]`).forEach((a) => { 121 + if (usesCid) a.setAttribute("href", "/latest/hash/"); 122 + if (!isLatest) { 123 + setTimeout(() => { 124 + a.classList.remove("hidden"); 125 + }, 750); 126 + } 127 + }); 128 + }); 129 + } else { 130 + document.querySelectorAll("#status").forEach((status) => { 131 + status.remove(); 132 + }); 133 + } 134 + 135 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/index.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/mstile-150x150.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/mstile-150x150.png
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/node_crypto-QYMDOTAM.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/node_crypto-QYMDOTAM.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/oauth-client-metadata.json
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/oauth-client-metadata.json
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/oauth/callback/index.html
··· 1 + ../../../bafybeiauzef62425mum6ztycx7plxmceagc2pjl4uck4h2q6qjds3ahe2u/oauth/callback/index.html
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/oauth/callback/index.js
··· 1 + ../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/oauth/callback/index.js.map
··· 1 + ../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/safari-pinned-tab.svg
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/safari-pinned-tab.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/animations.css
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/animations.css.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/base.css
··· 1 + ../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/base.css.map
··· 1 + ../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/diffuse/colors.css
··· 1 + ../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/diffuse/colors.css.map
··· 1 + ../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/diffuse/fonts.css
··· 1 + ../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/diffuse/fonts.css.map
··· 1 + ../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/diffuse/page.css
··· 1 + ../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/diffuse/page.css.map
··· 1 + ../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/font-faces.css
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/font-faces.css.map
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/loader.css
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/loader.css.map
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/reset.css
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/reset.css.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/variables.css
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/variables.css.map
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/98.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/98.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/ms_sans_serif.woff2
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/ms_sans_serif_bold.woff2
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/bold/Phosphor-Bold.svg
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/bold/Phosphor-Bold.woff
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/bold/style.css
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/bold/style.css.map
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/fill/Phosphor-Fill.svg
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.svg
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/fill/Phosphor-Fill.woff
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/fill/style.css
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/vendor/phosphor/fill/style.css.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/wireframe/ui.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/styles/wireframe/ui.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/testing/index.html
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/index.html
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/testing/output.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/testing/output.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/testing/output.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/output.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/testing/output/index.html
··· 1 + ../../../bafybeic6tj6wx4iomrjs54m3je4e7lmq4jgcn7zqegufxtvqijffq32zkm/testing/output/index.html
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/testing/sample/tracks.js
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/testing/sample/tracks.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/artwork-controller/element.css
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/artwork-controller/element.css.map
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/artwork-controller/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/blur/artwork-controller/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/artwork-controller/element.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/blur/artwork-controller/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/artwork-controller/facet.html.txt
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/themes/blur/artwork-controller/facet.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/index.css
··· 1 + ../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/index.css.map
··· 1 + ../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/index.html
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/index.html
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/index.js
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/index.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/variables.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/blur/variables.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/index.html
··· 1 + ../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/themes/index.html
+307
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/index.js
··· 1 + import { 2 + EditorView, 3 + autocompletion, 4 + basicSetup, 5 + css, 6 + html, 7 + javascript 8 + } from "../chunk-T6JAPJ7J.js"; 9 + import { 10 + foundation_default 11 + } from "../chunk-H243HMAU.js"; 12 + import "../chunk-UM3YGQCD.js"; 13 + import "../chunk-5U6YGUSF.js"; 14 + import "../chunk-JHKODV4C.js"; 15 + import "../chunk-NC2PKDLJ.js"; 16 + import "../chunk-LC5ADJPD.js"; 17 + import "../chunk-DBY4UFCR.js"; 18 + import "../chunk-5GF3RIXZ.js"; 19 + import "../chunk-6LRCMOGT.js"; 20 + import "../chunk-34FHQ3GB.js"; 21 + import "../chunk-M7I6ARGE.js"; 22 + import "../chunk-2HRMT4JN.js"; 23 + import "../chunk-77N5LJ3L.js"; 24 + import "../chunk-KIXJZP53.js"; 25 + import "../chunk-T3L6UFWY.js"; 26 + import "../chunk-IPJO7YD4.js"; 27 + import "../chunk-Y6DMBYY7.js"; 28 + import "../chunk-YZWL75VE.js"; 29 + import "../chunk-NB2M3NWG.js"; 30 + import "../chunk-JBHW662S.js"; 31 + import "../chunk-GX3WPNEX.js"; 32 + import "../chunk-226QQPVM.js"; 33 + import "../chunk-HN4F5JEZ.js"; 34 + import "../chunk-PTVB4Y37.js"; 35 + import "../chunk-4MMRODUP.js"; 36 + import "../chunk-F74HSTJN.js"; 37 + import "../chunk-BUBM2UB3.js"; 38 + import "../chunk-R3VDMJ43.js"; 39 + import "../chunk-LQ2RJJ6P.js"; 40 + import "../chunk-DDF5P57I.js"; 41 + import "../chunk-EEUCFWD4.js"; 42 + import "../chunk-6DRHTH2U.js"; 43 + import "../chunk-HI6EUDY3.js"; 44 + import "../chunk-CZYH5TCN.js"; 45 + import "../chunk-OENN55R6.js"; 46 + import "../chunk-UGE3FKYA.js"; 47 + import "../chunk-52BFTJ3R.js"; 48 + import { 49 + i 50 + } from "../chunk-E6H4GVL4.js"; 51 + import "../chunk-J3RUTL7I.js"; 52 + import { 53 + B, 54 + T 55 + } from "../chunk-52F6J3SQ.js"; 56 + import "../chunk-G56PUJUJ.js"; 57 + import { 58 + themeFromURI 59 + } from "../chunk-5QN5IAQ5.js"; 60 + import { 61 + loadURI 62 + } from "../chunk-W3QCTPVZ.js"; 63 + import "../chunk-WN6GL63Q.js"; 64 + import "../chunk-CRZ7HJJ4.js"; 65 + import "../chunk-242LG3VP.js"; 66 + import { 67 + now 68 + } from "../chunk-LHSDDKDM.js"; 69 + import { 70 + effect, 71 + signal 72 + } from "../chunk-IZOBPV2S.js"; 73 + import { 74 + create 75 + } from "../chunk-4YB6QUPN.js"; 76 + import "../chunk-SGR5ST3A.js"; 77 + import "../chunk-6DKPDMFE.js"; 78 + import "../chunk-TP5GZFTO.js"; 79 + import "../chunk-ZQZJJU3T.js"; 80 + import { 81 + __name, 82 + init_Buffer, 83 + init_process 84 + } from "../chunk-FZQXS3RE.js"; 85 + 86 + // themes/index.js 87 + init_Buffer(); 88 + init_process(); 89 + document.body.addEventListener( 90 + "click", 91 + /** 92 + * @param {MouseEvent} event 93 + */ 94 + async (event) => { 95 + const target = ( 96 + /** @type {HTMLElement} */ 97 + event.target 98 + ); 99 + const rel = target.getAttribute("rel"); 100 + if (!rel) return; 101 + const uri = target.closest("li")?.getAttribute("data-uri"); 102 + if (!uri) return; 103 + const name = target.closest("li")?.getAttribute("data-name"); 104 + if (!name) return; 105 + switch (rel) { 106 + case "fork": { 107 + const theme = await themeFromURI({ name, uri }, { fetchHTML: true }); 108 + editTheme(theme); 109 + document.querySelector("#build")?.scrollIntoView(); 110 + break; 111 + } 112 + case "save": { 113 + const theme = await themeFromURI({ name, uri }, { fetchHTML: false }); 114 + const out = foundation_default.orchestrator.output(); 115 + out.themes.save([ 116 + ...out.themes.collection(), 117 + theme 118 + ]); 119 + break; 120 + } 121 + } 122 + } 123 + ); 124 + var listEl = document.querySelector("#list"); 125 + if (!listEl) throw new Error("List element not found"); 126 + listEl.innerHTML = ""; 127 + var output = foundation_default.orchestrator.output(); 128 + effect(() => { 129 + const col = output.themes.collection().sort((a, b) => { 130 + return a.name.toLocaleLowerCase().localeCompare(b.name.toLocaleLowerCase()); 131 + }); 132 + const state = output.themes.state(); 133 + const h = col.length && state === "loaded" ? T` 134 + <ul> 135 + ${col.map( 136 + (c) => i( 137 + c.id, 138 + T` 139 + <li> 140 + <div style="position: relative;"> 141 + <a href="themes/l/?id=${c.id}"> 142 + ${c.name} 143 + </a> 144 + <button 145 + class="button--fixed button--transparent" 146 + popovertarget="theme-menu-col-${c.id}" 147 + style="anchor-name: --theme-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);" 148 + > 149 + <i class="ph-fill ph-dots-three-circle"></i> 150 + </button> 151 + </div> 152 + <div class="list-description"> 153 + ${c.uri && !c.html ? T` 154 + <span class="with-icon"> 155 + <i class="ph-fill ph-binoculars"></i> 156 + <span>Tracking the original <a href="${c.uri}">URI</a></span> 157 + </span> 158 + ` : T` 159 + <span class="with-icon"> 160 + <i class="ph-fill ph-code"></i> 161 + <span>Custom code</span> 162 + </span> 163 + `} 164 + </div> 165 + 166 + <!-- Dropdown Menu --> 167 + <div 168 + id="theme-menu-col-${c.id}" 169 + class="dropdown" 170 + style="position-anchor: --theme-anchor-col-${c.id}" 171 + popover 172 + > 173 + <a href="themes/l/?id=${c.id}"> 174 + <span class="with-icon"> 175 + <i class="ph-fill ph-globe"></i> Open 176 + </span> 177 + </a> 178 + <a @click="${() => editTheme(c)}"> 179 + <span class="with-icon"> 180 + <i class="ph-fill ph-cursor-text"></i> Edit 181 + </span> 182 + </a> 183 + <a @click="${deleteTheme({ id: c.id })}"> 184 + <span class="with-icon"> 185 + <i class="ph-fill ph-eraser"></i> Delete 186 + </span> 187 + </a> 188 + </div> 189 + </li> 190 + ` 191 + ) 192 + )} 193 + </ul> 194 + ` : state === "loaded" ? emptyThemesList : T` 195 + <div class="with-icon" style="font-size: var(--fs-sm);"> 196 + <i class="ph-bold ph-spinner-gap"></i> 197 + Loading items 198 + </div> 199 + `; 200 + B(h, listEl); 201 + }); 202 + var emptyThemesList = T` 203 + <p style="margin-bottom: 0;"> 204 + <i class="ph-fill ph-info"></i> You have not saved any themes yet. 205 + </p> 206 + `; 207 + function deleteTheme({ id }) { 208 + return () => { 209 + const c = confirm("Are you sure you want to delete this theme?"); 210 + if (!c) return; 211 + output.themes.save( 212 + output.themes.collection().filter((c2) => !(c2.id === id)) 213 + ); 214 + }; 215 + } 216 + __name(deleteTheme, "deleteTheme"); 217 + var $editingTheme = signal( 218 + /** @type {Theme | null} */ 219 + null 220 + ); 221 + var editorContainer = document.body.querySelector("#html-input-container"); 222 + if (!editorContainer) throw new Error("Editor container not found"); 223 + var editor = new EditorView({ 224 + parent: editorContainer, 225 + doc: ``.trim(), 226 + extensions: [ 227 + basicSetup, 228 + html(), 229 + css(), 230 + javascript(), 231 + autocompletion() 232 + ] 233 + }); 234 + document.querySelector("#build-form")?.addEventListener( 235 + "submit", 236 + onBuildSubmit 237 + ); 238 + async function onBuildSubmit(event) { 239 + event.preventDefault(); 240 + const nameEl = ( 241 + /** @type {HTMLInputElement | null} */ 242 + document.querySelector( 243 + "#name-input" 244 + ) 245 + ); 246 + const html2 = editor.state.doc.toString(); 247 + const cid = await create(85, new TextEncoder().encode(html2)); 248 + const name = nameEl?.value ?? "nameless"; 249 + const theme = $editingTheme.value ? { 250 + ...$editingTheme.value, 251 + cid, 252 + html: html2, 253 + name 254 + } : { 255 + $type: "sh.diffuse.output.theme", 256 + id: now(), 257 + cid, 258 + html: html2, 259 + name 260 + }; 261 + switch ( 262 + /** @type {any} */ 263 + event.submitter.name 264 + ) { 265 + case "save": 266 + await saveTheme(theme); 267 + break; 268 + case "save+open": 269 + await saveTheme(theme); 270 + globalThis.open(`./themes/l/?id=${theme.id}`, "blank"); 271 + break; 272 + } 273 + } 274 + __name(onBuildSubmit, "onBuildSubmit"); 275 + async function editTheme(ogTheme) { 276 + const theme = { ...ogTheme }; 277 + const nameEl = ( 278 + /** @type {HTMLInputElement | null} */ 279 + document.querySelector( 280 + "#name-input" 281 + ) 282 + ); 283 + if (!nameEl) return; 284 + if (!theme.html && theme.uri) { 285 + const html2 = await loadURI(theme.uri); 286 + const cid = await create(85, new TextEncoder().encode(html2)); 287 + theme.html = html2; 288 + theme.cid = cid; 289 + } 290 + $editingTheme.value = theme; 291 + nameEl.value = theme.name; 292 + editor.dispatch({ 293 + changes: { from: 0, to: editor.state.doc.length, insert: theme.html } 294 + }); 295 + } 296 + __name(editTheme, "editTheme"); 297 + async function saveTheme(theme) { 298 + const col = output.themes.collection(); 299 + const colWithoutId = col.filter((c) => c.id !== theme.id); 300 + await output.themes.save([...colWithoutId, { 301 + ...theme, 302 + updatedAt: (/* @__PURE__ */ new Date()).toISOString() 303 + }]); 304 + } 305 + __name(saveTheme, "saveTheme"); 306 + 307 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/index.js.map
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/l/index.css
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/l/index.css.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/l/index.html
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/themes/l/index.html
+81
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/l/index.js
··· 1 + import { 2 + foundation_default 3 + } from "../../chunk-H243HMAU.js"; 4 + import "../../chunk-UM3YGQCD.js"; 5 + import "../../chunk-5U6YGUSF.js"; 6 + import "../../chunk-JHKODV4C.js"; 7 + import "../../chunk-NC2PKDLJ.js"; 8 + import "../../chunk-LC5ADJPD.js"; 9 + import "../../chunk-DBY4UFCR.js"; 10 + import "../../chunk-5GF3RIXZ.js"; 11 + import "../../chunk-6LRCMOGT.js"; 12 + import "../../chunk-34FHQ3GB.js"; 13 + import "../../chunk-M7I6ARGE.js"; 14 + import "../../chunk-2HRMT4JN.js"; 15 + import "../../chunk-77N5LJ3L.js"; 16 + import "../../chunk-KIXJZP53.js"; 17 + import "../../chunk-T3L6UFWY.js"; 18 + import "../../chunk-IPJO7YD4.js"; 19 + import "../../chunk-Y6DMBYY7.js"; 20 + import "../../chunk-YZWL75VE.js"; 21 + import "../../chunk-NB2M3NWG.js"; 22 + import "../../chunk-JBHW662S.js"; 23 + import "../../chunk-GX3WPNEX.js"; 24 + import "../../chunk-226QQPVM.js"; 25 + import "../../chunk-HN4F5JEZ.js"; 26 + import "../../chunk-PTVB4Y37.js"; 27 + import "../../chunk-4MMRODUP.js"; 28 + import "../../chunk-F74HSTJN.js"; 29 + import "../../chunk-BUBM2UB3.js"; 30 + import "../../chunk-R3VDMJ43.js"; 31 + import "../../chunk-LQ2RJJ6P.js"; 32 + import "../../chunk-DDF5P57I.js"; 33 + import "../../chunk-EEUCFWD4.js"; 34 + import "../../chunk-6DRHTH2U.js"; 35 + import "../../chunk-HI6EUDY3.js"; 36 + import "../../chunk-CZYH5TCN.js"; 37 + import "../../chunk-OENN55R6.js"; 38 + import "../../chunk-UGE3FKYA.js"; 39 + import "../../chunk-52BFTJ3R.js"; 40 + import "../../chunk-E6H4GVL4.js"; 41 + import "../../chunk-J3RUTL7I.js"; 42 + import "../../chunk-52F6J3SQ.js"; 43 + import "../../chunk-G56PUJUJ.js"; 44 + import { 45 + createLoader 46 + } from "../../chunk-W3QCTPVZ.js"; 47 + import "../../chunk-WN6GL63Q.js"; 48 + import "../../chunk-CRZ7HJJ4.js"; 49 + import "../../chunk-242LG3VP.js"; 50 + import "../../chunk-LHSDDKDM.js"; 51 + import "../../chunk-IZOBPV2S.js"; 52 + import "../../chunk-4YB6QUPN.js"; 53 + import "../../chunk-SGR5ST3A.js"; 54 + import "../../chunk-6DKPDMFE.js"; 55 + import "../../chunk-TP5GZFTO.js"; 56 + import "../../chunk-ZQZJJU3T.js"; 57 + import { 58 + __name, 59 + init_Buffer, 60 + init_process 61 + } from "../../chunk-FZQXS3RE.js"; 62 + 63 + // themes/l/index.js 64 + init_Buffer(); 65 + init_process(); 66 + createLoader({ 67 + $type: "sh.diffuse.output.theme", 68 + label: "Theme", 69 + source: /* @__PURE__ */ __name(() => { 70 + const output = foundation_default.orchestrator.output(); 71 + return output.themes; 72 + }, "source"), 73 + render(theme) { 74 + const iframe = document.createElement("iframe"); 75 + iframe.srcdoc = theme.html ?? ""; 76 + document.body.innerHTML = ""; 77 + document.body.append(iframe); 78 + } 79 + }); 80 + 81 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/l/index.js.map
··· 1 + ../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/l/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/98-extra.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/98-extra.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/98-vars.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/98-vars.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/browser/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/browser/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/browser/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/browser/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/browser/facet.html.txt
··· 1 + ../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/browser/facet.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/common/ui.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/common/ui.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/common/ui.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/common/ui.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/configurators/input/element.js
··· 1 + ../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/configurators/input/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/configurators/input/element.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/configurators/input/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/configurators/input/facet.html.txt
··· 1 + ../../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/configurators/input/facet.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/configurators/output/element.js
··· 1 + ../../../../../bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/output/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/configurators/output/element.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/configurators/output/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/configurators/output/facet.html.txt
··· 1 + ../../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/configurators/output/facet.html.txt
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/facet.css
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/facet.css.map
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/fonts.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/fonts.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/index.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/index.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/index.html
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.html
+188
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/index.js
··· 1 + import { 2 + element_default as element_default2 3 + } from "../../chunk-4GYGC4OZ.js"; 4 + import "../../chunk-2DJLRGI2.js"; 5 + import "../../chunk-CWBOQXH6.js"; 6 + import "../../chunk-XQ3APM6Z.js"; 7 + import "../../chunk-3CXPPL5Z.js"; 8 + import "../../chunk-EVQ6TWZV.js"; 9 + import { 10 + element_default 11 + } from "../../chunk-2E662X3X.js"; 12 + import "../../chunk-VBDBYJMS.js"; 13 + import "../../chunk-7XPM3FOM.js"; 14 + import "../../chunk-JH6MOGSD.js"; 15 + import "../../chunk-77ZY4GQV.js"; 16 + import "../../chunk-NZ7ODGIJ.js"; 17 + import "../../chunk-3QHZWZIL.js"; 18 + import "../../chunk-UM3YGQCD.js"; 19 + import { 20 + element_exports as element_exports3 21 + } from "../../chunk-5U6YGUSF.js"; 22 + import { 23 + element_exports as element_exports4 24 + } from "../../chunk-LC5ADJPD.js"; 25 + import "../../chunk-6LRCMOGT.js"; 26 + import "../../chunk-34FHQ3GB.js"; 27 + import "../../chunk-M7I6ARGE.js"; 28 + import "../../chunk-2HRMT4JN.js"; 29 + import "../../chunk-77N5LJ3L.js"; 30 + import "../../chunk-KIXJZP53.js"; 31 + import "../../chunk-T3L6UFWY.js"; 32 + import "../../chunk-Y6DMBYY7.js"; 33 + import "../../chunk-YZWL75VE.js"; 34 + import "../../chunk-NB2M3NWG.js"; 35 + import "../../chunk-JBHW662S.js"; 36 + import "../../chunk-GX3WPNEX.js"; 37 + import "../../chunk-226QQPVM.js"; 38 + import "../../chunk-HN4F5JEZ.js"; 39 + import "../../chunk-PTVB4Y37.js"; 40 + import { 41 + element_exports 42 + } from "../../chunk-4MMRODUP.js"; 43 + import "../../chunk-BUBM2UB3.js"; 44 + import "../../chunk-R3VDMJ43.js"; 45 + import "../../chunk-LQ2RJJ6P.js"; 46 + import "../../chunk-DDF5P57I.js"; 47 + import "../../chunk-EEUCFWD4.js"; 48 + import "../../chunk-6DRHTH2U.js"; 49 + import "../../chunk-HI6EUDY3.js"; 50 + import { 51 + element_exports as element_exports2 52 + } from "../../chunk-CZYH5TCN.js"; 53 + import "../../chunk-OENN55R6.js"; 54 + import "../../chunk-UGE3FKYA.js"; 55 + import "../../chunk-52BFTJ3R.js"; 56 + import { 57 + component 58 + } from "../../chunk-52F6J3SQ.js"; 59 + import "../../chunk-G56PUJUJ.js"; 60 + import "../../chunk-WN6GL63Q.js"; 61 + import "../../chunk-CRZ7HJJ4.js"; 62 + import "../../chunk-242LG3VP.js"; 63 + import "../../chunk-LHSDDKDM.js"; 64 + import { 65 + effect, 66 + untracked 67 + } from "../../chunk-IZOBPV2S.js"; 68 + import "../../chunk-SGR5ST3A.js"; 69 + import "../../chunk-6DKPDMFE.js"; 70 + import "../../chunk-TP5GZFTO.js"; 71 + import "../../chunk-ZQZJJU3T.js"; 72 + import { 73 + __name, 74 + init_Buffer, 75 + init_process 76 + } from "../../chunk-FZQXS3RE.js"; 77 + 78 + // themes/webamp/index.js 79 + init_Buffer(); 80 + init_process(); 81 + var input = component(element_exports2); 82 + var queue = component(element_exports); 83 + var search = component(element_exports3); 84 + var scopedTracks = component(element_exports4); 85 + var output = document.querySelector("#output"); 86 + if (!output) throw new Error("Missing output element"); 87 + globalThis.queue = queue; 88 + globalThis.output = output; 89 + var index = {}; 90 + var initiatedPlaylist = false; 91 + var ampElement = document.querySelector("dtw-webamp"); 92 + if (ampElement instanceof element_default === false) { 93 + throw new Error("Missing webamp element"); 94 + } 95 + var amp = ampElement.amp; 96 + var loadFromUrl = amp.media.loadFromUrl.bind(amp.media); 97 + async function loadOverride(uri, autoPlay) { 98 + if (uri.startsWith("blob:")) { 99 + return await loadFromUrl(uri, autoPlay); 100 + } 101 + const resp = await input.resolve({ method: "GET", uri }); 102 + if (!resp) throw new Error("Failed to resolve URI"); 103 + if (resp && "stream" in resp) { 104 + throw new Error("Webamp does not support playing streams."); 105 + } 106 + return await loadFromUrl(resp.url, autoPlay); 107 + } 108 + __name(loadOverride, "loadOverride"); 109 + amp.media.loadFromUrl = loadOverride.bind(amp.media); 110 + effect(() => { 111 + const past = untracked(() => queue.past()); 112 + const now = untracked(() => queue.now()); 113 + const future = queue.future(); 114 + const list = [...past, ...now ? [now] : [], ...future]; 115 + const newIdx = {}; 116 + list.forEach((item) => { 117 + newIdx[item.id] = (newIdx[item.id] ?? 0) + 1; 118 + }); 119 + const tracksToAdd = []; 120 + Object.entries(newIdx).forEach(([id, n]) => { 121 + const x = index[id] ?? 0; 122 + if (n > x) { 123 + const track = output.tracks.collection().find((t) => t.id === id); 124 + if (track) tracksToAdd.push(track); 125 + index[id] = x + 1; 126 + } 127 + }); 128 + tracksToAdd.forEach((t) => ampElement.addTrack(t)); 129 + if (!initiatedPlaylist && tracksToAdd.length) { 130 + initiatedPlaylist = true; 131 + amp.store.dispatch({ type: "BUFFER_TRACK", id: 0 }); 132 + } 133 + }); 134 + effect(() => { 135 + const tracks = scopedTracks.tracks(); 136 + queue.supply({ trackIds: tracks.map((t) => t.id) }); 137 + }); 138 + var tracksPromise = Promise.withResolvers(); 139 + effect(() => { 140 + const state = output.tracks.state(); 141 + if (state !== "loaded") return; 142 + const fingerprintSearch = search.supplyFingerprint(); 143 + if (fingerprintSearch === void 0) return; 144 + const fingerprintQueue = queue.supplyFingerprint(); 145 + if (fingerprintQueue === void 0) return; 146 + tracksPromise.resolve("loaded"); 147 + }); 148 + document.body.querySelectorAll(".desktop__item").forEach((element) => { 149 + if (element instanceof HTMLElement) { 150 + element.addEventListener("dblclick", () => { 151 + const f = element.querySelector("label")?.getAttribute("for"); 152 + if (f) return windowManager()?.toggleWindow(f); 153 + }); 154 + } 155 + }); 156 + document.body.querySelector("#desktop-batch")?.addEventListener( 157 + "dblclick", 158 + () => { 159 + tracksPromise.promise.then(() => { 160 + addBatch(); 161 + }); 162 + } 163 + ); 164 + var winampIsShown = true; 165 + document.body.querySelector("#desktop-winamp")?.addEventListener( 166 + "dblclick", 167 + () => { 168 + if (winampIsShown) { 169 + amp.close(); 170 + } else { 171 + amp.reopen(); 172 + winampIsShown = true; 173 + } 174 + } 175 + ); 176 + amp.onClose(() => winampIsShown = false); 177 + async function addBatch() { 178 + await queue.fill({ augment: true, amount: 50, shuffled: true }); 179 + } 180 + __name(addBatch, "addBatch"); 181 + function windowManager() { 182 + const w = document.body.querySelector("dtw-window-manager"); 183 + if (w instanceof element_default2) return w; 184 + return null; 185 + } 186 + __name(windowManager, "windowManager"); 187 + 188 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/index.js.map
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/themes/webamp/index.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/webamp/element.js
··· 1 + ../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/webamp/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/webamp/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/webamp/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/window-manager/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/window-manager/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/window-manager/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window-manager/element.js.map
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/window/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/window/element.js
+1
artifacts/bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy/themes/webamp/window/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/APEv2Parser-LJ7N3HNS.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/APEv2Parser-LJ7N3HNS.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/APEv2Parser-LJ7N3HNS.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/APEv2Parser-LJ7N3HNS.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/AiffParser-73LZIKSO.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AiffParser-73LZIKSO.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/AiffParser-73LZIKSO.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AiffParser-73LZIKSO.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/AsfParser-YRIKESZW.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AsfParser-YRIKESZW.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/AsfParser-YRIKESZW.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/AsfParser-YRIKESZW.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/DsdiffParser-V5ROCCMP.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsdiffParser-V5ROCCMP.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/DsdiffParser-V5ROCCMP.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsdiffParser-V5ROCCMP.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/DsfParser-GSHWLMZG.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsfParser-GSHWLMZG.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/DsfParser-GSHWLMZG.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/DsfParser-GSHWLMZG.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/FlacParser-3WLRWEM5.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/FlacParser-3WLRWEM5.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/FlacParser-3WLRWEM5.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/FlacParser-3WLRWEM5.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MP4Parser-WGWY2YG6.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MP4Parser-WGWY2YG6.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MP4Parser-WGWY2YG6.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MP4Parser-WGWY2YG6.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MatroskaParser-2BD5GINE.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MatroskaParser-2BD5GINE.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MpegParser-3YF6H5NF.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MpegParser-3YF6H5NF.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MpegParser-3YF6H5NF.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MpegParser-3YF6H5NF.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MusepackParser-UV4ARQ3H.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MusepackParser-UV4ARQ3H.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/MusepackParser-UV4ARQ3H.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MusepackParser-UV4ARQ3H.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/OggParser-P4VZHADT.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/OggParser-P4VZHADT.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/OggParser-P4VZHADT.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/OggParser-P4VZHADT.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/WavPackParser-VXYVIQFV.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WavPackParser-VXYVIQFV.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/WavPackParser-VXYVIQFV.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WavPackParser-VXYVIQFV.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/WaveParser-OAMFGZFK.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WaveParser-OAMFGZFK.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/WaveParser-OAMFGZFK.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/WaveParser-OAMFGZFK.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/android-chrome-192x192.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-192x192.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/android-chrome-512x512.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-512x512.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/apple-touch-icon.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/apple-touch-icon.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/browserconfig.xml
··· 1 + ../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/browserconfig.xml
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-226QQPVM.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-226QQPVM.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-226QQPVM.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-226QQPVM.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-242LG3VP.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-242LG3VP.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2DJLRGI2.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-2DJLRGI2.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2DJLRGI2.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-2DJLRGI2.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2E662X3X.js
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2E662X3X.js.map
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js.map
+94
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2HRMT4JN.js
··· 1 + import { 2 + OutputTransformer 3 + } from "./chunk-KIXJZP53.js"; 4 + import { 5 + computed 6 + } from "./chunk-IZOBPV2S.js"; 7 + import { 8 + __name, 9 + init_Buffer, 10 + init_process 11 + } from "./chunk-FZQXS3RE.js"; 12 + 13 + // components/transformer/output/replicator/broadcast/element.js 14 + init_Buffer(); 15 + init_process(); 16 + var BroadcastOutputReplicatorTransformer = class extends OutputTransformer { 17 + static { 18 + __name(this, "BroadcastOutputReplicatorTransformer"); 19 + } 20 + static NAME = "diffuse/transformer/output/replicator/broadcast"; 21 + constructor() { 22 + super(); 23 + const base = this.base(); 24 + const manager = { 25 + facets: { 26 + ...base.facets, 27 + collection: computed(() => { 28 + return base.facets.collection() ?? []; 29 + }) 30 + }, 31 + playlistItems: { 32 + ...base.playlistItems, 33 + collection: computed(() => { 34 + return base.playlistItems.collection() ?? []; 35 + }) 36 + }, 37 + themes: { 38 + ...base.themes, 39 + collection: computed(() => { 40 + return base.themes.collection() ?? []; 41 + }) 42 + }, 43 + tracks: { 44 + ...base.tracks, 45 + collection: computed(() => { 46 + return base.tracks.collection() ?? []; 47 + }) 48 + }, 49 + // Other 50 + ready: base.ready 51 + }; 52 + this.facets = manager.facets; 53 + this.playlistItems = manager.playlistItems; 54 + this.themes = manager.themes; 55 + this.tracks = manager.tracks; 56 + this.ready = manager.ready; 57 + } 58 + // LIFECYCLE 59 + /** 60 + * @override 61 + */ 62 + connectedCallback() { 63 + if (this.hasAttribute("group")) { 64 + const actions = this.broadcast(this.nameWithGroup, { 65 + saveFacets: { strategy: "replicate", fn: this.facets.save }, 66 + savePlaylistItems: { 67 + strategy: "replicate", 68 + fn: this.playlistItems.save 69 + }, 70 + saveThemes: { strategy: "replicate", fn: this.themes.save }, 71 + saveTracks: { strategy: "replicate", fn: this.tracks.save } 72 + }); 73 + if (actions) { 74 + this.facets.save = actions.saveFacets; 75 + this.playlistItems.save = actions.savePlaylistItems; 76 + this.themes.save = actions.saveThemes; 77 + this.tracks.save = actions.saveTracks; 78 + } 79 + } 80 + super.connectedCallback(); 81 + } 82 + }; 83 + var element_default = BroadcastOutputReplicatorTransformer; 84 + var CLASS = BroadcastOutputReplicatorTransformer; 85 + var NAME = "dtor-broadcast"; 86 + customElements.define(NAME, CLASS); 87 + 88 + export { 89 + element_default, 90 + CLASS, 91 + NAME 92 + }; 93 + 94 + //# sourceMappingURL=./chunk-2HRMT4JN.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2HRMT4JN.js.map
··· 1 + {"version":3,"sources":["/components/transformer/output/replicator/broadcast/element.js"],"sourcesContent":["import { computed } from \"@common/signal.js\";\nimport { OutputTransformer } from \"../../base.js\";\n\n/**\n * @import { OutputManagerDeputy } from \"../../../../output/types.d.ts\"\n */\n\n/**\n * @extends {OutputTransformer}\n */\nclass BroadcastOutputReplicatorTransformer extends OutputTransformer {\n static NAME = \"diffuse/transformer/output/replicator/broadcast\";\n\n constructor() {\n super();\n\n const base = this.base();\n\n /** @type {OutputManagerDeputy} */\n const manager = {\n facets: {\n ...base.facets,\n collection: computed(() => {\n return base.facets.collection() ?? [];\n }),\n },\n playlistItems: {\n ...base.playlistItems,\n collection: computed(() => {\n return base.playlistItems.collection() ?? [];\n }),\n },\n themes: {\n ...base.themes,\n collection: computed(() => {\n return base.themes.collection() ?? [];\n }),\n },\n tracks: {\n ...base.tracks,\n collection: computed(() => {\n return base.tracks.collection() ?? [];\n }),\n },\n\n // Other\n ready: base.ready,\n };\n\n // Assign manager properties to class\n this.facets = manager.facets;\n this.playlistItems = manager.playlistItems;\n this.themes = manager.themes;\n this.tracks = manager.tracks;\n\n this.ready = manager.ready;\n }\n\n // LIFECYCLE\n\n /**\n * @override\n */\n connectedCallback() {\n // Broadcast if needed\n if (this.hasAttribute(\"group\")) {\n const actions = this.broadcast(this.nameWithGroup, {\n saveFacets: { strategy: \"replicate\", fn: this.facets.save },\n savePlaylistItems: {\n strategy: \"replicate\",\n fn: this.playlistItems.save,\n },\n saveThemes: { strategy: \"replicate\", fn: this.themes.save },\n saveTracks: { strategy: \"replicate\", fn: this.tracks.save },\n });\n\n if (actions) {\n this.facets.save = actions.saveFacets;\n this.playlistItems.save = actions.savePlaylistItems;\n this.themes.save = actions.saveThemes;\n this.tracks.save = actions.saveTracks;\n }\n }\n\n // Super\n super.connectedCallback();\n }\n}\n\nexport default BroadcastOutputReplicatorTransformer;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = BroadcastOutputReplicatorTransformer;\nexport const NAME = \"dtor-broadcast\";\n\ncustomElements.define(NAME, CLASS);\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;AAUA,IAAM,uCAAN,cAAmD,kBAAkB;AAAA,EAVrE,OAUqE;AAAA;AAAA;AAAA,EACnE,OAAO,OAAO;AAAA,EAEd,cAAc;AACZ,UAAM;AAEN,UAAM,OAAO,KAAK,KAAK;AAGvB,UAAM,UAAU;AAAA,MACd,QAAQ;AAAA,QACN,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,OAAO,WAAW,KAAK,CAAC;AAAA,QACtC,CAAC;AAAA,MACH;AAAA,MACA,eAAe;AAAA,QACb,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,cAAc,WAAW,KAAK,CAAC;AAAA,QAC7C,CAAC;AAAA,MACH;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,OAAO,WAAW,KAAK,CAAC;AAAA,QACtC,CAAC;AAAA,MACH;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,OAAO,WAAW,KAAK,CAAC;AAAA,QACtC,CAAC;AAAA,MACH;AAAA;AAAA,MAGA,OAAO,KAAK;AAAA,IACd;AAGA,SAAK,SAAS,QAAQ;AACtB,SAAK,gBAAgB,QAAQ;AAC7B,SAAK,SAAS,QAAQ;AACtB,SAAK,SAAS,QAAQ;AAEtB,SAAK,QAAQ,QAAQ;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,oBAAoB;AAElB,QAAI,KAAK,aAAa,OAAO,GAAG;AAC9B,YAAM,UAAU,KAAK,UAAU,KAAK,eAAe;AAAA,QACjD,YAAY,EAAE,UAAU,aAAa,IAAI,KAAK,OAAO,KAAK;AAAA,QAC1D,mBAAmB;AAAA,UACjB,UAAU;AAAA,UACV,IAAI,KAAK,cAAc;AAAA,QACzB;AAAA,QACA,YAAY,EAAE,UAAU,aAAa,IAAI,KAAK,OAAO,KAAK;AAAA,QAC1D,YAAY,EAAE,UAAU,aAAa,IAAI,KAAK,OAAO,KAAK;AAAA,MAC5D,CAAC;AAED,UAAI,SAAS;AACX,aAAK,OAAO,OAAO,QAAQ;AAC3B,aAAK,cAAc,OAAO,QAAQ;AAClC,aAAK,OAAO,OAAO,QAAQ;AAC3B,aAAK,OAAO,OAAO,QAAQ;AAAA,MAC7B;AAAA,IACF;AAGA,UAAM,kBAAkB;AAAA,EAC1B;AACF;AAEA,IAAO,kBAAQ;AAMR,IAAM,QAAQ;AACd,IAAM,OAAO;AAEpB,eAAe,OAAO,MAAM,KAAK;","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-2HRMT4JN.js.map"}
+293
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2N6CLBH3.js
··· 1 + import { 2 + element_default as element_default7 3 + } from "./chunk-UM3YGQCD.js"; 4 + import { 5 + element_default as element_default11 6 + } from "./chunk-5U6YGUSF.js"; 7 + import { 8 + element_default 9 + } from "./chunk-JHKODV4C.js"; 10 + import { 11 + element_default as element_default3 12 + } from "./chunk-NC2PKDLJ.js"; 13 + import { 14 + element_default as element_default13 15 + } from "./chunk-LC5ADJPD.js"; 16 + import { 17 + element_default as element_default14 18 + } from "./chunk-DBY4UFCR.js"; 19 + import { 20 + element_default as element_default5 21 + } from "./chunk-6LRCMOGT.js"; 22 + import { 23 + element_default as element_default6 24 + } from "./chunk-MTF6MUZY.js"; 25 + import { 26 + element_default as element_default8 27 + } from "./chunk-T3L6UFWY.js"; 28 + import { 29 + element_default as element_default9 30 + } from "./chunk-IPJO7YD4.js"; 31 + import { 32 + element_default as element_default15 33 + } from "./chunk-Y6DMBYY7.js"; 34 + import { 35 + element_default as element_default4 36 + } from "./chunk-4MMRODUP.js"; 37 + import { 38 + element_default as element_default10 39 + } from "./chunk-F74HSTJN.js"; 40 + import { 41 + element_default as element_default12 42 + } from "./chunk-BUBM2UB3.js"; 43 + import { 44 + element_default as element_default2 45 + } from "./chunk-E6H4GVL4.js"; 46 + import { 47 + __name, 48 + init_Buffer, 49 + init_process 50 + } from "./chunk-FZQXS3RE.js"; 51 + 52 + // common/facets/foundation.js 53 + init_Buffer(); 54 + init_process(); 55 + var url = new URL(document.location.href); 56 + var GROUP = url.searchParams.get("group") ?? "facets"; 57 + var config = { 58 + GROUP, 59 + features: { 60 + fillQueueAutomatically, 61 + playAudioFromQueue, 62 + processInputs, 63 + searchThroughCollection 64 + }, 65 + // Elements 66 + engine: { 67 + audio, 68 + queue, 69 + repeatShuffle, 70 + scope 71 + }, 72 + orchestrator: { 73 + autoQueue, 74 + favourites, 75 + input, 76 + output, 77 + queueAudio, 78 + processTracks, 79 + scopedTracks, 80 + sources 81 + }, 82 + processor: { 83 + artwork, 84 + metadata, 85 + search 86 + } 87 + }; 88 + var foundation_default = config; 89 + function fillQueueAutomatically() { 90 + return { 91 + engine: { 92 + queue: queue(), 93 + repeatShuffle: repeatShuffle(), 94 + scope: scope() 95 + }, 96 + orchestrator: { 97 + autoQueue: autoQueue(), 98 + input: input(), 99 + output: output(), 100 + scopedTracks: scopedTracks() 101 + } 102 + }; 103 + } 104 + __name(fillQueueAutomatically, "fillQueueAutomatically"); 105 + function playAudioFromQueue() { 106 + return { 107 + engine: { 108 + audio: audio(), 109 + queue: queue() 110 + }, 111 + orchestrator: { 112 + queueAudio: queueAudio() 113 + } 114 + }; 115 + } 116 + __name(playAudioFromQueue, "playAudioFromQueue"); 117 + function processInputs() { 118 + return { 119 + orchestrator: { 120 + input: input(), 121 + output: output(), 122 + processTracks: processTracks() 123 + }, 124 + processor: { 125 + metadata: metadata() 126 + } 127 + }; 128 + } 129 + __name(processInputs, "processInputs"); 130 + function searchThroughCollection() { 131 + return { 132 + engine: { 133 + scope: scope() 134 + }, 135 + orchestrator: { 136 + output: output(), 137 + scopedTracks: scopedTracks() 138 + }, 139 + processor: { 140 + search: search() 141 + } 142 + }; 143 + } 144 + __name(searchThroughCollection, "searchThroughCollection"); 145 + function audio() { 146 + const a = new element_default2(); 147 + a.setAttribute("group", GROUP); 148 + return findExistingOrAdd(a); 149 + } 150 + __name(audio, "audio"); 151 + function queue() { 152 + const q = new element_default4(); 153 + q.setAttribute("group", GROUP); 154 + return findExistingOrAdd(q); 155 + } 156 + __name(queue, "queue"); 157 + function repeatShuffle() { 158 + const r = new element_default10(); 159 + r.setAttribute("group", GROUP); 160 + return findExistingOrAdd(r); 161 + } 162 + __name(repeatShuffle, "repeatShuffle"); 163 + function scope() { 164 + const s = new element_default12(); 165 + s.setAttribute("group", GROUP); 166 + return findExistingOrAdd(s); 167 + } 168 + __name(scope, "scope"); 169 + function artwork() { 170 + const a = new element_default(); 171 + a.setAttribute("group", GROUP); 172 + return findExistingOrAdd(a); 173 + } 174 + __name(artwork, "artwork"); 175 + function metadata() { 176 + const m = new element_default7(); 177 + m.setAttribute("group", GROUP); 178 + return findExistingOrAdd(m); 179 + } 180 + __name(metadata, "metadata"); 181 + function search() { 182 + const s = new element_default11(); 183 + s.setAttribute("group", GROUP); 184 + return findExistingOrAdd(s); 185 + } 186 + __name(search, "search"); 187 + function autoQueue() { 188 + const q = queue(); 189 + const r = repeatShuffle(); 190 + const t = scopedTracks(); 191 + const aqo = new element_default3(); 192 + aqo.setAttribute("group", GROUP); 193 + aqo.setAttribute("queue-engine-selector", q.selector); 194 + aqo.setAttribute("repeat-shuffle-engine-selector", r.selector); 195 + aqo.setAttribute("tracks-selector", t.selector); 196 + return findExistingOrAdd(aqo); 197 + } 198 + __name(autoQueue, "autoQueue"); 199 + function input() { 200 + const i = new element_default5(); 201 + i.setAttribute("group", GROUP); 202 + i.setAttribute("id", "input"); 203 + return findExistingOrAdd(i); 204 + } 205 + __name(input, "input"); 206 + function output() { 207 + const o = new element_default6(); 208 + o.setAttribute("group", GROUP); 209 + o.setAttribute("id", "output"); 210 + return findExistingOrAdd(o); 211 + } 212 + __name(output, "output"); 213 + function processTracks(opts = { disableWhenReady: false }) { 214 + const i = input(); 215 + const o = output(); 216 + const m = metadata(); 217 + const opt = new element_default8(); 218 + opt.setAttribute("group", GROUP); 219 + opt.setAttribute("input-selector", i.selector); 220 + opt.setAttribute("output-selector", o.selector); 221 + opt.setAttribute("metadata-processor-selector", m.selector); 222 + if (!opts.disableWhenReady) { 223 + opt.toggleAttribute("process-when-ready"); 224 + } 225 + return findExistingOrAdd(opt); 226 + } 227 + __name(processTracks, "processTracks"); 228 + function queueAudio() { 229 + const a = audio(); 230 + const i = input(); 231 + const o = output(); 232 + const q = queue(); 233 + const r = repeatShuffle(); 234 + const oqa = new element_default9(); 235 + oqa.setAttribute("group", GROUP); 236 + oqa.setAttribute("audio-engine-selector", a.selector); 237 + oqa.setAttribute("input-selector", i.selector); 238 + oqa.setAttribute("output-selector", o.selector); 239 + oqa.setAttribute("queue-engine-selector", q.selector); 240 + oqa.setAttribute("repeat-shuffle-engine-selector", r.selector); 241 + return findExistingOrAdd(oqa); 242 + } 243 + __name(queueAudio, "queueAudio"); 244 + function scopedTracks() { 245 + const i = input(); 246 + const o = output(); 247 + const e = scope(); 248 + const s = search(); 249 + const sto = new element_default13(); 250 + sto.setAttribute("group", GROUP); 251 + sto.setAttribute("input-selector", i.selector); 252 + sto.setAttribute("output-selector", o.selector); 253 + sto.setAttribute("scope-engine-selector", e.selector); 254 + sto.setAttribute("search-processor-selector", s.selector); 255 + return findExistingOrAdd(sto); 256 + } 257 + __name(scopedTracks, "scopedTracks"); 258 + function favourites() { 259 + const o = output(); 260 + const fo = new element_default14(); 261 + fo.setAttribute("group", GROUP); 262 + fo.setAttribute("output-selector", o.selector); 263 + return findExistingOrAdd(fo); 264 + } 265 + __name(favourites, "favourites"); 266 + function sources() { 267 + const i = input(); 268 + const o = output(); 269 + const so = new element_default15(); 270 + so.setAttribute("group", GROUP); 271 + so.setAttribute("input-selector", i.selector); 272 + so.setAttribute("output-selector", o.selector); 273 + return findExistingOrAdd(so); 274 + } 275 + __name(sources, "sources"); 276 + function findExistingOrAdd(element) { 277 + const alreadyAdded = document.body.querySelector(element.selector); 278 + if (!alreadyAdded) { 279 + document.body.append(element); 280 + return element; 281 + } 282 + return alreadyAdded; 283 + } 284 + __name(findExistingOrAdd, "findExistingOrAdd"); 285 + 286 + export { 287 + GROUP, 288 + config, 289 + foundation_default, 290 + findExistingOrAdd 291 + }; 292 + 293 + //# sourceMappingURL=./chunk-2N6CLBH3.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-2N6CLBH3.js.map
··· 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 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 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 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 input() {\n const i = new InputOrchestrator();\n i.setAttribute(\"group\", GROUP);\n i.setAttribute(\"id\", \"input\");\n\n return findExistingOrAdd(i);\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 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 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-2N6CLBH3.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3CXPPL5Z.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3CXPPL5Z.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3IXJYTB6.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3IXJYTB6.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js.map
+156
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3QHZWZIL.js
··· 1 + import { 2 + batch, 3 + computed, 4 + signal, 5 + untracked 6 + } from "./chunk-IZOBPV2S.js"; 7 + import { 8 + __name, 9 + init_Buffer, 10 + init_process 11 + } from "./chunk-FZQXS3RE.js"; 12 + 13 + // components/output/common.js 14 + init_Buffer(); 15 + init_process(); 16 + function outputManager({ init, facets, playlistItems, themes, tracks }, signalOpts) { 17 + const c = signal( 18 + /** @type {Encoding extends null ? Facet[] : Encoding} */ 19 + facets.empty(), 20 + { eager: signalOpts?.eager ?? false } 21 + ); 22 + const cs = signal( 23 + /** @type {"loading" | "loaded" | "sleeping"} */ 24 + "sleeping" 25 + ); 26 + const pl = signal( 27 + /** @type {Encoding extends null ? PlaylistItem[] : Encoding} */ 28 + playlistItems.empty(), 29 + { eager: signalOpts?.eager ?? false } 30 + ); 31 + const pls = signal( 32 + /** @type {"loading" | "loaded" | "sleeping"} */ 33 + "sleeping" 34 + ); 35 + const th = signal( 36 + /** @type {Encoding extends null ? Theme[] : Encoding} */ 37 + themes.empty(), 38 + { eager: signalOpts?.eager ?? false } 39 + ); 40 + const ths = signal( 41 + /** @type {"loading" | "loaded" | "sleeping"} */ 42 + "sleeping" 43 + ); 44 + const t = signal( 45 + /** @type {Encoding extends null ? Track[] : Encoding} */ 46 + tracks.empty(), 47 + { eager: signalOpts?.eager ?? false } 48 + ); 49 + const ts = signal( 50 + /** @type {"loading" | "loaded" | "sleeping"} */ 51 + "sleeping" 52 + ); 53 + async function loadFacets() { 54 + if (init && await init() === false) return; 55 + cs.value = "loading"; 56 + c.value = await facets.get(); 57 + cs.value = "loaded"; 58 + } 59 + __name(loadFacets, "loadFacets"); 60 + async function loadPlaylistItems() { 61 + if (init && await init() === false) return; 62 + pls.value = "loading"; 63 + pl.value = await playlistItems.get(); 64 + pls.value = "loaded"; 65 + } 66 + __name(loadPlaylistItems, "loadPlaylistItems"); 67 + async function loadThemes() { 68 + if (init && await init() === false) return; 69 + ths.value = "loading"; 70 + th.value = await themes.get(); 71 + ths.value = "loaded"; 72 + } 73 + __name(loadThemes, "loadThemes"); 74 + async function loadTracks() { 75 + if (init && await init() === false) return; 76 + ts.value = "loading"; 77 + t.value = await tracks.get(); 78 + ts.value = "loaded"; 79 + } 80 + __name(loadTracks, "loadTracks"); 81 + return { 82 + facets: { 83 + collection: computed(() => { 84 + if (untracked(() => cs.value === "sleeping")) loadFacets(); 85 + return c.value; 86 + }), 87 + reload: loadFacets, 88 + save: /* @__PURE__ */ __name(async (newFacets) => { 89 + batch(() => { 90 + if (untracked(() => cs.value === "sleeping")) cs.value = "loaded"; 91 + c.value = newFacets; 92 + }); 93 + await facets.put(newFacets); 94 + }, "save"), 95 + state: cs.get 96 + }, 97 + playlistItems: { 98 + collection: computed(() => { 99 + if (untracked(() => pls.value === "sleeping")) loadPlaylistItems(); 100 + return pl.value; 101 + }), 102 + reload: loadPlaylistItems, 103 + save: /* @__PURE__ */ __name(async (newPlaylistItems) => { 104 + batch(() => { 105 + if (untracked(() => pls.value === "sleeping")) pls.value = "loaded"; 106 + pl.value = newPlaylistItems; 107 + }); 108 + await playlistItems.put(newPlaylistItems); 109 + }, "save"), 110 + state: pls.get 111 + }, 112 + themes: { 113 + collection: computed(() => { 114 + if (untracked(() => ths.value === "sleeping")) loadThemes(); 115 + return th.value; 116 + }), 117 + reload: loadThemes, 118 + save: /* @__PURE__ */ __name(async (newThemes) => { 119 + batch(() => { 120 + if (untracked(() => ths.value === "sleeping")) ths.value = "loaded"; 121 + th.value = newThemes; 122 + }); 123 + await themes.put(newThemes); 124 + }, "save"), 125 + state: ths.get 126 + }, 127 + tracks: { 128 + collection: computed(() => { 129 + if (untracked(() => ts.value === "sleeping")) loadTracks(); 130 + return t.value; 131 + }), 132 + reload: loadTracks, 133 + save: /* @__PURE__ */ __name(async (newTracks) => { 134 + batch(() => { 135 + if (untracked(() => ts.value === "sleeping")) ts.value = "loaded"; 136 + t.value = newTracks; 137 + }); 138 + await tracks.put(newTracks); 139 + }, "save"), 140 + state: ts.get 141 + }, 142 + signals: { 143 + facets: c, 144 + playlistItems: pl, 145 + themes: th, 146 + tracks: t 147 + } 148 + }; 149 + } 150 + __name(outputManager, "outputManager"); 151 + 152 + export { 153 + outputManager 154 + }; 155 + 156 + //# sourceMappingURL=./chunk-3QHZWZIL.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-3QHZWZIL.js.map
··· 1 + {"version":3,"sources":["/components/output/common.js"],"sourcesContent":["import { batch, computed, signal, untracked } from \"@common/signal.js\";\n\n/**\n * @import {Facet, PlaylistItem, Theme, Track} from \"@definitions/types.d.ts\"\n * @import {OutputManager, OutputManagerProperties} from \"./types.d.ts\"\n */\n\n/**\n * @template [Encoding=null]\n * @param {OutputManagerProperties<Encoding>} _\n * @param {{ eager?: boolean }} [signalOpts]\n * @returns {OutputManager<Encoding>}\n */\nexport function outputManager(\n { init, facets, playlistItems, themes, tracks },\n signalOpts,\n) {\n const c = signal(\n /** @type {Encoding extends null ? Facet[] : Encoding} */ (facets\n .empty()),\n { eager: signalOpts?.eager ?? false },\n );\n const cs = signal(\n /** @type {\"loading\" | \"loaded\" | \"sleeping\"} */ (\"sleeping\"),\n );\n\n const pl = signal(\n /** @type {Encoding extends null ? PlaylistItem[] : Encoding} */ (playlistItems\n .empty()),\n { eager: signalOpts?.eager ?? false },\n );\n const pls = signal(\n /** @type {\"loading\" | \"loaded\" | \"sleeping\"} */ (\"sleeping\"),\n );\n\n const th = signal(\n /** @type {Encoding extends null ? Theme[] : Encoding} */ (themes.empty()),\n { eager: signalOpts?.eager ?? false },\n );\n const ths = signal(\n /** @type {\"loading\" | \"loaded\" | \"sleeping\"} */ (\"sleeping\"),\n );\n\n const t = signal(\n /** @type {Encoding extends null ? Track[] : Encoding} */ (tracks.empty()),\n { eager: signalOpts?.eager ?? false },\n );\n const ts = signal(\n /** @type {\"loading\" | \"loaded\" | \"sleeping\"} */ (\"sleeping\"),\n );\n\n async function loadFacets() {\n if (init && (await init()) === false) return;\n cs.value = \"loading\";\n c.value = await facets.get();\n cs.value = \"loaded\";\n }\n\n async function loadPlaylistItems() {\n if (init && (await init()) === false) return;\n pls.value = \"loading\";\n pl.value = await playlistItems.get();\n pls.value = \"loaded\";\n }\n\n async function loadThemes() {\n if (init && (await init()) === false) return;\n ths.value = \"loading\";\n th.value = await themes.get();\n ths.value = \"loaded\";\n }\n\n async function loadTracks() {\n if (init && (await init()) === false) return;\n ts.value = \"loading\";\n t.value = await tracks.get();\n ts.value = \"loaded\";\n }\n\n return {\n facets: {\n collection: computed(() => {\n if (untracked(() => cs.value === \"sleeping\")) loadFacets();\n return c.value;\n }),\n reload: loadFacets,\n save: async (newFacets) => {\n batch(() => {\n if (untracked(() => cs.value === \"sleeping\")) cs.value = \"loaded\";\n c.value = newFacets;\n });\n await facets.put(newFacets);\n },\n state: cs.get,\n },\n playlistItems: {\n collection: computed(() => {\n if (untracked(() => pls.value === \"sleeping\")) loadPlaylistItems();\n return pl.value;\n }),\n reload: loadPlaylistItems,\n save: async (newPlaylistItems) => {\n batch(() => {\n if (untracked(() => pls.value === \"sleeping\")) pls.value = \"loaded\";\n pl.value = newPlaylistItems;\n });\n await playlistItems.put(newPlaylistItems);\n },\n state: pls.get,\n },\n themes: {\n collection: computed(() => {\n if (untracked(() => ths.value === \"sleeping\")) loadThemes();\n return th.value;\n }),\n reload: loadThemes,\n save: async (newThemes) => {\n batch(() => {\n if (untracked(() => ths.value === \"sleeping\")) ths.value = \"loaded\";\n th.value = newThemes;\n });\n await themes.put(newThemes);\n },\n state: ths.get,\n },\n tracks: {\n collection: computed(() => {\n if (untracked(() => ts.value === \"sleeping\")) loadTracks();\n return t.value;\n }),\n reload: loadTracks,\n save: async (newTracks) => {\n batch(() => {\n if (untracked(() => ts.value === \"sleeping\")) ts.value = \"loaded\";\n t.value = newTracks;\n });\n await tracks.put(newTracks);\n },\n state: ts.get,\n },\n signals: {\n facets: c,\n playlistItems: pl,\n themes: th,\n tracks: t,\n },\n };\n}\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-3QHZWZIL.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-46MJSXAT.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-46MJSXAT.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-46MJSXAT.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-46MJSXAT.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-4GYGC4OZ.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4GYGC4OZ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-4GYGC4OZ.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4GYGC4OZ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-4MMRODUP.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4MMRODUP.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-4MMRODUP.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-4MMRODUP.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-4YB6QUPN.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-4YB6QUPN.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-52BFTJ3R.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52BFTJ3R.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-52BFTJ3R.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52BFTJ3R.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-52F6J3SQ.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52F6J3SQ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-52F6J3SQ.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-52F6J3SQ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-5GF3RIXZ.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-5GF3RIXZ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-5GF3RIXZ.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-5GF3RIXZ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-5QN5IAQ5.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-5QN5IAQ5.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-5QN5IAQ5.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-5QN5IAQ5.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-5U6YGUSF.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-5U6YGUSF.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-5U6YGUSF.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-5U6YGUSF.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-6DKPDMFE.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-6DKPDMFE.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-6DRHTH2U.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-6DRHTH2U.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-6LRCMOGT.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-6LRCMOGT.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-6LRCMOGT.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-6LRCMOGT.js.map
+73
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77N5LJ3L.js
··· 1 + import { 2 + OutputTransformer 3 + } from "./chunk-KIXJZP53.js"; 4 + import { 5 + computed 6 + } from "./chunk-IZOBPV2S.js"; 7 + import { 8 + __name, 9 + init_Buffer, 10 + init_process 11 + } from "./chunk-FZQXS3RE.js"; 12 + 13 + // components/transformer/output/refiner/default/element.js 14 + init_Buffer(); 15 + init_process(); 16 + var DefaultOutputRefinerTransformer = class extends OutputTransformer { 17 + static { 18 + __name(this, "DefaultOutputRefinerTransformer"); 19 + } 20 + constructor() { 21 + super(); 22 + const base = this.base(); 23 + const manager = { 24 + facets: { 25 + ...base.facets, 26 + collection: computed(() => { 27 + return base.facets.collection() ?? []; 28 + }) 29 + }, 30 + playlistItems: { 31 + ...base.playlistItems, 32 + collection: computed(() => { 33 + return base.playlistItems.collection() ?? []; 34 + }) 35 + }, 36 + themes: { 37 + ...base.themes, 38 + collection: computed(() => { 39 + return base.themes.collection() ?? []; 40 + }) 41 + }, 42 + tracks: { 43 + ...base.tracks, 44 + collection: computed(() => { 45 + return base.tracks.collection() ?? []; 46 + }), 47 + save: /* @__PURE__ */ __name(async (newTracks) => { 48 + const filtered = newTracks.filter((t) => !t.ephemeral); 49 + await base.tracks.save(filtered); 50 + }, "save") 51 + }, 52 + // Other 53 + ready: base.ready 54 + }; 55 + this.facets = manager.facets; 56 + this.playlistItems = manager.playlistItems; 57 + this.themes = manager.themes; 58 + this.tracks = manager.tracks; 59 + this.ready = manager.ready; 60 + } 61 + }; 62 + var element_default = DefaultOutputRefinerTransformer; 63 + var CLASS = DefaultOutputRefinerTransformer; 64 + var NAME = "dtor-default"; 65 + customElements.define(NAME, CLASS); 66 + 67 + export { 68 + element_default, 69 + CLASS, 70 + NAME 71 + }; 72 + 73 + //# sourceMappingURL=./chunk-77N5LJ3L.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77N5LJ3L.js.map
··· 1 + {"version":3,"sources":["/components/transformer/output/refiner/default/element.js"],"sourcesContent":["import { computed } from \"@common/signal.js\";\nimport { OutputTransformer } from \"../../base.js\";\n\n/**\n * @import { OutputManagerDeputy } from \"../../../../output/types.d.ts\"\n */\n\n/**\n * @extends {OutputTransformer}\n */\nclass DefaultOutputRefinerTransformer extends OutputTransformer {\n constructor() {\n super();\n\n const base = this.base();\n\n /** @type {OutputManagerDeputy} */\n const manager = {\n facets: {\n ...base.facets,\n collection: computed(() => {\n return base.facets.collection() ?? [];\n }),\n },\n playlistItems: {\n ...base.playlistItems,\n collection: computed(() => {\n return base.playlistItems.collection() ?? [];\n }),\n },\n themes: {\n ...base.themes,\n collection: computed(() => {\n return base.themes.collection() ?? [];\n }),\n },\n tracks: {\n ...base.tracks,\n collection: computed(() => {\n return base.tracks.collection() ?? [];\n }),\n save: async (newTracks) => {\n const filtered = newTracks.filter((t) => !t.ephemeral);\n await base.tracks.save(filtered);\n },\n },\n\n // Other\n ready: base.ready,\n };\n\n // Assign manager properties to class\n this.facets = manager.facets;\n this.playlistItems = manager.playlistItems;\n this.themes = manager.themes;\n this.tracks = manager.tracks;\n this.ready = manager.ready;\n }\n}\n\nexport default DefaultOutputRefinerTransformer;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = DefaultOutputRefinerTransformer;\nexport const NAME = \"dtor-default\";\n\ncustomElements.define(NAME, CLASS);\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;AAUA,IAAM,kCAAN,cAA8C,kBAAkB;AAAA,EAVhE,OAUgE;AAAA;AAAA;AAAA,EAC9D,cAAc;AACZ,UAAM;AAEN,UAAM,OAAO,KAAK,KAAK;AAGvB,UAAM,UAAU;AAAA,MACd,QAAQ;AAAA,QACN,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,OAAO,WAAW,KAAK,CAAC;AAAA,QACtC,CAAC;AAAA,MACH;AAAA,MACA,eAAe;AAAA,QACb,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,cAAc,WAAW,KAAK,CAAC;AAAA,QAC7C,CAAC;AAAA,MACH;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,OAAO,WAAW,KAAK,CAAC;AAAA,QACtC,CAAC;AAAA,MACH;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,KAAK;AAAA,QACR,YAAY,SAAS,MAAM;AACzB,iBAAO,KAAK,OAAO,WAAW,KAAK,CAAC;AAAA,QACtC,CAAC;AAAA,QACD,MAAM,8BAAO,cAAc;AACzB,gBAAM,WAAW,UAAU,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS;AACrD,gBAAM,KAAK,OAAO,KAAK,QAAQ;AAAA,QACjC,GAHM;AAAA,MAIR;AAAA;AAAA,MAGA,OAAO,KAAK;AAAA,IACd;AAGA,SAAK,SAAS,QAAQ;AACtB,SAAK,gBAAgB,QAAQ;AAC7B,SAAK,SAAS,QAAQ;AACtB,SAAK,SAAS,QAAQ;AACtB,SAAK,QAAQ,QAAQ;AAAA,EACvB;AACF;AAEA,IAAO,kBAAQ;AAMR,IAAM,QAAQ;AACd,IAAM,OAAO;AAEpB,eAAe,OAAO,MAAM,KAAK;","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-77N5LJ3L.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77XZB4M3.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-77XZB4M3.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77XZB4M3.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-77XZB4M3.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77ZY4GQV.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-77ZY4GQV.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-7SBFGDAO.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-7SBFGDAO.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js.map
+324
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-7XPM3FOM.js
··· 1 + import { 2 + OAuthUserAgent, 3 + TokenRefreshError, 4 + clearStoredSession, 5 + login, 6 + logout, 7 + restoreOrFinalize 8 + } from "./chunk-JH6MOGSD.js"; 9 + import { 10 + outputManager 11 + } from "./chunk-3QHZWZIL.js"; 12 + import { 13 + DiffuseElement 14 + } from "./chunk-52F6J3SQ.js"; 15 + import { 16 + Client, 17 + ClientResponseError, 18 + ok 19 + } from "./chunk-WN6GL63Q.js"; 20 + import { 21 + computed, 22 + signal 23 + } from "./chunk-IZOBPV2S.js"; 24 + import { 25 + __name, 26 + init_Buffer, 27 + init_process 28 + } from "./chunk-FZQXS3RE.js"; 29 + 30 + // components/output/raw/atproto/element.js 31 + init_Buffer(); 32 + init_process(); 33 + var ATProtoOutput = class extends DiffuseElement { 34 + static { 35 + __name(this, "ATProtoOutput"); 36 + } 37 + static NAME = "diffuse/output/raw/atproto"; 38 + #manager; 39 + /** @type {PromiseWithResolvers<void>} */ 40 + #authenticated = Promise.withResolvers(); 41 + /** @type {Client | null} */ 42 + #rpc = null; 43 + /** @type {OAuthUserAgent | null} */ 44 + #agent = null; 45 + constructor() { 46 + super(); 47 + this.#manager = outputManager({ 48 + facets: { 49 + empty: /* @__PURE__ */ __name(() => [], "empty"), 50 + get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.facet"), "get"), 51 + put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.facet", data), "put") 52 + }, 53 + playlistItems: { 54 + empty: /* @__PURE__ */ __name(() => [], "empty"), 55 + get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.playlistItem"), "get"), 56 + put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.playlistItem", data), "put") 57 + }, 58 + themes: { 59 + empty: /* @__PURE__ */ __name(() => [], "empty"), 60 + get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.theme"), "get"), 61 + put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.theme", data), "put") 62 + }, 63 + tracks: { 64 + empty: /* @__PURE__ */ __name(() => [], "empty"), 65 + get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.track"), "get"), 66 + put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.track", data), "put") 67 + } 68 + }); 69 + this.facets = this.#manager.facets; 70 + this.playlistItems = this.#manager.playlistItems; 71 + this.themes = this.#manager.themes; 72 + this.tracks = this.#manager.tracks; 73 + } 74 + // SIGNALS 75 + #did = signal( 76 + /** @type {string | null} */ 77 + null 78 + ); 79 + #isOnline = signal(navigator.onLine); 80 + #rev = signal( 81 + /** @type {string | null} */ 82 + null 83 + ); 84 + // STATE 85 + did = this.#did.get; 86 + rev = this.#rev.get; 87 + ready = computed(() => { 88 + return this.#did.value !== null && this.#isOnline.value; 89 + }); 90 + // LIFECYCLE 91 + /** @override */ 92 + connectedCallback() { 93 + super.connectedCallback(); 94 + this.#tryRestore(); 95 + globalThis.addEventListener("online", this.#online); 96 + globalThis.addEventListener("offline", this.#offline); 97 + } 98 + /** @override */ 99 + disconnectedCallback() { 100 + globalThis.removeEventListener("online", this.#online); 101 + globalThis.removeEventListener("offline", this.#offline); 102 + } 103 + #offline = /* @__PURE__ */ __name(() => this.#isOnline.set(false), "#offline"); 104 + #online = /* @__PURE__ */ __name(() => this.#isOnline.set(true), "#online"); 105 + // AUTH 106 + /** 107 + * Initiate the OAuth flow. 108 + * Navigates the browser to the authorization server. 109 + * 110 + * @param {string} handle 111 + */ 112 + async login(handle) { 113 + await login(handle); 114 + } 115 + /** 116 + * Sign out and revoke the current session. 117 + */ 118 + async logout() { 119 + if (this.#agent) { 120 + await logout(this.#agent); 121 + this.#agent = null; 122 + this.#authenticated = Promise.withResolvers(); 123 + this.#did.value = null; 124 + this.#rpc = null; 125 + } 126 + } 127 + /** 128 + * Clear session state without contacting the server. 129 + * Used when the session has already been revoked. 130 + */ 131 + #clearSession() { 132 + this.#agent = null; 133 + this.#authenticated = Promise.withResolvers(); 134 + this.#did.value = null; 135 + this.#rpc = null; 136 + clearStoredSession(); 137 + } 138 + /** 139 + * @param {unknown} err 140 + * @returns {boolean} 141 + */ 142 + #isSessionError(err) { 143 + if (err instanceof TokenRefreshError) return true; 144 + if (err instanceof ClientResponseError && err.status === 401) return true; 145 + if (err && typeof err === "object" && "cause" in err) { 146 + return this.#isSessionError( 147 + /** @type {any} */ 148 + err.cause 149 + ); 150 + } 151 + return false; 152 + } 153 + async #tryRestore() { 154 + await this.whenConnected(); 155 + try { 156 + const session = await restoreOrFinalize(); 157 + if (session) { 158 + this.#setSession(session); 159 + } 160 + } catch (err) { 161 + if (this.#isSessionError(err)) { 162 + this.#clearSession(); 163 + } else { 164 + throw err; 165 + } 166 + } 167 + } 168 + /** 169 + * @param {import("@atcute/oauth-browser-client").Session} session 170 + */ 171 + #setSession(session) { 172 + const agent = new OAuthUserAgent(session); 173 + const originalGetSession = agent.getSession.bind(agent); 174 + agent.getSession = /** @param {any[]} args */ 175 + (...args) => { 176 + const promise = originalGetSession(...args); 177 + promise.catch((err) => { 178 + if (err instanceof TokenRefreshError) { 179 + this.#clearSession(); 180 + } 181 + }); 182 + return promise; 183 + }; 184 + this.#agent = agent; 185 + this.#rpc = new Client({ handler: agent }); 186 + this.#did.value = session.info.sub; 187 + this.#authenticated.resolve(); 188 + } 189 + // RECORDS 190 + /** 191 + * Fetch the latest commit rev for this repo. 192 + * Returns `null` if not authenticated or on error. 193 + * 194 + * @returns {Promise<string | null>} 195 + */ 196 + async getLatestCommit() { 197 + const did = this.#did.value; 198 + if (!this.#rpc || !did) return null; 199 + try { 200 + const result = await ok(this.#rpc.get( 201 + "com.atproto.sync.getLatestCommit", 202 + { params: { did } } 203 + )); 204 + this.#rev.value = result.rev; 205 + return result.rev; 206 + } catch (err) { 207 + if (this.#isSessionError(err)) { 208 + this.#clearSession(); 209 + return null; 210 + } 211 + throw err; 212 + } 213 + } 214 + /** 215 + * @template T 216 + * @param {string} collection 217 + * @param {string} [did] 218 + * @returns {Promise<T[]>} 219 + */ 220 + async listRecords(collection, did) { 221 + did ??= this.#did.value ?? void 0; 222 + if (!this.#rpc || !did) return []; 223 + try { 224 + const records = []; 225 + let cursor; 226 + do { 227 + const page = await ok(this.#rpc.get( 228 + "com.atproto.repo.listRecords", 229 + { params: { repo: did, collection, limit: 100, cursor } } 230 + )); 231 + for (const record of page.records) { 232 + records.push(record.value); 233 + } 234 + cursor = page.cursor; 235 + } while (cursor); 236 + return records; 237 + } catch (err) { 238 + if (this.#isSessionError(err)) { 239 + this.#clearSession(); 240 + return []; 241 + } 242 + throw err; 243 + } 244 + } 245 + /** 246 + * @param {string} collection 247 + * @param {Array<{ id: string }>} data 248 + */ 249 + async #putRecords(collection, data) { 250 + if (!this.#rpc || !this.#did.value) return; 251 + try { 252 + const existing = /* @__PURE__ */ new Map(); 253 + let cursor; 254 + do { 255 + const page = await ok(this.#rpc.get( 256 + "com.atproto.repo.listRecords", 257 + { params: { repo: this.#did.value, collection, limit: 100, cursor } } 258 + )); 259 + for (const record of page.records) { 260 + const rkey = record.uri.split("/").pop(); 261 + existing.set(record.value.id, { rkey, value: record.value }); 262 + } 263 + cursor = page.cursor; 264 + } while (cursor); 265 + const desired = new Map( 266 + data.map((record) => [record.id, { $type: collection, ...record }]) 267 + ); 268 + const writes = []; 269 + for (const [id, { rkey }] of existing) { 270 + if (!desired.has(id)) { 271 + writes.push({ 272 + $type: "com.atproto.repo.applyWrites#delete", 273 + collection, 274 + rkey 275 + }); 276 + } 277 + } 278 + for (const [id, record] of desired) { 279 + const entry = existing.get(id); 280 + if (!entry) { 281 + writes.push({ 282 + $type: "com.atproto.repo.applyWrites#create", 283 + collection, 284 + rkey: id, 285 + value: record 286 + }); 287 + } else if (JSON.stringify(entry.value) !== JSON.stringify(record)) { 288 + writes.push({ 289 + $type: "com.atproto.repo.applyWrites#update", 290 + collection, 291 + rkey: entry.rkey, 292 + value: record 293 + }); 294 + } 295 + } 296 + if (writes.length > 0) { 297 + const result = await ok(this.#rpc.post("com.atproto.repo.applyWrites", { 298 + input: { repo: this.#did.value, writes } 299 + })); 300 + if (result?.commit?.rev) { 301 + this.#rev.value = result.commit.rev; 302 + } 303 + } 304 + } catch (err) { 305 + if (this.#isSessionError(err)) { 306 + this.#clearSession(); 307 + return; 308 + } 309 + throw err; 310 + } 311 + } 312 + }; 313 + var element_default = ATProtoOutput; 314 + var CLASS = ATProtoOutput; 315 + var NAME = "dor-atproto"; 316 + customElements.define(NAME, ATProtoOutput); 317 + 318 + export { 319 + element_default, 320 + CLASS, 321 + NAME 322 + }; 323 + 324 + //# sourceMappingURL=./chunk-7XPM3FOM.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-7XPM3FOM.js.map
··· 1 + {"version":3,"sources":["/components/output/raw/atproto/element.js"],"sourcesContent":["import { Client, ClientResponseError, ok } from \"@atcute/client\";\n\nimport { DiffuseElement } from \"@common/element.js\";\nimport { computed, signal } from \"@common/signal.js\";\nimport { outputManager } from \"../../common.js\";\nimport {\n clearStoredSession,\n login,\n logout,\n OAuthUserAgent,\n restoreOrFinalize,\n TokenRefreshError,\n} from \"./oauth.js\";\n\n/**\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 DiffuseElement {\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: () => this.listRecords(\"sh.diffuse.output.playlistItem\"),\n put: (data) => this.#putRecords(\"sh.diffuse.output.playlistItem\", data),\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: () => this.listRecords(\"sh.diffuse.output.track\"),\n put: (data) => this.#putRecords(\"sh.diffuse.output.track\", data),\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 // STATE\n\n did = this.#did.get;\n rev = this.#rev.get;\n\n ready = computed(() => {\n return this.#did.value !== null && this.#isOnline.value;\n });\n\n // LIFECYCLE\n\n /** @override */\n connectedCallback() {\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 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 if (!this.#rpc || !did) return null;\n\n try {\n /** @type {any} */\n const result = await ok(this.#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 if (!this.#rpc || !did) return [];\n\n try {\n const records = [];\n let cursor;\n\n do {\n /** @type {any} */\n const page = await ok(this.#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 */\n async #putRecords(collection, data) {\n if (!this.#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 let cursor;\n\n do {\n /** @type {any} */\n const page = await ok(this.#rpc.get(\n \"com.atproto.repo.listRecords\",\n { params: { repo: this.#did.value, collection, limit: 100, cursor } },\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 writes = [];\n\n for (const [id, { rkey }] of existing) {\n if (!desired.has(id)) {\n writes.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 writes.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 writes.push({\n $type: \"com.atproto.repo.applyWrites#update\",\n collection,\n rkey: entry.rkey,\n value: record,\n });\n }\n }\n\n // 4. Apply\n if (writes.length > 0) {\n /** @type {any} */\n const result = await ok(this.#rpc.post(\"com.atproto.repo.applyWrites\", {\n input: { repo: this.#did.value, writes },\n }));\n\n if (result?.commit?.rev) {\n this.#rev.value = result.commit.rev;\n }\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-7XPM3FOM.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-BT6SPCM2.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-BT6SPCM2.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-BT6SPCM2.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-BT6SPCM2.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-BUBM2UB3.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-BUBM2UB3.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-BUBM2UB3.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-BUBM2UB3.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CMU4QLMC.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CMU4QLMC.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CRZ7HJJ4.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CRZ7HJJ4.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CWBOQXH6.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CWBOQXH6.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CWBOQXH6.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CWBOQXH6.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CZYH5TCN.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CZYH5TCN.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-CZYH5TCN.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-CZYH5TCN.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-DBY4UFCR.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-DBY4UFCR.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-DBY4UFCR.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-DBY4UFCR.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-DDF5P57I.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-DDF5P57I.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-E4JXX72S.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-E4JXX72S.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-E4JXX72S.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-E4JXX72S.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-E6H4GVL4.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-E6H4GVL4.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-E6H4GVL4.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-E6H4GVL4.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EEUCFWD4.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EEUCFWD4.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EEZ5A5ST.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-EEZ5A5ST.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EEZ5A5ST.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-EEZ5A5ST.js.map
+537
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EVQ6TWZV.js
··· 1 + import { 2 + NAME as NAME2 3 + } from "./chunk-VBDBYJMS.js"; 4 + import { 5 + NAME 6 + } from "./chunk-7XPM3FOM.js"; 7 + import { 8 + A, 9 + DiffuseElement, 10 + query 11 + } from "./chunk-52F6J3SQ.js"; 12 + import { 13 + signal 14 + } from "./chunk-IZOBPV2S.js"; 15 + import { 16 + __name, 17 + init_Buffer, 18 + init_process 19 + } from "./chunk-FZQXS3RE.js"; 20 + 21 + // themes/webamp/configurators/output/element.js 22 + init_Buffer(); 23 + init_process(); 24 + var OutputConfig = class extends DiffuseElement { 25 + static { 26 + __name(this, "OutputConfig"); 27 + } 28 + constructor() { 29 + super(); 30 + this.attachShadow({ mode: "open" }); 31 + } 32 + // SIGNALS 33 + $output = signal( 34 + /** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements> | undefined} */ 35 + void 0 36 + ); 37 + $atproto = signal( 38 + /** @type {ATProtoOutputElement | null} */ 39 + null 40 + ); 41 + $s3 = signal( 42 + /** @type {S3OutputElement | null} */ 43 + null 44 + ); 45 + $tab = signal("overview"); 46 + // LIFECYCLE 47 + /** @override */ 48 + async connectedCallback() { 49 + super.connectedCallback(); 50 + const output = query(this, "output-selector"); 51 + await customElements.whenDefined(output.localName); 52 + this.$output.value = output; 53 + const atproto = output.root().querySelector(NAME); 54 + if (atproto) { 55 + this.$atproto.value = /** @type {ATProtoOutputElement} */ 56 + atproto; 57 + } 58 + const s3 = output.root().querySelector(NAME2); 59 + if (s3) { 60 + this.$s3.value = /** @type {S3OutputElement} */ 61 + s3; 62 + } 63 + } 64 + // EVENTS 65 + /** @param {Event} event */ 66 + #handleAtprotoLogin = /* @__PURE__ */ __name(async (event) => { 67 + event.preventDefault(); 68 + const input = this.root().querySelector("#atproto-handle"); 69 + const handle = input?.value?.trim(); 70 + if (!handle) return; 71 + const atproto = this.$atproto.value; 72 + if (!atproto) return; 73 + const button = this.root().querySelector("#atproto-submit"); 74 + if (button) { 75 + button.disabled = true; 76 + button.textContent = "Loading ..."; 77 + } 78 + await atproto.login(handle); 79 + }, "#handleAtprotoLogin"); 80 + #handleAtprotoLogout = /* @__PURE__ */ __name(async () => { 81 + const atproto = this.$atproto.value; 82 + if (!atproto) return; 83 + await atproto.logout(); 84 + }, "#handleAtprotoLogout"); 85 + /** @param {Event} event */ 86 + #handleAtprotoActivate = /* @__PURE__ */ __name(async (event) => { 87 + event.preventDefault(); 88 + const output = this.$output.value; 89 + if (!output || !("select" in output)) return; 90 + const atproto = this.$atproto.value; 91 + if (!atproto) return; 92 + const option = (await output.options()).find( 93 + (o) => o.label === "AT Protocol" 94 + ); 95 + if (option) await output.select(option.id); 96 + }, "#handleAtprotoActivate"); 97 + /** 98 + * @param {Event} event 99 + */ 100 + #handleS3SetBucket = /* @__PURE__ */ __name(async (event) => { 101 + event.preventDefault(); 102 + const s3 = this.$s3.value; 103 + if (!s3) return; 104 + const button = this.root().querySelector("#s3-submit"); 105 + if (button) button.disabled = true; 106 + const accessKey = ( 107 + /** @type {HTMLInputElement | null} */ 108 + this.root().querySelector( 109 + "#s3-access-key" 110 + )?.value 111 + ); 112 + const bucketName = ( 113 + /** @type {HTMLInputElement | null} */ 114 + this.root().querySelector( 115 + "#s3-bucket-name" 116 + )?.value 117 + ); 118 + const host = ( 119 + /** @type {HTMLInputElement | null} */ 120 + this.root().querySelector( 121 + "#s3-host" 122 + )?.value 123 + ); 124 + const path = ( 125 + /** @type {HTMLInputElement | null} */ 126 + this.root().querySelector( 127 + "#s3-path" 128 + )?.value 129 + ); 130 + const region = ( 131 + /** @type {HTMLInputElement | null} */ 132 + this.root().querySelector( 133 + "#s3-region" 134 + )?.value 135 + ); 136 + const secretKey = ( 137 + /** @type {HTMLInputElement | null} */ 138 + this.root().querySelector( 139 + "#s3-secret-key" 140 + )?.value 141 + ); 142 + if (!accessKey || !bucketName || !secretKey) return; 143 + const bucket = { 144 + accessKey, 145 + bucketName, 146 + host: host?.length ? host.replace(/^\w+:\/\//, "") : "s3.amazonaws.com", 147 + path: path?.length ? path : "/", 148 + region: region?.length ? region : "us-east-1", 149 + secretKey 150 + }; 151 + await s3.setBucket(bucket); 152 + if (button) button.disabled = false; 153 + }, "#handleS3SetBucket"); 154 + #handleS3Unset = /* @__PURE__ */ __name(async () => { 155 + const s3 = this.$s3.value; 156 + if (!s3) return; 157 + await s3.unsetBucket(); 158 + }, "#handleS3Unset"); 159 + /** @param {Event} event */ 160 + #handleS3Activate = /* @__PURE__ */ __name(async (event) => { 161 + event.preventDefault(); 162 + const output = this.$output.value; 163 + if (!output || !("select" in output)) return; 164 + const s3 = this.$s3.value; 165 + if (!s3) return; 166 + const option = (await output.options()).find((o) => o.label === "S3"); 167 + if (option) await output.select(option.id); 168 + }, "#handleS3Activate"); 169 + #handleDeactivate = /* @__PURE__ */ __name(async () => { 170 + const output = this.$output.value; 171 + if (!output || !("deselect" in output)) return; 172 + await output.deselect(); 173 + }, "#handleDeactivate"); 174 + // RENDER 175 + /** 176 + * @param {RenderArg} _ 177 + */ 178 + render({ html }) { 179 + return html` 180 + <link rel="stylesheet" href="styles/vendor/98.css" /> 181 + <link rel="stylesheet" href="themes/webamp/98-extra.css" /> 182 + 183 + <style> 184 + @import "./themes/webamp/98-vars.css"; 185 + 186 + .button-row { 187 + display: inline-flex; 188 + gap: var(--grouped-button-spacing); 189 + } 190 + 191 + #tabbed { 192 + display: flex; 193 + flex-direction: column; 194 + height: 100%; 195 + } 196 + 197 + .window { 198 + flex: 1; 199 + overflow-y: auto; 200 + } 201 + 202 + /* TABS */ 203 + 204 + menu[role="tablist"] { 205 + padding-top: 2px; 206 + 207 + li > label { 208 + cursor: pointer; 209 + display: block; 210 + padding: var(--radio-label-spacing); 211 + } 212 + 213 + li[aria-selected="true"] { 214 + padding-bottom: 2px; 215 + margin-top: -2px; 216 + background-color: var(--surface); 217 + position: relative; 218 + z-index: 8; 219 + margin-left: -3px; 220 + } 221 + } 222 + </style> 223 + 224 + <div id="tabbed"> 225 + <menu role="tablist" class="multirows"> 226 + <li role="tab" aria-selected="${this.$tab.value === "overview"}"> 227 + <label @click="${() => this.$tab.value = "overview"}"> 228 + <span>Overview</span> 229 + </label> 230 + </li> 231 + <li role="tab" aria-selected="${this.$tab.value === "atproto"}"> 232 + <label @click="${() => this.$tab.value = "atproto"}"> 233 + <span>AT Protocol</span> 234 + </label> 235 + </li> 236 + <li role="tab" aria-selected="${this.$tab.value === "s3"}"> 237 + <label @click="${() => this.$tab.value = "s3"}"> 238 + <span>S3</span> 239 + </label> 240 + </li> 241 + </menu> 242 + 243 + <div class="window" role="tabpanel"> 244 + ${this.#renderTab(html)} 245 + </div> 246 + </div> 247 + `; 248 + } 249 + /** 250 + * @param {RenderArg["html"]} html 251 + */ 252 + #renderTab(html) { 253 + switch (this.$tab.value) { 254 + case "overview": 255 + return this.#renderOverviewTab(html); 256 + case "atproto": 257 + return this.#renderAtprotoTab(html); 258 + case "s3": 259 + return this.#renderS3Tab(html); 260 + default: 261 + return A; 262 + } 263 + } 264 + /** 265 + * @param {RenderArg["html"]} html 266 + */ 267 + #renderOverviewTab(html) { 268 + const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0; 269 + return html` 270 + <div class="window-body"> 271 + <fieldset> 272 + <span class="with-icon with-icon--large"> 273 + <img 274 + src="images/icons/windows_98/computer_user_pencil-0.png" 275 + width="24" 276 + /> 277 + <span>Here you can configure where to keep your user data.<br />Each 278 + storage method comes with its pros and cons.<br />By default your data 279 + is only kept locally here in the browser. 280 + </span> 281 + </span> 282 + </fieldset> 283 + 284 + <fieldset> 285 + <span class="with-icon with-icon--large"> 286 + <img 287 + src="images/icons/windows_98/msg_information-0.png" 288 + width="24" 289 + /> 290 + <span> 291 + Data does not transfer across storage methods!<br />You can however 292 + merge data between them though, if you wish to do so. 293 + </span> 294 + </span> 295 + </fieldset> 296 + 297 + <fieldset> 298 + <legend>Active storage method</legend> 299 + <div class="with-icon with-icon--large"> 300 + <img 301 + src="images/icons/windows_98/${selectedOutput ? `directory_channels-2.png` : `msg_warning-0.png`}" 302 + width="24" 303 + /> 304 + <div> 305 + ${this.$output.value && "selected" in this.$output.value ? selectedOutput ? html` 306 + <p> 307 + Selected output: 308 + <strong>${selectedOutput.label}</strong><br /> 309 + </p> 310 + <p> 311 + <button @click="${this.#handleDeactivate}">Deactivate</button> 312 + </p> 313 + ` : this.#defaultOutputMessage : this.#defaultOutputMessage} 314 + </div> 315 + </div> 316 + </fieldset> 317 + </div> 318 + `; 319 + } 320 + /** 321 + * @param {RenderArg["html"]} html 322 + */ 323 + #renderAtprotoTab(html) { 324 + const did = this.$atproto.value?.did() ?? null; 325 + const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0; 326 + const authenticated = /* @__PURE__ */ __name(() => { 327 + return html` 328 + <fieldset> 329 + <span class="with-icon with-icon--large"> 330 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 331 + <span>Signed in as <strong>${did}</strong></span> 332 + </span> 333 + </fieldset> 334 + 335 + <p class="button-row"> 336 + <button @click="${this.#handleAtprotoLogout}">Sign out</button> 337 + ${this.#renderAtprotoActivation(html, selectedOutput)} 338 + </p> 339 + `; 340 + }, "authenticated"); 341 + const unauthenticated = /* @__PURE__ */ __name(() => { 342 + return html` 343 + <fieldset> 344 + <span class="with-icon with-icon--large"> 345 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 346 + <span> 347 + Store your user data on the storage associated with your AT Protocol 348 + identity. 349 + </span> 350 + </span> 351 + </fieldset> 352 + 353 + <form @submit="${this.#handleAtprotoLogin}"> 354 + <fieldset> 355 + <div class="field-row"> 356 + <label for="atproto-handle">Your internet handle:</label> 357 + <input 358 + id="atproto-handle" 359 + type="text" 360 + required 361 + placeholder="you.bsky.social" 362 + /> 363 + </div> 364 + </fieldset> 365 + 366 + <p> 367 + <button type="submit" id="atproto-submit">Sign in</button> 368 + ${this.#renderAtprotoActivation(html, selectedOutput)} 369 + </p> 370 + </form> 371 + `; 372 + }, "unauthenticated"); 373 + return html` 374 + <div class="window-body"> 375 + ${did ? authenticated() : unauthenticated()} 376 + </div> 377 + `; 378 + } 379 + /** 380 + * @param {RenderArg["html"]} html 381 + */ 382 + #renderS3Tab(html) { 383 + const s3 = this.$s3.value; 384 + const ready = s3?.ready() ?? false; 385 + const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0; 386 + const configured = /* @__PURE__ */ __name(() => { 387 + const bucket = s3?.bucket(); 388 + return html` 389 + <fieldset> 390 + <div class="with-icon with-icon--large"> 391 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 392 + <div> 393 + Bucket configured: 394 + <ul 395 + style="margin-bottom: 0; padding-left: 0; list-style-position: inside;" 396 + > 397 + <li>Name: <strong>${bucket?.bucketName}</strong></li> 398 + <li>Host: ${bucket?.host}</li> 399 + <li>Access key: ${bucket?.accessKey}</li> 400 + </ul> 401 + </div> 402 + </div> 403 + </fieldset> 404 + 405 + <fieldset> 406 + <span class="with-icon with-icon--large"> 407 + <img 408 + src="images/icons/windows_98/msg_information-0.png" 409 + width="24" 410 + /> 411 + <span> 412 + Make sure the bucket has CORS configured properly. 413 + </span> 414 + </span> 415 + </fieldset> 416 + 417 + <p class="button-row"> 418 + <button id="s3-unset-bucket" @click="${this.#handleS3Unset}"> 419 + Remove bucket configuration 420 + </button> 421 + ${this.#renderS3Activation(html, selectedOutput)} 422 + </p> 423 + `; 424 + }, "configured"); 425 + const unconfigured = /* @__PURE__ */ __name(() => { 426 + return html` 427 + <fieldset> 428 + <span class="with-icon with-icon--large"> 429 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 430 + <span> 431 + Store your user data on an S3-compatible storage service. 432 + </span> 433 + </span> 434 + </fieldset> 435 + 436 + <form @submit="${this.#handleS3SetBucket}"> 437 + <fieldset> 438 + <legend>Bucket details</legend> 439 + 440 + <div class="field-row"> 441 + <label for="s3-access-key">Access Key:*</label> 442 + <input type="text" id="s3-access-key" required /> 443 + </div> 444 + 445 + <div class="field-row"> 446 + <label for="s3-secret-key">Secret Key:*</label> 447 + <input type="password" id="s3-secret-key" required /> 448 + </div> 449 + 450 + <div class="field-row"> 451 + <label for="s3-bucket-name">Bucket Name:*</label> 452 + <input type="text" id="s3-bucket-name" required /> 453 + </div> 454 + 455 + <div class="field-row"> 456 + <label for="s3-host">Host:</label> 457 + <input 458 + type="text" 459 + id="s3-host" 460 + placeholder="s3.amazonaws.com" 461 + /> 462 + </div> 463 + 464 + <div class="field-row"> 465 + <label for="s3-region">Region:</label> 466 + <input 467 + type="text" 468 + id="s3-region" 469 + placeholder="us-east-1" 470 + /> 471 + </div> 472 + 473 + <div class="field-row"> 474 + <label for="s3-path">Path:</label> 475 + <input type="text" id="s3-path" /> 476 + </div> 477 + 478 + <p> 479 + * are required fields. 480 + </p> 481 + </fieldset> 482 + 483 + <p> 484 + <button type="submit" id="s3-submit">Set bucket</button> 485 + ${this.#renderS3Activation(html, selectedOutput)} 486 + </p> 487 + </form> 488 + `; 489 + }, "unconfigured"); 490 + return html` 491 + <div class="window-body"> 492 + ${ready ? configured() : unconfigured()} 493 + </div> 494 + `; 495 + } 496 + /** 497 + * @param {RenderArg['html']} html 498 + * @param {VariousOutputElements | null | undefined} selectedOutput 499 + */ 500 + #renderAtprotoActivation(html, selectedOutput) { 501 + const output = this.$output.value; 502 + if (!output || !("select" in output)) return A; 503 + const isActive = selectedOutput?.label === "AT Protocol"; 504 + return isActive ? html` 505 + <button @click="${this.#handleDeactivate}">Deactivate</button> 506 + ` : html` 507 + <button @click="${this.#handleAtprotoActivate}">Activate this storage</button> 508 + `; 509 + } 510 + /** 511 + * @param {RenderArg['html']} html 512 + * @param {VariousOutputElements | null | undefined} selectedOutput 513 + */ 514 + #renderS3Activation(html, selectedOutput) { 515 + const output = this.$output.value; 516 + if (!output || !("select" in output)) return A; 517 + const isActive = selectedOutput?.label === "S3"; 518 + return isActive ? html` 519 + <button @click="${this.#handleDeactivate}">Deactivate</button> 520 + ` : html` 521 + <button @click="${this.#handleS3Activate}">Activate this storage</button> 522 + `; 523 + } 524 + #defaultOutputMessage = "Storing data locally in the browser without any backup or syncing enabled."; 525 + }; 526 + var element_default = OutputConfig; 527 + var CLASS = OutputConfig; 528 + var NAME3 = "dtw-output-config"; 529 + customElements.define(NAME3, CLASS); 530 + 531 + export { 532 + element_default, 533 + CLASS, 534 + NAME3 as NAME 535 + }; 536 + 537 + //# sourceMappingURL=./chunk-EVQ6TWZV.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-EVQ6TWZV.js.map
··· 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\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 {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 $s3 = signal(\n /** @type {S3OutputElement | null} */ (null),\n );\n\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 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 await atproto.login(handle);\n };\n\n #handleAtprotoLogout = async () => {\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n await atproto.logout();\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 <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 <form @submit=\"${this.#handleAtprotoLogin}\">\n <fieldset>\n <div 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 </div>\n </fieldset>\n\n <p>\n <button type=\"submit\" id=\"atproto-submit\">Sign in</button>\n ${this.#renderAtprotoActivation(html, selectedOutput)}\n </p>\n </form>\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 * @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-EVQ6TWZV.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-F27JDJI2.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-F27JDJI2.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-F74HSTJN.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-F74HSTJN.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-F74HSTJN.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-F74HSTJN.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FAW4EB7G.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FAW4EB7G.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FPIXTJ7E.js
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FPIXTJ7E.js.map
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FVLUJBZP.js
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FVLUJBZP.js.map
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js.map
+86
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FVRMQKBS.js
··· 1 + import { 2 + outputManager 3 + } from "./chunk-3QHZWZIL.js"; 4 + import { 5 + IDB_PREFIX 6 + } from "./chunk-FAW4EB7G.js"; 7 + import { 8 + get, 9 + set 10 + } from "./chunk-JBHW662S.js"; 11 + import { 12 + DiffuseElement 13 + } from "./chunk-52F6J3SQ.js"; 14 + import { 15 + __name, 16 + init_Buffer, 17 + init_process 18 + } from "./chunk-FZQXS3RE.js"; 19 + 20 + // components/output/polymorphic/indexed-db/element.js 21 + init_Buffer(); 22 + init_process(); 23 + var IndexedDBOutput = class extends DiffuseElement { 24 + static { 25 + __name(this, "IndexedDBOutput"); 26 + } 27 + static NAME = "diffuse/output/polymorphic/indexed-db"; 28 + static WORKER_URL = "components/output/polymorphic/indexed-db/worker.js"; 29 + #manager; 30 + constructor() { 31 + super(); 32 + this.#manager = outputManager({ 33 + facets: { 34 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 35 + get: /* @__PURE__ */ __name(() => this.#get("facets"), "get"), 36 + put: /* @__PURE__ */ __name((data) => this.#put("facets", data), "put") 37 + }, 38 + init: /* @__PURE__ */ __name(() => this.whenConnected(), "init"), 39 + playlistItems: { 40 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 41 + get: /* @__PURE__ */ __name(() => this.#get("playlistItems"), "get"), 42 + put: /* @__PURE__ */ __name((data) => this.#put("playlistItems", data), "put") 43 + }, 44 + themes: { 45 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 46 + get: /* @__PURE__ */ __name(() => this.#get("themes"), "get"), 47 + put: /* @__PURE__ */ __name((data) => this.#put("themes", data), "put") 48 + }, 49 + tracks: { 50 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 51 + get: /* @__PURE__ */ __name(() => this.#get("tracks"), "get"), 52 + put: /* @__PURE__ */ __name((data) => this.#put("tracks", data), "put") 53 + } 54 + }); 55 + this.facets = this.#manager.facets; 56 + this.playlistItems = this.#manager.playlistItems; 57 + this.themes = this.#manager.themes; 58 + this.tracks = this.#manager.tracks; 59 + this.ready = () => true; 60 + } 61 + // GET & PUT 62 + /** @param {string} name */ 63 + #get = /* @__PURE__ */ __name((name) => get(`${IDB_PREFIX}/${this.#cat(name)}`), "#get"); 64 + /** @param {string} name; @param {any} data */ 65 + #put = /* @__PURE__ */ __name((name, data) => set(`${IDB_PREFIX}/${this.#cat(name)}`, data), "#put"); 66 + // 🛠️ 67 + get namespace() { 68 + return this.hasAttribute("namespace") ? this.getAttribute("namespace") + "/" : ""; 69 + } 70 + /** @param {string} name */ 71 + #cat(name) { 72 + return `${this.namespace}${name}`; 73 + } 74 + }; 75 + var element_default = IndexedDBOutput; 76 + var CLASS = IndexedDBOutput; 77 + var NAME = "dop-indexed-db"; 78 + customElements.define(NAME, IndexedDBOutput); 79 + 80 + export { 81 + element_default, 82 + CLASS, 83 + NAME 84 + }; 85 + 86 + //# sourceMappingURL=./chunk-FVRMQKBS.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FVRMQKBS.js.map
··· 1 + {"version":3,"sources":["/components/output/polymorphic/indexed-db/element.js"],"sourcesContent":["import * as IDB from \"idb-keyval\";\n\nimport { IDB_PREFIX } from \"./constants.js\";\nimport { DiffuseElement } from \"@common/element.js\";\nimport { outputManager } from \"../../common.js\";\n\n/**\n * @import {OutputElement, OutputManager, OutputWorkerActions} from \"../../types.d.ts\"\n * @import {SupportedDataTypes} from \"./types.d.ts\"\n */\n\n////////////////////////////////////////////\n// ELEMENT\n////////////////////////////////////////////\n\n/**\n * @implements {OutputElement<SupportedDataTypes>}\n */\nclass IndexedDBOutput extends DiffuseElement {\n static NAME = \"diffuse/output/polymorphic/indexed-db\";\n static WORKER_URL = \"components/output/polymorphic/indexed-db/worker.js\";\n\n #manager;\n\n constructor() {\n super();\n\n /** @type {OutputManager<SupportedDataTypes>} */\n this.#manager = outputManager({\n facets: {\n empty: () => undefined,\n get: () => this.#get(\"facets\"),\n put: (data) => this.#put(\"facets\", data),\n },\n init: () => this.whenConnected(),\n playlistItems: {\n empty: () => undefined,\n get: () => this.#get(\"playlistItems\"),\n put: (data) => this.#put(\"playlistItems\", data),\n },\n themes: {\n empty: () => undefined,\n get: () => this.#get(\"themes\"),\n put: (data) => this.#put(\"themes\", data),\n },\n tracks: {\n empty: () => undefined,\n get: () => this.#get(\"tracks\"),\n put: (data) => this.#put(\"tracks\", data),\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 this.ready = () => true;\n }\n\n // GET & PUT\n\n /** @param {string} name */\n #get = (name) => IDB.get(`${IDB_PREFIX}/${this.#cat(name)}`);\n\n /** @param {string} name; @param {any} data */\n #put = (name, data) => IDB.set(`${IDB_PREFIX}/${this.#cat(name)}`, data);\n\n // 🛠️\n\n get namespace() {\n return this.hasAttribute(\"namespace\")\n ? this.getAttribute(\"namespace\") + \"/\"\n : \"\";\n }\n\n /** @param {string} name */\n #cat(name) {\n return `${this.namespace}${name}`;\n }\n}\n\nexport default IndexedDBOutput;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = IndexedDBOutput;\nexport const NAME = \"dop-indexed-db\";\n\ncustomElements.define(NAME, IndexedDBOutput);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAkBA,IAAM,kBAAN,cAA8B,eAAe;AAAA,EAlB7C,OAkB6C;AAAA;AAAA;AAAA,EAC3C,OAAO,OAAO;AAAA,EACd,OAAO,aAAa;AAAA,EAEpB;AAAA,EAEA,cAAc;AACZ,UAAM;AAGN,SAAK,WAAW,cAAc;AAAA,MAC5B,QAAQ;AAAA,QACN,OAAO,6BAAM,QAAN;AAAA,QACP,KAAK,6BAAM,KAAK,KAAK,QAAQ,GAAxB;AAAA,QACL,KAAK,wBAAC,SAAS,KAAK,KAAK,UAAU,IAAI,GAAlC;AAAA,MACP;AAAA,MACA,MAAM,6BAAM,KAAK,cAAc,GAAzB;AAAA,MACN,eAAe;AAAA,QACb,OAAO,6BAAM,QAAN;AAAA,QACP,KAAK,6BAAM,KAAK,KAAK,eAAe,GAA/B;AAAA,QACL,KAAK,wBAAC,SAAS,KAAK,KAAK,iBAAiB,IAAI,GAAzC;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,QACN,OAAO,6BAAM,QAAN;AAAA,QACP,KAAK,6BAAM,KAAK,KAAK,QAAQ,GAAxB;AAAA,QACL,KAAK,wBAAC,SAAS,KAAK,KAAK,UAAU,IAAI,GAAlC;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,QACN,OAAO,6BAAM,QAAN;AAAA,QACP,KAAK,6BAAM,KAAK,KAAK,QAAQ,GAAxB;AAAA,QACL,KAAK,wBAAC,SAAS,KAAK,KAAK,UAAU,IAAI,GAAlC;AAAA,MACP;AAAA,IACF,CAAC;AAED,SAAK,SAAS,KAAK,SAAS;AAC5B,SAAK,gBAAgB,KAAK,SAAS;AACnC,SAAK,SAAS,KAAK,SAAS;AAC5B,SAAK,SAAS,KAAK,SAAS;AAE5B,SAAK,QAAQ,MAAM;AAAA,EACrB;AAAA;AAAA;AAAA,EAKA,OAAO,wBAAC,SAAa,IAAI,GAAG,UAAU,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,GAApD;AAAA;AAAA,EAGP,OAAO,wBAAC,MAAM,SAAa,IAAI,GAAG,UAAU,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,GAAhE;AAAA;AAAA,EAIP,IAAI,YAAY;AACd,WAAO,KAAK,aAAa,WAAW,IAChC,KAAK,aAAa,WAAW,IAAI,MACjC;AAAA,EACN;AAAA;AAAA,EAGA,KAAK,MAAM;AACT,WAAO,GAAG,KAAK,SAAS,GAAG,IAAI;AAAA,EACjC;AACF;AAEA,IAAO,kBAAQ;AAMR,IAAM,QAAQ;AACd,IAAM,OAAO;AAEpB,eAAe,OAAO,MAAM,eAAe;","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-FVRMQKBS.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FZQXS3RE.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-FZQXS3RE.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-G56PUJUJ.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-G56PUJUJ.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-GX3WPNEX.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-GX3WPNEX.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-HI6EUDY3.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-HI6EUDY3.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-HI6EUDY3.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-HI6EUDY3.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-HN4F5JEZ.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-HN4F5JEZ.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-IPJO7YD4.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-IPJO7YD4.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-IPJO7YD4.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-IPJO7YD4.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-IZOBPV2S.js
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-IZOBPV2S.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-IZOBPV2S.js.map
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-IZOBPV2S.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-J3RUTL7I.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-J3RUTL7I.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-J3RUTL7I.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-J3RUTL7I.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-J67JY2AB.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-J67JY2AB.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-JBHW662S.js
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-JBHW662S.js.map
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-JH6MOGSD.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-JH6MOGSD.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-JH6MOGSD.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-JH6MOGSD.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-JHKODV4C.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-JHKODV4C.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-JHKODV4C.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-JHKODV4C.js.map
+125
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-KIXJZP53.js
··· 1 + import { 2 + BroadcastableDiffuseElement, 3 + query 4 + } from "./chunk-52F6J3SQ.js"; 5 + import { 6 + computed, 7 + signal 8 + } from "./chunk-IZOBPV2S.js"; 9 + import { 10 + __name, 11 + init_Buffer, 12 + init_process 13 + } from "./chunk-FZQXS3RE.js"; 14 + 15 + // components/transformer/output/base.js 16 + init_Buffer(); 17 + init_process(); 18 + var OutputTransformer = class extends BroadcastableDiffuseElement { 19 + static { 20 + __name(this, "OutputTransformer"); 21 + } 22 + // SIGNALS 23 + #output = signal( 24 + /** @type {OutputElement<T> | undefined} */ 25 + void 0, 26 + { 27 + eager: true 28 + } 29 + ); 30 + #outputWhenDefined = Promise.withResolvers(); 31 + output = { 32 + whenDefined: this.#outputWhenDefined.promise, 33 + signal: this.#output.get 34 + }; 35 + // LIFECYCLE 36 + /** 37 + * @override 38 + */ 39 + connectedCallback() { 40 + super.connectedCallback(); 41 + const output = query(this, "output-selector"); 42 + customElements.whenDefined(output.localName).then(() => { 43 + this.#output.value = output; 44 + this.#outputWhenDefined.resolve(null); 45 + }); 46 + } 47 + // MANAGER 48 + base() { 49 + const m = { 50 + facets: { 51 + collection: computed(() => { 52 + return this.output.signal()?.facets?.collection(); 53 + }), 54 + reload: /* @__PURE__ */ __name(() => { 55 + return this.output.signal()?.facets?.reload() ?? Promise.resolve(); 56 + }, "reload"), 57 + save: /* @__PURE__ */ __name(async (newFacets) => { 58 + if (newFacets === void 0) return; 59 + await this.output.whenDefined; 60 + await this.output.signal()?.facets.save(newFacets); 61 + }, "save"), 62 + state: computed(() => { 63 + return this.output.signal()?.facets.state() ?? "sleeping"; 64 + }) 65 + }, 66 + playlistItems: { 67 + collection: computed(() => { 68 + return this.output.signal()?.playlistItems?.collection(); 69 + }), 70 + reload: /* @__PURE__ */ __name(() => { 71 + return this.output.signal()?.playlistItems?.reload() ?? Promise.resolve(); 72 + }, "reload"), 73 + save: /* @__PURE__ */ __name(async (newPlaylistItems) => { 74 + if (newPlaylistItems === void 0) return; 75 + await this.output.whenDefined; 76 + await this.output.signal()?.playlistItems.save(newPlaylistItems); 77 + }, "save"), 78 + state: computed(() => { 79 + return this.output.signal()?.playlistItems.state() ?? "sleeping"; 80 + }) 81 + }, 82 + themes: { 83 + collection: computed(() => { 84 + return this.output.signal()?.themes?.collection(); 85 + }), 86 + reload: /* @__PURE__ */ __name(() => { 87 + return this.output.signal()?.themes?.reload() ?? Promise.resolve(); 88 + }, "reload"), 89 + save: /* @__PURE__ */ __name(async (newThemes) => { 90 + if (newThemes === void 0) return; 91 + await this.output.whenDefined; 92 + await this.output.signal()?.themes.save(newThemes); 93 + }, "save"), 94 + state: computed(() => { 95 + return this.output.signal()?.themes.state() ?? "sleeping"; 96 + }) 97 + }, 98 + tracks: { 99 + collection: computed(() => { 100 + return this.output.signal()?.tracks?.collection(); 101 + }), 102 + reload: /* @__PURE__ */ __name(() => { 103 + return this.output.signal()?.tracks?.reload() ?? Promise.resolve(); 104 + }, "reload"), 105 + save: /* @__PURE__ */ __name(async (newTracks) => { 106 + if (newTracks === void 0) return; 107 + await this.output.whenDefined; 108 + await this.output.signal()?.tracks.save(newTracks); 109 + }, "save"), 110 + state: computed(() => { 111 + return this.output.signal()?.tracks.state() ?? "sleeping"; 112 + }) 113 + }, 114 + // Other non-data related state 115 + ready: computed(() => this.output.signal()?.ready() ?? false) 116 + }; 117 + return m; 118 + } 119 + }; 120 + 121 + export { 122 + OutputTransformer 123 + }; 124 + 125 + //# sourceMappingURL=./chunk-KIXJZP53.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-KIXJZP53.js.map
··· 1 + {"version":3,"sources":["/components/transformer/output/base.js"],"sourcesContent":["import { BroadcastableDiffuseElement, query } from \"@common/element.js\";\nimport { computed, signal } from \"@common/signal.js\";\n\n/**\n * @import { OutputElement, OutputManagerDeputy } from \"../../output/types.d.ts\"\n */\n\n/**\n * @template [T=null]\n */\nexport class OutputTransformer extends BroadcastableDiffuseElement {\n // SIGNALS\n\n #output = signal(/** @type {OutputElement<T> | undefined} */ (undefined), {\n eager: true,\n });\n #outputWhenDefined = Promise.withResolvers();\n\n output = {\n whenDefined: this.#outputWhenDefined.promise,\n signal: this.#output.get,\n };\n\n // LIFECYCLE\n\n /**\n * @override\n */\n connectedCallback() {\n super.connectedCallback();\n\n /** @type {OutputElement<T>} */\n const output = query(this, \"output-selector\");\n\n // When defined\n customElements.whenDefined(output.localName).then(() => {\n this.#output.value = output;\n this.#outputWhenDefined.resolve(null);\n });\n }\n\n // MANAGER\n\n base() {\n /** @type {OutputManagerDeputy<T | undefined>} */\n const m = {\n facets: {\n collection: computed(() => {\n return this.output.signal()?.facets?.collection();\n }),\n reload: () => {\n return this.output.signal()?.facets?.reload() ??\n Promise.resolve();\n },\n save: async (newFacets) => {\n if (newFacets === undefined) return;\n await this.output.whenDefined;\n await this.output.signal()?.facets.save(newFacets);\n },\n state: computed(() => {\n return this.output.signal()?.facets.state() ?? \"sleeping\";\n }),\n },\n playlistItems: {\n collection: computed(() => {\n return this.output.signal()?.playlistItems?.collection();\n }),\n reload: () => {\n return this.output.signal()?.playlistItems?.reload() ??\n Promise.resolve();\n },\n save: async (newPlaylistItems) => {\n if (newPlaylistItems === undefined) return;\n await this.output.whenDefined;\n await this.output.signal()?.playlistItems.save(newPlaylistItems);\n },\n state: computed(() => {\n return this.output.signal()?.playlistItems.state() ?? \"sleeping\";\n }),\n },\n themes: {\n collection: computed(() => {\n return this.output.signal()?.themes?.collection();\n }),\n reload: () => {\n return this.output.signal()?.themes?.reload() ??\n Promise.resolve();\n },\n save: async (newThemes) => {\n if (newThemes === undefined) return;\n await this.output.whenDefined;\n await this.output.signal()?.themes.save(newThemes);\n },\n state: computed(() => {\n return this.output.signal()?.themes.state() ?? \"sleeping\";\n }),\n },\n tracks: {\n collection: computed(() => {\n return this.output.signal()?.tracks?.collection();\n }),\n reload: () => {\n return this.output.signal()?.tracks?.reload() ?? Promise.resolve();\n },\n save: async (newTracks) => {\n if (newTracks === undefined) return;\n await this.output.whenDefined;\n await this.output.signal()?.tracks.save(newTracks);\n },\n state: computed(() => {\n return this.output.signal()?.tracks.state() ?? \"sleeping\";\n }),\n },\n\n // Other non-data related state\n ready: computed(() => this.output.signal()?.ready() ?? false),\n };\n\n return m;\n }\n}\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-KIXJZP53.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-LC5ADJPD.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LC5ADJPD.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-LC5ADJPD.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LC5ADJPD.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-LHSDDKDM.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-LHSDDKDM.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-LHSDDKDM.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-LHSDDKDM.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-LQ2RJJ6P.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LQ2RJJ6P.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-LQ2RJJ6P.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-LQ2RJJ6P.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-M7I6ARGE.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-M7I6ARGE.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-M7I6ARGE.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-M7I6ARGE.js.map
+178
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-MTF6MUZY.js
··· 1 + import { 2 + o 3 + } from "./chunk-M7I6ARGE.js"; 4 + import { 5 + DEFAULT_GROUP, 6 + DiffuseElement 7 + } from "./chunk-52F6J3SQ.js"; 8 + import { 9 + __name, 10 + init_Buffer, 11 + init_process 12 + } from "./chunk-FZQXS3RE.js"; 13 + 14 + // components/orchestrator/output/element.js 15 + init_Buffer(); 16 + init_process(); 17 + var OutputOrchestrator = class extends DiffuseElement { 18 + static { 19 + __name(this, "OutputOrchestrator"); 20 + } 21 + static NAME = "diffuse/orchestrator/output"; 22 + // LIFECYCLE 23 + /** 24 + * @override 25 + */ 26 + async connectedCallback() { 27 + super.connectedCallback(); 28 + let previouslyActivated = /* @__PURE__ */ new Set(); 29 + this.effect(() => { 30 + const set = this.outputConfigurator.activated(); 31 + const newlyActicated = set.difference(previouslyActivated); 32 + newlyActicated.forEach((id) => { 33 + switch (id) { 34 + case "do-output__dc-output__local": { 35 + import("./components/output/polymorphic/indexed-db/element.js"); 36 + import("./components/transformer/output/string/json/element.js"); 37 + break; 38 + } 39 + case "do-output__dc-output__atproto": { 40 + import("./components/output/raw/atproto/element.js"); 41 + import("./components/transformer/output/raw/atproto-sync/element.js"); 42 + break; 43 + } 44 + case "do-output__dc-output__s3": { 45 + import("./components/output/bytes/s3/element.js"); 46 + import("./components/transformer/output/bytes/dasl-sync/element.js"); 47 + break; 48 + } 49 + } 50 + }); 51 + previouslyActivated = set; 52 + }); 53 + } 54 + // ELEMENT GETTERS 55 + /** 56 + * @returns {OutputElement} 57 + */ 58 + get output() { 59 + const output = this.root().querySelector("#do-output__output"); 60 + if (!output) throw new Error("Output orchestrator did not render yet."); 61 + return output; 62 + } 63 + /** 64 + * @returns {OutputConfiguratorElement} 65 + */ 66 + get outputConfigurator() { 67 + const outputConfigurator = this.root().querySelector( 68 + "#do-output__dc-output" 69 + ); 70 + if (!outputConfigurator) { 71 + throw new Error("Output orchestrator did not render yet."); 72 + } 73 + return outputConfigurator; 74 + } 75 + // PROXY OUTPUT ACTIONS 76 + get facets() { 77 + return this.output.facets; 78 + } 79 + get playlistItems() { 80 + return this.output.playlistItems; 81 + } 82 + get themes() { 83 + return this.output.themes; 84 + } 85 + get tracks() { 86 + return this.output.tracks; 87 + } 88 + get ready() { 89 + return this.output.ready; 90 + } 91 + // PROXY ADDITIONAL OUTPUT CONFIGURATOR ACTIONS 92 + get activated() { 93 + return this.outputConfigurator.activated; 94 + } 95 + get deselect() { 96 + return this.outputConfigurator.deselect; 97 + } 98 + get options() { 99 + return this.outputConfigurator.options; 100 + } 101 + get select() { 102 + return this.outputConfigurator.select; 103 + } 104 + get selected() { 105 + return this.outputConfigurator.selected; 106 + } 107 + // RENDER 108 + /** 109 + * @param {RenderArg} _ 110 + */ 111 + render({ html }) { 112 + const group = this.group === DEFAULT_GROUP ? void 0 : this.group; 113 + return html` 114 + <dop-indexed-db 115 + id="do-output__dop-indexed-db__json" 116 + namespace="json" 117 + ></dop-indexed-db> 118 + 119 + <dob-s3 id="do-output__dob-s3"></dob-s3> 120 + <dor-atproto id="do-output__dor-atproto"></dor-atproto> 121 + 122 + <!-- OUTPUT CONFIGURATOR --> 123 + <dc-output 124 + id="do-output__dc-output" 125 + default="do-output__dc-output__local" 126 + group="${o(group)}" 127 + > 128 + <!-- Local --> 129 + <dtos-json 130 + id="do-output__dc-output__local" 131 + output-selector="#do-output__dop-indexed-db__json" 132 + label="Local" 133 + ></dtos-json> 134 + 135 + <!-- ATProto --> 136 + <dtor-atproto-sync 137 + id="do-output__dc-output__atproto" 138 + namespace="atproto" 139 + output-selector="#do-output__dor-atproto" 140 + label="AT Protocol" 141 + ></dtor-atproto-sync> 142 + 143 + <!-- S3 --> 144 + <dtob-dasl-sync 145 + id="do-output__dc-output__s3" 146 + namespace="s3" 147 + output-selector="#do-output__dob-s3" 148 + label="S3" 149 + ></dtob-dasl-sync> 150 + </dc-output> 151 + 152 + <!-- REFINER --> 153 + <dtor-default 154 + id="do-output__dtor-default" 155 + output-selector="#do-output__dc-output" 156 + ></dtor-default> 157 + 158 + <!-- ENTRY ⬆️ --> 159 + <dtor-broadcast 160 + id="do-output__output" 161 + output-selector="#do-output__dtor-default" 162 + group="${o(group)}" 163 + ></dtor-broadcast> 164 + `; 165 + } 166 + }; 167 + var element_default = OutputOrchestrator; 168 + var CLASS = OutputOrchestrator; 169 + var NAME = "do-output"; 170 + customElements.define(NAME, CLASS); 171 + 172 + export { 173 + element_default, 174 + CLASS, 175 + NAME 176 + }; 177 + 178 + //# sourceMappingURL=./chunk-MTF6MUZY.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-MTF6MUZY.js.map
··· 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\";\nimport \"@components/transformer/output/replicator/broadcast/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 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 ></dop-indexed-db>\n\n <dob-s3 id=\"do-output__dob-s3\"></dob-s3>\n <dor-atproto id=\"do-output__dor-atproto\"></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-atproto-sync\n id=\"do-output__dc-output__atproto\"\n namespace=\"atproto\"\n output-selector=\"#do-output__dor-atproto\"\n label=\"AT Protocol\"\n ></dtor-atproto-sync>\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 label=\"S3\"\n ></dtob-dasl-sync>\n </dc-output>\n\n <!-- REFINER -->\n <dtor-default\n id=\"do-output__dtor-default\"\n output-selector=\"#do-output__dc-output\"\n ></dtor-default>\n\n <!-- ENTRY ⬆️ -->\n <dtor-broadcast\n id=\"do-output__output\"\n output-selector=\"#do-output__dtor-default\"\n group=\"${ifDefined(group)}\"\n ></dtor-broadcast>\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":";;;;;;;;;;;;;;AAAA;AAAA;AAsBA,IAAM,qBAAN,cAAiC,eAAe;AAAA,EAtBhD,OAsBgD;AAAA;AAAA;AAAA,EAC9C,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOd,MAAM,oBAAoB;AACxB,UAAM,kBAAkB;AAGxB,QAAI,sBAAsB,oBAAI,IAAI;AAElC,SAAK,OAAO,MAAM;AAChB,YAAM,MAAM,KAAK,mBAAmB,UAAU;AAC9C,YAAM,iBAAiB,IAAI,WAAW,mBAAmB;AAEzD,qBAAe,QAAQ,CAAC,OAAO;AAC7B,gBAAQ,IAAI;AAAA,UACV,KAAK,+BAA+B;AAClC,mBAAO,uDAAsD;AAC7D,mBAAO,wDAAuD;AAC9D;AAAA,UACF;AAAA,UACA,KAAK,iCAAiC;AACpC,mBAAO,4CAA2C;AAClD,mBACE,6DACF;AACA;AAAA,UACF;AAAA,UACA,KAAK,4BAA4B;AAC/B,mBAAO,yCAAwC;AAC/C,mBAAO,4DAA2D;AAClE;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAED,4BAAsB;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,SAAS;AAEX,UAAM,SAAS,KAAK,KAAK,EAAE,cAAc,oBAAoB;AAE7D,QAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,yCAAyC;AACtE,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AAEvB,UAAM,qBAAqB,KAAK,KAAK,EAAE;AAAA,MACrC;AAAA,IACF;AAEA,QAAI,CAAC,oBAAoB;AACvB,YAAM,IAAI,MAAM,yCAAyC;AAAA,IAC3D;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAIA,IAAI,SAAS;AACX,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA;AAAA,EAIA,IAAI,YAAY;AACd,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,mBAAmB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,EAAE,KAAK,GAAG;AACf,UAAM,QAAQ,KAAK,UAAU,gBAAgB,SAAY,KAAK;AAE9D,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAaM,EAAU,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAoChB,EAAU,KAAK,CAAC;AAAA;AAAA;AAAA,EAG/B;AACF;AAEA,IAAO,kBAAQ;AAMR,IAAM,QAAQ;AACd,IAAM,OAAO;AAEpB,eAAe,OAAO,MAAM,KAAK;","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-MTF6MUZY.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-NB2M3NWG.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NB2M3NWG.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-NB2M3NWG.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NB2M3NWG.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-NC2PKDLJ.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NC2PKDLJ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-NC2PKDLJ.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-NC2PKDLJ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-NZ7ODGIJ.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-NZ7ODGIJ.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-O4TYPAUO.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-O4TYPAUO.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-O4TYPAUO.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-O4TYPAUO.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-OENN55R6.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-OENN55R6.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-OENN55R6.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-OENN55R6.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-PJWFBDSG.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-PJWFBDSG.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-PRNTAB7W.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-PRNTAB7W.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-PRNTAB7W.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-PRNTAB7W.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-PTVB4Y37.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-PTVB4Y37.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-QBVAW255.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-QBVAW255.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-QBVAW255.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-QBVAW255.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-R3VDMJ43.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-R3VDMJ43.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-R3VDMJ43.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-R3VDMJ43.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-SGR5ST3A.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-SGR5ST3A.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-T3L6UFWY.js
··· 1 + ../bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m/chunk-T3L6UFWY.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-T3L6UFWY.js.map
··· 1 + ../bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m/chunk-T3L6UFWY.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-T6JAPJ7J.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-T6JAPJ7J.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-TP5GZFTO.js
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-TP5GZFTO.js.map
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-UGE3FKYA.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-UGE3FKYA.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-UGE3FKYA.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-UGE3FKYA.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-UM3YGQCD.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-UM3YGQCD.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-UM3YGQCD.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-UM3YGQCD.js.map
+147
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-VBDBYJMS.js
··· 1 + import { 2 + outputManager 3 + } from "./chunk-3QHZWZIL.js"; 4 + import { 5 + del, 6 + get, 7 + set 8 + } from "./chunk-JBHW662S.js"; 9 + import { 10 + DiffuseElement 11 + } from "./chunk-52F6J3SQ.js"; 12 + import { 13 + computed, 14 + signal 15 + } from "./chunk-IZOBPV2S.js"; 16 + import { 17 + __name, 18 + init_Buffer, 19 + init_process 20 + } from "./chunk-FZQXS3RE.js"; 21 + 22 + // components/output/bytes/s3/element.js 23 + init_Buffer(); 24 + init_process(); 25 + var STORAGE_PREFIX = "diffuse/output/bytes/s3"; 26 + var S3Output = class extends DiffuseElement { 27 + static { 28 + __name(this, "S3Output"); 29 + } 30 + static NAME = "diffuse/output/bytes/s3"; 31 + static WORKER_URL = "components/output/bytes/s3/worker.js"; 32 + #manager; 33 + constructor() { 34 + super(); 35 + this.proxy = this.workerProxy(); 36 + this.#manager = outputManager({ 37 + facets: { 38 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 39 + get: /* @__PURE__ */ __name(() => this.#get("facets"), "get"), 40 + put: /* @__PURE__ */ __name((data) => this.#put("facets", data), "put") 41 + }, 42 + init: /* @__PURE__ */ __name(() => this.whenConnected(), "init"), 43 + playlistItems: { 44 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 45 + get: /* @__PURE__ */ __name(() => this.#get("playlistItems"), "get"), 46 + put: /* @__PURE__ */ __name((data) => this.#put("playlistItems", data), "put") 47 + }, 48 + themes: { 49 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 50 + get: /* @__PURE__ */ __name(() => this.#get("themes"), "get"), 51 + put: /* @__PURE__ */ __name((data) => this.#put("themes", data), "put") 52 + }, 53 + tracks: { 54 + empty: /* @__PURE__ */ __name(() => void 0, "empty"), 55 + get: /* @__PURE__ */ __name(() => this.#get("tracks"), "get"), 56 + put: /* @__PURE__ */ __name((data) => this.#put("tracks", data), "put") 57 + } 58 + }, { 59 + eager: true 60 + }); 61 + this.facets = this.#manager.facets; 62 + this.playlistItems = this.#manager.playlistItems; 63 + this.themes = this.#manager.themes; 64 + this.tracks = this.#manager.tracks; 65 + } 66 + // SIGNALS 67 + #isOnline = signal(navigator.onLine); 68 + // STATE 69 + ready = computed(() => { 70 + return this.#bucket.value !== void 0 && this.#isOnline.value; 71 + }); 72 + // LIFECYCLE 73 + /** 74 + * @override 75 + */ 76 + async connectedCallback() { 77 + super.connectedCallback(); 78 + const stored = await get(`${STORAGE_PREFIX}/bucket`); 79 + if (stored) this.#bucket.value = stored; 80 + globalThis.addEventListener("online", this.#online); 81 + globalThis.addEventListener("offline", this.#offline); 82 + } 83 + /** @override */ 84 + disconnectedCallback() { 85 + globalThis.removeEventListener("online", this.#online); 86 + globalThis.removeEventListener("offline", this.#offline); 87 + } 88 + #offline = /* @__PURE__ */ __name(() => this.#isOnline.set(false), "#offline"); 89 + #online = /* @__PURE__ */ __name(() => this.#isOnline.set(true), "#online"); 90 + // BUCKET 91 + #bucket = signal( 92 + /** @type {Bucket | undefined} */ 93 + void 0 94 + ); 95 + bucket = this.#bucket.get; 96 + /** @returns {Promise<Bucket | undefined>} */ 97 + async getBucket() { 98 + if (!this.#bucket.value) { 99 + const stored = await get(`${STORAGE_PREFIX}/bucket`); 100 + if (stored) this.#bucket.value = stored; 101 + return stored; 102 + } 103 + return this.#bucket.value; 104 + } 105 + /** 106 + * @param {Bucket} bucket 107 + */ 108 + async setBucket(bucket) { 109 + this.#bucket.value = bucket; 110 + await set(`${STORAGE_PREFIX}/bucket`, bucket); 111 + } 112 + async unsetBucket() { 113 + this.#bucket.value = void 0; 114 + await del(`${STORAGE_PREFIX}/bucket`); 115 + } 116 + // GET & PUT 117 + /** @param {string} name */ 118 + #get = /* @__PURE__ */ __name(async (name) => { 119 + const bucket = await this.getBucket(); 120 + if (!bucket) return void 0; 121 + return this.proxy.get({ bucket, name: this.#cat(name) }); 122 + }, "#get"); 123 + /** @param {string} name; @param {any} data */ 124 + #put = /* @__PURE__ */ __name(async (name, data) => { 125 + const bucket = await this.getBucket(); 126 + if (!bucket) return void 0; 127 + return this.proxy.put({ bucket, data, name: this.#cat(name) }); 128 + }, "#put"); 129 + // 🛠️ 130 + /** @param {string} name */ 131 + #cat(name) { 132 + const namespace = this.hasAttribute("namespace") ? this.getAttribute("namespace") + "/" : ""; 133 + return `${namespace}${name}`; 134 + } 135 + }; 136 + var element_default = S3Output; 137 + var CLASS = S3Output; 138 + var NAME = "dob-s3"; 139 + customElements.define(NAME, S3Output); 140 + 141 + export { 142 + element_default, 143 + CLASS, 144 + NAME 145 + }; 146 + 147 + //# sourceMappingURL=./chunk-VBDBYJMS.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-VBDBYJMS.js.map
··· 1 + {"version":3,"sources":["/components/output/bytes/s3/element.js"],"sourcesContent":["import * as IDB from \"idb-keyval\";\n\nimport { DiffuseElement } from \"@common/element.js\";\nimport { computed, signal } from \"@common/signal.js\";\nimport { outputManager } from \"../../common.js\";\n\nconst STORAGE_PREFIX = \"diffuse/output/bytes/s3\";\n\n/**\n * @import {ProxiedActions} from \"@common/worker.d.ts\"\n * @import {OutputElement, OutputManager} from \"../../types.d.ts\"\n * @import {Bucket} from \"@components/input/s3/types.d.ts\"\n * @import {S3OutputElement, S3OutputWorkerActions} from \"./types.d.ts\"\n */\n\n////////////////////////////////////////////\n// ELEMENT\n////////////////////////////////////////////\n\n/**\n * @implements {OutputElement<Uint8Array | undefined>}\n * @implements {S3OutputElement}\n */\nclass S3Output extends DiffuseElement {\n static NAME = \"diffuse/output/bytes/s3\";\n static WORKER_URL = \"components/output/bytes/s3/worker.js\";\n\n #manager;\n\n constructor() {\n super();\n\n /** @type {ProxiedActions<S3OutputWorkerActions>} */\n this.proxy = this.workerProxy();\n\n /** @type {OutputManager<Uint8Array | undefined>} */\n this.#manager = outputManager({\n facets: {\n empty: () => undefined,\n get: () => this.#get(\"facets\"),\n put: (data) => this.#put(\"facets\", data),\n },\n init: () => this.whenConnected(),\n playlistItems: {\n empty: () => undefined,\n get: () => this.#get(\"playlistItems\"),\n put: (data) => this.#put(\"playlistItems\", data),\n },\n themes: {\n empty: () => undefined,\n get: () => this.#get(\"themes\"),\n put: (data) => this.#put(\"themes\", data),\n },\n tracks: {\n empty: () => undefined,\n get: () => this.#get(\"tracks\"),\n put: (data) => this.#put(\"tracks\", data),\n },\n }, {\n eager: true,\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 #isOnline = signal(navigator.onLine);\n\n // STATE\n\n ready = computed(() => {\n return this.#bucket.value !== undefined && this.#isOnline.value;\n });\n\n // LIFECYCLE\n\n /**\n * @override\n */\n async connectedCallback() {\n super.connectedCallback();\n\n /** @type {Bucket | undefined} */\n const stored = await IDB.get(`${STORAGE_PREFIX}/bucket`);\n if (stored) this.#bucket.value = stored;\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 // BUCKET\n\n #bucket = signal(/** @type {Bucket | undefined} */ (undefined));\n\n bucket = this.#bucket.get;\n\n /** @returns {Promise<Bucket | undefined>} */\n async getBucket() {\n if (!this.#bucket.value) {\n /** @type {Bucket | undefined} */\n const stored = await IDB.get(`${STORAGE_PREFIX}/bucket`);\n if (stored) this.#bucket.value = stored;\n return stored;\n }\n\n return this.#bucket.value;\n }\n\n /**\n * @param {Bucket} bucket\n */\n async setBucket(bucket) {\n this.#bucket.value = bucket;\n await IDB.set(`${STORAGE_PREFIX}/bucket`, bucket);\n }\n\n async unsetBucket() {\n this.#bucket.value = undefined;\n await IDB.del(`${STORAGE_PREFIX}/bucket`);\n }\n\n // GET & PUT\n\n /** @param {string} name */\n #get = async (name) => {\n const bucket = await this.getBucket();\n if (!bucket) return undefined;\n return this.proxy.get({ bucket, name: this.#cat(name) });\n };\n\n /** @param {string} name; @param {any} data */\n #put = async (name, data) => {\n const bucket = await this.getBucket();\n if (!bucket) return undefined;\n return this.proxy.put({ bucket, data, name: this.#cat(name) });\n };\n\n // 🛠️\n\n /** @param {string} name */\n #cat(name) {\n const namespace = this.hasAttribute(\"namespace\")\n ? this.getAttribute(\"namespace\") + \"/\"\n : \"\";\n return `${namespace}${name}`;\n }\n}\n\nexport default S3Output;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = S3Output;\nexport const NAME = \"dob-s3\";\n\ncustomElements.define(NAME, S3Output);\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-VBDBYJMS.js.map"}
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-W3QCTPVZ.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-W3QCTPVZ.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-W3QCTPVZ.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-W3QCTPVZ.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-WN6GL63Q.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-WN6GL63Q.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-XQ3APM6Z.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-XQ3APM6Z.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-XQ3APM6Z.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-XQ3APM6Z.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-Y6DMBYY7.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-Y6DMBYY7.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-Y6DMBYY7.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-Y6DMBYY7.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-YEYOLW6N.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-YEYOLW6N.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-YW5C2D2V.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YW5C2D2V.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-YW5C2D2V.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YW5C2D2V.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-YZWL75VE.js
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YZWL75VE.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-YZWL75VE.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/chunk-YZWL75VE.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-Z2SJTSR2.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-Z2SJTSR2.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-ZQZJJU3T.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/chunk-ZQZJJU3T.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/cid.js
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/cid.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/element.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/common/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/element.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/element.js.map
+60
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/facets/foundation.js
··· 1 + import { 2 + GROUP, 3 + config, 4 + findExistingOrAdd, 5 + foundation_default 6 + } from "../../chunk-2N6CLBH3.js"; 7 + import "../../chunk-UM3YGQCD.js"; 8 + import "../../chunk-5U6YGUSF.js"; 9 + import "../../chunk-JHKODV4C.js"; 10 + import "../../chunk-NC2PKDLJ.js"; 11 + import "../../chunk-LC5ADJPD.js"; 12 + import "../../chunk-DBY4UFCR.js"; 13 + import "../../chunk-5GF3RIXZ.js"; 14 + import "../../chunk-6LRCMOGT.js"; 15 + import "../../chunk-MTF6MUZY.js"; 16 + import "../../chunk-M7I6ARGE.js"; 17 + import "../../chunk-2HRMT4JN.js"; 18 + import "../../chunk-77N5LJ3L.js"; 19 + import "../../chunk-KIXJZP53.js"; 20 + import "../../chunk-T3L6UFWY.js"; 21 + import "../../chunk-IPJO7YD4.js"; 22 + import "../../chunk-Y6DMBYY7.js"; 23 + import "../../chunk-YZWL75VE.js"; 24 + import "../../chunk-NB2M3NWG.js"; 25 + import "../../chunk-JBHW662S.js"; 26 + import "../../chunk-GX3WPNEX.js"; 27 + import "../../chunk-226QQPVM.js"; 28 + import "../../chunk-HN4F5JEZ.js"; 29 + import "../../chunk-PTVB4Y37.js"; 30 + import "../../chunk-4MMRODUP.js"; 31 + import "../../chunk-F74HSTJN.js"; 32 + import "../../chunk-BUBM2UB3.js"; 33 + import "../../chunk-R3VDMJ43.js"; 34 + import "../../chunk-LQ2RJJ6P.js"; 35 + import "../../chunk-DDF5P57I.js"; 36 + import "../../chunk-EEUCFWD4.js"; 37 + import "../../chunk-6DRHTH2U.js"; 38 + import "../../chunk-HI6EUDY3.js"; 39 + import "../../chunk-CZYH5TCN.js"; 40 + import "../../chunk-OENN55R6.js"; 41 + import "../../chunk-UGE3FKYA.js"; 42 + import "../../chunk-52BFTJ3R.js"; 43 + import "../../chunk-E6H4GVL4.js"; 44 + import "../../chunk-J3RUTL7I.js"; 45 + import "../../chunk-52F6J3SQ.js"; 46 + import "../../chunk-G56PUJUJ.js"; 47 + import "../../chunk-IZOBPV2S.js"; 48 + import "../../chunk-SGR5ST3A.js"; 49 + import "../../chunk-6DKPDMFE.js"; 50 + import "../../chunk-TP5GZFTO.js"; 51 + import "../../chunk-ZQZJJU3T.js"; 52 + import "../../chunk-FZQXS3RE.js"; 53 + export { 54 + GROUP, 55 + config, 56 + foundation_default as default, 57 + findExistingOrAdd 58 + }; 59 + 60 + //# sourceMappingURL=./foundation.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/facets/foundation.js.map
··· 1 + ../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/foundation.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/facets/utils.js
··· 1 + ../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/facets/utils.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/facets/utils.js.map
··· 1 + ../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/utils.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/loader.js
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/loader.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/loader.js.map
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/loader.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/playlist.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/common/playlist.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/playlist.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/playlist.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/signal.js
··· 1 + ../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/common/signal.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/signal.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/signal.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/themes/utils.js
··· 1 + ../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/themes/utils.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/themes/utils.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/themes/utils.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/track.js
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/track.js.map
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/utils.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/common/utils.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/utils.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/utils.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/worker.js
··· 1 + ../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/common/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/worker.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/worker/rpc-channel.js
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/worker/rpc-channel.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/common/worker/rpc-channel.js.map
··· 1 + ../../../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/common/worker/rpc-channel.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/configurator/input/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/configurator/input/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/configurator/input/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/input/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/configurator/input/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/configurator/input/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/configurator/input/worker.js.map
··· 1 + ../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/configurator/input/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/configurator/output/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/configurator/output/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/configurator/output/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/output/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/audio/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/audio/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/audio/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/audio/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/queue/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/queue/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/queue/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/queue/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/queue/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/queue/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/queue/worker.js.map
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/engine/queue/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/repeat-shuffle/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/repeat-shuffle/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/repeat-shuffle/element.js.map
··· 1 + ../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/engine/repeat-shuffle/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/scope/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/engine/scope/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/engine/scope/element.js.map
··· 1 + ../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/engine/scope/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/common.js
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/common.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/common.js.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/common.js
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/common.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/common.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/constants.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/https/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/element.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/worker.js
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/https/worker.js.map
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/class.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/class.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/class.js.map
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/components/input/opensubsonic/class.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/common.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/common.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/constants.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/opensubsonic/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/common.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/common.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/s3/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/constants.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/input/s3/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/auto-queue/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/auto-queue/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/auto-queue/element.js.map
··· 1 + ../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/orchestrator/auto-queue/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/favourites/common.js
··· 1 + ../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/orchestrator/favourites/common.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/favourites/common.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/favourites/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/favourites/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/favourites/element.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/favourites/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/favourites/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/favourites/worker.js.map
··· 1 + ../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/orchestrator/favourites/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/input/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/input/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/input/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/input/element.js.map
+24
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/output/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../chunk-MTF6MUZY.js"; 6 + import "../../../chunk-M7I6ARGE.js"; 7 + import "../../../chunk-2HRMT4JN.js"; 8 + import "../../../chunk-77N5LJ3L.js"; 9 + import "../../../chunk-KIXJZP53.js"; 10 + import "../../../chunk-52BFTJ3R.js"; 11 + import "../../../chunk-52F6J3SQ.js"; 12 + import "../../../chunk-G56PUJUJ.js"; 13 + import "../../../chunk-IZOBPV2S.js"; 14 + import "../../../chunk-6DKPDMFE.js"; 15 + import "../../../chunk-TP5GZFTO.js"; 16 + import "../../../chunk-ZQZJJU3T.js"; 17 + import "../../../chunk-FZQXS3RE.js"; 18 + export { 19 + CLASS, 20 + NAME, 21 + element_default as default 22 + }; 23 + 24 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/output/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/output/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/process-tracks/element.js
··· 1 + ../../../../bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m/components/orchestrator/process-tracks/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/process-tracks/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/process-tracks/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/process-tracks/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/process-tracks/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/process-tracks/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/process-tracks/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/queue-audio/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/queue-audio/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/queue-audio/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/queue-audio/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/scoped-tracks/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/scoped-tracks/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/scoped-tracks/element.js.map
··· 1 + ../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/orchestrator/scoped-tracks/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/sources/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/orchestrator/sources/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/orchestrator/sources/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/sources/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/constants.js
··· 1 + ../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/constants.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/bytes/s3/constants.js.map
+21
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../chunk-VBDBYJMS.js"; 6 + import "../../../../chunk-3QHZWZIL.js"; 7 + import "../../../../chunk-JBHW662S.js"; 8 + import "../../../../chunk-52F6J3SQ.js"; 9 + import "../../../../chunk-G56PUJUJ.js"; 10 + import "../../../../chunk-IZOBPV2S.js"; 11 + import "../../../../chunk-6DKPDMFE.js"; 12 + import "../../../../chunk-TP5GZFTO.js"; 13 + import "../../../../chunk-ZQZJJU3T.js"; 14 + import "../../../../chunk-FZQXS3RE.js"; 15 + export { 16 + CLASS, 17 + NAME, 18 + element_default as default 19 + }; 20 + 21 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/element.js.map
··· 1 + ../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/worker.js
··· 1 + ../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/output/bytes/s3/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/bytes/s3/worker.js.map
··· 1 + ../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/output/bytes/s3/worker.js.map
+10
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/common.js
··· 1 + import { 2 + outputManager 3 + } from "../../chunk-3QHZWZIL.js"; 4 + import "../../chunk-IZOBPV2S.js"; 5 + import "../../chunk-FZQXS3RE.js"; 6 + export { 7 + outputManager 8 + }; 9 + 10 + //# sourceMappingURL=./common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/common.js.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/polymorphic/indexed-db/constants.js
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/polymorphic/indexed-db/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/polymorphic/indexed-db/constants.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/constants.js.map
+22
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/polymorphic/indexed-db/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../chunk-FVRMQKBS.js"; 6 + import "../../../../chunk-3QHZWZIL.js"; 7 + import "../../../../chunk-FAW4EB7G.js"; 8 + import "../../../../chunk-JBHW662S.js"; 9 + import "../../../../chunk-52F6J3SQ.js"; 10 + import "../../../../chunk-G56PUJUJ.js"; 11 + import "../../../../chunk-IZOBPV2S.js"; 12 + import "../../../../chunk-6DKPDMFE.js"; 13 + import "../../../../chunk-TP5GZFTO.js"; 14 + import "../../../../chunk-ZQZJJU3T.js"; 15 + import "../../../../chunk-FZQXS3RE.js"; 16 + export { 17 + CLASS, 18 + NAME, 19 + element_default as default 20 + }; 21 + 22 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/polymorphic/indexed-db/element.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/element.js.map
+26
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/raw/atproto/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../chunk-7XPM3FOM.js"; 6 + import "../../../../chunk-JH6MOGSD.js"; 7 + import "../../../../chunk-77ZY4GQV.js"; 8 + import "../../../../chunk-NZ7ODGIJ.js"; 9 + import "../../../../chunk-3QHZWZIL.js"; 10 + import "../../../../chunk-52F6J3SQ.js"; 11 + import "../../../../chunk-G56PUJUJ.js"; 12 + import "../../../../chunk-WN6GL63Q.js"; 13 + import "../../../../chunk-CRZ7HJJ4.js"; 14 + import "../../../../chunk-242LG3VP.js"; 15 + import "../../../../chunk-IZOBPV2S.js"; 16 + import "../../../../chunk-6DKPDMFE.js"; 17 + import "../../../../chunk-TP5GZFTO.js"; 18 + import "../../../../chunk-ZQZJJU3T.js"; 19 + import "../../../../chunk-FZQXS3RE.js"; 20 + export { 21 + CLASS, 22 + NAME, 23 + element_default as default 24 + }; 25 + 26 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/raw/atproto/element.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/raw/atproto/oauth.js
··· 1 + ../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/output/raw/atproto/oauth.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/output/raw/atproto/oauth.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/oauth.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/artwork/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/processor/artwork/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/artwork/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/constants.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/artwork/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/artwork/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/artwork/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/artwork/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/artwork/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/artwork/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/artwork/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/metadata/common.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/metadata/common.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/metadata/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/common.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/metadata/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/metadata/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/metadata/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/metadata/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/metadata/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/metadata/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/metadata/worker.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/search/constants.js
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/search/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/search/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/constants.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/search/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/search/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/search/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/search/worker.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/processor/search/worker.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/processor/search/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/search/worker.js.map
+15
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/base.js
··· 1 + import { 2 + OutputTransformer 3 + } from "../../../chunk-KIXJZP53.js"; 4 + import "../../../chunk-52F6J3SQ.js"; 5 + import "../../../chunk-G56PUJUJ.js"; 6 + import "../../../chunk-IZOBPV2S.js"; 7 + import "../../../chunk-6DKPDMFE.js"; 8 + import "../../../chunk-TP5GZFTO.js"; 9 + import "../../../chunk-ZQZJJU3T.js"; 10 + import "../../../chunk-FZQXS3RE.js"; 11 + export { 12 + OutputTransformer 13 + }; 14 + 15 + //# sourceMappingURL=./base.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/base.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/base.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/constants.js
··· 1 + ../../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/transformer/output/bytes/automerge/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/constants.js.map
··· 1 + ../../../../../../bafybeieo3vdz7hmuriods6ueueg5yt6xctzjqrmqdasqr4plalwojiwvou/components/transformer/output/bytes/automerge/constants.js.map
+235
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/element.js
··· 1 + import { 2 + INITIAL_FACETS_DOCUMENT, 3 + INITIAL_PLAYLIST_ITEMS_DOCUMENT, 4 + INITIAL_THEMES_DOCUMENT, 5 + INITIAL_TRACKS_DOCUMENT 6 + } from "../../../../../chunk-PRNTAB7W.js"; 7 + import { 8 + et, 9 + he, 10 + it, 11 + rt, 12 + st, 13 + ut, 14 + vt 15 + } from "../../../../../chunk-Z2SJTSR2.js"; 16 + import "../../../../../chunk-FVRMQKBS.js"; 17 + import "../../../../../chunk-3QHZWZIL.js"; 18 + import "../../../../../chunk-FAW4EB7G.js"; 19 + import { 20 + o 21 + } from "../../../../../chunk-M7I6ARGE.js"; 22 + import { 23 + OutputTransformer 24 + } from "../../../../../chunk-KIXJZP53.js"; 25 + import "../../../../../chunk-JBHW662S.js"; 26 + import { 27 + recursivelyCloneRecords, 28 + removeUndefinedValuesFromRecord 29 + } from "../../../../../chunk-OENN55R6.js"; 30 + import { 31 + isUint8Array 32 + } from "../../../../../chunk-UGE3FKYA.js"; 33 + import "../../../../../chunk-52F6J3SQ.js"; 34 + import "../../../../../chunk-G56PUJUJ.js"; 35 + import { 36 + computed, 37 + signal 38 + } from "../../../../../chunk-IZOBPV2S.js"; 39 + import "../../../../../chunk-6DKPDMFE.js"; 40 + import "../../../../../chunk-TP5GZFTO.js"; 41 + import "../../../../../chunk-ZQZJJU3T.js"; 42 + import { 43 + __name, 44 + init_Buffer, 45 + init_process 46 + } from "../../../../../chunk-FZQXS3RE.js"; 47 + 48 + // components/transformer/output/bytes/automerge/element.js 49 + init_Buffer(); 50 + init_process(); 51 + var AutomergeBytesOutputTransformer = class extends OutputTransformer { 52 + static { 53 + __name(this, "AutomergeBytesOutputTransformer"); 54 + } 55 + constructor() { 56 + super(); 57 + const remote = this.base(); 58 + const local = this.#localOutput.get; 59 + const state = /* @__PURE__ */ __name((localCollection, remoteCollection, initial) => computed(() => { 60 + const l = loadDocument(localCollection); 61 + const r = remote.ready() ? loadDocument(remoteCollection) : void 0; 62 + if (!r) { 63 + return l ? { doc: l, diverged: true, local: false, remote: true } : { doc: initial, diverged: false, local: false, remote: false }; 64 + } else if (!l) { 65 + return { doc: r, diverged: true, local: true, remote: false }; 66 + } 67 + const lh = he(l)[0]; 68 + const rh = he(r)[0]; 69 + const diverged = lh !== rh; 70 + return { 71 + doc: diverged ? ut(et(l), et(r)) : r, 72 + diverged, 73 + local: vt(r, [lh]), 74 + remote: vt(l, [rh]) 75 + }; 76 + }), "state"); 77 + const facets = state( 78 + computed(() => local()?.facets?.collection()), 79 + remote.facets.collection, 80 + INITIAL_FACETS_DOCUMENT 81 + ); 82 + const playlistItems = state( 83 + computed(() => local()?.playlistItems?.collection()), 84 + remote.playlistItems.collection, 85 + INITIAL_PLAYLIST_ITEMS_DOCUMENT 86 + ); 87 + const themes = state( 88 + computed(() => local()?.themes?.collection()), 89 + remote.themes.collection, 90 + INITIAL_THEMES_DOCUMENT 91 + ); 92 + const tracks = state( 93 + computed(() => local()?.tracks?.collection()), 94 + remote.tracks.collection, 95 + INITIAL_TRACKS_DOCUMENT 96 + ); 97 + this.facets = automergeEntry( 98 + computed(() => local()?.facets), 99 + remote.facets, 100 + computed(() => facets().doc), 101 + { 102 + stripUndefined: true 103 + } 104 + ); 105 + this.playlistItems = automergeEntry( 106 + computed(() => local()?.playlistItems), 107 + remote.playlistItems, 108 + computed(() => playlistItems().doc) 109 + ); 110 + this.themes = automergeEntry( 111 + computed(() => local()?.themes), 112 + remote.themes, 113 + computed(() => themes().doc), 114 + { 115 + stripUndefined: true 116 + } 117 + ); 118 + this.tracks = automergeEntry( 119 + computed(() => local()?.tracks), 120 + remote.tracks, 121 + computed(() => tracks().doc) 122 + ); 123 + this.ready = () => true; 124 + this.effect(() => { 125 + const l = local(); 126 + if (!l) return; 127 + this.effect(() => { 128 + if (remote.facets.state() !== "loaded") return; 129 + const s = facets(); 130 + if (s.diverged) { 131 + const bytes = it(s.doc); 132 + if (l && s.local) l.facets.save(bytes); 133 + if (s.remote) remote.facets.save(bytes); 134 + } 135 + }); 136 + this.effect(() => { 137 + if (remote.playlistItems.state() !== "loaded") return; 138 + const s = playlistItems(); 139 + if (s.diverged) { 140 + const bytes = it(s.doc); 141 + if (l && s.local) l.playlistItems.save(bytes); 142 + if (s.remote) remote.playlistItems.save(bytes); 143 + } 144 + }); 145 + this.effect(() => { 146 + if (remote.themes.state() !== "loaded") return; 147 + const s = themes(); 148 + if (s.diverged) { 149 + const bytes = it(s.doc); 150 + if (l && s.local) l.themes.save(bytes); 151 + if (s.remote) remote.themes.save(bytes); 152 + } 153 + }); 154 + this.effect(() => { 155 + if (remote.tracks.state() !== "loaded") return; 156 + const s = tracks(); 157 + if (s.diverged) { 158 + const bytes = it(s.doc); 159 + if (l && s.local) l.tracks.save(bytes); 160 + if (s.remote) remote.tracks.save(bytes); 161 + } 162 + }); 163 + }); 164 + } 165 + // SIGNALS 166 + #localOutput = signal( 167 + /** @type {OutputElement<Uint8Array | undefined> | undefined} */ 168 + void 0 169 + ); 170 + // LIFECYCLE 171 + /** 172 + * @override 173 + */ 174 + connectedCallback() { 175 + super.connectedCallback(); 176 + const local = this.root().querySelector("dop-indexed-db"); 177 + if (!local) throw new Error("Can't find local output"); 178 + customElements.whenDefined(local.localName).then(() => { 179 + this.#localOutput.value = local; 180 + }); 181 + } 182 + // RENDER 183 + /** 184 + * @param {RenderArg} _ 185 + */ 186 + render({ html }) { 187 + return html` 188 + <dop-indexed-db 189 + namespace="${o(this.getAttribute(`namespace`))}" 190 + ></dop-indexed-db> 191 + `; 192 + } 193 + }; 194 + var element_default = AutomergeBytesOutputTransformer; 195 + function loadDocument(source) { 196 + const value = source(); 197 + if (isUint8Array(value)) { 198 + return st(value); 199 + } else if (value == void 0) { 200 + return void 0; 201 + } else { 202 + throw new Error("Invalid data type"); 203 + } 204 + } 205 + __name(loadDocument, "loadDocument"); 206 + function automergeEntry(local, remote, document, opts) { 207 + return { 208 + collection: computed(() => document().collection), 209 + reload: remote.reload, 210 + save: /* @__PURE__ */ __name(async (newItems) => { 211 + const doc = rt(document(), (d) => { 212 + d.collection = newItems.map((item) => { 213 + const cloned = recursivelyCloneRecords(item); 214 + return opts?.stripUndefined ? removeUndefinedValuesFromRecord(cloned) : cloned; 215 + }); 216 + }); 217 + const bytes = it(doc); 218 + await local()?.save(bytes); 219 + }, "save"), 220 + state: computed(() => local()?.state() ?? "sleeping") 221 + }; 222 + } 223 + __name(automergeEntry, "automergeEntry"); 224 + var CLASS = AutomergeBytesOutputTransformer; 225 + var NAME = "dtob-automerge"; 226 + customElements.define(NAME, CLASS); 227 + export { 228 + CLASS, 229 + NAME, 230 + automergeEntry, 231 + element_default as default, 232 + loadDocument 233 + }; 234 + 235 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/bytes/automerge/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/utils.js
··· 1 + ../../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/transformer/output/bytes/automerge/utils.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/automerge/utils.js.map
··· 1 + ../../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/transformer/output/bytes/automerge/utils.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/dasl-sync/constants.js
··· 1 + ../../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/transformer/output/bytes/dasl-sync/constants.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/dasl-sync/constants.js.map
··· 1 + ../../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/transformer/output/bytes/dasl-sync/constants.js.map
+1046
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/dasl-sync/element.js
··· 1 + import { 2 + IDB_PREFIX 3 + } from "../../../../../chunk-YW5C2D2V.js"; 4 + import { 5 + fromBase32, 6 + fromBase64, 7 + toBase32, 8 + toBase64 9 + } from "../../../../../chunk-NZ7ODGIJ.js"; 10 + import "../../../../../chunk-FVRMQKBS.js"; 11 + import "../../../../../chunk-3QHZWZIL.js"; 12 + import "../../../../../chunk-FAW4EB7G.js"; 13 + import { 14 + OutputTransformer 15 + } from "../../../../../chunk-KIXJZP53.js"; 16 + import { 17 + get, 18 + set 19 + } from "../../../../../chunk-JBHW662S.js"; 20 + import { 21 + compareTimestamps 22 + } from "../../../../../chunk-OENN55R6.js"; 23 + import "../../../../../chunk-UGE3FKYA.js"; 24 + import "../../../../../chunk-52F6J3SQ.js"; 25 + import "../../../../../chunk-G56PUJUJ.js"; 26 + import { 27 + allocUnsafe, 28 + concat, 29 + decodeUtf8From, 30 + encodeUtf8Into 31 + } from "../../../../../chunk-242LG3VP.js"; 32 + import { 33 + computed, 34 + deep_diff_default, 35 + signal, 36 + untracked 37 + } from "../../../../../chunk-IZOBPV2S.js"; 38 + import { 39 + create 40 + } from "../../../../../chunk-4YB6QUPN.js"; 41 + import "../../../../../chunk-6DKPDMFE.js"; 42 + import "../../../../../chunk-TP5GZFTO.js"; 43 + import "../../../../../chunk-ZQZJJU3T.js"; 44 + import { 45 + __name, 46 + init_Buffer, 47 + init_process 48 + } from "../../../../../chunk-FZQXS3RE.js"; 49 + 50 + // components/transformer/output/bytes/dasl-sync/element.js 51 + init_Buffer(); 52 + init_process(); 53 + 54 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/index.js 55 + init_Buffer(); 56 + init_process(); 57 + 58 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/index.js 59 + init_Buffer(); 60 + init_process(); 61 + 62 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/cid-link.js 63 + init_Buffer(); 64 + init_process(); 65 + 66 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/codec.js 67 + init_Buffer(); 68 + init_process(); 69 + var CID_VERSION = 1; 70 + var HASH_SHA256 = 18; 71 + var CODEC_RAW = 85; 72 + var CODEC_DCBOR = 113; 73 + var decodeFirst = /* @__PURE__ */ __name((bytes) => { 74 + if (bytes.length < 36) { 75 + throw new RangeError(`cid too short`); 76 + } 77 + const version = bytes[0]; 78 + const codec = bytes[1]; 79 + const digestType = bytes[2]; 80 + const digestSize = bytes[3]; 81 + if (version !== CID_VERSION) { 82 + throw new RangeError(`incorrect cid version (got v${version})`); 83 + } 84 + if (codec !== CODEC_DCBOR && codec !== CODEC_RAW) { 85 + throw new RangeError(`incorrect cid codec (got 0x${codec.toString(16)})`); 86 + } 87 + if (digestType !== HASH_SHA256) { 88 + throw new RangeError(`incorrect cid digest codec (got 0x${digestType.toString(16)})`); 89 + } 90 + if (digestSize !== 32) { 91 + throw new RangeError(`incorrect cid digest size (got ${digestSize})`); 92 + } 93 + const cid = { 94 + version: CID_VERSION, 95 + codec, 96 + digest: { 97 + codec: digestType, 98 + contents: bytes.subarray(4, 36) 99 + }, 100 + bytes: bytes.subarray(0, 36) 101 + }; 102 + return [cid, bytes.subarray(36)]; 103 + }, "decodeFirst"); 104 + var decode = /* @__PURE__ */ __name((bytes) => { 105 + const [cid, remainder] = decodeFirst(bytes); 106 + if (remainder.length !== 0) { 107 + throw new RangeError(`cid bytes includes remainder`); 108 + } 109 + return cid; 110 + }, "decode"); 111 + var fromString = /* @__PURE__ */ __name((input) => { 112 + if (input.length !== 59 || input[0] !== "b") { 113 + throw new SyntaxError(`not a valid cid string`); 114 + } 115 + const bytes = fromBase32(input.slice(1)); 116 + return decode(bytes); 117 + }, "fromString"); 118 + var fromBinary = /* @__PURE__ */ __name((input) => { 119 + if (input.length !== 37 || input[0] !== 0) { 120 + throw new SyntaxError(`invalid binary cid`); 121 + } 122 + return decode(input.subarray(1)); 123 + }, "fromBinary"); 124 + 125 + // ../node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/dist/cid-link.js 126 + var CID_LINK_SYMBOL = /* @__PURE__ */ Symbol.for("@atcute/cid-link-wrapper"); 127 + var CidLinkWrapper = class { 128 + static { 129 + __name(this, "CidLinkWrapper"); 130 + } 131 + /** @internal */ 132 + [CID_LINK_SYMBOL] = true; 133 + bytes; 134 + constructor(bytes) { 135 + this.bytes = bytes; 136 + } 137 + get $link() { 138 + const link = `b${toBase32(this.bytes)}`; 139 + Object.defineProperty(this, "$link", { 140 + value: link, 141 + enumerable: true 142 + }); 143 + return link; 144 + } 145 + toJSON() { 146 + return { $link: this.$link }; 147 + } 148 + }; 149 + 150 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/bytes.js 151 + init_Buffer(); 152 + init_process(); 153 + var BYTES_SYMBOL = /* @__PURE__ */ Symbol.for("@atcute/bytes-wrapper"); 154 + var BytesWrapper = class { 155 + static { 156 + __name(this, "BytesWrapper"); 157 + } 158 + buf; 159 + /** @internal */ 160 + [BYTES_SYMBOL] = true; 161 + constructor(buf) { 162 + this.buf = buf; 163 + } 164 + get $bytes() { 165 + return toBase64(this.buf); 166 + } 167 + toJSON() { 168 + return { $bytes: this.$bytes }; 169 + } 170 + }; 171 + var toBytes = /* @__PURE__ */ __name((buf) => { 172 + return new BytesWrapper(buf); 173 + }, "toBytes"); 174 + var fromBytes = /* @__PURE__ */ __name((bytes) => { 175 + if (bytes instanceof BytesWrapper) { 176 + return bytes.buf; 177 + } 178 + return fromBase64(bytes.$bytes); 179 + }, "fromBytes"); 180 + 181 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/decode.js 182 + init_Buffer(); 183 + init_process(); 184 + var readArgument = /* @__PURE__ */ __name((state, info) => { 185 + if (info < 24) { 186 + return info; 187 + } 188 + let arg; 189 + switch (info) { 190 + case 24: { 191 + arg = readUint8(state); 192 + if (arg < 24) { 193 + throw new TypeError(`non-canonical argument encoding`); 194 + } 195 + break; 196 + } 197 + case 25: { 198 + arg = readUint16(state); 199 + if (arg < 256) { 200 + throw new TypeError(`non-canonical argument encoding`); 201 + } 202 + break; 203 + } 204 + case 26: { 205 + arg = readUint32(state); 206 + if (arg < 65536) { 207 + throw new TypeError(`non-canonical argument encoding`); 208 + } 209 + break; 210 + } 211 + case 27: { 212 + arg = readUint53(state); 213 + if (arg < 4294967296) { 214 + throw new TypeError(`non-canonical argument encoding`); 215 + } 216 + break; 217 + } 218 + default: { 219 + throw new Error(`invalid argument encoding; got ${info}`); 220 + } 221 + } 222 + return arg; 223 + }, "readArgument"); 224 + var readFloat64 = /* @__PURE__ */ __name((state) => { 225 + const view = state.v ??= new DataView(state.b.buffer, state.b.byteOffset, state.b.byteLength); 226 + const value = view.getFloat64(state.p); 227 + state.p += 8; 228 + return value; 229 + }, "readFloat64"); 230 + var readUint8 = /* @__PURE__ */ __name((state) => { 231 + return state.b[state.p++]; 232 + }, "readUint8"); 233 + var readUint16 = /* @__PURE__ */ __name((state) => { 234 + let pos = state.p; 235 + const buf = state.b; 236 + const value = buf[pos++] << 8 | buf[pos++]; 237 + state.p = pos; 238 + return value; 239 + }, "readUint16"); 240 + var readUint32 = /* @__PURE__ */ __name((state) => { 241 + let pos = state.p; 242 + const buf = state.b; 243 + const value = (buf[pos++] << 24 | buf[pos++] << 16 | buf[pos++] << 8 | buf[pos++]) >>> 0; 244 + state.p = pos; 245 + return value; 246 + }, "readUint32"); 247 + var readUint53 = /* @__PURE__ */ __name((state) => { 248 + const hi = readUint32(state); 249 + const lo = readUint32(state); 250 + if (hi > 2097151) { 251 + throw new RangeError(`can't decode integers beyond safe integer range`); 252 + } 253 + return hi * 2 ** 32 + lo; 254 + }, "readUint53"); 255 + var readString = /* @__PURE__ */ __name((state, length) => { 256 + const string = decodeUtf8From(state.b, state.p, length); 257 + state.p += length; 258 + return string; 259 + }, "readString"); 260 + var readBytes = /* @__PURE__ */ __name((state, length) => { 261 + const slice = state.b.subarray(state.p, state.p += length); 262 + return toBytes(slice); 263 + }, "readBytes"); 264 + var readCid = /* @__PURE__ */ __name((state, length) => { 265 + const cid = fromBinary(state.b.subarray(state.p, state.p += length)); 266 + return new CidLinkWrapper(cid.bytes); 267 + }, "readCid"); 268 + var decodeStringKey = /* @__PURE__ */ __name((state) => { 269 + const prelude = readUint8(state); 270 + const type = prelude >> 5; 271 + if (type !== 3) { 272 + throw new TypeError(`expected map to only have string keys; got type ${type}`); 273 + } 274 + const info = prelude & 31; 275 + const length = info < 24 ? info : readArgument(state, info); 276 + return readString(state, length); 277 + }, "decodeStringKey"); 278 + var decodeFirst2 = /* @__PURE__ */ __name((buf) => { 279 + const len = buf.length; 280 + const state = { 281 + b: buf, 282 + v: null, 283 + p: 0 284 + }; 285 + let stack = null; 286 + let value; 287 + jump: while (state.p < len) { 288 + const prelude = readUint8(state); 289 + const type = prelude >> 5; 290 + const info = prelude & 31; 291 + const arg = type === 7 ? 0 : info < 24 ? info : readArgument(state, info); 292 + switch (type) { 293 + case 0: { 294 + value = arg; 295 + break; 296 + } 297 + case 1: { 298 + value = -1 - arg; 299 + break; 300 + } 301 + case 2: { 302 + value = readBytes(state, arg); 303 + break; 304 + } 305 + case 3: { 306 + value = readString(state, arg); 307 + break; 308 + } 309 + case 4: { 310 + if (arg > 0) { 311 + stack = { t: 1, c: value = new Array(arg), k: null, r: arg, n: stack }; 312 + continue jump; 313 + } 314 + value = []; 315 + break; 316 + } 317 + case 5: { 318 + value = {}; 319 + if (arg > 0) { 320 + const first = decodeStringKey(state); 321 + stack = { t: 0, c: value, k: first, r: arg, n: stack }; 322 + continue jump; 323 + } 324 + break; 325 + } 326 + case 6: { 327 + switch (arg) { 328 + case 42: { 329 + const prelude2 = readUint8(state); 330 + const type2 = prelude2 >> 5; 331 + const info2 = prelude2 & 31; 332 + if (type2 !== 2) { 333 + throw new TypeError(`expected cid-link to be type 2 (bytes); got type ${type2}`); 334 + } 335 + const len2 = readArgument(state, info2); 336 + value = readCid(state, len2); 337 + break; 338 + } 339 + default: { 340 + throw new TypeError(`unsupported tag; got ${arg}`); 341 + } 342 + } 343 + break; 344 + } 345 + case 7: { 346 + switch (info) { 347 + case 20: 348 + case 21: { 349 + value = info === 21; 350 + break; 351 + } 352 + case 22: { 353 + value = null; 354 + break; 355 + } 356 + case 27: { 357 + value = readFloat64(state); 358 + break; 359 + } 360 + default: { 361 + throw new Error(`invalid simple value; got ${info}`); 362 + } 363 + } 364 + break; 365 + } 366 + default: { 367 + throw new TypeError(`invalid type; got ${type}`); 368 + } 369 + } 370 + while (stack !== null) { 371 + switch (stack.t) { 372 + case 0: { 373 + const obj = stack.c; 374 + const key = stack.k; 375 + if (key === "__proto__") { 376 + Object.defineProperty(obj, key, { enumerable: true, configurable: true, writable: true }); 377 + } 378 + obj[key] = value; 379 + break; 380 + } 381 + case 1: { 382 + const arr = stack.c; 383 + const index = arr.length - stack.r; 384 + arr[index] = value; 385 + break; 386 + } 387 + } 388 + if (--stack.r) { 389 + if (!stack.t) { 390 + const prevKey = stack.k; 391 + const key = decodeStringKey(state); 392 + stack.k = key; 393 + const cmp = key.length - prevKey.length || (key > prevKey ? 1 : key < prevKey ? -1 : 0); 394 + if (cmp <= 0) { 395 + throw new TypeError(`map keys are not in canonical order or contain duplicates`); 396 + } 397 + } 398 + continue jump; 399 + } 400 + value = stack.c; 401 + stack = stack.n; 402 + } 403 + break; 404 + } 405 + return [value, buf.subarray(state.p)]; 406 + }, "decodeFirst"); 407 + var decode2 = /* @__PURE__ */ __name((buf) => { 408 + const [value, remainder] = decodeFirst2(buf); 409 + if (remainder.length !== 0) { 410 + throw new Error(`decoded value contains remainder`); 411 + } 412 + return value; 413 + }, "decode"); 414 + 415 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/encode.js 416 + init_Buffer(); 417 + init_process(); 418 + 419 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/runtime.node.js 420 + init_Buffer(); 421 + init_process(); 422 + var IS_NODE_RUNTIME = true; 423 + 424 + // ../node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/dist/encode.js 425 + var MAX_TYPE_ARG_LEN = 9; 426 + var CHUNK_SIZE = 1024; 427 + var _max = Math.max; 428 + var _isInteger = Number.isInteger; 429 + var _isFinite = Number.isFinite; 430 + var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER; 431 + var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER; 432 + var resizeIfNeeded = /* @__PURE__ */ __name((state, needed) => { 433 + const buf = state.b; 434 + const pos = state.p; 435 + if (buf.byteLength < pos + needed) { 436 + state.c.push(buf.subarray(0, pos)); 437 + state.l += pos; 438 + state.b = allocUnsafe(_max(CHUNK_SIZE, needed)); 439 + state.v = null; 440 + state.p = 0; 441 + } 442 + }, "resizeIfNeeded"); 443 + var getTypeInfoLength = /* @__PURE__ */ __name((arg) => { 444 + return arg < 24 ? 1 : arg < 256 ? 2 : arg < 65536 ? 3 : arg < 4294967296 ? 5 : 9; 445 + }, "getTypeInfoLength"); 446 + var writeFloat64 = /* @__PURE__ */ __name((state, val) => { 447 + const buf = state.b; 448 + const view = state.v ??= new DataView(buf.buffer, buf.byteOffset, buf.byteLength); 449 + view.setFloat64(state.p, val); 450 + state.p += 8; 451 + }, "writeFloat64"); 452 + var writeUint8 = /* @__PURE__ */ __name((state, val) => { 453 + state.b[state.p++] = val; 454 + }, "writeUint8"); 455 + var writeUint16 = /* @__PURE__ */ __name((state, val) => { 456 + let pos = state.p; 457 + const buf = state.b; 458 + buf[pos++] = val >>> 8; 459 + buf[pos++] = val & 255; 460 + state.p = pos; 461 + }, "writeUint16"); 462 + var writeUint32 = /* @__PURE__ */ __name((state, val) => { 463 + let pos = state.p; 464 + const buf = state.b; 465 + buf[pos++] = val >>> 24; 466 + buf[pos++] = val >>> 16 & 255; 467 + buf[pos++] = val >>> 8 & 255; 468 + buf[pos++] = val & 255; 469 + state.p = pos; 470 + }, "writeUint32"); 471 + var writeUint53 = /* @__PURE__ */ __name((state, val) => { 472 + let pos = state.p; 473 + const buf = state.b; 474 + const hi = val / 2 ** 32 | 0; 475 + const lo = val >>> 0; 476 + buf[pos++] = hi >>> 24; 477 + buf[pos++] = hi >>> 16 & 255; 478 + buf[pos++] = hi >>> 8 & 255; 479 + buf[pos++] = hi & 255; 480 + buf[pos++] = lo >>> 24; 481 + buf[pos++] = lo >>> 16 & 255; 482 + buf[pos++] = lo >>> 8 & 255; 483 + buf[pos++] = lo & 255; 484 + state.p = pos; 485 + }, "writeUint53"); 486 + var writeTypeAndArgument = /* @__PURE__ */ __name((state, type, arg) => { 487 + if (arg < 24) { 488 + writeUint8(state, type << 5 | arg); 489 + } else if (arg < 256) { 490 + writeUint8(state, type << 5 | 24); 491 + writeUint8(state, arg); 492 + } else if (arg < 65536) { 493 + writeUint8(state, type << 5 | 25); 494 + writeUint16(state, arg); 495 + } else if (arg < 4294967296) { 496 + writeUint8(state, type << 5 | 26); 497 + writeUint32(state, arg); 498 + } else { 499 + writeUint8(state, type << 5 | 27); 500 + writeUint53(state, arg); 501 + } 502 + }, "writeTypeAndArgument"); 503 + var writeInteger = /* @__PURE__ */ __name((state, val) => { 504 + resizeIfNeeded(state, MAX_TYPE_ARG_LEN); 505 + if (val < 0) { 506 + writeTypeAndArgument(state, 1, -val - 1); 507 + } else { 508 + writeTypeAndArgument(state, 0, val); 509 + } 510 + }, "writeInteger"); 511 + var writeFloat = /* @__PURE__ */ __name((state, val) => { 512 + resizeIfNeeded(state, 9); 513 + writeUint8(state, 224 | 27); 514 + writeFloat64(state, val); 515 + }, "writeFloat"); 516 + var writeNumber = /* @__PURE__ */ __name((state, val) => { 517 + if (!_isFinite(val)) { 518 + throw new RangeError(`NaN and Infinity values not supported`); 519 + } 520 + if (val > MAX_SAFE_INTEGER || val < MIN_SAFE_INTEGER) { 521 + throw new RangeError(`can't encode numbers beyond safe integer range`); 522 + } 523 + if (_isInteger(val)) { 524 + writeInteger(state, val); 525 + } else { 526 + writeFloat(state, val); 527 + } 528 + }, "writeNumber"); 529 + var writeString = /* @__PURE__ */ __name((state, val) => { 530 + const strLength = val.length; 531 + if (strLength === 0) { 532 + resizeIfNeeded(state, 1); 533 + writeUint8(state, 96); 534 + return; 535 + } 536 + resizeIfNeeded(state, strLength * 3 + MAX_TYPE_ARG_LEN); 537 + ascii: if (!IS_NODE_RUNTIME || strLength < 24) { 538 + const ptr = state.p + getTypeInfoLength(strLength); 539 + const first = val.charCodeAt(0); 540 + if (first > 127) { 541 + break ascii; 542 + } 543 + state.b[ptr] = first; 544 + let i = 1; 545 + for (; i + 3 < strLength; i += 4) { 546 + const a = val.charCodeAt(i); 547 + const b = val.charCodeAt(i + 1); 548 + const c = val.charCodeAt(i + 2); 549 + const d = val.charCodeAt(i + 3); 550 + if ((a | b | c | d) & 128) { 551 + break ascii; 552 + } 553 + state.b[ptr + i] = a; 554 + state.b[ptr + i + 1] = b; 555 + state.b[ptr + i + 2] = c; 556 + state.b[ptr + i + 3] = d; 557 + } 558 + for (; i < strLength; i++) { 559 + const code = val.charCodeAt(i); 560 + if (code > 127) { 561 + break ascii; 562 + } 563 + state.b[ptr + i] = code; 564 + } 565 + writeTypeAndArgument(state, 3, strLength); 566 + state.p += strLength; 567 + return; 568 + } 569 + const estimatedHeaderSize = getTypeInfoLength(strLength * 2); 570 + const estimatedPosition = state.p + estimatedHeaderSize; 571 + const len = encodeUtf8Into(state.b, val, estimatedPosition); 572 + const headerSize = getTypeInfoLength(len); 573 + if (estimatedHeaderSize !== headerSize) { 574 + state.b.copyWithin(state.p + headerSize, estimatedPosition, estimatedPosition + len); 575 + } 576 + writeTypeAndArgument(state, 3, len); 577 + state.p += len; 578 + }, "writeString"); 579 + var writeBytes = /* @__PURE__ */ __name((state, val) => { 580 + const buf = fromBytes(val); 581 + const len = buf.byteLength; 582 + resizeIfNeeded(state, len + MAX_TYPE_ARG_LEN); 583 + writeTypeAndArgument(state, 2, len); 584 + state.b.set(buf, state.p); 585 + state.p += len; 586 + }, "writeBytes"); 587 + var writeCid = /* @__PURE__ */ __name((state, val) => { 588 + const buf = val instanceof CidLinkWrapper ? val.bytes : fromString(val.$link).bytes; 589 + const len = buf.byteLength + 1; 590 + resizeIfNeeded(state, len + 2 * MAX_TYPE_ARG_LEN); 591 + writeTypeAndArgument(state, 6, 42); 592 + writeTypeAndArgument(state, 2, len); 593 + state.b[state.p] = 0; 594 + state.b.set(buf, state.p + 1); 595 + state.p += len; 596 + }, "writeCid"); 597 + var writeValue = /* @__PURE__ */ __name((state, val) => { 598 + switch (typeof val) { 599 + case "boolean": { 600 + resizeIfNeeded(state, 1); 601 + return writeUint8(state, 244 + +val); 602 + } 603 + case "number": { 604 + return writeNumber(state, val); 605 + } 606 + case "string": { 607 + return writeString(state, val); 608 + } 609 + case "object": { 610 + if (val === null) { 611 + resizeIfNeeded(state, 1); 612 + return writeUint8(state, 246); 613 + } 614 + if (Array.isArray(val)) { 615 + const len = val.length; 616 + resizeIfNeeded(state, MAX_TYPE_ARG_LEN); 617 + writeTypeAndArgument(state, 4, len); 618 + for (let idx = 0; idx < len; idx++) { 619 + writeValue(state, val[idx]); 620 + } 621 + return; 622 + } 623 + if (val.constructor === Object) { 624 + const keys = getOrderedObjectKeys(val); 625 + const len = keys.length; 626 + if (len === 1) { 627 + const key = keys[0]; 628 + if (key === "$link") { 629 + if (typeof val.$link === "string") { 630 + writeCid(state, val); 631 + return; 632 + } 633 + throw new TypeError(`unexpected cid-link value`); 634 + } 635 + if (key === "$bytes") { 636 + if (typeof val.$bytes === "string") { 637 + writeBytes(state, val); 638 + return; 639 + } 640 + throw new TypeError(`unexpected bytes value`); 641 + } 642 + } 643 + resizeIfNeeded(state, MAX_TYPE_ARG_LEN); 644 + writeTypeAndArgument(state, 5, len); 645 + for (let idx = 0; idx < len; idx++) { 646 + const key = keys[idx]; 647 + writeString(state, key); 648 + writeValue(state, val[key]); 649 + } 650 + return; 651 + } 652 + if ("$link" in val) { 653 + if (val instanceof CidLinkWrapper || typeof val.$link === "string") { 654 + writeCid(state, val); 655 + return; 656 + } 657 + throw new TypeError(`unexpected cid-link value`); 658 + } 659 + if ("$bytes" in val) { 660 + if (val instanceof BytesWrapper || typeof val.$bytes === "string") { 661 + writeBytes(state, val); 662 + return; 663 + } 664 + throw new TypeError(`unexpected bytes value`); 665 + } 666 + } 667 + } 668 + throw new TypeError(`unsupported type: ${val}`); 669 + }, "writeValue"); 670 + var createState = /* @__PURE__ */ __name(() => { 671 + return { 672 + c: [], 673 + b: allocUnsafe(CHUNK_SIZE), 674 + v: null, 675 + p: 0, 676 + l: 0 677 + }; 678 + }, "createState"); 679 + var encode = /* @__PURE__ */ __name((value) => { 680 + const state = createState(); 681 + writeValue(state, value); 682 + const final = state.b.subarray(0, state.p); 683 + if (!state.c.length) 684 + return final; 685 + state.c.push(final); 686 + return concat(state.c, state.l + state.p); 687 + }, "encode"); 688 + var getOrderedObjectKeys = /* @__PURE__ */ __name((obj) => { 689 + const keys = Object.keys(obj); 690 + let len = 0; 691 + for (let i = 0; i < keys.length; i++) { 692 + const valA = keys[i]; 693 + if (obj[valA] === void 0) { 694 + continue; 695 + } 696 + const lenA = valA.length; 697 + let j = len - 1; 698 + for (; j >= 0; j--) { 699 + const valB = keys[j]; 700 + if (lenA > valB.length || lenA === valB.length && valA > valB) { 701 + break; 702 + } 703 + keys[j + 1] = valB; 704 + } 705 + keys[j + 1] = valA; 706 + len++; 707 + } 708 + keys.length = len; 709 + return keys; 710 + }, "getOrderedObjectKeys"); 711 + 712 + // components/transformer/output/bytes/dasl-sync/element.js 713 + var EMPTY = { 714 + cid: void 0, 715 + data: [], 716 + inventory: { current: {}, removed: [] } 717 + }; 718 + var DaslBytesSyncOutputTransformer = class extends OutputTransformer { 719 + static { 720 + __name(this, "DaslBytesSyncOutputTransformer"); 721 + } 722 + constructor() { 723 + super(); 724 + const remote = this.base(); 725 + const state = /* @__PURE__ */ __name((kind, localCollection, remoteCollection, remoteState, { saveLocal, saveRemote }) => { 726 + const container = signal( 727 + /** @type {Container<T>} */ 728 + EMPTY, 729 + { 730 + eager: true 731 + } 732 + ); 733 + const isReady = signal(false); 734 + let isMerging = false; 735 + this.effect(() => { 736 + if (!isReady.value) return; 737 + if (isMerging) return; 738 + const lb = localCollection(); 739 + const rb = remote.ready() ? remoteCollection() : void 0; 740 + const rs = remoteState(); 741 + const l = lb ? decode2(lb) : void 0; 742 + const r = rb && rs === "loaded" ? decode2(rb) : void 0; 743 + if (!r) { 744 + if (l) { 745 + container.value = l; 746 + if (remote.ready() && rs === "loaded") { 747 + const bytes = this.save(l); 748 + saveRemote(bytes); 749 + } 750 + } 751 + } else if (!l) { 752 + container.value = r; 753 + const bytes = this.save(r); 754 + saveLocal(bytes); 755 + } else { 756 + container.value = l; 757 + if (this.hasDiverged({ local: l, remote: r })) { 758 + isMerging = true; 759 + this.merge(l, r).then(async (c) => { 760 + container.value = c; 761 + const bytes = this.save(c); 762 + await saveLocal(bytes); 763 + if (remote.ready() && rs === "loaded") { 764 + await saveRemote(bytes); 765 + } 766 + isMerging = false; 767 + }); 768 + } 769 + } 770 + }); 771 + return computed(() => { 772 + if (!untracked(isReady.get)) isReady.value = true; 773 + return container.get(); 774 + }); 775 + }, "state"); 776 + const local = { 777 + facets: this.local("facets"), 778 + playlistItems: this.local("playlistItems"), 779 + themes: this.local("themes"), 780 + tracks: this.local("tracks") 781 + }; 782 + const facets = state( 783 + "facets", 784 + local.facets.get, 785 + remote.facets.collection, 786 + remote.facets.state, 787 + { 788 + saveLocal: this.putLocalFn("facets", local.facets), 789 + saveRemote: remote.facets.save 790 + } 791 + ); 792 + const playlistItems = state( 793 + "playlistItems", 794 + local.playlistItems.get, 795 + remote.playlistItems.collection, 796 + remote.playlistItems.state, 797 + { 798 + saveLocal: this.putLocalFn("playlistItems", local.playlistItems), 799 + saveRemote: remote.playlistItems.save 800 + } 801 + ); 802 + const themes = state( 803 + "themes", 804 + local.themes.get, 805 + remote.themes.collection, 806 + remote.themes.state, 807 + { 808 + saveLocal: this.putLocalFn("themes", local.themes), 809 + saveRemote: remote.themes.save 810 + } 811 + ); 812 + const tracks = state( 813 + "tracks", 814 + local.tracks.get, 815 + remote.tracks.collection, 816 + remote.tracks.state, 817 + { 818 + saveLocal: this.putLocalFn("tracks", local.tracks), 819 + saveRemote: remote.tracks.save 820 + } 821 + ); 822 + this.facets = this.managerProp( 823 + { save: this.putLocalFn("facets", local.facets) }, 824 + remote.facets, 825 + facets 826 + ); 827 + this.playlistItems = this.managerProp( 828 + { save: this.putLocalFn("playlistItems", local.playlistItems) }, 829 + remote.playlistItems, 830 + playlistItems 831 + ); 832 + this.themes = this.managerProp( 833 + { save: this.putLocalFn("themes", local.themes) }, 834 + remote.themes, 835 + themes 836 + ); 837 + this.tracks = this.managerProp( 838 + { save: this.putLocalFn("tracks", local.tracks) }, 839 + remote.tracks, 840 + tracks 841 + ); 842 + this.ready = () => true; 843 + } 844 + // DATA FUNCTIONS 845 + /** 846 + * @template {{ id: string; updatedAt: string }} T 847 + * @param {{ previous: Container<T>, collection: T[] }} _ 848 + * @returns {Promise<Container<T>>} 849 + */ 850 + async updateContainer({ previous, collection }) { 851 + const inventory = previous.inventory; 852 + const collIds = collection.map(({ id }) => id); 853 + const currSet = new Set(Object.keys(inventory.current)); 854 + const collSet = new Set(collIds); 855 + const newSet = collSet.difference(currSet); 856 + const remSet = currSet.difference(collSet); 857 + const alreadyRemoved = new Set(inventory.removed); 858 + const allRemoved = alreadyRemoved.union(remSet); 859 + const current = { ...inventory.current }; 860 + remSet.forEach((id) => { 861 + delete current[id]; 862 + }); 863 + const promises = []; 864 + collection.forEach((a) => { 865 + if (!newSet.has(a.id)) return; 866 + const encoded = encode(a); 867 + promises.push((async () => { 868 + const cid = await create(113, encoded); 869 + current[a.id] = cid; 870 + })()); 871 + }); 872 + await Promise.all(promises); 873 + const newInventory = { 874 + current, 875 + removed: Array.from(allRemoved) 876 + }; 877 + return { 878 + // TODO: Do we need this? Too big of a perf penalty? 879 + cid: await create(113, encode(newInventory)), 880 + data: collection, 881 + inventory: newInventory 882 + }; 883 + } 884 + /** 885 + * @template {{ id: string; updatedAt: string }} T 886 + * @param {{ local: Container<T>, remote: Container<T> }} _ 887 + */ 888 + hasDiverged({ local, remote }) { 889 + return local.cid !== remote.cid; 890 + } 891 + /** 892 + * @template {{ id: string; updatedAt: string }} T 893 + * @param {Container<T>} a 894 + * @param {Container<T>} b 895 + * @returns {Promise<Container<T>>} 896 + */ 897 + async merge(a, b) { 898 + console.log("Merging:", a, b); 899 + const removedA = new Set(a.inventory.removed); 900 + const removedB = new Set(b.inventory.removed); 901 + const allRemoved = removedA.union(removedB); 902 + const currentA = a.inventory.current; 903 + const currentB = b.inventory.current; 904 + const mapA = new Map(a.data.map((item) => [item.id, item])); 905 + const mapB = new Map(b.data.map((item) => [item.id, item])); 906 + const allIds = /* @__PURE__ */ new Set([ 907 + ...Object.keys(currentA), 908 + ...Object.keys(currentB) 909 + ]); 910 + const current = {}; 911 + const data = []; 912 + const cidPromises = []; 913 + for (const id of allIds) { 914 + if (allRemoved.has(id)) continue; 915 + if (id in currentA && id in currentB) { 916 + const itemA = mapA.get(id); 917 + const itemB = mapB.get(id); 918 + if (!itemA || !itemB) { 919 + console.warn("Should have found both items but didn't!"); 920 + continue; 921 + } 922 + if (currentA[id] === currentB[id]) { 923 + data.push(itemA); 924 + current[id] = currentA[id]; 925 + continue; 926 + } 927 + const isANewerThanB = itemA.updatedAt && itemB.updatedAt ? compareTimestamps(itemA.updatedAt, itemB.updatedAt) > 0 : false; 928 + const newestItem = isANewerThanB ? itemA : itemB; 929 + const oldItem = isANewerThanB ? itemB : itemA; 930 + const mergedItem = { ...oldItem }; 931 + deep_diff_default.applyDiff(newestItem, mergedItem); 932 + data.push(mergedItem); 933 + cidPromises.push( 934 + create(113, encode(mergedItem)).then((cid) => { 935 + current[id] = cid; 936 + }) 937 + ); 938 + } else { 939 + const item = mapA.get(id) ?? mapB.get(id); 940 + if (item) { 941 + data.push(item); 942 + current[id] = currentA[id] ?? currentB[id]; 943 + } 944 + } 945 + } 946 + await Promise.all(cidPromises); 947 + const updatedInventory = { current, removed: Array.from(allRemoved) }; 948 + return { 949 + cid: await create(113, encode(updatedInventory)), 950 + data, 951 + inventory: updatedInventory 952 + }; 953 + } 954 + /** 955 + * @template {{ id: string; updatedAt: string }} T 956 + * @param {Container<T>} container 957 + * @returns {Uint8Array} 958 + */ 959 + save(container) { 960 + return encode(container); 961 + } 962 + // OUTPUT MANAGER FUNCTIONS 963 + /** 964 + * @template {{ id: string; updatedAt: string }} T 965 + * @param {{ save: (bytes: Uint8Array) => Promise<void> | void }} local 966 + * @param {{ collection: SignalReader<Uint8Array | undefined>, reload: () => Promise<void>, save: (bytes: Uint8Array) => Promise<void>, state: SignalReader<"loading" | "loaded" | "sleeping"> }} remote 967 + * @param {SignalReader<Container<T>>} container 968 + * @returns {{ collection: SignalReader<T[]>, reload: () => Promise<void>, save: (items: T[]) => Promise<void>, state: SignalReader<"loading" | "loaded" | "sleeping"> }} 969 + */ 970 + managerProp(local, remote, container) { 971 + return { 972 + collection: computed(() => { 973 + return container()?.data ?? []; 974 + }), 975 + reload: remote.reload, 976 + save: /* @__PURE__ */ __name(async (newItems) => { 977 + const adjustedContainer = await this.updateContainer({ 978 + collection: newItems, 979 + previous: container() 980 + }); 981 + const bytes = this.save(adjustedContainer); 982 + await local.save(bytes); 983 + }, "save"), 984 + state: computed(() => { 985 + if (container()?.cid) return "loaded"; 986 + return "loading"; 987 + }) 988 + }; 989 + } 990 + // INDEXED-DB 991 + /** 992 + * @param {string} name 993 + */ 994 + local(name) { 995 + const s = signal( 996 + /** @type {Uint8Array | undefined} */ 997 + void 0, 998 + { 999 + eager: true 1000 + } 1001 + ); 1002 + this.getLocal(name).then(s.set); 1003 + return s; 1004 + } 1005 + /** 1006 + * @param {string} name 1007 + * @returns {Promise<Uint8Array | undefined>} 1008 + */ 1009 + getLocal(name) { 1010 + return get(`${IDB_PREFIX}/${this.#cat(name)}`); 1011 + } 1012 + /** @param {string} name; @param {Uint8Array} data */ 1013 + putLocal(name, data) { 1014 + return set(`${IDB_PREFIX}/${this.#cat(name)}`, data); 1015 + } 1016 + /** 1017 + * @param {string} name 1018 + * @param {Signal<Uint8Array | undefined>} signal 1019 + */ 1020 + putLocalFn = /* @__PURE__ */ __name((name, signal2) => ( 1021 + /** @param {Uint8Array} data */ 1022 + async (data) => { 1023 + signal2.value = data; 1024 + await this.putLocal(name, data); 1025 + } 1026 + ), "putLocalFn"); 1027 + // 🛠️ 1028 + get namespace() { 1029 + return this.hasAttribute("namespace") ? this.getAttribute("namespace") + "/" : ""; 1030 + } 1031 + /** @param {string} name */ 1032 + #cat(name) { 1033 + return `${this.namespace}${name}`; 1034 + } 1035 + }; 1036 + var element_default = DaslBytesSyncOutputTransformer; 1037 + var CLASS = DaslBytesSyncOutputTransformer; 1038 + var NAME = "dtob-dasl-sync"; 1039 + customElements.define(NAME, CLASS); 1040 + export { 1041 + CLASS, 1042 + NAME, 1043 + element_default as default 1044 + }; 1045 + 1046 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/dasl-sync/element.js.map
··· 1 + {"version":3,"sources":["/element.js","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/index.ts","/node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/lib/index.ts","/node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/lib/cid-link.ts","/node_modules/.deno/@atcute+cid@2.4.1/node_modules/@atcute/cid/lib/codec.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/bytes.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/decode.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/encode.ts","/node_modules/.deno/@atcute+cbor@2.3.2/node_modules/@atcute/cbor/lib/runtime.node.ts"],"sourcesContent":["import * as IDB from \"idb-keyval\";\nimport { decode, encode } from \"@atcute/cbor\";\nimport deepDiff from \"@fry69/deep-diff\";\n\nimport \"@components/output/polymorphic/indexed-db/element.js\";\n\nimport * as CID from \"@common/cid.js\";\nimport { computed, signal, untracked } from \"@common/signal.js\";\nimport { compareTimestamps } from \"@common/utils.js\";\nimport { OutputTransformer } from \"../../base.js\";\nimport { IDB_PREFIX } from \"./constants.js\";\n\n/**\n * @import { Signal, SignalReader } from \"@common/signal.d.ts\";\n * @import { Container } from \"./types.d.ts\"\n */\n\n/** @type {Container<any>} */\nconst EMPTY = {\n cid: undefined,\n data: [],\n inventory: { current: {}, removed: [] },\n};\n\n/**\n * @extends {OutputTransformer<Uint8Array>}\n */\nclass DaslBytesSyncOutputTransformer extends OutputTransformer {\n constructor() {\n super();\n\n const remote = this.base();\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {string} kind\n * @param {SignalReader<Uint8Array | undefined>} localCollection\n * @param {SignalReader<Uint8Array | undefined>} remoteCollection\n * @param {SignalReader<\"loading\" | \"loaded\" | \"sleeping\">} remoteState\n * @param {{ saveLocal: (bytes: Uint8Array) => Promise<void>; saveRemote: (bytes: Uint8Array) => Promise<void> }} sync\n */\n const state = (\n kind,\n localCollection,\n remoteCollection,\n remoteState,\n { saveLocal, saveRemote },\n ) => {\n const container = signal(/** @type {Container<T>} */ (EMPTY), {\n eager: true,\n });\n\n const isReady = signal(false);\n\n let isMerging = false;\n\n this.effect(() => {\n if (!isReady.value) return;\n if (isMerging) return;\n\n const lb = localCollection();\n const rb = remote.ready() ? remoteCollection() : undefined;\n const rs = remoteState();\n\n /** @type {Container<T> | undefined} */\n const l = lb ? decode(lb) : undefined;\n\n /** @type {Container<T> | undefined} */\n const r = rb && rs === \"loaded\" ? decode(rb) : undefined;\n\n if (!r) {\n if (l) {\n container.value = l;\n\n if (remote.ready() && rs === \"loaded\") {\n const bytes = this.save(l);\n saveRemote(bytes);\n }\n }\n } else if (!l) {\n container.value = r;\n\n const bytes = this.save(r);\n saveLocal(bytes);\n } else {\n container.value = l;\n\n if (this.hasDiverged({ local: l, remote: r })) {\n isMerging = true;\n\n this.merge(l, r).then(async (c) => {\n container.value = c;\n\n const bytes = this.save(c);\n await saveLocal(bytes);\n\n if (remote.ready() && rs === \"loaded\") {\n await saveRemote(bytes);\n }\n\n isMerging = false;\n });\n }\n }\n });\n\n return computed(() => {\n if (!untracked(isReady.get)) isReady.value = true;\n return container.get();\n });\n };\n\n // Local\n const local = {\n facets: this.local(\"facets\"),\n playlistItems: this.local(\"playlistItems\"),\n themes: this.local(\"themes\"),\n tracks: this.local(\"tracks\"),\n };\n\n // Container signals\n const facets = state(\n \"facets\",\n local.facets.get,\n remote.facets.collection,\n remote.facets.state,\n {\n saveLocal: this.putLocalFn(\"facets\", local.facets),\n saveRemote: remote.facets.save,\n },\n );\n\n const playlistItems = state(\n \"playlistItems\",\n local.playlistItems.get,\n remote.playlistItems.collection,\n remote.playlistItems.state,\n {\n saveLocal: this.putLocalFn(\"playlistItems\", local.playlistItems),\n saveRemote: remote.playlistItems.save,\n },\n );\n\n const themes = state(\n \"themes\",\n local.themes.get,\n remote.themes.collection,\n remote.themes.state,\n {\n saveLocal: this.putLocalFn(\"themes\", local.themes),\n saveRemote: remote.themes.save,\n },\n );\n\n const tracks = state(\n \"tracks\",\n local.tracks.get,\n remote.tracks.collection,\n remote.tracks.state,\n {\n saveLocal: this.putLocalFn(\"tracks\", local.tracks),\n saveRemote: remote.tracks.save,\n },\n );\n\n // Output manager\n this.facets = this.managerProp(\n { save: this.putLocalFn(\"facets\", local.facets) },\n remote.facets,\n facets,\n );\n\n this.playlistItems = this.managerProp(\n { save: this.putLocalFn(\"playlistItems\", local.playlistItems) },\n remote.playlistItems,\n playlistItems,\n );\n\n this.themes = this.managerProp(\n { save: this.putLocalFn(\"themes\", local.themes) },\n remote.themes,\n themes,\n );\n\n this.tracks = this.managerProp(\n { save: this.putLocalFn(\"tracks\", local.tracks) },\n remote.tracks,\n tracks,\n );\n\n this.ready = () => true;\n }\n\n // DATA FUNCTIONS\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {{ previous: Container<T>, collection: T[] }} _\n * @returns {Promise<Container<T>>}\n */\n async updateContainer({ previous, collection }) {\n const inventory = previous.inventory;\n\n const collIds = collection.map(({ id }) => id);\n\n const currSet = new Set(Object.keys(inventory.current));\n const collSet = new Set(collIds);\n\n const newSet = collSet.difference(currSet);\n const remSet = currSet.difference(collSet);\n\n const alreadyRemoved = new Set(inventory.removed);\n const allRemoved = alreadyRemoved.union(remSet);\n\n /** @type {Record<string, string>} */\n const current = { ...inventory.current };\n\n remSet.forEach((id) => {\n delete current[id];\n });\n\n /** @type Promise<void>[] */\n const promises = [];\n\n collection.forEach((a) => {\n if (!newSet.has(a.id)) return;\n\n // Item is new, calculate CID and add it to the `current` dictionary\n const encoded = encode(a);\n\n promises.push((async () => {\n const cid = await CID.create(0x71, encoded);\n current[a.id] = cid;\n })());\n });\n\n await Promise.all(promises);\n\n const newInventory = {\n current,\n removed: Array.from(allRemoved),\n };\n\n return {\n // TODO: Do we need this? Too big of a perf penalty?\n cid: await CID.create(0x71, encode(newInventory)),\n data: collection,\n inventory: newInventory,\n };\n }\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {{ local: Container<T>, remote: Container<T> }} _\n */\n hasDiverged({ local, remote }) {\n return local.cid !== remote.cid;\n }\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {Container<T>} a\n * @param {Container<T>} b\n * @returns {Promise<Container<T>>}\n */\n async merge(a, b) {\n console.log(\"Merging:\", a, b);\n\n const removedA = new Set(a.inventory.removed);\n const removedB = new Set(b.inventory.removed);\n const allRemoved = removedA.union(removedB);\n\n const currentA = a.inventory.current;\n const currentB = b.inventory.current;\n\n const mapA = new Map(a.data.map((item) => [item.id, item]));\n const mapB = new Map(b.data.map((item) => [item.id, item]));\n\n // Combine all known ids from both sides\n const allIds = new Set([\n ...Object.keys(currentA),\n ...Object.keys(currentB),\n ]);\n\n /** @type {Record<string, string>} */\n const current = {};\n\n /** @type {T[]} */\n const data = [];\n\n // Construct `current` and `data`\n /** @type {Promise<void>[]} */\n const cidPromises = [];\n\n for (const id of allIds) {\n if (allRemoved.has(id)) continue;\n\n if (id in currentA && id in currentB) {\n const itemA = mapA.get(id);\n const itemB = mapB.get(id);\n\n if (!itemA || !itemB) {\n console.warn(\"Should have found both items but didn't!\");\n continue;\n }\n\n // Items are identical, no merge or CID recomputation needed\n if (currentA[id] === currentB[id]) {\n data.push(itemA);\n current[id] = currentA[id];\n continue;\n }\n\n const isANewerThanB = itemA.updatedAt && itemB.updatedAt\n ? compareTimestamps(itemA.updatedAt, itemB.updatedAt) > 0\n : false;\n\n const newestItem = isANewerThanB ? itemA : itemB;\n const oldItem = isANewerThanB ? itemB : itemA;\n\n /** @type {T} */\n const mergedItem = { ...oldItem };\n\n deepDiff.applyDiff(newestItem, mergedItem);\n\n data.push(mergedItem);\n\n cidPromises.push(\n CID.create(0x71, encode(mergedItem)).then((cid) => {\n current[id] = cid;\n }),\n );\n } else {\n const item = mapA.get(id) ?? mapB.get(id);\n\n if (item) {\n data.push(item);\n current[id] = currentA[id] ?? currentB[id];\n }\n }\n }\n\n await Promise.all(cidPromises);\n\n // New inventory\n const updatedInventory = { current, removed: Array.from(allRemoved) };\n\n return {\n cid: await CID.create(0x71, encode(updatedInventory)),\n data,\n inventory: updatedInventory,\n };\n }\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {Container<T>} container\n * @returns {Uint8Array}\n */\n save(container) {\n return encode(container);\n }\n\n // OUTPUT MANAGER FUNCTIONS\n\n /**\n * @template {{ id: string; updatedAt: string }} T\n * @param {{ save: (bytes: Uint8Array) => Promise<void> | void }} local\n * @param {{ collection: SignalReader<Uint8Array | undefined>, reload: () => Promise<void>, save: (bytes: Uint8Array) => Promise<void>, state: SignalReader<\"loading\" | \"loaded\" | \"sleeping\"> }} remote\n * @param {SignalReader<Container<T>>} container\n * @returns {{ collection: SignalReader<T[]>, reload: () => Promise<void>, save: (items: T[]) => Promise<void>, state: SignalReader<\"loading\" | \"loaded\" | \"sleeping\"> }}\n */\n managerProp(local, remote, container) {\n return {\n collection: computed(() => {\n return container()?.data ?? [];\n }),\n reload: remote.reload,\n save: async (/** @type {T[]} */ newItems) => {\n const adjustedContainer = await this.updateContainer({\n collection: newItems,\n previous: container(),\n });\n\n const bytes = this.save(adjustedContainer);\n await local.save(bytes);\n },\n state: computed(() => {\n if (container()?.cid) return \"loaded\";\n return \"loading\";\n }),\n };\n }\n\n // INDEXED-DB\n\n /**\n * @param {string} name\n */\n local(name) {\n const s = signal(/** @type {Uint8Array | undefined} */ (undefined), {\n eager: true,\n });\n\n this.getLocal(name).then(s.set);\n\n return s;\n }\n\n /**\n * @param {string} name\n * @returns {Promise<Uint8Array | undefined>}\n */\n getLocal(name) {\n return IDB.get(`${IDB_PREFIX}/${this.#cat(name)}`);\n }\n\n /** @param {string} name; @param {Uint8Array} data */\n putLocal(name, data) {\n return IDB.set(`${IDB_PREFIX}/${this.#cat(name)}`, data);\n }\n\n /**\n * @param {string} name\n * @param {Signal<Uint8Array | undefined>} signal\n */\n putLocalFn =\n (name, signal) => /** @param {Uint8Array} data */ async (data) => {\n signal.value = data;\n await this.putLocal(name, data);\n };\n\n // 🛠️\n\n get namespace() {\n return this.hasAttribute(\"namespace\")\n ? this.getAttribute(\"namespace\") + \"/\"\n : \"\";\n }\n\n /** @param {string} name */\n #cat(name) {\n return `${this.namespace}${name}`;\n }\n}\n\nexport default DaslBytesSyncOutputTransformer;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = DaslBytesSyncOutputTransformer;\nexport const NAME = \"dtob-dasl-sync\";\n\ncustomElements.define(NAME, CLASS);\n","// implements github:darobin/dasl.ing@cc66c35 (2025-10-20)\n\nexport { CidLinkWrapper, fromCidLink, isCidLink, toCidLink, type CidLink } from '@atcute/cid';\n\nexport { BytesWrapper, fromBytes, isBytes, toBytes, type Bytes } from './bytes.ts';\n\nexport { decode, decodeFirst } from './decode.ts';\nexport { encode } from './encode.ts';\n","// implements github:darobin/dasl.ing@cc66c35 (2025-10-20)\n\nexport * from './cid-link.ts';\nexport * from './codec.ts';\n","import { toBase32 } from '@atcute/multibase';\n\nimport { decode, fromString, type Cid } from './codec.ts';\n\nconst CID_LINK_SYMBOL = Symbol.for('@atcute/cid-link-wrapper');\n\nexport interface CidLink {\n\t$link: string;\n}\n\nexport class CidLinkWrapper implements CidLink {\n\t/** @internal */\n\treadonly [CID_LINK_SYMBOL] = true;\n\n\treadonly bytes: Uint8Array;\n\n\tconstructor(bytes: Uint8Array) {\n\t\tthis.bytes = bytes;\n\t}\n\n\tget $link(): string {\n\t\tconst link = `b${toBase32(this.bytes)}`;\n\t\tObject.defineProperty(this, '$link', {\n\t\t\tvalue: link,\n\t\t\tenumerable: true,\n\t\t});\n\n\t\treturn link;\n\t}\n\n\ttoJSON(): CidLink {\n\t\treturn { $link: this.$link };\n\t}\n}\n\nexport const isCidLink = (value: unknown): value is CidLink => {\n\tconst val = value as any;\n\n\treturn (\n\t\tval instanceof CidLinkWrapper ||\n\t\t(val !== null && typeof val === 'object' && typeof val.$link === 'string')\n\t);\n};\n\nexport const toCidLink = (cid: Cid): CidLink => {\n\treturn new CidLinkWrapper(cid.bytes);\n};\n\nexport const fromCidLink = (link: CidLink): Cid => {\n\tif (link instanceof CidLinkWrapper) {\n\t\treturn decode(link.bytes);\n\t}\n\n\treturn fromString(link.$link);\n};\n","import { fromBase32, toBase32 } from '@atcute/multibase';\nimport { allocUnsafe, toSha256, equals as isBufferEqual } from '@atcute/uint8array';\n\n/** CID version, always `1` for CIDv1 */\nexport const CID_VERSION = 1;\n/** multicodec for SHA-256 hash */\nexport const HASH_SHA256 = 0x12;\n\n/** multicodec for raw binary data */\nexport const CODEC_RAW = 0x55;\n/** multicodec for DAG-CBOR encoded data */\nexport const CODEC_DCBOR = 0x71;\n\n/**\n * represents a Content Identifier (CID), in particular, a limited subset of\n * CIDv1 as described by DASL specifications.\n * https://dasl.ing/cid.html\n */\nexport interface Cid {\n\t/** CID version, this is always `1` for CIDv1 */\n\treadonly version: number;\n\t/** Multicodec type for the data, can be `0x55` for raw data or `0x71` for DAG-CBOR */\n\treadonly codec: number;\n\t/** Digest contents */\n\treadonly digest: {\n\t\t/** Multicodec type for the digest, this is always `0x12` for SHA-256 */\n\t\treadonly codec: number;\n\t\t/** Raw hash bytes */\n\t\treadonly contents: Uint8Array;\n\t};\n\t/** Raw CID bytes */\n\treadonly bytes: Uint8Array;\n}\n\n// a SHA-256 CIDv1 is always going to be 36 bytes, that's 4 bytes for the\n// header, and 32 bytes for the digest itself.\n\n/**\n * creates a CID from a pre-computed SHA-256 digest\n * @param codec multicodec type for the data\n * @param digest raw SHA-256 hash bytes (must be 32 bytes)\n * @returns CID object\n */\nexport const fromDigest = (codec: 0x55 | 0x71, digest: Uint8Array): Cid => {\n\tif (digest.length !== 32) {\n\t\tthrow new RangeError(`invalid digest length`);\n\t}\n\n\tconst bytes = allocUnsafe(4 + 32);\n\n\tbytes[0] = CID_VERSION;\n\tbytes[1] = codec;\n\tbytes[2] = HASH_SHA256;\n\tbytes[3] = 32;\n\n\tbytes.set(digest, 4);\n\n\treturn {\n\t\tversion: CID_VERSION,\n\t\tcodec: codec,\n\t\tdigest: {\n\t\t\tcodec: HASH_SHA256,\n\t\t\tcontents: bytes.subarray(4, 36),\n\t\t},\n\t\tbytes: bytes,\n\t};\n};\n\n/**\n * creates a CID by hashing the provided data with SHA-256\n * @param codec multicodec type for the data\n * @param data raw data to hash\n * @returns CID object\n */\nexport const create = async (codec: 0x55 | 0x71, data: Uint8Array<ArrayBuffer>): Promise<Cid> => {\n\tconst digest = await toSha256(data);\n\treturn fromDigest(codec, digest);\n};\n\n/**\n * decodes a CID from bytes, returning the CID and any remaining bytes\n * @param bytes raw CID bytes\n * @returns tuple of decoded CID and remainder bytes\n * @throws {RangeError} if the bytes are too short or contain invalid values\n */\nexport const decodeFirst = (bytes: Uint8Array): [decoded: Cid, remainder: Uint8Array] => {\n\tif (bytes.length < 36) {\n\t\tthrow new RangeError(`cid too short`);\n\t}\n\n\tconst version = bytes[0];\n\tconst codec = bytes[1];\n\tconst digestType = bytes[2];\n\tconst digestSize = bytes[3];\n\n\tif (version !== CID_VERSION) {\n\t\tthrow new RangeError(`incorrect cid version (got v${version})`);\n\t}\n\n\tif (codec !== CODEC_DCBOR && codec !== CODEC_RAW) {\n\t\tthrow new RangeError(`incorrect cid codec (got 0x${codec.toString(16)})`);\n\t}\n\n\tif (digestType !== HASH_SHA256) {\n\t\tthrow new RangeError(`incorrect cid digest codec (got 0x${digestType.toString(16)})`);\n\t}\n\n\tif (digestSize !== 32) {\n\t\tthrow new RangeError(`incorrect cid digest size (got ${digestSize})`);\n\t}\n\n\tconst cid: Cid = {\n\t\tversion: CID_VERSION,\n\t\tcodec: codec,\n\t\tdigest: {\n\t\t\tcodec: digestType,\n\t\t\tcontents: bytes.subarray(4, 36),\n\t\t},\n\t\tbytes: bytes.subarray(0, 36),\n\t};\n\n\treturn [cid, bytes.subarray(36)];\n};\n\n/**\n * decodes a CID from bytes, expecting no remainder\n * @param bytes raw CID bytes\n * @returns decoded CID\n * @throws {RangeError} if the bytes are invalid or contain extra data\n */\nexport const decode = (bytes: Uint8Array): Cid => {\n\tconst [cid, remainder] = decodeFirst(bytes);\n\n\tif (remainder.length !== 0) {\n\t\tthrow new RangeError(`cid bytes includes remainder`);\n\t}\n\n\treturn cid;\n};\n\n/**\n * parses a CID from a multibase base32 string\n * @param input base32-encoded CID string (with 'b' prefix)\n * @returns decoded CID\n * @throws {SyntaxError} if the string is not a valid multibase base32 string\n * @throws {RangeError} if the string length is invalid\n */\nexport const fromString = (input: string): Cid => {\n\t// 36 bytes in base32 = 58 characters + 1 character for the prefix\n\tif (input.length !== 59 || input[0] !== 'b') {\n\t\tthrow new SyntaxError(`not a valid cid string`);\n\t}\n\n\tconst bytes = fromBase32(input.slice(1));\n\treturn decode(bytes);\n};\n\n/**\n * encodes a CID to a multibase base32 string\n * @param cid CID to encode\n * @returns base32-encoded string with 'b' prefix\n */\nexport const toString = (cid: Cid): string => {\n\treturn `b${toBase32(cid.bytes)}`;\n};\n\n/**\n * parses a CID from binary format (with 0x00 prefix)\n * @param input binary CID bytes with 0x00 prefix\n * @returns decoded CID\n * @throws {RangeError} if the byte length is invalid\n * @throws {SyntaxError} if the prefix byte is not 0x00\n */\nexport const fromBinary = (input: Uint8Array): Cid => {\n\t// 36 bytes + 1 byte for the 0x00 prefix\n\tif (input.length !== 37 || input[0] !== 0) {\n\t\tthrow new SyntaxError(`invalid binary cid`);\n\t}\n\n\treturn decode(input.subarray(1));\n};\n\n/**\n * encodes a CID to binary format (with 0x00 prefix)\n * @param cid CID to encode\n * @returns binary CID bytes with 0x00 prefix\n */\nexport const toBinary = (cid: Cid): Uint8Array => {\n\tconst bytes = allocUnsafe(1 + cid.bytes.length);\n\tbytes[0] = 0;\n\tbytes.set(cid.bytes, 1);\n\n\treturn bytes;\n};\n\n/**\n * checks if two CIDs are equal\n * @param a first CID\n * @param b second CID\n * @returns true if the CIDs have identical bytes\n */\nexport const equals = (a: Cid, b: Cid): boolean => {\n\treturn isBufferEqual(a.bytes, b.bytes);\n};\n","import { fromBase64, toBase64 } from '@atcute/multibase';\n\nexport interface Bytes {\n\t$bytes: string;\n}\n\nconst BYTES_SYMBOL = Symbol.for('@atcute/bytes-wrapper');\n\nexport class BytesWrapper implements Bytes {\n\t/** @internal */\n\treadonly [BYTES_SYMBOL] = true;\n\n\tconstructor(public buf: Uint8Array) {}\n\n\tget $bytes(): string {\n\t\treturn toBase64(this.buf);\n\t}\n\n\ttoJSON(): Bytes {\n\t\treturn { $bytes: this.$bytes };\n\t}\n}\n\nexport const isBytes = (value: unknown): value is Bytes => {\n\tconst val = value as any;\n\n\treturn (\n\t\tval instanceof BytesWrapper || (val !== null && typeof val === 'object' && typeof val.$bytes === 'string')\n\t);\n};\n\nexport const toBytes = (buf: Uint8Array): Bytes => {\n\treturn new BytesWrapper(buf);\n};\n\nexport const fromBytes = (bytes: Bytes): Uint8Array => {\n\tif (bytes instanceof BytesWrapper) {\n\t\treturn bytes.buf;\n\t}\n\n\treturn fromBase64(bytes.$bytes);\n};\n","import { CidLinkWrapper, fromBinary, type CidLink } from '@atcute/cid';\nimport { decodeUtf8From } from '@atcute/uint8array';\n\nimport { toBytes, type Bytes } from './bytes.ts';\n\ninterface State {\n\tb: Uint8Array;\n\tv: DataView | null;\n\tp: number;\n}\n\nconst readArgument = (state: State, info: number): number => {\n\tif (info < 24) {\n\t\treturn info;\n\t}\n\n\tlet arg: number;\n\tswitch (info) {\n\t\tcase 24: {\n\t\t\targ = readUint8(state);\n\t\t\tif (arg < 24) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 25: {\n\t\t\targ = readUint16(state);\n\t\t\tif (arg < 0x100) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 26: {\n\t\t\targ = readUint32(state);\n\t\t\tif (arg < 0x10000) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase 27: {\n\t\t\targ = readUint53(state);\n\t\t\tif (arg < 0x100000000) {\n\t\t\t\tthrow new TypeError(`non-canonical argument encoding`);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`invalid argument encoding; got ${info}`);\n\t\t}\n\t}\n\treturn arg;\n};\n\nconst readFloat64 = (state: State): number => {\n\tconst view = (state.v ??= new DataView(state.b.buffer, state.b.byteOffset, state.b.byteLength));\n\tconst value = view.getFloat64(state.p);\n\n\tstate.p += 8;\n\treturn value;\n};\n\nconst readUint8 = (state: State): number => {\n\treturn state.b[state.p++];\n};\n\nconst readUint16 = (state: State): number => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\tconst value = (buf[pos++] << 8) | buf[pos++];\n\n\tstate.p = pos;\n\treturn value;\n};\n\nconst readUint32 = (state: State): number => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\tconst value = ((buf[pos++] << 24) | (buf[pos++] << 16) | (buf[pos++] << 8) | buf[pos++]) >>> 0;\n\n\tstate.p = pos;\n\treturn value;\n};\n\nconst readUint53 = (state: State): number => {\n\tconst hi = readUint32(state);\n\tconst lo = readUint32(state);\n\n\tif (hi > 0x1fffff) {\n\t\tthrow new RangeError(`can't decode integers beyond safe integer range`);\n\t}\n\n\treturn hi * 2 ** 32 + lo;\n};\n\nconst readString = (state: State, length: number): string => {\n\tconst string = decodeUtf8From(state.b, state.p, length);\n\tstate.p += length;\n\n\treturn string;\n};\n\nconst readBytes = (state: State, length: number): Bytes => {\n\tconst slice = state.b.subarray(state.p, (state.p += length));\n\n\treturn toBytes(slice);\n};\n\nconst readCid = (state: State, length: number): CidLink => {\n\tconst cid = fromBinary(state.b.subarray(state.p, (state.p += length)));\n\n\treturn new CidLinkWrapper(cid.bytes);\n};\n\nconst decodeStringKey = (state: State): string => {\n\tconst prelude = readUint8(state);\n\n\tconst type = prelude >> 5;\n\tif (type !== 3) {\n\t\tthrow new TypeError(`expected map to only have string keys; got type ${type}`);\n\t}\n\n\tconst info = prelude & 0x1f;\n\tconst length = info < 24 ? info : readArgument(state, info);\n\treturn readString(state, length);\n};\n\ntype Container =\n\t| {\n\t\t\t/** map type */\n\t\t\tt: 0;\n\t\t\t/** container value */\n\t\t\tc: Record<string, unknown>;\n\t\t\t/** held key (as we decode the value) */\n\t\t\tk: string;\n\t\t\t/** remaining elements (key + value) */\n\t\t\tr: number;\n\t\t\t/** next container in stack */\n\t\t\tn: Container | null;\n\t }\n\t| {\n\t\t\t/** array type */\n\t\t\tt: 1;\n\t\t\t/** container value */\n\t\t\tc: any[];\n\t\t\t/** held key (not used) */\n\t\t\tk: null;\n\t\t\t/** remaining elements (values) */\n\t\t\tr: number;\n\t\t\t/** next container in stack */\n\t\t\tn: Container | null;\n\t };\n\nexport const decodeFirst = (buf: Uint8Array): [value: any, remainder: Uint8Array] => {\n\tconst len = buf.length;\n\n\tconst state: State = {\n\t\tb: buf,\n\t\tv: null,\n\t\tp: 0,\n\t};\n\n\tlet stack: Container | null = null;\n\tlet value: any;\n\n\tjump: while (state.p < len) {\n\t\tconst prelude = readUint8(state);\n\n\t\tconst type = prelude >> 5;\n\t\tconst info = prelude & 0x1f;\n\t\tconst arg = type === 7 ? 0 : info < 24 ? info : readArgument(state, info);\n\n\t\tswitch (type) {\n\t\t\tcase 0: {\n\t\t\t\tvalue = arg;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 1: {\n\t\t\t\tvalue = -1 - arg;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 2: {\n\t\t\t\tvalue = readBytes(state, arg);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 3: {\n\t\t\t\tvalue = readString(state, arg);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 4: {\n\t\t\t\tif (arg > 0) {\n\t\t\t\t\t// oxlint-disable-next-line no-new-array\n\t\t\t\t\tstack = { t: 1, c: (value = new Array(arg)), k: null, r: arg, n: stack };\n\t\t\t\t\tcontinue jump;\n\t\t\t\t}\n\n\t\t\t\tvalue = [];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 5: {\n\t\t\t\tvalue = {};\n\t\t\t\tif (arg > 0) {\n\t\t\t\t\t// We'll read the key of the first item here.\n\t\t\t\t\tconst first = decodeStringKey(state);\n\n\t\t\t\t\tstack = { t: 0, c: value, k: first, r: arg, n: stack };\n\t\t\t\t\tcontinue jump;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 6: {\n\t\t\t\tswitch (arg) {\n\t\t\t\t\tcase 42: {\n\t\t\t\t\t\tconst prelude = readUint8(state);\n\n\t\t\t\t\t\tconst type = prelude >> 5;\n\t\t\t\t\t\tconst info = prelude & 0x1f;\n\t\t\t\t\t\tif (type !== 2) {\n\t\t\t\t\t\t\tthrow new TypeError(`expected cid-link to be type 2 (bytes); got type ${type}`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst len = readArgument(state, info);\n\t\t\t\t\t\tvalue = readCid(state, len);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tthrow new TypeError(`unsupported tag; got ${arg}`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 7: {\n\t\t\t\tswitch (info) {\n\t\t\t\t\tcase 20:\n\t\t\t\t\tcase 21: {\n\t\t\t\t\t\tvalue = info === 21;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 22: {\n\t\t\t\t\t\tvalue = null;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 27: {\n\t\t\t\t\t\tvalue = readFloat64(state);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tthrow new Error(`invalid simple value; got ${info}`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new TypeError(`invalid type; got ${type}`);\n\t\t\t}\n\t\t}\n\n\t\twhile (stack !== null) {\n\t\t\tswitch (stack.t) {\n\t\t\t\tcase 0: {\n\t\t\t\t\tconst obj = stack.c;\n\t\t\t\t\tconst key = stack.k;\n\n\t\t\t\t\tif (key === '__proto__') {\n\t\t\t\t\t\t// Guard against prototype pollution. CWE-1321\n\t\t\t\t\t\tObject.defineProperty(obj, key, { enumerable: true, configurable: true, writable: true });\n\t\t\t\t\t}\n\n\t\t\t\t\tobj[key] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 1: {\n\t\t\t\t\tconst arr = stack.c;\n\t\t\t\t\tconst index = arr.length - stack.r;\n\n\t\t\t\t\tarr[index] = value;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (--stack.r) {\n\t\t\t\t// We still have more values to decode, continue\n\n\t\t\t\tif (!stack.t) {\n\t\t\t\t\t// Read the key of the next map item\n\t\t\t\t\tconst prevKey = stack.k;\n\t\t\t\t\tconst key = decodeStringKey(state);\n\t\t\t\t\tstack.k = key;\n\n\t\t\t\t\tconst cmp = key.length - prevKey.length || (key > prevKey ? 1 : key < prevKey ? -1 : 0);\n\t\t\t\t\tif (cmp <= 0) {\n\t\t\t\t\t\tthrow new TypeError(`map keys are not in canonical order or contain duplicates`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcontinue jump;\n\t\t\t}\n\n\t\t\t// Unwrap the stack\n\t\t\tvalue = stack.c;\n\t\t\tstack = stack.n;\n\t\t}\n\n\t\tbreak;\n\t}\n\n\treturn [value, buf.subarray(state.p)];\n};\n\nexport const decode = (buf: Uint8Array): any => {\n\tconst [value, remainder] = decodeFirst(buf);\n\tif (remainder.length !== 0) {\n\t\tthrow new Error(`decoded value contains remainder`);\n\t}\n\n\treturn value;\n};\n","import { type CidLink, CidLinkWrapper, fromString } from '@atcute/cid';\nimport { allocUnsafe, concat, encodeUtf8Into } from '@atcute/uint8array';\n\nimport { IS_NODE_RUNTIME } from '#runtime';\n\nimport { type Bytes, BytesWrapper, fromBytes } from './bytes.ts';\n\nconst MAX_TYPE_ARG_LEN = 9;\nconst CHUNK_SIZE = 1024;\n\ninterface State {\n\tc: Uint8Array<ArrayBuffer>[];\n\tb: Uint8Array<ArrayBuffer>;\n\tv: DataView | null;\n\tp: number;\n\tl: number;\n}\n\nconst _max = Math.max;\n\nconst _isInteger = Number.isInteger;\nconst _isFinite = Number.isFinite;\n\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;\nconst MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER;\n\nconst resizeIfNeeded = (state: State, needed: number): void => {\n\tconst buf = state.b;\n\tconst pos = state.p;\n\n\tif (buf.byteLength < pos + needed) {\n\t\tstate.c.push(buf.subarray(0, pos));\n\t\tstate.l += pos;\n\n\t\tstate.b = allocUnsafe(_max(CHUNK_SIZE, needed));\n\t\tstate.v = null;\n\t\tstate.p = 0;\n\t}\n};\n\nconst getTypeInfoLength = (arg: number): number => {\n\treturn arg < 24 ? 1 : arg < 0x100 ? 2 : arg < 0x10000 ? 3 : arg < 0x100000000 ? 5 : 9;\n};\n\nconst writeFloat64 = (state: State, val: number): void => {\n\tconst buf = state.b;\n\tconst view = (state.v ??= new DataView(buf.buffer, buf.byteOffset, buf.byteLength));\n\n\tview.setFloat64(state.p, val);\n\tstate.p += 8;\n};\n\nconst writeUint8 = (state: State, val: number): void => {\n\tstate.b[state.p++] = val;\n};\n\nconst writeUint16 = (state: State, val: number): void => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\n\tbuf[pos++] = val >>> 8;\n\tbuf[pos++] = val & 0xff;\n\n\tstate.p = pos;\n};\n\nconst writeUint32 = (state: State, val: number): void => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\n\tbuf[pos++] = val >>> 24;\n\tbuf[pos++] = (val >>> 16) & 0xff;\n\tbuf[pos++] = (val >>> 8) & 0xff;\n\tbuf[pos++] = val & 0xff;\n\n\tstate.p = pos;\n};\n\nconst writeUint53 = (state: State, val: number): void => {\n\tlet pos = state.p;\n\n\tconst buf = state.b;\n\n\tconst hi = (val / 2 ** 32) | 0;\n\tconst lo = val >>> 0;\n\n\tbuf[pos++] = hi >>> 24;\n\tbuf[pos++] = (hi >>> 16) & 0xff;\n\tbuf[pos++] = (hi >>> 8) & 0xff;\n\tbuf[pos++] = hi & 0xff;\n\n\tbuf[pos++] = lo >>> 24;\n\tbuf[pos++] = (lo >>> 16) & 0xff;\n\tbuf[pos++] = (lo >>> 8) & 0xff;\n\tbuf[pos++] = lo & 0xff;\n\n\tstate.p = pos;\n};\n\nconst writeTypeAndArgument = (state: State, type: number, arg: number): void => {\n\tif (arg < 24) {\n\t\twriteUint8(state, (type << 5) | arg);\n\t} else if (arg < 0x100) {\n\t\twriteUint8(state, (type << 5) | 24);\n\t\twriteUint8(state, arg);\n\t} else if (arg < 0x10000) {\n\t\twriteUint8(state, (type << 5) | 25);\n\t\twriteUint16(state, arg);\n\t} else if (arg < 0x100000000) {\n\t\twriteUint8(state, (type << 5) | 26);\n\t\twriteUint32(state, arg);\n\t} else {\n\t\twriteUint8(state, (type << 5) | 27);\n\t\twriteUint53(state, arg);\n\t}\n};\n\n// --- Functions below MUST be cautious about ensuring there's enough room in the buffer!!\n\nconst writeInteger = (state: State, val: number): void => {\n\tresizeIfNeeded(state, MAX_TYPE_ARG_LEN);\n\n\tif (val < 0) {\n\t\twriteTypeAndArgument(state, 1, -val - 1);\n\t} else {\n\t\twriteTypeAndArgument(state, 0, val);\n\t}\n};\n\nconst writeFloat = (state: State, val: number): void => {\n\tresizeIfNeeded(state, 9);\n\n\twriteUint8(state, 0xe0 | 27);\n\twriteFloat64(state, val);\n};\n\nconst writeNumber = (state: State, val: number): void => {\n\tif (!_isFinite(val)) {\n\t\tthrow new RangeError(`NaN and Infinity values not supported`);\n\t}\n\n\tif (val > MAX_SAFE_INTEGER || val < MIN_SAFE_INTEGER) {\n\t\tthrow new RangeError(`can't encode numbers beyond safe integer range`);\n\t}\n\n\tif (_isInteger(val)) {\n\t\twriteInteger(state, val);\n\t} else {\n\t\t// Note: https://atproto.com/specs/data-model#:~:text=not%20allowed%20in%20atproto\n\t\twriteFloat(state, val);\n\t}\n};\n\nconst writeString = (state: State, val: string): void => {\n\tconst strLength = val.length;\n\n\tif (strLength === 0) {\n\t\tresizeIfNeeded(state, 1);\n\t\twriteUint8(state, 0x60);\n\t\treturn;\n\t}\n\n\t// JS strings are UTF-16 (ECMA spec)\n\t// Therefore, worst case length of UTF-8 is length * 3. (plus 9 bytes of CBOR header)\n\t// Greatly overshoots in practice, but doesn't matter. (alloc is O(1)+ anyway)\n\tresizeIfNeeded(state, strLength * 3 + MAX_TYPE_ARG_LEN);\n\n\t// Optimistic fast encode\n\tascii: if (!IS_NODE_RUNTIME || strLength < 24) {\n\t\tconst ptr = state.p + getTypeInfoLength(strLength);\n\t\tconst first = val.charCodeAt(0);\n\t\tif (first > 0x7f) {\n\t\t\tbreak ascii;\n\t\t}\n\n\t\tstate.b[ptr] = first;\n\t\tlet i = 1;\n\n\t\t// batch-process four characters per iteration to lower charCodeAt/branch overhead.\n\t\tfor (; i + 3 < strLength; i += 4) {\n\t\t\tconst a = val.charCodeAt(i);\n\t\t\tconst b = val.charCodeAt(i + 1);\n\t\t\tconst c = val.charCodeAt(i + 2);\n\t\t\tconst d = val.charCodeAt(i + 3);\n\n\t\t\tif ((a | b | c | d) & 0x80) {\n\t\t\t\tbreak ascii;\n\t\t\t}\n\n\t\t\tstate.b[ptr + i] = a;\n\t\t\tstate.b[ptr + i + 1] = b;\n\t\t\tstate.b[ptr + i + 2] = c;\n\t\t\tstate.b[ptr + i + 3] = d;\n\t\t}\n\n\t\tfor (; i < strLength; i++) {\n\t\t\tconst code = val.charCodeAt(i);\n\t\t\tif (code > 0x7f) {\n\t\t\t\tbreak ascii;\n\t\t\t}\n\n\t\t\tstate.b[ptr + i] = code;\n\t\t}\n\n\t\t// String was ASCII-only, we're done\n\t\twriteTypeAndArgument(state, 3, strLength);\n\t\tstate.p += strLength;\n\t\treturn;\n\t}\n\n\t// Credit: method used by cbor-x\n\t// Rather than allocate a buffer and then copy it back to the destination buffer:\n\t// - Estimate the length of the header based on the UTF-16 size of the string.\n\t// Should be accurate enough, see last point for when it isn't.\n\t// - Directly write the string at the estimated location, retrieving with it the actual length.\n\t// - Write the header now that the length is available.\n\t// - If the estimation happened to be wrong, correct the placement of the string.\n\t// While it's costly, it's actually roughly the same cost as if we encoded it separately + copy.\n\tconst estimatedHeaderSize = getTypeInfoLength(strLength * 2);\n\tconst estimatedPosition = state.p + estimatedHeaderSize;\n\tconst len = encodeUtf8Into(state.b, val, estimatedPosition);\n\n\tconst headerSize = getTypeInfoLength(len);\n\tif (estimatedHeaderSize !== headerSize) {\n\t\t// Estimation was incorrect, move the bytes to the real place.\n\t\tstate.b.copyWithin(state.p + headerSize, estimatedPosition, estimatedPosition + len);\n\t}\n\n\twriteTypeAndArgument(state, 3, len);\n\tstate.p += len;\n};\n\nconst writeBytes = (state: State, val: Bytes): void => {\n\tconst buf = fromBytes(val);\n\tconst len = buf.byteLength;\n\n\tresizeIfNeeded(state, len + MAX_TYPE_ARG_LEN);\n\n\twriteTypeAndArgument(state, 2, len);\n\tstate.b.set(buf, state.p);\n\tstate.p += len;\n};\n\nconst writeCid = (state: State, val: CidLink): void => {\n\t// CID bytes are prefixed with 0x00 for historical reasons, apparently.\n\n\tconst buf = val instanceof CidLinkWrapper ? val.bytes : fromString(val.$link).bytes;\n\tconst len = buf.byteLength + 1;\n\n\tresizeIfNeeded(state, len + 2 * MAX_TYPE_ARG_LEN);\n\n\twriteTypeAndArgument(state, 6, 42);\n\twriteTypeAndArgument(state, 2, len);\n\n\tstate.b[state.p] = 0;\n\tstate.b.set(buf, state.p + 1);\n\n\tstate.p += len;\n};\n\nconst writeValue = (state: State, val: any): void => {\n\tswitch (typeof val) {\n\t\tcase 'boolean': {\n\t\t\tresizeIfNeeded(state, 1);\n\t\t\treturn writeUint8(state, 0xf4 + +val);\n\t\t}\n\t\tcase 'number': {\n\t\t\treturn writeNumber(state, val);\n\t\t}\n\t\tcase 'string': {\n\t\t\treturn writeString(state, val);\n\t\t}\n\t\tcase 'object': {\n\t\t\t// case: null\n\t\t\tif (val === null) {\n\t\t\t\tresizeIfNeeded(state, 1);\n\t\t\t\treturn writeUint8(state, 0xf6);\n\t\t\t}\n\n\t\t\t// case: array\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tconst len = val.length;\n\t\t\t\tresizeIfNeeded(state, MAX_TYPE_ARG_LEN);\n\t\t\t\twriteTypeAndArgument(state, 4, len);\n\n\t\t\t\tfor (let idx = 0; idx < len; idx++) {\n\t\t\t\t\twriteValue(state, val[idx]);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// case: POJO\n\t\t\tif (val.constructor === Object) {\n\t\t\t\tconst keys = getOrderedObjectKeys(val);\n\t\t\t\tconst len = keys.length;\n\n\t\t\t\tif (len === 1) {\n\t\t\t\t\tconst key = keys[0]!;\n\n\t\t\t\t\tif (key === '$link') {\n\t\t\t\t\t\tif (typeof val.$link === 'string') {\n\t\t\t\t\t\t\twriteCid(state, val);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new TypeError(`unexpected cid-link value`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === '$bytes') {\n\t\t\t\t\t\tif (typeof val.$bytes === 'string') {\n\t\t\t\t\t\t\twriteBytes(state, val);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new TypeError(`unexpected bytes value`);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresizeIfNeeded(state, MAX_TYPE_ARG_LEN);\n\t\t\t\twriteTypeAndArgument(state, 5, len);\n\n\t\t\t\tfor (let idx = 0; idx < len; idx++) {\n\t\t\t\t\tconst key = keys[idx];\n\n\t\t\t\t\twriteString(state, key);\n\t\t\t\t\twriteValue(state, val[key]);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// case: cid-link wrappers / odd objects\n\t\t\tif ('$link' in val) {\n\t\t\t\tif (val instanceof CidLinkWrapper || typeof val.$link === 'string') {\n\t\t\t\t\twriteCid(state, val);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthrow new TypeError(`unexpected cid-link value`);\n\t\t\t}\n\n\t\t\t// case: bytes wrappers / odd objects\n\t\t\tif ('$bytes' in val) {\n\t\t\t\tif (val instanceof BytesWrapper || typeof val.$bytes === 'string') {\n\t\t\t\t\twriteBytes(state, val);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthrow new TypeError(`unexpected bytes value`);\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new TypeError(`unsupported type: ${val}`);\n};\n\nconst createState = (): State => {\n\treturn {\n\t\tc: [],\n\t\tb: allocUnsafe(CHUNK_SIZE),\n\t\tv: null,\n\t\tp: 0,\n\t\tl: 0,\n\t};\n};\n\nexport const encode = (value: any): Uint8Array<ArrayBuffer> => {\n\tconst state = createState();\n\n\twriteValue(state, value);\n\n\tconst final = state.b.subarray(0, state.p);\n\tif (!state.c.length) return final;\n\n\tstate.c.push(final);\n\treturn concat(state.c, state.l + state.p);\n};\n\n/** @internal */\nexport const getOrderedObjectKeys = (obj: Record<string, unknown>): string[] => {\n\tconst keys = Object.keys(obj);\n\tlet len = 0;\n\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst valA = keys[i];\n\t\tif (obj[valA] === undefined) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst lenA = valA.length;\n\t\tlet j = len - 1;\n\t\tfor (; j >= 0; j--) {\n\t\t\tconst valB = keys[j];\n\n\t\t\t// Note: Don't need to check for equality, keys are always distinct.\n\t\t\tif (lenA > valB.length || (lenA === valB.length && valA > valB)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tkeys[j + 1] = valB;\n\t\t}\n\n\t\tkeys[j + 1] = valA;\n\t\tlen++;\n\t}\n\n\tkeys.length = len;\n\treturn keys;\n};\n","export const IS_NODE_RUNTIME = true;\n"],"mappings":"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","names":["decodeFirst","prelude","type","info","len","decode","decode","signal"],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/components/transformer/output/bytes/dasl-sync/element.js.map"}
+123
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/json/element.js
··· 1 + import { 2 + OutputTransformer 3 + } from "../../../../../chunk-KIXJZP53.js"; 4 + import "../../../../../chunk-52F6J3SQ.js"; 5 + import "../../../../../chunk-G56PUJUJ.js"; 6 + import { 7 + computed 8 + } from "../../../../../chunk-IZOBPV2S.js"; 9 + import "../../../../../chunk-6DKPDMFE.js"; 10 + import "../../../../../chunk-TP5GZFTO.js"; 11 + import "../../../../../chunk-ZQZJJU3T.js"; 12 + import { 13 + __name, 14 + init_Buffer, 15 + init_process 16 + } from "../../../../../chunk-FZQXS3RE.js"; 17 + 18 + // components/transformer/output/bytes/json/element.js 19 + init_Buffer(); 20 + init_process(); 21 + var JsonStringOutputTransformer = class extends OutputTransformer { 22 + static { 23 + __name(this, "JsonStringOutputTransformer"); 24 + } 25 + constructor() { 26 + super(); 27 + const base = this.base(); 28 + const manager = { 29 + facets: { 30 + ...base.facets, 31 + collection: computed(() => { 32 + const data = base.facets.collection(); 33 + const c = parseArray(data); 34 + return c; 35 + }), 36 + save: /* @__PURE__ */ __name(async (newFacets) => { 37 + const json = JSON.stringify(newFacets); 38 + const encoder = new TextEncoder(); 39 + const bytes = encoder.encode(json); 40 + await base.facets.save(bytes); 41 + }, "save") 42 + }, 43 + playlistItems: { 44 + ...base.playlistItems, 45 + collection: computed(() => { 46 + const data = base.playlistItems.collection(); 47 + const c = parseArray(data); 48 + return c; 49 + }), 50 + save: /* @__PURE__ */ __name(async (newPlaylistItems) => { 51 + const json = JSON.stringify(newPlaylistItems); 52 + const encoder = new TextEncoder(); 53 + const bytes = encoder.encode(json); 54 + await base.playlistItems.save(bytes); 55 + }, "save") 56 + }, 57 + themes: { 58 + ...base.themes, 59 + collection: computed(() => { 60 + const data = base.themes.collection(); 61 + const c = parseArray(data); 62 + return c; 63 + }), 64 + save: /* @__PURE__ */ __name(async (newThemes) => { 65 + const json = JSON.stringify(newThemes); 66 + const encoder = new TextEncoder(); 67 + const bytes = encoder.encode(json); 68 + await base.themes.save(bytes); 69 + }, "save") 70 + }, 71 + tracks: { 72 + ...base.tracks, 73 + collection: computed(() => { 74 + const data = base.tracks.collection(); 75 + const c = parseArray(data); 76 + return c; 77 + }), 78 + save: /* @__PURE__ */ __name(async (newTracks) => { 79 + const json = JSON.stringify(newTracks); 80 + const encoder = new TextEncoder(); 81 + const bytes = encoder.encode(json); 82 + await base.tracks.save(bytes); 83 + }, "save") 84 + }, 85 + // Other 86 + ready: base.ready 87 + }; 88 + this.facets = manager.facets; 89 + this.playlistItems = manager.playlistItems; 90 + this.themes = manager.themes; 91 + this.tracks = manager.tracks; 92 + this.ready = manager.ready; 93 + } 94 + }; 95 + function parseArray(data) { 96 + let json; 97 + if (data instanceof Uint8Array) { 98 + const decoder = new TextDecoder(); 99 + json = decoder.decode(data); 100 + } else if (data === void 0) { 101 + return []; 102 + } else { 103 + json = data; 104 + } 105 + try { 106 + return JSON.parse(json); 107 + } catch (err) { 108 + console.error(err); 109 + return []; 110 + } 111 + } 112 + __name(parseArray, "parseArray"); 113 + var element_default = JsonStringOutputTransformer; 114 + var CLASS = JsonStringOutputTransformer; 115 + var NAME = "dtos-json"; 116 + customElements.define(NAME, CLASS); 117 + export { 118 + CLASS, 119 + NAME, 120 + element_default as default 121 + }; 122 + 123 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/bytes/json/element.js.map
··· 1 + ../../../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/transformer/output/bytes/json/element.js.map
+298
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/raw/atproto-sync/element.js
··· 1 + import "../../../../../chunk-FVRMQKBS.js"; 2 + import "../../../../../chunk-3QHZWZIL.js"; 3 + import "../../../../../chunk-FAW4EB7G.js"; 4 + import { 5 + o 6 + } from "../../../../../chunk-M7I6ARGE.js"; 7 + import { 8 + OutputTransformer 9 + } from "../../../../../chunk-KIXJZP53.js"; 10 + import "../../../../../chunk-JBHW662S.js"; 11 + import "../../../../../chunk-52F6J3SQ.js"; 12 + import "../../../../../chunk-G56PUJUJ.js"; 13 + import { 14 + computed, 15 + signal 16 + } from "../../../../../chunk-IZOBPV2S.js"; 17 + import "../../../../../chunk-6DKPDMFE.js"; 18 + import "../../../../../chunk-TP5GZFTO.js"; 19 + import "../../../../../chunk-ZQZJJU3T.js"; 20 + import { 21 + __name, 22 + init_Buffer, 23 + init_process 24 + } from "../../../../../chunk-FZQXS3RE.js"; 25 + 26 + // components/transformer/output/raw/atproto-sync/element.js 27 + init_Buffer(); 28 + init_process(); 29 + var COLLECTIONS = ( 30 + /** @type {const} */ 31 + [ 32 + "facets", 33 + "playlistItems", 34 + "themes", 35 + "tracks" 36 + ] 37 + ); 38 + var STORAGE_PREFIX = "diffuse/transformer/output/atproto-sync"; 39 + var ATProtoOutputSyncTransformer = class extends OutputTransformer { 40 + static { 41 + __name(this, "ATProtoOutputSyncTransformer"); 42 + } 43 + constructor() { 44 + super(); 45 + const remote = this.base(); 46 + const local = this.#localOutput.get; 47 + for (const name of COLLECTIONS) { 48 + this[name] = { 49 + collection: computed(() => { 50 + const l = local(); 51 + if (!l) return []; 52 + const data = l[name].collection(); 53 + return Array.isArray(data) ? data : []; 54 + }), 55 + reload: /* @__PURE__ */ __name(async () => { 56 + await this.#sync(); 57 + }, "reload"), 58 + save: /* @__PURE__ */ __name(async (newData) => { 59 + const l = local(); 60 + if (!l) return; 61 + const oldData = l[name].collection(); 62 + if (Array.isArray(oldData)) { 63 + const newIds = new Set(newData.map((r) => r.id)); 64 + for (const record of oldData) { 65 + if (!newIds.has(record.id)) { 66 + this.#addTombstone(name, record.id); 67 + } 68 + } 69 + } 70 + this.#trackIds(name, newData); 71 + await l[name].save(newData); 72 + if (remote.ready()) { 73 + await remote[name].save(newData); 74 + const rev = this.#atproto()?.rev(); 75 + if (rev) this.#storeRev(rev); 76 + this.#clearDirty(); 77 + } else { 78 + this.#markDirty(); 79 + } 80 + }, "save"), 81 + state: computed(() => local()?.[name].state() ?? "sleeping") 82 + }; 83 + } 84 + this.ready = () => true; 85 + this.effect(() => { 86 + const l = local(); 87 + if (!l) return; 88 + this.effect(() => { 89 + if (!remote.ready()) return; 90 + this.#sync(); 91 + }); 92 + }); 93 + } 94 + // SIGNALS 95 + #localOutput = signal( 96 + /** @type {OutputElement<any> | undefined} */ 97 + void 0 98 + ); 99 + #syncing = false; 100 + /** 101 + * @returns {ATProtoOutputElement | undefined} 102 + */ 103 + #atproto() { 104 + return ( 105 + /** @type {any} */ 106 + this.output.signal() 107 + ); 108 + } 109 + // SYNC 110 + async #sync() { 111 + if (this.#syncing) return; 112 + this.#syncing = true; 113 + try { 114 + const l = this.#localOutput.get(); 115 + const remote = this.base(); 116 + const atproto = this.#atproto(); 117 + if (!l || !atproto || !remote.ready()) return; 118 + const remoteRev = await atproto.getLatestCommit(); 119 + if (!remoteRev) return; 120 + const localRev = this.#getStoredRev(); 121 + const dirty = this.#isDirty(); 122 + if (localRev === remoteRev && !dirty) { 123 + return; 124 + } 125 + for (const name of COLLECTIONS) { 126 + await remote[name].reload(); 127 + } 128 + const localHasData = COLLECTIONS.some((name) => { 129 + const data = l[name].collection(); 130 + return Array.isArray(data) && data.length > 0; 131 + }); 132 + if (!localHasData && !dirty) { 133 + for (const name of COLLECTIONS) { 134 + const remoteData = remote[name].collection(); 135 + if (Array.isArray(remoteData) && remoteData.length > 0) { 136 + this.#trackIds(name, remoteData); 137 + await l[name].save(remoteData); 138 + } 139 + } 140 + } else { 141 + for (const name of COLLECTIONS) { 142 + const localData = l[name].collection(); 143 + const remoteData = remote[name].collection(); 144 + const localArr = Array.isArray(localData) ? localData : []; 145 + const remoteArr = Array.isArray(remoteData) ? remoteData : []; 146 + const merged = this.#mergeRecords(name, localArr, remoteArr); 147 + this.#trackIds(name, merged); 148 + await l[name].save(merged); 149 + await remote[name].save(merged); 150 + } 151 + } 152 + this.#storeRev(atproto.rev()); 153 + this.#clearDirty(); 154 + } finally { 155 + this.#syncing = false; 156 + } 157 + } 158 + /** 159 + * Union merge two record arrays by `id`. 160 + * 161 + * - Records only in local → keep (unless tombstoned) 162 + * - Records only in remote → keep (unless tombstoned) 163 + * - Records in both → pick the one with the later `updatedAt`, 164 + * falling back to local wins 165 + * - Records whose id is in the tombstone set are excluded 166 + * 167 + * @template {Record<string, any> & { id: string }} T 168 + * @param {string} collection 169 + * @param {T[]} localArr 170 + * @param {T[]} remoteArr 171 + * @returns {T[]} 172 + */ 173 + #mergeRecords(collection, localArr, remoteArr) { 174 + const tombstones = this.#getTombstones(collection); 175 + const knownIds = this.#getKnownIds(collection); 176 + const merged = /* @__PURE__ */ new Map(); 177 + for (const record of localArr) { 178 + if (!tombstones.has(record.id)) { 179 + merged.set(record.id, record); 180 + } 181 + } 182 + for (const record of remoteArr) { 183 + if (tombstones.has(record.id)) continue; 184 + if (knownIds.has(record.id) && !merged.has(record.id)) continue; 185 + const existing = merged.get(record.id); 186 + if (!existing) { 187 + merged.set(record.id, record); 188 + } else { 189 + const lt = existing.updatedAt; 190 + const rt = record.updatedAt; 191 + if (lt && rt && rt > lt) { 192 + merged.set(record.id, record); 193 + } 194 + } 195 + } 196 + return [...merged.values()]; 197 + } 198 + // TOMBSTONES & KNOWN IDS 199 + /** 200 + * @param {string} collection 201 + * @returns {Set<string>} 202 + */ 203 + #getTombstones(collection) { 204 + const raw = localStorage.getItem( 205 + `${STORAGE_PREFIX}/tombstones/${collection}` 206 + ); 207 + return raw ? new Set(JSON.parse(raw)) : /* @__PURE__ */ new Set(); 208 + } 209 + /** 210 + * @param {string} collection 211 + * @param {string} id 212 + */ 213 + #addTombstone(collection, id) { 214 + const tombstones = this.#getTombstones(collection); 215 + tombstones.add(id); 216 + localStorage.setItem( 217 + `${STORAGE_PREFIX}/tombstones/${collection}`, 218 + JSON.stringify([...tombstones]) 219 + ); 220 + } 221 + /** 222 + * @param {string} collection 223 + * @returns {Set<string>} 224 + */ 225 + #getKnownIds(collection) { 226 + const raw = localStorage.getItem(`${STORAGE_PREFIX}/known/${collection}`); 227 + return raw ? new Set(JSON.parse(raw)) : /* @__PURE__ */ new Set(); 228 + } 229 + /** 230 + * Record all ids from a data array as known. 231 + * 232 + * @param {string} collection 233 + * @param {Array<{ id: string }>} data 234 + */ 235 + #trackIds(collection, data) { 236 + const known = this.#getKnownIds(collection); 237 + for (const record of data) { 238 + known.add(record.id); 239 + } 240 + localStorage.setItem( 241 + `${STORAGE_PREFIX}/known/${collection}`, 242 + JSON.stringify([...known]) 243 + ); 244 + } 245 + // REV & DIRTY FLAG 246 + /** @returns {string | null} */ 247 + #getStoredRev() { 248 + return localStorage.getItem(`${STORAGE_PREFIX}/rev`); 249 + } 250 + /** @param {string | null} rev */ 251 + #storeRev(rev) { 252 + if (rev) { 253 + localStorage.setItem(`${STORAGE_PREFIX}/rev`, rev); 254 + } 255 + } 256 + #markDirty() { 257 + localStorage.setItem(`${STORAGE_PREFIX}/dirty`, "1"); 258 + } 259 + #clearDirty() { 260 + localStorage.removeItem(`${STORAGE_PREFIX}/dirty`); 261 + } 262 + /** @returns {boolean} */ 263 + #isDirty() { 264 + return localStorage.getItem(`${STORAGE_PREFIX}/dirty`) === "1"; 265 + } 266 + // LIFECYCLE 267 + /** @override */ 268 + connectedCallback() { 269 + super.connectedCallback(); 270 + const local = this.root().querySelector("dop-indexed-db"); 271 + if (!local) throw new Error("Can't find local output"); 272 + customElements.whenDefined(local.localName).then(() => { 273 + this.#localOutput.value = local; 274 + }); 275 + } 276 + // RENDER 277 + /** 278 + * @param {RenderArg} _ 279 + */ 280 + render({ html }) { 281 + return html` 282 + <dop-indexed-db 283 + namespace="${o(this.getAttribute(`namespace`))}" 284 + ></dop-indexed-db> 285 + `; 286 + } 287 + }; 288 + var element_default = ATProtoOutputSyncTransformer; 289 + var CLASS = ATProtoOutputSyncTransformer; 290 + var NAME = "dtor-atproto-sync"; 291 + customElements.define(NAME, CLASS); 292 + export { 293 + CLASS, 294 + NAME, 295 + element_default as default 296 + }; 297 + 298 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/raw/atproto-sync/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/raw/atproto-sync/element.js.map
+20
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/refiner/default/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../../chunk-77N5LJ3L.js"; 6 + import "../../../../../chunk-KIXJZP53.js"; 7 + import "../../../../../chunk-52F6J3SQ.js"; 8 + import "../../../../../chunk-G56PUJUJ.js"; 9 + import "../../../../../chunk-IZOBPV2S.js"; 10 + import "../../../../../chunk-6DKPDMFE.js"; 11 + import "../../../../../chunk-TP5GZFTO.js"; 12 + import "../../../../../chunk-ZQZJJU3T.js"; 13 + import "../../../../../chunk-FZQXS3RE.js"; 14 + export { 15 + CLASS, 16 + NAME, 17 + element_default as default 18 + }; 19 + 20 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/refiner/default/element.js.map
··· 1 + ../../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/refiner/default/element.js.map
+20
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/replicator/broadcast/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../../chunk-2HRMT4JN.js"; 6 + import "../../../../../chunk-KIXJZP53.js"; 7 + import "../../../../../chunk-52F6J3SQ.js"; 8 + import "../../../../../chunk-G56PUJUJ.js"; 9 + import "../../../../../chunk-IZOBPV2S.js"; 10 + import "../../../../../chunk-6DKPDMFE.js"; 11 + import "../../../../../chunk-TP5GZFTO.js"; 12 + import "../../../../../chunk-ZQZJJU3T.js"; 13 + import "../../../../../chunk-FZQXS3RE.js"; 14 + export { 15 + CLASS, 16 + NAME, 17 + element_default as default 18 + }; 19 + 20 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/replicator/broadcast/element.js.map
··· 1 + ../../../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/transformer/output/replicator/broadcast/element.js.map
+102
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/string/json/element.js
··· 1 + import { 2 + OutputTransformer 3 + } from "../../../../../chunk-KIXJZP53.js"; 4 + import "../../../../../chunk-52F6J3SQ.js"; 5 + import "../../../../../chunk-G56PUJUJ.js"; 6 + import { 7 + computed 8 + } from "../../../../../chunk-IZOBPV2S.js"; 9 + import "../../../../../chunk-6DKPDMFE.js"; 10 + import "../../../../../chunk-TP5GZFTO.js"; 11 + import "../../../../../chunk-ZQZJJU3T.js"; 12 + import { 13 + __name, 14 + init_Buffer, 15 + init_process 16 + } from "../../../../../chunk-FZQXS3RE.js"; 17 + 18 + // components/transformer/output/string/json/element.js 19 + init_Buffer(); 20 + init_process(); 21 + var JsonStringOutputTransformer = class extends OutputTransformer { 22 + static { 23 + __name(this, "JsonStringOutputTransformer"); 24 + } 25 + constructor() { 26 + super(); 27 + const base = this.base(); 28 + const manager = { 29 + facets: { 30 + ...base.facets, 31 + collection: computed(() => { 32 + const json = base.facets.collection(); 33 + return typeof json === "string" ? parseArray(json) : []; 34 + }), 35 + save: /* @__PURE__ */ __name(async (newFacets) => { 36 + const json = JSON.stringify(newFacets); 37 + await base.facets.save(json); 38 + }, "save") 39 + }, 40 + playlistItems: { 41 + ...base.playlistItems, 42 + collection: computed(() => { 43 + const json = base.playlistItems.collection(); 44 + return typeof json === "string" ? parseArray(json) : []; 45 + }), 46 + save: /* @__PURE__ */ __name(async (newPlaylistItems) => { 47 + const json = JSON.stringify(newPlaylistItems); 48 + await base.playlistItems.save(json); 49 + }, "save") 50 + }, 51 + themes: { 52 + ...base.themes, 53 + collection: computed(() => { 54 + const json = base.themes.collection(); 55 + return typeof json === "string" ? parseArray(json) : []; 56 + }), 57 + save: /* @__PURE__ */ __name(async (newThemes) => { 58 + const json = JSON.stringify(newThemes); 59 + await base.themes.save(json); 60 + }, "save") 61 + }, 62 + tracks: { 63 + ...base.tracks, 64 + collection: computed(() => { 65 + const json = base.tracks.collection(); 66 + return typeof json === "string" ? parseArray(json) : []; 67 + }), 68 + save: /* @__PURE__ */ __name(async (newTracks) => { 69 + const json = JSON.stringify(newTracks); 70 + await base.tracks.save(json); 71 + }, "save") 72 + }, 73 + // Other 74 + ready: base.ready 75 + }; 76 + this.facets = manager.facets; 77 + this.playlistItems = manager.playlistItems; 78 + this.themes = manager.themes; 79 + this.tracks = manager.tracks; 80 + this.ready = manager.ready; 81 + } 82 + }; 83 + function parseArray(json) { 84 + try { 85 + return JSON.parse(json); 86 + } catch (err) { 87 + console.error(err); 88 + return []; 89 + } 90 + } 91 + __name(parseArray, "parseArray"); 92 + var element_default = JsonStringOutputTransformer; 93 + var CLASS = JsonStringOutputTransformer; 94 + var NAME = "dtos-json"; 95 + customElements.define(NAME, CLASS); 96 + export { 97 + CLASS, 98 + NAME, 99 + element_default as default 100 + }; 101 + 102 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/components/transformer/output/string/json/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/string/json/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/definitions/index.ts
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/index.ts
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/definitions/output/collaboration.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/collaboration.json
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/definitions/output/facet.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/facet.json
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/definitions/output/playlistItem.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/playlistItem.json
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/definitions/output/theme.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/theme.json
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/definitions/output/track.json
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/definitions/output/track.json
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/examples/generate-playlist.html.txt
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/facets/examples/generate-playlist.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/examples/now-playing.html.txt
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/facets/examples/now-playing.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/index.html
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/index.html
+1636
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/index.js
··· 1 + import { 2 + EditorView, 3 + autocompletion, 4 + basicSetup, 5 + css, 6 + html, 7 + javascript 8 + } from "../chunk-T6JAPJ7J.js"; 9 + import { 10 + foundation_default 11 + } from "../chunk-2N6CLBH3.js"; 12 + import "../chunk-UM3YGQCD.js"; 13 + import "../chunk-5U6YGUSF.js"; 14 + import "../chunk-JHKODV4C.js"; 15 + import "../chunk-NC2PKDLJ.js"; 16 + import "../chunk-LC5ADJPD.js"; 17 + import "../chunk-DBY4UFCR.js"; 18 + import "../chunk-5GF3RIXZ.js"; 19 + import "../chunk-6LRCMOGT.js"; 20 + import "../chunk-MTF6MUZY.js"; 21 + import "../chunk-M7I6ARGE.js"; 22 + import "../chunk-2HRMT4JN.js"; 23 + import "../chunk-77N5LJ3L.js"; 24 + import "../chunk-KIXJZP53.js"; 25 + import "../chunk-T3L6UFWY.js"; 26 + import "../chunk-IPJO7YD4.js"; 27 + import "../chunk-Y6DMBYY7.js"; 28 + import "../chunk-YZWL75VE.js"; 29 + import "../chunk-NB2M3NWG.js"; 30 + import "../chunk-JBHW662S.js"; 31 + import "../chunk-GX3WPNEX.js"; 32 + import "../chunk-226QQPVM.js"; 33 + import "../chunk-HN4F5JEZ.js"; 34 + import "../chunk-PTVB4Y37.js"; 35 + import "../chunk-4MMRODUP.js"; 36 + import "../chunk-F74HSTJN.js"; 37 + import "../chunk-BUBM2UB3.js"; 38 + import "../chunk-R3VDMJ43.js"; 39 + import "../chunk-LQ2RJJ6P.js"; 40 + import "../chunk-DDF5P57I.js"; 41 + import "../chunk-EEUCFWD4.js"; 42 + import "../chunk-6DRHTH2U.js"; 43 + import "../chunk-HI6EUDY3.js"; 44 + import "../chunk-CZYH5TCN.js"; 45 + import "../chunk-OENN55R6.js"; 46 + import "../chunk-UGE3FKYA.js"; 47 + import "../chunk-52BFTJ3R.js"; 48 + import { 49 + i as i2 50 + } from "../chunk-E6H4GVL4.js"; 51 + import { 52 + e, 53 + i, 54 + t 55 + } from "../chunk-J3RUTL7I.js"; 56 + import { 57 + A, 58 + B, 59 + E, 60 + T 61 + } from "../chunk-52F6J3SQ.js"; 62 + import "../chunk-G56PUJUJ.js"; 63 + import { 64 + facetFromURI 65 + } from "../chunk-46MJSXAT.js"; 66 + import { 67 + loadURI 68 + } from "../chunk-W3QCTPVZ.js"; 69 + import "../chunk-WN6GL63Q.js"; 70 + import "../chunk-CRZ7HJJ4.js"; 71 + import "../chunk-242LG3VP.js"; 72 + import { 73 + now 74 + } from "../chunk-LHSDDKDM.js"; 75 + import { 76 + effect, 77 + signal 78 + } from "../chunk-IZOBPV2S.js"; 79 + import { 80 + create 81 + } from "../chunk-4YB6QUPN.js"; 82 + import "../chunk-SGR5ST3A.js"; 83 + import "../chunk-6DKPDMFE.js"; 84 + import "../chunk-TP5GZFTO.js"; 85 + import "../chunk-ZQZJJU3T.js"; 86 + import { 87 + __name, 88 + init_Buffer, 89 + init_process 90 + } from "../chunk-FZQXS3RE.js"; 91 + 92 + // facets/index.js 93 + init_Buffer(); 94 + init_process(); 95 + 96 + // ../node_modules/.deno/marked@17.0.3/node_modules/marked/lib/marked.esm.js 97 + init_Buffer(); 98 + init_process(); 99 + function M() { 100 + return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null }; 101 + } 102 + __name(M, "M"); 103 + var T2 = M(); 104 + function H(u3) { 105 + T2 = u3; 106 + } 107 + __name(H, "H"); 108 + var _ = { exec: /* @__PURE__ */ __name(() => null, "exec") }; 109 + function k(u3, e3 = "") { 110 + let t2 = typeof u3 == "string" ? u3 : u3.source, n = { replace: /* @__PURE__ */ __name((r, i3) => { 111 + let s = typeof i3 == "string" ? i3 : i3.source; 112 + return s = s.replace(m.caret, "$1"), t2 = t2.replace(r, s), n; 113 + }, "replace"), getRegex: /* @__PURE__ */ __name(() => new RegExp(t2, e3), "getRegex") }; 114 + return n; 115 + } 116 + __name(k, "k"); 117 + var Re = (() => { 118 + try { 119 + return !!new RegExp("(?<=1)(?<!1)"); 120 + } catch { 121 + return false; 122 + } 123 + })(); 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 + var Te = /^(?:[ \t]*(?:\n|$))+/; 126 + var Oe = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/; 127 + var we = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/; 128 + var I = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/; 129 + var ye = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/; 130 + var N = / {0,3}(?:[*+-]|\d{1,9}[.)])/; 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 + 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 + 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 + var Q = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/; 135 + var Se = /^[^\n]+/; 136 + var F = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/; 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 + var _e = k(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, N).getRegex(); 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 + var j = /<!--(?:-?>|[\s\S]*?(?:-->|$))/; 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 + 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 + var Me = k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ie).getRegex(); 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 + 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 + 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 + 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 + ]`).replace("lheading", se).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }; 149 + var Ae = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/; 150 + var Ie = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/; 151 + var oe = /^( {2,}|\\)\n(?!\s*$)/; 152 + var Ee = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/; 153 + var v = /[\p{P}\p{S}]/u; 154 + var K = /[\s\p{P}\p{S}]/u; 155 + var ae = /[^\s\p{P}\p{S}]/u; 156 + var Be = k(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, K).getRegex(); 157 + var le = /(?!~)[\p{P}\p{S}]/u; 158 + var De = /(?!~)[\s\p{P}\p{S}]/u; 159 + var qe = /(?:[^\s\p{P}\p{S}]|~)/u; 160 + var ue = /(?![*_])[\p{P}\p{S}]/u; 161 + var ve = /(?![*_])[\s\p{P}\p{S}]/u; 162 + var Ge = /(?:[^\s\p{P}\p{S}]|[*_])/u; 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 + var pe = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/; 165 + var Ze = k(pe, "u").replace(/punct/g, v).getRegex(); 166 + var Ne = k(pe, "u").replace(/punct/g, le).getRegex(); 167 + var ce = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)"; 168 + var Qe = k(ce, "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, K).replace(/punct/g, v).getRegex(); 169 + var Fe = k(ce, "gu").replace(/notPunctSpace/g, qe).replace(/punctSpace/g, De).replace(/punct/g, le).getRegex(); 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 + var Ue = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, ue).getRegex(); 172 + var Ke = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)"; 173 + var We = k(Ke, "gu").replace(/notPunctSpace/g, Ge).replace(/punctSpace/g, ve).replace(/punct/g, ue).getRegex(); 174 + var Xe = k(/\\(punct)/, "gu").replace(/punct/g, v).getRegex(); 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 + var Ve = k(j).replace("(?:-->|$)", "-->").getRegex(); 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 + var D = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/; 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 + var he = k(/^!?\[(label)\]\[(ref)\]/).replace("label", D).replace("ref", F).getRegex(); 181 + var ke = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", F).getRegex(); 182 + var tt = k("reflink|nolink(?!\\()", "g").replace("reflink", he).replace("nolink", ke).getRegex(); 183 + var ne = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/; 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 + var nt = { ...W, link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", D).getRegex(), reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", D).getRegex() }; 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 + var rt = { ...Z, br: k(oe).replace("{2,}", "*").getRegex(), text: k(Z.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }; 188 + var E2 = { normal: U, gfm: ze, pedantic: Ce }; 189 + var z = { normal: W, gfm: Z, breaks: rt, pedantic: nt }; 190 + var st = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }; 191 + var de = /* @__PURE__ */ __name((u3) => st[u3], "de"); 192 + function O(u3, e3) { 193 + if (e3) { 194 + if (m.escapeTest.test(u3)) return u3.replace(m.escapeReplace, de); 195 + } else if (m.escapeTestNoEncode.test(u3)) return u3.replace(m.escapeReplaceNoEncode, de); 196 + return u3; 197 + } 198 + __name(O, "O"); 199 + function X(u3) { 200 + try { 201 + u3 = encodeURI(u3).replace(m.percentDecode, "%"); 202 + } catch { 203 + return null; 204 + } 205 + return u3; 206 + } 207 + __name(X, "X"); 208 + function J(u3, e3) { 209 + let t2 = u3.replace(m.findPipe, (i3, s, a) => { 210 + let o2 = false, l = s; 211 + for (; --l >= 0 && a[l] === "\\"; ) o2 = !o2; 212 + return o2 ? "|" : " |"; 213 + }), n = t2.split(m.splitPipe), r = 0; 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 + else for (; n.length < e3; ) n.push(""); 216 + for (; r < n.length; r++) n[r] = n[r].trim().replace(m.slashPipe, "|"); 217 + return n; 218 + } 219 + __name(J, "J"); 220 + function C(u3, e3, t2) { 221 + let n = u3.length; 222 + if (n === 0) return ""; 223 + let r = 0; 224 + for (; r < n; ) { 225 + let i3 = u3.charAt(n - r - 1); 226 + if (i3 === e3 && !t2) r++; 227 + else if (i3 !== e3 && t2) r++; 228 + else break; 229 + } 230 + return u3.slice(0, n - r); 231 + } 232 + __name(C, "C"); 233 + function ge(u3, e3) { 234 + if (u3.indexOf(e3[1]) === -1) return -1; 235 + let t2 = 0; 236 + for (let n = 0; n < u3.length; n++) if (u3[n] === "\\") n++; 237 + else if (u3[n] === e3[0]) t2++; 238 + else if (u3[n] === e3[1] && (t2--, t2 < 0)) return n; 239 + return t2 > 0 ? -2 : -1; 240 + } 241 + __name(ge, "ge"); 242 + function fe(u3, e3 = 0) { 243 + let t2 = e3, n = ""; 244 + for (let r of u3) if (r === " ") { 245 + let i3 = 4 - t2 % 4; 246 + n += " ".repeat(i3), t2 += i3; 247 + } else n += r, t2++; 248 + return n; 249 + } 250 + __name(fe, "fe"); 251 + function me(u3, e3, t2, n, r) { 252 + let i3 = e3.href, s = e3.title || null, a = u3[1].replace(r.other.outputLinkReplace, "$1"); 253 + n.state.inLink = true; 254 + let o2 = { type: u3[0].charAt(0) === "!" ? "image" : "link", raw: t2, href: i3, title: s, text: a, tokens: n.inlineTokens(a) }; 255 + return n.state.inLink = false, o2; 256 + } 257 + __name(me, "me"); 258 + function it(u3, e3, t2) { 259 + let n = u3.match(t2.other.indentCodeCompensation); 260 + if (n === null) return e3; 261 + let r = n[1]; 262 + return e3.split(` 263 + `).map((i3) => { 264 + let s = i3.match(t2.other.beginningSpace); 265 + if (s === null) return i3; 266 + let [a] = s; 267 + return a.length >= r.length ? i3.slice(r.length) : i3; 268 + }).join(` 269 + `); 270 + } 271 + __name(it, "it"); 272 + var w = class { 273 + static { 274 + __name(this, "w"); 275 + } 276 + options; 277 + rules; 278 + lexer; 279 + constructor(e3) { 280 + this.options = e3 || T2; 281 + } 282 + space(e3) { 283 + let t2 = this.rules.block.newline.exec(e3); 284 + if (t2 && t2[0].length > 0) return { type: "space", raw: t2[0] }; 285 + } 286 + code(e3) { 287 + let t2 = this.rules.block.code.exec(e3); 288 + if (t2) { 289 + let n = t2[0].replace(this.rules.other.codeRemoveIndent, ""); 290 + return { type: "code", raw: t2[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : C(n, ` 291 + `) }; 292 + } 293 + } 294 + fences(e3) { 295 + let t2 = this.rules.block.fences.exec(e3); 296 + if (t2) { 297 + let n = t2[0], r = it(n, t2[3] || "", this.rules); 298 + return { type: "code", raw: n, lang: t2[2] ? t2[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t2[2], text: r }; 299 + } 300 + } 301 + heading(e3) { 302 + let t2 = this.rules.block.heading.exec(e3); 303 + if (t2) { 304 + let n = t2[2].trim(); 305 + if (this.rules.other.endingHash.test(n)) { 306 + let r = C(n, "#"); 307 + (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim()); 308 + } 309 + return { type: "heading", raw: t2[0], depth: t2[1].length, text: n, tokens: this.lexer.inline(n) }; 310 + } 311 + } 312 + hr(e3) { 313 + let t2 = this.rules.block.hr.exec(e3); 314 + if (t2) return { type: "hr", raw: C(t2[0], ` 315 + `) }; 316 + } 317 + blockquote(e3) { 318 + let t2 = this.rules.block.blockquote.exec(e3); 319 + if (t2) { 320 + let n = C(t2[0], ` 321 + `).split(` 322 + `), r = "", i3 = "", s = []; 323 + for (; n.length > 0; ) { 324 + let a = false, o2 = [], l; 325 + for (l = 0; l < n.length; l++) if (this.rules.other.blockquoteStart.test(n[l])) o2.push(n[l]), a = true; 326 + else if (!a) o2.push(n[l]); 327 + else break; 328 + n = n.slice(l); 329 + let p = o2.join(` 330 + `), c = p.replace(this.rules.other.blockquoteSetextReplace, ` 331 + $1`).replace(this.rules.other.blockquoteSetextReplace2, ""); 332 + r = r ? `${r} 333 + ${p}` : p, i3 = i3 ? `${i3} 334 + ${c}` : c; 335 + let d = this.lexer.state.top; 336 + if (this.lexer.state.top = true, this.lexer.blockTokens(c, s, true), this.lexer.state.top = d, n.length === 0) break; 337 + let h = s.at(-1); 338 + if (h?.type === "code") break; 339 + if (h?.type === "blockquote") { 340 + let R = h, f = R.raw + ` 341 + ` + n.join(` 342 + `), S = this.blockquote(f); 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 + break; 345 + } else if (h?.type === "list") { 346 + let R = h, f = R.raw + ` 347 + ` + n.join(` 348 + `), S = this.list(f); 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 + `); 351 + continue; 352 + } 353 + } 354 + return { type: "blockquote", raw: r, tokens: s, text: i3 }; 355 + } 356 + } 357 + list(e3) { 358 + let t2 = this.rules.block.list.exec(e3); 359 + if (t2) { 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 + n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]"); 362 + let s = this.rules.other.listItemRegex(n), a = false; 363 + for (; e3; ) { 364 + let l = false, p = "", c = ""; 365 + if (!(t2 = s.exec(e3)) || this.rules.block.hr.test(e3)) break; 366 + p = t2[0], e3 = e3.substring(p.length); 367 + let d = fe(t2[2].split(` 368 + `, 1)[0], t2[1].length), h = e3.split(` 369 + `, 1)[0], R = !d.trim(), f = 0; 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 + `, e3 = e3.substring(h.length + 1), l = true), !l) { 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 + for (; e3; ) { 374 + let G = e3.split(` 375 + `, 1)[0], A2; 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 + if (A2.search(this.rules.other.nonSpaceChar) >= f || !h.trim()) c += ` 378 + ` + A2.slice(f); 379 + else { 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 + c += ` 382 + ` + h; 383 + } 384 + R = !h.trim(), p += G + ` 385 + `, e3 = e3.substring(G.length + 1), d = A2.slice(f); 386 + } 387 + } 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 + } 390 + let o2 = i3.items.at(-1); 391 + if (o2) o2.raw = o2.raw.trimEnd(), o2.text = o2.text.trimEnd(); 392 + else return; 393 + i3.raw = i3.raw.trimEnd(); 394 + for (let l of i3.items) { 395 + if (this.lexer.state.top = false, l.tokens = this.lexer.blockTokens(l.text, []), l.task) { 396 + if (l.text = l.text.replace(this.rules.other.listReplaceTask, ""), l.tokens[0]?.type === "text" || l.tokens[0]?.type === "paragraph") { 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 + for (let c = this.lexer.inlineQueue.length - 1; c >= 0; c--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)) { 399 + this.lexer.inlineQueue[c].src = this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask, ""); 400 + break; 401 + } 402 + } 403 + let p = this.rules.other.listTaskCheckbox.exec(l.raw); 404 + if (p) { 405 + let c = { type: "checkbox", raw: p[0] + " ", checked: p[0] !== "[ ]" }; 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 + } 408 + } 409 + if (!i3.loose) { 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 + i3.loose = c; 412 + } 413 + } 414 + if (i3.loose) for (let l of i3.items) { 415 + l.loose = true; 416 + for (let p of l.tokens) p.type === "text" && (p.type = "paragraph"); 417 + } 418 + return i3; 419 + } 420 + } 421 + html(e3) { 422 + let t2 = this.rules.block.html.exec(e3); 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 + } 425 + def(e3) { 426 + let t2 = this.rules.block.def.exec(e3); 427 + if (t2) { 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 + return { type: "def", tag: n, raw: t2[0], href: r, title: i3 }; 430 + } 431 + } 432 + table(e3) { 433 + let t2 = this.rules.block.table.exec(e3); 434 + if (!t2 || !this.rules.other.tableDelimiter.test(t2[2])) return; 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 + `) : [], s = { type: "table", raw: t2[0], header: [], align: [], rows: [] }; 437 + if (n.length === r.length) { 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 + 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 + 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 + return s; 442 + } 443 + } 444 + lheading(e3) { 445 + let t2 = this.rules.block.lheading.exec(e3); 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 + } 448 + paragraph(e3) { 449 + let t2 = this.rules.block.paragraph.exec(e3); 450 + if (t2) { 451 + let n = t2[1].charAt(t2[1].length - 1) === ` 452 + ` ? t2[1].slice(0, -1) : t2[1]; 453 + return { type: "paragraph", raw: t2[0], text: n, tokens: this.lexer.inline(n) }; 454 + } 455 + } 456 + text(e3) { 457 + let t2 = this.rules.block.text.exec(e3); 458 + if (t2) return { type: "text", raw: t2[0], text: t2[0], tokens: this.lexer.inline(t2[0]) }; 459 + } 460 + escape(e3) { 461 + let t2 = this.rules.inline.escape.exec(e3); 462 + if (t2) return { type: "escape", raw: t2[0], text: t2[1] }; 463 + } 464 + tag(e3) { 465 + let t2 = this.rules.inline.tag.exec(e3); 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 + } 468 + link(e3) { 469 + let t2 = this.rules.inline.link.exec(e3); 470 + if (t2) { 471 + let n = t2[2].trim(); 472 + if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) { 473 + if (!this.rules.other.endAngleBracket.test(n)) return; 474 + let s = C(n.slice(0, -1), "\\"); 475 + if ((n.length - s.length) % 2 === 0) return; 476 + } else { 477 + let s = ge(t2[2], "()"); 478 + if (s === -2) return; 479 + if (s > -1) { 480 + let o2 = (t2[0].indexOf("!") === 0 ? 5 : 4) + t2[1].length + s; 481 + t2[2] = t2[2].substring(0, s), t2[0] = t2[0].substring(0, o2).trim(), t2[3] = ""; 482 + } 483 + } 484 + let r = t2[2], i3 = ""; 485 + if (this.options.pedantic) { 486 + let s = this.rules.other.pedanticHrefTitle.exec(r); 487 + s && (r = s[1], i3 = s[3]); 488 + } else i3 = t2[3] ? t2[3].slice(1, -1) : ""; 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 + } 491 + } 492 + reflink(e3, t2) { 493 + let n; 494 + if ((n = this.rules.inline.reflink.exec(e3)) || (n = this.rules.inline.nolink.exec(e3))) { 495 + let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i3 = t2[r.toLowerCase()]; 496 + if (!i3) { 497 + let s = n[0].charAt(0); 498 + return { type: "text", raw: s, text: s }; 499 + } 500 + return me(n, i3, n[0], this.lexer, this.rules); 501 + } 502 + } 503 + emStrong(e3, t2, n = "") { 504 + let r = this.rules.inline.emStrongLDelim.exec(e3); 505 + if (!r || r[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return; 506 + if (!(r[1] || r[2] || "") || !n || this.rules.inline.punctuation.exec(n)) { 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 + for (c.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = c.exec(t2)) != null; ) { 509 + if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a) continue; 510 + if (o2 = [...a].length, r[3] || r[4]) { 511 + l += o2; 512 + continue; 513 + } else if ((r[5] || r[6]) && s % 3 && !((s + o2) % 3)) { 514 + p += o2; 515 + continue; 516 + } 517 + if (l -= o2, l > 0) continue; 518 + o2 = Math.min(o2, o2 + l + p); 519 + let d = [...r[0]][0].length, h = e3.slice(0, s + r.index + d + o2); 520 + if (Math.min(s, o2) % 2) { 521 + let f = h.slice(1, -1); 522 + return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) }; 523 + } 524 + let R = h.slice(2, -2); 525 + return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) }; 526 + } 527 + } 528 + } 529 + codespan(e3) { 530 + let t2 = this.rules.inline.code.exec(e3); 531 + if (t2) { 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 + return r && i3 && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t2[0], text: n }; 534 + } 535 + } 536 + br(e3) { 537 + let t2 = this.rules.inline.br.exec(e3); 538 + if (t2) return { type: "br", raw: t2[0] }; 539 + } 540 + del(e3, t2, n = "") { 541 + let r = this.rules.inline.delLDelim.exec(e3); 542 + if (!r) return; 543 + if (!(r[1] || "") || !n || this.rules.inline.punctuation.exec(n)) { 544 + let s = [...r[0]].length - 1, a, o2, l = s, p = this.rules.inline.delRDelim; 545 + for (p.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = p.exec(t2)) != null; ) { 546 + if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a || (o2 = [...a].length, o2 !== s)) continue; 547 + if (r[3] || r[4]) { 548 + l += o2; 549 + continue; 550 + } 551 + if (l -= o2, l > 0) continue; 552 + o2 = Math.min(o2, o2 + l); 553 + let c = [...r[0]][0].length, d = e3.slice(0, s + r.index + c + o2), h = d.slice(s, -s); 554 + return { type: "del", raw: d, text: h, tokens: this.lexer.inlineTokens(h) }; 555 + } 556 + } 557 + } 558 + autolink(e3) { 559 + let t2 = this.rules.inline.autolink.exec(e3); 560 + if (t2) { 561 + let n, r; 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 + } 564 + } 565 + url(e3) { 566 + let t2; 567 + if (t2 = this.rules.inline.url.exec(e3)) { 568 + let n, r; 569 + if (t2[2] === "@") n = t2[0], r = "mailto:" + n; 570 + else { 571 + let i3; 572 + do 573 + i3 = t2[0], t2[0] = this.rules.inline._backpedal.exec(t2[0])?.[0] ?? ""; 574 + while (i3 !== t2[0]); 575 + n = t2[0], t2[1] === "www." ? r = "http://" + t2[0] : r = t2[0]; 576 + } 577 + return { type: "link", raw: t2[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] }; 578 + } 579 + } 580 + inlineText(e3) { 581 + let t2 = this.rules.inline.text.exec(e3); 582 + if (t2) { 583 + let n = this.lexer.state.inRawBlock; 584 + return { type: "text", raw: t2[0], text: t2[0], escaped: n }; 585 + } 586 + } 587 + }; 588 + var x = class u { 589 + static { 590 + __name(this, "u"); 591 + } 592 + tokens; 593 + options; 594 + state; 595 + inlineQueue; 596 + tokenizer; 597 + constructor(e3) { 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 + let t2 = { other: m, block: E2.normal, inline: z.normal }; 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 + } 602 + static get rules() { 603 + return { block: E2, inline: z }; 604 + } 605 + static lex(e3, t2) { 606 + return new u(t2).lex(e3); 607 + } 608 + static lexInline(e3, t2) { 609 + return new u(t2).inlineTokens(e3); 610 + } 611 + lex(e3) { 612 + e3 = e3.replace(m.carriageReturn, ` 613 + `), this.blockTokens(e3, this.tokens); 614 + for (let t2 = 0; t2 < this.inlineQueue.length; t2++) { 615 + let n = this.inlineQueue[t2]; 616 + this.inlineTokens(n.src, n.tokens); 617 + } 618 + return this.inlineQueue = [], this.tokens; 619 + } 620 + blockTokens(e3, t2 = [], n = false) { 621 + for (this.options.pedantic && (e3 = e3.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); e3; ) { 622 + let r; 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 + if (r = this.tokenizer.space(e3)) { 625 + e3 = e3.substring(r.raw.length); 626 + let s = t2.at(-1); 627 + r.raw.length === 1 && s !== void 0 ? s.raw += ` 628 + ` : t2.push(r); 629 + continue; 630 + } 631 + if (r = this.tokenizer.code(e3)) { 632 + e3 = e3.substring(r.raw.length); 633 + let s = t2.at(-1); 634 + s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(` 635 + `) ? "" : ` 636 + `) + r.raw, s.text += ` 637 + ` + r.text, this.inlineQueue.at(-1).src = s.text) : t2.push(r); 638 + continue; 639 + } 640 + if (r = this.tokenizer.fences(e3)) { 641 + e3 = e3.substring(r.raw.length), t2.push(r); 642 + continue; 643 + } 644 + if (r = this.tokenizer.heading(e3)) { 645 + e3 = e3.substring(r.raw.length), t2.push(r); 646 + continue; 647 + } 648 + if (r = this.tokenizer.hr(e3)) { 649 + e3 = e3.substring(r.raw.length), t2.push(r); 650 + continue; 651 + } 652 + if (r = this.tokenizer.blockquote(e3)) { 653 + e3 = e3.substring(r.raw.length), t2.push(r); 654 + continue; 655 + } 656 + if (r = this.tokenizer.list(e3)) { 657 + e3 = e3.substring(r.raw.length), t2.push(r); 658 + continue; 659 + } 660 + if (r = this.tokenizer.html(e3)) { 661 + e3 = e3.substring(r.raw.length), t2.push(r); 662 + continue; 663 + } 664 + if (r = this.tokenizer.def(e3)) { 665 + e3 = e3.substring(r.raw.length); 666 + let s = t2.at(-1); 667 + s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(` 668 + `) ? "" : ` 669 + `) + r.raw, s.text += ` 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 + continue; 672 + } 673 + if (r = this.tokenizer.table(e3)) { 674 + e3 = e3.substring(r.raw.length), t2.push(r); 675 + continue; 676 + } 677 + if (r = this.tokenizer.lheading(e3)) { 678 + e3 = e3.substring(r.raw.length), t2.push(r); 679 + continue; 680 + } 681 + let i3 = e3; 682 + if (this.options.extensions?.startBlock) { 683 + let s = 1 / 0, a = e3.slice(1), o2; 684 + this.options.extensions.startBlock.forEach((l) => { 685 + o2 = l.call({ lexer: this }, a), typeof o2 == "number" && o2 >= 0 && (s = Math.min(s, o2)); 686 + }), s < 1 / 0 && s >= 0 && (i3 = e3.substring(0, s + 1)); 687 + } 688 + if (this.state.top && (r = this.tokenizer.paragraph(i3))) { 689 + let s = t2.at(-1); 690 + n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(` 691 + `) ? "" : ` 692 + `) + r.raw, s.text += ` 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 + continue; 695 + } 696 + if (r = this.tokenizer.text(e3)) { 697 + e3 = e3.substring(r.raw.length); 698 + let s = t2.at(-1); 699 + s?.type === "text" ? (s.raw += (s.raw.endsWith(` 700 + `) ? "" : ` 701 + `) + r.raw, s.text += ` 702 + ` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t2.push(r); 703 + continue; 704 + } 705 + if (e3) { 706 + let s = "Infinite loop on byte: " + e3.charCodeAt(0); 707 + if (this.options.silent) { 708 + console.error(s); 709 + break; 710 + } else throw new Error(s); 711 + } 712 + } 713 + return this.state.top = true, t2; 714 + } 715 + inline(e3, t2 = []) { 716 + return this.inlineQueue.push({ src: e3, tokens: t2 }), t2; 717 + } 718 + inlineTokens(e3, t2 = []) { 719 + let n = e3, r = null; 720 + if (this.tokens.links) { 721 + let o2 = Object.keys(this.tokens.links); 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 + } 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 + let i3; 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 + n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n; 728 + let s = false, a = ""; 729 + for (; e3; ) { 730 + s || (a = ""), s = false; 731 + let o2; 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 + if (o2 = this.tokenizer.escape(e3)) { 734 + e3 = e3.substring(o2.raw.length), t2.push(o2); 735 + continue; 736 + } 737 + if (o2 = this.tokenizer.tag(e3)) { 738 + e3 = e3.substring(o2.raw.length), t2.push(o2); 739 + continue; 740 + } 741 + if (o2 = this.tokenizer.link(e3)) { 742 + e3 = e3.substring(o2.raw.length), t2.push(o2); 743 + continue; 744 + } 745 + if (o2 = this.tokenizer.reflink(e3, this.tokens.links)) { 746 + e3 = e3.substring(o2.raw.length); 747 + let p = t2.at(-1); 748 + o2.type === "text" && p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2); 749 + continue; 750 + } 751 + if (o2 = this.tokenizer.emStrong(e3, n, a)) { 752 + e3 = e3.substring(o2.raw.length), t2.push(o2); 753 + continue; 754 + } 755 + if (o2 = this.tokenizer.codespan(e3)) { 756 + e3 = e3.substring(o2.raw.length), t2.push(o2); 757 + continue; 758 + } 759 + if (o2 = this.tokenizer.br(e3)) { 760 + e3 = e3.substring(o2.raw.length), t2.push(o2); 761 + continue; 762 + } 763 + if (o2 = this.tokenizer.del(e3, n, a)) { 764 + e3 = e3.substring(o2.raw.length), t2.push(o2); 765 + continue; 766 + } 767 + if (o2 = this.tokenizer.autolink(e3)) { 768 + e3 = e3.substring(o2.raw.length), t2.push(o2); 769 + continue; 770 + } 771 + if (!this.state.inLink && (o2 = this.tokenizer.url(e3))) { 772 + e3 = e3.substring(o2.raw.length), t2.push(o2); 773 + continue; 774 + } 775 + let l = e3; 776 + if (this.options.extensions?.startInline) { 777 + let p = 1 / 0, c = e3.slice(1), d; 778 + this.options.extensions.startInline.forEach((h) => { 779 + d = h.call({ lexer: this }, c), typeof d == "number" && d >= 0 && (p = Math.min(p, d)); 780 + }), p < 1 / 0 && p >= 0 && (l = e3.substring(0, p + 1)); 781 + } 782 + if (o2 = this.tokenizer.inlineText(l)) { 783 + e3 = e3.substring(o2.raw.length), o2.raw.slice(-1) !== "_" && (a = o2.raw.slice(-1)), s = true; 784 + let p = t2.at(-1); 785 + p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2); 786 + continue; 787 + } 788 + if (e3) { 789 + let p = "Infinite loop on byte: " + e3.charCodeAt(0); 790 + if (this.options.silent) { 791 + console.error(p); 792 + break; 793 + } else throw new Error(p); 794 + } 795 + } 796 + return t2; 797 + } 798 + }; 799 + var y = class { 800 + static { 801 + __name(this, "y"); 802 + } 803 + options; 804 + parser; 805 + constructor(e3) { 806 + this.options = e3 || T2; 807 + } 808 + space(e3) { 809 + return ""; 810 + } 811 + code({ text: e3, lang: t2, escaped: n }) { 812 + let r = (t2 || "").match(m.notSpaceStart)?.[0], i3 = e3.replace(m.endingNewline, "") + ` 813 + `; 814 + return r ? '<pre><code class="language-' + O(r) + '">' + (n ? i3 : O(i3, true)) + `</code></pre> 815 + ` : "<pre><code>" + (n ? i3 : O(i3, true)) + `</code></pre> 816 + `; 817 + } 818 + blockquote({ tokens: e3 }) { 819 + return `<blockquote> 820 + ${this.parser.parse(e3)}</blockquote> 821 + `; 822 + } 823 + html({ text: e3 }) { 824 + return e3; 825 + } 826 + def(e3) { 827 + return ""; 828 + } 829 + heading({ tokens: e3, depth: t2 }) { 830 + return `<h${t2}>${this.parser.parseInline(e3)}</h${t2}> 831 + `; 832 + } 833 + hr(e3) { 834 + return `<hr> 835 + `; 836 + } 837 + list(e3) { 838 + let t2 = e3.ordered, n = e3.start, r = ""; 839 + for (let a = 0; a < e3.items.length; a++) { 840 + let o2 = e3.items[a]; 841 + r += this.listitem(o2); 842 + } 843 + let i3 = t2 ? "ol" : "ul", s = t2 && n !== 1 ? ' start="' + n + '"' : ""; 844 + return "<" + i3 + s + `> 845 + ` + r + "</" + i3 + `> 846 + `; 847 + } 848 + listitem(e3) { 849 + return `<li>${this.parser.parse(e3.tokens)}</li> 850 + `; 851 + } 852 + checkbox({ checked: e3 }) { 853 + return "<input " + (e3 ? 'checked="" ' : "") + 'disabled="" type="checkbox"> '; 854 + } 855 + paragraph({ tokens: e3 }) { 856 + return `<p>${this.parser.parseInline(e3)}</p> 857 + `; 858 + } 859 + table(e3) { 860 + let t2 = "", n = ""; 861 + for (let i3 = 0; i3 < e3.header.length; i3++) n += this.tablecell(e3.header[i3]); 862 + t2 += this.tablerow({ text: n }); 863 + let r = ""; 864 + for (let i3 = 0; i3 < e3.rows.length; i3++) { 865 + let s = e3.rows[i3]; 866 + n = ""; 867 + for (let a = 0; a < s.length; a++) n += this.tablecell(s[a]); 868 + r += this.tablerow({ text: n }); 869 + } 870 + return r && (r = `<tbody>${r}</tbody>`), `<table> 871 + <thead> 872 + ` + t2 + `</thead> 873 + ` + r + `</table> 874 + `; 875 + } 876 + tablerow({ text: e3 }) { 877 + return `<tr> 878 + ${e3}</tr> 879 + `; 880 + } 881 + tablecell(e3) { 882 + let t2 = this.parser.parseInline(e3.tokens), n = e3.header ? "th" : "td"; 883 + return (e3.align ? `<${n} align="${e3.align}">` : `<${n}>`) + t2 + `</${n}> 884 + `; 885 + } 886 + strong({ tokens: e3 }) { 887 + return `<strong>${this.parser.parseInline(e3)}</strong>`; 888 + } 889 + em({ tokens: e3 }) { 890 + return `<em>${this.parser.parseInline(e3)}</em>`; 891 + } 892 + codespan({ text: e3 }) { 893 + return `<code>${O(e3, true)}</code>`; 894 + } 895 + br(e3) { 896 + return "<br>"; 897 + } 898 + del({ tokens: e3 }) { 899 + return `<del>${this.parser.parseInline(e3)}</del>`; 900 + } 901 + link({ href: e3, title: t2, tokens: n }) { 902 + let r = this.parser.parseInline(n), i3 = X(e3); 903 + if (i3 === null) return r; 904 + e3 = i3; 905 + let s = '<a href="' + e3 + '"'; 906 + return t2 && (s += ' title="' + O(t2) + '"'), s += ">" + r + "</a>", s; 907 + } 908 + image({ href: e3, title: t2, text: n, tokens: r }) { 909 + r && (n = this.parser.parseInline(r, this.parser.textRenderer)); 910 + let i3 = X(e3); 911 + if (i3 === null) return O(n); 912 + e3 = i3; 913 + let s = `<img src="${e3}" alt="${O(n)}"`; 914 + return t2 && (s += ` title="${O(t2)}"`), s += ">", s; 915 + } 916 + text(e3) { 917 + return "tokens" in e3 && e3.tokens ? this.parser.parseInline(e3.tokens) : "escaped" in e3 && e3.escaped ? e3.text : O(e3.text); 918 + } 919 + }; 920 + var $ = class { 921 + static { 922 + __name(this, "$"); 923 + } 924 + strong({ text: e3 }) { 925 + return e3; 926 + } 927 + em({ text: e3 }) { 928 + return e3; 929 + } 930 + codespan({ text: e3 }) { 931 + return e3; 932 + } 933 + del({ text: e3 }) { 934 + return e3; 935 + } 936 + html({ text: e3 }) { 937 + return e3; 938 + } 939 + text({ text: e3 }) { 940 + return e3; 941 + } 942 + link({ text: e3 }) { 943 + return "" + e3; 944 + } 945 + image({ text: e3 }) { 946 + return "" + e3; 947 + } 948 + br() { 949 + return ""; 950 + } 951 + checkbox({ raw: e3 }) { 952 + return e3; 953 + } 954 + }; 955 + var b = class u2 { 956 + static { 957 + __name(this, "u"); 958 + } 959 + options; 960 + renderer; 961 + textRenderer; 962 + constructor(e3) { 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 + } 965 + static parse(e3, t2) { 966 + return new u2(t2).parse(e3); 967 + } 968 + static parseInline(e3, t2) { 969 + return new u2(t2).parseInline(e3); 970 + } 971 + parse(e3) { 972 + let t2 = ""; 973 + for (let n = 0; n < e3.length; n++) { 974 + let r = e3[n]; 975 + if (this.options.extensions?.renderers?.[r.type]) { 976 + let s = r, a = this.options.extensions.renderers[s.type].call({ parser: this }, s); 977 + if (a !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(s.type)) { 978 + t2 += a || ""; 979 + continue; 980 + } 981 + } 982 + let i3 = r; 983 + switch (i3.type) { 984 + case "space": { 985 + t2 += this.renderer.space(i3); 986 + break; 987 + } 988 + case "hr": { 989 + t2 += this.renderer.hr(i3); 990 + break; 991 + } 992 + case "heading": { 993 + t2 += this.renderer.heading(i3); 994 + break; 995 + } 996 + case "code": { 997 + t2 += this.renderer.code(i3); 998 + break; 999 + } 1000 + case "table": { 1001 + t2 += this.renderer.table(i3); 1002 + break; 1003 + } 1004 + case "blockquote": { 1005 + t2 += this.renderer.blockquote(i3); 1006 + break; 1007 + } 1008 + case "list": { 1009 + t2 += this.renderer.list(i3); 1010 + break; 1011 + } 1012 + case "checkbox": { 1013 + t2 += this.renderer.checkbox(i3); 1014 + break; 1015 + } 1016 + case "html": { 1017 + t2 += this.renderer.html(i3); 1018 + break; 1019 + } 1020 + case "def": { 1021 + t2 += this.renderer.def(i3); 1022 + break; 1023 + } 1024 + case "paragraph": { 1025 + t2 += this.renderer.paragraph(i3); 1026 + break; 1027 + } 1028 + case "text": { 1029 + t2 += this.renderer.text(i3); 1030 + break; 1031 + } 1032 + default: { 1033 + let s = 'Token with "' + i3.type + '" type was not found.'; 1034 + if (this.options.silent) return console.error(s), ""; 1035 + throw new Error(s); 1036 + } 1037 + } 1038 + } 1039 + return t2; 1040 + } 1041 + parseInline(e3, t2 = this.renderer) { 1042 + let n = ""; 1043 + for (let r = 0; r < e3.length; r++) { 1044 + let i3 = e3[r]; 1045 + if (this.options.extensions?.renderers?.[i3.type]) { 1046 + let a = this.options.extensions.renderers[i3.type].call({ parser: this }, i3); 1047 + if (a !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i3.type)) { 1048 + n += a || ""; 1049 + continue; 1050 + } 1051 + } 1052 + let s = i3; 1053 + switch (s.type) { 1054 + case "escape": { 1055 + n += t2.text(s); 1056 + break; 1057 + } 1058 + case "html": { 1059 + n += t2.html(s); 1060 + break; 1061 + } 1062 + case "link": { 1063 + n += t2.link(s); 1064 + break; 1065 + } 1066 + case "image": { 1067 + n += t2.image(s); 1068 + break; 1069 + } 1070 + case "checkbox": { 1071 + n += t2.checkbox(s); 1072 + break; 1073 + } 1074 + case "strong": { 1075 + n += t2.strong(s); 1076 + break; 1077 + } 1078 + case "em": { 1079 + n += t2.em(s); 1080 + break; 1081 + } 1082 + case "codespan": { 1083 + n += t2.codespan(s); 1084 + break; 1085 + } 1086 + case "br": { 1087 + n += t2.br(s); 1088 + break; 1089 + } 1090 + case "del": { 1091 + n += t2.del(s); 1092 + break; 1093 + } 1094 + case "text": { 1095 + n += t2.text(s); 1096 + break; 1097 + } 1098 + default: { 1099 + let a = 'Token with "' + s.type + '" type was not found.'; 1100 + if (this.options.silent) return console.error(a), ""; 1101 + throw new Error(a); 1102 + } 1103 + } 1104 + } 1105 + return n; 1106 + } 1107 + }; 1108 + var P = class { 1109 + static { 1110 + __name(this, "P"); 1111 + } 1112 + options; 1113 + block; 1114 + constructor(e3) { 1115 + this.options = e3 || T2; 1116 + } 1117 + static passThroughHooks = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]); 1118 + static passThroughHooksRespectAsync = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"]); 1119 + preprocess(e3) { 1120 + return e3; 1121 + } 1122 + postprocess(e3) { 1123 + return e3; 1124 + } 1125 + processAllTokens(e3) { 1126 + return e3; 1127 + } 1128 + emStrongMask(e3) { 1129 + return e3; 1130 + } 1131 + provideLexer() { 1132 + return this.block ? x.lex : x.lexInline; 1133 + } 1134 + provideParser() { 1135 + return this.block ? b.parse : b.parseInline; 1136 + } 1137 + }; 1138 + var B2 = class { 1139 + static { 1140 + __name(this, "B"); 1141 + } 1142 + defaults = M(); 1143 + options = this.setOptions; 1144 + parse = this.parseMarkdown(true); 1145 + parseInline = this.parseMarkdown(false); 1146 + Parser = b; 1147 + Renderer = y; 1148 + TextRenderer = $; 1149 + Lexer = x; 1150 + Tokenizer = w; 1151 + Hooks = P; 1152 + constructor(...e3) { 1153 + this.use(...e3); 1154 + } 1155 + walkTokens(e3, t2) { 1156 + let n = []; 1157 + for (let r of e3) switch (n = n.concat(t2.call(this, r)), r.type) { 1158 + case "table": { 1159 + let i3 = r; 1160 + for (let s of i3.header) n = n.concat(this.walkTokens(s.tokens, t2)); 1161 + for (let s of i3.rows) for (let a of s) n = n.concat(this.walkTokens(a.tokens, t2)); 1162 + break; 1163 + } 1164 + case "list": { 1165 + let i3 = r; 1166 + n = n.concat(this.walkTokens(i3.items, t2)); 1167 + break; 1168 + } 1169 + default: { 1170 + let i3 = r; 1171 + this.defaults.extensions?.childTokens?.[i3.type] ? this.defaults.extensions.childTokens[i3.type].forEach((s) => { 1172 + let a = i3[s].flat(1 / 0); 1173 + n = n.concat(this.walkTokens(a, t2)); 1174 + }) : i3.tokens && (n = n.concat(this.walkTokens(i3.tokens, t2))); 1175 + } 1176 + } 1177 + return n; 1178 + } 1179 + use(...e3) { 1180 + let t2 = this.defaults.extensions || { renderers: {}, childTokens: {} }; 1181 + return e3.forEach((n) => { 1182 + let r = { ...n }; 1183 + if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i3) => { 1184 + if (!i3.name) throw new Error("extension name required"); 1185 + if ("renderer" in i3) { 1186 + let s = t2.renderers[i3.name]; 1187 + s ? t2.renderers[i3.name] = function(...a) { 1188 + let o2 = i3.renderer.apply(this, a); 1189 + return o2 === false && (o2 = s.apply(this, a)), o2; 1190 + } : t2.renderers[i3.name] = i3.renderer; 1191 + } 1192 + if ("tokenizer" in i3) { 1193 + if (!i3.level || i3.level !== "block" && i3.level !== "inline") throw new Error("extension level must be 'block' or 'inline'"); 1194 + let s = t2[i3.level]; 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 + } 1197 + "childTokens" in i3 && i3.childTokens && (t2.childTokens[i3.name] = i3.childTokens); 1198 + }), r.extensions = t2), n.renderer) { 1199 + let i3 = this.defaults.renderer || new y(this.defaults); 1200 + for (let s in n.renderer) { 1201 + if (!(s in i3)) throw new Error(`renderer '${s}' does not exist`); 1202 + if (["options", "parser"].includes(s)) continue; 1203 + let a = s, o2 = n.renderer[a], l = i3[a]; 1204 + i3[a] = (...p) => { 1205 + let c = o2.apply(i3, p); 1206 + return c === false && (c = l.apply(i3, p)), c || ""; 1207 + }; 1208 + } 1209 + r.renderer = i3; 1210 + } 1211 + if (n.tokenizer) { 1212 + let i3 = this.defaults.tokenizer || new w(this.defaults); 1213 + for (let s in n.tokenizer) { 1214 + if (!(s in i3)) throw new Error(`tokenizer '${s}' does not exist`); 1215 + if (["options", "rules", "lexer"].includes(s)) continue; 1216 + let a = s, o2 = n.tokenizer[a], l = i3[a]; 1217 + i3[a] = (...p) => { 1218 + let c = o2.apply(i3, p); 1219 + return c === false && (c = l.apply(i3, p)), c; 1220 + }; 1221 + } 1222 + r.tokenizer = i3; 1223 + } 1224 + if (n.hooks) { 1225 + let i3 = this.defaults.hooks || new P(); 1226 + for (let s in n.hooks) { 1227 + if (!(s in i3)) throw new Error(`hook '${s}' does not exist`); 1228 + if (["options", "block"].includes(s)) continue; 1229 + let a = s, o2 = n.hooks[a], l = i3[a]; 1230 + P.passThroughHooks.has(s) ? i3[a] = (p) => { 1231 + if (this.defaults.async && P.passThroughHooksRespectAsync.has(s)) return (async () => { 1232 + let d = await o2.call(i3, p); 1233 + return l.call(i3, d); 1234 + })(); 1235 + let c = o2.call(i3, p); 1236 + return l.call(i3, c); 1237 + } : i3[a] = (...p) => { 1238 + if (this.defaults.async) return (async () => { 1239 + let d = await o2.apply(i3, p); 1240 + return d === false && (d = await l.apply(i3, p)), d; 1241 + })(); 1242 + let c = o2.apply(i3, p); 1243 + return c === false && (c = l.apply(i3, p)), c; 1244 + }; 1245 + } 1246 + r.hooks = i3; 1247 + } 1248 + if (n.walkTokens) { 1249 + let i3 = this.defaults.walkTokens, s = n.walkTokens; 1250 + r.walkTokens = function(a) { 1251 + let o2 = []; 1252 + return o2.push(s.call(this, a)), i3 && (o2 = o2.concat(i3.call(this, a))), o2; 1253 + }; 1254 + } 1255 + this.defaults = { ...this.defaults, ...r }; 1256 + }), this; 1257 + } 1258 + setOptions(e3) { 1259 + return this.defaults = { ...this.defaults, ...e3 }, this; 1260 + } 1261 + lexer(e3, t2) { 1262 + return x.lex(e3, t2 ?? this.defaults); 1263 + } 1264 + parser(e3, t2) { 1265 + return b.parse(e3, t2 ?? this.defaults); 1266 + } 1267 + parseMarkdown(e3) { 1268 + return (n, r) => { 1269 + let i3 = { ...r }, s = { ...this.defaults, ...i3 }, a = this.onError(!!s.silent, !!s.async); 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 + if (typeof n > "u" || n === null) return a(new Error("marked(): input parameter is undefined or null")); 1272 + if (typeof n != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected")); 1273 + if (s.hooks && (s.hooks.options = s, s.hooks.block = e3), s.async) return (async () => { 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 + s.walkTokens && await Promise.all(this.walkTokens(c, s.walkTokens)); 1276 + let h = await (s.hooks ? await s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(c, s); 1277 + return s.hooks ? await s.hooks.postprocess(h) : h; 1278 + })().catch(a); 1279 + try { 1280 + s.hooks && (n = s.hooks.preprocess(n)); 1281 + let l = (s.hooks ? s.hooks.provideLexer() : e3 ? x.lex : x.lexInline)(n, s); 1282 + s.hooks && (l = s.hooks.processAllTokens(l)), s.walkTokens && this.walkTokens(l, s.walkTokens); 1283 + let c = (s.hooks ? s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(l, s); 1284 + return s.hooks && (c = s.hooks.postprocess(c)), c; 1285 + } catch (o2) { 1286 + return a(o2); 1287 + } 1288 + }; 1289 + } 1290 + onError(e3, t2) { 1291 + return (n) => { 1292 + if (n.message += ` 1293 + Please report this to https://github.com/markedjs/marked.`, e3) { 1294 + let r = "<p>An error occurred:</p><pre>" + O(n.message + "", true) + "</pre>"; 1295 + return t2 ? Promise.resolve(r) : r; 1296 + } 1297 + if (t2) return Promise.reject(n); 1298 + throw n; 1299 + }; 1300 + } 1301 + }; 1302 + var L = new B2(); 1303 + function g(u3, e3) { 1304 + return L.parse(u3, e3); 1305 + } 1306 + __name(g, "g"); 1307 + g.options = g.setOptions = function(u3) { 1308 + return L.setOptions(u3), g.defaults = L.defaults, H(g.defaults), g; 1309 + }; 1310 + g.getDefaults = M; 1311 + g.defaults = T2; 1312 + g.use = function(...u3) { 1313 + return L.use(...u3), g.defaults = L.defaults, H(g.defaults), g; 1314 + }; 1315 + g.walkTokens = function(u3, e3) { 1316 + return L.walkTokens(u3, e3); 1317 + }; 1318 + g.parseInline = L.parseInline; 1319 + g.Parser = b; 1320 + g.parser = b.parse; 1321 + g.Renderer = y; 1322 + g.TextRenderer = $; 1323 + g.Lexer = x; 1324 + g.lexer = x.lex; 1325 + g.Tokenizer = w; 1326 + g.Hooks = P; 1327 + g.parse = g; 1328 + var Ut = g.options; 1329 + var Kt = g.setOptions; 1330 + var Wt = g.use; 1331 + var Xt = g.walkTokens; 1332 + var Jt = g.parseInline; 1333 + var Yt = b.parse; 1334 + var en = x.lex; 1335 + 1336 + // ../node_modules/.deno/lit-html@3.3.2/node_modules/lit-html/node/directives/unsafe-html.js 1337 + init_Buffer(); 1338 + init_process(); 1339 + var e2 = class extends i { 1340 + static { 1341 + __name(this, "e"); 1342 + } 1343 + constructor(i3) { 1344 + if (super(i3), this.it = A, i3.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings"); 1345 + } 1346 + render(r) { 1347 + if (r === A || null == r) return this._t = void 0, this.it = r; 1348 + if (r === E) return r; 1349 + if ("string" != typeof r) throw Error(this.constructor.directiveName + "() called with a non-string value"); 1350 + if (r === this.it) return this._t; 1351 + this.it = r; 1352 + const s = [r]; 1353 + return s.raw = s, this._t = { _$litType$: this.constructor.resultType, strings: s, values: [] }; 1354 + } 1355 + }; 1356 + e2.directiveName = "unsafeHTML", e2.resultType = 1; 1357 + var o = e(e2); 1358 + 1359 + // facets/index.js 1360 + document.body.addEventListener( 1361 + "click", 1362 + /** 1363 + * @param {MouseEvent} event 1364 + */ 1365 + async (event) => { 1366 + const target = ( 1367 + /** @type {HTMLElement} */ 1368 + event.target 1369 + ); 1370 + const rel = target.getAttribute("rel"); 1371 + if (!rel) return; 1372 + const uri = target.closest("li")?.getAttribute("data-uri"); 1373 + if (!uri) return; 1374 + const name = target.closest("li")?.getAttribute("data-name"); 1375 + if (!name) return; 1376 + switch (rel) { 1377 + case "fork": { 1378 + const facet = await facetFromURI({ name, uri }, { fetchHTML: true }); 1379 + editFacet(facet); 1380 + document.querySelector("#build")?.scrollIntoView(); 1381 + break; 1382 + } 1383 + case "save": { 1384 + const facet = await facetFromURI({ name, uri }, { fetchHTML: false }); 1385 + const out = foundation_default.orchestrator.output(); 1386 + out.facets.save([ 1387 + ...out.facets.collection(), 1388 + facet 1389 + ]); 1390 + break; 1391 + } 1392 + } 1393 + } 1394 + ); 1395 + var listEl = document.querySelector("#list"); 1396 + if (!listEl) throw new Error("List element not found"); 1397 + var output = foundation_default.orchestrator.output(); 1398 + listEl.innerHTML = ""; 1399 + effect(() => { 1400 + const col = output.facets.collection().sort((a, b2) => { 1401 + return a.name.toLocaleLowerCase().localeCompare(b2.name.toLocaleLowerCase()); 1402 + }); 1403 + const state = output.facets.state(); 1404 + const h = col.length && state === "loaded" ? T` 1405 + <ul> 1406 + ${col.map( 1407 + (c) => i2( 1408 + c.id, 1409 + T` 1410 + <li> 1411 + <div style="position: relative;"> 1412 + <a href="facets/l/?id=${c.id}"> 1413 + ${c.name} 1414 + </a> 1415 + <button 1416 + class="button--fixed button--transparent" 1417 + popovertarget="facet-menu-col-${c.id}" 1418 + style="anchor-name: --facet-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);" 1419 + > 1420 + <i class="ph-fill ph-dots-three-circle"></i> 1421 + </button> 1422 + </div> 1423 + <div class="list-description"> 1424 + <div> 1425 + ${c.description?.trim().length ? o( 1426 + g.parse(c.description, { async: false }) 1427 + ) : A} 1428 + </div> 1429 + <div> 1430 + ${c.uri && !c.html ? T` 1431 + <span class="with-icon"> 1432 + <i class="ph-fill ph-binoculars"></i> 1433 + <span>Tracking the original <a href="${c.uri}">URI</a></span> 1434 + </span> 1435 + ` : T` 1436 + <span class="with-icon"> 1437 + <i class="ph-fill ph-code"></i> 1438 + <span>Custom code</span> 1439 + </span> 1440 + `} 1441 + </div> 1442 + </div> 1443 + 1444 + <!-- Dropdown Menu --> 1445 + <div 1446 + id="facet-menu-col-${c.id}" 1447 + class="dropdown" 1448 + style="position-anchor: --facet-anchor-col-${c.id}" 1449 + popover 1450 + > 1451 + <a href="facets/l/?id=${c.id}"> 1452 + <span class="with-icon"> 1453 + <i class="ph-fill ph-globe"></i> Open 1454 + </span> 1455 + </a> 1456 + <a @click="${() => editFacet(c)}"> 1457 + <span class="with-icon"> 1458 + <i class="ph-fill ph-cursor-text"></i> Edit 1459 + </span> 1460 + </a> 1461 + <a @click="${deleteFacet({ id: c.id })}"> 1462 + <span class="with-icon"> 1463 + <i class="ph-fill ph-eraser"></i> Delete 1464 + </span> 1465 + </a> 1466 + </div> 1467 + </li> 1468 + ` 1469 + ) 1470 + )} 1471 + </ul> 1472 + ` : state === "loaded" ? emptyFacetsList : T` 1473 + <div class="with-icon" style="font-size: var(--fs-sm);"> 1474 + <i class="ph-bold ph-spinner-gap"></i> 1475 + Loading items 1476 + </div> 1477 + `; 1478 + B(h, listEl); 1479 + }); 1480 + var emptyFacetsList = T` 1481 + <p style="margin-bottom: 0;"> 1482 + <i class="ph-fill ph-info"></i> You have not saved any facets yet. 1483 + </p> 1484 + `; 1485 + function deleteFacet({ id }) { 1486 + return () => { 1487 + const c = confirm("Are you sure you want to delete this facet?"); 1488 + if (!c) return; 1489 + output.facets.save( 1490 + output.facets.collection().filter((c2) => !(c2.id === id)) 1491 + ); 1492 + }; 1493 + } 1494 + __name(deleteFacet, "deleteFacet"); 1495 + var $editingFacet = signal( 1496 + /** @type {Facet | null} */ 1497 + null 1498 + ); 1499 + var editorContainer = document.body.querySelector("#html-input-container"); 1500 + if (!editorContainer) throw new Error("Editor container not found"); 1501 + var editor = new EditorView({ 1502 + parent: editorContainer, 1503 + doc: ` 1504 + <main> 1505 + <h1 id="now-playing"> 1506 + Waiting on tracks &amp; queue to load ... 1507 + </h1> 1508 + </main> 1509 + 1510 + <style> 1511 + @import "./styles/base.css"; 1512 + @import "./styles/diffuse/page.css"; 1513 + </style> 1514 + 1515 + <script type="module"> 1516 + import foundation from "./common/facets/foundation.js"; 1517 + import { effect } from "./common/signal.js"; 1518 + 1519 + const components = foundation.features.fillQueueAutomatically(); 1520 + const myHtmlElement = document.querySelector("#now-playing"); 1521 + 1522 + effect(() => { 1523 + const now = components.engine.queue.now(); 1524 + const currentlyPlaying = now ? components.orchestrator.output.tracks.collection().find(t => t.id === now.id) : undefined; 1525 + if (currentlyPlaying && myHtmlElement) { 1526 + myHtmlElement.innerText = \`\${currentlyPlaying.tags.artist} - \${currentlyPlaying.tags.title}\`; 1527 + } 1528 + }) 1529 + <\/script> 1530 + `.trim(), 1531 + extensions: [ 1532 + basicSetup, 1533 + html(), 1534 + css(), 1535 + javascript(), 1536 + autocompletion() 1537 + ] 1538 + }); 1539 + document.querySelector("#build-form")?.addEventListener( 1540 + "submit", 1541 + onBuildSubmit 1542 + ); 1543 + async function onBuildSubmit(event) { 1544 + event.preventDefault(); 1545 + const nameEl = ( 1546 + /** @type {HTMLInputElement | null} */ 1547 + document.querySelector( 1548 + "#name-input" 1549 + ) 1550 + ); 1551 + const descriptionEl = ( 1552 + /** @type {HTMLTextAreaElement | null} */ 1553 + document.querySelector("#description-input") 1554 + ); 1555 + const html2 = editor.state.doc.toString(); 1556 + const cid = await create(85, new TextEncoder().encode(html2)); 1557 + const name = nameEl?.value ?? "nameless"; 1558 + const description = descriptionEl?.value ?? ""; 1559 + const facet = $editingFacet.value ? { 1560 + ...$editingFacet.value, 1561 + cid, 1562 + description, 1563 + html: html2, 1564 + name 1565 + } : { 1566 + $type: "sh.diffuse.output.facet", 1567 + id: now(), 1568 + cid, 1569 + description, 1570 + html: html2, 1571 + name 1572 + }; 1573 + switch ( 1574 + /** @type {any} */ 1575 + event.submitter.name 1576 + ) { 1577 + case "save": 1578 + await saveFacet(facet); 1579 + break; 1580 + case "save+open": 1581 + await saveFacet(facet); 1582 + globalThis.open(`./facets/l/?id=${facet.id}`, "blank"); 1583 + break; 1584 + } 1585 + } 1586 + __name(onBuildSubmit, "onBuildSubmit"); 1587 + async function editFacet(ogFacet) { 1588 + const facet = { ...ogFacet }; 1589 + const nameEl = ( 1590 + /** @type {HTMLInputElement | null} */ 1591 + document.querySelector( 1592 + "#name-input" 1593 + ) 1594 + ); 1595 + const descriptionEl = ( 1596 + /** @type {HTMLTextAreaElement | null} */ 1597 + document.querySelector("#description-input") 1598 + ); 1599 + if (!nameEl) return; 1600 + document.querySelector("#build")?.scrollIntoView(); 1601 + if (!facet.html && facet.uri) { 1602 + const html2 = await loadURI(facet.uri); 1603 + const cid = await create(85, new TextEncoder().encode(html2)); 1604 + facet.html = html2; 1605 + facet.cid = cid; 1606 + } 1607 + $editingFacet.value = facet; 1608 + nameEl.value = facet.name; 1609 + if (descriptionEl) { 1610 + descriptionEl.value = facet.description ?? ""; 1611 + } 1612 + editor.dispatch({ 1613 + changes: { from: 0, to: editor.state.doc.length, insert: facet.html } 1614 + }); 1615 + } 1616 + __name(editFacet, "editFacet"); 1617 + async function saveFacet(facet) { 1618 + const col = output.facets.collection(); 1619 + const colWithoutId = col.filter((c) => c.id !== facet.id); 1620 + await output.facets.save([...colWithoutId, { 1621 + ...facet, 1622 + updatedAt: (/* @__PURE__ */ new Date()).toISOString() 1623 + }]); 1624 + } 1625 + __name(saveFacet, "saveFacet"); 1626 + /*! Bundled license information: 1627 + 1628 + lit-html/node/directives/unsafe-html.js: 1629 + (** 1630 + * @license 1631 + * Copyright 2017 Google LLC 1632 + * SPDX-License-Identifier: BSD-3-Clause 1633 + *) 1634 + */ 1635 + 1636 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/index.js.map
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/facets/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/l/index.html
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/l/index.html
+86
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/l/index.js
··· 1 + import { 2 + foundation_default 3 + } from "../../chunk-2N6CLBH3.js"; 4 + import "../../chunk-UM3YGQCD.js"; 5 + import "../../chunk-5U6YGUSF.js"; 6 + import "../../chunk-JHKODV4C.js"; 7 + import "../../chunk-NC2PKDLJ.js"; 8 + import "../../chunk-LC5ADJPD.js"; 9 + import "../../chunk-DBY4UFCR.js"; 10 + import "../../chunk-5GF3RIXZ.js"; 11 + import "../../chunk-6LRCMOGT.js"; 12 + import "../../chunk-MTF6MUZY.js"; 13 + import "../../chunk-M7I6ARGE.js"; 14 + import "../../chunk-2HRMT4JN.js"; 15 + import "../../chunk-77N5LJ3L.js"; 16 + import "../../chunk-KIXJZP53.js"; 17 + import "../../chunk-T3L6UFWY.js"; 18 + import "../../chunk-IPJO7YD4.js"; 19 + import "../../chunk-Y6DMBYY7.js"; 20 + import "../../chunk-YZWL75VE.js"; 21 + import "../../chunk-NB2M3NWG.js"; 22 + import "../../chunk-JBHW662S.js"; 23 + import "../../chunk-GX3WPNEX.js"; 24 + import "../../chunk-226QQPVM.js"; 25 + import "../../chunk-HN4F5JEZ.js"; 26 + import "../../chunk-PTVB4Y37.js"; 27 + import "../../chunk-4MMRODUP.js"; 28 + import "../../chunk-F74HSTJN.js"; 29 + import "../../chunk-BUBM2UB3.js"; 30 + import "../../chunk-R3VDMJ43.js"; 31 + import "../../chunk-LQ2RJJ6P.js"; 32 + import "../../chunk-DDF5P57I.js"; 33 + import "../../chunk-EEUCFWD4.js"; 34 + import "../../chunk-6DRHTH2U.js"; 35 + import "../../chunk-HI6EUDY3.js"; 36 + import "../../chunk-CZYH5TCN.js"; 37 + import "../../chunk-OENN55R6.js"; 38 + import "../../chunk-UGE3FKYA.js"; 39 + import "../../chunk-52BFTJ3R.js"; 40 + import "../../chunk-E6H4GVL4.js"; 41 + import "../../chunk-J3RUTL7I.js"; 42 + import "../../chunk-52F6J3SQ.js"; 43 + import "../../chunk-G56PUJUJ.js"; 44 + import { 45 + createLoader 46 + } from "../../chunk-W3QCTPVZ.js"; 47 + import "../../chunk-WN6GL63Q.js"; 48 + import "../../chunk-CRZ7HJJ4.js"; 49 + import "../../chunk-242LG3VP.js"; 50 + import "../../chunk-LHSDDKDM.js"; 51 + import "../../chunk-IZOBPV2S.js"; 52 + import "../../chunk-4YB6QUPN.js"; 53 + import "../../chunk-SGR5ST3A.js"; 54 + import "../../chunk-6DKPDMFE.js"; 55 + import "../../chunk-TP5GZFTO.js"; 56 + import "../../chunk-ZQZJJU3T.js"; 57 + import { 58 + __name, 59 + init_Buffer, 60 + init_process 61 + } from "../../chunk-FZQXS3RE.js"; 62 + 63 + // facets/l/index.js 64 + init_Buffer(); 65 + init_process(); 66 + createLoader({ 67 + $type: "sh.diffuse.output.facet", 68 + label: "Facet", 69 + source: /* @__PURE__ */ __name(() => { 70 + const output = foundation_default.orchestrator.output(); 71 + return output.facets; 72 + }, "source"), 73 + render(facet) { 74 + const container = ( 75 + /** @type {HTMLDivElement} */ 76 + document.querySelector("#container") 77 + ); 78 + const range = document.createRange(); 79 + range.selectNode(container); 80 + const documentFragment = range.createContextualFragment(facet.html ?? ""); 81 + container.innerHTML = ""; 82 + container.append(documentFragment); 83 + } 84 + }); 85 + 86 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/l/index.js.map
··· 1 + ../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/facets/l/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/tools/auto-queue.html.txt
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/tools/auto-queue.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/facets/tools/v3-import.html.txt
··· 1 + ../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/facets/tools/v3-import.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/favicon-16x16.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-16x16.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/favicon-32x32.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-32x32.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/favicon.ico
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon.ico
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/fonts/CommitMonoVariable.woff2
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/fonts/CommitMonoVariable.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/fonts/InterVariable-Italic.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable-Italic.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/fonts/InterVariable.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/fonts/ms_sans_serif.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/fonts/ms_sans_serif_bold.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/1.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/1.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/10.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/10.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/11.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/11.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/12.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/12.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/13.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/13.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/14.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/14.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/15.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/15.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/16.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/16.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/17.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/17.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/18.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/18.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/19.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/19.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/2.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/2.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/20.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/20.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/21.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/21.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/22.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/22.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/23.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/23.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/24.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/24.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/25.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/25.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/26.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/26.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/27.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/27.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/28.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/28.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/29.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/29.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/3.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/3.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/30.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/30.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/4.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/4.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/5.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/5.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/6.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/6.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/7.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/7.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/8.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/8.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/9.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/9.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/1.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/1.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/10.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/10.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/11.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/11.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/12.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/12.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/13.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/13.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/14.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/14.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/15.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/15.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/16.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/16.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/17.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/17.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/18.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/18.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/19.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/19.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/2.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/2.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/20.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/20.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/21.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/21.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/22.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/22.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/23.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/23.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/24.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/24.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/25.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/25.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/26.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/26.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/27.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/27.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/28.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/28.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/29.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/29.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/3.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/3.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/30.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/30.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/4.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/4.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/5.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/5.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/6.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/6.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/7.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/7.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/8.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/8.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/background/thumbnails/9.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/9.jpg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse-current.svg
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/diffuse-current.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse-dark.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-dark.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse-grey.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-grey.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse-light.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-light.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse__icon-dark.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-dark.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse__icon-grey.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-grey.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/diffuse__icon-light.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-light.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icon-square-ws.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square-ws.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icon-square.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icon.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/catalog-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/catalog-1.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/cd_audio_cd_a-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/cd_audio_cd_a-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/cd_audio_cd_a-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/cd_audio_cd_a-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/cd_drive-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/cd_drive_purple-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive_purple-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/channels-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/channels-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/check-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/check-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/computer_sound-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_sound-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/computer_user_pencil-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_user_pencil-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/connected_world-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/connected_world-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_admin_tools-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_admin_tools-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-5.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_channels-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_channels-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_closed-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_closed-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_control_panel-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_control_panel-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_explorer-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_explorer-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-5.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_favorites-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_favorites-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_net_web-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_net_web-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_network_conn-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_network_conn-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-5.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/gears-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/gears-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/globe_map-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/globe_map-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/help_book_big-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/help_book_big-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/installer-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/installer_generic_old-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer_generic_old-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/loudspeaker_wave-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/loudspeaker_wave-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/magnifying_glass-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/magnifying_glass_4-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass_4-1.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/media_player-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/media_player_stream_no.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player_stream_no.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/ms_dos-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/ms_dos-1.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/msg_error-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_error-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/msg_information-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_information-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/msg_question-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_question-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/msg_warning-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_warning-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/multimedia-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/multimedia-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/network_drive_world-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/network_drive_world-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/no-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/no-1.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/restrict-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/restrict-1.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/search_computer-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_computer-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/search_server-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_server-1.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/search_web-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_web-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/settings_gear-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/settings_gear-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/tip.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/tip.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/utopia_smiley.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/utopia_smiley.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/winamp2-32x32.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/winamp2-32x32.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/windows-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/windows-0.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/world-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-2.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/world-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-4.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/images/icons/windows_98/world_network_directories-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world_network_directories-3.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/index.html
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/index.html
+135
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/index.js
··· 1 + import { 2 + GROUP 3 + } from "./chunk-2N6CLBH3.js"; 4 + import { 5 + element_default as element_default4 6 + } from "./chunk-UM3YGQCD.js"; 7 + import "./chunk-5U6YGUSF.js"; 8 + import "./chunk-JHKODV4C.js"; 9 + import "./chunk-NC2PKDLJ.js"; 10 + import "./chunk-LC5ADJPD.js"; 11 + import "./chunk-DBY4UFCR.js"; 12 + import "./chunk-5GF3RIXZ.js"; 13 + import "./chunk-6LRCMOGT.js"; 14 + import { 15 + element_default as element_default3 16 + } from "./chunk-MTF6MUZY.js"; 17 + import "./chunk-M7I6ARGE.js"; 18 + import "./chunk-2HRMT4JN.js"; 19 + import "./chunk-77N5LJ3L.js"; 20 + import "./chunk-KIXJZP53.js"; 21 + import { 22 + element_default as element_default5 23 + } from "./chunk-T3L6UFWY.js"; 24 + import "./chunk-IPJO7YD4.js"; 25 + import "./chunk-Y6DMBYY7.js"; 26 + import { 27 + element_default as element_default2 28 + } from "./chunk-YZWL75VE.js"; 29 + import "./chunk-NB2M3NWG.js"; 30 + import "./chunk-JBHW662S.js"; 31 + import "./chunk-GX3WPNEX.js"; 32 + import "./chunk-226QQPVM.js"; 33 + import "./chunk-HN4F5JEZ.js"; 34 + import "./chunk-PTVB4Y37.js"; 35 + import "./chunk-4MMRODUP.js"; 36 + import "./chunk-F74HSTJN.js"; 37 + import "./chunk-BUBM2UB3.js"; 38 + import "./chunk-R3VDMJ43.js"; 39 + import "./chunk-LQ2RJJ6P.js"; 40 + import "./chunk-DDF5P57I.js"; 41 + import "./chunk-EEUCFWD4.js"; 42 + import "./chunk-6DRHTH2U.js"; 43 + import "./chunk-HI6EUDY3.js"; 44 + import { 45 + element_default 46 + } from "./chunk-CZYH5TCN.js"; 47 + import "./chunk-OENN55R6.js"; 48 + import "./chunk-UGE3FKYA.js"; 49 + import "./chunk-52BFTJ3R.js"; 50 + import "./chunk-E6H4GVL4.js"; 51 + import "./chunk-J3RUTL7I.js"; 52 + import "./chunk-52F6J3SQ.js"; 53 + import "./chunk-G56PUJUJ.js"; 54 + import "./chunk-IZOBPV2S.js"; 55 + import "./chunk-SGR5ST3A.js"; 56 + import "./chunk-6DKPDMFE.js"; 57 + import "./chunk-TP5GZFTO.js"; 58 + import "./chunk-ZQZJJU3T.js"; 59 + import { 60 + __name, 61 + init_Buffer, 62 + init_process 63 + } from "./chunk-FZQXS3RE.js"; 64 + 65 + // index.js 66 + init_Buffer(); 67 + init_process(); 68 + var s3 = new element_default2(); 69 + var input = new element_default(); 70 + input.setAttribute("group", GROUP); 71 + input.append(s3); 72 + var output = new element_default3(); 73 + output.setAttribute("group", GROUP); 74 + var metadataProcessor = new element_default4(); 75 + metadataProcessor.setAttribute("group", GROUP); 76 + document.body.append(input, output, metadataProcessor); 77 + var pto = new element_default5(); 78 + pto.setAttribute("group", GROUP); 79 + pto.setAttribute("input-selector", input.selector); 80 + pto.setAttribute("output-selector", output.selector); 81 + pto.setAttribute("metadata-processor-selector", metadataProcessor.selector); 82 + document.body.append(pto); 83 + var addDemoBtn = document.querySelector("#add-sample-content"); 84 + async function addSampleContent() { 85 + if (!addDemoBtn) return; 86 + addDemoBtn.setAttribute("disabled", ""); 87 + addDemoBtn.innerHTML = `<span> 88 + <i class="ph-fill ph-hourglass-medium"></i> 89 + Adding source 90 + </span>`; 91 + const demo = await s3.demo(); 92 + const tracks = output.tracks.collection(); 93 + await output.tracks.save([...tracks, demo.track]); 94 + addDemoBtn.innerHTML = `<span> 95 + <i class="ph-fill ph-hourglass-medium"></i> 96 + Processing source 97 + </span>`; 98 + await pto.process(); 99 + addDemoBtn.innerHTML = `<span> 100 + <i class="ph-fill ph-check-fat"></i> Added 101 + </span>`; 102 + } 103 + __name(addSampleContent, "addSampleContent"); 104 + addDemoBtn?.addEventListener("click", addSampleContent); 105 + if (document.location.hostname.endsWith("diffuse.sh")) { 106 + document.querySelectorAll("#status").forEach(async (status) => { 107 + const versionOrCid = document.location.pathname.slice(1).split("/")[0]?.toLowerCase() ?? ""; 108 + const usesCid = versionOrCid.startsWith("bafy"); 109 + const { default: artifacts } = await import(`${document.location.origin}/artifacts.json`, { with: { type: "json" } }); 110 + const lastArtifact = Object.values(artifacts).reverse()[0]; 111 + const isLatest = usesCid ? versionOrCid === lastArtifact.cid : versionOrCid === lastArtifact.version; 112 + status.querySelectorAll(".ph-spinner").forEach((icon) => { 113 + icon.parentElement?.classList.add("hidden"); 114 + setTimeout(() => { 115 + icon.parentElement?.classList.remove("animate-spin"); 116 + icon.classList.remove("ph-spinner"); 117 + icon.classList.add("ph-arrow-fat-lines-up"); 118 + }, 500); 119 + }); 120 + status.querySelectorAll(`[href="/latest/"]`).forEach((a) => { 121 + if (usesCid) a.setAttribute("href", "/latest/hash/"); 122 + if (!isLatest) { 123 + setTimeout(() => { 124 + a.classList.remove("hidden"); 125 + }, 750); 126 + } 127 + }); 128 + }); 129 + } else { 130 + document.querySelectorAll("#status").forEach((status) => { 131 + status.remove(); 132 + }); 133 + } 134 + 135 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/index.js.map
··· 1 + ../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/mstile-150x150.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/mstile-150x150.png
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/node_crypto-QYMDOTAM.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/node_crypto-QYMDOTAM.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/oauth-client-metadata.json
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/oauth-client-metadata.json
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/oauth/callback/index.html
··· 1 + ../../../bafybeiauzef62425mum6ztycx7plxmceagc2pjl4uck4h2q6qjds3ahe2u/oauth/callback/index.html
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/oauth/callback/index.js
··· 1 + ../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/oauth/callback/index.js.map
··· 1 + ../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/safari-pinned-tab.svg
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/safari-pinned-tab.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/animations.css
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/animations.css.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/base.css
··· 1 + ../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/base.css.map
··· 1 + ../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/diffuse/colors.css
··· 1 + ../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/diffuse/colors.css.map
··· 1 + ../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/diffuse/fonts.css
··· 1 + ../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/diffuse/fonts.css.map
··· 1 + ../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/diffuse/page.css
··· 1 + ../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/diffuse/page.css.map
··· 1 + ../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/font-faces.css
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/font-faces.css.map
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/loader.css
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/loader.css.map
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/reset.css
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/reset.css.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/variables.css
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/variables.css.map
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/98.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/98.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/ms_sans_serif.woff2
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/ms_sans_serif_bold.woff2
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/bold/Phosphor-Bold.svg
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/bold/Phosphor-Bold.woff
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/bold/style.css
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/bold/style.css.map
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/fill/Phosphor-Fill.svg
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.svg
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/fill/Phosphor-Fill.woff
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/fill/style.css
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/vendor/phosphor/fill/style.css.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/wireframe/ui.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/styles/wireframe/ui.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/testing/index.html
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/index.html
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/testing/output.js
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/testing/output.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/testing/output.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/output.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/testing/output/index.html
··· 1 + ../../../bafybeic6tj6wx4iomrjs54m3je4e7lmq4jgcn7zqegufxtvqijffq32zkm/testing/output/index.html
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/testing/sample/tracks.js
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/testing/sample/tracks.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/artwork-controller/element.css
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/artwork-controller/element.css.map
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/artwork-controller/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/blur/artwork-controller/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/artwork-controller/element.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/blur/artwork-controller/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/artwork-controller/facet.html.txt
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/themes/blur/artwork-controller/facet.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/index.css
··· 1 + ../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/index.css.map
··· 1 + ../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/index.html
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/index.html
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/index.js
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/index.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/variables.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/blur/variables.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/index.html
··· 1 + ../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/themes/index.html
+307
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/index.js
··· 1 + import { 2 + EditorView, 3 + autocompletion, 4 + basicSetup, 5 + css, 6 + html, 7 + javascript 8 + } from "../chunk-T6JAPJ7J.js"; 9 + import { 10 + foundation_default 11 + } from "../chunk-2N6CLBH3.js"; 12 + import "../chunk-UM3YGQCD.js"; 13 + import "../chunk-5U6YGUSF.js"; 14 + import "../chunk-JHKODV4C.js"; 15 + import "../chunk-NC2PKDLJ.js"; 16 + import "../chunk-LC5ADJPD.js"; 17 + import "../chunk-DBY4UFCR.js"; 18 + import "../chunk-5GF3RIXZ.js"; 19 + import "../chunk-6LRCMOGT.js"; 20 + import "../chunk-MTF6MUZY.js"; 21 + import "../chunk-M7I6ARGE.js"; 22 + import "../chunk-2HRMT4JN.js"; 23 + import "../chunk-77N5LJ3L.js"; 24 + import "../chunk-KIXJZP53.js"; 25 + import "../chunk-T3L6UFWY.js"; 26 + import "../chunk-IPJO7YD4.js"; 27 + import "../chunk-Y6DMBYY7.js"; 28 + import "../chunk-YZWL75VE.js"; 29 + import "../chunk-NB2M3NWG.js"; 30 + import "../chunk-JBHW662S.js"; 31 + import "../chunk-GX3WPNEX.js"; 32 + import "../chunk-226QQPVM.js"; 33 + import "../chunk-HN4F5JEZ.js"; 34 + import "../chunk-PTVB4Y37.js"; 35 + import "../chunk-4MMRODUP.js"; 36 + import "../chunk-F74HSTJN.js"; 37 + import "../chunk-BUBM2UB3.js"; 38 + import "../chunk-R3VDMJ43.js"; 39 + import "../chunk-LQ2RJJ6P.js"; 40 + import "../chunk-DDF5P57I.js"; 41 + import "../chunk-EEUCFWD4.js"; 42 + import "../chunk-6DRHTH2U.js"; 43 + import "../chunk-HI6EUDY3.js"; 44 + import "../chunk-CZYH5TCN.js"; 45 + import "../chunk-OENN55R6.js"; 46 + import "../chunk-UGE3FKYA.js"; 47 + import "../chunk-52BFTJ3R.js"; 48 + import { 49 + i 50 + } from "../chunk-E6H4GVL4.js"; 51 + import "../chunk-J3RUTL7I.js"; 52 + import { 53 + B, 54 + T 55 + } from "../chunk-52F6J3SQ.js"; 56 + import "../chunk-G56PUJUJ.js"; 57 + import { 58 + themeFromURI 59 + } from "../chunk-5QN5IAQ5.js"; 60 + import { 61 + loadURI 62 + } from "../chunk-W3QCTPVZ.js"; 63 + import "../chunk-WN6GL63Q.js"; 64 + import "../chunk-CRZ7HJJ4.js"; 65 + import "../chunk-242LG3VP.js"; 66 + import { 67 + now 68 + } from "../chunk-LHSDDKDM.js"; 69 + import { 70 + effect, 71 + signal 72 + } from "../chunk-IZOBPV2S.js"; 73 + import { 74 + create 75 + } from "../chunk-4YB6QUPN.js"; 76 + import "../chunk-SGR5ST3A.js"; 77 + import "../chunk-6DKPDMFE.js"; 78 + import "../chunk-TP5GZFTO.js"; 79 + import "../chunk-ZQZJJU3T.js"; 80 + import { 81 + __name, 82 + init_Buffer, 83 + init_process 84 + } from "../chunk-FZQXS3RE.js"; 85 + 86 + // themes/index.js 87 + init_Buffer(); 88 + init_process(); 89 + document.body.addEventListener( 90 + "click", 91 + /** 92 + * @param {MouseEvent} event 93 + */ 94 + async (event) => { 95 + const target = ( 96 + /** @type {HTMLElement} */ 97 + event.target 98 + ); 99 + const rel = target.getAttribute("rel"); 100 + if (!rel) return; 101 + const uri = target.closest("li")?.getAttribute("data-uri"); 102 + if (!uri) return; 103 + const name = target.closest("li")?.getAttribute("data-name"); 104 + if (!name) return; 105 + switch (rel) { 106 + case "fork": { 107 + const theme = await themeFromURI({ name, uri }, { fetchHTML: true }); 108 + editTheme(theme); 109 + document.querySelector("#build")?.scrollIntoView(); 110 + break; 111 + } 112 + case "save": { 113 + const theme = await themeFromURI({ name, uri }, { fetchHTML: false }); 114 + const out = foundation_default.orchestrator.output(); 115 + out.themes.save([ 116 + ...out.themes.collection(), 117 + theme 118 + ]); 119 + break; 120 + } 121 + } 122 + } 123 + ); 124 + var listEl = document.querySelector("#list"); 125 + if (!listEl) throw new Error("List element not found"); 126 + listEl.innerHTML = ""; 127 + var output = foundation_default.orchestrator.output(); 128 + effect(() => { 129 + const col = output.themes.collection().sort((a, b) => { 130 + return a.name.toLocaleLowerCase().localeCompare(b.name.toLocaleLowerCase()); 131 + }); 132 + const state = output.themes.state(); 133 + const h = col.length && state === "loaded" ? T` 134 + <ul> 135 + ${col.map( 136 + (c) => i( 137 + c.id, 138 + T` 139 + <li> 140 + <div style="position: relative;"> 141 + <a href="themes/l/?id=${c.id}"> 142 + ${c.name} 143 + </a> 144 + <button 145 + class="button--fixed button--transparent" 146 + popovertarget="theme-menu-col-${c.id}" 147 + style="anchor-name: --theme-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);" 148 + > 149 + <i class="ph-fill ph-dots-three-circle"></i> 150 + </button> 151 + </div> 152 + <div class="list-description"> 153 + ${c.uri && !c.html ? T` 154 + <span class="with-icon"> 155 + <i class="ph-fill ph-binoculars"></i> 156 + <span>Tracking the original <a href="${c.uri}">URI</a></span> 157 + </span> 158 + ` : T` 159 + <span class="with-icon"> 160 + <i class="ph-fill ph-code"></i> 161 + <span>Custom code</span> 162 + </span> 163 + `} 164 + </div> 165 + 166 + <!-- Dropdown Menu --> 167 + <div 168 + id="theme-menu-col-${c.id}" 169 + class="dropdown" 170 + style="position-anchor: --theme-anchor-col-${c.id}" 171 + popover 172 + > 173 + <a href="themes/l/?id=${c.id}"> 174 + <span class="with-icon"> 175 + <i class="ph-fill ph-globe"></i> Open 176 + </span> 177 + </a> 178 + <a @click="${() => editTheme(c)}"> 179 + <span class="with-icon"> 180 + <i class="ph-fill ph-cursor-text"></i> Edit 181 + </span> 182 + </a> 183 + <a @click="${deleteTheme({ id: c.id })}"> 184 + <span class="with-icon"> 185 + <i class="ph-fill ph-eraser"></i> Delete 186 + </span> 187 + </a> 188 + </div> 189 + </li> 190 + ` 191 + ) 192 + )} 193 + </ul> 194 + ` : state === "loaded" ? emptyThemesList : T` 195 + <div class="with-icon" style="font-size: var(--fs-sm);"> 196 + <i class="ph-bold ph-spinner-gap"></i> 197 + Loading items 198 + </div> 199 + `; 200 + B(h, listEl); 201 + }); 202 + var emptyThemesList = T` 203 + <p style="margin-bottom: 0;"> 204 + <i class="ph-fill ph-info"></i> You have not saved any themes yet. 205 + </p> 206 + `; 207 + function deleteTheme({ id }) { 208 + return () => { 209 + const c = confirm("Are you sure you want to delete this theme?"); 210 + if (!c) return; 211 + output.themes.save( 212 + output.themes.collection().filter((c2) => !(c2.id === id)) 213 + ); 214 + }; 215 + } 216 + __name(deleteTheme, "deleteTheme"); 217 + var $editingTheme = signal( 218 + /** @type {Theme | null} */ 219 + null 220 + ); 221 + var editorContainer = document.body.querySelector("#html-input-container"); 222 + if (!editorContainer) throw new Error("Editor container not found"); 223 + var editor = new EditorView({ 224 + parent: editorContainer, 225 + doc: ``.trim(), 226 + extensions: [ 227 + basicSetup, 228 + html(), 229 + css(), 230 + javascript(), 231 + autocompletion() 232 + ] 233 + }); 234 + document.querySelector("#build-form")?.addEventListener( 235 + "submit", 236 + onBuildSubmit 237 + ); 238 + async function onBuildSubmit(event) { 239 + event.preventDefault(); 240 + const nameEl = ( 241 + /** @type {HTMLInputElement | null} */ 242 + document.querySelector( 243 + "#name-input" 244 + ) 245 + ); 246 + const html2 = editor.state.doc.toString(); 247 + const cid = await create(85, new TextEncoder().encode(html2)); 248 + const name = nameEl?.value ?? "nameless"; 249 + const theme = $editingTheme.value ? { 250 + ...$editingTheme.value, 251 + cid, 252 + html: html2, 253 + name 254 + } : { 255 + $type: "sh.diffuse.output.theme", 256 + id: now(), 257 + cid, 258 + html: html2, 259 + name 260 + }; 261 + switch ( 262 + /** @type {any} */ 263 + event.submitter.name 264 + ) { 265 + case "save": 266 + await saveTheme(theme); 267 + break; 268 + case "save+open": 269 + await saveTheme(theme); 270 + globalThis.open(`./themes/l/?id=${theme.id}`, "blank"); 271 + break; 272 + } 273 + } 274 + __name(onBuildSubmit, "onBuildSubmit"); 275 + async function editTheme(ogTheme) { 276 + const theme = { ...ogTheme }; 277 + const nameEl = ( 278 + /** @type {HTMLInputElement | null} */ 279 + document.querySelector( 280 + "#name-input" 281 + ) 282 + ); 283 + if (!nameEl) return; 284 + if (!theme.html && theme.uri) { 285 + const html2 = await loadURI(theme.uri); 286 + const cid = await create(85, new TextEncoder().encode(html2)); 287 + theme.html = html2; 288 + theme.cid = cid; 289 + } 290 + $editingTheme.value = theme; 291 + nameEl.value = theme.name; 292 + editor.dispatch({ 293 + changes: { from: 0, to: editor.state.doc.length, insert: theme.html } 294 + }); 295 + } 296 + __name(editTheme, "editTheme"); 297 + async function saveTheme(theme) { 298 + const col = output.themes.collection(); 299 + const colWithoutId = col.filter((c) => c.id !== theme.id); 300 + await output.themes.save([...colWithoutId, { 301 + ...theme, 302 + updatedAt: (/* @__PURE__ */ new Date()).toISOString() 303 + }]); 304 + } 305 + __name(saveTheme, "saveTheme"); 306 + 307 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/index.js.map
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/l/index.css
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/l/index.css.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/l/index.html
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/themes/l/index.html
+81
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/l/index.js
··· 1 + import { 2 + foundation_default 3 + } from "../../chunk-2N6CLBH3.js"; 4 + import "../../chunk-UM3YGQCD.js"; 5 + import "../../chunk-5U6YGUSF.js"; 6 + import "../../chunk-JHKODV4C.js"; 7 + import "../../chunk-NC2PKDLJ.js"; 8 + import "../../chunk-LC5ADJPD.js"; 9 + import "../../chunk-DBY4UFCR.js"; 10 + import "../../chunk-5GF3RIXZ.js"; 11 + import "../../chunk-6LRCMOGT.js"; 12 + import "../../chunk-MTF6MUZY.js"; 13 + import "../../chunk-M7I6ARGE.js"; 14 + import "../../chunk-2HRMT4JN.js"; 15 + import "../../chunk-77N5LJ3L.js"; 16 + import "../../chunk-KIXJZP53.js"; 17 + import "../../chunk-T3L6UFWY.js"; 18 + import "../../chunk-IPJO7YD4.js"; 19 + import "../../chunk-Y6DMBYY7.js"; 20 + import "../../chunk-YZWL75VE.js"; 21 + import "../../chunk-NB2M3NWG.js"; 22 + import "../../chunk-JBHW662S.js"; 23 + import "../../chunk-GX3WPNEX.js"; 24 + import "../../chunk-226QQPVM.js"; 25 + import "../../chunk-HN4F5JEZ.js"; 26 + import "../../chunk-PTVB4Y37.js"; 27 + import "../../chunk-4MMRODUP.js"; 28 + import "../../chunk-F74HSTJN.js"; 29 + import "../../chunk-BUBM2UB3.js"; 30 + import "../../chunk-R3VDMJ43.js"; 31 + import "../../chunk-LQ2RJJ6P.js"; 32 + import "../../chunk-DDF5P57I.js"; 33 + import "../../chunk-EEUCFWD4.js"; 34 + import "../../chunk-6DRHTH2U.js"; 35 + import "../../chunk-HI6EUDY3.js"; 36 + import "../../chunk-CZYH5TCN.js"; 37 + import "../../chunk-OENN55R6.js"; 38 + import "../../chunk-UGE3FKYA.js"; 39 + import "../../chunk-52BFTJ3R.js"; 40 + import "../../chunk-E6H4GVL4.js"; 41 + import "../../chunk-J3RUTL7I.js"; 42 + import "../../chunk-52F6J3SQ.js"; 43 + import "../../chunk-G56PUJUJ.js"; 44 + import { 45 + createLoader 46 + } from "../../chunk-W3QCTPVZ.js"; 47 + import "../../chunk-WN6GL63Q.js"; 48 + import "../../chunk-CRZ7HJJ4.js"; 49 + import "../../chunk-242LG3VP.js"; 50 + import "../../chunk-LHSDDKDM.js"; 51 + import "../../chunk-IZOBPV2S.js"; 52 + import "../../chunk-4YB6QUPN.js"; 53 + import "../../chunk-SGR5ST3A.js"; 54 + import "../../chunk-6DKPDMFE.js"; 55 + import "../../chunk-TP5GZFTO.js"; 56 + import "../../chunk-ZQZJJU3T.js"; 57 + import { 58 + __name, 59 + init_Buffer, 60 + init_process 61 + } from "../../chunk-FZQXS3RE.js"; 62 + 63 + // themes/l/index.js 64 + init_Buffer(); 65 + init_process(); 66 + createLoader({ 67 + $type: "sh.diffuse.output.theme", 68 + label: "Theme", 69 + source: /* @__PURE__ */ __name(() => { 70 + const output = foundation_default.orchestrator.output(); 71 + return output.themes; 72 + }, "source"), 73 + render(theme) { 74 + const iframe = document.createElement("iframe"); 75 + iframe.srcdoc = theme.html ?? ""; 76 + document.body.innerHTML = ""; 77 + document.body.append(iframe); 78 + } 79 + }); 80 + 81 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/l/index.js.map
··· 1 + ../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/l/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/98-extra.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/98-extra.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/98-vars.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/98-vars.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/browser/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/browser/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/browser/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/browser/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/browser/facet.html.txt
··· 1 + ../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/browser/facet.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/common/ui.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/common/ui.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/common/ui.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/common/ui.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/input/element.js
··· 1 + ../../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/configurators/input/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/input/element.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/configurators/input/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/input/facet.html.txt
··· 1 + ../../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/configurators/input/facet.html.txt
+29
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/output/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../chunk-EVQ6TWZV.js"; 6 + import "../../../../chunk-VBDBYJMS.js"; 7 + import "../../../../chunk-7XPM3FOM.js"; 8 + import "../../../../chunk-JH6MOGSD.js"; 9 + import "../../../../chunk-77ZY4GQV.js"; 10 + import "../../../../chunk-NZ7ODGIJ.js"; 11 + import "../../../../chunk-3QHZWZIL.js"; 12 + import "../../../../chunk-JBHW662S.js"; 13 + import "../../../../chunk-52F6J3SQ.js"; 14 + import "../../../../chunk-G56PUJUJ.js"; 15 + import "../../../../chunk-WN6GL63Q.js"; 16 + import "../../../../chunk-CRZ7HJJ4.js"; 17 + import "../../../../chunk-242LG3VP.js"; 18 + import "../../../../chunk-IZOBPV2S.js"; 19 + import "../../../../chunk-6DKPDMFE.js"; 20 + import "../../../../chunk-TP5GZFTO.js"; 21 + import "../../../../chunk-ZQZJJU3T.js"; 22 + import "../../../../chunk-FZQXS3RE.js"; 23 + export { 24 + CLASS, 25 + NAME, 26 + element_default as default 27 + }; 28 + 29 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/output/element.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/configurators/output/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/configurators/output/facet.html.txt
··· 1 + ../../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/configurators/output/facet.html.txt
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/facet.css
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/facet.css.map
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/fonts.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/fonts.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/index.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/index.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/index.html
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.html
+188
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/index.js
··· 1 + import { 2 + element_default as element_default2 3 + } from "../../chunk-4GYGC4OZ.js"; 4 + import "../../chunk-2DJLRGI2.js"; 5 + import "../../chunk-CWBOQXH6.js"; 6 + import "../../chunk-XQ3APM6Z.js"; 7 + import "../../chunk-3CXPPL5Z.js"; 8 + import "../../chunk-EVQ6TWZV.js"; 9 + import { 10 + element_default 11 + } from "../../chunk-2E662X3X.js"; 12 + import "../../chunk-VBDBYJMS.js"; 13 + import "../../chunk-7XPM3FOM.js"; 14 + import "../../chunk-JH6MOGSD.js"; 15 + import "../../chunk-77ZY4GQV.js"; 16 + import "../../chunk-NZ7ODGIJ.js"; 17 + import "../../chunk-3QHZWZIL.js"; 18 + import "../../chunk-UM3YGQCD.js"; 19 + import { 20 + element_exports as element_exports3 21 + } from "../../chunk-5U6YGUSF.js"; 22 + import { 23 + element_exports as element_exports4 24 + } from "../../chunk-LC5ADJPD.js"; 25 + import "../../chunk-6LRCMOGT.js"; 26 + import "../../chunk-MTF6MUZY.js"; 27 + import "../../chunk-M7I6ARGE.js"; 28 + import "../../chunk-2HRMT4JN.js"; 29 + import "../../chunk-77N5LJ3L.js"; 30 + import "../../chunk-KIXJZP53.js"; 31 + import "../../chunk-T3L6UFWY.js"; 32 + import "../../chunk-Y6DMBYY7.js"; 33 + import "../../chunk-YZWL75VE.js"; 34 + import "../../chunk-NB2M3NWG.js"; 35 + import "../../chunk-JBHW662S.js"; 36 + import "../../chunk-GX3WPNEX.js"; 37 + import "../../chunk-226QQPVM.js"; 38 + import "../../chunk-HN4F5JEZ.js"; 39 + import "../../chunk-PTVB4Y37.js"; 40 + import { 41 + element_exports 42 + } from "../../chunk-4MMRODUP.js"; 43 + import "../../chunk-BUBM2UB3.js"; 44 + import "../../chunk-R3VDMJ43.js"; 45 + import "../../chunk-LQ2RJJ6P.js"; 46 + import "../../chunk-DDF5P57I.js"; 47 + import "../../chunk-EEUCFWD4.js"; 48 + import "../../chunk-6DRHTH2U.js"; 49 + import "../../chunk-HI6EUDY3.js"; 50 + import { 51 + element_exports as element_exports2 52 + } from "../../chunk-CZYH5TCN.js"; 53 + import "../../chunk-OENN55R6.js"; 54 + import "../../chunk-UGE3FKYA.js"; 55 + import "../../chunk-52BFTJ3R.js"; 56 + import { 57 + component 58 + } from "../../chunk-52F6J3SQ.js"; 59 + import "../../chunk-G56PUJUJ.js"; 60 + import "../../chunk-WN6GL63Q.js"; 61 + import "../../chunk-CRZ7HJJ4.js"; 62 + import "../../chunk-242LG3VP.js"; 63 + import "../../chunk-LHSDDKDM.js"; 64 + import { 65 + effect, 66 + untracked 67 + } from "../../chunk-IZOBPV2S.js"; 68 + import "../../chunk-SGR5ST3A.js"; 69 + import "../../chunk-6DKPDMFE.js"; 70 + import "../../chunk-TP5GZFTO.js"; 71 + import "../../chunk-ZQZJJU3T.js"; 72 + import { 73 + __name, 74 + init_Buffer, 75 + init_process 76 + } from "../../chunk-FZQXS3RE.js"; 77 + 78 + // themes/webamp/index.js 79 + init_Buffer(); 80 + init_process(); 81 + var input = component(element_exports2); 82 + var queue = component(element_exports); 83 + var search = component(element_exports3); 84 + var scopedTracks = component(element_exports4); 85 + var output = document.querySelector("#output"); 86 + if (!output) throw new Error("Missing output element"); 87 + globalThis.queue = queue; 88 + globalThis.output = output; 89 + var index = {}; 90 + var initiatedPlaylist = false; 91 + var ampElement = document.querySelector("dtw-webamp"); 92 + if (ampElement instanceof element_default === false) { 93 + throw new Error("Missing webamp element"); 94 + } 95 + var amp = ampElement.amp; 96 + var loadFromUrl = amp.media.loadFromUrl.bind(amp.media); 97 + async function loadOverride(uri, autoPlay) { 98 + if (uri.startsWith("blob:")) { 99 + return await loadFromUrl(uri, autoPlay); 100 + } 101 + const resp = await input.resolve({ method: "GET", uri }); 102 + if (!resp) throw new Error("Failed to resolve URI"); 103 + if (resp && "stream" in resp) { 104 + throw new Error("Webamp does not support playing streams."); 105 + } 106 + return await loadFromUrl(resp.url, autoPlay); 107 + } 108 + __name(loadOverride, "loadOverride"); 109 + amp.media.loadFromUrl = loadOverride.bind(amp.media); 110 + effect(() => { 111 + const past = untracked(() => queue.past()); 112 + const now = untracked(() => queue.now()); 113 + const future = queue.future(); 114 + const list = [...past, ...now ? [now] : [], ...future]; 115 + const newIdx = {}; 116 + list.forEach((item) => { 117 + newIdx[item.id] = (newIdx[item.id] ?? 0) + 1; 118 + }); 119 + const tracksToAdd = []; 120 + Object.entries(newIdx).forEach(([id, n]) => { 121 + const x = index[id] ?? 0; 122 + if (n > x) { 123 + const track = output.tracks.collection().find((t) => t.id === id); 124 + if (track) tracksToAdd.push(track); 125 + index[id] = x + 1; 126 + } 127 + }); 128 + tracksToAdd.forEach((t) => ampElement.addTrack(t)); 129 + if (!initiatedPlaylist && tracksToAdd.length) { 130 + initiatedPlaylist = true; 131 + amp.store.dispatch({ type: "BUFFER_TRACK", id: 0 }); 132 + } 133 + }); 134 + effect(() => { 135 + const tracks = scopedTracks.tracks(); 136 + queue.supply({ trackIds: tracks.map((t) => t.id) }); 137 + }); 138 + var tracksPromise = Promise.withResolvers(); 139 + effect(() => { 140 + const state = output.tracks.state(); 141 + if (state !== "loaded") return; 142 + const fingerprintSearch = search.supplyFingerprint(); 143 + if (fingerprintSearch === void 0) return; 144 + const fingerprintQueue = queue.supplyFingerprint(); 145 + if (fingerprintQueue === void 0) return; 146 + tracksPromise.resolve("loaded"); 147 + }); 148 + document.body.querySelectorAll(".desktop__item").forEach((element) => { 149 + if (element instanceof HTMLElement) { 150 + element.addEventListener("dblclick", () => { 151 + const f = element.querySelector("label")?.getAttribute("for"); 152 + if (f) return windowManager()?.toggleWindow(f); 153 + }); 154 + } 155 + }); 156 + document.body.querySelector("#desktop-batch")?.addEventListener( 157 + "dblclick", 158 + () => { 159 + tracksPromise.promise.then(() => { 160 + addBatch(); 161 + }); 162 + } 163 + ); 164 + var winampIsShown = true; 165 + document.body.querySelector("#desktop-winamp")?.addEventListener( 166 + "dblclick", 167 + () => { 168 + if (winampIsShown) { 169 + amp.close(); 170 + } else { 171 + amp.reopen(); 172 + winampIsShown = true; 173 + } 174 + } 175 + ); 176 + amp.onClose(() => winampIsShown = false); 177 + async function addBatch() { 178 + await queue.fill({ augment: true, amount: 50, shuffled: true }); 179 + } 180 + __name(addBatch, "addBatch"); 181 + function windowManager() { 182 + const w = document.body.querySelector("dtw-window-manager"); 183 + if (w instanceof element_default2) return w; 184 + return null; 185 + } 186 + __name(windowManager, "windowManager"); 187 + 188 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/index.js.map
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/themes/webamp/index.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/webamp/element.js
··· 1 + ../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/webamp/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/webamp/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/webamp/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/window-manager/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/window-manager/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/window-manager/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window-manager/element.js.map
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/window/element.js
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/webamp/window/element.js
+1
artifacts/bafybeihkfzobuhszvetidryg7nsysqrvbwkp7fvq4e6zpmc6325zk2q3uu/themes/webamp/window/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window/element.js.map
+2 -2
artifacts/versions.json
··· 5 5 "version": "3.5.0" 6 6 }, 7 7 "4.0.0-alpha": { 8 - "cid": "bafybeidaodjvdrvmcsa2jryxb2d34nvwrfiv4c53xcmwhy7klckn7hf77m", 9 - "createdAt": "2026-02-25T13:33:05.378Z", 8 + "cid": "bafybeif7osgtrc5s7ebh2afefhm7tfaa6ut4wtgjy22y7qkgsbwt7wbtoy", 9 + "createdAt": "2026-02-25T17:16:14.550Z", 10 10 "version": "4.0.0-alpha" 11 11 } 12 12 }