UNPKG

next

Version:

The React Framework

1 lines • 204 kB
module.exports=(()=>{var r={64:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnConvert=void 0;const n=t(528);const s=t(317);const o=t(594);const i=t(558);class AsnConvert{static serialize(r){return i.AsnSerializer.serialize(r)}static parse(r,e){return o.AsnParser.parse(r,e)}static toString(r){const e=s.BufferSourceConverter.isBufferSource(r)?s.BufferSourceConverter.toArrayBuffer(r):AsnConvert.serialize(r);const t=n.fromBER(e);if(t.offset===-1){throw new Error(`Cannot decode ASN.1 data. ${t.result.error}`)}return t.result.toString()}}e.AsnConvert=AsnConvert},98:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.defaultConverter=e.AsnNullConverter=e.AsnGeneralizedTimeConverter=e.AsnUTCTimeConverter=e.AsnCharacterStringConverter=e.AsnGeneralStringConverter=e.AsnVisibleStringConverter=e.AsnGraphicStringConverter=e.AsnIA5StringConverter=e.AsnVideotexStringConverter=e.AsnTeletexStringConverter=e.AsnPrintableStringConverter=e.AsnNumericStringConverter=e.AsnUniversalStringConverter=e.AsnBmpStringConverter=e.AsnUtf8StringConverter=e.AsnOctetStringConverter=e.AsnBooleanConverter=e.AsnObjectIdentifierConverter=e.AsnBitStringConverter=e.AsnIntegerArrayBufferConverter=e.AsnEnumeratedConverter=e.AsnIntegerConverter=e.AsnAnyConverter=void 0;const n=t(528);const s=t(139);e.AsnAnyConverter={fromASN:r=>r instanceof n.Null?null:r.valueBeforeDecode,toASN:r=>{if(r===null){return new n.Null}const e=n.fromBER(r);if(e.result.error){throw new Error(e.result.error)}return e.result}};e.AsnIntegerConverter={fromASN:r=>r.valueBlock.valueHex.byteLength>4?r.valueBlock.toString():r.valueBlock.valueDec,toASN:r=>new n.Integer({value:r})};e.AsnEnumeratedConverter={fromASN:r=>r.valueBlock.valueDec,toASN:r=>new n.Enumerated({value:r})};e.AsnIntegerArrayBufferConverter={fromASN:r=>r.valueBlock.valueHex,toASN:r=>new n.Integer({valueHex:r})};e.AsnBitStringConverter={fromASN:r=>r.valueBlock.valueHex,toASN:r=>new n.BitString({valueHex:r})};e.AsnObjectIdentifierConverter={fromASN:r=>r.valueBlock.toString(),toASN:r=>new n.ObjectIdentifier({value:r})};e.AsnBooleanConverter={fromASN:r=>r.valueBlock.value,toASN:r=>new n.Boolean({value:r})};e.AsnOctetStringConverter={fromASN:r=>r.valueBlock.valueHex,toASN:r=>new n.OctetString({valueHex:r})};function createStringConverter(r){return{fromASN:r=>r.valueBlock.value,toASN:e=>new r({value:e})}}e.AsnUtf8StringConverter=createStringConverter(n.Utf8String);e.AsnBmpStringConverter=createStringConverter(n.BmpString);e.AsnUniversalStringConverter=createStringConverter(n.UniversalString);e.AsnNumericStringConverter=createStringConverter(n.NumericString);e.AsnPrintableStringConverter=createStringConverter(n.PrintableString);e.AsnTeletexStringConverter=createStringConverter(n.TeletexString);e.AsnVideotexStringConverter=createStringConverter(n.VideotexString);e.AsnIA5StringConverter=createStringConverter(n.IA5String);e.AsnGraphicStringConverter=createStringConverter(n.GraphicString);e.AsnVisibleStringConverter=createStringConverter(n.VisibleString);e.AsnGeneralStringConverter=createStringConverter(n.GeneralString);e.AsnCharacterStringConverter=createStringConverter(n.CharacterString);e.AsnUTCTimeConverter={fromASN:r=>r.toDate(),toASN:r=>new n.UTCTime({valueDate:r})};e.AsnGeneralizedTimeConverter={fromASN:r=>r.toDate(),toASN:r=>new n.GeneralizedTime({valueDate:r})};e.AsnNullConverter={fromASN:r=>null,toASN:r=>{return new n.Null}};function defaultConverter(r){switch(r){case s.AsnPropTypes.Any:return e.AsnAnyConverter;case s.AsnPropTypes.BitString:return e.AsnBitStringConverter;case s.AsnPropTypes.BmpString:return e.AsnBmpStringConverter;case s.AsnPropTypes.Boolean:return e.AsnBooleanConverter;case s.AsnPropTypes.CharacterString:return e.AsnCharacterStringConverter;case s.AsnPropTypes.Enumerated:return e.AsnEnumeratedConverter;case s.AsnPropTypes.GeneralString:return e.AsnGeneralStringConverter;case s.AsnPropTypes.GeneralizedTime:return e.AsnGeneralizedTimeConverter;case s.AsnPropTypes.GraphicString:return e.AsnGraphicStringConverter;case s.AsnPropTypes.IA5String:return e.AsnIA5StringConverter;case s.AsnPropTypes.Integer:return e.AsnIntegerConverter;case s.AsnPropTypes.Null:return e.AsnNullConverter;case s.AsnPropTypes.NumericString:return e.AsnNumericStringConverter;case s.AsnPropTypes.ObjectIdentifier:return e.AsnObjectIdentifierConverter;case s.AsnPropTypes.OctetString:return e.AsnOctetStringConverter;case s.AsnPropTypes.PrintableString:return e.AsnPrintableStringConverter;case s.AsnPropTypes.TeletexString:return e.AsnTeletexStringConverter;case s.AsnPropTypes.UTCTime:return e.AsnUTCTimeConverter;case s.AsnPropTypes.UniversalString:return e.AsnUniversalStringConverter;case s.AsnPropTypes.Utf8String:return e.AsnUtf8StringConverter;case s.AsnPropTypes.VideotexString:return e.AsnVideotexStringConverter;case s.AsnPropTypes.VisibleString:return e.AsnVisibleStringConverter;default:return null}}e.defaultConverter=defaultConverter},667:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnProp=e.AsnType=void 0;const n=t(98);const s=t(173);const o=r=>e=>{let t;if(!s.schemaStorage.has(e)){t=s.schemaStorage.createDefault(e);s.schemaStorage.set(e,t)}else{t=s.schemaStorage.get(e)}Object.assign(t,r)};e.AsnType=o;const i=r=>(e,t)=>{let o;if(!s.schemaStorage.has(e.constructor)){o=s.schemaStorage.createDefault(e.constructor);s.schemaStorage.set(e.constructor,o)}else{o=s.schemaStorage.get(e.constructor)}const i=Object.assign({},r);if(typeof i.type==="number"&&!i.converter){const s=n.defaultConverter(r.type);if(!s){throw new Error(`Cannot get default converter for property '${t}' of ${e.constructor.name}`)}i.converter=s}o.items[t]=i};e.AsnProp=i},139:(r,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnPropTypes=e.AsnTypeTypes=void 0;var t;(function(r){r[r["Sequence"]=0]="Sequence";r[r["Set"]=1]="Set";r[r["Choice"]=2]="Choice"})(t=e.AsnTypeTypes||(e.AsnTypeTypes={}));var n;(function(r){r[r["Any"]=1]="Any";r[r["Boolean"]=2]="Boolean";r[r["OctetString"]=3]="OctetString";r[r["BitString"]=4]="BitString";r[r["Integer"]=5]="Integer";r[r["Enumerated"]=6]="Enumerated";r[r["ObjectIdentifier"]=7]="ObjectIdentifier";r[r["Utf8String"]=8]="Utf8String";r[r["BmpString"]=9]="BmpString";r[r["UniversalString"]=10]="UniversalString";r[r["NumericString"]=11]="NumericString";r[r["PrintableString"]=12]="PrintableString";r[r["TeletexString"]=13]="TeletexString";r[r["VideotexString"]=14]="VideotexString";r[r["IA5String"]=15]="IA5String";r[r["GraphicString"]=16]="GraphicString";r[r["VisibleString"]=17]="VisibleString";r[r["GeneralString"]=18]="GeneralString";r[r["CharacterString"]=19]="CharacterString";r[r["UTCTime"]=20]="UTCTime";r[r["GeneralizedTime"]=21]="GeneralizedTime";r[r["DATE"]=22]="DATE";r[r["TimeOfDay"]=23]="TimeOfDay";r[r["DateTime"]=24]="DateTime";r[r["Duration"]=25]="Duration";r[r["TIME"]=26]="TIME";r[r["Null"]=27]="Null"})(n=e.AsnPropTypes||(e.AsnPropTypes={}))},473:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});const n=t(160);n.__exportStar(t(134),e)},134:(r,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnSchemaValidationError=void 0;class AsnSchemaValidationError extends Error{constructor(){super(...arguments);this.schemas=[]}}e.AsnSchemaValidationError=AsnSchemaValidationError},142:(r,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.isArrayEqual=e.isTypeOfArray=e.isConvertible=void 0;function isConvertible(r){if(r&&r.prototype){if(r.prototype.toASN&&r.prototype.fromASN){return true}else{return isConvertible(r.prototype)}}else{return!!(r&&r.toASN&&r.fromASN)}}e.isConvertible=isConvertible;function isTypeOfArray(r){var e;if(r){const t=Object.getPrototypeOf(r);if(((e=t===null||t===void 0?void 0:t.prototype)===null||e===void 0?void 0:e.constructor)===Array){return true}return isTypeOfArray(t)}return false}e.isTypeOfArray=isTypeOfArray;function isArrayEqual(r,e){if(!(r&&e)){return false}if(r.byteLength!==e.byteLength){return false}const t=new Uint8Array(r);const n=new Uint8Array(e);for(let e=0;e<r.byteLength;e++){if(t[e]!==n[e]){return false}}return true}e.isArrayEqual=isArrayEqual},870:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnSerializer=e.AsnParser=e.AsnPropTypes=e.AsnTypeTypes=e.AsnType=e.AsnProp=void 0;const n=t(160);n.__exportStar(t(98),e);n.__exportStar(t(466),e);var s=t(667);Object.defineProperty(e,"AsnProp",{enumerable:true,get:function(){return s.AsnProp}});Object.defineProperty(e,"AsnType",{enumerable:true,get:function(){return s.AsnType}});var o=t(139);Object.defineProperty(e,"AsnTypeTypes",{enumerable:true,get:function(){return o.AsnTypeTypes}});Object.defineProperty(e,"AsnPropTypes",{enumerable:true,get:function(){return o.AsnPropTypes}});var i=t(594);Object.defineProperty(e,"AsnParser",{enumerable:true,get:function(){return i.AsnParser}});var a=t(558);Object.defineProperty(e,"AsnSerializer",{enumerable:true,get:function(){return a.AsnSerializer}});n.__exportStar(t(473),e);n.__exportStar(t(995),e);n.__exportStar(t(64),e)},995:(r,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnArray=void 0;class AsnArray extends Array{constructor(r=[]){if(typeof r==="number"){super(r)}else{super();for(const e of r){this.push(e)}}}}e.AsnArray=AsnArray},594:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnParser=void 0;const n=t(528);const s=t(139);const o=t(98);const i=t(473);const a=t(142);const c=t(173);class AsnParser{static parse(r,e){let t;if(r instanceof ArrayBuffer){t=r}else if(typeof Buffer!=="undefined"&&Buffer.isBuffer(r)){t=new Uint8Array(r).buffer}else if(ArrayBuffer.isView(r)||r.buffer instanceof ArrayBuffer){t=r.buffer}else{throw new TypeError("Wrong type of 'data' argument")}const s=n.fromBER(t);if(s.result.error){throw new Error(s.result.error)}const o=this.fromASN(s.result,e);return o}static fromASN(r,e){var t;try{if(a.isConvertible(e)){const t=new e;return t.fromASN(r)}const u=c.schemaStorage.get(e);c.schemaStorage.cache(e);let f=u.schema;if(r.constructor===n.Constructed&&u.type!==s.AsnTypeTypes.Choice){f=new n.Constructed({idBlock:{tagClass:3,tagNumber:r.idBlock.tagNumber},value:u.schema.valueBlock.value});for(const e in u.items){delete r[e]}}const l=n.compareSchema(r,r,f);if(!l.verified){throw new i.AsnSchemaValidationError(`Data does not match to ${e.name} ASN1 schema. ${l.result.error}`)}const h=new e;if(a.isTypeOfArray(e)){if(typeof u.itemType==="number"){const t=o.defaultConverter(u.itemType);if(!t){throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`)}return e.from(r.valueBlock.value,r=>t.fromASN(r))}else{return e.from(r.valueBlock.value,r=>this.fromASN(r,u.itemType))}}for(const e in u.items){if(!r[e]){continue}const o=u.items[e];if(typeof o.type==="number"||a.isConvertible(o.type)){const i=(t=o.converter)!==null&&t!==void 0?t:a.isConvertible(o.type)?new o.type:null;if(!i){throw new Error("Converter is empty")}if(o.repeated){if(o.implicit){const t=o.repeated==="sequence"?n.Sequence:n.Set;const s=new t;s.valueBlock=r[e].valueBlock;const a=n.fromBER(s.toBER(false)).result.valueBlock.value;h[e]=Array.from(a,r=>i.fromASN(r))}else{h[e]=Array.from(r[e],r=>i.fromASN(r))}}else{let t=r[e];if(o.implicit){let r;if(a.isConvertible(o.type)){r=(new o.type).toSchema("")}else{const e=s.AsnPropTypes[o.type];const t=n[e];if(!t){throw new Error(`Cannot get '${e}' class from asn1js module`)}r=new t}r.valueBlock=t.valueBlock;t=n.fromBER(r.toBER(false)).result}h[e]=i.fromASN(t)}}else{if(o.repeated){h[e]=Array.from(r[e],r=>this.fromASN(r,o.type))}else{h[e]=this.fromASN(r[e],o.type)}}}return h}catch(r){if(r instanceof i.AsnSchemaValidationError){r.schemas.push(e.name)}throw r}}}e.AsnParser=AsnParser},397:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnSchemaStorage=void 0;const n=t(528);const s=t(139);const o=t(142);class AsnSchemaStorage{constructor(){this.items=new WeakMap}has(r){return this.items.has(r)}get(r){var e,t,n,s;const o=this.items.get(r);if(!o){throw new Error(`Cannot get schema for '${(s=(n=(t=(e=r)===null||e===void 0?void 0:e.prototype)===null||t===void 0?void 0:t.constructor)===null||n===void 0?void 0:n.name)!==null&&s!==void 0?s:r}' target`)}return o}cache(r){const e=this.get(r);if(!e.schema){e.schema=this.create(r,true)}}createDefault(r){const e={type:s.AsnTypeTypes.Sequence,items:{}};const t=this.findParentSchema(r);if(t){Object.assign(e,t);e.items=Object.assign({},e.items,t.items)}return e}create(r,e){const t=this.items.get(r)||this.createDefault(r);const i=[];for(const r in t.items){const a=t.items[r];const c=e?r:"";let u;if(typeof a.type==="number"){const r=s.AsnPropTypes[a.type];const e=n[r];if(!e){throw new Error(`Cannot get ASN1 class by name '${r}'`)}u=new e({name:c})}else if(o.isConvertible(a.type)){const r=new a.type;u=r.toSchema(c)}else if(a.optional){const r=this.get(a.type);if(r.type===s.AsnTypeTypes.Choice){u=new n.Any({name:c})}else{u=this.create(a.type,false);u.name=c}}else{u=new n.Any({name:c})}const f=!!a.optional||a.defaultValue!==undefined;if(a.repeated){u.name="";const r=a.repeated==="set"?n.Set:n.Sequence;u=new r({name:"",value:[new n.Repeated({name:c,value:u})]})}if(a.context!==null&&a.context!==undefined){if(a.implicit){if(typeof a.type==="number"||o.isConvertible(a.type)){const r=a.repeated?n.Constructed:n.Primitive;i.push(new r({name:c,optional:f,idBlock:{tagClass:3,tagNumber:a.context}}))}else{this.cache(a.type);const r=!!a.repeated;let e=!r?this.get(a.type).schema:u;e=e.valueBlock?e.valueBlock.value:e.value;i.push(new n.Constructed({name:!r?c:"",optional:f,idBlock:{tagClass:3,tagNumber:a.context},value:e}))}}else{i.push(new n.Constructed({optional:f,idBlock:{tagClass:3,tagNumber:a.context},value:[u]}))}}else{u.optional=f;i.push(u)}}switch(t.type){case s.AsnTypeTypes.Sequence:return new n.Sequence({value:i,name:""});case s.AsnTypeTypes.Set:return new n.Set({value:i,name:""});case s.AsnTypeTypes.Choice:return new n.Choice({value:i,name:""});default:throw new Error(`Unsupported ASN1 type in use`)}}set(r,e){this.items.set(r,e);return this}findParentSchema(r){const e=r.__proto__;if(e){const r=this.items.get(e);return r||this.findParentSchema(e)}return null}}e.AsnSchemaStorage=AsnSchemaStorage},558:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.AsnSerializer=void 0;const n=t(528);const s=t(98);const o=t(139);const i=t(142);const a=t(173);class AsnSerializer{static serialize(r){if(r instanceof n.BaseBlock){return r.toBER(false)}return this.toASN(r).toBER(false)}static toASN(r){if(r&&i.isConvertible(r.constructor)){return r.toASN()}const e=r.constructor;const t=a.schemaStorage.get(e);a.schemaStorage.cache(e);let c=[];if(t.itemType){if(typeof t.itemType==="number"){const n=s.defaultConverter(t.itemType);if(!n){throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`)}c=r.map(r=>n.toASN(r))}else{c=r.map(r=>this.toAsnItem({type:t.itemType},"[]",e,r))}}else{for(const s in t.items){const o=t.items[s];const a=r[s];if(a===undefined||o.defaultValue===a||typeof o.defaultValue==="object"&&typeof a==="object"&&i.isArrayEqual(this.serialize(o.defaultValue),this.serialize(a))){continue}let u=AsnSerializer.toAsnItem(o,s,e,a);if(typeof o.context==="number"){if(o.implicit){if(!o.repeated&&(typeof o.type==="number"||i.isConvertible(o.type))){const r={};r.valueHex=u instanceof n.Null?u.valueBeforeDecode:u.valueBlock.toBER();c.push(new n.Primitive(Object.assign({optional:o.optional,idBlock:{tagClass:3,tagNumber:o.context}},r)))}else{c.push(new n.Constructed({optional:o.optional,idBlock:{tagClass:3,tagNumber:o.context},value:u.valueBlock.value}))}}else{c.push(new n.Constructed({optional:o.optional,idBlock:{tagClass:3,tagNumber:o.context},value:[u]}))}}else if(o.repeated){c=c.concat(u)}else{c.push(u)}}}let u;switch(t.type){case o.AsnTypeTypes.Sequence:u=new n.Sequence({value:c});break;case o.AsnTypeTypes.Set:u=new n.Set({value:c});break;case o.AsnTypeTypes.Choice:if(!c[0]){throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`)}u=c[0];break}return u}static toAsnItem(r,e,t,s){let i;if(typeof r.type==="number"){const a=r.converter;if(!a){throw new Error(`Property '${e}' doesn't have converter for type ${o.AsnPropTypes[r.type]} in schema '${t.name}'`)}if(r.repeated){const e=Array.from(s,r=>a.toASN(r));const t=r.repeated==="sequence"?n.Sequence:n.Set;i=new t({value:e})}else{i=a.toASN(s)}}else{if(r.repeated){const e=Array.from(s,r=>this.toASN(r));const t=r.repeated==="sequence"?n.Sequence:n.Set;i=new t({value:e})}else{i=this.toASN(s)}}return i}}e.AsnSerializer=AsnSerializer},173:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.schemaStorage=void 0;const n=t(397);e.schemaStorage=new n.AsnSchemaStorage},799:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.BitString=void 0;const n=t(528);const s=t(317);class BitString{constructor(r,e=0){this.unusedBits=0;this.value=new ArrayBuffer(0);if(r){if(typeof r==="number"){this.fromNumber(r)}else if(s.BufferSourceConverter.isBufferSource(r)){this.unusedBits=e;this.value=s.BufferSourceConverter.toArrayBuffer(r)}else{throw TypeError("Unsupported type of 'params' argument for BitString")}}}fromASN(r){if(!(r instanceof n.BitString)){throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString")}this.unusedBits=r.valueBlock.unusedBits;this.value=r.valueBlock.valueHex;return this}toASN(){return new n.BitString({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(r){return new n.BitString({name:r})}toNumber(){let r="";const e=new Uint8Array(this.value);for(const t of e){r+=t.toString(2).padStart(8,"0")}r=r.split("").reverse().join("");if(this.unusedBits){r=r.slice(this.unusedBits).padStart(this.unusedBits,"0")}return parseInt(r,2)}fromNumber(r){let e=r.toString(2);const t=e.length+7>>3;this.unusedBits=(t<<3)-e.length;const n=new Uint8Array(t);e=e.padStart(t<<3,"0").split("").reverse().join("");let s=0;while(s<t){n[s]=parseInt(e.slice(s<<3,(s<<3)+8),2);s++}this.value=n.buffer}}e.BitString=BitString},466:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});const n=t(160);n.__exportStar(t(799),e);n.__exportStar(t(189),e)},189:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.OctetString=void 0;const n=t(528);const s=t(317);class OctetString{constructor(r){if(typeof r==="number"){this.buffer=new ArrayBuffer(r)}else{if(s.BufferSourceConverter.isBufferSource(r)){this.buffer=s.BufferSourceConverter.toArrayBuffer(r)}else if(Array.isArray(r)){this.buffer=new Uint8Array(r)}else{this.buffer=new ArrayBuffer(0)}}}get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}fromASN(r){if(!(r instanceof n.OctetString)){throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString")}this.buffer=r.valueBlock.valueHex;return this}toASN(){return new n.OctetString({valueHex:this.buffer})}toSchema(r){return new n.OctetString({name:r})}}e.OctetString=OctetString},160:(r,e,t)=>{"use strict";t.r(e);t.d(e,{__extends:()=>__extends,__assign:()=>s,__rest:()=>__rest,__decorate:()=>__decorate,__param:()=>__param,__metadata:()=>__metadata,__awaiter:()=>__awaiter,__generator:()=>__generator,__createBinding:()=>o,__exportStar:()=>__exportStar,__values:()=>__values,__read:()=>__read,__spread:()=>__spread,__spreadArrays:()=>__spreadArrays,__spreadArray:()=>__spreadArray,__await:()=>__await,__asyncGenerator:()=>__asyncGenerator,__asyncDelegator:()=>__asyncDelegator,__asyncValues:()=>__asyncValues,__makeTemplateObject:()=>__makeTemplateObject,__importStar:()=>__importStar,__importDefault:()=>__importDefault,__classPrivateFieldGet:()=>__classPrivateFieldGet,__classPrivateFieldSet:()=>__classPrivateFieldSet});var n=function(r,e){n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=e[t]};return n(r,e)};function __extends(r,e){if(typeof e!=="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(r,e);function __(){this.constructor=r}r.prototype=e===null?Object.create(e):(__.prototype=e.prototype,new __)}var s=function(){s=Object.assign||function __assign(r){for(var e,t=1,n=arguments.length;t<n;t++){e=arguments[t];for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s))r[s]=e[s]}return r};return s.apply(this,arguments)};function __rest(r,e){var t={};for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0)t[n]=r[n];if(r!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,n=Object.getOwnPropertySymbols(r);s<n.length;s++){if(e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(r,n[s]))t[n[s]]=r[n[s]]}return t}function __decorate(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(r,e,t,n);else for(var a=r.length-1;a>=0;a--)if(i=r[a])o=(s<3?i(o):s>3?i(e,t,o):i(e,t))||o;return s>3&&o&&Object.defineProperty(e,t,o),o}function __param(r,e){return function(t,n){e(t,n,r)}}function __metadata(r,e){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(r,e)}function __awaiter(r,e,t,n){function adopt(r){return r instanceof t?r:new t(function(e){e(r)})}return new(t||(t=Promise))(function(t,s){function fulfilled(r){try{step(n.next(r))}catch(r){s(r)}}function rejected(r){try{step(n["throw"](r))}catch(r){s(r)}}function step(r){r.done?t(r.value):adopt(r.value).then(fulfilled,rejected)}step((n=n.apply(r,e||[])).next())})}function __generator(r,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,s,o,i;return i={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function verb(r){return function(e){return step([r,e])}}function step(i){if(n)throw new TypeError("Generator is already executing.");while(t)try{if(n=1,s&&(o=i[0]&2?s["return"]:i[0]?s["throw"]||((o=s["return"])&&o.call(s),0):s.next)&&!(o=o.call(s,i[1])).done)return o;if(s=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:t.label++;return{value:i[1],done:false};case 5:t.label++;s=i[1];i=[0];continue;case 7:i=t.ops.pop();t.trys.pop();continue;default:if(!(o=t.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){t=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){t.label=i[1];break}if(i[0]===6&&t.label<o[1]){t.label=o[1];o=i;break}if(o&&t.label<o[2]){t.label=o[2];t.ops.push(i);break}if(o[2])t.ops.pop();t.trys.pop();continue}i=e.call(r,t)}catch(r){i=[6,r];s=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var o=Object.create?function(r,e,t,n){if(n===undefined)n=t;Object.defineProperty(r,n,{enumerable:true,get:function(){return e[t]}})}:function(r,e,t,n){if(n===undefined)n=t;r[n]=e[t]};function __exportStar(r,e){for(var t in r)if(t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t))o(e,r,t)}function __values(r){var e=typeof Symbol==="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length==="number")return{next:function(){if(r&&n>=r.length)r=void 0;return{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(r,e){var t=typeof Symbol==="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),s,o=[],i;try{while((e===void 0||e-- >0)&&!(s=n.next()).done)o.push(s.value)}catch(r){i={error:r}}finally{try{if(s&&!s.done&&(t=n["return"]))t.call(n)}finally{if(i)throw i.error}}return o}function __spread(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(__read(arguments[e]));return r}function __spreadArrays(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var n=Array(r),s=0,e=0;e<t;e++)for(var o=arguments[e],i=0,a=o.length;i<a;i++,s++)n[s]=o[i];return n}function __spreadArray(r,e,t){if(t||arguments.length===2)for(var n=0,s=e.length,o;n<s;n++){if(o||!(n in e)){if(!o)o=Array.prototype.slice.call(e,0,n);o[n]=e[n]}}return r.concat(o||Array.prototype.slice.call(e))}function __await(r){return this instanceof __await?(this.v=r,this):new __await(r)}function __asyncGenerator(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),s,o=[];return s={},verb("next"),verb("throw"),verb("return"),s[Symbol.asyncIterator]=function(){return this},s;function verb(r){if(n[r])s[r]=function(e){return new Promise(function(t,n){o.push([r,e,t,n])>1||resume(r,e)})}}function resume(r,e){try{step(n[r](e))}catch(r){settle(o[0][3],r)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(o[0][2],r)}function fulfill(r){resume("next",r)}function reject(r){resume("throw",r)}function settle(r,e){if(r(e),o.shift(),o.length)resume(o[0][0],o[0][1])}}function __asyncDelegator(r){var e,t;return e={},verb("next"),verb("throw",function(r){throw r}),verb("return"),e[Symbol.iterator]=function(){return this},e;function verb(n,s){e[n]=r[n]?function(e){return(t=!t)?{value:__await(r[n](e)),done:n==="return"}:s?s(e):e}:s}}function __asyncValues(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof __values==="function"?__values(r):r[Symbol.iterator](),t={},verb("next"),verb("throw"),verb("return"),t[Symbol.asyncIterator]=function(){return this},t);function verb(e){t[e]=r[e]&&function(t){return new Promise(function(n,s){t=r[e](t),settle(n,s,t.done,t.value)})}}function settle(r,e,t,n){Promise.resolve(n).then(function(e){r({value:e,done:t})},e)}}function __makeTemplateObject(r,e){if(Object.defineProperty){Object.defineProperty(r,"raw",{value:e})}else{r.raw=e}return r}var i=Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:true,value:e})}:function(r,e){r["default"]=e};function __importStar(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)if(t!=="default"&&Object.prototype.hasOwnProperty.call(r,t))o(e,r,t);i(e,r);return e}function __importDefault(r){return r&&r.__esModule?r:{default:r}}function __classPrivateFieldGet(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}function __classPrivateFieldSet(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t}},895:(r,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});class JsonError extends Error{constructor(r,e){super(e?`${r}. See the inner exception for more details.`:r);this.message=r;this.innerError=e}}class TransformError extends JsonError{constructor(r,e,t){super(e,t);this.schema=r}}class ParserError extends TransformError{constructor(r,e,t){super(r,`JSON doesn't match to '${r.target.name}' schema. ${e}`,t)}}class ValidationError extends JsonError{}class SerializerError extends JsonError{constructor(r,e,t){super(`Cannot serialize by '${r}' schema. ${e}`,t);this.schemaName=r}}class KeyError extends ParserError{constructor(r,e,t={}){super(r,"Some keys doesn't match to schema");this.keys=e;this.errors=t}}(function(r){r[r["Any"]=0]="Any";r[r["Boolean"]=1]="Boolean";r[r["Number"]=2]="Number";r[r["String"]=3]="String"})(e.JsonPropTypes||(e.JsonPropTypes={}));function checkType(r,t){switch(t){case e.JsonPropTypes.Boolean:return typeof r==="boolean";case e.JsonPropTypes.Number:return typeof r==="number";case e.JsonPropTypes.String:return typeof r==="string"}return true}function throwIfTypeIsWrong(r,t){if(!checkType(r,t)){throw new TypeError(`Value must be ${e.JsonPropTypes[t]}`)}}function isConvertible(r){if(r&&r.prototype){if(r.prototype.toJSON&&r.prototype.fromJSON){return true}else{return isConvertible(r.prototype)}}else{return!!(r&&r.toJSON&&r.fromJSON)}}class JsonSchemaStorage{constructor(){this.items=new Map}has(r){return this.items.has(r)||!!this.findParentSchema(r)}get(r){const e=this.items.get(r)||this.findParentSchema(r);if(!e){throw new Error("Cannot get schema for current target")}return e}create(r){const e={names:{}};const t=this.findParentSchema(r);if(t){Object.assign(e,t);e.names={};for(const r in t.names){e.names[r]=Object.assign({},t.names[r])}}e.target=r;return e}set(r,e){this.items.set(r,e);return this}findParentSchema(r){const e=r.__proto__;if(e){const r=this.items.get(e);return r||this.findParentSchema(e)}return null}}const t="default";const n=new JsonSchemaStorage;class PatternValidation{constructor(r){this.pattern=new RegExp(r)}validate(r){const e=new RegExp(this.pattern.source,this.pattern.flags);if(typeof r!=="string"){throw new ValidationError("Incoming value must be string")}if(!e.exec(r)){throw new ValidationError(`Value doesn't match to pattern '${e.toString()}'`)}}}class InclusiveValidation{constructor(r=Number.MIN_VALUE,e=Number.MAX_VALUE){this.min=r;this.max=e}validate(r){throwIfTypeIsWrong(r,e.JsonPropTypes.Number);if(!(this.min<=r&&r<=this.max)){const r=this.min===Number.MIN_VALUE?"MIN":this.min;const e=this.max===Number.MAX_VALUE?"MAX":this.max;throw new ValidationError(`Value doesn't match to diapason [${r},${e}]`)}}}class ExclusiveValidation{constructor(r=Number.MIN_VALUE,e=Number.MAX_VALUE){this.min=r;this.max=e}validate(r){throwIfTypeIsWrong(r,e.JsonPropTypes.Number);if(!(this.min<r&&r<this.max)){const r=this.min===Number.MIN_VALUE?"MIN":this.min;const e=this.max===Number.MAX_VALUE?"MAX":this.max;throw new ValidationError(`Value doesn't match to diapason (${r},${e})`)}}}class LengthValidation{constructor(r,e,t){this.length=r;this.minLength=e;this.maxLength=t}validate(r){if(this.length!==undefined){if(r.length!==this.length){throw new ValidationError(`Value length must be exactly ${this.length}.`)}return}if(this.minLength!==undefined){if(r.length<this.minLength){throw new ValidationError(`Value length must be more than ${this.minLength}.`)}}if(this.maxLength!==undefined){if(r.length>this.maxLength){throw new ValidationError(`Value length must be less than ${this.maxLength}.`)}}}}class EnumerationValidation{constructor(r){this.enumeration=r}validate(r){throwIfTypeIsWrong(r,e.JsonPropTypes.String);if(!this.enumeration.includes(r)){throw new ValidationError(`Value must be one of ${this.enumeration.map(r=>`'${r}'`).join(", ")}`)}}}class JsonTransform{static checkValues(r,e){const t=Array.isArray(r)?r:[r];for(const n of t){for(const t of e.validations){if(t instanceof LengthValidation&&e.repeated){t.validate(r)}else{t.validate(n)}}}}static checkTypes(r,e){if(e.repeated&&!Array.isArray(r)){throw new TypeError("Value must be Array")}if(typeof e.type==="number"){const t=Array.isArray(r)?r:[r];for(const r of t){throwIfTypeIsWrong(r,e.type)}}}static getSchemaByName(r,e=t){return{...r.names[t],...r.names[e]}}}class JsonSerializer extends JsonTransform{static serialize(r,e,t,n){const s=this.toJSON(r,e);return JSON.stringify(s,t,n)}static toJSON(r,e={}){let s;let o=e.targetSchema;const i=e.schemaName||t;if(isConvertible(r)){return r.toJSON()}if(Array.isArray(r)){s=[];for(const t of r){s.push(this.toJSON(t,e))}}else if(typeof r==="object"){if(o&&!n.has(o)){throw new JsonError("Cannot get schema for `targetSchema` param")}o=o||r.constructor;if(n.has(o)){const e=n.get(o);s={};const t=this.getSchemaByName(e,i);for(const n in t){try{const a=t[n];const c=r[n];let u;if(a.optional&&c===undefined||a.defaultValue!==undefined&&c===a.defaultValue){continue}if(!a.optional&&c===undefined){throw new SerializerError(o.name,`Property '${n}' is required.`)}if(typeof a.type==="number"){if(a.converter){if(a.repeated){u=c.map(e=>a.converter.toJSON(e,r))}else{u=a.converter.toJSON(c,r)}}else{u=c}}else{if(a.repeated){u=c.map(r=>this.toJSON(r,{schemaName:i}))}else{u=this.toJSON(c,{schemaName:i})}}this.checkTypes(u,a);this.checkValues(u,a);s[a.name||n]=u}catch(r){if(r instanceof SerializerError){throw r}else{throw new SerializerError(e.target.name,`Property '${n}' is wrong. ${r.message}`,r)}}}}else{s={};for(const e in r){s[e]=this.toJSON(r[e],{schemaName:i})}}}else{s=r}return s}}class JsonParser extends JsonTransform{static parse(r,e){const t=JSON.parse(r);return this.fromJSON(t,e)}static fromJSON(r,e){const s=e.targetSchema;const o=e.schemaName||t;const i=new s;if(isConvertible(i)){return i.fromJSON(r)}const a=n.get(s);const c=this.getSchemaByName(a,o);const u={};if(e.strictProperty&&!Array.isArray(r)){JsonParser.checkStrictProperty(r,c,a)}for(const t in c){try{const n=c[t];const s=n.name||t;const f=r[s];if(f===undefined&&(n.optional||n.defaultValue!==undefined)){continue}if(!n.optional&&f===undefined){throw new ParserError(a,`Property '${s}' is required.`)}this.checkTypes(f,n);this.checkValues(f,n);if(typeof n.type==="number"){if(n.converter){if(n.repeated){i[t]=f.map(r=>n.converter.fromJSON(r,i))}else{i[t]=n.converter.fromJSON(f,i)}}else{i[t]=f}}else{const r={...e,targetSchema:n.type,schemaName:o};if(n.repeated){i[t]=f.map(e=>this.fromJSON(e,r))}else{i[t]=this.fromJSON(f,r)}}}catch(r){if(!(r instanceof ParserError)){r=new ParserError(a,`Property '${t}' is wrong. ${r.message}`,r)}if(e.strictAllKeys){u[t]=r}else{throw r}}}const f=Object.keys(u);if(f.length){throw new KeyError(a,f,u)}return i}static checkStrictProperty(r,e,t){const n=Object.keys(r);const s=Object.keys(e);const o=[];for(const r of n){if(s.indexOf(r)===-1){o.push(r)}}if(o.length){throw new KeyError(t,o)}}}function getValidations(r){const t=[];if(r.pattern){t.push(new PatternValidation(r.pattern))}if(r.type===e.JsonPropTypes.Number||r.type===e.JsonPropTypes.Any){if(r.minInclusive!==undefined||r.maxInclusive!==undefined){t.push(new InclusiveValidation(r.minInclusive,r.maxInclusive))}if(r.minExclusive!==undefined||r.maxExclusive!==undefined){t.push(new ExclusiveValidation(r.minExclusive,r.maxExclusive))}if(r.enumeration!==undefined){t.push(new EnumerationValidation(r.enumeration))}}if(r.type===e.JsonPropTypes.String||r.repeated||r.type===e.JsonPropTypes.Any){if(r.length!==undefined||r.minLength!==undefined||r.maxLength!==undefined){t.push(new LengthValidation(r.length,r.minLength,r.maxLength))}}return t}const s=(r={})=>(s,o)=>{const i=`Cannot set type for ${o} property of ${s.constructor.name} schema`;let a;if(!n.has(s.constructor)){a=n.create(s.constructor);n.set(s.constructor,a)}else{a=n.get(s.constructor);if(a.target!==s.constructor){a=n.create(s.constructor);n.set(s.constructor,a)}}const c={type:e.JsonPropTypes.Any,validations:[]};const u=Object.assign(c,r);u.validations=getValidations(u);if(typeof u.type!=="number"){if(!n.has(u.type)&&!isConvertible(u.type)){throw new Error(`${i}. Assigning type doesn't have schema.`)}}let f;if(Array.isArray(r.schema)){f=r.schema}else{f=[r.schema||t]}for(const r of f){if(!a.names[r]){a.names[r]={}}const e=a.names[r];e[o]=u}};e.JsonError=JsonError;e.JsonParser=JsonParser;e.JsonProp=s;e.JsonSerializer=JsonSerializer;e.KeyError=KeyError;e.ParserError=ParserError;e.SerializerError=SerializerError;e.TransformError=TransformError;e.ValidationError=ValidationError},25:(r,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});var n=t(389);var s=t(417);var o=t(765);var i=t(950);var a=t(895);var c=t(317);var u=t(870);function _interopDefaultLegacy(r){return r&&typeof r==="object"&&"default"in r?r:{default:r}}function _interopNamespace(r){if(r&&r.__esModule)return r;var e=Object.create(null);if(r){Object.keys(r).forEach(function(t){if(t!=="default"){var n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:true,get:function(){return r[t]}})}})}e["default"]=r;return Object.freeze(e)}var f=_interopNamespace(n);var l=_interopDefaultLegacy(s);var h=_interopNamespace(s);var y=_interopNamespace(o);const p={fromJSON:r=>Buffer.from(c.Convert.FromBase64Url(r)),toJSON:r=>c.Convert.ToBase64Url(r)};class CryptoKey extends f.CryptoKey{constructor(){super(...arguments);this.data=Buffer.alloc(0);this.algorithm={name:""};this.extractable=false;this.type="secret";this.usages=[];this.kty="oct";this.alg=""}}i.__decorate([a.JsonProp({name:"ext",type:a.JsonPropTypes.Boolean,optional:true})],CryptoKey.prototype,"extractable",void 0);i.__decorate([a.JsonProp({name:"key_ops",type:a.JsonPropTypes.String,repeated:true,optional:true})],CryptoKey.prototype,"usages",void 0);i.__decorate([a.JsonProp({type:a.JsonPropTypes.String})],CryptoKey.prototype,"kty",void 0);i.__decorate([a.JsonProp({type:a.JsonPropTypes.String})],CryptoKey.prototype,"alg",void 0);class SymmetricKey extends CryptoKey{constructor(){super(...arguments);this.kty="oct";this.type="secret"}}class AsymmetricKey extends CryptoKey{}class AesCryptoKey extends SymmetricKey{get alg(){switch(this.algorithm.name.toUpperCase()){case"AES-CBC":return`A${this.algorithm.length}CBC`;case"AES-CTR":return`A${this.algorithm.length}CTR`;case"AES-GCM":return`A${this.algorithm.length}GCM`;case"AES-KW":return`A${this.algorithm.length}KW`;case"AES-CMAC":return`A${this.algorithm.length}CMAC`;case"AES-ECB":return`A${this.algorithm.length}ECB`;default:throw new f.AlgorithmError("Unsupported algorithm name")}}set alg(r){}}i.__decorate([a.JsonProp({name:"k",converter:p})],AesCryptoKey.prototype,"data",void 0);const d=new WeakMap;function getCryptoKey(r){const e=d.get(r);if(!e){throw new f.OperationError("Cannot get CryptoKey from secure storage")}return e}function setCryptoKey(r){const e=f.CryptoKey.create(r.algorithm,r.type,r.extractable,r.usages);Object.freeze(e);d.set(e,r);return e}class AesCrypto{static async generateKey(r,e,t){const n=new AesCryptoKey;n.algorithm=r;n.extractable=e;n.usages=t;n.data=l["default"].randomBytes(r.length>>3);return n}static async exportKey(r,e){if(!(e instanceof AesCryptoKey)){throw new Error("key: Is not AesCryptoKey")}switch(r.toLowerCase()){case"jwk":return a.JsonSerializer.toJSON(e);case"raw":return new Uint8Array(e.data).buffer;default:throw new f.OperationError("format: Must be 'jwk' or 'raw'")}}static async importKey(r,e,t,n,s){let o;switch(r.toLowerCase()){case"jwk":o=a.JsonParser.fromJSON(e,{targetSchema:AesCryptoKey});break;case"raw":o=new AesCryptoKey;o.data=Buffer.from(e);break;default:throw new f.OperationError("format: Must be 'jwk' or 'raw'")}o.algorithm=t;o.algorithm.length=o.data.length<<3;o.extractable=n;o.usages=s;switch(o.algorithm.length){case 128:case 192:case 256:break;default:throw new f.OperationError("keyData: Is wrong key length")}return o}static async encrypt(r,e,t){switch(r.name.toUpperCase()){case"AES-CBC":return this.encryptAesCBC(r,e,Buffer.from(t));case"AES-CTR":return this.encryptAesCTR(r,e,Buffer.from(t));case"AES-GCM":return this.encryptAesGCM(r,e,Buffer.from(t));case"AES-KW":return this.encryptAesKW(r,e,Buffer.from(t));case"AES-ECB":return this.encryptAesECB(r,e,Buffer.from(t));default:throw new f.OperationError("algorithm: Is not recognized")}}static async decrypt(r,e,t){if(!(e instanceof AesCryptoKey)){throw new Error("key: Is not AesCryptoKey")}switch(r.name.toUpperCase()){case"AES-CBC":return this.decryptAesCBC(r,e,Buffer.from(t));case"AES-CTR":return this.decryptAesCTR(r,e,Buffer.from(t));case"AES-GCM":return this.decryptAesGCM(r,e,Buffer.from(t));case"AES-KW":return this.decryptAesKW(r,e,Buffer.from(t));case"AES-ECB":return this.decryptAesECB(r,e,Buffer.from(t));default:throw new f.OperationError("algorithm: Is not recognized")}}static async encryptAesCBC(r,e,t){const n=l["default"].createCipheriv(`aes-${e.algorithm.length}-cbc`,e.data,new Uint8Array(r.iv));let s=n.update(t);s=Buffer.concat([s,n.final()]);const o=new Uint8Array(s).buffer;return o}static async decryptAesCBC(r,e,t){const n=l["default"].createDecipheriv(`aes-${e.algorithm.length}-cbc`,e.data,new Uint8Array(r.iv));let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}static async encryptAesCTR(r,e,t){const n=l["default"].createCipheriv(`aes-${e.algorithm.length}-ctr`,e.data,Buffer.from(r.counter));let s=n.update(t);s=Buffer.concat([s,n.final()]);const o=new Uint8Array(s).buffer;return o}static async decryptAesCTR(r,e,t){const n=l["default"].createDecipheriv(`aes-${e.algorithm.length}-ctr`,e.data,new Uint8Array(r.counter));let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}static async encryptAesGCM(r,e,t){const n=l["default"].createCipheriv(`aes-${e.algorithm.length}-gcm`,e.data,Buffer.from(r.iv),{authTagLength:(r.tagLength||128)>>3});if(r.additionalData){n.setAAD(Buffer.from(r.additionalData))}let s=n.update(t);s=Buffer.concat([s,n.final(),n.getAuthTag()]);const o=new Uint8Array(s).buffer;return o}static async decryptAesGCM(r,e,t){const n=l["default"].createDecipheriv(`aes-${e.algorithm.length}-gcm`,e.data,new Uint8Array(r.iv));const s=(r.tagLength||128)>>3;const o=t.slice(0,t.length-s);const i=t.slice(t.length-s);if(r.additionalData){n.setAAD(Buffer.from(r.additionalData))}n.setAuthTag(i);let a=n.update(o);a=Buffer.concat([a,n.final()]);return new Uint8Array(a).buffer}static async encryptAesKW(r,e,t){const n=l["default"].createCipheriv(`id-aes${e.algorithm.length}-wrap`,e.data,this.AES_KW_IV);let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}static async decryptAesKW(r,e,t){const n=l["default"].createDecipheriv(`id-aes${e.algorithm.length}-wrap`,e.data,this.AES_KW_IV);let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}static async encryptAesECB(r,e,t){const n=l["default"].createCipheriv(`aes-${e.algorithm.length}-ecb`,e.data,new Uint8Array(0));let s=n.update(t);s=Buffer.concat([s,n.final()]);const o=new Uint8Array(s).buffer;return o}static async decryptAesECB(r,e,t){const n=l["default"].createDecipheriv(`aes-${e.algorithm.length}-ecb`,e.data,new Uint8Array(0));let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}}AesCrypto.AES_KW_IV=Buffer.from("A6A6A6A6A6A6A6A6","hex");class AesCbcProvider extends f.AesCbcProvider{async onGenerateKey(r,e,t){const n=await AesCrypto.generateKey({name:this.name,length:r.length},e,t);return setCryptoKey(n)}async onEncrypt(r,e,t){return AesCrypto.encrypt(r,getCryptoKey(e),new Uint8Array(t))}async onDecrypt(r,e,t){return AesCrypto.decrypt(r,getCryptoKey(e),new Uint8Array(t))}async onExportKey(r,e){return AesCrypto.exportKey(r,getCryptoKey(e))}async onImportKey(r,e,t,n,s){const o=await AesCrypto.importKey(r,e,{name:t.name},n,s);return setCryptoKey(o)}checkCryptoKey(r,e){super.checkCryptoKey(r,e);if(!(getCryptoKey(r)instanceof AesCryptoKey)){throw new TypeError("key: Is not a AesCryptoKey")}}}const g=Buffer.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);const A=Buffer.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135]);const w=16;function bitShiftLeft(r){const e=Buffer.alloc(r.length);const t=r.length-1;for(let n=0;n<t;n++){e[n]=r[n]<<1;if(r[n+1]&128){e[n]+=1}}e[t]=r[t]<<1;return e}function xor(r,e){const t=Math.min(r.length,e.length);const n=Buffer.alloc(t);for(let s=0;s<t;s++){n[s]=r[s]^e[s]}return n}function aes(r,e){const t=h.createCipheriv(`aes${r.length<<3}`,r,g);const n=t.update(e);t.final();return n}function getMessageBlock(r,e){const t=Buffer.alloc(w);const n=e*w;const s=n+w;r.copy(t,0,n,s);return t}function getPaddedMessageBlock(r,e){const t=Buffer.alloc(w);const n=e*w;const s=r.length;t.fill(0);r.copy(t,0,n,s);t[s-n]=128;return t}function generateSubkeys(r){const e=aes(r,g);let t=bitShiftLeft(e);if(e[0]&128){t=xor(t,A)}let n=bitShiftLeft(t);if(t[0]&128){n=xor(n,A)}return{subkey1:t,subkey2:n}}function aesCmac(r,e){const t=generateSubkeys(r);let n=Math.ceil(e.length/w);let s;let o;if(n===0){n=1;s=false}else{s=e.length%w===0}const i=n-1;if(s){o=xor(getMessageBlock(e,i),t.subkey1)}else{o=xor(getPaddedMessageBlock(e,i),t.subkey2)}let a=g;let c;for(let t=0;t<i;t++){c=xor(a,getMessageBlock(e,t));a=aes(r,c)}c=xor(o,a);return aes(r,c)}class AesCmacProvider extends f.AesCmacProvider{async onGenerateKey(r,e,t){const n=await AesCrypto.generateKey({name:this.name,length:r.length},e,t);return setCryptoKey(n)}async onSign(r,e,t){const n=aesCmac(getCryptoKey(e).data,Buffer.from(t));return new Uint8Array(n).buffer}async onVerify(r,e,t,n){const s=await this.sign(r,e,n);return Buffer.from(t).compare(Buffer.from(s))===0}async onExportKey(r,e){return AesCrypto.exportKey(r,getCryptoKey(e))}async onImportKey(r,e,t,n,s){const o=await AesCrypto.importKey(r,e,{name:t.name},n,s);return setCryptoKey(o)}checkCryptoKey(r,e){super.checkCryptoKey(r,e);if(!(getCryptoKey(r)instanceof AesCryptoKey)){throw new TypeError("key: Is not a AesCryptoKey")}}}class AesCtrProvider extends f.AesCtrProvider{async onGenerateKey(r,e,t){const n=await AesCrypto.generateKey({name:this.name,length:r.length},e,t);return setCryptoKey(n)}async onEncrypt(r,e,t){return AesCrypto.encrypt(r,getCryptoKey(e),new Uint8Array(t))}async onDecrypt(r,e,t){return AesCrypto.decrypt(r,getCryptoKey(e),new Uint8Array(t))}async onExportKey(r,e){return AesCrypto.exportKey(r,getCryptoKey(e))}async onImportKey(r,e,t,n,s){const o=await AesCrypto.importKey(r,e,{name:t.name},n,s);return setCryptoKey(o)}checkCryptoKey(r,e){super.checkCryptoKey(r,e);if(!(getCryptoKey(r)instanceof AesCryptoKey)){throw new TypeError("key: Is not a AesCryptoKey")}}}class AesGcmProvider extends f.AesGcmProvider{async onGenerateKey(r,e,t){const n=await AesCrypto.generateKey({name:this.name,length:r.length},e,t);return setCryptoKey(n)}async onEncrypt(r,e,t){return AesCrypto.encrypt(r,getCryptoKey(e),new Uint8Array(t))}async onDecrypt(r,e,t){return AesCrypto.decrypt(r,getCryptoKey(e),new Uint8Array(t))}async onExportKey(r,e){return AesCrypto.exportKey(r,getCryptoKey(e))}async onImportKey(r,e,t,n,s){const o=await AesCrypto.importKey(r,e,{name:t.name},n,s);return setCryptoKey(o)}checkCryptoKey(r,e){super.checkCryptoKey(r,e);if(!(getCryptoKey(r)instanceof AesCryptoKey)){throw new TypeError("key: Is not a AesCryptoKey")}}}class AesKwProvider extends f.AesKwProvider{async onGenerateKey(r,e,t){const n=await AesCrypto.generateKey({name:this.name,length:r.length},e,t);return setCryptoKey(n)}async onExportKey(r,e){return AesCrypto.exportKey(r,getCryptoKey(e))}async onImportKey(r,e,t,n,s){const o=await AesCrypto.importKey(r,e,{name:t.name},n,s);return setCryptoKey(o)}async onEncrypt(r,e,t){return AesCrypto.encrypt(r,getCryptoKey(e),new Uint8Array(t))}async onDecrypt(r,e,t){return AesCrypto.decrypt(r,getCryptoKey(e),new Uint8Array(t))}checkCryptoKey(r,e){super.checkCryptoKey(r,e);if(!(getCryptoKey(r)instanceof AesCryptoKey)){throw new TypeError("key: Is not a AesCryptoKey")}}}class AesEcbProvider extends f.AesEcbProvider{async onGenerateKey(r,e,t){const n=await AesCrypto.generateKey({name:this.name,length:r.length},e,t);return setCryptoKey(n)}async onEncrypt(r,e,t){return AesCrypto.encrypt(r,getCryptoKey(e),new Uint8Array(t))}async onDecrypt(r,e,t){return AesCrypto.decrypt(r,getCryptoKey(e),new Uint8Array(t))}async onExportKey(r,e){return AesCrypto.exportKey(r,getCryptoKey(e))}async onImportKey(r,e,t,n,s){const o=await AesCrypto.importKey(r,e,{name:t.name},n,s);return setCryptoKey(o)}checkCryptoKey(r,e){super.checkCryptoKey(r,e);if(!(getCryptoKey(r)instanceof AesCryptoKey)){throw new TypeError("key: Is not a AesCryptoKey")}}}class DesCryptoKey extends SymmetricKey{get alg(){switch(this.algorithm.name.toUpperCase()){case"DES-CBC":return`DES-CBC`;case"DES-EDE3-CBC":return`3DES-CBC`;default:throw new f.AlgorithmError("Unsupported algorithm name")}}set alg(r){}}i.__decorate([a.JsonProp({name:"k",converter:p})],DesCryptoKey.prototype,"data",void 0);class DesCrypto{static async generateKey(r,e,t){const n=new DesCryptoKey;n.algorithm=r;n.extractable=e;n.usages=t;n.data=l["default"].randomBytes(r.length>>3);return n}static async exportKey(r,e){switch(r.toLowerCase()){case"jwk":return a.JsonSerializer.toJSON(e);case"raw":return new Uint8Array(e.data).buffer;default:throw new f.OperationError("format: Must be 'jwk' or 'raw'")}}static async importKey(r,e,t,n,s){let o;switch(r.toLowerCase()){case"jwk":o=a.JsonParser.fromJSON(e,{targetSchema:DesCryptoKey});break;case"raw":o=new DesCryptoKey;o.data=Buffer.from(e);break;default:throw new f.OperationError("format: Must be 'jwk' or 'raw'")}o.algorithm=t;o.extractable=n;o.usages=s;return o}static async encrypt(r,e,t){switch(r.name.toUpperCase()){case"DES-CBC":return this.encryptDesCBC(r,e,Buffer.from(t));case"DES-EDE3-CBC":return this.encryptDesEDE3CBC(r,e,Buffer.from(t));default:throw new f.OperationError("algorithm: Is not recognized")}}static async decrypt(r,e,t){if(!(e instanceof DesCryptoKey)){throw new Error("key: Is not DesCryptoKey")}switch(r.name.toUpperCase()){case"DES-CBC":return this.decryptDesCBC(r,e,Buffer.from(t));case"DES-EDE3-CBC":return this.decryptDesEDE3CBC(r,e,Buffer.from(t));default:throw new f.OperationError("algorithm: Is not recognized")}}static async encryptDesCBC(r,e,t){const n=l["default"].createCipheriv(`des-cbc`,e.data,new Uint8Array(r.iv));let s=n.update(t);s=Buffer.concat([s,n.final()]);const o=new Uint8Array(s).buffer;return o}static async decryptDesCBC(r,e,t){const n=l["default"].createDecipheriv(`des-cbc`,e.data,new Uint8Array(r.iv));let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}static async encryptDesEDE3CBC(r,e,t){const n=l["default"].createCipheriv(`des-ede3-cbc`,e.data,Buffer.from(r.iv));let s=n.update(t);s=Buffer.concat([s,n.final()]);const o=new Uint8Array(s).buffer;return o}static async decryptDesEDE3CBC(r,e,t){const n=l["default"].createDecipheriv(`des-ede3-cbc`,e.data,new Uint8Array(r.iv));let s=n.update(t);s=Buffer.concat([s,n.final()]);return new Uint8Array(s).buffer}}class DesCbcProvider extends f.DesProvider{constructor(){super(...argume