@ipld/dag-json
Version:
JS implementation of DAG-JSON
5 lines (4 loc) • 46.4 kB
JavaScript
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.IpldDagJson = factory()}(typeof self !== 'undefined' ? self : this, function () {
"use strict";var IpldDagJson=(()=>{var Oe=Object.defineProperty;var Tr=Object.getOwnPropertyDescriptor;var Br=Object.getOwnPropertyNames;var Ir=Object.prototype.hasOwnProperty;var $r=(e,t)=>{for(var r in t)Oe(e,r,{get:t[r],enumerable:!0})},Cr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Br(t))!Ir.call(e,o)&&o!==r&&Oe(e,o,{get:()=>t[o],enumerable:!(n=Tr(t,o))||n.enumerable});return e};var Nr=e=>Cr(Oe({},"__esModule",{value:!0}),e);var to={};$r(to,{code:()=>Xn,decode:()=>Ur,encode:()=>Ar,format:()=>Qn,name:()=>Kn,parse:()=>Zn,stringify:()=>Qn});var Dr=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Tagged"];function ct(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(t==="string"||t==="number"||t==="bigint"||t==="symbol")return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(e instanceof Uint8Array)return"Uint8Array";if(e.constructor===Object)return"Object";let r=Mr(e);return r||"Object"}function Mr(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Dr.includes(t))return t}var i=class{constructor(t,r,n){this.major=t,this.majorEncoded=t<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}static equals(t,r){return t===r||t.major===r.major&&t.name===r.name}};i.uint=new i(0,"uint",!0);i.negint=new i(1,"negint",!0);i.bytes=new i(2,"bytes",!0);i.string=new i(3,"string",!0);i.array=new i(4,"array",!1);i.map=new i(5,"map",!1);i.tag=new i(6,"tag",!1);i.float=new i(7,"float",!0);i.false=new i(7,"false",!0);i.true=new i(7,"true",!0);i.null=new i(7,"null",!0);i.undefined=new i(7,"undefined",!0);i.break=new i(7,"break",!0);var c=class{constructor(t,r,n){this.type=t,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var ue=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Or=new TextEncoder;function Ee(e){return ue&&globalThis.Buffer.isBuffer(e)}function H(e){return e instanceof Uint8Array?Ee(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var Fr=24,zr=200,fe=ue?e=>e.length>=Fr?globalThis.Buffer.from(e):ut(e):e=>e.length>=zr?Or.encode(e):ut(e),F=e=>Uint8Array.from(e),dt=ue?(e,t,r)=>Ee(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),ht=ue?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),H(globalThis.Buffer.concat(e,t))):(e,t)=>{let r=new Uint8Array(t),n=0;for(let o of e)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},pt=ue?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function ke(e,t){if(Ee(e)&&Ee(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}function ut(e){let t=[],r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(o>=55296&&o<=57343&&(o=65533),t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128)}return t}var ft=4096;function lt(e){let t=e.length;if(t<=ft)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=ft));return r}var jr=256,de=class{constructor(t=jr){this.chunkSize=t,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(t){let r=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(t,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(r=pt(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=dt(n,0,this.cursor)}else r=ht(this.chunks,this.cursor);return t&&this.reset(),r}},_e=class{constructor(t){this.dest=t,this.cursor=0,this.chunks=[t]}reset(){this.cursor=0}push(t){if(this.cursor+t.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(t,this.cursor),this.cursor+=t.length}toBytes(t=!1){let r=this.dest.subarray(0,this.cursor);return t&&this.reset(),r}};var f="CBOR decode error:",j="CBOR encode error:",he=[];he[23]=1;he[24]=2;he[25]=3;he[26]=5;he[27]=9;function L(e,t,r){if(e.length-t<r)throw new Error(`${f} not enough data for type`)}var x=[24,256,65536,4294967296,BigInt("18446744073709551616")];function k(e,t,r){L(e,t,1);let n=e[t];if(r.strict===!0&&n<x[0])throw new Error(`${f} integer encoded in more bytes than necessary (strict decode)`);return n}function _(e,t,r){L(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<x[1])throw new Error(`${f} integer encoded in more bytes than necessary (strict decode)`);return n}function v(e,t,r){L(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<x[2])throw new Error(`${f} integer encoded in more bytes than necessary (strict decode)`);return n}function A(e,t,r){L(e,t,8);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<x[3])throw new Error(`${f} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${f} integers outside of the safe integer range are not supported`)}function mt(e,t,r,n){return new c(i.uint,k(e,t+1,n),2)}function yt(e,t,r,n){return new c(i.uint,_(e,t+1,n),3)}function xt(e,t,r,n){return new c(i.uint,v(e,t+1,n),5)}function gt(e,t,r,n){return new c(i.uint,A(e,t+1,n),9)}function S(e,t){return g(e,0,t.value)}function g(e,t,r){if(r<x[0]){let n=Number(r);e.push([t|n])}else if(r<x[1]){let n=Number(r);e.push([t|24,n])}else if(r<x[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<x[3]){let n=Number(r);e.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<x[4]){let o=[t|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),a=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=a&255,a=a>>8,o[3]=a&255,a=a>>8,o[2]=a&255,a=a>>8,o[1]=a&255,e.push(o)}else throw new Error(`${f} encountered BigInt larger than allowable range`)}}S.encodedSize=function(t){return g.encodedSize(t.value)};g.encodedSize=function(t){return t<x[0]?1:t<x[1]?2:t<x[2]?3:t<x[3]?5:9};S.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function wt(e,t,r,n){return new c(i.negint,-1-k(e,t+1,n),2)}function bt(e,t,r,n){return new c(i.negint,-1-_(e,t+1,n),3)}function Et(e,t,r,n){return new c(i.negint,-1-v(e,t+1,n),5)}var Fe=BigInt(-1),kt=BigInt(1);function _t(e,t,r,n){let o=A(e,t+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new c(i.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${f} integers outside of the safe integer range are not supported`);return new c(i.negint,Fe-BigInt(o),9)}function ve(e,t){let r=t.value,n=typeof r=="bigint"?r*Fe-kt:r*-1-1;g(e,t.type.majorEncoded,n)}ve.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*Fe-kt:r*-1-1;return n<x[0]?1:n<x[1]?2:n<x[2]?3:n<x[3]?5:9};ve.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function pe(e,t,r,n){L(e,t,r+n);let o=e.slice(t+r,t+r+n);return new c(i.bytes,o,r+n)}function vt(e,t,r,n){return pe(e,t,1,r)}function At(e,t,r,n){return pe(e,t,2,k(e,t+1,n))}function Ut(e,t,r,n){return pe(e,t,3,_(e,t+1,n))}function St(e,t,r,n){return pe(e,t,5,v(e,t+1,n))}function Tt(e,t,r,n){let o=A(e,t+1,n);if(typeof o=="bigint")throw new Error(`${f} 64-bit integer bytes lengths not supported`);return pe(e,t,9,o)}function Ae(e){return e.encodedBytes===void 0&&(e.encodedBytes=i.equals(e.type,i.string)?fe(e.value):e.value),e.encodedBytes}function Q(e,t){let r=Ae(t);g(e,t.type.majorEncoded,r.length),e.push(r)}Q.encodedSize=function(t){let r=Ae(t);return g.encodedSize(r.length)+r.length};Q.compareTokens=function(t,r){return Rr(Ae(t),Ae(r))};function Rr(e,t){return e.length<t.length?-1:e.length>t.length?1:ke(e,t)}var Bt=new TextDecoder,qr=32;function Pr(e,t,r){if(r-t<qr){let o="";for(let s=t;s<r;s++){let a=e[s];if(a&128)return Bt.decode(e.subarray(t,r));o+=String.fromCharCode(a)}return o}return Bt.decode(e.subarray(t,r))}function le(e,t,r,n,o){let s=r+n;L(e,t,s);let a=new c(i.string,Pr(e,t+r,t+s),s);return o.retainStringBytes===!0&&(a.byteValue=e.slice(t+r,t+s)),a}function It(e,t,r,n){return le(e,t,1,r,n)}function $t(e,t,r,n){return le(e,t,2,k(e,t+1,n),n)}function Ct(e,t,r,n){return le(e,t,3,_(e,t+1,n),n)}function Nt(e,t,r,n){return le(e,t,5,v(e,t+1,n),n)}function Dt(e,t,r,n){let o=A(e,t+1,n);if(typeof o=="bigint")throw new Error(`${f} 64-bit integer string lengths not supported`);return le(e,t,9,o,n)}var Mt=Q;function Y(e,t,r,n){return new c(i.array,n,r)}function Ot(e,t,r,n){return Y(e,t,1,r)}function Ft(e,t,r,n){return Y(e,t,2,k(e,t+1,n))}function zt(e,t,r,n){return Y(e,t,3,_(e,t+1,n))}function jt(e,t,r,n){return Y(e,t,5,v(e,t+1,n))}function Lt(e,t,r,n){let o=A(e,t+1,n);if(typeof o=="bigint")throw new Error(`${f} 64-bit integer array lengths not supported`);return Y(e,t,9,o)}function Rt(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${f} indefinite length items not allowed`);return Y(e,t,1,1/0)}function Ue(e,t){g(e,i.array.majorEncoded,t.value)}Ue.compareTokens=S.compareTokens;Ue.encodedSize=function(t){return g.encodedSize(t.value)};function Z(e,t,r,n){return new c(i.map,n,r)}function Vt(e,t,r,n){return Z(e,t,1,r)}function qt(e,t,r,n){return Z(e,t,2,k(e,t+1,n))}function Pt(e,t,r,n){return Z(e,t,3,_(e,t+1,n))}function Wt(e,t,r,n){return Z(e,t,5,v(e,t+1,n))}function Jt(e,t,r,n){let o=A(e,t+1,n);if(typeof o=="bigint")throw new Error(`${f} 64-bit integer map lengths not supported`);return Z(e,t,9,o)}function Gt(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${f} indefinite length items not allowed`);return Z(e,t,1,1/0)}function Se(e,t){g(e,i.map.majorEncoded,t.value)}Se.compareTokens=S.compareTokens;Se.encodedSize=function(t){return g.encodedSize(t.value)};function Ht(e,t,r,n){return new c(i.tag,r,1)}function Kt(e,t,r,n){return new c(i.tag,k(e,t+1,n),2)}function Xt(e,t,r,n){return new c(i.tag,_(e,t+1,n),3)}function Qt(e,t,r,n){return new c(i.tag,v(e,t+1,n),5)}function Yt(e,t,r,n){return new c(i.tag,A(e,t+1,n),9)}function Te(e,t){g(e,i.tag.majorEncoded,t.value)}Te.compareTokens=S.compareTokens;Te.encodedSize=function(t){return g.encodedSize(t.value)};var ze=20,je=21,Le=22,Re=23;function Zt(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${f} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new c(i.null,null,1):new c(i.undefined,void 0,1)}function er(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${f} indefinite length items not allowed`);return new c(i.break,void 0,1)}function Ve(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${f} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${f} Infinity values are not supported`)}return new c(i.float,e,t)}function tr(e,t,r,n){return Ve(qe(e,t+1),3,n)}function rr(e,t,r,n){return Ve(Pe(e,t+1),5,n)}function nr(e,t,r,n){return Ve(ar(e,t+1),9,n)}function Be(e,t,r){let n=t.value;if(n===!1)e.push([i.float.majorEncoded|ze]);else if(n===!0)e.push([i.float.majorEncoded|je]);else if(n===null)e.push([i.float.majorEncoded|Le]);else if(n===void 0)e.push([i.float.majorEncoded|Re]);else{let o,s=!1;(!r||r.float64!==!0)&&(ir(n),o=qe($,1),n===o||Number.isNaN(n)?($[0]=249,e.push($.slice(0,3)),s=!0):(sr(n),o=Pe($,1),n===o&&($[0]=250,e.push($.slice(0,5)),s=!0))),s||(Kr(n),o=ar($,1),$[0]=251,e.push($.slice(0,9)))}}Be.encodedSize=function(t,r){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){ir(n);let o=qe($,1);if(n===o||Number.isNaN(n))return 3;if(sr(n),o=Pe($,1),n===o)return 5}return 9};var or=new ArrayBuffer(9),T=new DataView(or,1),$=new Uint8Array(or,0);function ir(e){if(e===1/0)T.setUint16(0,31744,!1);else if(e===-1/0)T.setUint16(0,64512,!1);else if(Number.isNaN(e))T.setUint16(0,32256,!1);else{T.setFloat32(0,e);let t=T.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)T.setUint16(0,31744,!1);else if(r===0)T.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?T.setUint16(0,0):o<-14?T.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):T.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function qe(e,t){if(e.length-t<2)throw new Error(`${f} not enough data for float16`);let r=(e[t]<<8)+e[t+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function sr(e){T.setFloat32(0,e,!1)}function Pe(e,t){if(e.length-t<4)throw new Error(`${f} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function Kr(e){T.setFloat64(0,e,!1)}function ar(e,t){if(e.length-t<8)throw new Error(`${f} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}Be.compareTokens=S.compareTokens;function p(e,t,r){throw new Error(`${f} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function Ie(e){return()=>{throw new Error(`${f} ${e}`)}}var u=[];for(let e=0;e<=23;e++)u[e]=p;u[24]=mt;u[25]=yt;u[26]=xt;u[27]=gt;u[28]=p;u[29]=p;u[30]=p;u[31]=p;for(let e=32;e<=55;e++)u[e]=p;u[56]=wt;u[57]=bt;u[58]=Et;u[59]=_t;u[60]=p;u[61]=p;u[62]=p;u[63]=p;for(let e=64;e<=87;e++)u[e]=vt;u[88]=At;u[89]=Ut;u[90]=St;u[91]=Tt;u[92]=p;u[93]=p;u[94]=p;u[95]=Ie("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)u[e]=It;u[120]=$t;u[121]=Ct;u[122]=Nt;u[123]=Dt;u[124]=p;u[125]=p;u[126]=p;u[127]=Ie("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)u[e]=Ot;u[152]=Ft;u[153]=zt;u[154]=jt;u[155]=Lt;u[156]=p;u[157]=p;u[158]=p;u[159]=Rt;for(let e=160;e<=183;e++)u[e]=Vt;u[184]=qt;u[185]=Pt;u[186]=Wt;u[187]=Jt;u[188]=p;u[189]=p;u[190]=p;u[191]=Gt;for(let e=192;e<=215;e++)u[e]=Ht;u[216]=Kt;u[217]=Xt;u[218]=Qt;u[219]=Yt;u[220]=p;u[221]=p;u[222]=p;u[223]=p;for(let e=224;e<=243;e++)u[e]=Ie("simple values are not supported");u[244]=p;u[245]=p;u[246]=p;u[247]=Zt;u[248]=Ie("simple values are not supported");u[249]=tr;u[250]=rr;u[251]=nr;u[252]=p;u[253]=p;u[254]=p;u[255]=er;var C=[];for(let e=0;e<24;e++)C[e]=new c(i.uint,e,1);for(let e=-1;e>=-24;e--)C[31-e]=new c(i.negint,e,1);C[64]=new c(i.bytes,new Uint8Array(0),1);C[96]=new c(i.string,"",1);C[128]=new c(i.array,0,1);C[160]=new c(i.map,0,1);C[244]=new c(i.false,!1,1);C[245]=new c(i.true,!0,1);C[246]=new c(i.null,null,1);function cr(e){switch(e.type){case i.false:return F([244]);case i.true:return F([245]);case i.null:return F([246]);case i.bytes:return e.value.length?void 0:F([64]);case i.string:return e.value===""?F([96]):void 0;case i.array:return e.value===0?F([128]):void 0;case i.map:return e.value===0?F([160]):void 0;case i.uint:return e.value<24?F([Number(e.value)]):void 0;case i.negint:if(e.value>=-24)return F([31-Number(e.value)])}}var fr=Object.freeze({float64:!0,mapSorter:tn,quickEncodeToken:cr});function Qr(){let e=[];return e[i.uint.major]=S,e[i.negint.major]=ve,e[i.bytes.major]=Q,e[i.string.major]=Mt,e[i.array.major]=Ue,e[i.map.major]=Se,e[i.tag.major]=Te,e[i.float.major]=Be,e}var Yr=Qr(),Zr=new de,$e=class e{constructor(t,r){this.obj=t,this.parent=r}includes(t){let r=this;do if(r.obj===t)return!0;while(r=r.parent);return!1}static createCheck(t,r){if(t&&t.includes(r))throw new Error(`${j} object contains circular references`);return new e(r,t)}},q={null:new c(i.null,null),undefined:new c(i.undefined,void 0),true:new c(i.true,!0),false:new c(i.false,!1),emptyArray:new c(i.array,0),emptyMap:new c(i.map,0)},P={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new c(i.float,e):e>=0?new c(i.uint,e):new c(i.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new c(i.uint,e):new c(i.negint,e)},Uint8Array(e,t,r,n){return new c(i.bytes,e)},string(e,t,r,n){return new c(i.string,e)},boolean(e,t,r,n){return e?q.true:q.false},null(e,t,r,n){return q.null},undefined(e,t,r,n){return q.undefined},ArrayBuffer(e,t,r,n){return new c(i.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new c(i.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[q.emptyArray,new c(i.break)]:q.emptyArray;n=$e.createCheck(n,e);let o=[],s=0;for(let a of e)o[s++]=ee(a,r,n);return r.addBreakTokens?[new c(i.array,e.length),o,new c(i.break)]:[new c(i.array,e.length),o]},Object(e,t,r,n){let o=t!=="Object",s=o?e.keys():Object.keys(e),a=o?e.size:s.length,d;if(a){d=new Array(a),n=$e.createCheck(n,e);let h=!o&&r.ignoreUndefinedProperties,l=0;for(let b of s){let y=o?e.get(b):e[b];h&&y===void 0||(d[l++]=[ee(b,r,n),ee(y,r,n)])}l<a&&(d.length=l)}return d?.length?(en(d,r),r.addBreakTokens?[new c(i.map,d.length),d,new c(i.break)]:[new c(i.map,d.length),d]):r.addBreakTokens===!0?[q.emptyMap,new c(i.break)]:q.emptyMap},Tagged(e,t,r,n){return[new c(i.tag,e.tag),ee(e.value,r,n)]}};P.Map=P.Object;P.Buffer=P.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))P[`${e}Array`]=P.DataView;function ee(e,t={},r){let n=ct(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||P[n];if(typeof o=="function"){let a=o(e,n,t,r);if(a!=null)return a}let s=P[n];if(!s)throw new Error(`${j} unsupported type: ${n}`);return s(e,n,t,r)}function en(e,t){t.mapSorter&&e.sort(t.mapSorter)}function tn(e,t){if(e[0]instanceof c&&t[0]instanceof c){let r=e[0],n=t[0];return r._keyBytes||(r._keyBytes=ur(r.value)),n._keyBytes||(n._keyBytes=ur(n.value)),ke(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function ur(e){return We(e,Yr,fr)}function dr(e,t,r,n){if(Array.isArray(t))for(let o of t)dr(e,o,r,n);else r[t.type.major](e,t,n)}var Jo=i.uint.majorEncoded,Go=i.negint.majorEncoded,Ho=i.bytes.majorEncoded,Ko=i.string.majorEncoded,Xo=i.array.majorEncoded,Qo=i.float.majorEncoded|ze,Yo=i.float.majorEncoded|je,Zo=i.float.majorEncoded|Le,ei=i.float.majorEncoded|Re,ti=BigInt(-1),ri=BigInt(1);function We(e,t,r,n){let o=n instanceof Uint8Array,s=o?new _e(n):Zr,a=ee(e,r);if(!Array.isArray(a)&&r.quickEncodeToken){let d=r.quickEncodeToken(a);if(d)return o?(s.push(d),s.toBytes()):d;let h=t[a.type.major];if(h.encodedSize){let l=h.encodedSize(a,r);if(o||(s=new de(l)),h(s,a,r),s.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${a} was wrong`);return o?s.toBytes():H(s.chunks[0])}}return s.reset(),dr(s,a,t,r),s.toBytes(!0)}var rn={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Ce=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],r=C[t];if(r===void 0){let n=u[t];if(!n)throw new Error(`${f} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},W=Symbol.for("DONE"),te=Symbol.for("BREAK");function nn(e,t,r){let n=[];for(let o=0;o<e.value;o++){let s=J(t,r);if(s===te){if(e.value===1/0)break;throw new Error(`${f} got unexpected break to lengthed array`)}if(s===W)throw new Error(`${f} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=s}return n}function on(e,t,r){let n=r.useMaps===!0,o=r.rejectDuplicateMapKeys===!0,s=n?void 0:{},a=n?new Map:void 0;for(let d=0;d<e.value;d++){let h=J(t,r);if(h===te){if(e.value===1/0)break;throw new Error(`${f} got unexpected break to lengthed map`)}if(h===W)throw new Error(`${f} found map but not enough entries (got ${d} [no key], expected ${e.value})`);if(!n&&typeof h!="string")throw new Error(`${f} non-string keys not supported (got ${typeof h})`);if(o&&(n&&a.has(h)||!n&&Object.hasOwn(s,h)))throw new Error(`${f} found repeat map key "${h}"`);let l=J(t,r);if(l===W)throw new Error(`${f} found map but not enough entries (got ${d} [no value], expected ${e.value})`);n?a.set(h,l):s[h]=l}return n?a:s}function*sn(e,t,r){for(let n=0;n<e.value;n++){let o=J(t,r);if(o===te){if(e.value===1/0)break;throw new Error(`${f} got unexpected break to lengthed map`)}if(o===W)throw new Error(`${f} found map but not enough entries (got ${n} [no key], expected ${e.value})`);let s=J(t,r);if(s===W)throw new Error(`${f} found map but not enough entries (got ${n} [no value], expected ${e.value})`);yield[o,s]}}function an(e,t){let r=!1,n=function(){if(r)throw new Error(`${f} tag decode() may only be called once`);r=!0;let o=J(e,t);if(o===W)throw new Error(`${f} tag content missing`);if(o===te)throw new Error(`${f} got unexpected break in tag content`);return o};return n.entries=function(){if(r)throw new Error(`${f} tag decode() may only be called once`);r=!0;let o=e.next();if(!i.equals(o.type,i.map))throw new Error(`${f} entries() requires map content, got ${o.type.name}`);let s=[];for(let a of sn(o,e,t))s.push(a);return s},Object.defineProperty(n,"_called",{get(){return r},enumerable:!1}),n}function J(e,t){if(e.done())return W;let r=e.next();if(i.equals(r.type,i.break))return te;if(r.type.terminal)return r.value;if(i.equals(r.type,i.array))return nn(r,e,t);if(i.equals(r.type,i.map))return on(r,e,t);if(i.equals(r.type,i.tag)){if(t.tags&&typeof t.tags[r.value]=="function"){let n=an(e,t),o=t.tags[r.value](n);if(!n._called)throw new Error(`${f} tag decoder must call decode() or entries()`);return o}throw new Error(`${f} tag not supported (${r.value})`)}throw new Error("unsupported")}function Je(e,t){if(!(e instanceof Uint8Array))throw new Error(`${f} data to decode must be a Uint8Array`);t=Object.assign({},rn,t);let r=H(e),n=t.tokenizer||new Ce(r,t),o=J(n,t);if(o===W)throw new Error(`${f} did not find any content to decode`);if(o===te)throw new Error(`${f} got unexpected break`);return[o,e.subarray(n.pos())]}function Ge(e,t){let[r,n]=Je(e,t);if(n.length>0)throw new Error(`${f} too many terminals, data makes no sense`);return r}var Ne=class e{constructor(t,r){if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new TypeError("Tagged: tag must be a non-negative integer");this.tag=t,this.value=r}static decoder(t){return r=>new e(t,r())}static preserve(...t){let r={};for(let n of t)r[n]=e.decoder(n);return r}};Object.defineProperty(Ne.prototype,Symbol.toStringTag,{value:"Tagged"});var He=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(t){let r=this.inRecursive[this.inRecursive.length-1];r&&(i.equals(r.type,i.array)&&(r.elements++,r.elements!==1&&t.push([44])),i.equals(r.type,i.map)&&(r.elements++,r.elements!==1&&(r.elements%2===1?t.push([44]):t.push([58]))))}[i.uint.major](t,r){this.prefix(t);let n=String(r.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);t.push(o)}[i.negint.major](t,r){this[i.uint.major](t,r)}[i.bytes.major](t,r){throw new Error(`${j} unsupported type: Uint8Array`)}[i.string.major](t,r){this.prefix(t);let n=fe(JSON.stringify(r.value));t.push(n.length>32?H(n):n)}[i.array.major](t,r){this.prefix(t),this.inRecursive.push({type:i.array,elements:0}),t.push([91])}[i.map.major](t,r){this.prefix(t),this.inRecursive.push({type:i.map,elements:0}),t.push([123])}[i.tag.major](t,r){}[i.float.major](t,r){if(r.type.name==="break"){let a=this.inRecursive.pop();if(a){if(i.equals(a.type,i.array))t.push([93]);else if(i.equals(a.type,i.map))t.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(r.value===void 0)throw new Error(`${j} unsupported type: undefined`);if(this.prefix(t),r.type.name==="true"){t.push([116,114,117,101]);return}else if(r.type.name==="false"){t.push([102,97,108,115,101]);return}else if(r.type.name==="null"){t.push([110,117,108,108]);return}let n=String(r.value),o=[],s=!1;for(let a=0;a<n.length;a++)o[a]=n.charCodeAt(a),!s&&(o[a]===46||o[a]===101||o[a]===69)&&(s=!0);s||(o.push(46),o.push(48)),t.push(o)}};function cn(e,t){if(Array.isArray(e[0])||Array.isArray(t[0]))throw new Error(`${j} complex map keys are not supported`);let r=e[0],n=t[0];if(r.type!==i.string||n.type!==i.string)throw new Error(`${j} non-string map keys are not supported`);if(r<n)return-1;if(r>n)return 1;throw new Error(`${j} unexpected duplicate map keys, this is not supported`)}var un={addBreakTokens:!0,mapSorter:cn};function Ke(e,t){return t=Object.assign({},un,t),We(e,new He,t)}var re=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}done(){return this._pos>=this.data.length}ch(){return this.data[this._pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let t=this.ch();for(;t===32||t===9||t===13||t===10;)t=this.data[++this._pos]}expect(t){if(this.data.length-this._pos<t.length)throw new Error(`${f} unexpected end of input at position ${this._pos}`);for(let r=0;r<t.length;r++)if(this.data[this._pos++]!==t[r])throw new Error(`${f} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...t)}'`)}parseNumber(){let t=this._pos,r=!1,n=!1,o=d=>{for(;!this.done();){let h=this.ch();if(d.includes(h))this._pos++;else break}};if(this.ch()===45&&(r=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new c(i.uint,0,this._pos-t);if(o([48,49,50,51,52,53,54,55,56,57]),r&&this._pos===t+1)throw new Error(`${f} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${f} unexpected token at position ${this._pos}`);n=!0,this._pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this._pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this._pos++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(t,this._pos)),a=parseFloat(s);return n?new c(i.float,a,this._pos-t):this.options.allowBigInt!==!0||Number.isSafeInteger(a)?new c(a>=0?i.uint:i.negint,a,this._pos-t):new c(a>=0?i.uint:i.negint,BigInt(s),this._pos-t)}parseString(){if(this.ch()!==34)throw new Error(`${f} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let s=this._pos,a=0;s<this.data.length&&a<65536;s++,a++){let d=this.data[s];if(d===92||d<32||d>=128)break;if(d===34){let h=String.fromCharCode.apply(null,this.data.subarray(this._pos,s));return this._pos=s+1,new c(i.string,h,a)}}let t=this._pos,r=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${f} unexpected end of unicode escape sequence at position ${this._pos}`);let s=0;for(let a=0;a<4;a++){let d=this.ch();if(d>=48&&d<=57)d-=48;else if(d>=97&&d<=102)d=d-97+10;else if(d>=65&&d<=70)d=d-65+10;else throw new Error(`${f} unexpected unicode escape character at position ${this._pos}`);s=s*16+d,this._pos++}return s},o=()=>{let s=this.ch(),a=null,d=s>239?4:s>223?3:s>191?2:1;if(this._pos+d>this.data.length)throw new Error(`${f} unexpected unicode sequence at position ${this._pos}`);let h,l,b,y;switch(d){case 1:s<128&&(a=s);break;case 2:h=this.data[this._pos+1],(h&192)===128&&(y=(s&31)<<6|h&63,y>127&&(a=y));break;case 3:h=this.data[this._pos+1],l=this.data[this._pos+2],(h&192)===128&&(l&192)===128&&(y=(s&15)<<12|(h&63)<<6|l&63,y>2047&&(y<55296||y>57343)&&(a=y));break;case 4:h=this.data[this._pos+1],l=this.data[this._pos+2],b=this.data[this._pos+3],(h&192)===128&&(l&192)===128&&(b&192)===128&&(y=(s&15)<<18|(h&63)<<12|(l&63)<<6|b&63,y>65535&&y<1114112&&(a=y))}a===null?(a=65533,d=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a),this._pos+=d};for(;!this.done();){let s=this.ch(),a;switch(s){case 92:if(this._pos++,this.done())throw new Error(`${f} unexpected string termination at position ${this._pos}`);switch(a=this.ch(),this._pos++,a){case 34:case 39:case 92:case 47:r.push(a);break;case 98:r.push(8);break;case 116:r.push(9);break;case 110:r.push(10);break;case 102:r.push(12);break;case 114:r.push(13);break;case 117:r.push(n());break;default:throw new Error(`${f} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new c(i.string,lt(r),this._pos-t);default:if(s<32)throw new Error(`${f} invalid control character at position ${this._pos}`);s<128?(r.push(s),this._pos++):o()}}throw new Error(`${f} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new c(i.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new c(i.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new c(i.null,null,4);case 102:return this.expect([102,97,108,115,101]),new c(i.false,!1,5);case 116:return this.expect([116,114,117,101]),new c(i.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${f} unexpected character at position ${this._pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this._pos++,this.skipWhitespace(),new c(i.break,void 0,1);if(this.ch()!==44)throw new Error(`${f} unexpected character at position ${this._pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this._pos++,this.skipWhitespace(),new c(i.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this._pos++,this.skipWhitespace(),new c(i.break,void 0,1);if(this.ch()!==44)throw new Error(`${f} unexpected character at position ${this._pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this._pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this._pos++,this.skipWhitespace(),new c(i.break,void 0,1);let t=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${f} unexpected character at position ${this._pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("obj-value"),t}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${f} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Xe(e,t){return t=Object.assign({tokenizer:new re(e,t)},t),Ge(e,t)}var Ii=new Uint8Array(0);function hr(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ne(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return X(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return X(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));throw new Error("Unknown type, must be binary type")}function dn(e){return e?.buffer instanceof ArrayBuffer}function X(e){return dn(e)?e:e.slice()}function pn(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var s=e.charAt(o),a=s.charCodeAt(0);if(r[a]!==255)throw new TypeError(s+" is ambiguous");r[a]=o}var d=e.length,h=e.charAt(0),l=Math.log(d)/Math.log(256),b=Math.log(256)/Math.log(d);function y(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var E=0,G=0,B=0,D=m.length;B!==D&&m[B]===0;)B++,E++;for(var M=(D-B)*b+1>>>0,U=new Uint8Array(M);B!==D;){for(var O=m[B],V=0,I=M-1;(O!==0||V<G)&&I!==-1;I--,V++)O+=256*U[I]>>>0,U[I]=O%d>>>0,O=O/d>>>0;if(O!==0)throw new Error("Non-zero carry");G=V,B++}for(var z=M-G;z!==M&&U[z]===0;)z++;for(var be=h.repeat(E);z<M;++z)be+=e.charAt(U[z]);return be}function we(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var E=0;if(m[E]!==" "){for(var G=0,B=0;m[E]===h;)G++,E++;for(var D=(m.length-E)*l+1>>>0,M=new Uint8Array(D);m[E];){var U=r[m.charCodeAt(E)];if(U===255)return;for(var O=0,V=D-1;(U!==0||O<B)&&V!==-1;V--,O++)U+=d*M[V]>>>0,M[V]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");B=O,E++}if(m[E]!==" "){for(var I=D-B;I!==D&&M[I]===0;)I++;for(var z=new Uint8Array(G+(D-I)),be=G;I!==D;)z[be++]=M[I++];return z}}}function Sr(m){var E=we(m);if(E)return E;throw new Error(`Non-${t} character`)}return{encode:y,decodeUnsafe:we,decode:Sr}}var ln=pn,mn=ln,pr=mn;var Qe=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ye=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return lr(this,t)}},Ze=class{decoders;constructor(t){this.decoders=t}or(t){return lr(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function lr(e,t){return new Ze({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var et=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Qe(t,r,n),this.decoder=new Ye(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function mr({name:e,prefix:t,encode:r,decode:n}){return new et(e,t,r,n)}function oe({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=pr(r,e);return mr({prefix:t,name:e,encode:n,decode:s=>ne(o(s))})}function yn(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,d=0,h=0;for(let l=0;l<o;++l){let b=t[e[l]];if(b===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<r|b,a+=r,a>=8&&(a-=8,s[h++]=255&d>>a)}if(a>=r||(255&d<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function xn(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",a=0,d=0;for(let h=0;h<e.length;++h)for(d=d<<8|e[h],a+=8;a>r;)a-=r,s+=t[o&d>>a];if(a!==0&&(s+=t[o&d<<r-a]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function gn(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function w({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=gn(n);return mr({prefix:t,name:e,encode(s){return xn(s,n,r)},decode(s){return yn(s,o,r,e)}})}var me=w({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Oi=w({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Fi=w({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),zi=w({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ji=w({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Li=w({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ri=w({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vi=w({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),qi=w({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var De=oe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ji=oe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var R=oe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ki=oe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var wn=gr,yr=128,bn=127,En=~bn,kn=Math.pow(2,31);function gr(e,t,r){t=t||[],r=r||0;for(var n=r;e>=kn;)t[r++]=e&255|yr,e/=128;for(;e&En;)t[r++]=e&255|yr,e>>>=7;return t[r]=e|0,gr.bytes=r-n+1,t}var _n=tt,vn=128,xr=127;function tt(e,n){var r=0,n=n||0,o=0,s=n,a,d=e.length;do{if(s>=d)throw tt.bytes=0,new RangeError("Could not decode varint");a=e[s++],r+=o<28?(a&xr)<<o:(a&xr)*Math.pow(2,o),o+=7}while(a>=vn);return tt.bytes=s-n,r}var An=Math.pow(2,7),Un=Math.pow(2,14),Sn=Math.pow(2,21),Tn=Math.pow(2,28),Bn=Math.pow(2,35),In=Math.pow(2,42),$n=Math.pow(2,49),Cn=Math.pow(2,56),Nn=Math.pow(2,63),Dn=function(e){return e<An?1:e<Un?2:e<Sn?3:e<Tn?4:e<Bn?5:e<In?6:e<$n?7:e<Cn?8:e<Nn?9:10},Mn={encode:wn,decode:_n,encodingLength:Dn},On=Mn,ye=On;function xe(e,t=0){return[ye.decode(e,t),ye.decode.bytes]}function ie(e,t,r=0){return ye.encode(e,t,r),t}function se(e){return ye.encodingLength(e)}function nt(e,t){let r=t.byteLength,n=se(e),o=n+se(r),s=new Uint8Array(o+r);return ie(e,s,0),ie(r,s,n),s.set(t,o),new ae(e,r,t,s)}function wr(e){let t=ne(e),[r,n]=xe(t),[o,s]=xe(t.subarray(n)),a=t.subarray(n+s);if(a.byteLength!==o)throw new Error("Incorrect length");return new ae(r,o,a,t)}function br(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&hr(e.bytes,r.bytes)}}var ae=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=X(n),this.bytes=X(o)}};function Er(e,t){let{bytes:r,version:n}=e;return n===0?zn(r,it(e),t??R.encoder):jn(r,it(e),t??me.encoder)}var kr=new WeakMap;function it(e){let t=kr.get(e);if(t==null){let r=new Map;return kr.set(e,r),r}return t}var ce=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=X(o),this["/"]=this.bytes}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==ge)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Ln)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=nt(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&br(t.multihash,n.multihash)}toString(t){return Er(this,t)}toJSON(){return{"/":Er(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:a}=r;return new e(n,o,s,a??_r(n,o,s.bytes))}else if(r[Rn]===!0){let{version:n,multihash:o,code:s}=r,a=wr(o);return e.create(n,s,a)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==ge)throw new Error(`Version 0 CID must use dag-pb (code: ${ge}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=_r(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,ge,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=ne(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),a=new ae(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(a):e.createV1(r.codec,a),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[y,we]=xe(t.subarray(r));return r+=we,y},o=n(),s=ge;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=r,d=n(),h=n(),l=r+h,b=l-a;return{version:o,codec:s,multihashCode:d,digestSize:h,multihashSize:b,size:l}}static parse(t,r){let[n,o]=Fn(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return it(s).set(n,t),s}};function Fn(e,t){switch(e[0]){case"Q":{let r=t??R;return[R.prefix,r.decode(`${R.prefix}${e}`)]}case R.prefix:{let r=t??R;return[R.prefix,r.decode(e)]}case me.prefix:{let r=t??me;return[me.prefix,r.decode(e)]}case De.prefix:{let r=t??De;return[De.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function zn(e,t,r){let{prefix:n}=r;if(n!==R.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o}function jn(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o}var ge=112,Ln=18;function _r(e,t,r){let n=se(e),o=n+se(t),s=new Uint8Array(o+r.byteLength);return ie(e,s,0),ie(t,s,n),s.set(r,o),s}var Rn=Symbol.for("@ipld/js-cid/CID");var st=w({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ms=w({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ys=w({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),xs=w({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function qn(e){return e instanceof ArrayBuffer?new Uint8Array(e,0,e.byteLength):e}function Pn(e){if(e.asCID!==e&&e["/"]!==e.bytes)return null;let t=ce.asCID(e);if(!t)return null;let r=t.toString();return[new c(i.map,1/0,1),new c(i.string,"/",1),new c(i.string,r,r.length),new c(i.break,void 0,1)]}function Me(e){let t=st.encode(e).slice(1);return[new c(i.map,1/0,1),new c(i.string,"/",1),new c(i.map,1/0,1),new c(i.string,"bytes",5),new c(i.string,t,t.length),new c(i.break,void 0,1),new c(i.break,void 0,1)]}function N(e){return Me(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}function Wn(e){return Me(new Uint8Array(e))}function Jn(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Gn(e){if(Number.isNaN(e))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(e===1/0||e===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var Hn={typeEncoders:{Object:Pn,Buffer:Me,Uint8Array:Me,Int8Array:N,Uint16Array:N,Int16Array:N,Uint32Array:N,Int32Array:N,Float32Array:N,Float64Array:N,Uint8ClampedArray:N,BigInt64Array:N,BigUint64Array:N,DataView:N,ArrayBuffer:Wn,undefined:Jn,number:Gn}},at=class extends re{constructor(t,r){super(t,r),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let t=this._next();if(i.equals(t.type,i.map)){let r=this._next();if(i.equals(r.type,i.string)&&r.value==="/"){let n=this._next();if(i.equals(n.type,i.string)){let o=this._next();if(!i.equals(o.type,i.break))throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new c(i.tag,42,0)}if(i.equals(n.type,i.map)){let o=this._next();if(i.equals(o.type,i.string)&&o.value==="bytes"){let s=this._next();if(i.equals(s.type,i.string)){for(let d=0;d<2;d++){let h=this._next();if(!i.equals(h.type,i.break))throw new Error("Invalid encoded Bytes form")}let a=st.decode(`m${s.value}`);return new c(i.bytes,a,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(r)}return t}},vr={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:{42:e=>ce.parse(e())}},Kn="dag-json",Xn=297,Ar=e=>Ke(e,Hn),Ur=e=>{let t=qn(e),r=Object.assign(vr,{tokenizer:new at(t,vr)});return Xe(t,r)},Qn=e=>Yn.decode(Ar(e));var Yn=new TextDecoder,Zn=e=>Ur(eo.encode(e)),eo=new TextEncoder;return Nr(to);})();
return IpldDagJson}));
//# sourceMappingURL=index.min.js.map