@protontech/openpgp 5.4.0 → 5.5.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/dist/lightweight/bn.interface.min.mjs +1 -1
- package/dist/lightweight/bn.interface.mjs +1 -1
- package/dist/lightweight/bn.min.mjs +1 -1
- package/dist/lightweight/bn.mjs +1 -1
- package/dist/lightweight/elliptic.min.mjs +1 -1
- package/dist/lightweight/elliptic.mjs +1 -1
- package/dist/lightweight/openpgp.min.mjs +2 -2
- package/dist/lightweight/openpgp.min.mjs.map +1 -1
- package/dist/lightweight/openpgp.mjs +33 -26
- package/dist/lightweight/ponyfill.es6.min.mjs +1 -1
- package/dist/lightweight/ponyfill.es6.mjs +1 -1
- package/dist/lightweight/web-streams-adapter.min.mjs +1 -1
- package/dist/lightweight/web-streams-adapter.mjs +1 -1
- package/dist/node/openpgp.js +33 -26
- package/dist/node/openpgp.min.js +2 -2
- package/dist/node/openpgp.min.js.map +1 -1
- package/dist/node/openpgp.min.mjs +2 -2
- package/dist/node/openpgp.min.mjs.map +1 -1
- package/dist/node/openpgp.mjs +33 -26
- package/dist/openpgp.js +33 -26
- package/dist/openpgp.min.js +2 -2
- package/dist/openpgp.min.js.map +1 -1
- package/dist/openpgp.min.mjs +2 -2
- package/dist/openpgp.min.mjs.map +1 -1
- package/dist/openpgp.mjs +33 -26
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
1
|
+
/*! OpenPGP.js v5.5.0 - 2022-10-31 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3
3
|
|
|
4
4
|
const doneWritingPromise = Symbol('doneWritingPromise');
|
|
@@ -1770,7 +1770,7 @@ const util = {
|
|
|
1770
1770
|
*/
|
|
1771
1771
|
printDebug: function (str) {
|
|
1772
1772
|
if (debugMode) {
|
|
1773
|
-
console.log(str);
|
|
1773
|
+
console.log('[OpenPGP.js debug]', str);
|
|
1774
1774
|
}
|
|
1775
1775
|
},
|
|
1776
1776
|
|
|
@@ -1781,7 +1781,7 @@ const util = {
|
|
|
1781
1781
|
*/
|
|
1782
1782
|
printDebugError: function (error) {
|
|
1783
1783
|
if (debugMode) {
|
|
1784
|
-
console.error(error);
|
|
1784
|
+
console.error('[OpenPGP.js debug]', error);
|
|
1785
1785
|
}
|
|
1786
1786
|
},
|
|
1787
1787
|
|
|
@@ -2884,7 +2884,7 @@ var defaultConfig = {
|
|
|
2884
2884
|
* @memberof module:config
|
|
2885
2885
|
* @property {String} versionString A version string to be included in armored messages
|
|
2886
2886
|
*/
|
|
2887
|
-
versionString: 'OpenPGP.js 5.
|
|
2887
|
+
versionString: 'OpenPGP.js 5.5.0',
|
|
2888
2888
|
/**
|
|
2889
2889
|
* @memberof module:config
|
|
2890
2890
|
* @property {String} commentString A comment string to be included in armored messages
|
|
@@ -3101,15 +3101,17 @@ function createcrc24(input) {
|
|
|
3101
3101
|
}
|
|
3102
3102
|
|
|
3103
3103
|
/**
|
|
3104
|
-
* Verify armored headers.
|
|
3105
|
-
*
|
|
3104
|
+
* Verify armored headers. crypto-refresh-06, section 6.2:
|
|
3105
|
+
* "An OpenPGP implementation may consider improperly formatted Armor
|
|
3106
|
+
* Headers to be corruption of the ASCII Armor, but SHOULD make an
|
|
3107
|
+
* effort to recover."
|
|
3106
3108
|
* @private
|
|
3107
3109
|
* @param {Array<String>} headers - Armor headers
|
|
3108
3110
|
*/
|
|
3109
3111
|
function verifyHeaders(headers) {
|
|
3110
3112
|
for (let i = 0; i < headers.length; i++) {
|
|
3111
3113
|
if (!/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(headers[i])) {
|
|
3112
|
-
|
|
3114
|
+
util.printDebugError(new Error('Improperly formatted armor header: ' + headers[i]));
|
|
3113
3115
|
}
|
|
3114
3116
|
if (!/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(headers[i])) {
|
|
3115
3117
|
util.printDebugError(new Error('Unknown header: ' + headers[i]));
|
|
@@ -3303,7 +3305,7 @@ function armor(messageType, body, partIndex, partTotal, customComment, config =
|
|
|
3303
3305
|
result.push('-----END PGP MESSAGE, PART ' + partIndex + '-----\n');
|
|
3304
3306
|
break;
|
|
3305
3307
|
case enums.armor.signed:
|
|
3306
|
-
result.push('
|
|
3308
|
+
result.push('-----BEGIN PGP SIGNED MESSAGE-----\n');
|
|
3307
3309
|
result.push('Hash: ' + hash + '\n\n');
|
|
3308
3310
|
result.push(text.replace(/^-/mg, '- -'));
|
|
3309
3311
|
result.push('\n-----BEGIN PGP SIGNATURE-----\n');
|
|
@@ -23254,6 +23256,11 @@ class SignaturePacket {
|
|
|
23254
23256
|
// Add hashed subpackets
|
|
23255
23257
|
arr.push(this.writeHashedSubPackets());
|
|
23256
23258
|
|
|
23259
|
+
// Remove unhashed subpackets, in case some allowed unhashed
|
|
23260
|
+
// subpackets existed, in order not to duplicate them (in both
|
|
23261
|
+
// the hashed and unhashed subpackets) when re-signing.
|
|
23262
|
+
this.unhashedSubpackets = [];
|
|
23263
|
+
|
|
23257
23264
|
this.signatureData = util.concat(arr);
|
|
23258
23265
|
|
|
23259
23266
|
const toHash = this.toHash(this.signatureType, data, detached);
|
|
@@ -23316,6 +23323,11 @@ class SignaturePacket {
|
|
|
23316
23323
|
bytes = util.concat([bytes, this.revocationKeyFingerprint]);
|
|
23317
23324
|
arr.push(writeSubPacket(sub.revocationKey, bytes));
|
|
23318
23325
|
}
|
|
23326
|
+
if (!this.issuerKeyID.isNull() && this.issuerKeyVersion !== 5) {
|
|
23327
|
+
// If the version of [the] key is greater than 4, this subpacket
|
|
23328
|
+
// MUST NOT be included in the signature.
|
|
23329
|
+
arr.push(writeSubPacket(sub.issuer, this.issuerKeyID.write()));
|
|
23330
|
+
}
|
|
23319
23331
|
this.rawNotations.forEach(([{ name, value, humanReadable }]) => {
|
|
23320
23332
|
bytes = [new Uint8Array([humanReadable ? 0x80 : 0, 0, 0, 0])];
|
|
23321
23333
|
// 2 octets of name length
|
|
@@ -23369,6 +23381,14 @@ class SignaturePacket {
|
|
|
23369
23381
|
bytes = util.concat(bytes);
|
|
23370
23382
|
arr.push(writeSubPacket(sub.signatureTarget, bytes));
|
|
23371
23383
|
}
|
|
23384
|
+
if (this.embeddedSignature !== null) {
|
|
23385
|
+
arr.push(writeSubPacket(sub.embeddedSignature, this.embeddedSignature.write()));
|
|
23386
|
+
}
|
|
23387
|
+
if (this.issuerFingerprint !== null) {
|
|
23388
|
+
bytes = [new Uint8Array([this.issuerKeyVersion]), this.issuerFingerprint];
|
|
23389
|
+
bytes = util.concat(bytes);
|
|
23390
|
+
arr.push(writeSubPacket(sub.issuerFingerprint, bytes));
|
|
23391
|
+
}
|
|
23372
23392
|
if (this.preferredAEADAlgorithms !== null) {
|
|
23373
23393
|
bytes = util.stringToUint8Array(util.uint8ArrayToString(this.preferredAEADAlgorithms));
|
|
23374
23394
|
arr.push(writeSubPacket(sub.preferredAEADAlgorithms, bytes));
|
|
@@ -23381,26 +23401,11 @@ class SignaturePacket {
|
|
|
23381
23401
|
}
|
|
23382
23402
|
|
|
23383
23403
|
/**
|
|
23384
|
-
* Creates Uint8Array
|
|
23404
|
+
* Creates an Uint8Array containing the unhashed subpackets
|
|
23385
23405
|
* @returns {Uint8Array} Subpacket data.
|
|
23386
23406
|
*/
|
|
23387
23407
|
writeUnhashedSubPackets() {
|
|
23388
|
-
const sub = enums.signatureSubpacket;
|
|
23389
23408
|
const arr = [];
|
|
23390
|
-
let bytes;
|
|
23391
|
-
if (!this.issuerKeyID.isNull() && this.issuerKeyVersion !== 5) {
|
|
23392
|
-
// If the version of [the] key is greater than 4, this subpacket
|
|
23393
|
-
// MUST NOT be included in the signature.
|
|
23394
|
-
arr.push(writeSubPacket(sub.issuer, this.issuerKeyID.write()));
|
|
23395
|
-
}
|
|
23396
|
-
if (this.embeddedSignature !== null) {
|
|
23397
|
-
arr.push(writeSubPacket(sub.embeddedSignature, this.embeddedSignature.write()));
|
|
23398
|
-
}
|
|
23399
|
-
if (this.issuerFingerprint !== null) {
|
|
23400
|
-
bytes = [new Uint8Array([this.issuerKeyVersion]), this.issuerFingerprint];
|
|
23401
|
-
bytes = util.concat(bytes);
|
|
23402
|
-
arr.push(writeSubPacket(sub.issuerFingerprint, bytes));
|
|
23403
|
-
}
|
|
23404
23409
|
this.unhashedSubpackets.forEach(data => {
|
|
23405
23410
|
arr.push(writeSimpleLength(data.length));
|
|
23406
23411
|
arr.push(data);
|
|
@@ -23420,9 +23425,11 @@ class SignaturePacket {
|
|
|
23420
23425
|
const critical = bytes[mypos] & 0x80;
|
|
23421
23426
|
const type = bytes[mypos] & 0x7F;
|
|
23422
23427
|
|
|
23423
|
-
if (!hashed
|
|
23428
|
+
if (!hashed) {
|
|
23424
23429
|
this.unhashedSubpackets.push(bytes.subarray(mypos, bytes.length));
|
|
23425
|
-
|
|
23430
|
+
if (!allowedUnhashedSubpackets.has(type)) {
|
|
23431
|
+
return;
|
|
23432
|
+
}
|
|
23426
23433
|
}
|
|
23427
23434
|
|
|
23428
23435
|
mypos++;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
1
|
+
/*! OpenPGP.js v5.5.0 - 2022-10-31 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;const e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:e=>`Symbol(${e})`;function t(){}const r="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function o(e){return"object"==typeof e&&null!==e||"function"==typeof e}const n=t,i=Promise,a=Promise.prototype.then,s=Promise.resolve.bind(i),l=Promise.reject.bind(i);function u(e){return new i(e)}function c(e){return s(e)}function d(e){return l(e)}function f(e,t,r){return a.call(e,t,r)}function h(e,t,r){f(f(e,t,r),void 0,n)}function _(e,t){h(e,t)}function b(e,t){h(e,void 0,t)}function p(e,t,r){return f(e,t,r)}function m(e){f(e,void 0,n)}const y=(()=>{const e=r&&r.queueMicrotask;if("function"==typeof e)return e;const t=c(void 0);return e=>f(t,e)})();function g(e,t,r){if("function"!=typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function w(e,t,r){try{return c(g(e,t,r))}catch(e){return d(e)}}class v{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let o=r+1;const n=e._elements,i=n[r];return 16384===o&&(t=e._next,o=0),--this._size,this._cursor=o,e!==t&&(this._front=t),n[r]=void 0,i}forEach(e){let t=this._cursor,r=this._front,o=r._elements;for(;!(t===o.length&&void 0===r._next||t===o.length&&(r=r._next,o=r._elements,t=0,0===o.length));)e(o[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}function S(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?q(e):"closed"===t._state?function(e){q(e),k(e)}(e):E(e,t._storedError)}function R(e,t){return ar(e._ownerReadableStream,t)}function T(e){"readable"===e._ownerReadableStream._state?C(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){E(e,t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function P(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function q(e){e._closedPromise=u(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function E(e,t){q(e),C(e,t)}function C(e,t){void 0!==e._closedPromise_reject&&(m(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function k(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const O=e("[[AbortSteps]]"),j=e("[[ErrorSteps]]"),W=e("[[CancelSteps]]"),A=e("[[PullSteps]]"),z=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},F=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function B(e,t){if(void 0!==e&&("object"!=typeof(r=e)&&"function"!=typeof r))throw new TypeError(t+" is not an object.");var r}function I(e,t){if("function"!=typeof e)throw new TypeError(t+" is not a function.")}function L(e,t){if(!function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e))throw new TypeError(t+" is not an object.")}function M(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function $(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function D(e){return Number(e)}function x(e){return 0===e?0:e}function N(e,t){const r=Number.MAX_SAFE_INTEGER;let o=Number(e);if(o=x(o),!z(o))throw new TypeError(t+" is not a finite number");if(o=function(e){return x(F(e))}(o),o<0||o>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return z(o)&&0!==o?o:0}function Q(e,t){if(!nr(e))throw new TypeError(t+" is not a ReadableStream.")}function H(e){return new X(e)}function Y(e,t){e._reader._readRequests.push(t)}function V(e,t,r){const o=e._reader._readRequests.shift();r?o._closeSteps():o._chunkSteps(t)}function U(e){return e._reader._readRequests.length}function G(e){const t=e._reader;return void 0!==t&&!!J(t)}class X{constructor(e){if(M(e,1,"ReadableStreamDefaultReader"),Q(e,"First parameter"),ir(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");S(this,e),this._readRequests=new v}get closed(){return J(this)?this._closedPromise:d(Z("closed"))}cancel(e){return J(this)?void 0===this._ownerReadableStream?d(P("cancel")):R(this,e):d(Z("cancel"))}read(){if(!J(this))return d(Z("read"));if(void 0===this._ownerReadableStream)return d(P("read from"));let e,t;const r=u(((r,o)=>{e=r,t=o}));return K(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!J(this))throw Z("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");T(this)}}}function J(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function K(e,t){const r=e._ownerReadableStream;r._disturbed=!0,"closed"===r._state?t._closeSteps():"errored"===r._state?t._errorSteps(r._storedError):r._readableStreamController[A](t)}function Z(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let ee;Object.defineProperties(X.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(X.prototype,e.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0}),"symbol"==typeof e.asyncIterator&&(ee={[e.asyncIterator](){return this}},Object.defineProperty(ee,e.asyncIterator,{enumerable:!1}));class te{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?p(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise?p(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;if(void 0===e._ownerReadableStream)return d(P("iterate"));let t,r;const o=u(((e,o)=>{t=e,r=o}));return K(e,{_chunkSteps:e=>{this._ongoingPromise=void 0,y((()=>t({value:e,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,T(e),t({value:void 0,done:!0})},_errorSteps:t=>{this._ongoingPromise=void 0,this._isFinished=!0,T(e),r(t)}}),o}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(void 0===t._ownerReadableStream)return d(P("finish iterating"));if(!this._preventCancel){const r=R(t,e);return T(t),p(r,(()=>({value:e,done:!0})))}return T(t),c({value:e,done:!0})}}const re={next(){return oe(this)?this._asyncIteratorImpl.next():d(ne("next"))},return(e){return oe(this)?this._asyncIteratorImpl.return(e):d(ne("return"))}};function oe(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl")}function ne(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}void 0!==ee&&Object.setPrototypeOf(re,ee);const ie=Number.isNaN||function(e){return e!=e};function ae(e){return!!function(e){if("number"!=typeof e)return!1;if(ie(e))return!1;if(e<0)return!1;return!0}(e)&&e!==1/0}function se(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function le(e,t,r){if(!ae(r=Number(r)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function ue(e){e._queue=new v,e._queueTotalSize=0}function ce(e){return e.slice()}class de{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!_e(this))throw Oe("view");return this._view}respond(e){if(!_e(this))throw Oe("respond");if(M(e,1,"respond"),e=N(e,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(e,t){if(!ae(t=Number(t)))throw new RangeError("bytesWritten must be a finite");Te(e,t)}(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!_e(this))throw Oe("respondWithNewView");if(M(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(e,t){const r=e._pendingPullIntos.peek();if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,Te(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}}Object.defineProperties(de.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(de.prototype,e.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class fe{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!he(this))throw je("byobRequest");if(null===this._byobRequest&&this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek(),t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=Object.create(de.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}get desiredSize(){if(!he(this))throw je("desiredSize");return Ce(this)}close(){if(!he(this))throw je("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);!function(e){const t=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==t._state)return;if(e._queueTotalSize>0)return void(e._closeRequested=!0);if(e._pendingPullIntos.length>0){if(e._pendingPullIntos.peek().bytesFilled>0){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Ee(e,t),t}}qe(e),sr(t)}(this)}enqueue(e){if(!he(this))throw je("enqueue");if(M(e,1,"enqueue"),!ArrayBuffer.isView(e))throw new TypeError("chunk must be an array buffer view");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);!function(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==r._state)return;const o=t.buffer,n=t.byteOffset,i=t.byteLength,a=o;if(G(r))if(0===U(r))ye(e,a,n,i);else{V(r,new Uint8Array(a,n,i),!1)}else ze(r)?(ye(e,a,n,i),Re(e)):ye(e,a,n,i);be(e)}(this,e)}error(e){if(!he(this))throw je("error");Ee(this,e)}[W](e){if(this._pendingPullIntos.length>0){this._pendingPullIntos.peek().bytesFilled=0}ue(this);const t=this._cancelAlgorithm(e);return qe(this),t}[A](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0){const t=this._queue.shift();this._queueTotalSize-=t.byteLength,ve(this);const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return void e._chunkSteps(r)}const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const o={buffer:t,byteOffset:0,byteLength:r,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(o)}Y(t,e),be(this)}}function he(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function _e(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function be(e){if(!function(e){const t=e._controlledReadableByteStream;if("readable"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(G(t)&&U(t)>0)return!0;if(ze(t)&&Ae(t)>0)return!0;if(Ce(e)>0)return!0;return!1}(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;h(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,be(e))}),(t=>{Ee(e,t)}))}function pe(e,t){let r=!1;"closed"===e._state&&(r=!0);const o=me(t);"default"===t.readerType?V(e,o,r):function(e,t,r){const o=e._reader._readIntoRequests.shift();r?o._closeSteps(t):o._chunkSteps(t)}(e,o,r)}function me(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function ye(e,t,r,o){e._queue.push({buffer:t,byteOffset:r,byteLength:o}),e._queueTotalSize+=o}function ge(e,t){const r=t.elementSize,o=t.bytesFilled-t.bytesFilled%r,n=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),i=t.bytesFilled+n,a=i-i%r;let s=n,l=!1;a>o&&(s=a-t.bytesFilled,l=!0);const u=e._queue;for(;s>0;){const r=u.peek(),o=Math.min(s,r.byteLength),n=t.byteOffset+t.bytesFilled;c=t.buffer,d=n,f=r.buffer,h=r.byteOffset,_=o,new Uint8Array(c).set(new Uint8Array(f,h,_),d),r.byteLength===o?u.shift():(r.byteOffset+=o,r.byteLength-=o),e._queueTotalSize-=o,we(e,o,t),s-=o}var c,d,f,h,_;return l}function we(e,t,r){Se(e),r.bytesFilled+=t}function ve(e){0===e._queueTotalSize&&e._closeRequested?(qe(e),sr(e._controlledReadableByteStream)):be(e)}function Se(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Re(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;const t=e._pendingPullIntos.peek();ge(e,t)&&(Pe(e),pe(e._controlledReadableByteStream,t))}}function Te(e,t){const r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=t.buffer;const r=e._controlledReadableByteStream;if(ze(r))for(;Ae(r)>0;)pe(r,Pe(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(we(e,t,r),r.bytesFilled<r.elementSize)return;Pe(e);const o=r.bytesFilled%r.elementSize;if(o>0){const t=r.byteOffset+r.bytesFilled,n=r.buffer.slice(t-o,t);ye(e,n,0,n.byteLength)}r.buffer=r.buffer,r.bytesFilled-=o,pe(e._controlledReadableByteStream,r),Re(e)}(e,t,r);be(e)}function Pe(e){const t=e._pendingPullIntos.shift();return Se(e),t}function qe(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Ee(e,t){const r=e._controlledReadableByteStream;"readable"===r._state&&(!function(e){Se(e),e._pendingPullIntos=new v}(e),ue(e),qe(e),lr(r,t))}function Ce(e){const t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function ke(e,t,r){const o=Object.create(fe.prototype);let n=()=>{},i=()=>c(void 0),a=()=>c(void 0);void 0!==t.start&&(n=()=>t.start(o)),void 0!==t.pull&&(i=()=>t.pull(o)),void 0!==t.cancel&&(a=e=>t.cancel(e));const s=t.autoAllocateChunkSize;if(0===s)throw new TypeError("autoAllocateChunkSize must be greater than 0");!function(e,t,r,o,n,i,a){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,ue(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=i,t._pullAlgorithm=o,t._cancelAlgorithm=n,t._autoAllocateChunkSize=a,t._pendingPullIntos=new v,e._readableStreamController=t,h(c(r()),(()=>{t._started=!0,be(t)}),(e=>{Ee(t,e)}))}(e,o,n,i,a,r,s)}function Oe(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function je(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function We(e,t){e._reader._readIntoRequests.push(t)}function Ae(e){return e._reader._readIntoRequests.length}function ze(e){const t=e._reader;return void 0!==t&&!!Be(t)}Object.defineProperties(fe.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(fe.prototype,e.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class Fe{constructor(e){if(M(e,1,"ReadableStreamBYOBReader"),Q(e,"First parameter"),ir(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!he(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");S(this,e),this._readIntoRequests=new v}get closed(){return Be(this)?this._closedPromise:d(Ie("closed"))}cancel(e){return Be(this)?void 0===this._ownerReadableStream?d(P("cancel")):R(this,e):d(Ie("cancel"))}read(e){if(!Be(this))return d(Ie("read"));if(!ArrayBuffer.isView(e))return d(new TypeError("view must be an array buffer view"));if(0===e.byteLength)return d(new TypeError("view must have non-zero byteLength"));if(0===e.buffer.byteLength)return d(new TypeError("view's buffer must have non-zero byteLength"));if(void 0===this._ownerReadableStream)return d(P("read from"));let t,r;const o=u(((e,o)=>{t=e,r=o}));return function(e,t,r){const o=e._ownerReadableStream;o._disturbed=!0,"errored"===o._state?r._errorSteps(o._storedError):function(e,t,r){const o=e._controlledReadableByteStream;let n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);const i=t.constructor,a={buffer:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,viewConstructor:i,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(a),void We(o,r);if("closed"!==o._state){if(e._queueTotalSize>0){if(ge(e,a)){const t=me(a);return ve(e),void r._chunkSteps(t)}if(e._closeRequested){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");return Ee(e,t),void r._errorSteps(t)}}e._pendingPullIntos.push(a),We(o,r),be(e)}else{const e=new i(a.buffer,a.byteOffset,0);r._closeSteps(e)}}(o._readableStreamController,t,r)}(this,e,{_chunkSteps:e=>t({value:e,done:!1}),_closeSteps:e=>t({value:e,done:!0}),_errorSteps:e=>r(e)}),o}releaseLock(){if(!Be(this))throw Ie("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");T(this)}}}function Be(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function Ie(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Le(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(ie(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Me(e){const{size:t}=e;return t||(()=>1)}function $e(e,t){B(e,t);const r=null==e?void 0:e.highWaterMark,o=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:D(r),size:void 0===o?void 0:De(o,t+" has member 'size' that")}}function De(e,t){return I(e,t),t=>D(e(t))}function xe(e,t,r){return I(e,r),r=>w(e,t,[r])}function Ne(e,t,r){return I(e,r),()=>w(e,t,[])}function Qe(e,t,r){return I(e,r),r=>g(e,t,[r])}function He(e,t,r){return I(e,r),(r,o)=>w(e,t,[r,o])}function Ye(e,t){if(!Xe(e))throw new TypeError(t+" is not a WritableStream.")}Object.defineProperties(Fe.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(Fe.prototype,e.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class Ve{constructor(e={},t={}){void 0===e?e=null:L(e,"First parameter");const r=$e(t,"Second parameter"),o=function(e,t){B(e,t);const r=null==e?void 0:e.abort,o=null==e?void 0:e.close,n=null==e?void 0:e.start,i=null==e?void 0:e.type,a=null==e?void 0:e.write;return{abort:void 0===r?void 0:xe(r,e,t+" has member 'abort' that"),close:void 0===o?void 0:Ne(o,e,t+" has member 'close' that"),start:void 0===n?void 0:Qe(n,e,t+" has member 'start' that"),write:void 0===a?void 0:He(a,e,t+" has member 'write' that"),type:i}}(e,"First parameter");Ge(this);if(void 0!==o.type)throw new RangeError("Invalid type is specified");const n=Me(r);!function(e,t,r,o){const n=Object.create(_t.prototype);let i=()=>{},a=()=>c(void 0),s=()=>c(void 0),l=()=>c(void 0);void 0!==t.start&&(i=()=>t.start(n));void 0!==t.write&&(a=e=>t.write(e,n));void 0!==t.close&&(s=()=>t.close());void 0!==t.abort&&(l=e=>t.abort(e));bt(e,n,i,a,s,l,r,o)}(this,o,Le(r,1),n)}get locked(){if(!Xe(this))throw St("locked");return Je(this)}abort(e){return Xe(this)?Je(this)?d(new TypeError("Cannot abort a stream that already has a writer")):Ke(this,e):d(St("abort"))}close(){return Xe(this)?Je(this)?d(new TypeError("Cannot close a stream that already has a writer")):ot(this)?d(new TypeError("Cannot close an already-closing stream")):Ze(this):d(St("close"))}getWriter(){if(!Xe(this))throw St("getWriter");return Ue(this)}}function Ue(e){return new at(e)}function Ge(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new v,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function Xe(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function Je(e){return void 0!==e._writer}function Ke(e,t){const r=e._state;if("closed"===r||"errored"===r)return c(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let o=!1;"erroring"===r&&(o=!0,t=void 0);const n=u(((r,n)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:o}}));return e._pendingAbortRequest._promise=n,o||tt(e,t),n}function Ze(e){const t=e._state;if("closed"===t||"errored"===t)return d(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=u(((t,r)=>{const o={_resolve:t,_reject:r};e._closeRequest=o})),o=e._writer;var n;return void 0!==o&&e._backpressure&&"writable"===t&&At(o),le(n=e._writableStreamController,ht,0),yt(n),r}function et(e,t){"writable"!==e._state?rt(e):tt(e,t)}function tt(e,t){const r=e._writableStreamController;e._state="erroring",e._storedError=t;const o=e._writer;void 0!==o&&ct(o,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&rt(e)}function rt(e){e._state="errored",e._writableStreamController[j]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new v,void 0===e._pendingAbortRequest)return void nt(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void nt(e);h(e._writableStreamController[O](r._reason),(()=>{r._resolve(),nt(e)}),(t=>{r._reject(t),nt(e)}))}function ot(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function nt(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&Et(t,e._storedError)}function it(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){kt(e)}(r):At(r)),e._backpressure=t}Object.defineProperties(Ve.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(Ve.prototype,e.toStringTag,{value:"WritableStream",configurable:!0});class at{constructor(e){if(M(e,1,"WritableStreamDefaultWriter"),Ye(e,"First parameter"),Je(e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;const t=e._state;if("writable"===t)!ot(e)&&e._backpressure?kt(this):jt(this),Pt(this);else if("erroring"===t)Ot(this,e._storedError),Pt(this);else if("closed"===t)jt(this),Pt(r=this),Ct(r);else{const t=e._storedError;Ot(this,t),qt(this,t)}var r}get closed(){return st(this)?this._closedPromise:d(Rt("closed"))}get desiredSize(){if(!st(this))throw Rt("desiredSize");if(void 0===this._ownerWritableStream)throw Tt("desiredSize");return function(e){const t=e._ownerWritableStream,r=t._state;if("errored"===r||"erroring"===r)return null;if("closed"===r)return 0;return mt(t._writableStreamController)}(this)}get ready(){return st(this)?this._readyPromise:d(Rt("ready"))}abort(e){return st(this)?void 0===this._ownerWritableStream?d(Tt("abort")):function(e,t){return Ke(e._ownerWritableStream,t)}(this,e):d(Rt("abort"))}close(){if(!st(this))return d(Rt("close"));const e=this._ownerWritableStream;return void 0===e?d(Tt("close")):ot(e)?d(new TypeError("Cannot close an already-closing stream")):lt(this)}releaseLock(){if(!st(this))throw Rt("releaseLock");void 0!==this._ownerWritableStream&&dt(this)}write(e){return st(this)?void 0===this._ownerWritableStream?d(Tt("write to")):ft(this,e):d(Rt("write"))}}function st(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function lt(e){return Ze(e._ownerWritableStream)}function ut(e,t){"pending"===e._closedPromiseState?Et(e,t):function(e,t){qt(e,t)}(e,t)}function ct(e,t){"pending"===e._readyPromiseState?Wt(e,t):function(e,t){Ot(e,t)}(e,t)}function dt(e){const t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");ct(e,r),ut(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function ft(e,t){const r=e._ownerWritableStream,o=r._writableStreamController,n=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return gt(e,t),1}}(o,t);if(r!==e._ownerWritableStream)return d(Tt("write to"));const i=r._state;if("errored"===i)return d(r._storedError);if(ot(r)||"closed"===i)return d(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===i)return d(r._storedError);const a=function(e){return u(((t,r)=>{const o={_resolve:t,_reject:r};e._writeRequests.push(o)}))}(r);return function(e,t,r){try{le(e,t,r)}catch(t){return void gt(e,t)}const o=e._controlledWritableStream;if(!ot(o)&&"writable"===o._state){it(o,wt(e))}yt(e)}(o,t,n),a}Object.defineProperties(at.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(at.prototype,e.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const ht={};class _t{constructor(){throw new TypeError("Illegal constructor")}error(e){if(!function(e){if(!o(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&vt(this,e)}[O](e){const t=this._abortAlgorithm(e);return pt(this),t}[j](){ue(this)}}function bt(e,t,r,o,n,i,a,s){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,ue(t),t._started=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._writeAlgorithm=o,t._closeAlgorithm=n,t._abortAlgorithm=i;const l=wt(t);it(e,l);h(c(r()),(()=>{t._started=!0,yt(t)}),(r=>{t._started=!0,et(e,r)}))}function pt(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function mt(e){return e._strategyHWM-e._queueTotalSize}function yt(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if("erroring"===t._state)return void rt(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===ht?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),se(e);const r=e._closeAlgorithm();pt(e),h(r,(()=>{!function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";const t=e._writer;void 0!==t&&Ct(t)}(t)}),(e=>{!function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),et(e,t)}(t,e)}))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);h(e._writeAlgorithm(t),(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(se(e),!ot(r)&&"writable"===t){const t=wt(e);it(r,t)}yt(e)}),(t=>{"writable"===r._state&&pt(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,et(e,t)}(r,t)}))}(e,r)}function gt(e,t){"writable"===e._controlledWritableStream._state&&vt(e,t)}function wt(e){return mt(e)<=0}function vt(e,t){const r=e._controlledWritableStream;pt(e),tt(r,t)}function St(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Rt(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Tt(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function Pt(e){e._closedPromise=u(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"}))}function qt(e,t){Pt(e),Et(e,t)}function Et(e,t){void 0!==e._closedPromise_reject&&(m(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function Ct(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function kt(e){e._readyPromise=u(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState="pending"}function Ot(e,t){kt(e),Wt(e,t)}function jt(e){kt(e),At(e)}function Wt(e,t){void 0!==e._readyPromise_reject&&(m(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function At(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(_t.prototype,{error:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(_t.prototype,e.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const zt="undefined"!=typeof DOMException?DOMException:void 0;const Ft=function(e){if("function"!=typeof e&&"object"!=typeof e)return!1;try{return new e,!0}catch(e){return!1}}(zt)?zt:function(){const e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return Object.defineProperty(e.prototype=Object.create(Error.prototype),"constructor",{value:e,writable:!0,configurable:!0}),e}();function Bt(e,r,o,n,i,a){const s=H(e),l=Ue(r);e._disturbed=!0;let p=!1,y=c(void 0);return u(((g,w)=>{let v;if(void 0!==a){if(v=()=>{const t=new Ft("Aborted","AbortError"),o=[];n||o.push((()=>"writable"===r._state?Ke(r,t):c(void 0))),i||o.push((()=>"readable"===e._state?ar(e,t):c(void 0))),C((()=>Promise.all(o.map((e=>e())))),!0,t)},a.aborted)return void v();a.addEventListener("abort",v)}var S,R,P;if(E(e,s._closedPromise,(e=>{n?k(!0,e):C((()=>Ke(r,e)),!0,e)})),E(r,l._closedPromise,(t=>{i?k(!0,t):C((()=>ar(e,t)),!0,t)})),S=e,R=s._closedPromise,P=()=>{o?k():C((()=>function(e){const t=e._ownerWritableStream,r=t._state;return ot(t)||"closed"===r?c(void 0):"errored"===r?d(t._storedError):lt(e)}(l)))},"closed"===S._state?P():_(R,P),ot(r)||"closed"===r._state){const t=new TypeError("the destination writable stream closed before all data could be piped to it");i?k(!0,t):C((()=>ar(e,t)),!0,t)}function q(){const e=y;return f(y,(()=>e!==y?q():void 0))}function E(e,t,r){"errored"===e._state?r(e._storedError):b(t,r)}function C(e,t,o){function n(){h(e(),(()=>O(t,o)),(e=>O(!0,e)))}p||(p=!0,"writable"!==r._state||ot(r)?n():_(q(),n))}function k(e,t){p||(p=!0,"writable"!==r._state||ot(r)?O(e,t):_(q(),(()=>O(e,t))))}function O(e,t){dt(l),T(s),void 0!==a&&a.removeEventListener("abort",v),e?w(t):g(void 0)}m(u(((e,r)=>{!function o(n){n?e():f(p?c(!0):f(l._readyPromise,(()=>u(((e,r)=>{K(s,{_chunkSteps:r=>{y=f(ft(l,r),void 0,t),e(!1)},_closeSteps:()=>e(!0),_errorSteps:r})})))),o,r)}(!1)})))}))}class It{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Lt(this))throw Ut("desiredSize");return Ht(this)}close(){if(!Lt(this))throw Ut("close");if(!Yt(this))throw new TypeError("The stream is not in a state that permits close");xt(this)}enqueue(e){if(!Lt(this))throw Ut("enqueue");if(!Yt(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nt(this,e)}error(e){if(!Lt(this))throw Ut("error");Qt(this,e)}[W](e){ue(this);const t=this._cancelAlgorithm(e);return Dt(this),t}[A](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=se(this);this._closeRequested&&0===this._queue.length?(Dt(this),sr(t)):Mt(this),e._chunkSteps(r)}else Y(t,e),Mt(this)}}function Lt(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Mt(e){if(!$t(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;h(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Mt(e))}),(t=>{Qt(e,t)}))}function $t(e){const t=e._controlledReadableStream;if(!Yt(e))return!1;if(!e._started)return!1;if(ir(t)&&U(t)>0)return!0;return Ht(e)>0}function Dt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function xt(e){if(!Yt(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(Dt(e),sr(t))}function Nt(e,t){if(!Yt(e))return;const r=e._controlledReadableStream;if(ir(r)&&U(r)>0)V(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw Qt(e,t),t}try{le(e,t,r)}catch(t){throw Qt(e,t),t}}Mt(e)}function Qt(e,t){const r=e._controlledReadableStream;"readable"===r._state&&(ue(e),Dt(e),lr(r,t))}function Ht(e){const t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Yt(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&"readable"===t}function Vt(e,t,r,o,n,i,a){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,ue(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=a,t._strategyHWM=i,t._pullAlgorithm=o,t._cancelAlgorithm=n,e._readableStreamController=t;h(c(r()),(()=>{t._started=!0,Mt(t)}),(e=>{Qt(t,e)}))}function Ut(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function Gt(e,t,r){return I(e,r),r=>w(e,t,[r])}function Xt(e,t,r){return I(e,r),r=>w(e,t,[r])}function Jt(e,t,r){return I(e,r),r=>g(e,t,[r])}function Kt(e,t){if("bytes"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function Zt(e,t){if("byob"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function er(e,t){B(e,t);const r=null==e?void 0:e.preventAbort,o=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,i=null==e?void 0:e.signal;return void 0!==i&&function(e,t){if(!function(e){if("object"!=typeof e||null===e)return!1;try{return"boolean"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(t+" is not an AbortSignal.")}(i,t+" has member 'signal' that"),{preventAbort:!!r,preventCancel:!!o,preventClose:!!n,signal:i}}Object.defineProperties(It.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(It.prototype,e.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class tr{constructor(e={},t={}){void 0===e?e=null:L(e,"First parameter");const r=$e(t,"Second parameter"),o=function(e,t){B(e,t);const r=e,o=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,i=null==r?void 0:r.pull,a=null==r?void 0:r.start,s=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===o?void 0:N(o,t+" has member 'autoAllocateChunkSize' that"),cancel:void 0===n?void 0:Gt(n,r,t+" has member 'cancel' that"),pull:void 0===i?void 0:Xt(i,r,t+" has member 'pull' that"),start:void 0===a?void 0:Jt(a,r,t+" has member 'start' that"),type:void 0===s?void 0:Kt(s,t+" has member 'type' that")}}(e,"First parameter");if(or(this),"bytes"===o.type){if(void 0!==r.size)throw new RangeError("The strategy for a byte stream cannot have a size function");ke(this,o,Le(r,0))}else{const e=Me(r);!function(e,t,r,o){const n=Object.create(It.prototype);let i=()=>{},a=()=>c(void 0),s=()=>c(void 0);void 0!==t.start&&(i=()=>t.start(n)),void 0!==t.pull&&(a=()=>t.pull(n)),void 0!==t.cancel&&(s=e=>t.cancel(e)),Vt(e,n,i,a,s,r,o)}(this,o,Le(r,1),e)}}get locked(){if(!nr(this))throw ur("locked");return ir(this)}cancel(e){return nr(this)?ir(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):ar(this,e):d(ur("cancel"))}getReader(e){if(!nr(this))throw ur("getReader");return void 0===function(e,t){B(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:Zt(r,t+" has member 'mode' that")}}(e,"First parameter").mode?H(this):new Fe(this)}pipeThrough(e,t={}){if(!nr(this))throw ur("pipeThrough");M(e,1,"pipeThrough");const r=function(e,t){B(e,t);const r=null==e?void 0:e.readable;$(r,"readable","ReadableWritablePair"),Q(r,t+" has member 'readable' that");const o=null==e?void 0:e.writable;return $(o,"writable","ReadableWritablePair"),Ye(o,t+" has member 'writable' that"),{readable:r,writable:o}}(e,"First parameter"),o=er(t,"Second parameter");if(ir(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Je(r.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return m(Bt(this,r.writable,o.preventClose,o.preventAbort,o.preventCancel,o.signal)),r.readable}pipeTo(e,t={}){if(!nr(this))return d(ur("pipeTo"));if(void 0===e)return d("Parameter 1 is required in 'pipeTo'.");if(!Xe(e))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let r;try{r=er(t,"Second parameter")}catch(e){return d(e)}return ir(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Je(e)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Bt(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!nr(this))throw ur("tee");const e=function(e,t){const r=H(e);let o,n,i,a,s,l=!1,d=!1,f=!1;const h=u((e=>{s=e}));function _(){return l||(l=!0,K(r,{_chunkSteps:e=>{y((()=>{l=!1;const t=e,r=e;d||Nt(i._readableStreamController,t),f||Nt(a._readableStreamController,r)}))},_closeSteps:()=>{l=!1,d||xt(i._readableStreamController),f||xt(a._readableStreamController),d&&f||s(void 0)},_errorSteps:()=>{l=!1}})),c(void 0)}function p(){}return i=rr(p,_,(function(t){if(d=!0,o=t,f){const t=ce([o,n]),r=ar(e,t);s(r)}return h})),a=rr(p,_,(function(t){if(f=!0,n=t,d){const t=ce([o,n]),r=ar(e,t);s(r)}return h})),b(r._closedPromise,(e=>{Qt(i._readableStreamController,e),Qt(a._readableStreamController,e),d&&f||s(void 0)})),[i,a]}(this);return ce(e)}values(e){if(!nr(this))throw ur("values");return function(e,t){const r=H(e),o=new te(r,t),n=Object.create(re);return n._asyncIteratorImpl=o,n}(this,function(e,t){return B(e,t),{preventCancel:!!(null==e?void 0:e.preventCancel)}}(e,"First parameter").preventCancel)}}function rr(e,t,r,o=1,n=(()=>1)){const i=Object.create(tr.prototype);or(i);return Vt(i,Object.create(It.prototype),e,t,r,o,n),i}function or(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function nr(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function ir(e){return void 0!==e._reader}function ar(e,r){if(e._disturbed=!0,"closed"===e._state)return c(void 0);if("errored"===e._state)return d(e._storedError);sr(e);return p(e._readableStreamController[W](r),t)}function sr(e){e._state="closed";const t=e._reader;void 0!==t&&(k(t),J(t)&&(t._readRequests.forEach((e=>{e._closeSteps()})),t._readRequests=new v))}function lr(e,t){e._state="errored",e._storedError=t;const r=e._reader;void 0!==r&&(C(r,t),J(r)?(r._readRequests.forEach((e=>{e._errorSteps(t)})),r._readRequests=new v):(r._readIntoRequests.forEach((e=>{e._errorSteps(t)})),r._readIntoRequests=new v))}function ur(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function cr(e,t){B(e,t);const r=null==e?void 0:e.highWaterMark;return $(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:D(r)}}Object.defineProperties(tr.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(tr.prototype,e.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof e.asyncIterator&&Object.defineProperty(tr.prototype,e.asyncIterator,{value:tr.prototype.values,writable:!0,configurable:!0});const dr=function(e){return e.byteLength};class fr{constructor(e){M(e,1,"ByteLengthQueuingStrategy"),e=cr(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!_r(this))throw hr("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!_r(this))throw hr("size");return dr}}function hr(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function _r(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")}Object.defineProperties(fr.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(fr.prototype,e.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const br=function(){return 1};class pr{constructor(e){M(e,1,"CountQueuingStrategy"),e=cr(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!yr(this))throw mr("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!yr(this))throw mr("size");return br}}function mr(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function yr(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")}function gr(e,t,r){return I(e,r),r=>w(e,t,[r])}function wr(e,t,r){return I(e,r),r=>g(e,t,[r])}function vr(e,t,r){return I(e,r),(r,o)=>w(e,t,[r,o])}Object.defineProperties(pr.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(pr.prototype,e.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class Sr{constructor(e={},t={},r={}){void 0===e&&(e=null);const o=$e(t,"Second parameter"),n=$e(r,"Third parameter"),i=function(e,t){B(e,t);const r=null==e?void 0:e.flush,o=null==e?void 0:e.readableType,n=null==e?void 0:e.start,i=null==e?void 0:e.transform,a=null==e?void 0:e.writableType;return{flush:void 0===r?void 0:gr(r,e,t+" has member 'flush' that"),readableType:o,start:void 0===n?void 0:wr(n,e,t+" has member 'start' that"),transform:void 0===i?void 0:vr(i,e,t+" has member 'transform' that"),writableType:a}}(e,"First parameter");if(void 0!==i.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==i.writableType)throw new RangeError("Invalid writableType specified");const a=Le(n,0),s=Me(n),l=Le(o,1),f=Me(o);let h;!function(e,t,r,o,n,i){function a(){return t}function s(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return p(e._backpressureChangePromise,(()=>{const o=e._writable;if("erroring"===o._state)throw o._storedError;return jr(r,t)}))}return jr(r,t)}(e,t)}function l(t){return function(e,t){return Tr(e,t),c(void 0)}(e,t)}function u(){return function(e){const t=e._readable,r=e._transformStreamController,o=r._flushAlgorithm();return kr(r),p(o,(()=>{if("errored"===t._state)throw t._storedError;xt(t._readableStreamController)}),(r=>{throw Tr(e,r),t._storedError}))}(e)}function d(){return function(e){return qr(e,!1),e._backpressureChangePromise}(e)}function f(t){return Pr(e,t),c(void 0)}e._writable=function(e,t,r,o,n=1,i=(()=>1)){const a=Object.create(Ve.prototype);return Ge(a),bt(a,Object.create(_t.prototype),e,t,r,o,n,i),a}(a,s,u,l,r,o),e._readable=rr(a,d,f,n,i),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,qr(e,!0),e._transformStreamController=void 0}(this,u((e=>{h=e})),l,f,a,s),function(e,t){const r=Object.create(Er.prototype);let o=e=>{try{return Or(r,e),c(void 0)}catch(e){return d(e)}},n=()=>c(void 0);void 0!==t.transform&&(o=e=>t.transform(e,r));void 0!==t.flush&&(n=()=>t.flush(r));!function(e,t,r,o){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=o}(e,r,o,n)}(this,i),void 0!==i.start?h(i.start(this._transformStreamController)):h(void 0)}get readable(){if(!Rr(this))throw Ar("readable");return this._readable}get writable(){if(!Rr(this))throw Ar("writable");return this._writable}}function Rr(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function Tr(e,t){Qt(e._readable._readableStreamController,t),Pr(e,t)}function Pr(e,t){kr(e._transformStreamController),gt(e._writable._writableStreamController,t),e._backpressure&&qr(e,!1)}function qr(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=u((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(Sr.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(Sr.prototype,e.toStringTag,{value:"TransformStream",configurable:!0});class Er{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Cr(this))throw Wr("desiredSize");return Ht(this._controlledTransformStream._readable._readableStreamController)}enqueue(e){if(!Cr(this))throw Wr("enqueue");Or(this,e)}error(e){if(!Cr(this))throw Wr("error");var t;t=e,Tr(this._controlledTransformStream,t)}terminate(){if(!Cr(this))throw Wr("terminate");!function(e){const t=e._controlledTransformStream;xt(t._readable._readableStreamController);Pr(t,new TypeError("TransformStream terminated"))}(this)}}function Cr(e){return!!o(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function kr(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Or(e,t){const r=e._controlledTransformStream,o=r._readable._readableStreamController;if(!Yt(o))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nt(o,t)}catch(e){throw Pr(r,e),r._readable._storedError}(function(e){return!$t(e)})(o)!==r._backpressure&&qr(r,!0)}function jr(e,t){return p(e._transformAlgorithm(t),void 0,(t=>{throw Tr(e._controlledTransformStream,t),t}))}function Wr(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function Ar(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Er.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof e.toStringTag&&Object.defineProperty(Er.prototype,e.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});export{fr as ByteLengthQueuingStrategy,pr as CountQueuingStrategy,fe as ReadableByteStreamController,tr as ReadableStream,Fe as ReadableStreamBYOBReader,de as ReadableStreamBYOBRequest,It as ReadableStreamDefaultController,X as ReadableStreamDefaultReader,Sr as TransformStream,Er as TransformStreamDefaultController,Ve as WritableStream,_t as WritableStreamDefaultController,at as WritableStreamDefaultWriter};
|
|
3
3
|
//# sourceMappingURL=ponyfill.es6.min.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
1
|
+
/*! OpenPGP.js v5.5.0 - 2022-10-31 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
1
|
+
/*! OpenPGP.js v5.5.0 - 2022-10-31 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;
|
|
3
3
|
/*! *****************************************************************************
|
|
4
4
|
Copyright (c) Microsoft Corporation.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
1
|
+
/*! OpenPGP.js v5.5.0 - 2022-10-31 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3
3
|
|
|
4
4
|
/*! *****************************************************************************
|
package/dist/node/openpgp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.
|
|
1
|
+
/*! OpenPGP.js v5.5.0 - 2022-10-31 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
@@ -1790,7 +1790,7 @@ const util = {
|
|
|
1790
1790
|
*/
|
|
1791
1791
|
printDebug: function (str) {
|
|
1792
1792
|
if (debugMode) {
|
|
1793
|
-
console.log(str);
|
|
1793
|
+
console.log('[OpenPGP.js debug]', str);
|
|
1794
1794
|
}
|
|
1795
1795
|
},
|
|
1796
1796
|
|
|
@@ -1801,7 +1801,7 @@ const util = {
|
|
|
1801
1801
|
*/
|
|
1802
1802
|
printDebugError: function (error) {
|
|
1803
1803
|
if (debugMode) {
|
|
1804
|
-
console.error(error);
|
|
1804
|
+
console.error('[OpenPGP.js debug]', error);
|
|
1805
1805
|
}
|
|
1806
1806
|
},
|
|
1807
1807
|
|
|
@@ -2904,7 +2904,7 @@ var defaultConfig = {
|
|
|
2904
2904
|
* @memberof module:config
|
|
2905
2905
|
* @property {String} versionString A version string to be included in armored messages
|
|
2906
2906
|
*/
|
|
2907
|
-
versionString: 'OpenPGP.js 5.
|
|
2907
|
+
versionString: 'OpenPGP.js 5.5.0',
|
|
2908
2908
|
/**
|
|
2909
2909
|
* @memberof module:config
|
|
2910
2910
|
* @property {String} commentString A comment string to be included in armored messages
|
|
@@ -3121,15 +3121,17 @@ function createcrc24(input) {
|
|
|
3121
3121
|
}
|
|
3122
3122
|
|
|
3123
3123
|
/**
|
|
3124
|
-
* Verify armored headers.
|
|
3125
|
-
*
|
|
3124
|
+
* Verify armored headers. crypto-refresh-06, section 6.2:
|
|
3125
|
+
* "An OpenPGP implementation may consider improperly formatted Armor
|
|
3126
|
+
* Headers to be corruption of the ASCII Armor, but SHOULD make an
|
|
3127
|
+
* effort to recover."
|
|
3126
3128
|
* @private
|
|
3127
3129
|
* @param {Array<String>} headers - Armor headers
|
|
3128
3130
|
*/
|
|
3129
3131
|
function verifyHeaders(headers) {
|
|
3130
3132
|
for (let i = 0; i < headers.length; i++) {
|
|
3131
3133
|
if (!/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(headers[i])) {
|
|
3132
|
-
|
|
3134
|
+
util.printDebugError(new Error('Improperly formatted armor header: ' + headers[i]));
|
|
3133
3135
|
}
|
|
3134
3136
|
if (!/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(headers[i])) {
|
|
3135
3137
|
util.printDebugError(new Error('Unknown header: ' + headers[i]));
|
|
@@ -3323,7 +3325,7 @@ function armor(messageType, body, partIndex, partTotal, customComment, config =
|
|
|
3323
3325
|
result.push('-----END PGP MESSAGE, PART ' + partIndex + '-----\n');
|
|
3324
3326
|
break;
|
|
3325
3327
|
case enums.armor.signed:
|
|
3326
|
-
result.push('
|
|
3328
|
+
result.push('-----BEGIN PGP SIGNED MESSAGE-----\n');
|
|
3327
3329
|
result.push('Hash: ' + hash + '\n\n');
|
|
3328
3330
|
result.push(text.replace(/^-/mg, '- -'));
|
|
3329
3331
|
result.push('\n-----BEGIN PGP SIGNATURE-----\n');
|
|
@@ -23280,6 +23282,11 @@ class SignaturePacket {
|
|
|
23280
23282
|
// Add hashed subpackets
|
|
23281
23283
|
arr.push(this.writeHashedSubPackets());
|
|
23282
23284
|
|
|
23285
|
+
// Remove unhashed subpackets, in case some allowed unhashed
|
|
23286
|
+
// subpackets existed, in order not to duplicate them (in both
|
|
23287
|
+
// the hashed and unhashed subpackets) when re-signing.
|
|
23288
|
+
this.unhashedSubpackets = [];
|
|
23289
|
+
|
|
23283
23290
|
this.signatureData = util.concat(arr);
|
|
23284
23291
|
|
|
23285
23292
|
const toHash = this.toHash(this.signatureType, data, detached);
|
|
@@ -23342,6 +23349,11 @@ class SignaturePacket {
|
|
|
23342
23349
|
bytes = util.concat([bytes, this.revocationKeyFingerprint]);
|
|
23343
23350
|
arr.push(writeSubPacket(sub.revocationKey, bytes));
|
|
23344
23351
|
}
|
|
23352
|
+
if (!this.issuerKeyID.isNull() && this.issuerKeyVersion !== 5) {
|
|
23353
|
+
// If the version of [the] key is greater than 4, this subpacket
|
|
23354
|
+
// MUST NOT be included in the signature.
|
|
23355
|
+
arr.push(writeSubPacket(sub.issuer, this.issuerKeyID.write()));
|
|
23356
|
+
}
|
|
23345
23357
|
this.rawNotations.forEach(([{ name, value, humanReadable }]) => {
|
|
23346
23358
|
bytes = [new Uint8Array([humanReadable ? 0x80 : 0, 0, 0, 0])];
|
|
23347
23359
|
// 2 octets of name length
|
|
@@ -23395,6 +23407,14 @@ class SignaturePacket {
|
|
|
23395
23407
|
bytes = util.concat(bytes);
|
|
23396
23408
|
arr.push(writeSubPacket(sub.signatureTarget, bytes));
|
|
23397
23409
|
}
|
|
23410
|
+
if (this.embeddedSignature !== null) {
|
|
23411
|
+
arr.push(writeSubPacket(sub.embeddedSignature, this.embeddedSignature.write()));
|
|
23412
|
+
}
|
|
23413
|
+
if (this.issuerFingerprint !== null) {
|
|
23414
|
+
bytes = [new Uint8Array([this.issuerKeyVersion]), this.issuerFingerprint];
|
|
23415
|
+
bytes = util.concat(bytes);
|
|
23416
|
+
arr.push(writeSubPacket(sub.issuerFingerprint, bytes));
|
|
23417
|
+
}
|
|
23398
23418
|
if (this.preferredAEADAlgorithms !== null) {
|
|
23399
23419
|
bytes = util.stringToUint8Array(util.uint8ArrayToString(this.preferredAEADAlgorithms));
|
|
23400
23420
|
arr.push(writeSubPacket(sub.preferredAEADAlgorithms, bytes));
|
|
@@ -23407,26 +23427,11 @@ class SignaturePacket {
|
|
|
23407
23427
|
}
|
|
23408
23428
|
|
|
23409
23429
|
/**
|
|
23410
|
-
* Creates Uint8Array
|
|
23430
|
+
* Creates an Uint8Array containing the unhashed subpackets
|
|
23411
23431
|
* @returns {Uint8Array} Subpacket data.
|
|
23412
23432
|
*/
|
|
23413
23433
|
writeUnhashedSubPackets() {
|
|
23414
|
-
const sub = enums.signatureSubpacket;
|
|
23415
23434
|
const arr = [];
|
|
23416
|
-
let bytes;
|
|
23417
|
-
if (!this.issuerKeyID.isNull() && this.issuerKeyVersion !== 5) {
|
|
23418
|
-
// If the version of [the] key is greater than 4, this subpacket
|
|
23419
|
-
// MUST NOT be included in the signature.
|
|
23420
|
-
arr.push(writeSubPacket(sub.issuer, this.issuerKeyID.write()));
|
|
23421
|
-
}
|
|
23422
|
-
if (this.embeddedSignature !== null) {
|
|
23423
|
-
arr.push(writeSubPacket(sub.embeddedSignature, this.embeddedSignature.write()));
|
|
23424
|
-
}
|
|
23425
|
-
if (this.issuerFingerprint !== null) {
|
|
23426
|
-
bytes = [new Uint8Array([this.issuerKeyVersion]), this.issuerFingerprint];
|
|
23427
|
-
bytes = util.concat(bytes);
|
|
23428
|
-
arr.push(writeSubPacket(sub.issuerFingerprint, bytes));
|
|
23429
|
-
}
|
|
23430
23435
|
this.unhashedSubpackets.forEach(data => {
|
|
23431
23436
|
arr.push(writeSimpleLength(data.length));
|
|
23432
23437
|
arr.push(data);
|
|
@@ -23446,9 +23451,11 @@ class SignaturePacket {
|
|
|
23446
23451
|
const critical = bytes[mypos] & 0x80;
|
|
23447
23452
|
const type = bytes[mypos] & 0x7F;
|
|
23448
23453
|
|
|
23449
|
-
if (!hashed
|
|
23454
|
+
if (!hashed) {
|
|
23450
23455
|
this.unhashedSubpackets.push(bytes.subarray(mypos, bytes.length));
|
|
23451
|
-
|
|
23456
|
+
if (!allowedUnhashedSubpackets.has(type)) {
|
|
23457
|
+
return;
|
|
23458
|
+
}
|
|
23452
23459
|
}
|
|
23453
23460
|
|
|
23454
23461
|
mypos++;
|