@fails-components/webtransport 1.0.4 → 1.0.8
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/dist/main/lib/client.d.ts +95 -0
- package/dist/main/lib/client.d.ts.map +1 -0
- package/dist/main/lib/dom.d.ts +88 -0
- package/dist/main/lib/dom.d.ts.map +1 -0
- package/dist/main/lib/error.d.ts +8 -0
- package/dist/main/lib/error.d.ts.map +1 -0
- package/dist/main/lib/features.d.ts +2 -0
- package/dist/main/lib/features.d.ts.map +1 -0
- package/dist/main/lib/http2/browser/browser.d.ts +30 -0
- package/dist/main/lib/http2/browser/browser.d.ts.map +1 -0
- package/dist/main/lib/http2/browser/browserparser.d.ts +41 -0
- package/dist/main/lib/http2/browser/browserparser.d.ts.map +1 -0
- package/dist/main/lib/http2/flowcontroller.d.ts +70 -0
- package/dist/main/lib/http2/flowcontroller.d.ts.map +1 -0
- package/dist/main/lib/http2/node/capsuleparser.d.ts +24 -0
- package/dist/main/lib/http2/node/capsuleparser.d.ts.map +1 -0
- package/dist/main/lib/http2/node/client.d.ts +29 -0
- package/dist/main/lib/http2/node/client.d.ts.map +1 -0
- package/dist/main/lib/http2/node/index.d.ts +3 -0
- package/dist/main/lib/http2/node/index.d.ts.map +1 -0
- package/dist/main/lib/http2/node/server.d.ts +57 -0
- package/dist/main/lib/http2/node/server.d.ts.map +1 -0
- package/dist/main/lib/http2/node/websocketparser.d.ts +86 -0
- package/dist/main/lib/http2/node/websocketparser.d.ts.map +1 -0
- package/dist/main/lib/http2/parserbase.d.ts +84 -0
- package/dist/main/lib/http2/parserbase.d.ts.map +1 -0
- package/dist/main/lib/http2/parserbasehttp2.d.ts +31 -0
- package/dist/main/lib/http2/parserbasehttp2.d.ts.map +1 -0
- package/dist/main/lib/http2/session.d.ts +71 -0
- package/dist/main/lib/http2/session.d.ts.map +1 -0
- package/dist/main/lib/http2/stream.d.ts +112 -0
- package/dist/main/lib/http2/stream.d.ts.map +1 -0
- package/dist/main/lib/http2/websocketcommon.d.ts +2 -0
- package/dist/main/lib/http2/websocketcommon.d.ts.map +1 -0
- package/dist/main/lib/index.browser.d.ts +58 -0
- package/dist/main/lib/index.browser.d.ts.map +1 -0
- package/dist/main/lib/index.node.d.ts +59 -0
- package/dist/main/lib/index.node.d.ts.map +1 -0
- package/dist/main/lib/server.d.ts +102 -0
- package/dist/main/lib/server.d.ts.map +1 -0
- package/dist/main/lib/session.d.ts +296 -0
- package/dist/main/lib/session.d.ts.map +1 -0
- package/dist/main/lib/stream.d.ts +132 -0
- package/dist/main/lib/stream.d.ts.map +1 -0
- package/dist/main/lib/types.d.ts +277 -0
- package/dist/main/lib/types.d.ts.map +1 -0
- package/dist/main/lib/utils.d.ts +11 -0
- package/dist/main/lib/utils.d.ts.map +1 -0
- package/dist/main/lib/webstreams.browser.d.ts +5 -0
- package/dist/main/lib/webstreams.browser.d.ts.map +1 -0
- package/dist/main/lib/webstreams.d.ts +10 -0
- package/dist/main/lib/webstreams.d.ts.map +1 -0
- package/dist/main/lib/webtransport.browser.d.ts +60 -0
- package/dist/main/lib/webtransport.browser.d.ts.map +1 -0
- package/dist/main/lib/webtransport.node.d.ts +26 -0
- package/dist/main/lib/webtransport.node.d.ts.map +1 -0
- package/dist/main/lib/webtransportbase.d.ts +70 -0
- package/dist/main/lib/webtransportbase.d.ts.map +1 -0
- package/dist/main/test/bidirectional-streams.spec.d.ts +5 -0
- package/dist/main/test/bidirectional-streams.spec.d.ts.map +1 -0
- package/dist/main/test/datagrams.spec.d.ts +5 -0
- package/dist/main/test/datagrams.spec.d.ts.map +1 -0
- package/dist/main/test/fixtures/certificate.d.ts +21 -0
- package/dist/main/test/fixtures/certificate.d.ts.map +1 -0
- package/dist/main/test/fixtures/chai.d.ts +2 -0
- package/dist/main/test/fixtures/chai.d.ts.map +1 -0
- package/dist/main/test/fixtures/known-bytes.d.ts +8 -0
- package/dist/main/test/fixtures/known-bytes.d.ts.map +1 -0
- package/dist/main/test/fixtures/p-timeout.d.ts +8 -0
- package/dist/main/test/fixtures/p-timeout.d.ts.map +1 -0
- package/dist/main/test/fixtures/read-cert-hash.d.ts +6 -0
- package/dist/main/test/fixtures/read-cert-hash.d.ts.map +1 -0
- package/dist/main/test/fixtures/read-stream.d.ts +18 -0
- package/dist/main/test/fixtures/read-stream.d.ts.map +1 -0
- package/dist/main/test/fixtures/reader-value.d.ts +21 -0
- package/dist/main/test/fixtures/reader-value.d.ts.map +1 -0
- package/dist/main/test/fixtures/server.d.ts +5 -0
- package/dist/main/test/fixtures/server.d.ts.map +1 -0
- package/dist/main/test/fixtures/webtransport.browser.d.ts +4 -0
- package/dist/main/test/fixtures/webtransport.browser.d.ts.map +1 -0
- package/dist/main/test/fixtures/webtransport.d.ts +3 -0
- package/dist/main/test/fixtures/webtransport.d.ts.map +1 -0
- package/dist/main/test/fixtures/write-stream.d.ts +10 -0
- package/dist/main/test/fixtures/write-stream.d.ts.map +1 -0
- package/dist/main/test/index.d.ts +2 -0
- package/dist/main/test/index.d.ts.map +1 -0
- package/dist/main/test/session.spec.d.ts +5 -0
- package/dist/main/test/session.spec.d.ts.map +1 -0
- package/dist/main/test/unidirectional-streams.spec.d.ts +2 -0
- package/dist/main/test/unidirectional-streams.spec.d.ts.map +1 -0
- package/dist/main/tsconfig.tsbuildinfo +1 -0
- package/dist/transports/http3-quiche/lib/clientsocket.d.ts +19 -0
- package/dist/transports/http3-quiche/lib/clientsocket.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/index.d.ts +11 -0
- package/dist/transports/http3-quiche/lib/index.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/serversocket.d.ts +12 -0
- package/dist/transports/http3-quiche/lib/serversocket.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/socket.d.ts +19 -0
- package/dist/transports/http3-quiche/lib/socket.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/types.d.ts +21 -0
- package/dist/transports/http3-quiche/lib/types.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/utils.d.ts +6 -0
- package/dist/transports/http3-quiche/lib/utils.d.ts.map +1 -0
- package/lib/features.js +16 -0
- package/lib/http2/browser/browser.js +52 -0
- package/lib/http2/node/capsuleparser.js +8 -0
- package/lib/http2/node/server.js +10 -4
- package/lib/http2/node/websocketparser.js +17 -3
- package/lib/http2/parserbase.js +7 -0
- package/lib/http2/session.js +1 -5
- package/lib/session.js +16 -10
- package/lib/stream.js +46 -39
- package/lib/webtransport.browser.js +8 -2
- package/package.json +8 -3
- package/test/bidirectional-streams.spec.js +17 -31
- package/test/datagrams.spec.js +17 -20
- package/test/fixtures/webtransport.browser.js +1 -1
- package/test/index.js +13 -4
- package/test/session.spec.js +43 -48
- package/test/unidirectional-streams.spec.js +17 -30
- package/tsconfig.json +15 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../test/fixtures/server.js"],"names":[],"mappings":"AASA;;;GAgQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webtransport.browser.d.ts","sourceRoot":"","sources":["../../../../test/fixtures/webtransport.browser.js"],"names":[],"mappings":";AAKA,mDAAmD;AAGnD,0BAHW,OAAO,eAAe,EAAE,YAAY,CAGL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webtransport.d.ts","sourceRoot":"","sources":["../../../../test/fixtures/webtransport.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Write contents to a stream and close it
|
|
3
|
+
*
|
|
4
|
+
* @template T
|
|
5
|
+
* @param {WritableStream<T>} writable
|
|
6
|
+
* @param {T[]} input
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function writeStream<T>(writable: WritableStream<T>, input: T[]): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=write-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-stream.d.ts","sourceRoot":"","sources":["../../../../test/fixtures/write-stream.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,uFAeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.spec.d.ts","sourceRoot":"","sources":["../../../test/session.spec.js"],"names":[],"mappings":";;;0BAQa,OAAO,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unidirectional-streams.spec.d.ts","sourceRoot":"","sources":["../../../test/unidirectional-streams.spec.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../lib/error.js","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../lib/dom.ts","../../lib/http2/flowcontroller.js","../../lib/webstreams.js","../../lib/features.js","../../lib/http2/session.js","../../lib/http2/parserbasehttp2.js","../../lib/http2/node/capsuleparser.js","../../lib/http2/node/client.js","../../lib/http2/node/websocketparser.js","../../lib/http2/websocketcommon.js","../../lib/http2/node/server.js","../../lib/http2/node/index.js","../../lib/server.js","../../lib/session.js","../../lib/stream.js","../../lib/http2/stream.js","../../lib/http2/parserbase.js","../../lib/types.ts","../../lib/utils.js","../../lib/client.js","../../lib/webtransportbase.js","../../lib/http2/browser/browserparser.js","../../lib/http2/browser/browser.js","../../lib/webtransport.browser.js","../../lib/index.browser.js","../../lib/webtransport.node.js","../../lib/index.node.js","../../lib/webstreams.browser.js","../../test/fixtures/reader-value.js","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/dirty-chai/index.d.ts","../../test/fixtures/chai.js","../../test/fixtures/read-stream.js","../../test/fixtures/write-stream.js","../../test/fixtures/read-cert-hash.js","../../test/fixtures/webtransport.js","../../../node_modules/uint8arrays/dist/src/compare.d.ts","../../../node_modules/uint8arrays/dist/src/concat.d.ts","../../../node_modules/uint8arrays/dist/src/equals.d.ts","../../../node_modules/multiformats/dist/types/src/bases/interface.d.ts","../../../node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../../../node_modules/multiformats/dist/types/src/link/interface.d.ts","../../../node_modules/multiformats/dist/types/src/cid.d.ts","../../../node_modules/multiformats/dist/types/src/block/interface.d.ts","../../../node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../../../node_modules/multiformats/dist/types/src/interface.d.ts","../../../node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../../../node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../../../node_modules/multiformats/dist/types/src/varint.d.ts","../../../node_modules/multiformats/dist/types/src/bytes.d.ts","../../../node_modules/multiformats/dist/types/src/index.d.ts","../../../node_modules/multiformats/dist/types/src/codecs/raw.d.ts","../../../node_modules/multiformats/dist/types/src/codecs/json.d.ts","../../../node_modules/multiformats/dist/types/src/bases/base.d.ts","../../../node_modules/multiformats/dist/types/src/basics.d.ts","../../../node_modules/uint8arrays/dist/src/util/bases.d.ts","../../../node_modules/uint8arrays/dist/src/from-string.d.ts","../../../node_modules/uint8arrays/dist/src/to-string.d.ts","../../../node_modules/uint8arrays/dist/src/xor.d.ts","../../../node_modules/uint8arrays/dist/src/index.d.ts","../../test/fixtures/known-bytes.js","../../test/bidirectional-streams.spec.js","../../test/fixtures/p-timeout.js","../../test/datagrams.spec.js","../../../node_modules/execa/index.d.ts","../../test/index.js","../../test/session.spec.js","../../test/unidirectional-streams.spec.js","../../test/fixtures/certificate.js","../../test/fixtures/server.js","../../test/fixtures/webtransport.browser.js","../../../transports/http3-quiche/lib/types.ts","../../../transports/http3-quiche/lib/utils.js","../../../transports/http3-quiche/lib/socket.js","../../../transports/http3-quiche/lib/clientsocket.js","../../../transports/http3-quiche/lib/serversocket.js","../../../transports/http3-quiche/lib/index.js","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"c4352126dc08b95a3c8223ea5e9e88181926d2c5fc48c0bba88ae59e2185dca2","signature":"63a5cc9a046de27986cbebbae2abe65b02dc872b3bf2e5c3016f87fcde7fbf6c"},"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1",{"version":"7c432275b63a2eb24b73158e11ebddde1c71c9c6cc3448c9d755a339aba4b277","signature":"5f2be203378606155cc72f9bd7346c16253a9094d577f50f3f15e24956fc3736"},{"version":"5dc3000a5c6e7ae598ecf1561e221d7a3e0fff0f0161deb2bae2e23c0f8685b4","signature":"fc1ef0dbe7d9467c7cc33c3b3de87779e3fcd5a268733701d580e15f76b50bbf"},{"version":"2713c21b0077ae1acaf48fcd079f180cd9d7c294053b4c24b88378583aaa63c2","signature":"84c018a3169ff229e060cf0b99ba7e743d8d8b1cd4a9d754905c1e6cbcf2401f"},{"version":"7e187bdf427daae4ea556fd1135ddbb8040a7e09f5896a57b9add194f17a31d2","signature":"3e99cb1f591f42f0bf4ea331ce9bd5f23cfb886ac16bb19f0217d4046d2da233"},{"version":"ff6bb07bc908ed8d2db68b19ddd5114796e313a3389aad94f877f4ff6292f22d","signature":"826c81f9f900e7b56ac24f7e994b37caf4c4dc67c2efa8f87d4ad7198de9a402"},{"version":"6381c8e604f30d7f5fcd176f1aa246df6a22fc6a8cdbc2ef9bdbd736eb948692","signature":"dc6fb8b79c5ebd64ff76b2d092817d7866266d461b36160fa2c26e9bd1c3cb50"},{"version":"3984e3c9b376a5b5a00131b4c086a895c0249cbd87520a39ec7818fd1d71e4c5","signature":"cdde30d7bfd04f9f3485c384e3b10a3f9c8318c1eeccf3b16a9672d0a026cc86"},{"version":"5556b21788b0488ea307087c4f4753898937121f21d2c9a112f6961abcc73fce","signature":"30d9267115c04d64dda0edcad1c8ebce39b29fa949bf69d1099839e7ffec6c46"},{"version":"212924fdf5acde8b60ba91fa5a65ce0353fc8f1329280cf04f2d185a3b057398","signature":"edbdf1e026de78e60b969962867efac994ca0f7170e7e09358e47bf4aeee98ae"},{"version":"f59b7d07889ee74c3989a3bbdb375588c5ffeecb786beeaa8ce7e6d8bab33733","signature":"6b277559ffb2accd5335c0856efd487806e0172335c8ec2e4dc846a3fd21bce9"},{"version":"9e6be377003e16be9189d37176d6ddd542c27f94d33e43decb2b65c08437dc09","signature":"cd4762d6f2654f089fbe0d98300780b7628b72a0000485af144c854ffda457cd"},{"version":"84a00d85759932d524cab5dfebb0cd05c88aced4732fd96e3bf00076dafe6fd8","signature":"c35a5a91b50646cd32d63cf79f7a48febc7c880dbc811d924f2b0244a57aa064"},{"version":"610788705d09f4c43d0a98e3de8a9134506dd79356dba139b4eb0828a57cb4f6","signature":"72a4c7cacacc90ba99269ade3e237fdda6ae0763ff445c1e9f1ead3ccbabf811"},{"version":"1052591aba05b67c740a3083ae23908b6300b458644f9efde9ee1136f8f8286f","signature":"86e91c6c4802ee0c58321e11843700347d0a6c96b54eed26120f864e2633f7f0"},{"version":"c2d766405b9aeb2ea0a361d6b20d5c13cb53b1d80fc7987a782290ff7fd2841e","signature":"d36d0271794817a17d4d4b16512124d63598d63865f0b463198df277efeeb50c"},{"version":"081ccfb71026154f54b6b84fc650ae26eadbe3479db5db6a19129b32a18f7a44","signature":"9cd0538f92670225ec705f807a60230305f4f0c5d692f335f3559ef8e5cae5bb"},{"version":"fc3a94f85a27ce812f2be55e9c437110a0db0f54667a48333c642dc3880233db","signature":"f55ef8bc0d08f60bb2d78d7ed6fe16841dae1b28fc6c90312965fd0be7a4f2e3"},{"version":"5808c9bbba0ab03eb130630bc32b6692c3390855db1f2e748f97cbc29b8fd964","signature":"38dea9a33e02e90decc87c92aedb9d8c67235d0cbe688eef76b097a2ab816c40"},{"version":"ae91e0d01ed4660d98c3d6e13ea4702a644c845e4da567ea4f60186be03a807c","signature":"c9c95f3a911f293a7f0543489e4e9f5cbae5c2a48512f2558f410e837954c84a"},{"version":"5b5b94ce3583cc1d499291cd5af25b4317edd30d8f357d7d5b663ccad67e7f43","signature":"02adea311a13d428b2cfc745b1cd66262a0e73baaaff60db61cf15385ea68a0f"},{"version":"db74e32261245d20431463dd99cd80b7aac5210e908853795e2c930c4efe6247","signature":"cf48523de787efc9ac71127acd2ef55583c59ecb7a065547663c528011585002"},{"version":"50afedc71ae02213d0d9c6d9ac33c1b9bd368111f10c4fc009b31683735a4821","signature":"2c4ab958639d3ac36d19642481b22f3d8d7e4cda46b32f3bbc1899c8c76cab77"},{"version":"41d9abef63d1bff758812f7e929951685fa5aac2bf8025c8aebcd766ce835515","signature":"2c3a4a44a47ee674a2d2ad23992c3ac3248afa2d4cbe303dd1db33a1cbdfdc67"},{"version":"93d77d0de925265d7b799cc640e54b6cecdb8848bc3053c466960af764403bff","signature":"f476fcd257806c4eeb0f091eade780be128ec3ff1e4c2650ecb3230f905663cf"},{"version":"ced9a92cc10f37f5e5404ce0a9f3a9cbbf4437cd42cad653c6c42d117c7bbcd8","signature":"5046cfb2433ec4266d7d43d7a9e37eec06910ec03d874705ddaedbde0c399b81"},{"version":"996e96cb435d4f03c2327581490045b0bc7e86e1a0189b0002c87855bc5bb742","signature":"bc3c4741cce078c5fcafb904ed4406a8f924398fd0b0105619b321a8236939e0"},{"version":"d6418e84acd80f7992ec99561c92443a454ae7ba88014779e1822345dfddff5d","signature":"a5e5e09e1a2fa50805e49ead553ce6bbc0a900ab1c1529da36a1125c8cde636c"},{"version":"c1fbd353a499bbee666f6a4df772fe3e7ecca074967691f8612b7abfc63c6126","signature":"ff7ccdd97c6146e8c18b258f38819e32a65c67372e6d8e95c7cbdde1b08a63c0"},{"version":"fb2d13d1c1a698dab6d29e729f5580ade199d53e3ce030c83e100572fd301a9d","signature":"fb29a358c7c69a89fdda03377186cb07db0d1fe9f23136404e647cb4c1bbf2f0"},{"version":"4a2c144ea6f441e9616ec77fe9b1009b0cdf6db0cd9727b8d99623975cd6c693","affectsGlobalScope":true},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true},{"version":"e78f77d6773a6fe045e871b11f905b1578f1591f6406e2d7e675fb38e30f5d38","affectsGlobalScope":true},{"version":"b3fce266ad5f8b1a3c574e9cd3bbdb01530220fec09cbbbcea88284a6e9caefb","signature":"572ecc70305e3cc8e956ca07ecceb03b8078182fbfe9d7417d59fc0204065204"},{"version":"79f693d9e4b799e195beb9a76c12413e648d417747926728c620891a6e17209c","signature":"234ce206d873fad2c650f378a16aa7ffac7f9b8be70cef954d592b194090cdf4"},{"version":"0a27165964bab83323f9f413002308be932f79e9e9b6a961e1855f582352d75c","signature":"b621976a2b5327d217244a73ab29bfb2fec039c2f993cc2317e9b6c1aa944e97"},{"version":"fa7a9fa20ed04b4fe4761bb99cb7ff4d5b4ecf8fd77ee374ed85568c7c09cf71","signature":"df7fe58add570dcc400ec01d582edb4d2d8103d752355183fd5ccbcc29f0f382"},{"version":"42c4df4fb69e235624faf0b07e4861fed986359b012b3f00d27c189a7b760b26","signature":"05ede20ab1bd88aa64739732796b00b2b056ab9bacc11de2fe162b2f4f85570b"},"75b2c58d19200315e913f9d1743c7665062b60bd4b66fc8992f944ba5030ed0b","b978810946bdb81e042ed0d6a4d9a43aa31b74ab95cee06d18ae1ef95989bb27","41faca5faa6859bbe93224fdd4007353393807527d2fb674fbd83b2edfd16af3","438ad3eed057c98e23b55ffa592f96269f07242cce80ecb8ed823574de77aab0","8eef7568d606bb74f6fa6411b6c067637777f85c00079723a9397120dd92b350","2b74d6d9875fc0b0b512b5c6f1f1ca53d050da82909f72b4cc2cdef317695aba","2a4905817a3f71d0739ed8bfb7399ec43994c9a11b20ff872b1a958edbad1cba","ae330d2797dc8a25dc36f0ade8a4a84c826d6dd4f108af61448327c9e8acac4a","fc018e192395d4243f43355c9eec40d33b8e7e7b461d693b84472aba9b099e98","e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","9ebc2216a784e7fc97775fb7ab6976c6e2eb88662ff02a1a3c89a10546dac173","87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","4e3ffdea3d82359fb81c9187e3d1f3ca4101963ae5e664ab47484cf61af50ee9","474ab86e676e0c1b664bfcd21b1e58bed351f3390ba1d892e8da703f371b7a4e","fb7a601066e19b5d0c173b564bd46b358cf00c9040e79fb6fd427b7aa223eed1","cf59d474e0bb4c2f3bb3be647b435891c75115f1aa9e2908b28df9dea1604be2","1535a7688c7368b2d187873760dd26c14ed28fbc0802e521aae65c30bfbb434e","c0fdc1c9e8770da790089cb0d263670cb7a22ff4193b352717936d0dd08fe26b","ee4f1e199e9d9ef5dc833b2e86d612cb152ff2c7e0e818bd117d43d791a009f3","a7975589eea94f2a13153955364398522d9a265aa2a52def61d29f752b48cc91","505fc5216cbc33392601267fa3267bf3ab582bcd8658a0c9df440f20bbd28eb8","915eb1ccca9749232f561793d1d5bbee60018edeeefe60582e23bed9cc21a866",{"version":"b3a23f34c244034103ae30c83a4f60673d3ce937c8760bdba099ca7359edb047","signature":"db703e881db6210eff0885c810406deac036ee74e9f8f108726087c19865ffef"},{"version":"26d96a2a31e1b6ffd20a5384fc33e0ae00941c83e52ac47438d4e6f2f4b8dd8b","signature":"b5c1d6282e82618c6e3f76f27cb95b4f77317ff3256e543205104667f9e49e75"},{"version":"18b74304da90c9c443c5f4adc6bf62597ad160267baeabfa7c68d68b93e122b8","signature":"8eabf89b26db8ed9b0b21fb9b293a86491953f3541ae3724f1f94b09efd50f0f"},{"version":"586a9e4cf976911f4a6ae71bdf134851e4e5bb6d73a4e47c45fccb519a772460","signature":"b5c1d6282e82618c6e3f76f27cb95b4f77317ff3256e543205104667f9e49e75"},"b64130f62287a8a5a9b9f6b95176fdbe2fae14c3a38021e8418c991805605208",{"version":"714d7e0144ab0800233e3d08068222077c39b1f7537f5b404dac99be94dcbbed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b89e9542d27eebc95519a06d1216e30bbaf80c397e5c99892200ed95dbb9b8c1","signature":"b5c1d6282e82618c6e3f76f27cb95b4f77317ff3256e543205104667f9e49e75"},{"version":"e015c382b4e6b80f9441c57162c1a8ba00ad8473836a008276fb24a8b1332b61","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b0e4287bd6f35e181c6c9d425ad749a90597d6500d12145550b222bbfe320e03","signature":"2b5c9332994209d32c196cffe397048aed4c703a33f56acd60b4c874c7820a1d"},{"version":"0cca0ce18b15aff5651858ba3010cbf8049f178515c619f92dc4be32a7f16ed5","signature":"3726144e16b728be581391927125e7646972bf03d16da53765a110074aec4f46"},{"version":"c86dddd25c18b81ec16b19d72122bd5c8b797f638fe885bd755aa569de745724","signature":"35c0c52329b46bfde35d66bba45a8a8d0baaef14c22ccae54aac35d051d1933f"},{"version":"999f249ad6593c0b0d56cc46a856fd3cd80c733797edc55cca5afc096a91d062","signature":"1ef439177515fe39f96186999604cd50bf32841e8bb92733db8dc82faa511da3"},{"version":"1c9034264192f82c33eebd0a307998b7129cfff3ef898042d87de112a900bb3a","signature":"b2ec3b16946182dc902d0ed34682889cc745eeac6ea7bf3b9e85aedef00f9ce6"},{"version":"a1a82c2abd348803ff8d4d3a21528cde55d08f827acc23b611ee1fbf02432c53","signature":"aeeed088eb4c918d5ae70da407d11c8c3844e6ee15bb77036e080d85fbe87b86"},{"version":"29e8bd2ad1a898f11c10c458408561cc169de729e5f654150cb4269aa0927c0a","signature":"68bfea5e9e81fba63fb2b2f0741c7764fe7032c978937edeb5efb4b7e024e234"},{"version":"444edc62c3abe588a14e77b932a18b78a5dffed24bd5e15a5a7041b0b3290810","signature":"96b25de43fef4d114812993b253d511e037f3239ebc542141b0734fb2f408b41"},{"version":"089cdffc4b79a5323e34817fc82f43e0d43abbb45a6043917aac02fedcba433b","signature":"877582b6d874e2cb021bc44ca81670cafaca7bae6c5e884de3dc1934bdcf8404"},"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true},"3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true},"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89",{"version":"b6a4a51bc749ad882c33d98563ff5a94716ca884bfde949a8c97bad530e4ee2c","affectsGlobalScope":true},"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","fe39ceafa361b6d339b518936275eff89a77e7dfe92f2efa5fb97abf9a95ca49",{"version":"4009dd21843fe4a62d1d97b584a2937ca9f045df6fbd65c8b264d8dd04b656fd","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","c9e6ea53a25729dbb5b5bb6960db4387df2f8e88add9cbf36b6ff590481134f9","3e95e6310d49db6d575ac6c2896c02761426aa5aab0b18169f971151c709b770","7eb0662b995994db248290a0f0a1d8ed685991a162ff9eb4dee36f099cccd0d9","bea5c9fc0843a6961411ab4a04df856a8372448bc0d180da0c3a054ff31044b8","715873cecbfcebb49f293f0521bd0955d6298486e2eeb9c7bbf5e9f20a6ed152","c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"6c7b9d2139abd8f2e83ed8fa018c3799ab3187755a6665621feb6e93d3429ac3","affectsGlobalScope":true},"a019c9782ea4e21c83881c780cebce8ad86e3f78122619336eacbd87e47fe674","021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","5899ab1898582115c432cccef063298f75477bf2cebe5473360043fddd67bcc6","6b97f4106d72ae6b4ebf4e46d2fe90f4d04dd04b3dbff6e294572440a428209d","e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","48fedd2f8549a2ae7e62f30fdb015779c2a7b536760730c5269406cd3d17cab2",{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true},"c874bfffe38a94b129077eaba4e26575972d545d5d04cd64e90c02d2c029ead6","f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c",{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true},{"version":"4ee9304173804c2c6dff4fcb8ad900619a4078b30d37f7e455236836e8e87a45","affectsGlobalScope":true},"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","6e4b2642721462bf62d19593770659f268a6ca1e9fd15543747efb3ac471cee3","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","4b1ff655bd8edd879dd4f04f15338ce0109f58ccb424165d44fa07e7ea39c4bf",{"version":"6fa61015444e843013443f2e5ca6bee5f033cbf361f953fd932abb0c029b73b2","affectsGlobalScope":true},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","24b8c93eb91a64a6fbb877a295cfac4c10aa4660599970c954a99d33697534a3","76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02",{"version":"ca619678b887ae262316673b55bb358c517593d3b6b96c1271972716c699da32","affectsGlobalScope":true},{"version":"40ed27386f21a739bd0d2e2cfed563760588f2aeaa7ad149c1bf1454a7ec743a","affectsGlobalScope":true},"d1ef1d8516286380fd0a6f498f1650d374a8cb5f03d91633b6124e4fb8fb131d","fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","2641e5e19268b6f5038ad48a6e2598965301df8a77c48c99d8df760a6a154204",{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true},"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":7,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":false,"noUnusedLocals":true,"noUnusedParameters":false,"outDir":"..","removeComments":false,"rootDir":"../../..","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":7},"fileIdsList":[[49,65,69,70,212],[212],[203,212],[56,61,65,69,70,73,212],[68,69,70,212],[69,70,212],[57,68,69,212],[56,58,65,69,70,186,208,212],[59,62,212],[56,58,60,61,65,69,173,175,186,190,206,212],[57,68,69,70,175,186,212],[67,69,212],[68,69,186,212],[53,68,69,70,186,212],[53,66,68,69,70,212],[52,69,75,212],[52,64,69,77,212],[49,63,65,69,70,190,203,212],[49,52,54,55,64,66,69,70,71,203,212],[49,52,54,55,65,69,70,203,212],[52,56,68,71,186,212],[51,69,212],[49,52,65,69,70,71,72,74,203,212],[52,63,65,69,70,71,72,203,212],[52,65,69,203,212],[52,69,80,84,85,86,87,88,112,113,212],[52,69,84,85,87,88,115,212],[175,212],[81,82,83,212],[54,212],[78,80,85,86,112,113,115,121,212],[52,75,212],[78,212],[117,212],[52,69,84,87,88,212],[52,80,81,85,86,87,88,112,113,212],[81,212],[50,212],[81,82,212],[133,212],[169,212],[170,175,203,212],[171,182,183,190,200,211,212],[171,172,182,190,212],[173,212],[174,175,183,191,212],[175,200,208,212],[176,178,182,190,212],[177,212],[178,179,212],[182,212],[180,182,212],[169,182,212],[182,183,184,200,211,212],[182,183,184,197,200,203,212],[167,212,216],[178,182,185,190,200,211,212],[182,183,185,186,190,200,208,211,212],[185,187,200,208,211,212],[133,134,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],[182,188,212],[189,211,212,216],[178,182,190,200,212],[191,212],[192,212],[169,193,212],[194,210,212,216],[195,212],[196,212],[182,197,198,212],[197,199,212,214],[170,182,200,201,202,203,212],[170,200,202,212],[200,201,212],[204,212],[169,200,212],[182,206,207,212],[206,207,212],[175,190,200,208,212],[209,212],[190,210,212],[170,185,196,211,212],[200,212,213],[189,212,214],[212,215],[170,175,182,184,193,200,211,212,214,216],[200,212,217],[170,171,200,212],[92,212],[103,104,105,106,212],[94,95,212],[94,212],[96,212],[97,212],[93,212],[93,99,212],[95,98,99,100,101,102,212],[92,93,94,96,97,212],[92,93,96,212],[108,212],[89,90,91,108,109,110,111,212],[103,107,212],[144,148,211,212],[144,200,211,212],[139,212],[141,144,208,211,212],[190,208,212],[212,219],[139,212,219],[141,144,190,211,212],[136,137,140,143,170,182,200,211,212],[136,142,212],[140,144,170,203,211,212,219],[170,212,219],[160,170,212,219],[138,139,212,219],[144,212],[138,139,140,141,142,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,212],[144,151,152,212],[142,144,152,153,212],[143,212],[136,139,144,212],[144,148,152,153,212],[148,212],[142,144,147,211,212],[136,141,142,144,148,151,212],[170,200,212],[139,144,160,170,212,216,219],[65,69,125,126,176,179,212],[125,127,128,183,189,192,194,211,212],[65,69,125,126,176,178,179,212],[69,124,125,175,176,208,212],[52,212],[51,124,212],[65,69],[69],[52,65,69,186],[65,69,186,190],[186],[69,186],[66,69],[52,69],[52,64,69,71,203],[52,65,69,203],[52,56,68,71,186],[49,52,203],[52,203],[52],[65,69,178],[65,178],[69,124,176],[124]],"referencedMap":[[71,1],[52,2],[49,2],[55,3],[74,4],[73,5],[53,6],[58,7],[59,8],[63,9],[62,10],[60,11],[68,12],[57,13],[56,14],[67,15],[61,2],[76,16],[78,17],[64,18],[65,19],[66,20],[69,21],[70,22],[79,2],[54,3],[75,23],[77,24],[72,25],[114,26],[116,27],[121,28],[84,29],[113,2],[115,2],[87,2],[85,30],[80,30],[122,31],[123,32],[88,33],[86,2],[118,34],[119,35],[120,36],[82,37],[81,2],[51,38],[83,39],[130,2],[131,2],[132,2],[50,2],[133,40],[134,40],[169,41],[170,42],[171,43],[172,44],[173,45],[174,46],[175,47],[176,48],[177,49],[178,50],[179,50],[181,51],[180,52],[182,53],[183,54],[184,55],[168,56],[218,2],[185,57],[186,58],[187,59],[219,60],[188,61],[189,62],[190,63],[191,64],[192,65],[193,66],[194,67],[195,68],[196,69],[197,70],[198,70],[199,71],[200,72],[202,73],[201,74],[203,3],[204,75],[205,76],[206,77],[207,78],[208,79],[209,80],[210,81],[211,82],[212,28],[213,83],[214,84],[215,85],[216,86],[217,87],[135,2],[117,88],[106,89],[92,2],[107,90],[96,91],[102,2],[95,92],[97,93],[105,94],[104,94],[99,95],[100,96],[93,2],[103,97],[98,98],[94,99],[101,2],[9,2],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[8,2],[47,2],[44,2],[45,2],[46,2],[1,2],[48,2],[89,2],[90,2],[91,2],[109,100],[112,101],[110,100],[108,102],[111,2],[151,103],[158,104],[150,103],[165,105],[142,106],[141,107],[164,108],[159,109],[162,110],[144,111],[143,112],[139,113],[138,114],[161,115],[140,116],[145,117],[146,2],[149,117],[136,2],[167,118],[166,117],[153,119],[154,120],[156,121],[152,122],[155,123],[160,108],[147,124],[148,125],[157,126],[137,127],[163,128],[127,129],[129,130],[128,131],[126,132],[124,133],[125,134]],"exportedModulesMap":[[71,135],[74,135],[73,136],[53,136],[59,137],[62,138],[60,139],[68,136],[57,140],[56,140],[67,141],[76,142],[78,142],[64,136],[65,143],[66,144],[69,145],[70,136],[75,146],[77,147],[72,144],[114,136],[116,136],[123,148],[119,136],[82,37],[81,2],[51,38],[83,39],[130,2],[131,2],[132,2],[50,2],[133,40],[134,40],[169,41],[170,42],[171,43],[172,44],[173,45],[174,46],[175,47],[176,48],[177,49],[178,50],[179,50],[181,51],[180,52],[182,53],[183,54],[184,55],[168,56],[218,2],[185,57],[186,58],[187,59],[219,60],[188,61],[189,62],[190,63],[191,64],[192,65],[193,66],[194,67],[195,68],[196,69],[197,70],[198,70],[199,71],[200,72],[202,73],[201,74],[203,3],[204,75],[205,76],[206,77],[207,78],[208,79],[209,80],[210,81],[211,82],[212,28],[213,83],[214,84],[215,85],[216,86],[217,87],[135,2],[117,88],[106,89],[92,2],[107,90],[96,91],[102,2],[95,92],[97,93],[105,94],[104,94],[99,95],[100,96],[93,2],[103,97],[98,98],[94,99],[101,2],[9,2],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[8,2],[47,2],[44,2],[45,2],[46,2],[1,2],[48,2],[89,2],[90,2],[91,2],[109,100],[112,101],[110,100],[108,102],[111,2],[151,103],[158,104],[150,103],[165,105],[142,106],[141,107],[164,108],[159,109],[162,110],[144,111],[143,112],[139,113],[138,114],[161,115],[140,116],[145,117],[146,2],[149,117],[136,2],[167,118],[166,117],[153,119],[154,120],[156,121],[152,122],[155,123],[160,108],[147,124],[148,125],[157,126],[137,127],[163,128],[127,149],[128,150],[126,151],[124,148],[125,152]],"semanticDiagnosticsPerFile":[71,52,49,55,74,73,53,58,59,63,62,60,68,57,56,67,61,76,78,64,65,66,69,70,79,54,75,77,72,114,116,121,84,113,115,87,85,80,122,123,88,86,118,119,120,82,81,51,83,130,131,132,50,133,134,169,170,171,172,173,174,175,176,177,178,179,181,180,182,183,184,168,218,185,186,187,219,188,189,190,191,192,193,194,195,196,197,198,199,200,202,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,135,117,106,92,107,96,102,95,97,105,104,99,100,93,103,98,94,101,9,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,1,48,89,90,91,109,112,110,108,111,151,158,150,165,142,141,164,159,162,144,143,139,138,161,140,145,146,149,136,167,166,153,154,156,152,155,160,147,148,157,137,163,127,129,128,126,124,125],"latestChangedDtsFile":"../transports/http3-quiche/lib/index.d.ts"},"version":"4.9.5"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export class Http3WebTransportClientSocket extends Http3WebTransportSocket {
|
|
3
|
+
/**
|
|
4
|
+
* @param {import('../../../main/lib/types.js').HttpWebTransportInit} args
|
|
5
|
+
*/
|
|
6
|
+
constructor(args: import('../../../main/lib/types.js').HttpWebTransportInit);
|
|
7
|
+
port: number;
|
|
8
|
+
host: string;
|
|
9
|
+
localPort: number | undefined;
|
|
10
|
+
forceIpv6: boolean;
|
|
11
|
+
/** @type {import('../../../main/lib/session.js').HttpClient} */
|
|
12
|
+
jsobj: import('../../../main/lib/session.js').HttpClient;
|
|
13
|
+
args: import("../../../main/lib/types.js").HttpWebTransportInit;
|
|
14
|
+
init(): void;
|
|
15
|
+
address: import("dns").LookupAddress | undefined;
|
|
16
|
+
closeClient(): void;
|
|
17
|
+
}
|
|
18
|
+
import { Http3WebTransportSocket } from "./socket.js";
|
|
19
|
+
//# sourceMappingURL=clientsocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientsocket.d.ts","sourceRoot":"","sources":["../../../../../transports/http3-quiche/lib/clientsocket.js"],"names":[],"mappings":";AAQA;IACE;;OAEG;IACH,kBAFW,OAAO,4BAA4B,EAAE,oBAAoB,EAenE;IATC,aAAwB;IACxB,aAAqC;IACrC,8BAAgC;IAChC,mBAAyC;IACzC,gEAAgE;IAEhE,OAFW,OAAO,8BAA8B,EAAE,UAAU,CAEtC;IAEtB,gEAAgB;IAGlB,aAyCC;IAtCK,iDAAqB;IAwC3B,oBAQC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const wtrouter: any;
|
|
2
|
+
export const quicheInit: any;
|
|
3
|
+
export function checkQuicheInit(args?: {
|
|
4
|
+
quicheLogVerbose?: number | undefined;
|
|
5
|
+
path?: string | undefined;
|
|
6
|
+
} | undefined): void;
|
|
7
|
+
export const Http3WebTransportClient: any;
|
|
8
|
+
export const Http3WebTransportServer: any;
|
|
9
|
+
export { Http3WebTransportClientSocket } from "./clientsocket.js";
|
|
10
|
+
export { Http3WebTransportServerSocket } from "./serversocket.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../transports/http3-quiche/lib/index.js"],"names":[],"mappings":"AA0BA,2BAAuC;AACvC,6BAA6C;AAOtC;;;qBAON;AAED,0CAAuE;AACvE,0CAAuE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class Http3WebTransportServerSocket extends Http3WebTransportSocket {
|
|
2
|
+
port: number;
|
|
3
|
+
host: string;
|
|
4
|
+
/** @type {import('../../../main/lib/session.js').HttpServer} */
|
|
5
|
+
jsobj: import('../../../main/lib/session.js').HttpServer;
|
|
6
|
+
/** @type {import('node:dns').LookupAddress|undefined} */
|
|
7
|
+
address: import('node:dns').LookupAddress | undefined;
|
|
8
|
+
init(): void;
|
|
9
|
+
stopServer(): void;
|
|
10
|
+
}
|
|
11
|
+
import { Http3WebTransportSocket } from "./socket.js";
|
|
12
|
+
//# sourceMappingURL=serversocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serversocket.d.ts","sourceRoot":"","sources":["../../../../../transports/http3-quiche/lib/serversocket.js"],"names":[],"mappings":"AAQA;IAQI,aAAwB;IACxB,aAAqC;IACrC,gEAAgE;IAEhE,OAFW,OAAO,8BAA8B,EAAE,UAAU,CAEtC;IAEtB,yDAAyD;IACzD,SADW,OAAO,UAAU,EAAE,aAAa,GAAC,SAAS,CAC7B;IAG1B,aA6CC;IAED,mBAKC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class Http3WebTransportSocket {
|
|
2
|
+
/**
|
|
3
|
+
* @param {import('../../../main/lib/types.js').HttpWebTransportInit|undefined} args
|
|
4
|
+
*/
|
|
5
|
+
constructor(args: import('../../../main/lib/types.js').HttpWebTransportInit | undefined);
|
|
6
|
+
/** @type {import('node:dgram').Socket} */
|
|
7
|
+
socketInt: import('node:dgram').Socket;
|
|
8
|
+
cobj: any;
|
|
9
|
+
chlosSched: boolean;
|
|
10
|
+
packetSendCB(): void;
|
|
11
|
+
doProcessBufferedChlos(): void;
|
|
12
|
+
blocked: boolean;
|
|
13
|
+
closed: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* @param {import('./types').UDPServerSocketSend} args
|
|
16
|
+
*/
|
|
17
|
+
sendPacket({ msg, offset, length, port, address }: import('./types').UDPServerSocketSend): boolean;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../../transports/http3-quiche/lib/socket.js"],"names":[],"mappings":"AAqEA;IACE;;OAEG;IACH,kBAFW,OAAO,4BAA4B,EAAE,oBAAoB,GAAC,SAAS,EAa7E;IAVC,0CAA0C;IAE1C,WAFW,OAAO,YAAY,EAAE,MAAM,CAEZ;IAE1B,UAAqB;IACrB,oBAAuB;IAgCzB,qBAKC;IA9BD,+BAGC;IAPC,iBAAoB;IACpB,gBAAmB;IAQrB;;OAEG;IAEH,mDAHW,OAAO,SAAS,EAAE,mBAAmB,WAiB/C;CAQF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WebTransportOptions } from '../../../main/lib/dom';
|
|
2
|
+
export interface UDPServerSocketSend {
|
|
3
|
+
msg: Uint8Array;
|
|
4
|
+
offset: number;
|
|
5
|
+
length: number;
|
|
6
|
+
port: number;
|
|
7
|
+
address: string;
|
|
8
|
+
}
|
|
9
|
+
export interface Logger {
|
|
10
|
+
(formatter: any, ...args: any[]): void;
|
|
11
|
+
error: (formatter: any, ...args: any[]) => void;
|
|
12
|
+
trace: (formatter: any, ...args: any[]) => void;
|
|
13
|
+
}
|
|
14
|
+
export interface HttpWebTransportInit extends WebTransportOptions {
|
|
15
|
+
host: string;
|
|
16
|
+
port: string | number;
|
|
17
|
+
quicheLogVerbose?: number;
|
|
18
|
+
forceIpv6?: boolean;
|
|
19
|
+
localPort?: number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../transports/http3-quiche/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAG,UAAU,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAC,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACtC,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC/C,KAAK,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAChD;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../transports/http3-quiche/lib/utils.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,6BAHW,MAAM,GACJ,OAAO,SAAS,EAAE,MAAM,CAOpC"}
|
package/lib/features.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
let canByteStream_ = true
|
|
2
|
+
try {
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
// eslint-disable-next-line no-unused-vars
|
|
5
|
+
const teststream = new ReadableStream({
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
start: (
|
|
8
|
+
/** @type {import("stream/web").ReadableByteStreamController} */ controller
|
|
9
|
+
) => {},
|
|
10
|
+
type: 'bytes'
|
|
11
|
+
})
|
|
12
|
+
} catch (error) {
|
|
13
|
+
canByteStream_ = false
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const canByteStream = canByteStream_
|
|
@@ -140,6 +140,58 @@ export class Http2WebTransportBrowser {
|
|
|
140
140
|
tokens = tokens.slice(1)
|
|
141
141
|
}
|
|
142
142
|
error = tokens.join(':')
|
|
143
|
+
} else {
|
|
144
|
+
switch (code) {
|
|
145
|
+
case 1001:
|
|
146
|
+
error = 'Going Away'
|
|
147
|
+
break
|
|
148
|
+
case 1002:
|
|
149
|
+
error = 'Protocol error'
|
|
150
|
+
break
|
|
151
|
+
case 1003:
|
|
152
|
+
error = 'Unsupported data'
|
|
153
|
+
break
|
|
154
|
+
case 1004:
|
|
155
|
+
error = 'Reserved'
|
|
156
|
+
break
|
|
157
|
+
case 1005:
|
|
158
|
+
error = 'No Status Rcvd'
|
|
159
|
+
break
|
|
160
|
+
case 1006:
|
|
161
|
+
error = 'Abnormal Closure'
|
|
162
|
+
break
|
|
163
|
+
case 1007:
|
|
164
|
+
error = 'Invalid frame payload data'
|
|
165
|
+
break
|
|
166
|
+
case 1008:
|
|
167
|
+
error = 'Policy Violation'
|
|
168
|
+
break
|
|
169
|
+
case 1009:
|
|
170
|
+
error = 'Message Too Big'
|
|
171
|
+
break
|
|
172
|
+
case 1010:
|
|
173
|
+
error = 'Mandatory Ext.'
|
|
174
|
+
break
|
|
175
|
+
case 1011:
|
|
176
|
+
error = 'Internal error'
|
|
177
|
+
break
|
|
178
|
+
case 1012:
|
|
179
|
+
error = 'Service Restart'
|
|
180
|
+
break
|
|
181
|
+
case 1013:
|
|
182
|
+
error = 'Try Again Later'
|
|
183
|
+
break
|
|
184
|
+
case 1014:
|
|
185
|
+
error = 'Bad Gateway'
|
|
186
|
+
break
|
|
187
|
+
case 1015:
|
|
188
|
+
error = 'TLS handshake'
|
|
189
|
+
break
|
|
190
|
+
case 1000:
|
|
191
|
+
default:
|
|
192
|
+
error = ''
|
|
193
|
+
break
|
|
194
|
+
}
|
|
143
195
|
}
|
|
144
196
|
nativesession.jsobj.onClose({
|
|
145
197
|
errorcode: code,
|
|
@@ -288,4 +288,12 @@ export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
|
288
288
|
if (blocked) this.blocked = true
|
|
289
289
|
return blocked
|
|
290
290
|
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* @param {number} code
|
|
294
|
+
*/
|
|
295
|
+
closeHttp2Stream(code) {
|
|
296
|
+
this.stream.close(code)
|
|
297
|
+
this.stream.destroy()
|
|
298
|
+
}
|
|
291
299
|
}
|
package/lib/http2/node/server.js
CHANGED
|
@@ -193,6 +193,9 @@ export class Http2WebTransportServer {
|
|
|
193
193
|
)
|
|
194
194
|
|
|
195
195
|
this.serverInt.on('stream', (stream, header) => {
|
|
196
|
+
stream.on('error', () => {
|
|
197
|
+
// we ignore errors, here, another handler is installed later
|
|
198
|
+
})
|
|
196
199
|
if (header[':method'] !== 'CONNECT') {
|
|
197
200
|
// Only accept CONNECT requests
|
|
198
201
|
stream.respond({
|
|
@@ -207,7 +210,7 @@ export class Http2WebTransportServer {
|
|
|
207
210
|
let websocketProt
|
|
208
211
|
if (
|
|
209
212
|
header[':protocol'] === 'websocket' &&
|
|
210
|
-
header['
|
|
213
|
+
header['sec-websocket-protocol']
|
|
211
214
|
) {
|
|
212
215
|
websocketProt = this.checkProtocolHeader(header)
|
|
213
216
|
}
|
|
@@ -225,7 +228,10 @@ export class Http2WebTransportServer {
|
|
|
225
228
|
stream.close(constants.NGHTTP2_REFUSED_STREAM)
|
|
226
229
|
return
|
|
227
230
|
}
|
|
228
|
-
|
|
231
|
+
let path = header[':path']
|
|
232
|
+
while (path.length > 1 && path[0] === '/' && path[1] === '/') {
|
|
233
|
+
path = path?.slice(1)
|
|
234
|
+
}
|
|
229
235
|
if (this.paths[path]) {
|
|
230
236
|
const retObj = {
|
|
231
237
|
session: new Http2WebTransportSession({
|
|
@@ -279,7 +285,7 @@ export class Http2WebTransportServer {
|
|
|
279
285
|
':status': '200'
|
|
280
286
|
}
|
|
281
287
|
// @ts-ignore
|
|
282
|
-
if (websocketProt) resp['
|
|
288
|
+
if (websocketProt) resp['sec-websocket-protocol'] = websocketProt
|
|
283
289
|
stream.respond(resp)
|
|
284
290
|
this.jsobj.onHttpWTSessionVisitor(retObj)
|
|
285
291
|
} else if (this.hasrequesthandler) {
|
|
@@ -292,7 +298,7 @@ export class Http2WebTransportServer {
|
|
|
292
298
|
':status': '200'
|
|
293
299
|
}
|
|
294
300
|
// @ts-ignore
|
|
295
|
-
if (websocketProt) resp['
|
|
301
|
+
if (websocketProt) resp['sec-websocket-protocol'] = websocketProt
|
|
296
302
|
stream.respond(resp)
|
|
297
303
|
this.jsobj.onSessionRequest(retObj)
|
|
298
304
|
} else {
|
|
@@ -81,6 +81,7 @@ function readQWord(bs) {
|
|
|
81
81
|
* @param{number} length
|
|
82
82
|
*/
|
|
83
83
|
function applyMask(ms, buffer, offset, length) {
|
|
84
|
+
// Note offset: includes the byteOffset into the buffer
|
|
84
85
|
if (length > 24) {
|
|
85
86
|
let run = 0
|
|
86
87
|
// alignment preamble, inspired from ws bufferutil
|
|
@@ -102,11 +103,11 @@ function applyMask(ms, buffer, offset, length) {
|
|
|
102
103
|
const data64 = new BigUint64Array(
|
|
103
104
|
buffer.buffer,
|
|
104
105
|
run + offset,
|
|
105
|
-
Math.floor((
|
|
106
|
+
Math.floor((length - run) / 8)
|
|
106
107
|
)
|
|
107
108
|
const workmask64 = new BigUint64Array(workmask.buffer)
|
|
108
109
|
let run64 = 0
|
|
109
|
-
while (run + 8
|
|
110
|
+
while (run + 8 < length) {
|
|
110
111
|
data64[run64] ^= workmask64[0]
|
|
111
112
|
run += 8
|
|
112
113
|
run64++
|
|
@@ -740,7 +741,7 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
740
741
|
applyMask(
|
|
741
742
|
maskstate,
|
|
742
743
|
bufferstate.buffer,
|
|
743
|
-
bufferstate.offset,
|
|
744
|
+
bufferstate.offset + bufferstate.buffer.byteOffset,
|
|
744
745
|
endmask - beginmask
|
|
745
746
|
)
|
|
746
747
|
if (payload)
|
|
@@ -826,4 +827,17 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
826
827
|
if (blocked) this.blocked = true
|
|
827
828
|
return blocked
|
|
828
829
|
}
|
|
830
|
+
|
|
831
|
+
/**
|
|
832
|
+
* @param {number} code
|
|
833
|
+
*/
|
|
834
|
+
closeHttp2Stream(code) {
|
|
835
|
+
const stream = this.stream
|
|
836
|
+
if (stream.close) {
|
|
837
|
+
stream.setTimeout(1000, () =>
|
|
838
|
+
stream.close(0x00 /* aka NGHTTP2_NO_ERROR */)
|
|
839
|
+
)
|
|
840
|
+
} else if (stream.end) stream.end()
|
|
841
|
+
else throw new Error('http2:session not close method')
|
|
842
|
+
}
|
|
829
843
|
}
|
package/lib/http2/parserbase.js
CHANGED
|
@@ -136,4 +136,11 @@ export class ParserBase {
|
|
|
136
136
|
const object = this.wtstreams.get(Number(streamid))
|
|
137
137
|
if (object && offset) object.flowController.reportBlocked(offset)
|
|
138
138
|
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @param {number} code
|
|
142
|
+
*/
|
|
143
|
+
closeHttp2Stream(code) {
|
|
144
|
+
throw new Error('Implement closeHttp2Stream in derived Class')
|
|
145
|
+
}
|
|
139
146
|
}
|
package/lib/http2/session.js
CHANGED
|
@@ -157,11 +157,7 @@ export class Http2WebTransportSession {
|
|
|
157
157
|
this.capsParser.sendClose({ code, reason }) // this includes for ws closing the session!
|
|
158
158
|
// what to do with the reason
|
|
159
159
|
if (this.stream) {
|
|
160
|
-
|
|
161
|
-
this.stream.close(code)
|
|
162
|
-
this.stream.destroy()
|
|
163
|
-
} else if (this.stream.end) this.stream.end()
|
|
164
|
-
else throw new Error('http2:session not close method')
|
|
160
|
+
this.capsParser.closeHttp2Stream(code)
|
|
165
161
|
}
|
|
166
162
|
}
|
|
167
163
|
|
package/lib/session.js
CHANGED
|
@@ -2,6 +2,7 @@ import { ReadableStream, WritableStream } from './webstreams.js'
|
|
|
2
2
|
import { HttpWTStream } from './stream.js'
|
|
3
3
|
import { WebTransportError } from './error.js'
|
|
4
4
|
import { logger } from './utils.js'
|
|
5
|
+
import { canByteStream } from './features.js'
|
|
5
6
|
|
|
6
7
|
const pid = typeof process !== 'undefined' ? process.pid : 0
|
|
7
8
|
const log = logger(`webtransport:httpwtsession(${pid})`)
|
|
@@ -113,19 +114,23 @@ export class HttpWTSession {
|
|
|
113
114
|
this.writeDatagramRej = []
|
|
114
115
|
/** @type {Array<Promise<void>>} */
|
|
115
116
|
this.writeDatagramProm = []
|
|
116
|
-
|
|
117
|
+
const readableopts = {
|
|
118
|
+
start: (
|
|
119
|
+
/** @type {import("stream/web").ReadableByteStreamController} */ controller
|
|
120
|
+
) => {
|
|
121
|
+
this.incomDatagramController = controller
|
|
122
|
+
},
|
|
123
|
+
type: 'bytes'
|
|
124
|
+
}
|
|
125
|
+
if (!canByteStream) {
|
|
126
|
+
// @ts-ignore
|
|
127
|
+
delete readableopts.type
|
|
128
|
+
}
|
|
117
129
|
/** @type {WebTransportDatagramDuplexStream} */
|
|
118
130
|
this.datagrams = {
|
|
119
131
|
/** @type {ReadableStream<Uint8Array>} */
|
|
120
132
|
// @ts-ignore
|
|
121
|
-
readable: new ReadableStream(
|
|
122
|
-
start: (
|
|
123
|
-
/** @type {import("stream/web").ReadableByteStreamController} */ controller
|
|
124
|
-
) => {
|
|
125
|
-
this.incomDatagramController = controller
|
|
126
|
-
},
|
|
127
|
-
type: 'bytes'
|
|
128
|
-
}),
|
|
133
|
+
readable: new ReadableStream(readableopts),
|
|
129
134
|
writable: new WritableStream({
|
|
130
135
|
start: (controller) => {
|
|
131
136
|
this.outgoDatagramController = controller
|
|
@@ -548,8 +553,9 @@ export class HttpWTSession {
|
|
|
548
553
|
)
|
|
549
554
|
destview.set(args.datagram)
|
|
550
555
|
byob.respond(args.datagram.byteLength)
|
|
556
|
+
} else {
|
|
557
|
+
this.incomDatagramController.enqueue(new Uint8Array(args.datagram))
|
|
551
558
|
}
|
|
552
|
-
this.incomDatagramController.enqueue(new Uint8Array(args.datagram))
|
|
553
559
|
}
|
|
554
560
|
|
|
555
561
|
/**
|