otpauth
Version:
One Time Password (HOTP/TOTP) library for Node.js, Deno and browsers
40 lines (39 loc) • 35.2 kB
JavaScript
/*! otpauth v7.0.5 | (c) Héctor Molinero Fernández <hector@molinero.dev> | MIT | https://github.com/hectorm/otpauth */
/*! jssha v3.2.0 | (c) Brian Turek <brian.turek@gmail.com> | BSD-3-Clause | https://github.com/Caligatio/jsSHA */
"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){
return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var n,r=_getPrototypeOf(e);if(t){var i=_getPrototypeOf(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return _possibleConstructorReturn(this,n)}}Object.defineProperty(exports,"__esModule",{value:!0
});var uintToBuf=function(e){for(var t=new ArrayBuffer(8),n=new Uint8Array(t),r=e,i=7;i>=0&&0!==r;i--)n[i]=255&r,r-=n[i],r/=256;return t},t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function n(e,t,n,r){var i,o,u,a=t||[0],s=(n=n||0)>>>3,f=-1===r?3:0;for(i=0;i<e.length;i+=1)o=(u=i+s)>>>2,a.length<=o&&a.push(0),a[o]|=e[i]<<8*(f+r*(u%4));return{value:a,binLen:8*e.length+n}}function e(e,r,i){switch(r){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(e){case"HEX":return function(e,t,n){return function(e,t,n,r){var i,o,u,a;if(0!=e.length%2)throw new Error("String of HEX type must be in byte increments");var s=t||[0],f=(n=n||0)>>>3,c=-1===r?3:0;for(i=0;i<e.length;i+=2){if(o=parseInt(e.substr(i,2),16),isNaN(o))throw new Error("String of HEX type contains invalid characters");for(u=(a=(i>>>1)+f)>>>2;s.length<=u;)s.push(0);s[u]|=o<<8*(c+r*(a%4))}return{value:s,binLen:4*e.length+n}}(e,t,n,i)};case"TEXT":
return function(e,t,n){return function(e,t,n,r,i){var o,u,a,s,f,c,h,l,w=0,p=n||[0],d=(r=r||0)>>>3;if("UTF8"===t)for(h=-1===i?3:0,a=0;a<e.length;a+=1)for(u=[],128>(o=e.charCodeAt(a))?u.push(o):2048>o?(u.push(192|o>>>6),u.push(128|63&o)):55296>o||57344<=o?u.push(224|o>>>12,128|o>>>6&63,128|63&o):(a+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(a)),u.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),s=0;s<u.length;s+=1){for(f=(c=w+d)>>>2;p.length<=f;)p.push(0);p[f]|=u[s]<<8*(h+i*(c%4)),w+=1}else for(h=-1===i?2:0,l="UTF16LE"===t&&1!==i||"UTF16LE"!==t&&1===i,a=0;a<e.length;a+=1){for(o=e.charCodeAt(a),!0===l&&(o=(s=255&o)<<8|o>>>8),f=(c=w+d)>>>2;p.length<=f;)p.push(0);p[f]|=o<<8*(h+i*(c%4)),w+=2}return{value:p,binLen:8*w+r}}(e,r,t,n,i)};case"B64":return function(e,n,r){return function(e,n,r,i){var o,u,a,s,f,c,h=0,l=n||[0],w=(r=r||0)>>>3,p=-1===i?3:0,d=e.indexOf("=");if(-1===e.search(/^[a-zA-Z0-9=+/]+$/))throw new Error("Invalid character in base-64 string");if(e=e.replace(/=/g,""),
-1!==d&&d<e.length)throw new Error("Invalid '=' found in base-64 string");for(o=0;o<e.length;o+=4){for(s=e.substr(o,4),a=0,u=0;u<s.length;u+=1)a|=t.indexOf(s.charAt(u))<<18-6*u;for(u=0;u<s.length-1;u+=1){for(f=(c=h+w)>>>2;l.length<=f;)l.push(0);l[f]|=(a>>>16-8*u&255)<<8*(p+i*(c%4)),h+=1}}return{value:l,binLen:8*h+r}}(e,n,r,i)};case"BYTES":return function(e,t,n){return function(e,t,n,r){var i,o,u,a,s=t||[0],f=(n=n||0)>>>3,c=-1===r?3:0;for(o=0;o<e.length;o+=1)i=e.charCodeAt(o),u=(a=o+f)>>>2,s.length<=u&&s.push(0),s[u]|=i<<8*(c+r*(a%4));return{value:s,binLen:8*e.length+n}}(e,t,n,i)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error("ARRAYBUFFER not supported by this environment")}return function(e,t,r){return function(e,t,r,i){return n(new Uint8Array(e),t,r,i)}(e,t,r,i)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error("UINT8ARRAY not supported by this environment")}return function(e,t,r){return n(e,t,r,i)};default:
throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function r(e,n,r,i){switch(e){case"HEX":return function(e){return function(e,t,n,r){var i,o,u="",a=t/8,s=-1===n?3:0;for(i=0;i<a;i+=1)o=e[i>>>2]>>>8*(s+n*(i%4)),u+="0123456789abcdef".charAt(o>>>4&15)+"0123456789abcdef".charAt(15&o);return r.outputUpper?u.toUpperCase():u}(e,n,r,i)};case"B64":return function(e){return function(e,n,r,i){var o,u,a,s,f,c="",h=n/8,l=-1===r?3:0;for(o=0;o<h;o+=3)for(s=o+1<h?e[o+1>>>2]:0,f=o+2<h?e[o+2>>>2]:0,a=(e[o>>>2]>>>8*(l+r*(o%4))&255)<<16|(s>>>8*(l+r*((o+1)%4))&255)<<8|f>>>8*(l+r*((o+2)%4))&255,u=0;u<4;u+=1)c+=8*o+6*u<=n?t.charAt(a>>>6*(3-u)&63):i.b64Pad;return c}(e,n,r,i)};case"BYTES":return function(e){return function(e,t,n){var r,i,o="",u=t/8,a=-1===n?3:0;for(r=0;r<u;r+=1)i=e[r>>>2]>>>8*(a+n*(r%4))&255,o+=String.fromCharCode(i);return o}(e,n,r)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch(e){throw new Error("ARRAYBUFFER not supported by this environment")}return function(e){
return function(e,t,n){var r,i=t/8,o=new ArrayBuffer(i),u=new Uint8Array(o),a=-1===n?3:0;for(r=0;r<i;r+=1)u[r]=e[r>>>2]>>>8*(a+n*(r%4))&255;return o}(e,n,r)};case"UINT8ARRAY":try{new Uint8Array(0)}catch(e){throw new Error("UINT8ARRAY not supported by this environment")}return function(e){return function(e,t,n){var r,i=t/8,o=-1===n?3:0,u=new Uint8Array(i);for(r=0;r<i;r+=1)u[r]=e[r>>>2]>>>8*(o+n*(r%4))&255;return u}(e,n,r)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}
var i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],o=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],h="Chosen SHA variant is not supported";function u(e,t){var n,r,i=e.binLen>>>3,o=t.binLen>>>3,u=i<<3,a=4-i<<3;if(i%4!=0){
for(n=0;n<o;n+=4)r=i+n>>>2,e.value[r]|=t.value[n>>>2]<<u,e.value.push(0),e.value[r+1]|=t.value[n>>>2]>>>a;return(e.value.length<<2)-4>=o+i&&e.value.pop(),{value:e.value,binLen:e.binLen+t.binLen}}return{value:e.value.concat(t.value),binLen:e.binLen+t.binLen}}function w(e){var t={outputUpper:!1,b64Pad:"=",outputLen:-1},n=e||{},r="Output length must be a multiple of 8";if(t.outputUpper=n.outputUpper||!1,n.b64Pad&&(t.b64Pad=n.b64Pad),n.outputLen){if(n.outputLen%8!=0)throw new Error(r);t.outputLen=n.outputLen}else if(n.shakeLen){if(n.shakeLen%8!=0)throw new Error(r);t.outputLen=n.shakeLen}if("boolean"!=typeof t.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof t.b64Pad)throw new Error("Invalid b64Pad formatting option");return t}function c(t,n,r,i){var o=t+" must include a value and format";if(!n){if(!i)throw new Error(o);return i}if(void 0===n.value||!n.format)throw new Error(o);return e(n.format,n.encoding||"UTF8",r)(n.value)}var f=function(){function t(e,n,r){
_classCallCheck(this,t);var i=r||{};if(this.t=n,this.i=i.encoding||"UTF8",this.numRounds=i.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error("numRounds must a integer >= 1");this.s=e,this.o=[],this.h=0,this.u=!1,this.l=0,this.A=!1,this.H=[],this.S=[]}return _createClass(t,[{key:"update",value:function(e){var t,n=0,r=this.p>>>5,i=this.m(e,this.o,this.h),o=i.binLen,u=i.value,a=o>>>5;for(t=0;t<a;t+=r)n+this.p<=o&&(this.C=this.R(u.slice(t,t+r),this.C),n+=this.p);this.l+=n,this.o=u.slice(n>>>5),this.h=o%this.p,this.u=!0}},{key:"getHash",value:function(e,t){var n,i,o=this.U,u=w(t);if(this.v){if(-1===u.outputLen)throw new Error("Output length must be specified in options");o=u.outputLen}var a=r(e,o,this.K,u);if(this.A&&this.T)return a(this.T(u));for(i=this.F(this.o.slice(),this.h,this.l,this.g(this.C),o),n=1;n<this.numRounds;n+=1)this.v&&o%32!=0&&(i[i.length-1]&=16777215>>>24-o%32),i=this.F(i,o,0,this.B(this.s),o);return a(i)}},{key:"setHMACKey",
value:function(t,n,r){if(!this.L)throw new Error("Variant does not support HMAC");if(this.u)throw new Error("Cannot set MAC key after calling update");var i=e(n,(r||{}).encoding||"UTF8",this.K);this.M(i(t))}},{key:"M",value:function(e){var t,n=this.p>>>3,r=n/4-1;if(1!==this.numRounds)throw new Error("Cannot set numRounds with MAC");if(this.A)throw new Error("MAC key already set");for(n<e.binLen/8&&(e.value=this.F(e.value,e.binLen,0,this.B(this.s),this.U));e.value.length<=r;)e.value.push(0);for(t=0;t<=r;t+=1)this.H[t]=909522486^e.value[t],this.S[t]=1549556828^e.value[t];this.C=this.R(this.H,this.C),this.l=this.p,this.A=!0}},{key:"getHMAC",value:function(e,t){var n=w(t);return r(e,this.U,this.K,n)(this.k())}},{key:"k",value:function(){var e;if(!this.A)throw new Error("Cannot call getHMAC without first setting MAC key");var t=this.F(this.o.slice(),this.h,this.l,this.g(this.C),this.U);return e=this.R(this.S,this.B(this.s)),e=this.F(t,this.U,this.p,e,this.U)}}]),t}();function a(e,t){return e<<t|e>>>32-t}
function l(e,t){return e>>>t|e<<32-t}function A(e,t){return e>>>t}function E(e,t,n){return e^t^n}function H(e,t,n){return e&t^~e&n}function S(e,t,n){return e&t^e&n^t&n}function b(e){return l(e,2)^l(e,13)^l(e,22)}function p(e,t){var n=(65535&e)+(65535&t);return(65535&(e>>>16)+(t>>>16)+(n>>>16))<<16|65535&n}function d(e,t,n,r){var i=(65535&e)+(65535&t)+(65535&n)+(65535&r);return(65535&(e>>>16)+(t>>>16)+(n>>>16)+(r>>>16)+(i>>>16))<<16|65535&i}function m(e,t,n,r,i){var o=(65535&e)+(65535&t)+(65535&n)+(65535&r)+(65535&i);return(65535&(e>>>16)+(t>>>16)+(n>>>16)+(r>>>16)+(i>>>16)+(o>>>16))<<16|65535&o}function C(e){return l(e,7)^l(e,18)^A(e,3)}function y(e){return l(e,6)^l(e,11)^l(e,25)}function R(e){return[1732584193,4023233417,2562383102,271733878,3285377520]}function U(e,t){var n,r,i,o,u,s,f,c=[];for(n=t[0],r=t[1],i=t[2],o=t[3],u=t[4],f=0;f<80;f+=1)c[f]=f<16?e[f]:a(c[f-3]^c[f-8]^c[f-14]^c[f-16],1),
s=f<20?m(a(n,5),H(r,i,o),u,1518500249,c[f]):f<40?m(a(n,5),E(r,i,o),u,1859775393,c[f]):f<60?m(a(n,5),S(r,i,o),u,2400959708,c[f]):m(a(n,5),E(r,i,o),u,3395469782,c[f]),u=o,o=i,i=a(r,30),r=n,n=s;return t[0]=p(n,t[0]),t[1]=p(r,t[1]),t[2]=p(i,t[2]),t[3]=p(o,t[3]),t[4]=p(u,t[4]),t}function v(e,t,n,r){for(var i,o=15+(t+65>>>9<<4),u=t+n;e.length<=o;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[o]=4294967295&u,e[o-1]=u/4294967296|0,i=0;i<e.length;i+=16)r=U(e.slice(i,i+16),r);return r}var K=function(t){_inherits(r,f);var n=_createSuper(r);function r(t,i,o){var u;if(_classCallCheck(this,r),"SHA-1"!==t)throw new Error(h);var a=o||{};return(u=n.call(this,t,i,o)).L=!0,u.T=u.k,u.K=-1,u.m=e(u.t,u.i,u.K),u.R=U,u.g=function(e){return e.slice()},u.B=R,u.F=v,u.C=[1732584193,4023233417,2562383102,271733878,3285377520],u.p=512,u.U=160,u.v=!1,a.hmacKey&&u.M(c("hmacKey",a.hmacKey,u.K)),u}return r}();function T(e){return"SHA-224"==e?s.slice():o.slice()}function F(e,t){var n,r,o,u,a,s,f,c,h,w,v,g,B=[];for(n=t[0],r=t[1],o=t[2],u=t[3],a=t[4],
s=t[5],f=t[6],c=t[7],v=0;v<64;v+=1)B[v]=v<16?e[v]:d(l(g=B[v-2],17)^l(g,19)^A(g,10),B[v-7],C(B[v-15]),B[v-16]),h=m(c,y(a),H(a,s,f),i[v],B[v]),w=p(b(n),S(n,r,o)),c=f,f=s,s=a,a=p(u,h),u=o,o=r,r=n,n=p(h,w);return t[0]=p(n,t[0]),t[1]=p(r,t[1]),t[2]=p(o,t[2]),t[3]=p(u,t[3]),t[4]=p(a,t[4]),t[5]=p(s,t[5]),t[6]=p(f,t[6]),t[7]=p(c,t[7]),t}var g=function(t){_inherits(r,f);var n=_createSuper(r);function r(t,i,o){var u;if(_classCallCheck(this,r),"SHA-224"!==t&&"SHA-256"!==t)throw new Error(h);var a=o||{};return(u=n.call(this,t,i,o)).T=u.k,u.L=!0,u.K=-1,u.m=e(u.t,u.i,u.K),u.R=F,u.g=function(e){return e.slice()},u.B=T,u.F=function(e,n,r,i){return function(e,t,n,r,i){for(var o,u=15+(t+65>>>9<<4),a=t+n;e.length<=u;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[u]=4294967295&a,e[u-1]=a/4294967296|0,o=0;o<e.length;o+=16)r=F(e.slice(o,o+16),r);return"SHA-224"===i?[r[0],r[1],r[2],r[3],r[4],r[5],r[6]]:r}(e,n,r,i,t)},u.C=T(t),u.p=512,u.U="SHA-224"===t?224:256,u.v=!1,a.hmacKey&&u.M(c("hmacKey",a.hmacKey,u.K)),u}return r
}(),B=function e(t,n){_classCallCheck(this,e),this.Y=t,this.N=n};function L(e,t){var n;return t>32?(n=64-t,new B(e.N<<t|e.Y>>>n,e.Y<<t|e.N>>>n)):0!==t?(n=32-t,new B(e.Y<<t|e.N>>>n,e.N<<t|e.Y>>>n)):e}function M(e,t){var n;return t<32?(n=32-t,new B(e.Y>>>t|e.N<<n,e.N>>>t|e.Y<<n)):(n=64-t,new B(e.N>>>t|e.Y<<n,e.Y>>>t|e.N<<n))}function k(e,t){return new B(e.Y>>>t,e.N>>>t|e.Y<<32-t)}function Y(e,t,n){return new B(e.Y&t.Y^e.Y&n.Y^t.Y&n.Y,e.N&t.N^e.N&n.N^t.N&n.N)}function N(e){var t=M(e,28),n=M(e,34),r=M(e,39);return new B(t.Y^n.Y^r.Y,t.N^n.N^r.N)}function I(e,t){var n,r;n=(65535&e.N)+(65535&t.N);var i=(65535&(r=(e.N>>>16)+(t.N>>>16)+(n>>>16)))<<16|65535&n;return n=(65535&e.Y)+(65535&t.Y)+(r>>>16),r=(e.Y>>>16)+(t.Y>>>16)+(n>>>16),new B((65535&r)<<16|65535&n,i)}function X(e,t,n,r){var i,o;i=(65535&e.N)+(65535&t.N)+(65535&n.N)+(65535&r.N);var u=(65535&(o=(e.N>>>16)+(t.N>>>16)+(n.N>>>16)+(r.N>>>16)+(i>>>16)))<<16|65535&i;return i=(65535&e.Y)+(65535&t.Y)+(65535&n.Y)+(65535&r.Y)+(o>>>16),
o=(e.Y>>>16)+(t.Y>>>16)+(n.Y>>>16)+(r.Y>>>16)+(i>>>16),new B((65535&o)<<16|65535&i,u)}function z(e,t,n,r,i){var o,u;o=(65535&e.N)+(65535&t.N)+(65535&n.N)+(65535&r.N)+(65535&i.N);var a=(65535&(u=(e.N>>>16)+(t.N>>>16)+(n.N>>>16)+(r.N>>>16)+(i.N>>>16)+(o>>>16)))<<16|65535&o;return o=(65535&e.Y)+(65535&t.Y)+(65535&n.Y)+(65535&r.Y)+(65535&i.Y)+(u>>>16),u=(e.Y>>>16)+(t.Y>>>16)+(n.Y>>>16)+(r.Y>>>16)+(i.Y>>>16)+(o>>>16),new B((65535&u)<<16|65535&o,a)}function x(e,t){return new B(e.Y^t.Y,e.N^t.N)}function _(e){var t=M(e,19),n=M(e,61),r=k(e,6);return new B(t.Y^n.Y^r.Y,t.N^n.N^r.N)}function O(e){var t=M(e,1),n=M(e,8),r=k(e,7);return new B(t.Y^n.Y^r.Y,t.N^n.N^r.N)}function P(e){var t=M(e,14),n=M(e,18),r=M(e,41);return new B(t.Y^n.Y^r.Y,t.N^n.N^r.N)}
var V=[new B(i[0],3609767458),new B(i[1],602891725),new B(i[2],3964484399),new B(i[3],2173295548),new B(i[4],4081628472),new B(i[5],3053834265),new B(i[6],2937671579),new B(i[7],3664609560),new B(i[8],2734883394),new B(i[9],1164996542),new B(i[10],1323610764),new B(i[11],3590304994),new B(i[12],4068182383),new B(i[13],991336113),new B(i[14],633803317),new B(i[15],3479774868),new B(i[16],2666613458),new B(i[17],944711139),new B(i[18],2341262773),new B(i[19],2007800933),new B(i[20],1495990901),new B(i[21],1856431235),new B(i[22],3175218132),new B(i[23],2198950837),new B(i[24],3999719339),new B(i[25],766784016),new B(i[26],2566594879),new B(i[27],3203337956),new B(i[28],1034457026),new B(i[29],2466948901),new B(i[30],3758326383),new B(i[31],168717936),new B(i[32],1188179964),new B(i[33],1546045734),new B(i[34],1522805485),new B(i[35],2643833823),new B(i[36],2343527390),new B(i[37],1014477480),new B(i[38],1206759142),new B(i[39],344077627),new B(i[40],1290863460),new B(i[41],3158454273),new B(i[42],3505952657),new B(i[43],106217008),new B(i[44],3606008344),new B(i[45],1432725776),new B(i[46],1467031594),new B(i[47],851169720),new B(i[48],3100823752),new B(i[49],1363258195),new B(i[50],3750685593),new B(i[51],3785050280),new B(i[52],3318307427),new B(i[53],3812723403),new B(i[54],2003034995),new B(i[55],3602036899),new B(i[56],1575990012),new B(i[57],1125592928),new B(i[58],2716904306),new B(i[59],442776044),new B(i[60],593698344),new B(i[61],3733110249),new B(i[62],2999351573),new B(i[63],3815920427),new B(3391569614,3928383900),new B(3515267271,566280711),new B(3940187606,3454069534),new B(4118630271,4000239992),new B(116418474,1914138554),new B(174292421,2731055270),new B(289380356,3203993006),new B(460393269,320620315),new B(685471733,587496836),new B(852142971,1086792851),new B(1017036298,365543100),new B(1126000580,2618297676),new B(1288033470,3409855158),new B(1501505948,4234509866),new B(1607167915,987167468),new B(1816402316,1246189591)]
;function Z(e){return"SHA-384"===e?[new B(3418070365,s[0]),new B(1654270250,s[1]),new B(2438529370,s[2]),new B(355462360,s[3]),new B(1731405415,s[4]),new B(41048885895,s[5]),new B(3675008525,s[6]),new B(1203062813,s[7])]:[new B(o[0],4089235720),new B(o[1],2227873595),new B(o[2],4271175723),new B(o[3],1595750129),new B(o[4],2917565137),new B(o[5],725511199),new B(o[6],4215389547),new B(o[7],327033209)]}function j(e,t){var n,r,i,o,u,a,s,f,c,h,l,w,p,d,v,g=[];for(n=t[0],r=t[1],i=t[2],o=t[3],u=t[4],a=t[5],s=t[6],f=t[7],l=0;l<80;l+=1)l<16?(w=2*l,g[l]=new B(e[w],e[w+1])):g[l]=X(_(g[l-2]),g[l-7],O(g[l-15]),g[l-16]),c=z(f,P(u),(d=a,v=s,new B((p=u).Y&d.Y^~p.Y&v.Y,p.N&d.N^~p.N&v.N)),V[l],g[l]),h=I(N(n),Y(n,r,i)),f=s,s=a,a=u,u=I(o,c),o=i,i=r,r=n,n=I(c,h);return t[0]=I(n,t[0]),t[1]=I(r,t[1]),t[2]=I(i,t[2]),t[3]=I(o,t[3]),t[4]=I(u,t[4]),t[5]=I(a,t[5]),t[6]=I(s,t[6]),t[7]=I(f,t[7]),t}var q=function(t){_inherits(r,f);var n=_createSuper(r);function r(t,i,o){var u;if(_classCallCheck(this,r),
"SHA-384"!==t&&"SHA-512"!==t)throw new Error(h);var a=o||{};return(u=n.call(this,t,i,o)).T=u.k,u.L=!0,u.K=-1,u.m=e(u.t,u.i,u.K),u.R=j,u.g=function(e){return e.slice()},u.B=Z,u.F=function(e,n,r,i){return function(e,t,n,r,i){for(var o,u=31+(t+129>>>10<<5),a=t+n;e.length<=u;)e.push(0);for(e[t>>>5]|=128<<24-t%32,e[u]=4294967295&a,e[u-1]=a/4294967296|0,o=0;o<e.length;o+=32)r=j(e.slice(o,o+32),r);return"SHA-384"===i?[(r=r)[0].Y,r[0].N,r[1].Y,r[1].N,r[2].Y,r[2].N,r[3].Y,r[3].N,r[4].Y,r[4].N,r[5].Y,r[5].N]:[r[0].Y,r[0].N,r[1].Y,r[1].N,r[2].Y,r[2].N,r[3].Y,r[3].N,r[4].Y,r[4].N,r[5].Y,r[5].N,r[6].Y,r[6].N,r[7].Y,r[7].N]}(e,n,r,i,t)},u.C=Z(t),u.p=1024,u.U="SHA-384"===t?384:512,u.v=!1,a.hmacKey&&u.M(c("hmacKey",a.hmacKey,u.K)),u}return r
}(),D=[new B(0,1),new B(0,32898),new B(2147483648,32906),new B(2147483648,2147516416),new B(0,32907),new B(0,2147483649),new B(2147483648,2147516545),new B(2147483648,32777),new B(0,138),new B(0,136),new B(0,2147516425),new B(0,2147483658),new B(0,2147516555),new B(2147483648,139),new B(2147483648,32905),new B(2147483648,32771),new B(2147483648,32770),new B(2147483648,128),new B(0,32778),new B(2147483648,2147483658),new B(2147483648,2147516545),new B(2147483648,32896),new B(0,2147483649),new B(2147483648,2147516424)],G=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]];function J(e){var t,n=[];for(t=0;t<5;t+=1)n[t]=[new B(0,0),new B(0,0),new B(0,0),new B(0,0),new B(0,0)];return n}function Q(e){var t,n=[];for(t=0;t<5;t+=1)n[t]=e[t].slice();return n}function W(e,t){var n,r,i,o,u,a,s,f,c,h=[],l=[];if(null!==e)for(r=0;r<e.length;r+=2)t[(r>>>1)%5][(r>>>1)/5|0]=x(t[(r>>>1)%5][(r>>>1)/5|0],new B(e[r+1],e[r]));for(n=0;n<24;n+=1){for(o=J(),r=0;r<5;r+=1)h[r]=(u=t[r][0],a=t[r][1],s=t[r][2],
f=t[r][3],c=t[r][4],new B(u.Y^a.Y^s.Y^f.Y^c.Y,u.N^a.N^s.N^f.N^c.N));for(r=0;r<5;r+=1)l[r]=x(h[(r+4)%5],L(h[(r+1)%5],1));for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)t[r][i]=x(t[r][i],l[r]);for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)o[i][(2*r+3*i)%5]=L(t[r][i],G[r][i]);for(r=0;r<5;r+=1)for(i=0;i<5;i+=1)t[r][i]=x(o[r][i],new B(~o[(r+1)%5][i].Y&o[(r+2)%5][i].Y,~o[(r+1)%5][i].N&o[(r+2)%5][i].N));t[0][0]=x(t[0][0],D[n])}return t}function $(e){var t,n,r=0,i=[0,0],o=[4294967295&e,e/4294967296&2097151];for(t=6;t>=0;t--)0===(n=o[t>>2]>>>8*t&255)&&0===r||(i[r+1>>2]|=n<<8*(r+1),r+=1);return r=0!==r?r:1,i[0]|=r,{value:r+1>4?i:[i[0]],binLen:8+8*r}}function tt(e){return u($(e.binLen),e)}function nt(e,t){var n,r=$(t),i=t>>>2,o=(i-(r=u(r,e)).value.length%i)%i;for(n=0;n<o;n++)r.value.push(0);return r.value}var et=function(t){_inherits(r,f);var n=_createSuper(r);function r(t,i,o){var u;_classCallCheck(this,r);var a=6,s=0,f=o||{};if(1!==(u=n.call(this,t,i,o)).numRounds){if(f.kmacKey||f.hmacKey)throw new Error("Cannot set numRounds with MAC")
;if("CSHAKE128"===u.s||"CSHAKE256"===u.s)throw new Error("Cannot set numRounds for CSHAKE variants")}switch(u.K=1,u.m=e(u.t,u.i,u.K),u.R=W,u.g=Q,u.B=J,u.C=J(),u.v=!1,t){case"SHA3-224":u.p=s=1152,u.U=224,u.L=!0,u.T=u.k;break;case"SHA3-256":u.p=s=1088,u.U=256,u.L=!0,u.T=u.k;break;case"SHA3-384":u.p=s=832,u.U=384,u.L=!0,u.T=u.k;break;case"SHA3-512":u.p=s=576,u.U=512,u.L=!0,u.T=u.k;break;case"SHAKE128":a=31,u.p=s=1344,u.U=-1,u.v=!0,u.L=!1,u.T=null;break;case"SHAKE256":a=31,u.p=s=1088,u.U=-1,u.v=!0,u.L=!1,u.T=null;break;case"KMAC128":a=4,u.p=s=1344,u.I(o),u.U=-1,u.v=!0,u.L=!1,u.T=u.X;break;case"KMAC256":a=4,u.p=s=1088,u.I(o),u.U=-1,u.v=!0,u.L=!1,u.T=u.X;break;case"CSHAKE128":u.p=s=1344,a=u._(o),u.U=-1,u.v=!0,u.L=!1,u.T=null;break;case"CSHAKE256":u.p=s=1088,a=u._(o),u.U=-1,u.v=!0,u.L=!1,u.T=null;break;default:throw new Error(h)}return u.F=function(e,t,n,r,i){return function(e,t,n,r,i,o,u){var a,s,f=0,c=[],h=i>>>5,l=t>>>5;for(a=0;a<l&&t>=i;a+=h)r=W(e.slice(a,a+h),r),t-=i;for(e=e.slice(a),t%=i;e.length<h;)e.push(0)
;for(e[(a=t>>>3)>>2]^=o<<a%4*8,e[h-1]^=2147483648,r=W(e,r);32*c.length<u&&(s=r[f%5][f/5|0],c.push(s.N),!(32*c.length>=u));)c.push(s.Y),0==64*(f+=1)%i&&(W(null,r),f=0);return c}(e,t,0,r,s,a,i)},f.hmacKey&&u.M(c("hmacKey",f.hmacKey,u.K)),u}return _createClass(r,[{key:"_",value:function(e,t){var n=function(e){var t=e||{};return{funcName:c("funcName",t.funcName,1,{value:[],binLen:0}),customization:c("Customization",t.customization,1,{value:[],binLen:0})}}(e||{});t&&(n.funcName=t);var r=u(tt(n.funcName),tt(n.customization));if(0!==n.customization.binLen||0!==n.funcName.binLen){for(var i=nt(r,this.p>>>3),o=0;o<i.length;o+=this.p>>>5)this.C=this.R(i.slice(o,o+(this.p>>>5)),this.C),this.l+=this.p;return 4}return 31}},{key:"I",value:function(e){var t=function(e){var t=e||{};return{kmacKey:c("kmacKey",t.kmacKey,1),funcName:{value:[1128353099],binLen:32},customization:c("Customization",t.customization,1,{value:[],binLen:0})}}(e||{});this._(e,t.funcName)
;for(var n=nt(tt(t.kmacKey),this.p>>>3),r=0;r<n.length;r+=this.p>>>5)this.C=this.R(n.slice(r,r+(this.p>>>5)),this.C),this.l+=this.p;this.A=!0}},{key:"X",value:function(e){var t=u({value:this.o.slice(),binLen:this.h},function(e){var t,n,r=0,i=[0,0],o=[4294967295&e,e/4294967296&2097151];for(t=6;t>=0;t--)0===(n=o[t>>2]>>>8*t&255)&&0===r||(i[r>>2]|=n<<8*r,r+=1);return i[(r=0!==r?r:1)>>2]|=r<<8*r,{value:r+1>4?i:[i[0]],binLen:8+8*r}}(e.outputLen));return this.F(t.value,t.binLen,this.l,this.g(this.C),e.outputLen)}}]),r}(),_default=function(){function e(t,n,r){if(_classCallCheck(this,e),"SHA-1"==t)this.O=new K(t,n,r);else if("SHA-224"==t||"SHA-256"==t)this.O=new g(t,n,r);else if("SHA-384"==t||"SHA-512"==t)this.O=new q(t,n,r);else{if("SHA3-224"!=t&&"SHA3-256"!=t&&"SHA3-384"!=t&&"SHA3-512"!=t&&"SHAKE128"!=t&&"SHAKE256"!=t&&"CSHAKE128"!=t&&"CSHAKE256"!=t&&"KMAC128"!=t&&"KMAC256"!=t)throw new Error(h);this.O=new et(t,n,r)}}return _createClass(e,[{key:"update",value:function(e){this.O.update(e)}},{key:"getHash",
value:function(e,t){return this.O.getHash(e,t)}},{key:"setHMACKey",value:function(e,t,n){this.O.setHMACKey(e,t,n)}},{key:"getHMAC",value:function(e,t){return this.O.getHMAC(e,t)}}]),e}(),globalThis=function(){if("object"===_typeof(globalThis))return globalThis;Object.defineProperty(Object.prototype,"__GLOBALTHIS__",{get:function(){return this},configurable:!0});try{if("undefined"!=typeof __GLOBALTHIS__)return __GLOBALTHIS__}finally{delete Object.prototype.__GLOBALTHIS__}return"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0}(),isNode="[object process]"===Object.prototype.toString.call(globalThis.process),nodeRequire=isNode?eval("require"):function(){},NodeBuffer$1=isNode?globalThis.Buffer:void 0,NodeCrypto$2=isNode?nodeRequire("crypto"):void 0,OPENSSL_TO_JSSHA_ALGO={SHA1:"SHA-1",SHA224:"SHA-224",SHA256:"SHA-256",SHA384:"SHA-384",SHA512:"SHA-512","SHA3-224":"SHA3-224","SHA3-256":"SHA3-256","SHA3-384":"SHA3-384","SHA3-512":"SHA3-512"
},hmacDigest=function(e,t,n){if(isNode){var r=NodeCrypto$2.createHmac(e,NodeBuffer$1.from(t));return r.update(NodeBuffer$1.from(n)),r.digest().buffer}var i=OPENSSL_TO_JSSHA_ALGO[e.toUpperCase()];if(void 0===i)throw new TypeError("Unknown hash function");var o=new _default(i,"ARRAYBUFFER");return o.setHMACKey(t,"ARRAYBUFFER"),o.update(n),o.getHMAC("ARRAYBUFFER")},pad=function(e,t){for(var n="",r=t-String(e).length;r-- >0;)n+="0";return"".concat(n).concat(e)},ALPHABET="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",base32ToBuf=function(e){for(var t=e.toUpperCase().replace(/=+$/,""),n=new ArrayBuffer(5*t.length/8|0),r=new Uint8Array(n),i=0,o=0,u=0,a=0;a<t.length;a++){var s=ALPHABET.indexOf(t[a]);if(-1===s)throw new TypeError("Invalid character found: ".concat(t[a]));o=o<<5|s,(i+=5)>=8&&(r[u++]=o>>>i-8&255,i-=8)}return n},base32FromBuf=function(e){for(var t=new Uint8Array(e),n=0,r=0,i="",o=0;o<t.length;o++)for(r=r<<8|t[o],n+=8;n>=5;)i+=ALPHABET[r>>>n-5&31],n-=5;return n>0&&(i+=ALPHABET[r<<5-n&31]),i},hexToBuf=function(e){
for(var t=new ArrayBuffer(e.length/2),n=new Uint8Array(t),r=0;r<e.length;r+=2)n[r/2]=parseInt(e.substr(r,2),16);return t},hexFromBuf=function(e){for(var t=new Uint8Array(e),n="",r=0;r<t.length;r++){var i=t[r].toString(16);1===i.length&&(n+="0"),n+=i}return n.toUpperCase()},latin1ToBuf=function(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0;r<e.length;r++)n[r]=255&e.charCodeAt(r);return t},latin1FromBuf=function(e){for(var t=new Uint8Array(e),n="",r=0;r<t.length;r++)n+=String.fromCharCode(t[r]);return n},ENCODER=globalThis.TextEncoder?new globalThis.TextEncoder("utf-8"):null,DECODER=globalThis.TextDecoder?new globalThis.TextDecoder("utf-8"):null,utf8ToBuf=function(e){if(!ENCODER)throw new Error("Encoding API not available");return ENCODER.encode(e).buffer},utf8FromBuf=function(e){if(!DECODER)throw new Error("Encoding API not available");return DECODER.decode(e)
},NodeCrypto$1=isNode?nodeRequire("crypto"):void 0,BrowserCrypto=isNode?void 0:globalThis.crypto||globalThis.msCrypto,randomBytes=function(e){if(isNode)return NodeCrypto$1.randomBytes(e).buffer;if(!BrowserCrypto||!BrowserCrypto.getRandomValues)throw new Error("Cryptography API not available");return BrowserCrypto.getRandomValues(new Uint8Array(e)).buffer},Secret=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.buffer,r=t.size,i=void 0===r?20:r;_classCallCheck(this,e),this.buffer=void 0===n?randomBytes(i):n}return _createClass(e,[{key:"latin1",get:function(){return Object.defineProperty(this,"latin1",{enumerable:!0,value:latin1FromBuf(this.buffer)}),this.latin1}},{key:"utf8",get:function(){return Object.defineProperty(this,"utf8",{enumerable:!0,value:utf8FromBuf(this.buffer)}),this.utf8}},{key:"base32",get:function(){return Object.defineProperty(this,"base32",{enumerable:!0,value:base32FromBuf(this.buffer)}),this.base32}},{key:"hex",get:function(){
return Object.defineProperty(this,"hex",{enumerable:!0,value:hexFromBuf(this.buffer)}),this.hex}}],[{key:"fromLatin1",value:function(t){return new e({buffer:latin1ToBuf(t)})}},{key:"fromUTF8",value:function(t){return new e({buffer:utf8ToBuf(t)})}},{key:"fromBase32",value:function(t){return new e({buffer:base32ToBuf(t)})}},{key:"fromHex",value:function(t){return new e({buffer:hexToBuf(t)})}}]),e}(),NodeBuffer=isNode?globalThis.Buffer:void 0,NodeCrypto=isNode?nodeRequire("crypto"):void 0,timingSafeEqual=function(e,t){if(isNode)return NodeCrypto.timingSafeEqual(NodeBuffer.from(e),NodeBuffer.from(t));if(e.length!==t.length)throw new TypeError("Input strings must have the same length");for(var n=-1,r=0;++n<e.length;)r|=e.charCodeAt(n)^t.charCodeAt(n);return 0===r},HOTP=function(){function e(){
var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.issuer,r=void 0===n?e.defaults.issuer:n,i=t.label,o=void 0===i?e.defaults.label:i,u=t.secret,a=void 0===u?new Secret:u,s=t.algorithm,f=void 0===s?e.defaults.algorithm:s,c=t.digits,h=void 0===c?e.defaults.digits:c,l=t.counter,w=void 0===l?e.defaults.counter:l;_classCallCheck(this,e),this.issuer=r,this.label=o,this.secret="string"==typeof a?Secret.fromBase32(a):a,this.algorithm=f.toUpperCase(),this.digits=h,this.counter=w}return _createClass(e,[{key:"generate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.counter,r=void 0===n?this.counter++:n;return e.generate({secret:this.secret,algorithm:this.algorithm,digits:this.digits,counter:r})}},{key:"validate",value:function(t){var n=t.token,r=t.counter,i=void 0===r?this.counter:r,o=t.window;return e.validate({token:n,secret:this.secret,algorithm:this.algorithm,digits:this.digits,counter:i,window:o})}},{key:"toString",value:function(){var e=encodeURIComponent
;return"otpauth://hotp/"+"".concat(this.issuer.length>0?"".concat(e(this.issuer),":").concat(e(this.label),"?issuer=").concat(e(this.issuer),"&"):"".concat(e(this.label),"?"))+"secret=".concat(e(this.secret.base32),"&")+"algorithm=".concat(e(this.algorithm),"&")+"digits=".concat(e(this.digits),"&")+"counter=".concat(e(this.counter))}}],[{key:"defaults",get:function(){return{issuer:"",label:"OTPAuth",algorithm:"SHA1",digits:6,counter:0,window:1}}},{key:"generate",value:function(t){var n=t.secret,r=t.algorithm,i=void 0===r?e.defaults.algorithm:r,o=t.digits,u=void 0===o?e.defaults.digits:o,a=t.counter,s=void 0===a?e.defaults.counter:a,f=new Uint8Array(hmacDigest(i,n.buffer,uintToBuf(s))),c=15&f[f.byteLength-1],h=((127&f[c])<<24|(255&f[c+1])<<16|(255&f[c+2])<<8|255&f[c+3])%Math.pow(10,u);return pad(h,u)}},{key:"validate",value:function(t){var n=t.token,r=t.secret,i=t.algorithm,o=t.digits,u=t.counter,a=void 0===u?e.defaults.counter:u,s=t.window,f=void 0===s?e.defaults.window:s;if(n.length!==o)return null
;for(var c=null,h=a-f;h<=a+f;++h){var l=e.generate({secret:r,algorithm:i,digits:o,counter:h});timingSafeEqual(n,l)&&(c=h-a)}return c}}]),e}(),TOTP=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.issuer,r=void 0===n?e.defaults.issuer:n,i=t.label,o=void 0===i?e.defaults.label:i,u=t.secret,a=void 0===u?new Secret:u,s=t.algorithm,f=void 0===s?e.defaults.algorithm:s,c=t.digits,h=void 0===c?e.defaults.digits:c,l=t.period,w=void 0===l?e.defaults.period:l;_classCallCheck(this,e),this.issuer=r,this.label=o,this.secret="string"==typeof a?Secret.fromBase32(a):a,this.algorithm=f.toUpperCase(),this.digits=h,this.period=w}return _createClass(e,[{key:"generate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.timestamp,r=void 0===n?Date.now():n;return e.generate({secret:this.secret,algorithm:this.algorithm,digits:this.digits,period:this.period,timestamp:r})}},{key:"validate",value:function(t){var n=t.token,r=t.timestamp,i=t.window
;return e.validate({token:n,secret:this.secret,algorithm:this.algorithm,digits:this.digits,period:this.period,timestamp:r,window:i})}},{key:"toString",value:function(){var e=encodeURIComponent;return"otpauth://totp/"+"".concat(this.issuer.length>0?"".concat(e(this.issuer),":").concat(e(this.label),"?issuer=").concat(e(this.issuer),"&"):"".concat(e(this.label),"?"))+"secret=".concat(e(this.secret.base32),"&")+"algorithm=".concat(e(this.algorithm),"&")+"digits=".concat(e(this.digits),"&")+"period=".concat(e(this.period))}}],[{key:"defaults",get:function(){return{issuer:"",label:"OTPAuth",algorithm:"SHA1",digits:6,period:30,window:1}}},{key:"generate",value:function(t){var n=t.secret,r=t.algorithm,i=t.digits,o=t.period,u=void 0===o?e.defaults.period:o,a=t.timestamp,s=void 0===a?Date.now():a;return HOTP.generate({secret:n,algorithm:r,digits:i,counter:Math.floor(s/1e3/u)})}},{key:"validate",value:function(t){
var n=t.token,r=t.secret,i=t.algorithm,o=t.digits,u=t.period,a=void 0===u?e.defaults.period:u,s=t.timestamp,f=void 0===s?Date.now():s,c=t.window;return HOTP.validate({token:n,secret:r,algorithm:i,digits:o,counter:Math.floor(f/1e3/a),window:c})}}]),e}(),OTPURI_REGEX=/^otpauth:\/\/([ht]otp)\/(.+)\?((?:&?[A-Z0-9.~_-]+=[^&]*)+)$/i,SECRET_REGEX=/^[2-7A-Z]+=*$/i,ALGORITHM_REGEX=/^SHA(?:1|224|256|384|512|3-224|3-256|3-384|3-512)$/i,INTEGER_REGEX=/^[+-]?\d+$/,POSITIVE_INTEGER_REGEX=/^\+?[1-9]\d*$/,URI=function(){function e(){_classCallCheck(this,e)}return _createClass(e,null,[{key:"parse",value:function(e){var t;try{t=e.match(OTPURI_REGEX)}catch(e){}if(!Array.isArray(t))throw new URIError("Invalid URI format");var n,r=t[1].toLowerCase(),i=t[2].split(/:(.+)/,2).map(decodeURIComponent),o=t[3].split("&").reduce((function(e,t){var n=t.split(/=(.*)/,2).map(decodeURIComponent),r=n[0].toLowerCase(),i=n[1],o=e;return o[r]=i,o}),{}),u={};if("hotp"===r){if(n=HOTP,
void 0===o.counter||!INTEGER_REGEX.test(o.counter))throw new TypeError("Missing or invalid 'counter' parameter");u.counter=parseInt(o.counter,10)}else{if("totp"!==r)throw new TypeError("Unknown OTP type");if(n=TOTP,void 0!==o.period){if(!POSITIVE_INTEGER_REGEX.test(o.period))throw new TypeError("Invalid 'period' parameter");u.period=parseInt(o.period,10)}}if(2===i.length)if(u.label=i[1],void 0===o.issuer)u.issuer=i[0];else{if(o.issuer!==i[0])throw new TypeError("Invalid 'issuer' parameter");u.issuer=o.issuer}else u.label=i[0],void 0!==o.issuer&&(u.issuer=o.issuer);if(void 0===o.secret||!SECRET_REGEX.test(o.secret))throw new TypeError("Missing or invalid 'secret' parameter");if(u.secret=o.secret,void 0!==o.algorithm){if(!ALGORITHM_REGEX.test(o.algorithm))throw new TypeError("Invalid 'algorithm' parameter");u.algorithm=o.algorithm}if(void 0!==o.digits){if(!POSITIVE_INTEGER_REGEX.test(o.digits))throw new TypeError("Invalid 'digits' parameter");u.digits=parseInt(o.digits,10)}return new n(u)}},{key:"stringify",
value:function(e){if(e instanceof HOTP||e instanceof TOTP)return e.toString();throw new TypeError("Invalid 'HOTP/TOTP' object")}}]),e}(),version="7.0.5";exports.HOTP=HOTP,exports.Secret=Secret,exports.TOTP=TOTP,exports.URI=URI,exports.version=version;
//# sourceMappingURL=otpauth.cjs.min.js.map