@swal/edge-mesh 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +128 -0
- package/NOTICE +37 -0
- package/README.md +470 -2
- package/dist/adapters/gpu-agent/index.d.ts +61 -0
- package/dist/adapters/gpu-agent/index.d.ts.map +1 -0
- package/dist/adapters/gpu-agent/index.js +364 -0
- package/dist/adapters/gpu-agent/index.js.map +1 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.d.ts +19 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.js +51 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.js.map +1 -0
- package/dist/adapters/maloca-salud/eps-bridge.d.ts +15 -0
- package/dist/adapters/maloca-salud/eps-bridge.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/eps-bridge.js +27 -0
- package/dist/adapters/maloca-salud/eps-bridge.js.map +1 -0
- package/dist/adapters/maloca-salud/patient-profile.d.ts +20 -0
- package/dist/adapters/maloca-salud/patient-profile.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/patient-profile.js +36 -0
- package/dist/adapters/maloca-salud/patient-profile.js.map +1 -0
- package/dist/adapters/maloca-salud/types.d.ts +40 -0
- package/dist/adapters/maloca-salud/types.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/types.js +2 -0
- package/dist/adapters/maloca-salud/types.js.map +1 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.d.ts +31 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.js +103 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.js.map +1 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.d.ts +14 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.js +40 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.js.map +1 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.d.ts +21 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.js +58 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.js.map +1 -0
- package/dist/adapters/maloca-veeduria/types.d.ts +30 -0
- package/dist/adapters/maloca-veeduria/types.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/types.js +2 -0
- package/dist/adapters/maloca-veeduria/types.js.map +1 -0
- package/dist/adapters/maloca-xavier/agent-profile.d.ts +32 -0
- package/dist/adapters/maloca-xavier/agent-profile.d.ts.map +1 -0
- package/dist/adapters/maloca-xavier/agent-profile.js +56 -0
- package/dist/adapters/maloca-xavier/agent-profile.js.map +1 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.d.ts +27 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.d.ts.map +1 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.js +58 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.js.map +1 -0
- package/dist/adapters/maloca-xavier/llm-router.d.ts +25 -0
- package/dist/adapters/maloca-xavier/llm-router.d.ts.map +1 -0
- package/dist/adapters/maloca-xavier/llm-router.js +58 -0
- package/dist/adapters/maloca-xavier/llm-router.js.map +1 -0
- package/dist/authz/index.d.ts +81 -0
- package/dist/authz/index.d.ts.map +1 -0
- package/dist/authz/index.js +271 -0
- package/dist/authz/index.js.map +1 -0
- package/dist/chat/index.d.ts +138 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +394 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/offline-queue.d.ts +32 -0
- package/dist/chat/offline-queue.d.ts.map +1 -0
- package/dist/chat/offline-queue.js +93 -0
- package/dist/chat/offline-queue.js.map +1 -0
- package/dist/core/DefaultEdgeMeshNode.d.ts +17 -0
- package/dist/core/DefaultEdgeMeshNode.d.ts.map +1 -0
- package/dist/core/DefaultEdgeMeshNode.js +57 -0
- package/dist/core/DefaultEdgeMeshNode.js.map +1 -0
- package/dist/core/node.d.ts +26 -0
- package/dist/core/node.d.ts.map +1 -0
- package/dist/core/node.js +16 -0
- package/dist/core/node.js.map +1 -0
- package/dist/edge-mesh.d.ts +139 -0
- package/dist/edge-mesh.d.ts.map +1 -0
- package/dist/edge-mesh.js +1146 -0
- package/dist/edge-mesh.js.map +1 -0
- package/dist/gos/GosBridge.d.ts +49 -0
- package/dist/gos/GosBridge.d.ts.map +1 -0
- package/dist/gos/GosBridge.js +133 -0
- package/dist/gos/GosBridge.js.map +1 -0
- package/dist/governance/authority.d.ts +44 -0
- package/dist/governance/authority.d.ts.map +1 -0
- package/dist/governance/authority.js +123 -0
- package/dist/governance/authority.js.map +1 -0
- package/dist/governance/index.d.ts +66 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +210 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/merge.d.ts +31 -0
- package/dist/governance/merge.d.ts.map +1 -0
- package/dist/governance/merge.js +167 -0
- package/dist/governance/merge.js.map +1 -0
- package/dist/identity/index.d.ts +199 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +415 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/maloca/backoffice.d.ts +31 -0
- package/dist/maloca/backoffice.d.ts.map +1 -0
- package/dist/maloca/backoffice.js +40 -0
- package/dist/maloca/backoffice.js.map +1 -0
- package/dist/maloca/event-bus.d.ts +60 -0
- package/dist/maloca/event-bus.d.ts.map +1 -0
- package/dist/maloca/event-bus.js +175 -0
- package/dist/maloca/event-bus.js.map +1 -0
- package/dist/maloca/evidentia.d.ts +136 -0
- package/dist/maloca/evidentia.d.ts.map +1 -0
- package/dist/maloca/evidentia.js +447 -0
- package/dist/maloca/evidentia.js.map +1 -0
- package/dist/maloca/gateway/api.d.ts +146 -0
- package/dist/maloca/gateway/api.d.ts.map +1 -0
- package/dist/maloca/gateway/api.js +228 -0
- package/dist/maloca/gateway/api.js.map +1 -0
- package/dist/maloca/gateway/auth.d.ts +20 -0
- package/dist/maloca/gateway/auth.d.ts.map +1 -0
- package/dist/maloca/gateway/auth.js +115 -0
- package/dist/maloca/gateway/auth.js.map +1 -0
- package/dist/maloca/gateway/dashboard.d.ts +42 -0
- package/dist/maloca/gateway/dashboard.d.ts.map +1 -0
- package/dist/maloca/gateway/dashboard.js +67 -0
- package/dist/maloca/gateway/dashboard.js.map +1 -0
- package/dist/maloca/gateway/websocket.d.ts +34 -0
- package/dist/maloca/gateway/websocket.d.ts.map +1 -0
- package/dist/maloca/gateway/websocket.js +71 -0
- package/dist/maloca/gateway/websocket.js.map +1 -0
- package/dist/maloca/karma.d.ts +165 -0
- package/dist/maloca/karma.d.ts.map +1 -0
- package/dist/maloca/karma.js +307 -0
- package/dist/maloca/karma.js.map +1 -0
- package/dist/maloca/kernel.d.ts +20 -0
- package/dist/maloca/kernel.d.ts.map +1 -0
- package/dist/maloca/kernel.js +76 -0
- package/dist/maloca/kernel.js.map +1 -0
- package/dist/maloca/metadata.d.ts +30 -0
- package/dist/maloca/metadata.d.ts.map +1 -0
- package/dist/maloca/metadata.js +80 -0
- package/dist/maloca/metadata.js.map +1 -0
- package/dist/maloca/perfil.d.ts +57 -0
- package/dist/maloca/perfil.d.ts.map +1 -0
- package/dist/maloca/perfil.js +113 -0
- package/dist/maloca/perfil.js.map +1 -0
- package/dist/maloca/plugin-registry.d.ts +27 -0
- package/dist/maloca/plugin-registry.d.ts.map +1 -0
- package/dist/maloca/plugin-registry.js +76 -0
- package/dist/maloca/plugin-registry.js.map +1 -0
- package/dist/maloca/polygon-bridge.d.ts +63 -0
- package/dist/maloca/polygon-bridge.d.ts.map +1 -0
- package/dist/maloca/polygon-bridge.js +198 -0
- package/dist/maloca/polygon-bridge.js.map +1 -0
- package/dist/maloca/types.d.ts +44 -0
- package/dist/maloca/types.d.ts.map +1 -0
- package/dist/maloca/types.js +2 -0
- package/dist/maloca/types.js.map +1 -0
- package/dist/medico/aval.d.ts +149 -0
- package/dist/medico/aval.d.ts.map +1 -0
- package/dist/medico/aval.js +281 -0
- package/dist/medico/aval.js.map +1 -0
- package/dist/medico/canonica.d.ts +96 -0
- package/dist/medico/canonica.d.ts.map +1 -0
- package/dist/medico/canonica.js +148 -0
- package/dist/medico/canonica.js.map +1 -0
- package/dist/medico/credencial.d.ts +160 -0
- package/dist/medico/credencial.d.ts.map +1 -0
- package/dist/medico/credencial.js +240 -0
- package/dist/medico/credencial.js.map +1 -0
- package/dist/medico/index.d.ts +36 -0
- package/dist/medico/index.d.ts.map +1 -0
- package/dist/medico/index.js +39 -0
- package/dist/medico/index.js.map +1 -0
- package/dist/medico/malla.d.ts +218 -0
- package/dist/medico/malla.d.ts.map +1 -0
- package/dist/medico/malla.js +347 -0
- package/dist/medico/malla.js.map +1 -0
- package/dist/medico/registro-profesional.d.ts +84 -0
- package/dist/medico/registro-profesional.d.ts.map +1 -0
- package/dist/medico/registro-profesional.js +135 -0
- package/dist/medico/registro-profesional.js.map +1 -0
- package/dist/medico/registro.d.ts +149 -0
- package/dist/medico/registro.d.ts.map +1 -0
- package/dist/medico/registro.js +173 -0
- package/dist/medico/registro.js.map +1 -0
- package/dist/medico/types.d.ts +287 -0
- package/dist/medico/types.d.ts.map +1 -0
- package/dist/medico/types.js +135 -0
- package/dist/medico/types.js.map +1 -0
- package/dist/medico/verificacion-registro.d.ts +300 -0
- package/dist/medico/verificacion-registro.d.ts.map +1 -0
- package/dist/medico/verificacion-registro.js +319 -0
- package/dist/medico/verificacion-registro.js.map +1 -0
- package/dist/mesh/index.d.ts +457 -0
- package/dist/mesh/index.d.ts.map +1 -0
- package/dist/mesh/index.js +929 -0
- package/dist/mesh/index.js.map +1 -0
- package/dist/namespaces/encrypted-plugin.d.ts +56 -0
- package/dist/namespaces/encrypted-plugin.d.ts.map +1 -0
- package/dist/namespaces/encrypted-plugin.js +173 -0
- package/dist/namespaces/encrypted-plugin.js.map +1 -0
- package/dist/namespaces/index.d.ts +52 -0
- package/dist/namespaces/index.d.ts.map +1 -0
- package/dist/namespaces/index.js +134 -0
- package/dist/namespaces/index.js.map +1 -0
- package/dist/namespaces/ivn-proofs.d.ts +54 -0
- package/dist/namespaces/ivn-proofs.d.ts.map +1 -0
- package/dist/namespaces/ivn-proofs.js +162 -0
- package/dist/namespaces/ivn-proofs.js.map +1 -0
- package/dist/namespaces/offers-gossip.d.ts +95 -0
- package/dist/namespaces/offers-gossip.d.ts.map +1 -0
- package/dist/namespaces/offers-gossip.js +213 -0
- package/dist/namespaces/offers-gossip.js.map +1 -0
- package/dist/node-memory/idb-store.d.ts +22 -0
- package/dist/node-memory/idb-store.d.ts.map +1 -0
- package/dist/node-memory/idb-store.js +154 -0
- package/dist/node-memory/idb-store.js.map +1 -0
- package/dist/node-memory/index.d.ts +14 -0
- package/dist/node-memory/index.d.ts.map +1 -0
- package/dist/node-memory/index.js +159 -0
- package/dist/node-memory/index.js.map +1 -0
- package/dist/node-memory/sync-flush.d.ts +11 -0
- package/dist/node-memory/sync-flush.d.ts.map +1 -0
- package/dist/node-memory/sync-flush.js +37 -0
- package/dist/node-memory/sync-flush.js.map +1 -0
- package/dist/node-memory/types.d.ts +34 -0
- package/dist/node-memory/types.d.ts.map +1 -0
- package/dist/node-memory/types.js +2 -0
- package/dist/node-memory/types.js.map +1 -0
- package/dist/node-memory/xavier-store.d.ts +12 -0
- package/dist/node-memory/xavier-store.d.ts.map +1 -0
- package/dist/node-memory/xavier-store.js +75 -0
- package/dist/node-memory/xavier-store.js.map +1 -0
- package/dist/op-log/index.d.ts +49 -0
- package/dist/op-log/index.d.ts.map +1 -0
- package/dist/op-log/index.js +190 -0
- package/dist/op-log/index.js.map +1 -0
- package/dist/presence/health.d.ts +54 -0
- package/dist/presence/health.d.ts.map +1 -0
- package/dist/presence/health.js +139 -0
- package/dist/presence/health.js.map +1 -0
- package/dist/presence/index.d.ts +85 -0
- package/dist/presence/index.d.ts.map +1 -0
- package/dist/presence/index.js +255 -0
- package/dist/presence/index.js.map +1 -0
- package/dist/presence/peer-health.d.ts +40 -0
- package/dist/presence/peer-health.d.ts.map +1 -0
- package/dist/presence/peer-health.js +118 -0
- package/dist/presence/peer-health.js.map +1 -0
- package/dist/protocol/canonical.d.ts +10 -0
- package/dist/protocol/canonical.d.ts.map +1 -0
- package/dist/protocol/canonical.js +32 -0
- package/dist/protocol/canonical.js.map +1 -0
- package/dist/protocol/crypto.d.ts +299 -0
- package/dist/protocol/crypto.d.ts.map +1 -0
- package/dist/protocol/crypto.js +739 -0
- package/dist/protocol/crypto.js.map +1 -0
- package/dist/protocol/index.d.ts +30 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +116 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/utils.d.ts +5 -0
- package/dist/protocol/utils.d.ts.map +1 -0
- package/dist/protocol/utils.js +27 -0
- package/dist/protocol/utils.js.map +1 -0
- package/dist/salones/manager.d.ts +100 -0
- package/dist/salones/manager.d.ts.map +1 -0
- package/dist/salones/manager.js +240 -0
- package/dist/salones/manager.js.map +1 -0
- package/dist/security/rate-limiter.d.ts +13 -0
- package/dist/security/rate-limiter.d.ts.map +1 -0
- package/dist/security/rate-limiter.js +32 -0
- package/dist/security/rate-limiter.js.map +1 -0
- package/dist/snapshot/index.d.ts +90 -0
- package/dist/snapshot/index.d.ts.map +1 -0
- package/dist/snapshot/index.js +189 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/storage/index.d.ts +49 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +176 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/optimizer.d.ts +28 -0
- package/dist/storage/optimizer.d.ts.map +1 -0
- package/dist/storage/optimizer.js +50 -0
- package/dist/storage/optimizer.js.map +1 -0
- package/dist/storage/ydoc-persistence.d.ts +27 -0
- package/dist/storage/ydoc-persistence.d.ts.map +1 -0
- package/dist/storage/ydoc-persistence.js +128 -0
- package/dist/storage/ydoc-persistence.js.map +1 -0
- package/dist/sync/ChunkSyncManager.d.ts +41 -0
- package/dist/sync/ChunkSyncManager.d.ts.map +1 -0
- package/dist/sync/ChunkSyncManager.js +115 -0
- package/dist/sync/ChunkSyncManager.js.map +1 -0
- package/dist/sync/conflict-resolver.d.ts +33 -0
- package/dist/sync/conflict-resolver.d.ts.map +1 -0
- package/dist/sync/conflict-resolver.js +54 -0
- package/dist/sync/conflict-resolver.js.map +1 -0
- package/dist/sync/engine.d.ts +168 -0
- package/dist/sync/engine.d.ts.map +1 -0
- package/dist/sync/engine.js +315 -0
- package/dist/sync/engine.js.map +1 -0
- package/dist/sync/index.d.ts +3 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +3 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/transport/TorTransportAdapter.d.ts +70 -0
- package/dist/transport/TorTransportAdapter.d.ts.map +1 -0
- package/dist/transport/TorTransportAdapter.js +192 -0
- package/dist/transport/TorTransportAdapter.js.map +1 -0
- package/dist/transport/memory.d.ts +31 -0
- package/dist/transport/memory.d.ts.map +1 -0
- package/dist/transport/memory.js +114 -0
- package/dist/transport/memory.js.map +1 -0
- package/dist/transport/peerjs.d.ts +45 -0
- package/dist/transport/peerjs.d.ts.map +1 -0
- package/dist/transport/peerjs.js +301 -0
- package/dist/transport/peerjs.js.map +1 -0
- package/dist/transport/pqc-handshake.d.ts +72 -0
- package/dist/transport/pqc-handshake.d.ts.map +1 -0
- package/dist/transport/pqc-handshake.js +129 -0
- package/dist/transport/pqc-handshake.js.map +1 -0
- package/dist/transport/relay-config.d.ts +11 -0
- package/dist/transport/relay-config.d.ts.map +1 -0
- package/dist/transport/relay-config.js +48 -0
- package/dist/transport/relay-config.js.map +1 -0
- package/dist/transport/relay-server.d.ts +37 -0
- package/dist/transport/relay-server.d.ts.map +1 -0
- package/dist/transport/relay-server.js +230 -0
- package/dist/transport/relay-server.js.map +1 -0
- package/dist/transport/tor.d.ts +47 -0
- package/dist/transport/tor.d.ts.map +1 -0
- package/dist/transport/tor.js +158 -0
- package/dist/transport/tor.js.map +1 -0
- package/dist/transport/types.d.ts +34 -0
- package/dist/transport/types.d.ts.map +1 -0
- package/dist/transport/types.js +2 -0
- package/dist/transport/types.js.map +1 -0
- package/dist/types/index.d.ts +293 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +73 -0
- package/dist/types/index.js.map +1 -0
- package/dist/web/admission.d.ts +24 -0
- package/dist/web/admission.d.ts.map +1 -0
- package/dist/web/admission.js +41 -0
- package/dist/web/admission.js.map +1 -0
- package/dist/web/crypto.d.ts +18 -0
- package/dist/web/crypto.d.ts.map +1 -0
- package/dist/web/crypto.js +78 -0
- package/dist/web/crypto.js.map +1 -0
- package/dist/web/exchange.d.ts +23 -0
- package/dist/web/exchange.d.ts.map +1 -0
- package/dist/web/exchange.js +54 -0
- package/dist/web/exchange.js.map +1 -0
- package/dist/web/fragment.d.ts +58 -0
- package/dist/web/fragment.d.ts.map +1 -0
- package/dist/web/fragment.js +198 -0
- package/dist/web/fragment.js.map +1 -0
- package/dist/web/index.d.ts +25 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +14 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/merge/index.d.ts +104 -0
- package/dist/web/merge/index.d.ts.map +1 -0
- package/dist/web/merge/index.js +236 -0
- package/dist/web/merge/index.js.map +1 -0
- package/dist/web/oplog/hlc.d.ts +19 -0
- package/dist/web/oplog/hlc.d.ts.map +1 -0
- package/dist/web/oplog/hlc.js +39 -0
- package/dist/web/oplog/hlc.js.map +1 -0
- package/dist/web/oplog/index.d.ts +10 -0
- package/dist/web/oplog/index.d.ts.map +1 -0
- package/dist/web/oplog/index.js +6 -0
- package/dist/web/oplog/index.js.map +1 -0
- package/dist/web/oplog/log.d.ts +182 -0
- package/dist/web/oplog/log.d.ts.map +1 -0
- package/dist/web/oplog/log.js +693 -0
- package/dist/web/oplog/log.js.map +1 -0
- package/dist/web/oplog/store.d.ts +40 -0
- package/dist/web/oplog/store.d.ts.map +1 -0
- package/dist/web/oplog/store.js +85 -0
- package/dist/web/oplog/store.js.map +1 -0
- package/dist/web/oplog/sync.d.ts +54 -0
- package/dist/web/oplog/sync.d.ts.map +1 -0
- package/dist/web/oplog/sync.js +162 -0
- package/dist/web/oplog/sync.js.map +1 -0
- package/dist/web/oplog/types.d.ts +119 -0
- package/dist/web/oplog/types.d.ts.map +1 -0
- package/dist/web/oplog/types.js +2 -0
- package/dist/web/oplog/types.js.map +1 -0
- package/dist/web/pairing.d.ts +186 -0
- package/dist/web/pairing.d.ts.map +1 -0
- package/dist/web/pairing.js +395 -0
- package/dist/web/pairing.js.map +1 -0
- package/dist/web/pq.d.ts +36 -0
- package/dist/web/pq.d.ts.map +1 -0
- package/dist/web/pq.js +59 -0
- package/dist/web/pq.js.map +1 -0
- package/dist/web/provider.d.ts +188 -0
- package/dist/web/provider.d.ts.map +1 -0
- package/dist/web/provider.js +2042 -0
- package/dist/web/provider.js.map +1 -0
- package/dist/web/rooms.d.ts +20 -0
- package/dist/web/rooms.d.ts.map +1 -0
- package/dist/web/rooms.js +51 -0
- package/dist/web/rooms.js.map +1 -0
- package/dist/web/rotation.d.ts +73 -0
- package/dist/web/rotation.d.ts.map +1 -0
- package/dist/web/rotation.js +130 -0
- package/dist/web/rotation.js.map +1 -0
- package/dist/web/secstate.d.ts +213 -0
- package/dist/web/secstate.d.ts.map +1 -0
- package/dist/web/secstate.js +789 -0
- package/dist/web/secstate.js.map +1 -0
- package/dist/web/store.d.ts +9 -0
- package/dist/web/store.d.ts.map +1 -0
- package/dist/web/store.js +32 -0
- package/dist/web/store.js.map +1 -0
- package/dist/web/transports/loopback.d.ts +11 -0
- package/dist/web/transports/loopback.d.ts.map +1 -0
- package/dist/web/transports/loopback.js +97 -0
- package/dist/web/transports/loopback.js.map +1 -0
- package/dist/web/transports/qr-sdp.d.ts +27 -0
- package/dist/web/transports/qr-sdp.d.ts.map +1 -0
- package/dist/web/transports/qr-sdp.js +131 -0
- package/dist/web/transports/qr-sdp.js.map +1 -0
- package/dist/web/transports/ws.d.ts +12 -0
- package/dist/web/transports/ws.d.ts.map +1 -0
- package/dist/web/transports/ws.js +139 -0
- package/dist/web/transports/ws.js.map +1 -0
- package/dist/web/trust/canonical.d.ts +8 -0
- package/dist/web/trust/canonical.d.ts.map +1 -0
- package/dist/web/trust/canonical.js +27 -0
- package/dist/web/trust/canonical.js.map +1 -0
- package/dist/web/trust/docs.d.ts +51 -0
- package/dist/web/trust/docs.d.ts.map +1 -0
- package/dist/web/trust/docs.js +170 -0
- package/dist/web/trust/docs.js.map +1 -0
- package/dist/web/trust/index.d.ts +10 -0
- package/dist/web/trust/index.d.ts.map +1 -0
- package/dist/web/trust/index.js +7 -0
- package/dist/web/trust/index.js.map +1 -0
- package/dist/web/trust/keys.d.ts +37 -0
- package/dist/web/trust/keys.d.ts.map +1 -0
- package/dist/web/trust/keys.js +75 -0
- package/dist/web/trust/keys.js.map +1 -0
- package/dist/web/trust/store.d.ts +150 -0
- package/dist/web/trust/store.d.ts.map +1 -0
- package/dist/web/trust/store.js +587 -0
- package/dist/web/trust/store.js.map +1 -0
- package/dist/web/trust/types.d.ts +134 -0
- package/dist/web/trust/types.d.ts.map +1 -0
- package/dist/web/trust/types.js +4 -0
- package/dist/web/trust/types.js.map +1 -0
- package/dist/web/types.d.ts +115 -0
- package/dist/web/types.d.ts.map +1 -0
- package/dist/web/types.js +2 -0
- package/dist/web/types.js.map +1 -0
- package/dist/web/util.d.ts +12 -0
- package/dist/web/util.d.ts.map +1 -0
- package/dist/web/util.js +54 -0
- package/dist/web/util.js.map +1 -0
- package/dist/web/webrtc.d.ts +35 -0
- package/dist/web/webrtc.d.ts.map +1 -0
- package/dist/web/webrtc.js +304 -0
- package/dist/web/webrtc.js.map +1 -0
- package/package.json +138 -4
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import type { ParPublico, PostQuantumIdentity } from "../identity/index.js";
|
|
2
|
+
import type { Envolvente } from "../types/index.js";
|
|
3
|
+
/** Version del wire format del payload sellado. Subir en cualquier cambio de layout. */
|
|
4
|
+
export declare const VERSION_PAYLOAD_CIFRADO = 1;
|
|
5
|
+
/** Identificador AEAD escrito en el payload sellado para que los lectores despachen. */
|
|
6
|
+
export declare const ALGORITMO_CIFRADO = "XCHACHA20-POLY1305-HKDF-SHA256/ML-KEM-768";
|
|
7
|
+
/** Tamano del ciphertext de encapsulacion ML-KEM-768 (FIPS 203). */
|
|
8
|
+
export declare const BYTES_CIPHERTEXT_KEM_768 = 1088;
|
|
9
|
+
/** Maximo de mensajes que una clave de sesion puede sellar antes de rotarse. */
|
|
10
|
+
export declare const MAX_MENSAJES_POR_SESION = 1000000;
|
|
11
|
+
/** Se lanza cuando una envolvente se reenvia, o su contador no es aceptable. */
|
|
12
|
+
export declare class ErrorReplayDetectado extends Error {
|
|
13
|
+
readonly counter: string;
|
|
14
|
+
constructor(counter: string, motivo: string);
|
|
15
|
+
}
|
|
16
|
+
/** Se lanza cuando una envolvente no es un payload sellado, o esta malformada. */
|
|
17
|
+
export declare class ErrorPayloadCifrado extends Error {
|
|
18
|
+
constructor(mensaje: string);
|
|
19
|
+
}
|
|
20
|
+
/** Se lanza cuando una clave de sesion se reutilizaria para el mismo (clave, contador). */
|
|
21
|
+
export declare class ErrorReusoDeNonce extends Error {
|
|
22
|
+
constructor(counter: string);
|
|
23
|
+
}
|
|
24
|
+
/** Tag de direccion mezclado en el nonce; tambien nombra el rol emisor/receptor. */
|
|
25
|
+
export declare const DIRECCION: {
|
|
26
|
+
/** Nodo A -> Nodo B. */
|
|
27
|
+
readonly A_A_B: 1;
|
|
28
|
+
/** Nodo B -> Nodo A. */
|
|
29
|
+
readonly B_A_A: 2;
|
|
30
|
+
};
|
|
31
|
+
export type Direccion = (typeof DIRECCION)[keyof typeof DIRECCION];
|
|
32
|
+
/** Las dos claves de sesion derivadas independientemente. */
|
|
33
|
+
export interface ClavesSesion {
|
|
34
|
+
/** Clave XChaCha20-Poly1305 de 32 bytes que sella los payloads. */
|
|
35
|
+
readonly claveCifrado: Uint8Array;
|
|
36
|
+
/**
|
|
37
|
+
* Clave de 32 bytes que una aplicacion puede usar para autenticar el propio
|
|
38
|
+
* transporte. Esta capa la deriva y la exporta pero nunca la impone (ver
|
|
39
|
+
* limitacion 4).
|
|
40
|
+
*/
|
|
41
|
+
readonly claveAutenticacion: Uint8Array;
|
|
42
|
+
}
|
|
43
|
+
/** Descripcion publica y no secreta de una sesion establecida. */
|
|
44
|
+
export interface ParamsSesion {
|
|
45
|
+
/** Identificador opaco de sesion; tambien es el salt de HKDF. */
|
|
46
|
+
readonly sesionId: string;
|
|
47
|
+
/** Incrementado en cada rotacion de clave. Parte del nonce derivado. */
|
|
48
|
+
readonly epoch: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Forma en el cable de un payload sellado. El orden de los campos es fijo
|
|
52
|
+
* porque `canonicalEnvelopeBytes` lo serializa a JSON y la firma ML-DSA cubre el
|
|
53
|
+
* resultado: un payload reordenado en el cable dejaria de verificar.
|
|
54
|
+
*/
|
|
55
|
+
export interface PayloadCifrado {
|
|
56
|
+
readonly v: number;
|
|
57
|
+
readonly alg: string;
|
|
58
|
+
readonly sesion: string;
|
|
59
|
+
readonly epoch: number;
|
|
60
|
+
readonly dir: number;
|
|
61
|
+
readonly ctr: string;
|
|
62
|
+
readonly ct: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Forma en el cable de un mensaje de apertura de sesion. No lleva secretos: un
|
|
66
|
+
* ciphertext ML-KEM dirigido al destinatario, mas la clave publica ML-KEM del
|
|
67
|
+
* emisor para que el destinatario pueda sellar sus propias respuestas sin una
|
|
68
|
+
* segunda ida y vuelta.
|
|
69
|
+
*/
|
|
70
|
+
export interface HandshakeSesion {
|
|
71
|
+
readonly v: number;
|
|
72
|
+
readonly alg: string;
|
|
73
|
+
readonly sesion: string;
|
|
74
|
+
readonly kemCipherText: string;
|
|
75
|
+
readonly kemPublicoEmisor: string;
|
|
76
|
+
}
|
|
77
|
+
/** Estado de sesion que sostiene uno de los dos lados de una sesion. */
|
|
78
|
+
export interface SesionCifrada extends ParamsSesion {
|
|
79
|
+
readonly claves: ClavesSesion;
|
|
80
|
+
readonly direccion: Direccion;
|
|
81
|
+
/** Contador monotono del PROXIMO mensaje que este lado sellara. */
|
|
82
|
+
readonly siguienteCounter: bigint;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Deriva las dos claves de sesion desde un secreto compartido ML-KEM-768.
|
|
86
|
+
*
|
|
87
|
+
* `derivarClaveSimetrica` (SHA-256 con separador de dominio) se aplica primero
|
|
88
|
+
* para que el secreto KEM crudo nunca se use como material de clave directamente,
|
|
89
|
+
* y luego HKDF estira el resultado en dos claves con propositos separados. Ambos
|
|
90
|
+
* pares ejecutan la construccion identica sobre los bytes identicos, asi que
|
|
91
|
+
* ambos aterrizan en el mismo par sin necesidad de acuerdo adicional.
|
|
92
|
+
*
|
|
93
|
+
* SHA-256 viene de `@noble/hashes` en vez de WebCrypto porque el camino del
|
|
94
|
+
* handshake es sincrono (`encapsular` es sync) y el digest de WebCrypto es
|
|
95
|
+
* solo-promise. SHA-256 es SHA-256: los bytes que se hashean aqui son
|
|
96
|
+
* exactamente los bytes que hashea `derivarClaveSimetrica`, asi que ambos puntos
|
|
97
|
+
* de entrada derivan claves identicas.
|
|
98
|
+
*
|
|
99
|
+
* @param sharedSecret 32 bytes de `encapsular` / `decapsular`.
|
|
100
|
+
* @param sesionId id de sesion, usado como salt de HKDF (liga las claves a una
|
|
101
|
+
* sesion).
|
|
102
|
+
* @throws TypeError ante entrada malformada en vez de derivar desde basura.
|
|
103
|
+
*/
|
|
104
|
+
export declare function derivarClavesSesion(sharedSecret: Uint8Array, sesionId: string): ClavesSesion;
|
|
105
|
+
/** Alias awaitable, para puntos de llamada ya en contexto asincrono. */
|
|
106
|
+
export declare function derivarClavesSesionAsync(sharedSecret: Uint8Array, sesionId: string): Promise<ClavesSesion>;
|
|
107
|
+
/**
|
|
108
|
+
* Lado emisor del handshake: encapsula hacia el destinatario, deriva las claves, y
|
|
109
|
+
* devuelve tanto la sesion local como el mensaje de cable a enviar.
|
|
110
|
+
*
|
|
111
|
+
* ML-KEM-768 corre AQUI y solo aqui. Cada mensaje posterior de la sesion se sella
|
|
112
|
+
* con XChaCha20-Poly1305 bajo la clave derivada.
|
|
113
|
+
*/
|
|
114
|
+
export declare function iniciarSesionCifrada(emisor: PostQuantumIdentity, kemPublicoReceptor: ParPublico, opciones?: {
|
|
115
|
+
readonly epoch?: number;
|
|
116
|
+
}): {
|
|
117
|
+
readonly sesion: SesionCifrada;
|
|
118
|
+
readonly handshake: HandshakeSesion;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Lado receptor del handshake: desencapsula, deriva las mismas claves, y devuelve
|
|
122
|
+
* la sesion local mas la clave publica ML-KEM del emisor (para que una respuesta
|
|
123
|
+
* pueda sellarse sin otra ida y vuelta).
|
|
124
|
+
*/
|
|
125
|
+
export declare function aceptarSesionCifrada(receptor: PostQuantumIdentity, handshake: HandshakeSesion, opciones?: {
|
|
126
|
+
readonly epoch?: number;
|
|
127
|
+
}): {
|
|
128
|
+
readonly sesion: SesionCifrada;
|
|
129
|
+
readonly kemPublicoEmisor: ParPublico;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Rota las claves de sesion bajo un nuevo epoch.
|
|
133
|
+
*
|
|
134
|
+
* Llama a `iniciarSesionCifrada` de nuevo con el nuevo ciphertext ML-KEM y pasa
|
|
135
|
+
* `epoch: sesion.epoch + 1`. Mantener el guardia del epoch viejo es tarea del
|
|
136
|
+
* llamador: esta funcion deliberadamente no toca el estado del guardia, para que
|
|
137
|
+
* un epoch viejo siga siendo rechazable (y sus mensajes sigan sin descifrarse)
|
|
138
|
+
* tras el cambio.
|
|
139
|
+
*/
|
|
140
|
+
export declare function rotarSesion(sesion: SesionCifrada, claves: ClavesSesion, epoch: number): SesionCifrada;
|
|
141
|
+
/**
|
|
142
|
+
* Construye el nonce XChaCha de 24 bytes.
|
|
143
|
+
*
|
|
144
|
+
* El nonce se DERIVA, nunca se transmite: es una funcion pura de la sal de sesion
|
|
145
|
+
* (codificada en `sesionId`), el epoch, el tag de direccion y el contador. Por eso
|
|
146
|
+
* la sobrecarga por mensaje en el cable es una etiqueta Poly1305 de 16 bytes mas
|
|
147
|
+
* un campo de contador corto, y no 24 bytes extra.
|
|
148
|
+
*/
|
|
149
|
+
export declare function derivarNonce(sesionId: string, epoch: number, direccion: Direccion, counter: bigint): Uint8Array;
|
|
150
|
+
export interface GuardiaReplayOpciones {
|
|
151
|
+
/** Cuanto por debajo de la marca alta puede aceptarse un contador aun. */
|
|
152
|
+
readonly ventana: number;
|
|
153
|
+
/** Techo de contadores recordados, por direccion. */
|
|
154
|
+
readonly maxEntradas: number;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Guardia anti-replay para envolventes cifrados.
|
|
158
|
+
*
|
|
159
|
+
* POR QUE EXISTE. Una envolvente cifrada es, por construccion, reenviable: el
|
|
160
|
+
* ciphertext y el contador estan ambos en el cable, y la autenticacion AEAD solo
|
|
161
|
+
* prueba "este blob lo produjo alguien con la clave", no "este blob se esta
|
|
162
|
+
* entregando por primera vez". Para una historia clinica esa es la diferencia
|
|
163
|
+
* entre una consulta y dos. `MessageDeduplicator` (id + origen, ventana de 5 s)
|
|
164
|
+
* NO es sustituto: esta acotado en el tiempo, olvida, y se indexa por un campo que
|
|
165
|
+
* elige el atacante.
|
|
166
|
+
*
|
|
167
|
+
* COMPORTAMIENTO, por (sesionId, direccion):
|
|
168
|
+
*
|
|
169
|
+
* - contador ya aceptado -> RECHAZAR (reenvio exacto, aunque tarde)
|
|
170
|
+
* - contador bajo `maxVisto - ventana` -> RECHAZAR (demasiado viejo para probar frescura)
|
|
171
|
+
* - contador sobre `maxVisto` -> ACEPTAR, avanzar la marca
|
|
172
|
+
* - contador bajo la marca pero dentro de la ventana y nunca visto -> ACEPTAR
|
|
173
|
+
*
|
|
174
|
+
* El reordenamiento DENTRO de la ventana se tolera, porque una malla de gossip
|
|
175
|
+
* entrega fuera de orden por diseno. Un reenvio exacto nunca se tolera.
|
|
176
|
+
*/
|
|
177
|
+
export declare class GuardiaReplay {
|
|
178
|
+
private readonly estados;
|
|
179
|
+
private readonly config;
|
|
180
|
+
constructor(config?: Partial<GuardiaReplayOpciones>);
|
|
181
|
+
private clave;
|
|
182
|
+
/**
|
|
183
|
+
* Registra un contador entrante.
|
|
184
|
+
*
|
|
185
|
+
* @returns true si la envolvente es aceptable, false si debe rechazarse como
|
|
186
|
+
* reenvio.
|
|
187
|
+
* @throws TypeError ante un contador malformado, para que la basura no se
|
|
188
|
+
* trate en silencio como un mensaje nuevo.
|
|
189
|
+
*/
|
|
190
|
+
aceptar(sesionId: string, direccion: Direccion, counter: bigint): boolean;
|
|
191
|
+
/** Rechaza con un error tipado en vez de devolver un booleano pelado. */
|
|
192
|
+
exigirAceptable(sesionId: string, direccion: Direccion, counter: bigint): void;
|
|
193
|
+
/**
|
|
194
|
+
* Recorta la ventana: descarta lo que el suelo ya rechaza, luego acota el
|
|
195
|
+
* tamano. La marca alta se reinserta para que el desalojo nunca abra un hueco
|
|
196
|
+
* en la frontera.
|
|
197
|
+
*/
|
|
198
|
+
private podar;
|
|
199
|
+
/** Contador mas alto aceptado hasta ahora para una direccion, o null si ninguno. */
|
|
200
|
+
maxVisto(sesionId: string, direccion: Direccion): bigint | null;
|
|
201
|
+
/** Cantidad de contadores recordados para una direccion. */
|
|
202
|
+
tamañoVentana(sesionId: string, direccion: Direccion): number;
|
|
203
|
+
reiniciar(): void;
|
|
204
|
+
}
|
|
205
|
+
/** True cuando `env.payload` es un payload sellado producido por `cifrarPayload`. */
|
|
206
|
+
export declare function esEnvolventeCifrado(env: Envolvente): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Sella el payload de una envolvente. Devuelve una envolvente NUEVA; la entrada no
|
|
209
|
+
* se muta. La envolvente devuelta es la que hay que firmar — firma DESPUES de
|
|
210
|
+
* cifrar, para que la firma ML-DSA cubra el ciphertext.
|
|
211
|
+
*
|
|
212
|
+
* El contador viene de `siguienteCounter` y se avanza en el estado de sesion
|
|
213
|
+
* devuelto; reutilizar un contador bajo la misma clave lanza `ErrorReusoDeNonce` en
|
|
214
|
+
* vez de producir en silencio una repeticion del flujo de clave.
|
|
215
|
+
*/
|
|
216
|
+
export declare function cifrarPayload(env: Envolvente, sesion: SesionCifrada): Envolvente;
|
|
217
|
+
/**
|
|
218
|
+
* Abre una envolvente sellada y la comprueba contra el guardia anti-replay.
|
|
219
|
+
*
|
|
220
|
+
* El orden importa: el guardia se consulta DESPUES de que el descifrado tenga
|
|
221
|
+
* exito (para que un atacante no pueda quemar contadores mandando basura) pero
|
|
222
|
+
* ANTES de que el llamador llegue a ver el valor de aplicacion en claro.
|
|
223
|
+
*
|
|
224
|
+
* @returns una envolvente nueva con el payload en claro restaurado.
|
|
225
|
+
* @throws ErrorPayloadCifrado si la envolvente no esta sellada o Poly1305 falla.
|
|
226
|
+
* @throws ErrorReplayDetectado si el contador es un reenvio.
|
|
227
|
+
*/
|
|
228
|
+
export declare function abrirPayload(env: Envolvente, sesion: SesionCifrada, guardia: GuardiaReplay, opciones?: {
|
|
229
|
+
readonly aplicarGuardia?: boolean;
|
|
230
|
+
}): Envolvente;
|
|
231
|
+
/**
|
|
232
|
+
* Sella una envolvente y devuelve tanto la envolvente sellada como la sesion
|
|
233
|
+
* avanzada. Este es el punto de entrada previsto para un emisor: es el unico que
|
|
234
|
+
* puede garantizar que el nonce nunca se reutiliza.
|
|
235
|
+
*
|
|
236
|
+
* Reutilizar un par (clave, nonce) bajo XChaCha20-Poly1305 es catastrofico —
|
|
237
|
+
* filtra la XOR de dos textos planos y pierde la clave de autenticacion — asi que
|
|
238
|
+
* la comprobacion se impone aqui y lanza `ErrorReusoDeNonce` en vez de dejarse en
|
|
239
|
+
* manos de la convencion. El id de sesion y el epoch son parte del nonce
|
|
240
|
+
* derivado, asi que una sesion realmente rotada no se ve afectada.
|
|
241
|
+
*/
|
|
242
|
+
export declare function cifrarYSiguiente(env: Envolvente, sesion: SesionCifrada): {
|
|
243
|
+
env: Envolvente;
|
|
244
|
+
sesion: SesionCifrada;
|
|
245
|
+
};
|
|
246
|
+
/** Avanza en uno el contador de salida de una sesion, con las mismas comprobaciones. */
|
|
247
|
+
export declare function marcarEnviado(sesion: SesionCifrada): SesionCifrada;
|
|
248
|
+
export interface MedicionOverhead {
|
|
249
|
+
/** Tamano del payload en claro en bytes. */
|
|
250
|
+
readonly payloadBytes: number;
|
|
251
|
+
/** Tamano del payload sellado en el cable, serializado a JSON (lo que la firma cubre). */
|
|
252
|
+
readonly wireBytes: number;
|
|
253
|
+
/** `wireBytes - payloadBytes`: el costo total real por mensaje. */
|
|
254
|
+
readonly overheadBytes: number;
|
|
255
|
+
/** `overheadBytes / payloadBytes`. */
|
|
256
|
+
readonly ratio: number;
|
|
257
|
+
/**
|
|
258
|
+
* Costo puro del AEAD: la etiqueta Poly1305, y nada mas. Este es el numero
|
|
259
|
+
* que NO escala con el payload.
|
|
260
|
+
*/
|
|
261
|
+
readonly tagBytes: number;
|
|
262
|
+
/** El nonce del AEAD cuesta 0 bytes: se deriva, nunca se transmite. */
|
|
263
|
+
readonly nonceBytes: number;
|
|
264
|
+
/**
|
|
265
|
+
* Costo de llevar el ciphertext dentro de una envolvente JSON: base64 expande
|
|
266
|
+
* cada 3 bytes de ciphertext en 4 caracteres, asi que esto es ~33% del
|
|
267
|
+
* ciphertext y SI escala con el payload.
|
|
268
|
+
*/
|
|
269
|
+
readonly encodingBytes: number;
|
|
270
|
+
/** Costo fijo de los campos JSON del payload sellado en si. */
|
|
271
|
+
readonly framingBytes: number;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Mide lo que el cifrado realmente cuesta por mensaje, descompuesto.
|
|
275
|
+
*
|
|
276
|
+
* La descompusion honesta, porque el unico numero de "sobrecoste" esconde que
|
|
277
|
+
* parte es negociable:
|
|
278
|
+
*
|
|
279
|
+
* - 16 bytes etiqueta de autenticacion Poly1305. Irreducible para cualquier
|
|
280
|
+
* AEAD, e independiente del tamano del payload.
|
|
281
|
+
* - 0 bytes nonce del AEAD. Derivado de (sal de sesion, epoch, direccion,
|
|
282
|
+
* contador); nunca transmitido. Por eso el diseno no paga 24
|
|
283
|
+
* bytes de nonce por mensaje.
|
|
284
|
+
* - ~75 bytes framing JSON de los campos del payload sellado (version, codigo
|
|
285
|
+
* de algoritmo, id de sesion, epoch, direccion, contador). Fijo.
|
|
286
|
+
* - ~33% expansion base64 del ciphertext. Esta si escala con el payload y
|
|
287
|
+
* es el termino dominante en registros grandes.
|
|
288
|
+
*
|
|
289
|
+
* O sea: la cifra de "~40 bytes por mensaje" es el AEAD mas el framing, es decir
|
|
290
|
+
* la parte fija, y se sostiene. Pero `overheadBytes` — lo que el cable realmente
|
|
291
|
+
* crece — lo domina base64, y en un registro de 4 KB es aproximadamente un tercio
|
|
292
|
+
* del registro, no 40 bytes. Cualquiera que presupueste esta capa necesita ambos
|
|
293
|
+
* numeros, asi que se devuelven ambos.
|
|
294
|
+
*
|
|
295
|
+
* El ciphertext de ML-KEM-768 de 1088 bytes NO esta en ninguno de estos: se paga
|
|
296
|
+
* una vez por sesion, no por mensaje. Usa `JSON.stringify(handshake).length` para eso.
|
|
297
|
+
*/
|
|
298
|
+
export declare function medirOverhead(payload: unknown, sesion: SesionCifrada): MedicionOverhead;
|
|
299
|
+
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/protocol/crypto.ts"],"names":[],"mappings":"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"}
|