skapi-js 1.0.212 → 1.0.213
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle-report-commonjs.html +2 -2
- package/dist/bundle-report.html +2 -2
- package/dist/skapi.cjs +1 -1
- package/dist/skapi.cjs.map +1 -1
- package/dist/skapi.js +1 -1
- package/dist/skapi.js.map +1 -1
- package/js/main/skapi.js +1 -1
- package/js/utils/network.js +1 -1
- package/js/utils/network.js.map +1 -1
- package/package.json +1 -1
package/dist/skapi.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see skapi.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(self,(()=>(()=>{var e={914:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var i=n(945),r=function(){function e(){this.state=Int32Array.from(i.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,n=e.byteLength;if(this.bytesHashed+=n,8*this.bytesHashed>i.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===i.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%i.BLOCK_SIZE>=i.BLOCK_SIZE-8){for(var r=this.bufferLength;r<i.BLOCK_SIZE;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(r=this.bufferLength;r<i.BLOCK_SIZE-8;r++)t.setUint8(r,0);t.setUint32(i.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(i.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var s=new Uint8Array(i.DIGEST_LENGTH);for(r=0;r<8;r++)s[4*r]=this.state[r]>>>24&255,s[4*r+1]=this.state[r]>>>16&255,s[4*r+2]=this.state[r]>>>8&255,s[4*r+3]=this.state[r]>>>0&255;return s},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],r=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],h=0;h<i.BLOCK_SIZE;h++){if(h<16)this.temp[h]=(255&e[4*h])<<24|(255&e[4*h+1])<<16|(255&e[4*h+2])<<8|255&e[4*h+3];else{var d=this.temp[h-2],f=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,p=((d=this.temp[h-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[h]=(f+this.temp[h-7]|0)+(p+this.temp[h-16]|0)}var g=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&c^~a&u)|0)+(l+(i.KEY[h]+this.temp[h]|0)|0)|0,_=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&r^n&s^r&s)|0;l=u,u=c,c=a,a=o+g|0,o=s,s=r,r=n,n=g+_|0}t[0]+=n,t[1]+=r,t[2]+=s,t[3]+=o,t[4]+=a,t[5]+=c,t[6]+=u,t[7]+=l},e}();t.RawSha256=r},945:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([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]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},938:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,n(655).__exportStar)(n(430),t)},430:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var i=n(655),r=n(945),s=n(914),o=n(658),a=function(){function e(e){if(this.hash=new s.RawSha256,e){this.outer=new s.RawSha256;var t=function(e){var t=(0,o.convertToBuffer)(e);if(t.byteLength>r.BLOCK_SIZE){var n=new s.RawSha256;n.update(t),t=n.digest()}var i=new Uint8Array(r.BLOCK_SIZE);return i.set(t),i}(e),n=new Uint8Array(r.BLOCK_SIZE);n.set(t);for(var i=0;i<r.BLOCK_SIZE;i++)t[i]^=54,n[i]^=92;for(this.hash.update(t),this.outer.update(n),i=0;i<t.byteLength;i++)t[i]=0}}return e.prototype.update=function(e){if(!(0,o.isEmptyData)(e)&&!this.error)try{this.hash.update((0,o.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return(0,i.__awaiter)(this,void 0,void 0,(function(){return(0,i.__generator)(this,(function(e){return[2,this.digestSync()]}))}))},e}();t.Sha256=a},106:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var i=n(84),r="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:i.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?r(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},658:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var i=n(106);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return i.convertToBuffer}});var r=n(304);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return r.isEmptyData}});var s=n(174);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return s.numToUint8}});var o=n(558);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return o.uint32ArrayFrom}})},304:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Array.from){for(var t=new Uint32Array(e.length);0<e.length;)t[0]=e[0];return t}return Uint32Array.from(e)}},84:(e,t,n)=>{"use strict";n.r(t),n.d(t,{fromUtf8:()=>i,toUtf8:()=>r});const i=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const t=[];for(let n=0,i=e.length;n<i;n++){const i=e.charCodeAt(n);if(i<128)t.push(i);else if(i<2048)t.push(i>>6|192,63&i|128);else if(n+1<e.length&&55296==(64512&i)&&56320==(64512&e.charCodeAt(n+1))){const r=65536+((1023&i)<<10)+(1023&e.charCodeAt(++n));t.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)})(e),r=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let t="";for(let n=0,i=e.length;n<i;n++){const i=e[n];if(i<128)t+=String.fromCharCode(i);else if(192<=i&&i<224){const r=e[++n];t+=String.fromCharCode((31&i)<<6|63&r)}else if(240<=i&&i<365){const r="%"+[i,e[++n],e[++n],e[++n]].map((e=>e.toString(16))).join("%");t+=decodeURIComponent(r)}else t+=String.fromCharCode((15&i)<<12|(63&e[++n])<<6|63&e[++n])}return t})(e)},742:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=a(e),o=s[0],c=s[1],u=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,c)),l=0,h=c>0?o-4:o;for(n=0;n<h;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===c&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[l++]=255&t),1===c&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,u=i-r;a<u;a+=o)s.push(c(e,a,a+o>u?u:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=s[o],i[s.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a<i;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(n[(s=r)>>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},764:(e,t,n)=>{"use strict";var i=n(742),r=n(645),s=n(826);function o(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,n){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,n)}function u(e,t,n,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=d(e,t),e}(e,t,n,i):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|p(t,n),r=(e=a(e,i)).write(t,n);return r!==i&&(e=e.slice(0,r)),e}(e,t,n):function(e,t){if(c.isBuffer(t)){var n=0|f(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?a(e,0):d(e,t);if("Buffer"===t.type&&s(t.data))return d(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(l(t),e=a(e,t<0?0:0|f(t)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t){var n=t.length<0?0:0|f(t.length);e=a(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function f(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(i)return q(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,n);case"utf8":case"utf-8":return T(this,t,n);case"ascii":return D(this,t,n);case"latin1":case"binary":return U(this,t,n);case"base64":return I(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function _(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function m(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=c.from(t,i)),c.isBuffer(t))return 0===t.length?-1:y(e,t,n,i,r);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,i,r){var s,o=1,a=e.length,c=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,n/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var l=-1;for(s=n;s<a;s++)if(u(e,s)===u(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===c)return l*o}else-1!==l&&(s-=s-l),l=-1}else for(n+c>a&&(n=a-c),s=n;s>=0;s--){for(var h=!0,d=0;d<c;d++)if(u(e,s+d)!==u(t,d)){h=!1;break}if(h)return s}return-1}function w(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");i>s/2&&(i=s/2);for(var o=0;o<i;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[n+o]=a}return o}function b(e,t,n,i){return B(q(t,e.length-n),e,n,i)}function A(e,t,n,i){return B(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,i)}function v(e,t,n,i){return A(e,t,n,i)}function S(e,t,n,i){return B($(t),e,n,i)}function E(e,t,n,i){return B(function(e,t){for(var n,i,r,s=[],o=0;o<e.length&&!((t-=2)<0);++o)i=(n=e.charCodeAt(o))>>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function I(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function T(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var s,o,a,c,u=e[r],l=null,h=u>239?4:u>223?3:u>191?2:1;if(r+h<=n)switch(h){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[r+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[r+1],o=e[r+2],128==(192&s)&&128==(192&o)&&(c=(15&u)<<12|(63&s)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[r+1],o=e[r+2],a=e[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(c=(15&u)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,h=1):l>65535&&(l-=65536,i.push(l>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=h}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);for(var n="",i=0;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=R));return n}(i)}t.lW=c,t.h2=50,c.TYPED_ARRAY_SUPPORT=void 0!==n.g.TYPED_ARRAY_SUPPORT?n.g.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),o(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,n){return u(null,e,t,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,n){return function(e,t,n,i){return l(t),t<=0?a(e,t):void 0!==n?"string"==typeof i?a(e,t).fill(n,i):a(e,t).fill(n):a(e,t)}(null,e,t,n)},c.allocUnsafe=function(e){return h(null,e)},c.allocUnsafeSlow=function(e){return h(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,s=Math.min(n,i);r<s;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=c.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var o=e[n];if(!c.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r),r+=o.length}return i},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},c.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},c.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},c.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?T(this,0,e):g.apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",n=t.h2;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},c.prototype.compare=function(e,t,n,i,r){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0),a=Math.min(s,o),u=this.slice(i,r),l=e.slice(t,n),h=0;h<a;++h)if(u[h]!==l[h]){s=u[h],o=l[h];break}return s<o?-1:o<s?1:0},c.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},c.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},c.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function D(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}function U(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}function C(e,t,n){var i,r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var s="",o=t;o<n;++o)s+=(i=e[o])<16?"0"+i.toString(16):i.toString(16);return s}function P(e,t,n){for(var i=e.slice(t,n),r="",s=0;s<i.length;s+=2)r+=String.fromCharCode(i[s]+256*i[s+1]);return r}function k(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,n,i,r,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<s)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function L(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,s=Math.min(e.length-n,2);r<s;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>8*(i?r:1-r)}function O(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,s=Math.min(e.length-n,4);r<s;++r)e[n+r]=t>>>8*(i?r:3-r)&255}function M(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function V(e,t,n,i,s){return s||M(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function x(e,t,n,i,s){return s||M(e,0,n,8),r.write(e,t,n,i,52,8),n+8}c.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),c.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=c.prototype;else{var r=t-e;n=new c(r,void 0);for(var s=0;s<r;++s)n[s]=this[s+e]}return n},c.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=this[e],r=1,s=0;++s<t&&(r*=256);)i+=this[e+s]*r;return i},c.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},c.prototype.readUInt8=function(e,t){return t||k(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||k(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||k(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||k(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||k(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=this[e],r=1,s=0;++s<t&&(r*=256);)i+=this[e+s]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=t,r=1,s=this[e+--i];i>0&&(r*=256);)s+=this[e+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return t||k(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||k(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||k(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||k(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||k(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||k(e,4,this.length),r.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||k(e,4,this.length),r.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||k(e,8,this.length),r.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||k(e,8,this.length),r.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,i){e=+e,t|=0,n|=0,i||N(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[t]=255&e;++s<n&&(r*=256);)this[t+s]=e/r&255;return t+n},c.prototype.writeUIntBE=function(e,t,n,i){e=+e,t|=0,n|=0,i||N(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):O(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);N(this,e,t,n,r-1,-r)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},c.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);N(this,e,t,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):O(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return V(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return V(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return x(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return x(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,s=i-n;if(this===e&&n<t&&t<i)for(r=s-1;r>=0;--r)e[r+t]=this[r+n];else if(s<1e3||!c.TYPED_ARRAY_SUPPORT)for(r=0;r<s;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},c.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!c.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var o=c.isBuffer(e)?e:q(new c(e,i).toString()),a=o.length;for(s=0;s<n-t;++s)this[s+t]=o[s%a]}return this};var F=/[^+\/0-9A-Za-z-_]/g;function q(e,t){var n;t=t||1/0;for(var i=e.length,r=null,s=[],o=0;o<i;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function $(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function B(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length||r>=e.length);++r)t[r+n]=e[r];return r}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,c=(1<<a)-1,u=c>>1,l=-7,h=n?r-1:0,d=n?-1:1,f=e[t+h];for(h+=d,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=256*s+e[t+h],h+=d,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=i;l>0;o=256*o+e[t+h],h+=d,l-=8);if(0===s)s=1-u;else{if(s===c)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,i),s-=u}return(f?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,c,u=8*s-r-1,l=(1<<u)-1,h=l>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:s-1,p=i?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+h>=1?d/c:d*Math.pow(2,1-h))*c>=2&&(o++,c/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*c-1)*Math.pow(2,r),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;e[n+f]=255&a,f+=p,a/=256,r-=8);for(o=o<<r|a,u+=r;u>0;e[n+f]=255&o,f+=p,o/=256,u-=8);e[n+f-p]|=128*g}},826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},204:(e,t,n)=>{e.exports=self.fetch||(self.fetch=n(869).default||n(869))},808:(e,t,n)=>{var i,r,s;void 0===(r="function"==typeof(i=s=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var i in n)t[i]=n[i]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(i){function r(){}function s(t,n,s){if("undefined"!=typeof document){"number"==typeof(s=e({path:"/"},r.defaults,s)).expires&&(s.expires=new Date(1*new Date+864e5*s.expires)),s.expires=s.expires?s.expires.toUTCString():"";try{var o=JSON.stringify(n);/^[\{\[]/.test(o)&&(n=o)}catch(e){}n=i.write?i.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var a="";for(var c in s)s[c]&&(a+="; "+c,!0!==s[c]&&(a+="="+s[c].split(";")[0]));return document.cookie=t+"="+n+a}}function o(e,n){if("undefined"!=typeof document){for(var r={},s=document.cookie?document.cookie.split("; "):[],o=0;o<s.length;o++){var a=s[o].split("="),c=a.slice(1).join("=");n||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var u=t(a[0]);if(c=(i.read||i)(c,u)||t(c),n)try{c=JSON.parse(c)}catch(e){}if(r[u]=c,e===u)break}catch(e){}}return e?r[e]:r}}return r.set=s,r.get=function(e){return o(e,!1)},r.getJSON=function(e){return o(e,!0)},r.remove=function(t,n){s(t,"",e(n,{expires:-1}))},r.defaults={},r.withConverter=n,r}((function(){}))})?i.call(t,n,t,e):i)||(e.exports=r),e.exports=s()},776:()=>{"use strict";window.global=window},655:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__assign:()=>s,__asyncDelegator:()=>b,__asyncGenerator:()=>w,__asyncValues:()=>A,__await:()=>y,__awaiter:()=>l,__classPrivateFieldGet:()=>I,__classPrivateFieldSet:()=>T,__createBinding:()=>d,__decorate:()=>a,__exportStar:()=>f,__extends:()=>r,__generator:()=>h,__importDefault:()=>E,__importStar:()=>S,__makeTemplateObject:()=>v,__metadata:()=>u,__param:()=>c,__read:()=>g,__rest:()=>o,__spread:()=>_,__spreadArrays:()=>m,__values:()=>p});var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};function r(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var s=function(){return s=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},s.apply(this,arguments)};function o(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}function a(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}function c(e,t){return function(n,i){t(n,i,e)}}function u(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{c(i.next(e))}catch(e){s(e)}}function a(e){try{c(i.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}function h(e,t){var n,i,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],i=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function d(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}function f(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||(t[n]=e[n])}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<n;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,r++)i[r]=s[o];return i}function y(e){return this instanceof y?(this.v=e,this):new y(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=n.apply(e,t||[]),s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise((function(n,i){s.push([e,t,n,i])>1||a(e,t)}))})}function a(e,t){try{(n=r[e](t)).value instanceof y?Promise.resolve(n.value.v).then(c,u):l(s[0][2],n)}catch(e){l(s[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function l(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function b(e){var t,n;return t={},i("next"),i("throw",(function(e){throw e})),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,r){t[i]=e[i]?function(t){return(n=!n)?{value:y(e[i](t)),done:"return"===i}:r?r(t):t}:r}}function A(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=e[n]&&function(t){return new Promise((function(i,r){!function(e,t,n,i){Promise.resolve(i).then((function(t){e({value:t,done:n})}),t)}(i,r,(t=e[n](t)).done,t.value)}))}}}function v(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function I(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function T(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},869:(e,t,n)=>{"use strict";function i(e,t){return t=t||{},new Promise((function(n,i){var r=new XMLHttpRequest,s=[],o=[],a={},c=function(){return{ok:2==(r.status/100|0),statusText:r.statusText,status:r.status,url:r.responseURL,text:function(){return Promise.resolve(r.responseText)},json:function(){return Promise.resolve(r.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([r.response]))},clone:c,headers:{keys:function(){return s},entries:function(){return o},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var u in r.open(t.method||"get",e,!0),r.onload=function(){r.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){s.push(t=t.toLowerCase()),o.push([t,n]),a[t]=a[t]?a[t]+","+n:n})),n(c())},r.onerror=i,r.withCredentials="include"==t.credentials,t.headers)r.setRequestHeader(u,t.headers[u]);r.send(t.body||null)}))}n.r(t),n.d(t,{default:()=>i})},249:()=>{}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{"use strict";n.r(i),n.d(i,{Skapi:()=>Un,SkapiError:()=>te,Types:()=>e});var e={};n.r(e),n(776);var t,r=function(){function e(e){var t=e||{},n=t.ValidationData,i=t.Username,r=t.Password,s=t.AuthParameters,o=t.ClientMetadata;this.validationData=n||{},this.authParameters=s||{},this.clientMetadata=o||{},this.username=i,this.password=r}var t=e.prototype;return t.getUsername=function(){return this.username},t.getPassword=function(){return this.password},t.getValidationData=function(){return this.validationData},t.getAuthParameters=function(){return this.authParameters},t.getClientMetadata=function(){return this.clientMetadata},e}(),s=n(764);if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==n.g&&n.g.crypto&&(t=n.g.crypto),!t)try{t=n(249)}catch(e){}function o(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}var a=function(){function e(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length}var t=e.prototype;return t.random=function(t){for(var n=[],i=0;i<t;i+=4)n.push(o());return new e(n,t)},t.toString=function(){return function(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;r<n;r++){var s=t[r>>>2]>>>24-r%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")}(this)},e}(),c=n(938);const u=l;function l(e,t){null!=e&&this.fromString(e,t)}function h(){return new l(null)}var d,f="undefined"!=typeof navigator;f&&"Microsoft Internet Explorer"==navigator.appName?(l.prototype.am=function(e,t,n,i,r,s){for(var o=32767&t,a=t>>15;--s>=0;){var c=32767&this[e],u=this[e++]>>15,l=a*c+u*o;r=((c=o*c+((32767&l)<<15)+n[i]+(1073741823&r))>>>30)+(l>>>15)+a*u+(r>>>30),n[i++]=1073741823&c}return r},d=30):f&&"Netscape"!=navigator.appName?(l.prototype.am=function(e,t,n,i,r,s){for(;--s>=0;){var o=t*this[e++]+n[i]+r;r=Math.floor(o/67108864),n[i++]=67108863&o}return r},d=26):(l.prototype.am=function(e,t,n,i,r,s){for(var o=16383&t,a=t>>14;--s>=0;){var c=16383&this[e],u=this[e++]>>14,l=a*c+u*o;r=((c=o*c+((16383&l)<<14)+n[i]+r)>>28)+(l>>14)+a*u,n[i++]=268435455&c}return r},d=28),l.prototype.DB=d,l.prototype.DM=(1<<d)-1,l.prototype.DV=1<<d,l.prototype.FV=Math.pow(2,52),l.prototype.F1=52-d,l.prototype.F2=2*d-52;var p,g,_=new Array;for(p="0".charCodeAt(0),g=0;g<=9;++g)_[p++]=g;for(p="a".charCodeAt(0),g=10;g<36;++g)_[p++]=g;for(p="A".charCodeAt(0),g=10;g<36;++g)_[p++]=g;function m(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function y(e,t){var n=_[e.charCodeAt(t)];return null==n?-1:n}function w(e){var t=h();return t.fromInt(e),t}function b(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function A(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function v(e){return s.lW.from((new a).random(e).toString(),"hex")}A.prototype.convert=function(e){var t=h();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(l.ZERO)>0&&this.m.subTo(t,t),t},A.prototype.revert=function(e){var t=h();return e.copyTo(t),this.reduce(t),t},A.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],i=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,i,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},A.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},A.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},l.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},l.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},l.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");n=2}this.t=0,this.s=0;for(var i=e.length,r=!1,s=0;--i>=0;){var o=y(e,i);o<0?"-"==e.charAt(i)&&(r=!0):(r=!1,0==s?this[this.t++]=o:s+n>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=n)>=this.DB&&(s-=this.DB))}this.clamp(),r&&l.ZERO.subTo(this,this)},l.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},l.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},l.prototype.drShiftTo=function(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s},l.prototype.lShiftTo=function(e,t){var n,i=e%this.DB,r=this.DB-i,s=(1<<r)-1,o=Math.floor(e/this.DB),a=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>r|a,a=(this[n]&s)<<i;for(n=o-1;n>=0;--n)t[n]=0;t[o]=a,t.t=this.t+o+1,t.s=this.s,t.clamp()},l.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var i=e%this.DB,r=this.DB-i,s=(1<<i)-1;t[0]=this[n]>>i;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&s)<<r,t[o-n]=this[o]>>i;i>0&&(t[this.t-n-1]|=(this.s&s)<<r),t.t=this.t-n,t.clamp()}},l.prototype.subTo=function(e,t){for(var n=0,i=0,r=Math.min(e.t,this.t);n<r;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=i<0?-1:0,i<-1?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()},l.prototype.multiplyTo=function(e,t){var n=this.abs(),i=e.abs(),r=n.t;for(t.t=r+i.t;--r>=0;)t[r]=0;for(r=0;r<i.t;++r)t[r+n.t]=n.am(0,i[r],t,r,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&l.ZERO.subTo(t,t)},l.prototype.squareTo=function(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var i=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,i,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},l.prototype.divRemTo=function(e,t,n){var i=e.abs();if(!(i.t<=0)){var r=this.abs();if(r.t<i.t)return null!=t&&t.fromInt(0),void(null!=n&&this.copyTo(n));null==n&&(n=h());var s=h(),o=this.s,a=e.s,c=this.DB-b(i[i.t-1]);c>0?(i.lShiftTo(c,s),r.lShiftTo(c,n)):(i.copyTo(s),r.copyTo(n));var u=s.t,d=s[u-1];if(0!=d){var f=d*(1<<this.F1)+(u>1?s[u-2]>>this.F2:0),p=this.FV/f,g=(1<<this.F1)/f,_=1<<this.F2,m=n.t,y=m-u,w=null==t?h():t;for(s.dlShiftTo(y,w),n.compareTo(w)>=0&&(n[n.t++]=1,n.subTo(w,n)),l.ONE.dlShiftTo(u,w),w.subTo(s,s);s.t<u;)s[s.t++]=0;for(;--y>=0;){var A=n[--m]==d?this.DM:Math.floor(n[m]*p+(n[m-1]+_)*g);if((n[m]+=s.am(0,A,n,y,0,u))<A)for(s.dlShiftTo(y,w),n.subTo(w,n);n[m]<--A;)n.subTo(w,n)}null!=t&&(n.drShiftTo(u,t),o!=a&&l.ZERO.subTo(t,t)),n.t=u,n.clamp(),c>0&&n.rShiftTo(c,n),o<0&&l.ZERO.subTo(n,n)}}},l.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},l.prototype.addTo=function(e,t){for(var n=0,i=0,r=Math.min(e.t,this.t);n<r;)i+=this[n]+e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i+=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i+=e[n],t[n++]=i&this.DM,i>>=this.DB;i+=e.s}t.s=i<0?-1:0,i>0?t[n++]=i:i<-1&&(t[n++]=this.DV+i),t.t=n,t.clamp()},l.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}var n,i=(1<<t)-1,r=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this[o]>>a)>0&&(r=!0,s=m(n));o>=0;)a<t?(n=(this[o]&(1<<a)-1)<<t-a,n|=this[--o]>>(a+=this.DB-t)):(n=this[o]>>(a-=t)&i,a<=0&&(a+=this.DB,--o)),n>0&&(r=!0),r&&(s+=m(n));return r?s:"0"},l.prototype.negate=function(){var e=h();return l.ZERO.subTo(this,e),e},l.prototype.abs=function(){return this.s<0?this.negate():this},l.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},l.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+b(this[this.t-1]^this.s&this.DM)},l.prototype.mod=function(e){var t=h();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(l.ZERO)>0&&e.subTo(t,t),t},l.prototype.equals=function(e){return 0==this.compareTo(e)},l.prototype.add=function(e){var t=h();return this.addTo(e,t),t},l.prototype.subtract=function(e){var t=h();return this.subTo(e,t),t},l.prototype.multiply=function(e){var t=h();return this.multiplyTo(e,t),t},l.prototype.divide=function(e){var t=h();return this.divRemTo(e,t,null),t},l.prototype.modPow=function(e,t,n){var i,r=e.bitLength(),s=w(1),o=new A(t);if(r<=0)return s;i=r<18?1:r<48?3:r<144?4:r<768?5:6;var a=new Array,c=3,u=i-1,l=(1<<i)-1;if(a[1]=o.convert(this),i>1){var d=h();for(o.sqrTo(a[1],d);c<=l;)a[c]=h(),o.mulTo(d,a[c-2],a[c]),c+=2}var f,p,g=e.t-1,_=!0,m=h();for(r=b(e[g])-1;g>=0;){for(r>=u?f=e[g]>>r-u&l:(f=(e[g]&(1<<r+1)-1)<<u-r,g>0&&(f|=e[g-1]>>this.DB+r-u)),c=i;0==(1&f);)f>>=1,--c;if((r-=c)<0&&(r+=this.DB,--g),_)a[f].copyTo(s),_=!1;else{for(;c>1;)o.sqrTo(s,m),o.sqrTo(m,s),c-=2;c>0?o.sqrTo(s,m):(p=s,s=m,m=p),o.mulTo(m,a[f],s)}for(;g>=0&&0==(e[g]&1<<r);)o.sqrTo(s,m),p=s,s=m,m=p,--r<0&&(r=this.DB-1,--g)}var y=o.revert(s);return n(null,y),y},l.ZERO=w(0),l.ONE=w(1);var S=/^[89a-f]/i,E=function(){function e(e){this.N=new u("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF",16),this.g=new u("2",16),this.k=new u(this.hexHash(""+this.padHex(this.N)+this.padHex(this.g)),16),this.smallAValue=this.generateRandomSmallA(),this.getLargeAValue((function(){})),this.infoBits=s.lW.from("Caldera Derived Key","utf8"),this.poolName=e}var t=e.prototype;return t.getSmallAValue=function(){return this.smallAValue},t.getLargeAValue=function(e){var t=this;this.largeAValue?e(null,this.largeAValue):this.calculateA(this.smallAValue,(function(n,i){n&&e(n,null),t.largeAValue=i,e(null,t.largeAValue)}))},t.generateRandomSmallA=function(){var e=v(128).toString("hex");return new u(e,16)},t.generateRandomString=function(){return v(40).toString("base64")},t.getRandomPassword=function(){return this.randomPassword},t.getSaltDevices=function(){return this.SaltToHashDevices},t.getVerifierDevices=function(){return this.verifierDevices},t.generateHashDevice=function(e,t,n){var i=this;this.randomPassword=this.generateRandomString();var r=""+e+t+":"+this.randomPassword,s=this.hash(r),o=v(16).toString("hex");this.SaltToHashDevices=this.padHex(new u(o,16)),this.g.modPow(new u(this.hexHash(this.SaltToHashDevices+s),16),this.N,(function(e,t){e&&n(e,null),i.verifierDevices=i.padHex(t),n(null,null)}))},t.calculateA=function(e,t){var n=this;this.g.modPow(e,this.N,(function(e,i){e&&t(e,null),i.mod(n.N).equals(u.ZERO)&&t(new Error("Illegal paramater. A mod N cannot be 0."),null),t(null,i)}))},t.calculateU=function(e,t){return this.UHexHash=this.hexHash(this.padHex(e)+this.padHex(t)),new u(this.UHexHash,16)},t.hash=function(e){var t=new c.Sha256;t.update(e);var n=t.digestSync(),i=s.lW.from(n).toString("hex");return new Array(64-i.length).join("0")+i},t.hexHash=function(e){return this.hash(s.lW.from(e,"hex"))},t.computehkdf=function(e,t){var n=s.lW.concat([this.infoBits,s.lW.from(String.fromCharCode(1),"utf8")]),i=new c.Sha256(t);i.update(e);var r=i.digestSync(),o=new c.Sha256(r);return o.update(n),o.digestSync().slice(0,16)},t.getPasswordAuthenticationKey=function(e,t,n,i,r){var o=this;if(n.mod(this.N).equals(u.ZERO))throw new Error("B cannot be zero.");if(this.UValue=this.calculateU(this.largeAValue,n),this.UValue.equals(u.ZERO))throw new Error("U cannot be zero.");var a=""+this.poolName+e+":"+t,c=this.hash(a),l=new u(this.hexHash(this.padHex(i)+c),16);this.calculateS(l,n,(function(e,t){e&&r(e,null);var n=o.computehkdf(s.lW.from(o.padHex(t),"hex"),s.lW.from(o.padHex(o.UValue),"hex"));r(null,n)}))},t.calculateS=function(e,t,n){var i=this;this.g.modPow(e,this.N,(function(r,s){r&&n(r,null),t.subtract(i.k.multiply(s)).modPow(i.smallAValue.add(i.UValue.multiply(e)),i.N,(function(e,t){e&&n(e,null),n(null,t.mod(i.N))}))}))},t.getNewPasswordRequiredChallengeUserAttributePrefix=function(){return"userAttributes."},t.padHex=function(e){if(!(e instanceof u))throw new Error("Not a BigInteger");var t=e.compareTo(u.ZERO)<0,n=e.abs().toString(16);if(n=n.length%2!=0?"0"+n:n,n=S.test(n)?"00"+n:n,t){var i=n.split("").map((function(e){var t=15&~parseInt(e,16);return"0123456789ABCDEF".charAt(t)})).join("");(n=new u(i,16).add(u.ONE).toString(16)).toUpperCase().startsWith("FF8")&&(n=n.substring(2))}return n},e}(),I=function(){function e(e){this.jwtToken=e||"",this.payload=this.decodePayload()}var t=e.prototype;return t.getJwtToken=function(){return this.jwtToken},t.getExpiration=function(){return this.payload.exp},t.getIssuedAt=function(){return this.payload.iat},t.decodePayload=function(){var e=this.jwtToken.split(".")[1];try{return JSON.parse(s.lW.from(e,"base64").toString("utf8"))}catch(e){return{}}},e}();function T(e,t){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},T(e,t)}var R=function(e){var t,n;function i(t){var n=(void 0===t?{}:t).AccessToken;return e.call(this,n||"")||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,T(t,n),i}(I);function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}var U=function(e){var t,n;function i(t){var n=(void 0===t?{}:t).IdToken;return e.call(this,n||"")||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,D(t,n),i}(I),C="aws-amplify/5.0.4",P="undefined"!=typeof navigator&&"ReactNative"===navigator.product,k=function(){function e(e){var t=(void 0===e?{}:e).RefreshToken;this.token=t||""}return e.prototype.getToken=function(){return this.token},e}(),N=function(){function e(e){var t=void 0===e?{}:e,n=t.IdToken,i=t.RefreshToken,r=t.AccessToken,s=t.ClockDrift;if(null==r||null==n)throw new Error("Id token and Access Token must be present.");this.idToken=n,this.refreshToken=i,this.accessToken=r,this.clockDrift=void 0===s?this.calculateClockDrift():s}var t=e.prototype;return t.getIdToken=function(){return this.idToken},t.getRefreshToken=function(){return this.refreshToken},t.getAccessToken=function(){return this.accessToken},t.getClockDrift=function(){return this.clockDrift},t.calculateClockDrift=function(){return Math.floor(new Date/1e3)-Math.min(this.accessToken.getIssuedAt(),this.idToken.getIssuedAt())},t.isValid=function(){var e=Math.floor(new Date/1e3)-this.clockDrift;return e<this.accessToken.getExpiration()&&e<this.idToken.getExpiration()},e}(),L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],O=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],M=function(){function e(){}return e.prototype.getNowString=function(){var e=new Date,t=O[e.getUTCDay()],n=L[e.getUTCMonth()],i=e.getUTCDate(),r=e.getUTCHours();r<10&&(r="0"+r);var s=e.getUTCMinutes();s<10&&(s="0"+s);var o=e.getUTCSeconds();return o<10&&(o="0"+o),t+" "+n+" "+i+" "+r+":"+s+":"+o+" UTC "+e.getUTCFullYear()},e}(),V=function(){function e(e){var t=void 0===e?{}:e,n=t.Name,i=t.Value;this.Name=n||"",this.Value=i||""}var t=e.prototype;return t.getValue=function(){return this.Value},t.setValue=function(e){return this.Value=e,this},t.getName=function(){return this.Name},t.setName=function(e){return this.Name=e,this},t.toString=function(){return JSON.stringify(this)},t.toJSON=function(){return{Name:this.Name,Value:this.Value}},e}(),x={},F=function(){function e(){}return e.setItem=function(e,t){return x[e]=t,x[e]},e.getItem=function(e){return Object.prototype.hasOwnProperty.call(x,e)?x[e]:void 0},e.removeItem=function(e){return delete x[e]},e.clear=function(){return x={}},e}(),q=function(){function e(){try{this.storageWindow=window.localStorage,this.storageWindow.setItem("aws.cognito.test-ls",1),this.storageWindow.removeItem("aws.cognito.test-ls")}catch(e){this.storageWindow=F}}return e.prototype.getStorage=function(){return this.storageWindow},e}(),$="undefined"!=typeof navigator?P?"react-native":navigator.userAgent:"nodejs",B=function(){function e(e){if(null==e||null==e.Username||null==e.Pool)throw new Error("Username and Pool information are required.");this.username=e.Username||"",this.pool=e.Pool,this.Session=null,this.client=e.Pool.client,this.signInUserSession=null,this.authenticationFlowType="USER_SRP_AUTH",this.storage=e.Storage||(new q).getStorage(),this.keyPrefix="CognitoIdentityServiceProvider."+this.pool.getClientId(),this.userDataKey=this.keyPrefix+"."+this.username+".userData"}var t=e.prototype;return t.setSignInUserSession=function(e){this.clearCachedUserData(),this.signInUserSession=e,this.cacheTokens()},t.getSignInUserSession=function(){return this.signInUserSession},t.getUsername=function(){return this.username},t.getAuthenticationFlowType=function(){return this.authenticationFlowType},t.setAuthenticationFlowType=function(e){this.authenticationFlowType=e},t.initiateAuth=function(e,t){var n=this,i=e.getAuthParameters();i.USERNAME=this.username;var r=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),s={AuthFlow:"CUSTOM_AUTH",ClientId:this.pool.getClientId(),AuthParameters:i,ClientMetadata:r};this.getUserContextData()&&(s.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",s,(function(e,i){if(e)return t.onFailure(e);var r=i.ChallengeName,s=i.ChallengeParameters;return"CUSTOM_CHALLENGE"===r?(n.Session=i.Session,t.customChallenge(s)):(n.signInUserSession=n.getCognitoUserSession(i.AuthenticationResult),n.cacheTokens(),t.onSuccess(n.signInUserSession))}))},t.authenticateUser=function(e,t){return"USER_PASSWORD_AUTH"===this.authenticationFlowType?this.authenticateUserPlainUsernamePassword(e,t):"USER_SRP_AUTH"===this.authenticationFlowType||"CUSTOM_AUTH"===this.authenticationFlowType?this.authenticateUserDefaultAuth(e,t):t.onFailure(new Error("Authentication flow type is invalid."))},t.authenticateUserDefaultAuth=function(e,t){var n,i,r=this,o=new E(this.pool.getUserPoolName()),a=new M,l={};null!=this.deviceKey&&(l.DEVICE_KEY=this.deviceKey),l.USERNAME=this.username,o.getLargeAValue((function(h,d){h&&t.onFailure(h),l.SRP_A=d.toString(16),"CUSTOM_AUTH"===r.authenticationFlowType&&(l.CHALLENGE_NAME="SRP_A");var f=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),p={AuthFlow:r.authenticationFlowType,ClientId:r.pool.getClientId(),AuthParameters:l,ClientMetadata:f};r.getUserContextData(r.username)&&(p.UserContextData=r.getUserContextData(r.username)),r.client.request("InitiateAuth",p,(function(l,h){if(l)return t.onFailure(l);var d=h.ChallengeParameters;r.username=d.USER_ID_FOR_SRP,r.userDataKey=r.keyPrefix+"."+r.username+".userData",n=new u(d.SRP_B,16),i=new u(d.SALT,16),r.getCachedDeviceKeyAndPassword(),o.getPasswordAuthenticationKey(r.username,e.getPassword(),n,i,(function(e,n){e&&t.onFailure(e);var i=a.getNowString(),u=s.lW.concat([s.lW.from(r.pool.getUserPoolName(),"utf8"),s.lW.from(r.username,"utf8"),s.lW.from(d.SECRET_BLOCK,"base64"),s.lW.from(i,"utf8")]),l=new c.Sha256(n);l.update(u);var p=l.digestSync(),g=s.lW.from(p).toString("base64"),_={};_.USERNAME=r.username,_.PASSWORD_CLAIM_SECRET_BLOCK=d.SECRET_BLOCK,_.TIMESTAMP=i,_.PASSWORD_CLAIM_SIGNATURE=g,null!=r.deviceKey&&(_.DEVICE_KEY=r.deviceKey);var m={ChallengeName:"PASSWORD_VERIFIER",ClientId:r.pool.getClientId(),ChallengeResponses:_,Session:h.Session,ClientMetadata:f};r.getUserContextData()&&(m.UserContextData=r.getUserContextData()),function e(t,n){return r.client.request("RespondToAuthChallenge",t,(function(i,s){return i&&"ResourceNotFoundException"===i.code&&-1!==i.message.toLowerCase().indexOf("device")?(_.DEVICE_KEY=null,r.deviceKey=null,r.randomPassword=null,r.deviceGroupKey=null,r.clearCachedDeviceKeyAndPassword(),e(t,n)):n(i,s)}))}(m,(function(e,n){return e?t.onFailure(e):r.authenticateUserInternal(n,o,t)}))}))}))}))},t.authenticateUserPlainUsernamePassword=function(e,t){var n=this,i={};if(i.USERNAME=this.username,i.PASSWORD=e.getPassword(),i.PASSWORD){var r=new E(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(i.DEVICE_KEY=this.deviceKey);var s=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),o={AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.pool.getClientId(),AuthParameters:i,ClientMetadata:s};this.getUserContextData(this.username)&&(o.UserContextData=this.getUserContextData(this.username)),this.client.request("InitiateAuth",o,(function(e,i){return e?t.onFailure(e):n.authenticateUserInternal(i,r,t)}))}else t.onFailure(new Error("PASSWORD parameter is required"))},t.authenticateUserInternal=function(e,t,n){var i=this,r=e.ChallengeName,o=e.ChallengeParameters;if("SMS_MFA"===r)return this.Session=e.Session,n.mfaRequired(r,o);if("SELECT_MFA_TYPE"===r)return this.Session=e.Session,n.selectMFAType(r,o);if("MFA_SETUP"===r)return this.Session=e.Session,n.mfaSetup(r,o);if("SOFTWARE_TOKEN_MFA"===r)return this.Session=e.Session,n.totpRequired(r,o);if("CUSTOM_CHALLENGE"===r)return this.Session=e.Session,n.customChallenge(o);if("NEW_PASSWORD_REQUIRED"===r){this.Session=e.Session;var a=null,c=null,u=[],l=t.getNewPasswordRequiredChallengeUserAttributePrefix();if(o&&(a=JSON.parse(e.ChallengeParameters.userAttributes),c=JSON.parse(e.ChallengeParameters.requiredAttributes)),c)for(var h=0;h<c.length;h++)u[h]=c[h].substr(l.length);return n.newPasswordRequired(a,u)}if("DEVICE_SRP_AUTH"===r)return this.Session=e.Session,void this.getDeviceResponse(n);this.signInUserSession=this.getCognitoUserSession(e.AuthenticationResult),this.challengeName=r,this.cacheTokens();var d=e.AuthenticationResult.NewDeviceMetadata;if(null==d)return n.onSuccess(this.signInUserSession);t.generateHashDevice(e.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,e.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(r){if(r)return n.onFailure(r);var o={Salt:s.lW.from(t.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:s.lW.from(t.getVerifierDevices(),"hex").toString("base64")};i.verifierDevices=o.PasswordVerifier,i.deviceGroupKey=d.DeviceGroupKey,i.randomPassword=t.getRandomPassword(),i.client.request("ConfirmDevice",{DeviceKey:d.DeviceKey,AccessToken:i.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:o,DeviceName:$},(function(t,r){return t?n.onFailure(t):(i.deviceKey=e.AuthenticationResult.NewDeviceMetadata.DeviceKey,i.cacheDeviceKeyAndPassword(),!0===r.UserConfirmationNecessary?n.onSuccess(i.signInUserSession,r.UserConfirmationNecessary):n.onSuccess(i.signInUserSession))}))}))},t.completeNewPasswordChallenge=function(e,t,n,i){var r=this;if(!e)return n.onFailure(new Error("New password is required."));var s=new E(this.pool.getUserPoolName()),o=s.getNewPasswordRequiredChallengeUserAttributePrefix(),a={};t&&Object.keys(t).forEach((function(e){a[o+e]=t[e]})),a.NEW_PASSWORD=e,a.USERNAME=this.username;var c={ChallengeName:"NEW_PASSWORD_REQUIRED",ClientId:this.pool.getClientId(),ChallengeResponses:a,Session:this.Session,ClientMetadata:i};this.getUserContextData()&&(c.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",c,(function(e,t){return e?n.onFailure(e):r.authenticateUserInternal(t,s,n)}))},t.getDeviceResponse=function(e,t){var n=this,i=new E(this.deviceGroupKey),r=new M,o={};o.USERNAME=this.username,o.DEVICE_KEY=this.deviceKey,i.getLargeAValue((function(a,l){a&&e.onFailure(a),o.SRP_A=l.toString(16);var h={ChallengeName:"DEVICE_SRP_AUTH",ClientId:n.pool.getClientId(),ChallengeResponses:o,ClientMetadata:t,Session:n.Session};n.getUserContextData()&&(h.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",h,(function(t,o){if(t)return e.onFailure(t);var a=o.ChallengeParameters,l=new u(a.SRP_B,16),h=new u(a.SALT,16);i.getPasswordAuthenticationKey(n.deviceKey,n.randomPassword,l,h,(function(t,i){if(t)return e.onFailure(t);var u=r.getNowString(),l=s.lW.concat([s.lW.from(n.deviceGroupKey,"utf8"),s.lW.from(n.deviceKey,"utf8"),s.lW.from(a.SECRET_BLOCK,"base64"),s.lW.from(u,"utf8")]),h=new c.Sha256(i);h.update(l);var d=h.digestSync(),f=s.lW.from(d).toString("base64"),p={};p.USERNAME=n.username,p.PASSWORD_CLAIM_SECRET_BLOCK=a.SECRET_BLOCK,p.TIMESTAMP=u,p.PASSWORD_CLAIM_SIGNATURE=f,p.DEVICE_KEY=n.deviceKey;var g={ChallengeName:"DEVICE_PASSWORD_VERIFIER",ClientId:n.pool.getClientId(),ChallengeResponses:p,Session:o.Session};n.getUserContextData()&&(g.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",g,(function(t,i){return t?e.onFailure(t):(n.signInUserSession=n.getCognitoUserSession(i.AuthenticationResult),n.cacheTokens(),e.onSuccess(n.signInUserSession))}))}))}))}))},t.confirmRegistration=function(e,t,n,i){var r={ClientId:this.pool.getClientId(),ConfirmationCode:e,Username:this.username,ForceAliasCreation:t,ClientMetadata:i};this.getUserContextData()&&(r.UserContextData=this.getUserContextData()),this.client.request("ConfirmSignUp",r,(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.sendCustomChallengeAnswer=function(e,t,n){var i=this,r={};r.USERNAME=this.username,r.ANSWER=e;var s=new E(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(r.DEVICE_KEY=this.deviceKey);var o={ChallengeName:"CUSTOM_CHALLENGE",ChallengeResponses:r,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:n};this.getUserContextData()&&(o.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",o,(function(e,n){return e?t.onFailure(e):i.authenticateUserInternal(n,s,t)}))},t.sendMFACode=function(e,t,n,i){var r=this,o={};o.USERNAME=this.username,o.SMS_MFA_CODE=e;var a=n||"SMS_MFA";"SOFTWARE_TOKEN_MFA"===a&&(o.SOFTWARE_TOKEN_MFA_CODE=e),null!=this.deviceKey&&(o.DEVICE_KEY=this.deviceKey);var c={ChallengeName:a,ChallengeResponses:o,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:i};this.getUserContextData()&&(c.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",c,(function(e,n){if(e)return t.onFailure(e);if("DEVICE_SRP_AUTH"!==n.ChallengeName){if(r.signInUserSession=r.getCognitoUserSession(n.AuthenticationResult),r.cacheTokens(),null==n.AuthenticationResult.NewDeviceMetadata)return t.onSuccess(r.signInUserSession);var i=new E(r.pool.getUserPoolName());i.generateHashDevice(n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,n.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(e){if(e)return t.onFailure(e);var o={Salt:s.lW.from(i.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:s.lW.from(i.getVerifierDevices(),"hex").toString("base64")};r.verifierDevices=o.PasswordVerifier,r.deviceGroupKey=n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,r.randomPassword=i.getRandomPassword(),r.client.request("ConfirmDevice",{DeviceKey:n.AuthenticationResult.NewDeviceMetadata.DeviceKey,AccessToken:r.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:o,DeviceName:$},(function(e,i){return e?t.onFailure(e):(r.deviceKey=n.AuthenticationResult.NewDeviceMetadata.DeviceKey,r.cacheDeviceKeyAndPassword(),!0===i.UserConfirmationNecessary?t.onSuccess(r.signInUserSession,i.UserConfirmationNecessary):t.onSuccess(r.signInUserSession))}))}))}else r.getDeviceResponse(t)}))},t.changePassword=function(e,t,n,i){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("ChangePassword",{PreviousPassword:e,ProposedPassword:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:i},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.enableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);var t=[];t.push({DeliveryMedium:"SMS",AttributeName:"phone_number"}),this.client.request("SetUserSettings",{MFAOptions:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.setUserMfaPreference=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("SetUserMFAPreference",{SMSMfaSettings:e,SoftwareTokenMfaSettings:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.disableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("SetUserSettings",{MFAOptions:[],AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.deleteUser=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("DeleteUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:t},(function(t){return t?e(t,null):(n.clearCachedUser(),e(null,"SUCCESS"))}))},t.updateAttributes=function(e,t,n){var i=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("UpdateUserAttributes",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserAttributes:e,ClientMetadata:n},(function(e,n){return e?t(e,null):i.getUserData((function(){return t(null,"SUCCESS",n)}),{bypassCache:!0})}))},t.getUserAttributes=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){if(t)return e(t,null);for(var i=[],r=0;r<n.UserAttributes.length;r++){var s={Name:n.UserAttributes[r].Name,Value:n.UserAttributes[r].Value},o=new V(s);i.push(o)}return e(null,i)}))},t.getMFAOptions=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e(t,null):e(null,n.MFAOptions)}))},t.createGetUserRequest=function(){return this.client.promisifyRequest("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()})},t.refreshSessionIfPossible=function(e){var t=this;return void 0===e&&(e={}),new Promise((function(n){var i=t.signInUserSession.getRefreshToken();i&&i.getToken()?t.refreshSession(i,n,e.clientMetadata):n()}))},t.getUserData=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return this.clearCachedUserData(),e(new Error("User is not authenticated"),null);var i=this.getUserDataFromCache();if(i)if(this.isFetchUserDataAndTokenRequired(t))this.fetchUserData().then((function(e){return n.refreshSessionIfPossible(t).then((function(){return e}))})).then((function(t){return e(null,t)})).catch(e);else try{return void e(null,JSON.parse(i))}catch(t){return this.clearCachedUserData(),void e(t,null)}else this.fetchUserData().then((function(t){e(null,t)})).catch(e)},t.getUserDataFromCache=function(){return this.storage.getItem(this.userDataKey)},t.isFetchUserDataAndTokenRequired=function(e){var t=(e||{}).bypassCache;return void 0!==t&&t},t.fetchUserData=function(){var e=this;return this.createGetUserRequest().then((function(t){return e.cacheUserData(t),t}))},t.deleteAttributes=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("DeleteUserAttributes",{UserAttributeNames:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?t(e,null):n.getUserData((function(){return t(null,"SUCCESS")}),{bypassCache:!0})}))},t.resendConfirmationCode=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.client.request("ResendConfirmationCode",n,(function(t,n){return t?e(t,null):e(null,n)}))},t.getSession=function(e,t){if(void 0===t&&(t={}),null==this.username)return e(new Error("Username is null. Cannot retrieve a new session"),null);if(null!=this.signInUserSession&&this.signInUserSession.isValid())return e(null,this.signInUserSession);var n="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,i=n+".idToken",r=n+".accessToken",s=n+".refreshToken",o=n+".clockDrift";if(this.storage.getItem(i)){var a=new U({IdToken:this.storage.getItem(i)}),c=new R({AccessToken:this.storage.getItem(r)}),u=new k({RefreshToken:this.storage.getItem(s)}),l=parseInt(this.storage.getItem(o),0)||0,h=new N({IdToken:a,AccessToken:c,RefreshToken:u,ClockDrift:l});if(h.isValid())return this.signInUserSession=h,e(null,this.signInUserSession);if(!u.getToken())return e(new Error("Cannot retrieve a new session. Please authenticate."),null);this.refreshSession(u,e,t.clientMetadata)}else e(new Error("Local storage is missing an ID Token, Please authenticate"),null)},t.refreshSession=function(e,t,n){var i=this,r=this.pool.wrapRefreshSessionCallback?this.pool.wrapRefreshSessionCallback(t):t,s={};s.REFRESH_TOKEN=e.getToken();var o="CognitoIdentityServiceProvider."+this.pool.getClientId(),a=o+".LastAuthUser";if(this.storage.getItem(a)){this.username=this.storage.getItem(a);var c=o+"."+this.username+".deviceKey";this.deviceKey=this.storage.getItem(c),s.DEVICE_KEY=this.deviceKey}var u={ClientId:this.pool.getClientId(),AuthFlow:"REFRESH_TOKEN_AUTH",AuthParameters:s,ClientMetadata:n};this.getUserContextData()&&(u.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",u,(function(t,n){if(t)return"NotAuthorizedException"===t.code&&i.clearCachedUser(),r(t,null);if(n){var s=n.AuthenticationResult;return Object.prototype.hasOwnProperty.call(s,"RefreshToken")||(s.RefreshToken=e.getToken()),i.signInUserSession=i.getCognitoUserSession(s),i.cacheTokens(),r(null,i.signInUserSession)}}))},t.cacheTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",i=e+"."+this.username+".refreshToken",r=e+"."+this.username+".clockDrift",s=e+".LastAuthUser";this.storage.setItem(t,this.signInUserSession.getIdToken().getJwtToken()),this.storage.setItem(n,this.signInUserSession.getAccessToken().getJwtToken()),this.storage.setItem(i,this.signInUserSession.getRefreshToken().getToken()),this.storage.setItem(r,""+this.signInUserSession.getClockDrift()),this.storage.setItem(s,this.username)},t.cacheUserData=function(e){this.storage.setItem(this.userDataKey,JSON.stringify(e))},t.clearCachedUserData=function(){this.storage.removeItem(this.userDataKey)},t.clearCachedUser=function(){this.clearCachedTokens(),this.clearCachedUserData()},t.cacheDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",i=e+".deviceGroupKey";this.storage.setItem(t,this.deviceKey),this.storage.setItem(n,this.randomPassword),this.storage.setItem(i,this.deviceGroupKey)},t.getCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",i=e+".deviceGroupKey";this.storage.getItem(t)&&(this.deviceKey=this.storage.getItem(t),this.randomPassword=this.storage.getItem(n),this.deviceGroupKey=this.storage.getItem(i))},t.clearCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",i=e+".deviceGroupKey";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(i)},t.clearCachedTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",i=e+"."+this.username+".refreshToken",r=e+".LastAuthUser",s=e+"."+this.username+".clockDrift";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(i),this.storage.removeItem(r),this.storage.removeItem(s)},t.getCognitoUserSession=function(e){var t=new U(e),n=new R(e),i=new k(e);return new N({IdToken:t,AccessToken:n,RefreshToken:i})},t.forgotPassword=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.getUserContextData()&&(n.UserContextData=this.getUserContextData()),this.client.request("ForgotPassword",n,(function(t,n){return t?e.onFailure(t):"function"==typeof e.inputVerificationCode?e.inputVerificationCode(n):e.onSuccess(n)}))},t.confirmPassword=function(e,t,n,i){var r={ClientId:this.pool.getClientId(),Username:this.username,ConfirmationCode:e,Password:t,ClientMetadata:i};this.getUserContextData()&&(r.UserContextData=this.getUserContextData()),this.client.request("ConfirmForgotPassword",r,(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getAttributeVerificationCode=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("GetUserAttributeVerificationCode",{AttributeName:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:n},(function(e,n){return e?t.onFailure(e):"function"==typeof t.inputVerificationCode?t.inputVerificationCode(n):t.onSuccess("SUCCESS")}))},t.verifyAttribute=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));this.client.request("VerifyUserAttribute",{AttributeName:e,Code:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getDevice=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey},(function(t,n){return t?e.onFailure(t):e.onSuccess(n)}))},t.forgetSpecificDevice=function(e,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("ForgetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:e},(function(e){return e?t.onFailure(e):t.onSuccess("SUCCESS")}))},t.forgetDevice=function(e){var t=this;this.forgetSpecificDevice(this.deviceKey,{onFailure:e.onFailure,onSuccess:function(n){return t.deviceKey=null,t.deviceGroupKey=null,t.randomPassword=null,t.clearCachedDeviceKeyAndPassword(),e.onSuccess(n)}})},t.setDeviceStatusRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.setDeviceStatusNotRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"not_remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.listDevices=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));var i={AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),Limit:e};t&&(i.PaginationToken=t),this.client.request("ListDevices",i,(function(e,t){return e?n.onFailure(e):n.onSuccess(t)}))},t.globalSignOut=function(e){var t=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GlobalSignOut",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(n){return n?e.onFailure(n):(t.clearCachedUser(),e.onSuccess("SUCCESS"))}))},t.signOut=function(e){var t=this;e&&"function"==typeof e?this.getSession((function(n,i){if(n)return e(n);t.revokeTokens((function(n){t.cleanClientData(),e(n)}))})):this.cleanClientData()},t.revokeTokens=function(e){if(void 0===e&&(e=function(){}),"function"!=typeof e)throw new Error("Invalid revokeTokenCallback. It should be a function.");if(!this.signInUserSession)return e(new Error("User is not authenticated"));if(!this.signInUserSession.getAccessToken())return e(new Error("No Access token available"));var t=this.signInUserSession.getRefreshToken().getToken(),n=this.signInUserSession.getAccessToken();if(this.isSessionRevocable(n)&&t)return this.revokeToken({token:t,callback:e});e()},t.isSessionRevocable=function(e){if(e&&"function"==typeof e.decodePayload)try{return!!e.decodePayload().origin_jti}catch(e){}return!1},t.cleanClientData=function(){this.signInUserSession=null,this.clearCachedUser()},t.revokeToken=function(e){var t=e.token,n=e.callback;this.client.requestWithRetry("RevokeToken",{Token:t,ClientId:this.pool.getClientId()},(function(e){if(e)return n(e);n()}))},t.sendMFASelectionAnswer=function(e,t){var n=this,i={};i.USERNAME=this.username,i.ANSWER=e;var r={ChallengeName:"SELECT_MFA_TYPE",ChallengeResponses:i,ClientId:this.pool.getClientId(),Session:this.Session};this.getUserContextData()&&(r.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",r,(function(i,r){return i?t.onFailure(i):(n.Session=r.Session,"SMS_MFA"===e?t.mfaRequired(r.ChallengeName,r.ChallengeParameters):"SOFTWARE_TOKEN_MFA"===e?t.totpRequired(r.ChallengeName,r.ChallengeParameters):void 0)}))},t.getUserContextData=function(){return this.pool.getUserContextData(this.username)},t.associateSoftwareToken=function(e){var t=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("AssociateSoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e.onFailure(t):e.associateSecretCode(n.SecretCode)})):this.client.request("AssociateSoftwareToken",{Session:this.Session},(function(n,i){return n?e.onFailure(n):(t.Session=i.Session,e.associateSecretCode(i.SecretCode))}))},t.verifySoftwareToken=function(e,t,n){var i=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("VerifySoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserCode:e,FriendlyDeviceName:t},(function(e,t){return e?n.onFailure(e):n.onSuccess(t)})):this.client.request("VerifySoftwareToken",{Session:this.Session,UserCode:e,FriendlyDeviceName:t},(function(e,t){if(e)return n.onFailure(e);i.Session=t.Session;var r={};r.USERNAME=i.username;var s={ChallengeName:"MFA_SETUP",ClientId:i.pool.getClientId(),ChallengeResponses:r,Session:i.Session};i.getUserContextData()&&(s.UserContextData=i.getUserContextData()),i.client.request("RespondToAuthChallenge",s,(function(e,t){return e?n.onFailure(e):(i.signInUserSession=i.getCognitoUserSession(t.AuthenticationResult),i.cacheTokens(),n.onSuccess(i.signInUserSession))}))}))},e}();function j(){}function K(e){var t="function"==typeof Map?new Map:void 0;return K=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return H(e,arguments,Q(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),J(n,e)},K(e)}function H(e,t,n){return H=function(){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}}()?Reflect.construct.bind():function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&J(r,n.prototype),r},H.apply(null,arguments)}function J(e,t){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},J(e,t)}function Q(e){return Q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Q(e)}n(204),j.prototype.userAgent=C;var W=function(e){function t(t,n,i,r){var s;return(s=e.call(this,t)||this).code=n,s.name=i,s.statusCode=r,s}return i=e,(n=t).prototype=Object.create(i.prototype),n.prototype.constructor=n,J(n,i),t;var n,i}(K(Error)),Y=function(){function e(e,t,n){this.endpoint=t||"https://cognito-idp."+e+".amazonaws.com/";var i=(n||{}).credentials;this.fetchOptions=i?{credentials:i}:{}}var t=e.prototype;return t.promisifyRequest=function(e,t){var n=this;return new Promise((function(i,r){n.request(e,t,(function(e,t){e?r(new W(e.message,e.code,e.name,e.statusCode)):i(t)}))}))},t.requestWithRetry=function(e,t,n){var i,r,s=this;(i=[t],r=5e3,void 0===r&&(r=X),Z((function(t){return new Promise((function(n,i){s.request(e,t,(function(e,t){e?i(e):n(t)}))}))}),i,function(e){return function(t){var n=100*Math.pow(2,t)+100*Math.random();return!(n>e)&&n}}(r))).then((function(e){return n(null,e)})).catch((function(e){return n(e)}))},t.request=function(e,t,n){var i,r,s,o={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityProviderService."+e,"X-Amz-User-Agent":(i=j.category?" "+j.category:"",r=j.framework?" framework/"+j.framework:"",""+j.prototype.userAgent+i+r),"Cache-Control":"no-store"},a=Object.assign({},this.fetchOptions,{headers:o,method:"POST",mode:"cors",body:JSON.stringify(t)});fetch(this.endpoint,a).then((function(e){return s=e,e}),(function(e){if(e instanceof TypeError)throw new Error("Network error");throw e})).then((function(e){return e.json().catch((function(){return{}}))})).then((function(e){if(s.ok)return n(null,e);var t=(e.__type||e.code).split("#").pop(),i=new Error(e.message||e.Message||null);return i.name=t,i.code=t,n(i)})).catch((function(e){if(s&&s.headers&&s.headers.get("x-amzn-errortype"))try{var t=s.headers.get("x-amzn-errortype").split(":")[0],i=new Error(s.status?s.status.toString():null);return i.code=t,i.name=t,i.statusCode=s.status,n(i)}catch(t){return n(e)}else e instanceof Error&&"Network error"===e.message&&(e.code="NetworkError");return n(e)}))},e}(),G={debug:function(){}},z=function(e){return e&&e.nonRetryable};function Z(e,t,n,i){if(void 0===i&&(i=1),"function"!=typeof e)throw Error("functionToRetry must be a function");return G.debug(e.name+" attempt #"+i+" with args: "+JSON.stringify(t)),e.apply(void 0,t).catch((function(r){if(G.debug("error on "+e.name,r),z(r))throw G.debug(e.name+" non retryable error",r),r;var s=n(i,t,r);if(G.debug(e.name+" retrying in "+s+" ms"),!1!==s)return new Promise((function(e){return setTimeout(e,s)})).then((function(){return Z(e,t,n,i+1)}));throw r}))}var X=3e5,ee=function(){function e(e,t){var n=e||{},i=n.UserPoolId,r=n.ClientId,s=n.endpoint,o=n.fetchOptions,a=n.AdvancedSecurityDataCollectionFlag;if(!i||!r)throw new Error("Both UserPoolId and ClientId are required.");if(i.length>55||!/^[\w-]+_[0-9a-zA-Z]+$/.test(i))throw new Error("Invalid UserPoolId format.");var c=i.split("_")[0];this.userPoolId=i,this.clientId=r,this.client=new Y(c,s,o),this.advancedSecurityDataCollectionFlag=!1!==a,this.storage=e.Storage||(new q).getStorage(),t&&(this.wrapRefreshSessionCallback=t)}var t=e.prototype;return t.getUserPoolId=function(){return this.userPoolId},t.getUserPoolName=function(){return this.getUserPoolId().split("_")[1]},t.getClientId=function(){return this.clientId},t.signUp=function(e,t,n,i,r,s){var o=this,a={ClientId:this.clientId,Username:e,Password:t,UserAttributes:n,ValidationData:i,ClientMetadata:s};this.getUserContextData(e)&&(a.UserContextData=this.getUserContextData(e)),this.client.request("SignUp",a,(function(t,n){if(t)return r(t,null);var i={Username:e,Pool:o,Storage:o.storage},s={user:new B(i),userConfirmed:n.UserConfirmed,userSub:n.UserSub,codeDeliveryDetails:n.CodeDeliveryDetails};return r(null,s)}))},t.getCurrentUser=function(){var e="CognitoIdentityServiceProvider."+this.clientId+".LastAuthUser",t=this.storage.getItem(e);if(t){var n={Username:t,Pool:this,Storage:this.storage};return new B(n)}return null},t.getUserContextData=function(e){if("undefined"!=typeof AmazonCognitoAdvancedSecurityData){var t=AmazonCognitoAdvancedSecurityData;if(this.advancedSecurityDataCollectionFlag){var n=t.getData(e,this.userPoolId,this.clientId);if(n)return{EncodedData:n}}return{}}},e}();n(808);class te extends Error{constructor(e,t){if(Array.isArray(e)&&e.length<=2){let n=e[1];if(e.length>2)for(let t=2;t<e.length&&"string"==typeof e[t];t++)n+=e[t];super((n||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||e[0]||"ERROR",t?.cause&&(this.cause=t.cause)}else"string"==typeof e?(super((e||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",t?.cause&&(this.cause=t.cause)):e instanceof Error?(super((e.message||"Something went wrong.").trim()),this.cause=e,this.name=e.name,e.hasOwnProperty("code")&&(this.code=e.code)):"object"==typeof e&&e?.code&&e?.message&&(super((e.message||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",this.cause=e?.cause)}}class ne{static hash(e){"string"!=typeof e&&(console.warn("coercing non-string value to empty string"),e="");const t=ne.sb(e);let n,i,r,s,o=1732584193,a=-271733879,c=-1732584194,u=271733878;for(let e=0;e<t.length;e+=16)n=o,i=a,r=c,s=u,o=ne.ff(o,a,c,u,t[e],7,-680876936),u=ne.ff(u,o,a,c,t[e+1],12,-389564586),c=ne.ff(c,u,o,a,t[e+2],17,606105819),a=ne.ff(a,c,u,o,t[e+3],22,-1044525330),o=ne.ff(o,a,c,u,t[e+4],7,-176418897),u=ne.ff(u,o,a,c,t[e+5],12,1200080426),c=ne.ff(c,u,o,a,t[e+6],17,-1473231341),a=ne.ff(a,c,u,o,t[e+7],22,-45705983),o=ne.ff(o,a,c,u,t[e+8],7,1770035416),u=ne.ff(u,o,a,c,t[e+9],12,-1958414417),c=ne.ff(c,u,o,a,t[e+10],17,-42063),a=ne.ff(a,c,u,o,t[e+11],22,-1990404162),o=ne.ff(o,a,c,u,t[e+12],7,1804603682),u=ne.ff(u,o,a,c,t[e+13],12,-40341101),c=ne.ff(c,u,o,a,t[e+14],17,-1502002290),a=ne.ff(a,c,u,o,t[e+15],22,1236535329),o=ne.gg(o,a,c,u,t[e+1],5,-165796510),u=ne.gg(u,o,a,c,t[e+6],9,-1069501632),c=ne.gg(c,u,o,a,t[e+11],14,643717713),a=ne.gg(a,c,u,o,t[e],20,-373897302),o=ne.gg(o,a,c,u,t[e+5],5,-701558691),u=ne.gg(u,o,a,c,t[e+10],9,38016083),c=ne.gg(c,u,o,a,t[e+15],14,-660478335),a=ne.gg(a,c,u,o,t[e+4],20,-405537848),o=ne.gg(o,a,c,u,t[e+9],5,568446438),u=ne.gg(u,o,a,c,t[e+14],9,-1019803690),c=ne.gg(c,u,o,a,t[e+3],14,-187363961),a=ne.gg(a,c,u,o,t[e+8],20,1163531501),o=ne.gg(o,a,c,u,t[e+13],5,-1444681467),u=ne.gg(u,o,a,c,t[e+2],9,-51403784),c=ne.gg(c,u,o,a,t[e+7],14,1735328473),a=ne.gg(a,c,u,o,t[e+12],20,-1926607734),o=ne.hh(o,a,c,u,t[e+5],4,-378558),u=ne.hh(u,o,a,c,t[e+8],11,-2022574463),c=ne.hh(c,u,o,a,t[e+11],16,1839030562),a=ne.hh(a,c,u,o,t[e+14],23,-35309556),o=ne.hh(o,a,c,u,t[e+1],4,-1530992060),u=ne.hh(u,o,a,c,t[e+4],11,1272893353),c=ne.hh(c,u,o,a,t[e+7],16,-155497632),a=ne.hh(a,c,u,o,t[e+10],23,-1094730640),o=ne.hh(o,a,c,u,t[e+13],4,681279174),u=ne.hh(u,o,a,c,t[e],11,-358537222),c=ne.hh(c,u,o,a,t[e+3],16,-722521979),a=ne.hh(a,c,u,o,t[e+6],23,76029189),o=ne.hh(o,a,c,u,t[e+9],4,-640364487),u=ne.hh(u,o,a,c,t[e+12],11,-421815835),c=ne.hh(c,u,o,a,t[e+15],16,530742520),a=ne.hh(a,c,u,o,t[e+2],23,-995338651),o=ne.ii(o,a,c,u,t[e],6,-198630844),u=ne.ii(u,o,a,c,t[e+7],10,1126891415),c=ne.ii(c,u,o,a,t[e+14],15,-1416354905),a=ne.ii(a,c,u,o,t[e+5],21,-57434055),o=ne.ii(o,a,c,u,t[e+12],6,1700485571),u=ne.ii(u,o,a,c,t[e+3],10,-1894986606),c=ne.ii(c,u,o,a,t[e+10],15,-1051523),a=ne.ii(a,c,u,o,t[e+1],21,-2054922799),o=ne.ii(o,a,c,u,t[e+8],6,1873313359),u=ne.ii(u,o,a,c,t[e+15],10,-30611744),c=ne.ii(c,u,o,a,t[e+6],15,-1560198380),a=ne.ii(a,c,u,o,t[e+13],21,1309151649),o=ne.ii(o,a,c,u,t[e+4],6,-145523070),u=ne.ii(u,o,a,c,t[e+11],10,-1120210379),c=ne.ii(c,u,o,a,t[e+2],15,718787259),a=ne.ii(a,c,u,o,t[e+9],21,-343485551),o=ne.ad(o,n),a=ne.ad(a,i),c=ne.ad(c,r),u=ne.ad(u,s);return ne.rh(o)+ne.rh(a)+ne.rh(c)+ne.rh(u)}static rh(e){let t="";for(let n=0;n<=3;n++)t+=ne.alphabet.charAt(e>>8*n+4&15)+ne.alphabet.charAt(e>>8*n&15);return t}static ad(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}static rl(e,t){return e<<t|e>>>32-t}static cm(e,t,n,i,r,s){return ne.ad(ne.rl(ne.ad(ne.ad(t,e),ne.ad(i,s)),r),n)}static ff(e,t,n,i,r,s,o){return ne.cm(t&n|~t&i,e,t,r,s,o)}static gg(e,t,n,i,r,s,o){return ne.cm(t&i|n&~i,e,t,r,s,o)}static hh(e,t,n,i,r,s,o){return ne.cm(t^n^i,e,t,r,s,o)}static ii(e,t,n,i,r,s,o){return ne.cm(n^(t|~i),e,t,r,s,o)}static sb(e){let t;const n=1+(e.length+8>>6),i=new Array(16*n);for(t=0;t<16*n;t++)i[t]=0;for(t=0;t<e.length;t++)i[t>>2]|=e.charCodeAt(t)<<t%4*8;return i[t>>2]|=128<<t%4*8,i[16*n-2]=8*e.length,i}}function ie(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}function re(e){return e.split("").reverse().reduce(((e,t,n)=>e+"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t)*62**n),0)}function se(e=6){let t="";let n=0;for(;n<e;)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),n+=1;return t}function oe(e,t,n){let i={},r=[];function s(e){let t;try{t=JSON.stringify(e)}catch(e){throw new te("Invalid data type.",{code:"INVALID_REQUEST"})}return new Blob([t]).size}function o(e,i,r){if(t?.ignoreEmpty&&""===r)return;if(t?.nullIfEmpty&&""===r&&(r=null),"function"==typeof n){let e=n(i,r);void 0!==e&&(r=e)}let s=i.split("[").map((e=>{let t=e.replace("]",""),n=Number(t);return isNaN(n)||t.includes(".")?('"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1])&&(t=t.replace(/"/g,"").replace(/'/g,"")):t=n,t})),o=e;if("number"==typeof s[0])throw new te("Form key cannot start with an array index.",{code:"INVALID_REQUEST"});for(let e=0;e<s.length;e++){let t=s[e];if(e<s.length-1){if(void 0===o[t]){let n=s[e+1];o[t]="number"==typeof n?[]:{}}o=o[t]}else void 0===o[t]?o[t]=r:Array.isArray(o[t])?o[t].push(r):o[t]=[o[t],r]}}function a(e,t,n){if(n instanceof File)e.push({name:t,file:n});else if(n instanceof FileList&&n&&n.length>0)for(let i=0;i<=n.length-1;i++){let r=n.item(i);r&&e.push({name:t,file:r})}}let c=e=>{e.name&&("number"===e.type?e.value&&o(i,e.name,Number(e.value)):"checkbox"===e.type||"radio"===e.type?e.checked?""===e.value&&"checkbox"===e.type||"on"===e.value||"true"===e.value?o(i,e.name,!0):"false"===e.value?o(i,e.name,!1):e.value&&o(i,e.name,e.value):"checkbox"===e.type&&(""===e.value||"on"===e.value||"true"===e.value?o(i,e.name,!1):"false"===e.value&&o(i,e.name,!0)):"file"===e.type?e.files&&e.files.length>0&&a(r,e.name,e.files):o(i,e.name,e.value))};if(e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement){if(c(e),s(i)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:r}}if(e instanceof FormData){for(let t of e.entries()){let e=t[0],n=t[1];if(n instanceof File||n instanceof FileList)a(r,e,n);else if(n instanceof Blob){let t=n;if("application/json"===t.type)try{let n=JSON.parse(t.text());o(i,e,n)}catch(n){o(i,e,t)}}else o(i,e,n)}if(s(i)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:r}}if(e instanceof SubmitEvent&&(e=e.target),e instanceof HTMLFormElement){let t=e.querySelectorAll("input"),n=e.querySelectorAll("select"),a=e.querySelectorAll("textarea");for(let e=0;e<n.length;e++){let t=n[e];t.name&&o(i,t.name,t.value)}for(let e=0;e<a.length;e++){let t=a[e];t.name&&o(i,t.name,t.value)}for(let e=0;e<t.length;e++)c(t[e]);if(s(i)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:r}}if(s(e)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:e,files:r}}function ae(e){let t={};for(let n in e){let i=e[n],r={auth_time:"log",sub:"user_id"};if(!["aud","cognito:username","event_id","exp","iat","iss","jti","origin_jti","secret_key","token_use"].includes(n))if(r[n])t[r[n]]=i;else if(n.includes("custom:"))t[n.replace("custom:","")]=i;else if("address"===n){let e=i;if(e&&"object"==typeof e&&Object.keys(e).length){if(e?.formatted)try{t[n]=JSON.parse(e.formatted)}catch(i){t[n]=e.formatted}}else t[n]=e}else t[n]=i}for(let e of["address_public","birthdate_public","email_public","gender_public","phone_number_public","access_group"])e.includes("_public")?t.hasOwnProperty(e.split("_")[0])?t[e]=!!t.hasOwnProperty(e)&&!!Number(t[e]):delete t[e]:t[e]=t.hasOwnProperty(e)?Number(t[e]):0;for(let e of["email","phone_number"])t.hasOwnProperty(e)?t[e+"_verified"]=!0===t[e+"_verified"]:delete t[e+"_verified"];return t}function ce(e,t,n=[],i=null){function r(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length}function s(e){return Array.isArray(e)&&e.length}if(null===i&&!r(t))throw'Argument "struct" is required.';let o=null!==i?` in key "${i}" is invalid.`:". Parameter should be type <object>.";if(s(t)){let r="";t.forEach((e=>{["string","number","boolean","object","array"].includes(e)?r+=`Type<${e}>, `:"function"!=typeof e&&(r+=JSON.stringify(e,null,2)+", ")})),r=r?" Should be: "+r.slice(0,-2):"";let s,a=!1,c="";for(let r of t)try{s=ce(e,r,n,i),a=!0;break}catch(e){c="function"==typeof r?e?.message||e:"",a=!1}if(!a)throw c||`Invalid type "${typeof e}"${o}${r}.`;return s}if(r(e)){if(r(t))for(let r in t){let o=(null===i?"":i)+(null!==i?"["+r+"]":r);if(!e.hasOwnProperty(r)){if(n.includes(o))throw`Key "${o}" is required.`;s(t[r])&&"function"==typeof t[r][t[r].length-1]&&(e[r]=t[r][t[r].length-1]())}}if("object"===t)return e;if("function"==typeof t)return t(e);for(let r in e){let o=(null===i?"":i)+(null!==i?"["+r+"]":r);if(s(t)||t.hasOwnProperty(r))if(s(e[r])){if("array"===t[r])continue;if("function"==typeof t[r]){e[r]=t[r](e[r]);continue}for(let i=0;i<e[r].length;i++)e[r][i]=ce(e[r][i],t[r],n,o+`[${i}]`)}else e[r]=ce(e[r],t[r],n,o)}return e}if("function"==typeof t)return t(e);if("array"===t&&Array.isArray(e)||t===typeof e||e===t)return e;if(null==e||(a=e)&&"object"==typeof a&&!Array.isArray(a)&&!Object.keys(a).length)return e;var a;throw`Invalid type "${typeof e}"${o} Should be: ${["string","number","boolean","object","array"].includes(t)?`Type<${t}>`:JSON.stringify(t,null,2)}`}ne.alphabet="0123456789abcdef";const ue={UserId:function(e,t="User ID"){if(!e)throw new te(`${t} is empty.`,{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new te(`${t} should be type: string.`,{code:"INVALID_PARAMETER"});if(!e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i))throw new te(`${t} is invalid.`,{code:"INVALID_PARAMETER"});return e},PhoneNumber:function(e){if(e&&("string"!=typeof e||"+"!==e.charAt(0)||isNaN(Number(e.substring(1)))))throw new te('"phone_number" is invalid. The format should be "+00123456789". Type: string.',{code:"INVALID_PARAMETER"});return e||""},Birthdate:function(e){if(e){if("string"!=typeof e)throw new te('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"});{let t=new RegExp(/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/);if(10!==e.length||3!==e.split("-").length||!t.test(e))throw new te('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"})}}return e||""},Password:function(e){if(!e)throw new te('"password" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new te('"password" should be type: string.',{code:"INVALID_PARAMETER"});if(e.length<6)throw new te('"password" should be at least 6 characters.',{code:"INVALID_PARAMETER"});if(e.length>60)throw new te('"password" can be up to 60 characters max.',{code:"INVALID_PARAMETER"});return e},Email:function(e,t="email"){if(!e)throw new te(`"${t}" is required.`,{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new te(`"${t}"should be type: string.`,{code:"INVALID_PARAMETER"});if(e.length<5)throw new te(`"${t}" should be at least 5 characters.`,{code:"INVALID_PARAMETER"});if(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(e)&&(e=e.trim()).split("@")[1].split(".").length>=2)return e.toLowerCase();throw new te(`"${e}" is an invalid email.`,{code:"INVALID_PARAMETER"})},Url:function(e){const t=(()=>{let e=location.origin||null;return e&&"/"===e.slice(-1)&&(e=e.slice(0,-1)),e})();let n=e=>{if("string"==typeof e){if("*"===e)return"*";{let n,i=e.trim();if("/"===i[0]&&t){if("file:"===t.slice(0,5))throw new te(`"${e}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});i=t+i}else if("."===i[0]&&t){if("file:"===t.slice(0,5))throw new te(`"${e}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});let n=location.href.split("?")[0];"/"!==n.slice(-1)&&(n+="/"),i=n+i.slice(1)}try{n=new URL(i)}catch(t){throw new te(`"${e}" is an invalid url.`,{code:"INVALID_PARAMETER"})}if(n.protocol)return n.href}}throw new te(`"${e}" is an invalid url.`,{code:"INVALID_PARAMETER"})};return Array.isArray(e)?e.map((e=>n(e))):n(e)},specialChars:function(e,t="parameter",n=!1,i=!1){let r=e=>{if("string"!=typeof e)throw new te(`${t} should be type: <string | string[]>.`,{code:"INVALID_PARAMETER"});if(!i&&e.includes(" "))throw new te(`${t} should not have whitespace.`,{code:"INVALID_PARAMETER"});if(!n&&e.includes("."))throw new te(`${t} should not have periods.`,{code:"INVALID_PARAMETER"});if(/[!#$%&*()+\-{};'"|,<>\/~]/.test(e))throw new te(`${t} should not have special characters. Allowed special characters are: [ ] ^ _ \` : ; < = > ? @`,{code:"INVALID_PARAMETER"})};if(Array.isArray(e))for(let t of e)r(t);else r(e);return e},Params:function(e,t,n=[],i){let r=oe(e,i).data;t.service="string",t.owner="string";let s={};for(let e in t)if(r&&"object"==typeof r&&!Array.isArray(r)&&r.hasOwnProperty(e))if("function"==typeof r[e])s[e]=r[e];else try{s[e]=JSON.parse(JSON.stringify(r[e]))}catch(t){s[e]=r[e]}try{return ce(s,t,n)}catch(e){throw new te(e,{code:"INVALID_PARAMETER"})}},checkParams:ce};let le=null;function he(e){let t={tkid:"ticket_id",cond:"condition",actn:"action",cnt:"count",ttl:"time_to_live",stmp:"timestamp",plch:"placeholder",hash:"hash",desc:"description"},n={};for(let i in e)if("tkid"===i){let t=e[i].split("#");if(1===t.length){n.ticket_id=t[0];continue}n.ticket_id=t[1],n.consume_id=t[2],n.user_id=t[3],e.stmp||(n.timestamp=re(t[2].slice(0,-4)))}else t[i]?n[t[i]]=e[i]:n[i]=e[i];return n}async function de(e){if(!e.ticket_id)throw new te("Ticket ID is required.",{code:"INVALID_PARAMETER"});let t=e.ticket_id;return await this.__connection,he(await Qe.bind(this)(`https://${this.service.slice(0,4)}.${this.customApiDomain}/auth/consume/${this.service}/${this.owner}/${t}`,e,{auth:!0}))}async function fe(e,t){await this.__connection;let n=await Qe.bind(this)("ticket",Object.assign({exec:"list"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(he),n}async function pe(e,t){await this.__connection;let n=await Qe.bind(this)("ticket",Object.assign({exec:"consumed"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(he),n}async function ge(e){return Qe.bind(this)("register-ticket",Object.assign({exec:"reg"},e),{auth:!0})}async function _e(e){return Qe.bind(this)("register-ticket",Object.assign({exec:"unreg"},e),{auth:!0})}async function me(){if(await this.__connection,this.session){const e=Math.floor(Date.now()/1e3),t=this.session.getIdToken().getExpiration();if(this.log("request:tokens",{exp:this.session.idToken.payload.exp,currentTime:e,expiresIn:t-e,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token}),t<e){this.log("request:requesting new token",null);try{await be.bind(this)().getSession({refreshToken:!0}),this.log("request:received new tokens",{exp:this.session.idToken.payload.exp,currentTime:e,expiresIn:t-e,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token})}catch(e){throw this.log("request:new token error",e),new te("User login is required.",{code:"INVALID_REQUEST"})}}return this.session?.idToken?.jwtToken}throw this.log("request:no session",null),Ee.bind(this)(),new te("User login is required.",{code:"INVALID_REQUEST"})}let ye=null;function we(e,t){return ye instanceof Promise?ye:new Promise(((n,i)=>{t.refreshSession(e.getRefreshToken(),((e,t)=>{this.log("getSession:refreshSessionCallback",{refreshErr:e,refreshedSession:t}),e?(Ee.bind(this)(),i(e)):t.isValid()?n(t):(Ee.bind(this)(),i(new te("Invalid session.",{code:"INVALID_REQUEST"})))}))}))}function be(){if(!this.userPool)throw new te("User pool is missing",{code:"INVALID_REQUEST"});const e=()=>{let e=ae(le.getSignInUserSession().getIdToken().payload||null);return this.log("normalized user attribute",e),this.__user=e,e},t=t=>{this.log("getSession:option",t);let{refreshToken:n=!1,skipEventTrigger:i=!1}=t||{};return new Promise(((r,s)=>{if(le=this.userPool.getCurrentUser(),!le)return this.log("getSession:cognitoUser",le),Ee.bind(this)(),void s(null);le.getSession(((o,a)=>{this.log("getSession:getSessionCallback",{err:o,session:a});let c=async n=>{let o=n.getIdToken().payload;if(this.log("getSession:respond:sessionAttribute",o),o["custom:service"]!==this.service)return this.log("getSession:respond","invalid service, signing out"),Ee.bind(this)(),void s(new te("Invalid session.",{code:"INVALID_REQUEST"}));t?._holdLogin?r((()=>(this.session=n,e(),i||this._runOnLoginListeners(this.user),this.session))):(this.session=n,e(),i||this._runOnLoginListeners(this.user),r(this.session))};if(!a)return Ee.bind(this)(),void s(new te("Current session does not exist.",{code:"INVALID_REQUEST"}));if(o)return void we.bind(this)(a,le).then((e=>c(e))).catch((e=>{Ee.bind(this)(),s(e)})).finally((()=>{ye=null}));const u=Math.floor(Date.now()/1e3),l=a.getIdToken().getExpiration(),h=l<u;this.log("getSession:currentTime",u),this.log("getSession:idTokenExp",l),this.log("getSession:isExpired",h),h||n||!a.isValid()?we.bind(this)(a,le).then((e=>c(e))).catch((e=>{Ee.bind(this)(),s(e)})).finally((()=>{ye=null})):c(a).catch((e=>s(e)))}))}))},n=(e,t)=>{let n=t||e.includes(this.service+"-")?e:this.service+"-"+ne.hash(e);return{cognitoUser:new B({Username:n,Pool:this.userPool}),cognitoUsername:n}};return{getSession:t,authenticateUser:(e,i,s=!1)=>new Promise(((o,a)=>{this.__request_signup_confirmation=null,this.__disabledAccount=null;let c=n(e,s),u=c.cognitoUsername,l=new r({Username:u,Password:i});c.cognitoUser.authenticateUser(l,{newPasswordRequired:(e,n)=>{this.__disabledAccount=null,this.__request_signup_confirmation=u,"PASS"===e["custom:signup_ticket"]||"MEMBER"===e["custom:signup_ticket"]?c.cognitoUser.completeNewPasswordChallenge(i,{},{onSuccess:e=>{le=c.cognitoUser,t().then((e=>o(this.user)))},onFailure:e=>{a(new te(e.message||"Failed to authenticate user.",{code:e.code}))}}):a(new te("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}))},onSuccess:e=>t().then((e=>{this.__disabledAccount=null,o(this.user)})),onFailure:e=>{let t=[e.message||"Failed to authenticate user.",e?.code||"INVALID_REQUEST"];"NotAuthorizedException"===e.code?"User is disabled."===e.message?(this.__disabledAccount=u,t=["This account is disabled.","USER_IS_DISABLED"]):t=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotFoundException"===e.code?t=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotConfirmedException"===e.code?(this.__request_signup_confirmation=u,t=["User's signup confirmation is required.","SIGNUP_CONFIRMATION_NEEDED"]):"TooManyRequestsException"!==e.code&&"LimitExceededException"!==e.code||(t=["Too many attempts. Please try again later.","REQUEST_EXCEED"]);let n=t[1],i=t[0],r=t[0].split("#");if(r.length>1&&(r=r[r.length-1].split(":"),n=r[0],i=r[1],"CONFIRM_REQUIRED"===n))return this.__request_signup_confirmation=u,void a(new te("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}));a(new te(i,{code:n,cause:e}))}})})),createCognitoUser:n,signup:(e,t,n)=>new Promise(((i,r)=>{this.userPool.signUp(e,t,n,null,((e,t)=>{e?r(e):i(t)}))}))}}async function Ae(e){await this.__authConnection;try{return await be.bind(this)().getSession(Object.assign({skipEventTrigger:!0},e)),this.user}catch(e){return null}}async function ve(e){await this.__connection,e=ue.Params(e,{token:"string",id:"string"});let t=await Qe.bind(this)("openid-logger",e),n=t.logger.split("#"),i=this.service+"-"+n[0],r=n[1];return{userProfile:await be.bind(this)().authenticateUser(i,r,!0),openid:t.openid}}async function Se(){return await this.__connection,this.__user?.service===this.service?this.__user?.owner===this.host:(await Ie.bind(this)(),!1)}function Ee(){le&&le.signOut();let e={session:null,__startKeyHistory:{},__cached_requests:{},__user:null};for(let t in e)this[t]=e[t];this._runOnLoginListeners(null)}async function Ie(){return await this.__connection,Ee.bind(this)(),"SUCCESS: The user has been logged out."}async function Te(){if(!this.__request_signup_confirmation)throw new te("Least one login attempt is required.",{code:"INVALID_REQUEST"});return await Qe.bind(this)("confirm-signup",{username:this.__request_signup_confirmation})}async function Re(e=!1){if("string"==typeof e)e=ue.Url(e);else if("boolean"!=typeof e)throw new te("Argument should be type: <boolean | string>.",{code:"INVALID_REQUEST"});if(!this.__disabledAccount)throw new te("Least one signin attempt of disabled account is required.",{code:"INVALID_REQUEST"});return await Qe.bind(this)("recover-account",{username:this.__disabledAccount,redirect:e}),"SUCCESS: Recovery e-mail has been sent."}async function De(e){let t=ue.Params(e,{username:"string",email:"string",password:"string"},["password"]);if(await this.__authConnection,t.email)try{ue.Email(t.email)}catch(e){t.username=t.email,delete t.email}if(!t.username&&!t.email)throw new te('Least one of "username" or "email" is required.',{code:"INVALID_PARAMETER"});return await be.bind(this)().authenticateUser(t.username||t.email,t.password)}async function Ue(e,t){await this.__authConnection;let n={username:"string",password:e=>ue.Password(e),email:e=>ue.Email(e),name:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",gender:"string",birthdate:e=>e?ue.Birthdate(e):"",phone_number:e=>e?ue.PhoneNumber(e):"",email_public:["boolean",()=>!1],address_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],access_group:"number",misc:"string",picture:e=>e?ue.Url(e):"",profile:e=>e?ue.Url(e):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?ue.Url(e):""},i=ue.Params(e||{},n,["email","password"]);await Ie.bind(this)(),t=ue.Params(t||{},{email_subscription:e=>{if("boolean"!=typeof e)throw new te('"option.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!t?.signup_confirmation)throw new te('"option.signup_confirmation" is required for email subscription.',{code:"INVALID_PARAMETER"});return e},signup_confirmation:e=>{let t=e;if("string"==typeof e)t=ue.Url(e);else{if("boolean"!=typeof e)throw new te('"option.signup_confirmation" should be type: <string | boolean>.',{code:"INVALID_PARAMETER"});t=e}if(t&&!i.email)throw new te('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return t},login:e=>{if("boolean"==typeof e){if(t.signup_confirmation&&e)throw new te('"login" is not allowed when "option.signup_confirmation" is true.',{code:"INVALID_PARAMETER"});return e}throw new te('"option.login" should be type: boolean.',{code:"INVALID_PARAMETER"})}});let r=t?.login||!1;if(i.signup_confirmation=t?.signup_confirmation||!1,i.email_subscription=t?.email_subscription||!1,i.email_public&&!i.signup_confirmation)throw new te('"option.signup_confirmation" should be true if "email_public" is set to true.',{code:"INVALID_PARAMETER"});i.service=this.service,i.owner=this.owner;let s=be.bind(this)().createCognitoUser(i.username||i.email);for(let e of["email_public","address_public","gender_public","birthdate_public","phone_number_public"])i[e]=i[e]?"1":"0";i.access_group&&(i.access_group=i.access_group.toString());let o=(await Qe.bind(this)("signupkey",{username:s.cognitoUsername,signup_confirmation:"boolean"==typeof i.signup_confirmation?JSON.stringify(i.signup_confirmation):i.signup_confirmation,email_subscription:i.email_subscription})).split(":"),a=o.slice(1).join(":"),c=[new V({Name:"custom:signup",Value:o[0]}),new V({Name:"locale",Value:a.split("#")[1]}),new V({Name:"custom:signup_ticket",Value:a})];for(let e in n){let t=["email_public","address_public","gender_public","birthdate_public","phone_number_public","misc","service","owner"];""!==i[e]&&"username"!==e&&"password"!==e&&"access_group"!==e&&(t.includes(e)?c.push(new V({Name:"custom:"+e,Value:i[e]})):c.push(new V({Name:e,Value:i[e]})))}return await be.bind(this)().signup(s.cognitoUsername,i.password,c),i.signup_confirmation?(le=s.cognitoUser,this.__request_signup_confirmation=s.cognitoUsername,"SUCCESS: The account has been created. User's signup confirmation is required."):r?De.bind(this)({email:i.username||i.email,password:i.password}):"SUCCESS: The account has been created."}async function Ce(){await this.__connection;let e=await Qe.bind(this)("remove-account",{disable:this.__user.user_id},{auth:!0});return await Ie.bind(this)(),e}async function Pe(e){await this.__connection;let t=ue.Params(e,{email:e=>ue.Email(e),code:["number","string"],new_password:e=>ue.Password(e)},["email","code","new_password"]),n=t.code,i=t.new_password;return"number"==typeof n&&(n=n.toString()),new Promise((async(e,r)=>{be.bind(this)().createCognitoUser(t.email).cognitoUser.confirmPassword(n,i,{onSuccess:t=>{e("SUCCESS: New password has been set.")},onFailure:e=>{r(new te(e?.message||"Failed to reset password.",{code:e?.code}))}})}))}async function ke(e,t){let n;if(await this.__connection,!le)throw new te("The user has to be logged in.",{code:"INVALID_REQUEST"});if("email"===e||"phone_number"===e){if(!this.__user.hasOwnProperty(e))throw new te(`No ${"email"===e?"e-mail":"phone number"} to verify`,{code:"INVALID_REQUEST"});return this.__user?.[`${e}_verified`]?`SUCCESS: "${e}" is verified.`:(n=(t?ue.Params(t,{code:["string"]}):{}).code||"",new Promise(((t,i)=>{let r={onSuccess:r=>{n?be.bind(this)().getSession({refreshToken:!0}).then((()=>{this.__user&&(this.__user[e+"_verified"]=!0),t(`SUCCESS: "${e}" is verified.`)})).catch((e=>{i(e)})):t("SUCCESS: Verification code has been sent.")},onFailure:e=>{i(new te(e.message||"Failed to request verification code.",{code:e?.code}))}};n?le?.verifyAttribute(e,n,r):(r.inputVerificationCode=null,le?.getAttributeVerificationCode(e,r))})))}}function Ne(e){return ke.bind(this)("phone_number",e)}function Le(e){return ke.bind(this)("email",e)}async function Oe(e){await this.__connection;let t=ue.Params(e,{email:e=>ue.Email(e)},["email"]);return new Promise((async(e,n)=>{be.bind(this)().createCognitoUser(t.email).cognitoUser.forgotPassword({onSuccess:t=>{e("SUCCESS: Verification code has been sent.")},onFailure:e=>{n(new te(e?.message||"Failed to send verification code.",{code:e?.code||"ERROR"}))}})}))}async function Me(e){if(await this.__connection,!this.session)throw new te("User login is required.",{code:"INVALID_REQUEST"});let t=ue.Params(e,{current_password:"string",new_password:"string"});if(!t?.current_password)throw new te('"current_password" is required to change password.',{code:"INVALID_PARAMETER"});if(!t?.new_password)throw new te('"new_password" is required to change password.',{code:"INVALID_PARAMETER"});return ue.Password(t.current_password),ue.Password(t.new_password),new Promise(((e,n)=>{le.changePassword(t.current_password,t.new_password,((t,i)=>{t&&n("InvalidParameterException"===t?.code?new te("Invalid password parameter.",{code:"INVALID_PARAMETER"}):"NotAuthorizedException"===t?.code?new te("Incorrect password.",{code:"INVALID_REQUEST"}):"TooManyRequestsException"===t?.code||"LimitExceededException"===t?.code?new te("Too many attempts. Please try again later.",{code:"REQUEST_EXCEED"}):new te(t?.message||"Failed to change user password.",{code:t?.code||t?.name})),e("SUCCESS: Password has been changed.")}))}))}async function Ve(e){if(await this.__connection,!this.session)throw new te("User login is required.",{code:"INVALID_REQUEST"});let t=ue.Params(e||{},{email:e=>ue.Email(e),address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",name:"string",gender:"string",birthdate:e=>e?ue.Birthdate(e):"",phone_number:e=>e?ue.PhoneNumber(e):"",email_public:"boolean",phone_number_public:"boolean",address_public:"boolean",gender_public:"boolean",birthdate_public:"boolean",misc:"string",picture:e=>e?ue.Url(e):"",profile:e=>e?ue.Url(e):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?ue.Url(e):""});if(t&&"object"==typeof t&&!Object.keys(t).length)return this.user;t.email&&(t.preferred_username=this.service+"-"+ne.hash(t.email));let n=[["email_public","email_verified","User's E-Mail should be verified to set"],["phone_number_public","phone_number_verified","User's phone number should be verified to set"]];if(this.__user)for(let e of n)if(t[e[0]]&&!this.__user[e[1]])throw new te(`${e[2]} "${e[0]}" to true.`,{code:"INVALID_REQUEST"});let i=[];for(let e in t)if(t[e]!==this.user[e]){if(["email_public","phone_number_public","address_public","gender_public","birthdate_public","misc"].includes(e)){let n=t[e];"boolean"==typeof n&&(n=n?"1":"0"),t["custom:"+e]=n,i.push(e)}}else i.push(e);for(let e of i)delete t[e];if(t&&"object"==typeof t&&Object.keys(t).length){let e=[];for(let n in t)e.push(new V({Name:n,Value:t[n]}));return await new Promise(((t,n)=>{le?.updateAttributes(e,((e,i)=>{e&&n([e?.code||e?.name,e?.message||"Failed to update user settings."]),t(i)}))})),await be.bind(this)().getSession({refreshToken:!0}),this.user}return this.user}async function xe(e,t){(e=oe(e).data)||(e={searchFor:"timestamp",condition:">",value:0},t||(t={}),t.ascending=!1),await this.__connection;const n={user_id:e=>Array.isArray(e)?e.map((e=>ue.UserId(e))):ue.UserId(e),email:"string",phone_number:"string",locale:e=>{if("string"!=typeof e||"string"==typeof e&&e.length>5)throw new te('Value of "locale" should be a country code.',{code:"INVALID_PARAMETER"});return e},name:"string",address:"string",gender:"string",birthdate:e=>ue.Birthdate(e),subscribers:"number",timestamp:"number",access_group:"number",approved:"string"};if(e=ue.Params(e,{searchFor:["user_id","name","email","phone_number","address","gender","birthdate","locale","subscribers","timestamp","access_group","approved"],condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],value:t=>{let i=n[e.searchFor];if("function"==typeof i)return i(t);if(typeof t!==i)throw new te(`Value does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});return t},range:t=>{let i=n[e.searchFor];if("function"==typeof i)return i(t);if(typeof t!==i)throw new te(`Range does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});return t}},["searchFor","value"]),e?.condition&&"="!==e?.condition&&e.hasOwnProperty("range"))throw new te("Conditions does not apply on range search.",{code:"INVALID_PARAMETER"});if("user_id"===e.searchFor&&("="!==e.condition||e.range))throw new te(`Conditions are not allowed on "${e.searchFor}"`,{code:"INVALID_PARAMETER"});if("string"==typeof e?.value&&!e?.value)throw new te("Value should not be an empty string.",{code:"INVALID_PARAMETER"});if("string"==typeof e?.searchFor&&!e?.searchFor)throw new te('"searchFor" should not be an empty string.',{code:"INVALID_PARAMETER"});return Qe.bind(this)("get-users",e,{auth:!0,fetchOptions:t})}async function Fe(e){await this.__connection;let t=await Qe.bind(this)("last-verified-email",e,{auth:!0});return t.includes("SUCCESS")?(await be.bind(this)().getSession({refreshToken:!0}),this.user):t}async function qe(e){return await this.__connection,e=ue.Params(e,{username:ue.Email,redirect:ue.Url},["username"]),await Qe.bind(this)("request-username-change",e,{auth:!0})}let $e=0,Be=0,je=0,Ke=0;async function He(e,t){const n=await Promise.all([this.admin_endpoint,this.record_endpoint]),i=n[0],r=n[1];let s=e.split("?"),o=s.length>1?"?"+s[1]:"";switch(e=s[0]){case"get-users":return i.get_users_private+e+o;case"service":return i.service_public+e+o;case"get-newsletters":case"get-public-newsletters":case"subscribe-newsletter":case"subscribe-public-newsletter":case"signupkey":case"admin-newsletter-request":return(t?i.extra_private:i.extra_public)+e+o;case"admin-signup":case"confirm-signup":case"client-secret-request":case"client-secret-request-public":case"openid-logger":return(t?i.extra_private_2:i.extra_public_2)+e+o;case"block-account":return r.admin_private+e+o;case"remove-account":case"post-secure":case"recover-account":case"mock":case"grant-access":case"last-verified-email":case"ticket":case"register-ticket":case"get-newsletter-subscription":case"request-username-change":case"send-inquiry":case"invitation-list":case"grant-access":const n=t?[i.admin_private,i.admin_private_2]:[i.admin_public,i.admin_public_2],s=n[(t?$e:Be)%n.length];return t?$e++:Be++,s+e+o;case"post-record":return(t?r.post_private:r.post_public)+e+o;case"get-records":return(t?r.get_private:r.get_public)+e+o;case"del-files":case"del-records":return r.del_private+e+o;case"store-subscription":case"get-vapid-public-key":case"push-notification":case"delete-subscription":case"subscription":case"get-subscription":case"get-table":case"get-tag":case"get-index":case"get-signed-url":case"grant-private-access":case"request-private-access-key":case"get-ws-group":case"check-schema":case"get-feed":case"castspell":case"dopamine":case"getspell":const a=t?[r.record_private,r.record_private_2]:[r.record_public,r.record_public_2],c=a[(t?je:Ke)%a.length];return t?je++:Ke++,c+e+o;default:return ue.Url(e)}}const Je={};async function Qe(e,t=null,n,i){this.log("request",{url:e,data:t,options:n,_etc:i||{}}),n=n||{};let{auth:r=!1,method:s="post",bypassAwaitConnection:o=!1}=n;s=s.toUpperCase();let a=null,c=this.service,u=this.owner,l=null,h=await He.bind(this)(e,!!r);if(!o&&(a=await this.__connection,!a))throw new te("Invalid connection. The service could have been disabled, or has a restricted CORS.",{code:"INVALID_REQUEST"});r&&(l=await me.bind(this)());let d={},{fetchMore:f=!1,progress:p}=n?.fetchOptions||{};if(n?.fetchOptions&&Object.keys(n.fetchOptions).length){for(let e of["limit","startKey","ascending"])n.fetchOptions.hasOwnProperty(e)&&(d[e]=n.fetchOptions[e]);d=ue.Params(d,{limit:e=>{if("number"!=typeof e)throw new te("Fetch limit should be a number.",{code:"INVALID_REQUEST"});if(e>1e3)throw new te("Fetch limit should be below 1000.",{code:"INVALID_REQUEST"});return e},startKey:e=>e,ascending:"boolean"})}let g=i?.ignoreService?{}:{service:c,owner:u};Object.assign(g,d),(t=oe(t).data)?t&&"object"==typeof t&&(t=Object.assign(g,t)):t=g;let _=(()=>{if(t&&"object"==typeof t&&Object.keys(t).length&&!(t instanceof FormData)){function n(e){return"object"==typeof e&&null!==e?Object.keys(e).sort().reduce(((t,i)=>("object"==typeof e[i]&&null!==e[i]?t[i]=n(e[i]):t[i]=e[i],t)),{}):e}return ne.hash(e+"/"+JSON.stringify(n(t)))}return ne.hash(e+"/"+this.service)})(),m=We.bind(this)({params:t,url:e,fetchMore:f,hashedParams:_});if(this.log("requestKey",m),!m||m&&"object"==typeof m)return m;if("string"==typeof m&&Je[m]instanceof Promise)return this.log("request:returning pending",m),Je[m];let y={Accept:"*/*","Content-Type":n.hasOwnProperty("contentType")?null===n.contentType?"application/x-www-form-urlencoded":n.contentType||"application/json":"application/json"};l&&(y.Authorization=l),"application/json"!==y["Content-Type"]&&(y["Content-Meta"]=JSON.stringify({service:c,owner:u}));let w={headers:y};if(n?.responseType&&(w.responseType=n.responseType),"GET"===s){if(t){let e=[];if(t instanceof FormData)for(let[n,i]of t.entries())"string"==typeof i&&(i=encodeURIComponent(i),e.push(`&${n}=${i}`));else e=Object.keys(t).map((e=>{let n=t[e];return"string"!=typeof n&&(n=JSON.stringify(n)),encodeURIComponent(e)+"="+encodeURIComponent(n)}));e.length&&("?"!==h.substring(h.length-1)&&(h+="?"),h+=e.join("&"))}w.body=null}else w.body=t?JSON.stringify(t):null;w.method=s;let b=Ye.bind(this)(h,w,p);Je[m]=b.finally((()=>{delete Je[m]}));try{let t=Ge.bind(this)({hashedParam:m,url:e,fetched:await b});return this.log("request:end",t),t}catch(e){throw this.log("request:err",e),e}}function We(e){let{params:t={},url:n,fetchMore:i=!1,hashedParams:r}=e||{};if(t.startKey){if(("object"!=typeof t.startKey||!Object.keys(t.startKey).length)&&"start"!==t.startKey&&"end"!==t.startKey)throw new te(`"${t.startKey}" is invalid startKey key.`,{code:"INVALID_PARAMETER"});"start"===t.startKey&&(i=!1,delete t.startKey)}if(!i&&this.__startKeyHistory?.[n]?.[r]){if(this.__cached_requests?.[n]?.[r]&&delete this.__cached_requests[n][r],Array.isArray(this.__startKeyHistory[n][r])&&this.__startKeyHistory[n][r].length)for(let e of this.__startKeyHistory[n][r]){let t=r+ne.hash(e);this.__cached_requests?.[n]&&this.__cached_requests?.[n]?.[t]&&delete this.__cached_requests[n][t]}return delete this.__startKeyHistory[n][r],r}if(!Array.isArray(this.__startKeyHistory?.[n]?.[r]))return r;let s=this.__startKeyHistory[n][r],o=s[s.length-1],a=r;if(o){if("end"===o)return{list:[],startKey:"end",endOfList:!0,startKeyHistory:s};a+=ne.hash(o),t.startKey=JSON.parse(o)}return this.__cached_requests?.[n]?.[a]?this.__cached_requests[n][a]:r}function Ye(e,t,n){return new Promise(((i,r)=>{let s=new XMLHttpRequest;for(var o in s.open(t.method||"GET",e),t.headers||{})s.setRequestHeader(o,t.headers[o]);t.responseType&&(s.responseType=t.responseType),s.onload=()=>{if(s.status<400)if("json"==t.responseType||"blob"==t.responseType)i(s.response);else{let e=s.responseText;try{e=JSON.parse(e)}catch(e){}i(e)}else if(429===s.status){let o=s.getResponseHeader("Retry-After");o?setTimeout((()=>{Ye(e,t,n).then(i,r)}),1e3*parseInt(o)):r("Too many requests")}else{let e=s.status,t=["INVALID_CORS","INVALID_REQUEST","SERVICE_DISABLED","INVALID_PARAMETER","ERROR","EXISTS","NOT_EXISTS"],n=s.responseText;try{n=JSON.parse(n)}catch(e){}if("string"==typeof n){let e=s.response.split(":"),n=e.splice(0,1)[0].trim();r(new te(e.join(":").trim(),{code:t.includes(n)?n:"ERROR"}))}else if("object"==typeof n&&n?.message){let t=n?.code||(e?e.toString():null)||"ERROR",i=n.message,s=n?.cause;"string"==typeof i&&(i=i.trim()),r(new te(i,{cause:s,code:t}))}else r(n)}},s.onerror=()=>r("Network error"),s.onabort=()=>r("Aborted"),s.ontimeout=()=>r("Timeout"),"function"==typeof n&&(s.onprogress=e=>{n({status:"download",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>s.abort()})},s.upload&&(s.upload.onprogress=e=>{n({status:"upload",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>s.abort()})})),s.send(t.body)}))}function Ge(e){let{hashedParam:t,url:n,fetched:i}=e;if(!i?.startKey)return i;this.__startKeyHistory.hasOwnProperty(n)||(this.__startKeyHistory[n]={}),this.__cached_requests?.[n]||(this.__cached_requests[n]={}),this.__cached_requests[n][t]=i,this.__startKeyHistory[n].hasOwnProperty(t)||(this.__startKeyHistory[n][t]=[]);let r="end"===i.startKey?"end":JSON.stringify(i.startKey);return this.__startKeyHistory[n][t].includes(r)||this.__startKeyHistory[n][t].push(r),Object.assign({startKeyHistory:this.__startKeyHistory[n][t]},i)}async function ze(e,t){await this.__connection;let{record_id:n,service:i=this.service,progress:r}=t;if(!n)throw new te('"record_id" is required.',{code:"INVALID_PARAMETER"});if(e instanceof SubmitEvent&&(e=e.target),e instanceof HTMLFormElement&&(e=new FormData(e)),!(e instanceof FormData))throw new te('"fileList" should be a FormData or HTMLFormElement.',{code:"INVALID_PARAMETER"});let s,o={reserved_key:se(),service:i,request:"post"};t?.record_id&&(o.id=t.record_id);let a=(e,t,n)=>new Promise(((i,r)=>{s=new XMLHttpRequest,s.open("POST",e),s.onload=()=>{let o=s.responseText;try{o=JSON.parse(o)}catch(e){}if(s.status>=200&&s.status<300)i(o);else if(429===s.status){let o=s.getResponseHeader("Retry-After");o?setTimeout((()=>{a(e,t,n).then(i,r)}),1e3*parseInt(o)):r("Too many requests")}else r(o)},s.onerror=()=>r("Network error"),s.onabort=()=>r("Aborted"),s.ontimeout=()=>r("Timeout"),s.upload&&"function"==typeof n&&(s.upload.onprogress=n),s.send(t)})),c=[],u=[];function l(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}let h=[];for(let[t,n]of e.entries()){if(!(n instanceof File))continue;let e=Object.assign({key:t+"/"+n.name,sizeKey:l(n.size),contentType:n.type||null},o),{fields:i=null,url:d,cdn:f}=await Qe.bind(this)("get-signed-url",e,{auth:!0});h.push(f);let p=new FormData;for(let e in i)p.append(e,i[e]);p.append("file",n);try{await a(d,p,"function"==typeof r?e=>r({status:"upload",progress:e.loaded/e.total*100,currentFile:n,completed:c,failed:u,loaded:e.loaded,total:e.total,abort:()=>s.abort()}):null),c.push(n)}catch(e){u.push(n)}}return{completed:c,failed:u,bin_endpoints:h}}const Ze={};function Xe(e){let{preventMultipleCalls:t=!1}=e||{};return function(e,n,i){const r=i.value;i.value=function(...e){let i=e[0],s=!0,o=null,a="",c={},u=!1;if(i instanceof SubmitEvent){i.preventDefault();let e=location.href;o=i.target;let t=new URL(o.action);a=t.href;let n=a?a.match(/(?<=\{).*?(?=\})/g):"";if(n)for(let e of n){if(!e)continue;let t=o.querySelector(`[name="${e}"]`);if(t)if("file"===t.type)for(let n=0;n<=t.files.length-1;n++)t.files[n]&&(c[e]||(c[e]=[]),c[e].push(new Promise(((e,i)=>{let r=new FileReader;r.onload=function(){e(r.result)},r.readAsDataURL(t.files[n]),r.onerror=i}))));else a=a.replace(`{${e}}`,t.value)}null===o.getAttribute("action")?s=!1:u=t.href===e}const l=async e=>{if(a)for(let e in c)c[e].length&&(a=a.replace(`{${e}}`,(await Promise.all(c[e])).join(",")));return o&&s&&(sessionStorage.setItem(`${this.service}:${ne.hash(a)}`,JSON.stringify(e)),u?location.replace(a):location.href=a),e};let h;const d=async()=>{try{if(h=r.bind(this)(...e),h instanceof Promise){let e=await h;return await l(e),h}}catch(e){throw(e=>{throw e instanceof te?e.name=n+"()":e=e instanceof Error?e:new te(e,{name:n+"()"}),e})(e)}};return t?(Ze?.[n]||(Ze[n]=d().finally((()=>{delete Ze[n]}))),Ze[n]):d()}}}async function et(){await this.__connection;let e=`${this.service}:${ne.hash(location.href.split("?")[0])}`,t=sessionStorage.getItem(e);if(sessionStorage.removeItem(e),null!==t){try{t=JSON.parse(t)}catch(e){}return t}return null}function tt(e,t="parameter",n=!1,i=!1){if(!e)throw new te(`"${t}" is required.`,{code:"INVALID_PARAMETER"});return ue.specialChars(e,t,n,i)}function nt(e){if(void 0===e)return 0;if("number"==typeof e){if(e>99||e<0)throw new te('"table.access_group" value should be within a range of 0 ~ 99.',{code:"INVALID_REQUEST"})}else{if("string"!=typeof e)throw new te('"table.access_group" should be type: <number | string>.',{code:"INVALID_PARAMETER"});if(void 0===(e={private:"private",public:0,authorized:1,admin:99}[e]))throw new te('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"})}if(!this.__user&&e)throw new te("Unsigned users have no access to records with access group.",{code:"INVALID_REQUEST"});return e}const it=4503599627370496;function rt(e){if("number"==typeof e){if(e>it||e<-it)throw new te(`Number value should be within range -${it} ~ +${it}`,{code:"INVALID_PARAMETER"});return e}if("boolean"==typeof e)return e;if("string"==typeof e)return tt(e,"index.value",!1,!0);throw new te('"index.value" should be type: <number | boolean | string>.',{code:"INVALID_PARAMETER"})}function st(e){return{table:{name:[e=>tt(e,"table.name",!0,!0)],access_group:[nt.bind(this)],subscription:e=>{if("string"==typeof e)return ue.UserId(e,'User ID in "subscription"'),e}},reference:"string",index:{name:["$updated","$uploaded","$referenced_count","$user_id",e=>tt(e,"index.name",!0,!1)],value:t=>{const n={$updated:"number",$uploaded:"number",$referenced_count:"number",$user_id:ue.UserId};if(n.hasOwnProperty(e.index.name)){let i=n[e.index.name];if("function"==typeof i)return i(t);if(i!==typeof t)throw new te(`"index.value" should be type: ${i}.`,{code:"INVALID_PARAMETER"});return t}return"string"!=typeof t||t?rt(t):" "},condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"],range:t=>function(e,t){if(!t.index||!("value"in t.index))throw new te('"index.value" is required.',{code:"INVALID_PARAMETER"});if("$record_id"===t.index.name)throw new te(`Cannot do "index.range" on ${t.index.name}`,{code:"INVALID_PARAMETER"});if(typeof t.index.value!=typeof e)throw new te('"index.range" type should match the type of "index.value".',{code:"INVALID_PARAMETER"});return"string"==typeof e?ue.specialChars(e,"index.range",!1,!0):e}(t,e)},tag:e=>{if(null==e)return e;if("string"==typeof e)return ue.specialChars(e,"tag",!1,!0);throw new te('"tag" should be type: string.',{code:"INVALID_PARAMETER"})},private_key:"string"}}async function ot(e){this.log("normalizeRecord",e);const t={user_id:"",record_id:"",updated:0,uploaded:0,readonly:!1,table:{name:"",access_group:0},referenced_count:0,source:{referencing_limit:null,prevent_multiple_referencing:!1,can_remove_referencing_records:!1,only_granted_can_reference:!1},ip:"",bin:{}};function n(e){let t="**"==e?"private":parseInt(e);return t=0==t?"public":1==t?"authorized":99==t?"admin":t,t}const i={ip:e=>{let n=e.split("#"),i=n[0];n.length>1&&(t.unique_id=n[1]),"R"===i.slice(-1)?(t.readonly=!0,i=i.slice(0,-1)):t.readonly=!1,t.ip=i},rec:e=>{if(!e)return;t.record_id=e;let n=re(e.substring(0,e.length-9));t.uploaded=n},usr:e=>{t.user_id=e},tbl:e=>{if(e&&!t.table.name){let i=e.split("/");t.table.name=i[0],t.table.access_group=n(i[2]),i?.[3]&&(t.table?.subscription||(t.table.subscription={}),t.table.subscription.is_subscription_record=!0)}},usr_tbl:e=>{let i=e.split("/");t.user_id||(t.user_id=i[0]),t.table.name||(t.table.name=i[1],t.table.access_group=n(i[3]),i?.[4]&&(t.table?.subscription||(t.table.subscription={}),t.table.subscription.is_subscription_record=!0))},idx:e=>{if(!e)return;let n=e.split("!"),i=n.splice(0,1)[0],r=function(e){let t=e.substring(3);switch(e.substring(0,3)){case"!S%":return t;case"!N%":let n=t.split("."),i=Number(n[0])-4503599627370496;return 1===n.length?i:parseFloat(i.toString()+"."+n[1]);case"!B%":return"1"===t;case"!L%":case"!D%":try{return JSON.parse(t)}catch(e){throw new te("Value parse error.",{code:"PARSE_ERROR"})}default:return e}}("!"+n.join("!"));t.index={name:i,value:r}},ref:e=>{e&&(t.reference=e.split("/")[0])},tags:e=>{t.tags=e},upd:e=>{t.updated=e},acpt_mrf:e=>{t.source.prevent_multiple_referencing=!e},ref_limt:e=>{t.source.referencing_limit=e},rfd:e=>{t.referenced_count=e},bin:async e=>{let i={};if(Array.isArray(e))for(let r of e){let e=r.split("/").slice(3).join("/"),s=e.split("/"),o=decodeURIComponent(s.slice(-1)[0]),a=decodeURIComponent(s[10]),c=s[9],u=s[8],l=n(s[6]),h=r;"public"!==l&&(h=await ct.bind(this)(r,{dataType:"endpoint"}));let d=t?.ref||null;d&&(d=d.split("/")[0]);let f={access_group:l,filename:o,url:h,path:e,size:re(c),uploaded:re(u),getFile:(e,t)=>{let n={dataType:e||"download",progress:t,_ref:d,_update:f};return ct.bind(this)(r,n)}};i[a]?i[a].push(f):i[a]=[f]}t.bin=i},prv_acs:e=>{for(let n in e)["notify_subscribers","exclude_from_feed","feed_referencing_records","notify_referencing_records"].includes(n)?(t.table.subscription||(t.table.subscription={}),t.table.subscription[n]=e[n]):t.source[n]=e[n]},data:e=>{let n=e;"!D%{}"===e?n={}:"!L%[]"===e&&(n=[]),t.data=n}};if(e.record_id)return e;if(this.__iPosted[e.rec]){if(this.__iPosted[e.rec].record_id)return this.__iPosted[e.rec];delete this.__iPosted[e.rec]}for(let t in i)if(e.hasOwnProperty(t)){let n=i[t](e[t]);n instanceof Promise&&await n}return t}async function at(e){let{endpoints:t}=e;if("string"==typeof t&&(t=[t]),!Array.isArray(t))throw new te('"endpoints" should be type: array | string.',{code:"INVALID_PARAMETER"});let n=await Qe.bind(this)("del-files",{endpoints:t,storage:"records"},{auth:!0,method:"post"});for(let e in n)n[e]=ot.bind(this)(n[e]);return await Promise.all(n)}async function ct(e,t){if("string"!=typeof e)throw new te('"url" should be type: string.',{code:"INVALID_PARAMETER"});let n=!1,i=(e=ue.Url(e.split("?")[0])).split("/"),r=i[2].split("."),s=null;3===r.length&&"skapi"===r[1]&&(s=r[0],n=!0);let o=i.slice(3),a=!1;if(!n&&("auth"===o[0]||"publ"===o[0]))try{ue.UserId(o[2]),ue.UserId(o[3]),a="auth"==o[0],n=!0}catch{throw new te("Invalid file url.",{code:"INVALID_PARAMETER"})}let c=s?null:o[1];if(t=ue.Params(t,{expires:["number",()=>0],dataType:["base64","blob","endpoint","text","info",()=>"download"],progress:"function",_ref:"string",_update:e=>e}),"info"===t?.dataType)return{url:e,filename:o[o.length-1],fileKey:o[o.length-2],access_group:"**"===o[6]?"private":"01"===o[6]?"authorized":"00"===o[6]?"public":parseInt(o[6]),uploader:o[3],record_id:"records"===o[4]?o[5]:"N/A",filesize:re(o[9]),uploaded:re(o[8])};let u=e.split("/").slice(-1)[0],l=t.expires;if(l){if(!n)throw new te("Expires option can only be used on skapi cdn endpoints.",{code:"INVALID_PARAMETER"});if(l<0)throw new te('"config.expires" should be > 0. (seconds)',{code:"INVALID_PARAMETER"});let t={request:s?"get-host":"get",id:s||o[5],key:e,expires:l};c&&(t.service=c),e=(await Qe.bind(this)("get-signed-url",t,{auth:!0})).url}else if(a){let n=Math.floor(Date.now()/1e3);if(this.log("getFile:tokens",{exp:this.session.idToken.payload.exp,currTime:n,expiresIn:this.session.idToken.payload.exp-n,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token}),this.session.idToken.payload.exp<n){this.log("getFile:requesting new token",null);try{await be.bind(this)().getSession({refreshToken:!0}),this.log("getFile:received new tokens",{exp:this.session.idToken.payload.exp,currTime:n,expiresIn:this.session.idToken.payload.exp-n,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token})}catch(e){throw this.log("getFile:new token error",e),new te("User login is required.",{code:"INVALID_REQUEST"})}}let i=this.session?.idToken?.jwtToken;e+=`?t=${i}`;let r="**"===o[6]?"**":parseInt(o[6]);if(this.user.user_id!==o[3]&&("**"===r||this.user?.access_group<r)){let n=o[5];if(this.__private_access_key[n]&&"string"==typeof this.__private_access_key[n])e+="&p="+this.__private_access_key[n];else try{let i=await this.requestPrivateRecordAccessKey({record_id:n,reference_id:t?._ref});e+="&p="+i}catch(e){}}}if("endpoint"===t?.dataType)return t._update&&(t._update.url=e),e;if("download"===t?.dataType){let t=document.createElement("a");return t.href=e,document.body.appendChild(t),t.setAttribute("download",u),t.target="_blank",t.click(),document.body.removeChild(t),null}return new Promise((async(n,i)=>{try{let i=await Qe.bind(this)(e,null,{method:"get",contentType:null,responseType:"text"===t?.dataType?"text":"blob",fetchOptions:{progress:t?.progress}},{ignoreService:!0});if("base64"===t?.dataType){const e=new FileReader;e.onloadend=()=>n(e.result),e.readAsDataURL(i)}else n(i)}catch(e){i(e)}}))}async function ut(e,t=!1){e=oe(e,{ignoreEmpty:!0}).data,"string"==typeof e?.table&&(e.table={name:e.table,access_group:0});let n="",i=function(e){if(!e.record_id&&!e.unique_id)return null;let t={};return e?.service&&(t.service=e.service),e?.owner&&(t.owner=e.owner),e?.record_id?t.record_id=ue.specialChars(e.record_id,"record_id",!1,!1):e?.unique_id&&(t.unique_id=e.unique_id),t}(e);if(i)n=(e=i).record_id||e.unique_id,"string"==typeof n&&("string"==typeof this.__private_access_key?.[n]&&(e.private_key=this.__private_access_key?.[n]||void 0),this.__my_unique_ids[n]&&(t?delete this.__my_unique_ids[n]:(e.record_id=this.__my_unique_ids[n],delete e.unique_id)));else{let t=await Se.bind(this)(),i=e.reference,r="";i?.record_id||i?.unique_id?(n=i.record_id||i.unique_id,"string"==typeof this.__private_access_key?.[n]&&(e.private_key=this.__private_access_key?.[n]||void 0),this.__my_unique_ids[n]&&(e.record_id=this.__my_unique_ids[n],delete e.unique_id)):i?.user_id&&(r=i.user_id),e=ue.Params(e||{},st.bind(this)(e),r||t?[]:["table"],{ignoreEmpty:!0})}return{query:e,is_reference_fetch:n}}async function lt(e,t){await this.__connection;let n=await ut.bind(this)(e),i=n.is_reference_fetch;i&&"string"==typeof this.__private_access_key[i]&&(n.query.private_key=this.__private_access_key[i]||void 0);let r=await Qe.bind(this)("get-records",n.query,{fetchOptions:t,auth:!!this.__user,method:this.__user?"post":"get"});i&&r?.reference_private_key&&"string"==typeof r.reference_private_key&&(this.__private_access_key[i]=r.reference_private_key);for(let e in r.list)r.list[e]=ot.bind(this)(r.list[e]);return r.list=await Promise.all(r.list),r}async function ht(e,t){await this.__connection;let n="";if(!t)throw new te('"config" argument is required.',{code:"INVALID_PARAMETER"});if(!this.__user)throw new te("Login is required.",{code:"INVALID_REQUEST"});"string"==typeof t.table&&(t.table={name:t.table},t.record_id||(t.table.access_group=0));let i=e=>{if(null===e)return null;if("number"==typeof e){if(0>e)throw new te('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(e>4503599627370546)throw new te('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return e}throw new te('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})};t.table?.subscription&&(t.table?.subscription?.is_subscription_record?Object.assign(t.table.subscription,{group:1}):!1!==t.table?.subscription?.is_subscription_record&&(t.record_id||t.table.subscription?.is_subscription_record)||Object.assign(t.table.subscription,{group:null}),delete t.table.subscription?.is_subscription_record);let r=ue.Params(t||{},{record_id:["string",()=>{if(!t.table||!t.table.name)throw new te('"table.name" is required.',{code:"INVALID_PARAMETER"})}],unique_id:"string",readonly:"boolean",table:{name:e=>tt(e,"table name",!0,!0),subscription:{group:e=>1===e?1:null,exclude_from_feed:"boolean",notify_subscribers:"boolean",feed_referencing_records:"boolean",notify_referencing_records:"boolean"},access_group:nt.bind(this)},source:{referencing_limit:i,prevent_multiple_referencing:"boolean",can_remove_referencing_records:"boolean",only_granted_can_reference:"boolean",referencing_index_restrictions:e=>{if(void 0===e)return;if(!e)return null;if(Array.isArray(e)&&!e.length)return null;let t={name:[e=>tt(e,'"name" in "index_restrictions"',!0,!1)],value:e=>rt(e),condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne",()=>null],range:t=>{if(null!==t&&typeof e.value!=typeof t)throw new te('Index restriction "range" type should match the type of "value".',{code:"INVALID_PARAMETER"});if(!e.hasOwnProperty("value"))throw new te('Index restriction "value" is required.',{code:"INVALID_PARAMETER"});if(e.condition&&("eq"!==e.condition||"="!==e.condition))throw new te('Index restriction "condition" cannot be used with "range".',{code:"INVALID_PARAMETER"});return t}};return Array.isArray(e)||(e=[e]),e.map((e=>ue.Params(e,t)))}},reference:e=>{if(null===e)return{record_id:null};if(e){if("string"==typeof e)return n=e,this.__my_unique_ids[e]?this.__my_unique_ids[e]:e;if("object"!=typeof e)throw new te('"reference" should be type: <string | object>.',{code:"INVALID_PARAMETER"});return ue.Params(e,{unique_id:"string",record_id:e=>null==e?e:(n=e,"string"==typeof this.__private_access_key?.[e]&&(t.reference_private_key=this.__private_access_key[e]||void 0),ue.specialChars(e,'"reference.record_id"',!1,!1)),reference_limit:i,allow_multiple_reference:"boolean"})}},index:{name:e=>tt(e,"index.name",!0,!1),value:e=>rt(e)},tags:e=>null==e?e:("string"==typeof e&&(e=e.split(",").map((e=>e.trim()))),ue.specialChars(e,"tag",!1,!0)),remove_bin:e=>{if(!e)return null;let t=[];if(!Array.isArray(e))throw new te('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});for(let n of e)if("string"==typeof n)t.push(decodeURIComponent(n.split("?")[0]));else{if(!(n.url&&n.size&&n.filename))throw new te('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});{let e=n.url.split("/").slice(0,3).join("/")+"/"+n.path;t.push(e)}}return t},progress:"function"}),s=t.progress||null;delete r.progress;let o={auth:!0},a=null,c=null,u=oe(e);u.files.length&&(c=u.files),a=Object.assign({data:u.data},r);let l={};"function"==typeof s&&(l.progress=s),Object.keys(l).length&&Object.assign(o,{fetchOptions:l});let h=await Qe.bind(this)("post-record",a,o);if(c){let e=new FormData;for(let t of c)e.append(t.name,t.file,t.file.name);let t={record_id:h.rec,progress:s};r.hasOwnProperty("service")&&(t.service=r.service);let{bin_endpoints:n}=await ze.bind(this)(e,t);h.bin?h.bin.push(...n):h.bin=n}n&&"string"==typeof h?.reference_private_key&&(this.__private_access_key[n]=h.reference_private_key);let d=await ot.bind(this)(h);return this.__iPosted[d.record_id]=d,d.unique_id&&(this.__my_unique_ids[d.unique_id]=d.record_id),d}async function dt(e,t){let n=await Qe.bind(this)("get-table",ue.Params(e||{},{table:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t})),i={cnt_rec:"number_of_records",tbl:"table",srvc:"service"};if(Array.isArray(n?.list))for(let e of n.list)for(let t in i)e.hasOwnProperty(t)&&(e[i[t]]=e[t],delete e[t]);return n}async function ft(e,t){if(!e?.table)throw new te('"table" is required.',{code:"INVALID_PARAMETER"});let n=ue.Params(e||{},{table:"string",index:e=>ue.specialChars(e,"index name",!0,!1),order:{by:["average_number","total_number","number_count","average_bool","total_bool","bool_count","string_count","index_name","number_of_records"],value:["string","number","boolean"],condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}},["table"]);if(n.hasOwnProperty("order")){if(!n.order?.by)throw new te('"order.by" is required.',{code:"INVALID_PARAMETER"});if(n.order.hasOwnProperty("condition")&&!n.order.hasOwnProperty("value"))throw new te('"value" is required for "condition".',{code:"INVALID_PARAMETER"});if(n.hasOwnProperty("index")&&"."!==n.index.substring(n.index.length-1))throw new te('"index" should be a parent index name of the compound index when using "order.by"',{code:"INVALID_PARAMETER"})}let i=await Qe.bind(this)("get-index",n,Object.assign({auth:!!this.__user},{fetchOptions:t})),r={cnt_bool:"boolean_count",cnt_numb:"number_count",totl_numb:"total_number",totl_bool:"total_bool",avrg_numb:"average_number",avrg_bool:"average_bool",cnt_str:"string_count"};return Array.isArray(i?.list)&&(i.list=i.list.map((e=>{let t=e.idx.split("/"),n={table:t[1],index:t[2],number_of_records:e.cnt_rec};for(let t in r)e?.[t]&&(n[r[t]]=e[t]);return n}))),i}async function pt(e,t){let n=await Qe.bind(this)("get-tag",ue.Params(e||{},{table:"string",tag:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t}));if(Array.isArray(n?.list))for(let e in n.list){let t=n.list[e],i=t.tag.split("/");n.list[e]={table:i[1],tag:i[0],number_of_records:t.cnt_rec}}return n}async function gt(e){await this.__connection;let t=await ut.bind(this)(e,!0),n=t.is_reference_fetch,i=await Qe.bind(this)("del-records",t.query,{auth:!0});return n&&"string"==typeof i?.reference_private_key&&(this.__private_access_key[n]=i.reference_private_key),i?.message||i}function _t(e){return e=ue.Params(e,{record_id:"string",user_id:e=>{if(!e)throw new te("User ID is required.",{code:"INVALID_PARAMETER"});let t=e;if("string"==typeof t&&(t=[t]),t.length>100)throw new te("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of t)ue.UserId(e,'User ID in "user_id"');return t}},["record_id","user_id"],{ignoreEmpty:!0}),bt.bind(this)({record_id:e.record_id,user_id:e.user_id,execute:"add"})}function mt(e){if(!e.record_id)throw new te("Record ID is required.",{code:"INVALID_PARAMETER"});if(!e.user_id||Array.isArray(e.user_id)&&!e.user_id.length)throw new te("User ID is required.",{code:"INVALID_PARAMETER"});return bt.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"remove"})}async function yt(e){let t=await bt.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"list"});return t.list=t.list.map((e=>(e.record_id=e.rec_usr.split("/")[0],e.user_id=e.rec_usr.split("/")[1],e))),t}function wt(e){let t=e.record_id,n=e.reference_id||void 0;if(!t)throw new te("Record ID is required.",{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new te("Record ID should be type: <string | string[]>",{code:"INVALID_PARAMETER"});if(n&&"string"!=typeof n)throw new te("Reference ID should be type: <string>",{code:"INVALID_PARAMETER"});if(this.__private_access_key[t])return this.__private_access_key[t];let i=Qe.bind(this)("request-private-access-key",{record_id:t,reference_id:n},{auth:!0});return this.__private_access_key[t]=i,i}function bt(e){let t=e.execute,n=ue.Params(e,{record_id:"string",user_id:e=>{if(!e){if("list"==t)return null;throw new te("User ID is required.",{code:"INVALID_PARAMETER"})}let n=e;if("string"==typeof n&&(n=[n]),n.length>100)throw new te("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of n)ue.UserId(e,'User ID in "user_id"');return n},execute:["add","remove","list"]},["execute","record_id","user_id"]);return n.user_id||(n.user_id=null),Qe.bind(this)("grant-private-access",n,{auth:!0})}const At={},vt={},St={},Et={},It={};let Tt={},Rt={};function Dt(e,t,n){e[t]||(e[t]=[]),e[t].push(n)}async function Ut(e,t,n){let i=[];if(e[t]){for(let r of e[t])if(r){let e=n(r);e instanceof Promise&&(e=await e),i.push(e)}delete e[t]}return i}async function Ct(e,t){if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});let n=await this.__socket;async function i(e,t,n){this.log("answerSdpOffer from",t),await At[t].setRemoteDescription(new RTCSessionDescription(e));const i=await At[t].createAnswer();await At[t].setLocalDescription(i),n.send(JSON.stringify({action:"rtc",uid:t,content:{sdpanswer:i},token:this.session.accessToken.jwtToken}))}At?.[t]?e?(await Ut(Rt,t,(e=>i.bind(this)(e,t,n))),await i.bind(this)(e,t,n)):await Ut(Rt,t,(e=>i.bind(this)(e,t,n))):e&&Dt(Rt,t,e)}async function Pt(e,t){if(this.log("receiveIceCandidate",e),At?.[t]&&At[t]?.remoteDescription&&At[t]?.remoteDescription?.type){if(!e)return Ut(Tt,t,(e=>At[t].addIceCandidate(e)));await Ut(Tt,t,(e=>At[t].addIceCandidate(e))),await At[t].addIceCandidate(e)}else Dt(Tt,t,e)}async function kt(e){ue.Params(e,{cid:e=>{if("string"!=typeof e)throw new te('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(e&&"cid:"!==e.slice(0,4))throw new te('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return e},close:"boolean"});let t=await this.__socket,{cid:n,close_all:i=!1}=e||{};if(!i&&!n)throw new te('"cid" is required.',{code:"INVALID_PARAMETER"});let r=e=>{if(!e)throw new te('"cid" is required.',{code:"INVALID_PARAMETER"});if(delete Rt[e],delete Tt[e],vt[e]&&Object.values(vt[e]).forEach((e=>{"closed"!==e.readyState&&e.close()})),delete vt[e],At?.[e]){"closed"!==At[e].connectionState&&(At[e].close(),t.send(JSON.stringify({action:"rtc",uid:e,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})));let n={type:"connectionstatechange",target:At[e],timestamp:(new Date).toISOString(),state:At[e].connectionState,iceState:At[e].iceConnectionState,signalingState:At[e].signalingState};It[e]&&It[e](n),this.log("closeRTC",n)}delete It[e],delete Et[e],delete St[e],delete At[e]};if(i)for(let e in At)r(e);else r(n)}async function Nt(e,t){if("function"!=typeof t)throw new te("Callback is required.",{code:"INVALID_PARAMETER"});if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});e=ue.Params(e,{cid:e=>{if("string"!=typeof e)throw new te('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(e&&"cid:"!==e.slice(0,4))throw new te('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return e},ice:["string",()=>"stun:stun.skapi.com:3468"],media:e=>e,channels:["text-chat","file-transfer","video-chat","voice-chat","gaming",{ordered:"boolean",maxPacketLifeTime:"number",maxRetransmits:"number",protocol:"string"},()=>[{ordered:!0,maxPacketLifeTime:10,protocol:"default"}]]},["cid"]);let{cid:n,ice:i}=e;if(!(e?.media instanceof MediaStream)&&(e?.media?.video||e?.media?.audio)&&"localhost"!==location.hostname&&"https:"!==location.protocol)throw new te("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let r=this.__socket?await this.__socket:this.__socket;if(!r)throw new te("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(1!==r.readyState)throw new te("Realtime connection is not ready.",{code:"INVALID_REQUEST"});const s={iceServers:[{urls:i}]};if(At?.[n]||(At[n]=new RTCPeerConnection(s)),e?.media){if(e?.media instanceof MediaStream||this.__mediaStream)this.__mediaStream=this.__mediaStream||e.media;else try{(e?.media?.video||e?.media?.audio)&&(this.__mediaStream=await navigator.mediaDevices.getUserMedia({video:e?.media?.video,audio:e?.media?.audio}))}catch(e){throw"NotFoundError"===e?.name?new te("Requested media device not found.",{code:"DEVICE_NOT_FOUND"}):e}this.__mediaStream&&this.__mediaStream.getTracks().forEach((e=>{At[n].addTrack(e,this.__mediaStream)}))}It[n]=t,vt[n]||(vt[n]={});for(let t=0;t<e.channels.length;t++){let i=e.channels[t];if("string"==typeof i)switch(i){case"text-chat":i={ordered:!0,maxRetransmits:10,protocol:"text-chat"};break;case"file-transfer":i={ordered:!1,maxPacketLifeTime:3e3,protocol:"file-transfer"};break;case"video-chat":i={ordered:!0,maxRetransmits:10,protocol:"video-chat"};break;case"voice-chat":i={ordered:!0,maxRetransmits:10,protocol:"voice-chat"};break;case"gaming":i={ordered:!1,maxPacketLifeTime:100,protocol:"gaming"};break;default:i={ordered:!0,maxRetransmits:10,protocol:"default"}}let r=i.protocol||"default";if(Object.keys(vt[n]).includes(r))throw new te(`Data channel with the protocol "${r}" already exists.`,{code:"INVALID_REQUEST"});let s=At[n].createDataChannel(r,i);vt[n][r]=s}for(let e in vt[n]){let t=vt[n][e];xt.bind(this)(n,t)}return Vt.bind(this)(n,["onnegotiationneeded"]),await Ot.bind(this)(n),{hangup:()=>St[n]&&St[n](!1),connection:new Promise((e=>{St[n]=(t=>{if(this.log("receiver picked up the call",n),!t)return kt.bind(this)({cid:n}),null;At[n].onnegotiationneeded=()=>{this.log("onnegotiationneeded",`sending offer to "${n}".`),Ot.bind(this)(n),It[n]&&It[n]({type:"negotiationneeded",target:At[n],timestamp:(new Date).toISOString(),signalingState:At[n].signalingState,connectionState:At[n].iceConnectionState,gatheringState:At[n].iceGatheringState})},e({target:At[n],channels:vt[n],hangup:()=>kt.bind(this)({cid:n}),media:this.__mediaStream})}).bind(this)}))}}function Lt(e){return async(t,n)=>{t=oe(t=t||{}).data;let i=e.sender_cid,r=await this.__socket;if(!Et[i])return null;if("function"!=typeof n)throw new te("Callback is required.",{code:"INVALID_PARAMETER"});if(!(t?.media instanceof MediaStream)&&(t?.media?.video||t?.media?.audio)&&"localhost"!==location.hostname&&"https:"!==location.protocol)throw new te("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let{ice:s="stun:stun.skapi.com:3468"}=t;return At?.[i]||(At[i]=new RTCPeerConnection({iceServers:[{urls:s}]})),t?.media&&(t?.media instanceof MediaStream||this.__mediaStream?this.__mediaStream=this.__mediaStream||t.media:(t?.media?.video||t?.media?.audio)&&(this.__mediaStream=await navigator.mediaDevices.getUserMedia({video:t?.media?.video,audio:t?.media?.audio})),this.__mediaStream&&this.__mediaStream.getTracks().forEach((e=>{At[i].addTrack(e,this.__mediaStream)}))),delete Et[i],It[i]=n,vt[i]||(vt[i]={}),At[i].ondatachannel=e=>{this.log("ondatachannel",`received data channel "${e.channel.label}".`);const t=e.channel;vt[i][t.label]=t,xt.bind(this)(i,t)},Vt.bind(this)(i,["onnegotiationneeded"]),await Ct.bind(this)(null,i),await Pt.bind(this)(null,i),r.send(JSON.stringify({action:"rtc",uid:i,content:{pickup:this.user.user_id},token:this.session.accessToken.jwtToken})),{target:At[i],channels:vt[i],hangup:()=>kt.bind(this)({cid:i}),media:this.__mediaStream}}}async function Ot(e){if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendOffer",e);let t=await this.__socket;const n=await At[e].createOffer();await At[e].setLocalDescription(n);let i=At[e].localDescription;this.log("rtcSdpOffer to",i),t.send(JSON.stringify({action:"rtc",uid:e,content:{sdpoffer:i},token:this.session.accessToken.jwtToken}))}async function Mt(e,t){if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendIceCandidate to",t);let n=await this.__socket;if(!e.candidate)return void this.log("candidate-end","all ice candidates have been sent");let i=It[t]||(()=>{}),r=e.candidate;this.log("ice gathering state set to",At[t].iceGatheringState),i({type:"icecandidate",target:At[t],timestamp:(new Date).toISOString(),candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex,usernameFragment:e.candidate.usernameFragment,protocol:e.candidate.protocol,gatheringState:At[t].iceGatheringState,connectionState:At[t].iceConnectionState}),n.send(JSON.stringify({action:"rtc",uid:t,content:{candidate:r},token:this.session.accessToken.jwtToken}))}function Vt(e,t){let n=new Set(t),i=It[e]||(e=>{}),r=At[e];const s={ontrack:e=>{i({type:"track",target:r,timeStamp:e.timeStamp,streams:e.streams,track:e.track})},onicecandidate:t=>{Mt.bind(this)(t,e),t.candidate?i({type:"icecandidate",target:r,timestamp:(new Date).toISOString(),candidate:t.candidate.candidate,sdpMid:t.candidate.sdpMid,sdpMLineIndex:t.candidate.sdpMLineIndex,usernameFragment:t.candidate.usernameFragment,protocol:t.candidate.protocol,gatheringState:r.iceGatheringState,connectionState:r.iceConnectionState}):i({type:"icecandidateend",target:r,timestamp:(new Date).toISOString()})},onicecandidateerror:e=>{i({type:"icecandidateerror",target:r,timestamp:(new Date).toISOString(),errorCode:e.errorCode,errorText:e.errorText,url:e.url,hostCandidate:e.hostCandidate,gatheringState:r.iceGatheringState,connectionState:r.iceConnectionState})},oniceconnectionstatechange:()=>{i({type:"iceconnectionstatechange",target:r,timestamp:(new Date).toISOString(),state:r.iceConnectionState,gatheringState:r.iceGatheringState,signalingState:r.signalingState})},onicegatheringstatechange:()=>{i({type:"icegatheringstatechange",target:r,timestamp:(new Date).toISOString(),state:r.iceGatheringState,connectionState:r.iceConnectionState,signalingState:r.signalingState})},onsignalingstatechange:()=>{i({type:"signalingstatechange",target:r,timestamp:(new Date).toISOString(),state:r.signalingState,connectionState:r.iceConnectionState,gatheringState:r.iceGatheringState})},onnegotiationneeded:()=>{Ot.bind(this)(e),i({type:"negotiationneeded",target:r,timestamp:(new Date).toISOString(),signalingState:r.signalingState,connectionState:r.iceConnectionState,gatheringState:r.iceGatheringState})},onconnectionstatechange:()=>{i({type:"connectionstatechange",target:r,timestamp:(new Date).toISOString(),state:r.connectionState,iceState:r.iceConnectionState,signalingState:r.signalingState});let t=r.connectionState;"disconnected"!==t&&"failed"!==t&&"closed"!==t||kt.bind(this)({cid:e})}};for(const[e,t]of Object.entries(s))n.has(e)||(r[e]=t)}function xt(e,t,n){let i=new Set(n),r=It[e]||(e=>{});const s={onmessage:e=>{let n={type:e.type,target:t,timeStamp:e.timeStamp,data:e.data,lastEventId:e.lastEventId,origin:e.origin,readyState:t.readyState,bufferedAmount:t.bufferedAmount};this.log(`${t.label}: message`,e.data),r(n)},onerror:e=>{let n={type:e.type,target:t,timeStamp:e.timeStamp,error:e.error.message,errorCode:e.error.errorDetail,readyState:t.readyState,label:t.label};this.log(`${t.label}: error`,e.error.message),r(n)},onclose:n=>{let i={type:n.type,target:t,timeStamp:n.timeStamp,readyState:t.readyState,label:t.label,id:t.id};this.log(`${t.label}: closed`,null),r(i),vt[e]&&(delete vt[e][t.label],0===Object.keys(vt[e]).length&&kt.bind(this)({cid:e}))},onbufferedamountlow:e=>{let n={target:t,bufferedAmount:t.bufferedAmount,bufferedAmountLowThreshold:t.bufferedAmountLowThreshold,type:e.type,timeStamp:e.timeStamp};this.log(`${t.label}: bufferedamountlow`,t.bufferedAmount),r(n)},onopen:e=>{this.log("dataChannel",`data channel: "${t.label}" is open and ready to send messages.`);let n={type:e.type,target:t,timeStamp:e.timeStamp,readyState:t.readyState,label:t.label,id:t.id,ordered:t.ordered,maxRetransmits:t.maxRetransmits,protocol:t.protocol};r(n)}};for(const[e,n]of Object.entries(s))i.has(e)||(t[e]=n)}let Ft,qt={},$t=null;async function Bt(){if(await this.getProfile(),!this.session)throw new te("No access.",{code:"INVALID_REQUEST"});let e=await this.record_endpoint;return new WebSocket(e.websocket_private+"?token="+this.session.accessToken.jwtToken)}async function jt(e,t=10){if("function"!=typeof e)throw new te("Callback must be a function.",{code:"INVALID_REQUEST"});if(this.__socket instanceof Promise)return this.__socket;this.__socket=new Promise((async n=>{await me.bind(this)(),setTimeout((async()=>{let t=await Bt.bind(this)();t.onopen=()=>{this.log("realtime onopen","Connected to WebSocket server."),e({type:"success",message:"Connected to WebSocket server."}),Ft&&t.send(JSON.stringify({action:"joinRoom",rid:Ft,token:this.session.accessToken.jwtToken}));const i=new Blob(['\n let interval = 30000; // Set interval time\n\n function runInterval() {\n postMessage({ type: "ping" });\n setTimeout(runInterval, interval); // Use setTimeout instead of setInterval\n }\n\n runInterval(); // Start interval\n '],{type:"application/javascript"});$t=new Worker(URL.createObjectURL(i)),$t.onmessage=e=>{1===t.readyState&&t.send(JSON.stringify({action:"keepAlive",token:this.session.accessToken.jwtToken}))},n(t)},t.onmessage=async n=>{let i,r="";try{r=JSON.parse(decodeURI(n.data)),this.log("socket onmessage",r)}catch(e){return}switch(!0){case!!r?.["#message"]:i="message";break;case!!r?.["#private"]:i="private";break;case!!r?.["#notice"]:i="notice";break;case!!r?.["#rtc"]:i="rtc";break;case!!r?.["#error"]:i="error"}let s={type:i,message:r?.["#rtc"]||r?.["#message"]||r?.["#private"]||r?.["#notice"]||r?.["#error"]||null,sender:r["#user_id"]?r["#user_id"]:null,sender_cid:r?.["#scid"]?"cid:"+r["#scid"]:null,sender_rid:r?.["#srid"]?r["#srid"]:null};if("notice"===i){if(Ft&&(s.message.includes("has left the message group.")||s.message.includes("has been disconnected."))){let e=s.sender;if(qt?.[Ft]?.[e]&&(qt[Ft][e]=qt[Ft][e].filter((e=>e!==s.sender_cid))),qt?.[Ft]?.[e]&&0===qt[Ft][e].length&&delete qt[Ft][e],qt?.[Ft]?.[e])return}else if(Ft&&s.message.includes("has joined the message group.")){let e=s.sender;if(qt?.[Ft]||(qt[Ft]={}),qt[Ft][e])return void(qt[Ft][e].includes(s.sender_cid)||qt[Ft][e].push(s.sender_cid));qt[Ft][e]=[s.sender_cid]}e(s)}else if("rtc"===i){if(s.sender!==this.user.user_id){let n=s.message;if(n.hungup)return St[s.sender_cid]&&(St[s.sender_cid](!1),delete St[s.sender_cid]),Et[s.sender_cid]&&delete Et[s.sender_cid],At?.[s.sender_cid]&&kt.bind(this)({cid:s.sender_cid}),s.type="rtc:closed",void e(s);if(n.candidate&&Pt.bind(this)(n.candidate,s.sender_cid),n.sdpoffer&&(Ct.bind(this)(n.sdpoffer,s.sender_cid),Et[s.sender_cid]||(Et[s.sender_cid]=s.sender_cid,delete s.message,s.connectRTC=Lt.bind(this)(s),s.type="rtc:incoming",s.hangup=(()=>{At[s.sender_cid]?kt.bind(this)({cid:s.sender_cid}):Et[s.sender_cid]&&(delete Et[s.sender_cid],t.send(JSON.stringify({action:"rtc",uid:s.sender_cid,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})))}).bind(this),e(s))),n.pickup&&St[s.sender_cid]&&(St[s.sender_cid](!0),delete St[s.sender_cid]),n.sdpanswer&&At[s.sender_cid]){if("have-local-offer"!==At[s.sender_cid].signalingState)throw new te("Invalid signaling state.",{code:"INVALID_REQUEST"});await At[s.sender_cid].setRemoteDescription(new RTCSessionDescription(n.sdpanswer))}}}else e(s)},t.onclose=t=>{t.wasClean?(this.log("realtime onclose","WebSocket connection closed."),e({type:"close",message:"WebSocket connection closed."}),Kt.bind(this)()):(this.log("realtime onclose","WebSocket connection error. Max reconnection attempts reached."),e({type:"error",message:"Skapi: WebSocket unexpected close."}),Kt.bind(this)())},t.onerror=()=>{this.log("realtime onerror","WebSocket connection error."),e({type:"error",message:"Skapi: WebSocket connection error."})}}),t)}))}async function Kt(){let e=this.__socket?await this.__socket:this.__socket;kt.bind(this)({close_all:!0}),$t&&($t.terminate(),$t=null);try{e&&e.close()}catch(e){}return this.__socket=null,Ft=null,null}async function Ht(e,t,n){let i=this.__socket?await this.__socket:this.__socket;if(!i)throw new te("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(!t)throw new te("No recipient.",{code:"INVALID_REQUEST"});await me.bind(this)(),e=oe(e).data;let r="";if(n&&(n=ue.Params(n,{title:"string",body:"string"},["title","body"]),r=JSON.stringify(n),new Blob([r]).size>3072))throw new te("Notification size exceeds 3kb.",{code:"INVALID_PARAMETER"});if(1===i.readyState){try{ue.UserId(t),i.send(JSON.stringify({action:"sendMessage",uid:t,content:e,notification:r,token:`IdT:${this.service}:${this.owner}:`+(this.session?.idToken?.jwtToken||"null")}))}catch(n){if(this.log("postRealtime:err",{err:n}),Ft!==t)throw new te(`User has not joined to the recipient group. Run joinRealtime({ group: "${t}" })`,{code:"INVALID_REQUEST"});i.send(JSON.stringify({action:"broadcast",rid:t,content:e,notification:r,token:`IdT:${this.service}:${this.owner}:`+(this.session?.idToken?.jwtToken||"null")}))}return{type:"success",message:"Message sent."}}throw new te("Realtime connection is not open. Try reconnecting with connectRealtime().",{code:"INVALID_REQUEST"})}async function Jt(e){let t=this.__socket?await this.__socket:this.__socket;if(!t)throw new te("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});await me.bind(this)(),e=oe(e,{nullIfEmpty:!0}).data;let{group:n=null}=e;if(!n&&!Ft)return{type:"success",message:"Left realtime message group."};if(null!==n&&"string"!=typeof n)throw new te('"group" must be a string | null.',{code:"INVALID_PARAMETER"});return t.send(JSON.stringify({action:"joinRoom",rid:n,token:this.session.accessToken.jwtToken})),Ft=n,{type:"success",message:n?`Joined realtime message group: "${n}".`:"Left realtime message group."}}async function Qt(e,t){e=ue.Params(e,{user_id:e=>ue.UserId(e,'User ID in "user_id"'),group:["string",()=>{if(!Ft)throw new te('No group has been joined. Otherwise "group" is required.',{code:"INVALID_REQUEST"});return Ft}]});let n=await Qe.bind(this)("get-ws-group",e,{fetchOptions:t,auth:!0,method:"post"});return n.list=n.list.map((t=>{let n=t.uid.split("#")[1];return e.user_id||(qt[e.group]||(qt[e.group]={}),qt[e.group][n]?qt[e.group][n].includes(t.cid)||qt[e.group][n].push(t.cid):qt[e.group][n]=[t.cid]),{user_id:n,cid:t.cid}})),n}async function Wt(e,t){if(await this.__connection,e||(e={searchFor:"group"}),(e=ue.Params(e,{searchFor:["group","number_of_users",()=>"group"],value:["string","number",()=>e?.searchFor&&"number_of_users"===e?.searchFor?0:" "],condition:[">",">=","=","<","<=","!=","gt","gte","eq","lt","lte","ne"],range:["string","number"]})).condition||(" "!==e.value&&e.value?e.condition="=":e.condition=">"),e.range&&e.condition&&delete e.condition,"number_of_users"===e.searchFor&&"number"!=typeof e.value)throw new te('"value" must be a number.',{code:"INVALID_PARAMETER"});if("group"===e.searchFor&&"string"!=typeof e.value)throw new te('"value" must be a string.',{code:"INVALID_PARAMETER"});if(e.hasOwnProperty("range")&&typeof e.range!=typeof e.value)throw new te(`"range" must be a ${typeof e.value}.`,{code:"INVALID_PARAMETER"});let n=await Qe.bind(this)("get-ws-group",e,{fetchOptions:t,auth:!0,method:"post"});return n.list=n.list.map((e=>({group:e.rid.split("#")[1],number_of_users:e.cnt}))),n}async function Yt(e){let t=!1,n=e=>{for(let n in e)if("string"==typeof e[n]&&e[n].includes("$CLIENT_SECRET")){t=!0;break}};if(e=ue.Params(e,{url:e=>{if(!e||"string"!=typeof e)throw new te('"url" should be type: <string>.',{code:"INVALID_PARAMETER"});return ue.Url(e),e.includes("$CLIENT_SECRET")&&(t=!0),e},clientSecretName:"string",method:e=>{if(e&&"string"!=typeof e)throw new te('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});let t=e.toLowerCase();if("get"!==t&&"post"!==t&&"delete"!==t&&"put"!==t)throw new te('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});return t},headers:e=>{if(e&&"object"!=typeof e)throw new te('"headers" should be type: <object>.',{code:"INVALID_PARAMETER"});return n(e),e},data:e=>{if(e&&"object"!=typeof e)throw new te('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return n(e),e},params:e=>{if(e&&"object"!=typeof e)throw new te('"params" should be type: <object>.',{code:"INVALID_PARAMETER"});return n(e),e}},["clientSecretName","method","url"]),!t)throw new te(`At least one parameter value should include "$CLIENT_SECRET" in ${"post"===e.method.toLowerCase()?'"data"':'"params"'} or "headers".`,{code:"INVALID_PARAMETER"});await this.__connection;let i=!!this.__user;return Qe.bind(this)("client-secret-request"+(i?"-public":""),e,{auth:i})}async function Gt(e){await this.__connection;let t={name:"string",email:e=>(ue.Email(e),e),subject:"string",message:"string"};return e=ue.Params(e,t,["name","email","subject","message"]),await Qe.bind(this)("send-inquiry",e),"SUCCESS: Inquiry has been sent."}async function zt(e,t){if(await this.__connection,e instanceof FormData||e instanceof HTMLFormElement||e instanceof SubmitEvent){if(!t)throw new te("Url string as a second argument is required when form is passed.",{code:"INVALID_PARAMETER"});e={url:t,data:oe(e).data,sync:!0}}let n={url:e=>ue.Url(e),data:e=>e,sync:["boolean",()=>!0]};if(Array.isArray(e))for(let t of e)t=ue.Params(t,n);else e=ue.Params(e,n);return Qe.bind(this)("post-secure",e,{auth:!0})}async function Zt(e,t){await this.__connection;let{auth:n=!1,method:i="POST",bypassAwaitConnection:r=!1,responseType:s,contentType:o,progress:a}=t||{};if(t=Object.assign({auth:n,method:i,bypassAwaitConnection:r,responseType:s,contentType:o},{fetchOptions:{progress:a}}),"object"!=typeof e&&("application/json"===o||void 0===o))throw new te('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return Qe.bind(this)("mock",e,t)}async function Xt(e,t){await this.__connection,e=ue.Params(e||{},{access_group:e=>{if("number"!=typeof e)throw new te('"access_group" should be type number.',{code:"INVALID_PARAMETER"});if(e<0)throw new te('"access_group" should be zero or a positive number.',{code:"INVALID_PARAMETER"});if(e>this.__user.access_group)throw new te("User has no access.",{code:"INVALID_REQUEST"});return e}});let n=await Qe.bind(this)("get-feed",e,{auth:!0,fetchOptions:t});for(let e in n.list)n.list[e]=await ot.bind(this)(n.list[e]);return n}function en(e){if(e===this.__user.user_id)throw new te('"user_id" cannot be the user\'s own ID.',{code:"INVALID_PARAMETER"});return ue.UserId(e,'"user_id"')}async function tn(e,t){if(e=oe(e,{ignoreEmpty:!0}).data,!(e=ue.Params(e,{subscriber:e=>ue.UserId(e,'User ID in "subscriber"'),subscription:en.bind(this),blocked:"boolean"})).subscriber&&!e.subscription)throw new te('At least either "subscriber" or "subscription" should have a value.',{code:"INVALID_PARAMETER"});let n=await Qe.bind(this)("get-subscription",e,Object.assign({auth:!0},{fetchOptions:t}));return n.list=n.list.map((e=>{let t={},n=e.sub.split("#");return t.subscriber=n[2],t.subscription=n[0],t.timestamp=e.stmp,t.blocked="N"===e.grp.substring(0,1),Object.assign(t,e.opt),t})),n}async function nn(e){return await this.__connection,e=ue.Params(e,{user_id:en.bind(this),get_feed:["boolean",()=>!1],get_notified:["boolean",()=>!1],get_email:e=>{if(e&&!this.__user.email||!this.__user.email_verified)throw new te("User has no verified email address.",{code:"INVALID_REQUEST"});return!!e}},["user_id"]),await Qe.bind(this)("subscription",{subscribe:e.user_id,option:{get_feed:e.get_feed,get_notified:e.get_notified,get_email:e.get_email||!1}},{auth:!0})}async function rn(e){return await this.__connection,await Qe.bind(this)("admin-newsletter-request",e,{auth:!0})}async function sn(e){await this.__connection;let{user_id:t}=ue.Params(e,{user_id:en.bind(this)},["user_id"]);return await Qe.bind(this)("subscription",{unsubscribe:t},{auth:!0})}async function on(e){await this.__connection;let{user_id:t}=ue.Params(e,{user_id:en.bind(this)},["user_id"]);return await Qe.bind(this)("subscription",{block:t},{auth:!0})}async function an(e){await this.__connection;let{user_id:t}=ue.Params(e,{user_id:en.bind(this)},["user_id"]);return await Qe.bind(this)("subscription",{unblock:t},{auth:!0})}async function cn(e){await this.__connection;let t=await Se.bind(this)();e=ue.Params(e,{user_id:e=>{if(e!==this.__user.user_id&&!t)throw new te("No access.",{code:"INVALID_REQUEST"});return e},group:e=>{if("public"===e&&(e=0),"authorized"===e&&(e=1),"number"!=typeof e)throw new te('"group" should be type number | "public" | "authorized".',{code:"INVALID_PARAMETER"});return e}});let n=await Qe.bind(this)("get-newsletter-subscription",e,{auth:!0}),i=[];for(let e of n){let t=e.subt.split("#"),n=!0;"@"===t[0].charAt(0)&&(n=!1,t[0]=t[0].substring(1));let r=parseInt(t[0]);i.push({timestamp:e.stmp,group:r,subscribed_email:t[1],active:n})}return i}async function un(e){await this.__connection;let t=ue.Params(e||{},{email:e=>ue.Email(e),group:["number","public","authorized","admin"],redirect:e=>ue.Url(e)},this.__user?["group"]:["email","group"]);return Qe.bind(this)(`subscribe-${this.__user?"":"public-"}newsletter`,t,{auth:!!this.__user})}async function ln(e){await this.__connection,e=ue.Params(e,{group:["number","public","authorized","admin"]},["group"]);let t=Object.assign({action:"unsubscribe"},e);return Qe.bind(this)("subscribe-newsletter",t,{auth:!0})}async function hn(e,t){let n=await Se.bind(this)(),i={message_id:"string",timestamp:"number",read:"number",complaint:"number",subject:"string"};e||(t=Object.assign({ascending:!1},t||{})),e=(e=oe(e).data)||{searchFor:"timestamp",value:Date.now(),condition:"<",group:"public"};let r=0===(e=ue.Params(e,{searchFor:["message_id","timestamp","read","complaint","group","subject"],value:t=>{if(typeof t!==i[e.searchFor])throw new te(`"value" type does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});if("string"==typeof t&&!t)throw new te('"value" should not be empty string.',{code:"INVALID_PARAMETER"});return t},range:t=>{if(!e.hasOwnProperty("value")||typeof t!=typeof e.value)throw new te('"range" should match type of "value".',{code:"INVALID_PARAMETER"});return t},condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],group:e=>{if("public"===e)return 0;if(!this.session)throw new te("User should be logged in.",{code:"INVALID_REQUEST"});if("authorized"===e)return 1;if("number"==typeof e){if(!n&&e>parseInt(this.session.idToken.payload.access_group))throw new te("User has no access.",{code:"INVALID_REQUEST"});return e}throw new te('"group" should be type: number | "public" | "authorized".',{code:"INVALID_PARAMETER"})}},["searchFor","value","group"])).group?"get-public-newsletters":"get-newsletters",s=await Qe.bind(this)(r,e,Object.assign({method:"get",auth:"get-public-newsletters"!==r||!!this.__user},{fetchOptions:t})),o={message_id:"mid",timestamp:"stmp",complaint:"cmpl",read:"read",subject:"subj",bounced:"bnce",url:"url"},a={message_id:"",timestamp:0,complaint:0,read:0,subject:"",bounced:0,url:""};return s.list=s.list.map((e=>{let t={};for(let n in o)t[n]=e[o[n]]||a[n];return t})),s}async function dn(e){let t=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"')},["user_id"]);if(t=t?.service&&t?.owner?{service:t?.service,owner:t?.owner,block:t.user_id}:{block:t.user_id},!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("block-account",t,{auth:!0})}async function fn(e){let t=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"')},["user_id"]);if(t=t?.service&&t?.owner?{service:t?.service,owner:t?.owner,unblock:t.user_id}:{unblock:t.user_id},!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("block-account",t,{auth:!0})}async function pn(e){let t=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"')},["user_id"]);if(t=t?.service&&t?.owner?{service:t?.service,owner:t?.owner,delete:t.user_id}:{delete:t.user_id},!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("remove-account",t,{auth:!0})}async function gn(e,t){let n={email:e=>ue.Email(e),password:e=>ue.Password(e),name:"string",username:"string",gender:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",birthdate:e=>ue.Birthdate(e),phone_number:e=>ue.PhoneNumber(e),picture:e=>e?ue.Url(e):void 0,profile:e=>e?ue.Url(e):void 0,website:e=>e?ue.Url(e):void 0,nickname:"string",misc:"string",email_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],address_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],openid_id:"string",access_group:e=>{try{"string"==typeof e&&(e="admin"===e?99:parseInt(e))}catch(e){throw new te('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"!=typeof e||e<1||e>100)throw new te('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return e}},i=ue.Params(e,n,["email"]);if(t=ue.Params(t,{confirmation_url:e=>{let t=e;if("string"!=typeof e)throw new te('"options.confirmation_url" should be type: <string>.',{code:"INVALID_PARAMETER"});if(t=ue.Url(e),t&&!i.email)throw new te('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return t},email_subscription:e=>{if("boolean"!=typeof e)throw new te('"options.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!t?.confirmation_url)throw new te('"options.confirmation_url" is required for email subscription.',{code:"INVALID_PARAMETER"});return e}}),i.signup_confirmation=t?.confirmation_url||!0,i.email_subscription=t?.email_subscription||!1,!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("admin-signup",i,{auth:!0})}async function _n(e){let t={email:e=>ue.Email(e),password:e=>ue.Password(e),openid_id:"string",name:"string",username:"string",gender:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",birthdate:e=>ue.Birthdate(e),phone_number:e=>ue.PhoneNumber(e),picture:e=>e?ue.Url(e):"",profile:e=>e?ue.Url(e):"",website:e=>e?ue.Url(e):"",nickname:"string",misc:"string",email_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],address_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],access_group:e=>{try{"string"==typeof e&&(e=parseInt(e))}catch(e){throw new te('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"!=typeof e||e<1||e>100)throw new te('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return e}},n=ue.Params(e,t,["email","password"]);if(!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("admin-signup",n,{auth:!0})}async function mn(e){if(e=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"'),access_group:e=>{try{"string"==typeof e&&(e=parseInt(e))}catch(e){throw new te('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"==typeof e&&e>0&&e<100)return e;throw new te('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"})}},["user_id","access_group"]),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("grant-access",e,{auth:!0})}async function yn(e,t){if(e=ue.Params(e,{email:"string"}),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}let n=await Qe.bind(this)("invitation-list",Object.assign({mode:"search"},e),{fetchOptions:t,auth:!0});return n.list=n.list.map((e=>ae(e.user))),n}async function wn(e){if(e=ue.Params(e,{email:e=>ue.Email(e)},["email"]),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("invitation-list",Object.assign({mode:"cancel"},e),{auth:!0})}async function bn(e){if(e=ue.Params(e,{email:e=>ue.Email(e)},["email"]),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("invitation-list",Object.assign({mode:"resend"},e),{auth:!0})}async function An(e){if(await this.__connection,!e.endpoint)throw new te("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!e.keys||!e.keys.p256dh||!e.keys.auth)throw new te("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await Qe.bind(this)("store-subscription",{endpoint:e.endpoint,keys:e.keys},{auth:!0}),"SUCCESS: Subscribed to receive notifications."}async function vn(e){if(await this.__connection,!e.endpoint)throw new te("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!e.keys||!e.keys.p256dh||!e.keys.auth)throw new te("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await Qe.bind(this)("delete-subscription",{endpoint:e.endpoint,keys:e.keys},{auth:!0}),"SUCCESS: Unsubscribed from notifications."}async function Sn(){return await this.__connection,{VAPIDPublicKey:await Qe.bind(this)("get-vapid-public-key",null,{auth:!0})}}async function En(e,t){await this.__connection;let{title:n,body:i}=oe(e||{},{nullIfEmpty:!0}).data;if(!n)throw new te("Missing parameter: message title",{code:"INVALID_PARAMETER"});if(!i)throw new te("Missing parameter: message body",{code:"INVALID_PARAMETER"});const r={title:n,body:i};return t?("string"==typeof t&&(t=[t]),r.user_ids=t):r.user_ids="all_users",await Qe.bind(this)("push-notification",r,{auth:!0}),"SUCCESS: Notification sent."}async function In(e){return await this.__connection,e=ue.Params(e,{spell:"string",name:"string",magic:"object"},["spell","name"]),await Qe.bind(this)("castspell",e)}async function Tn(e){return await this.__connection,e=ue.Params(e,{search_option:["spell","name"],value:"string",condition:["starts_with","exact"]},["search_option","value","condition"]),await Qe.bind(this)("getspell",e)}async function Rn(e){await this.__connection;let t=await Qe.bind(this)("dopamine",e,{auth:!0}),n=t.previous_message.message,i=t.previous_message.name;alert(`${i} said ${n}`),window.location.href=t.video}var Dn=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o};class Un{get user(){return this.__user&&Object.keys(this.__user).length?JSON.parse(JSON.stringify(this.__user)):null}set user(e){}get onLogin(){return this._onLoginListeners}set onLogin(e){"function"==typeof e&&this._onLoginListeners.push(e)}_runOnLoginListeners(e){for(let t of this._onLoginListeners)"function"==typeof t&&t(e)}constructor(e,t,n,i){if(this.__version="1.0.212",this.session=null,this.connection=null,this.__iPosted={},this.__my_unique_ids={},this.userPool=null,this.__socket=null,this.__mediaStream=null,this.host="skapi",this.hostDomain="skapi.com",this.target_cdn="d3e9syvbtso631",this.customApiDomain="skapi.dev",this.__disabledAccount=null,this.__cached_requests={},this.__startKeyHistory={},this.__request_signup_confirmation=null,this.__private_access_key={},this.__class_properties_has_been_cached=!1,this.__user=null,this._onLoginListeners=[],this.validate={userId(e){try{return ue.UserId(e),!0}catch(e){return!1}},url(e){try{return ue.Url(e),!0}catch(e){return!1}},phoneNumber(e){try{return ue.PhoneNumber(e),!0}catch(e){return!1}},birthdate(e){try{return ue.Birthdate(e),!0}catch(e){return!1}},email(e){try{return ue.Email(e),!0}catch(e){return!1}},params:(e,t,n)=>ue.Params(e,t,n)},this.util={MD5:ne,generateRandom:se,toBase62:ie,fromBase62:re,extractFormData:oe,request:(e,t,n)=>Qe.bind(this)(e,t,n,{ignoreService:!0})},this.__network_logs=!1,this.registerTicket=ge.bind(this),this.unregisterTicket=_e.bind(this),!sessionStorage)throw new te("Web browser API is not available.",{code:"NOT_SUPPORTED"});if(sessionStorage.setItem("__skapi_kiss","kiss"),"kiss"!==sessionStorage.getItem("__skapi_kiss"))throw alert("Session storage is disabled. Please enable session storage."),new te("Session storage is disabled. Please enable session storage.",{code:"SESSION_STORAGE_DISABLED"});if(sessionStorage.removeItem("__skapi_kiss"),"string"!=typeof e||"string"!=typeof t)throw alert("Service ID or Owner ID is invalid."),new te('"service" and "owner" should be type <string>.',{code:"INVALID_PARAMETER"});if(!e||!t)throw alert("Service ID or Owner ID is invalid."),new te('"service" and "owner" is required',{code:"INVALID_PARAMETER"});if(t!==this.host)try{ue.UserId(t,'"owner"')}catch(e){throw alert("Service ID or Owner ID is invalid."),e}this.service=e,this.owner=t;let r=!0;n&&"boolean"==typeof n.autoLogin&&(r=n.autoLogin),n?.eventListener?.onLogin&&"function"==typeof n.eventListener.onLogin&&(this.onLogin=n.eventListener.onLogin),this.target_cdn=i?.target_cdn||this.target_cdn,this.hostDomain=i?.hostDomain||this.hostDomain,this.customApiDomain=i?.customApiDomain||this.customApiDomain,this.__network_logs=!!i?.network_logs;const s=`https://${this.target_cdn}.cloudfront.net`;let o=e.substring(0,4);if(this.admin_endpoint=fetch(`${s}/${o}/admin.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const i=new FileReader;i.onloadend=()=>t(i.result),i.onerror=n,i.readAsDataURL(e)})))).then((e=>{try{return"string"==typeof e?JSON.parse(atob(e.split(",")[1])):null}catch(e){throw new te("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}})),this.record_endpoint=fetch(`${s}/${o}/record.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const i=new FileReader;i.onloadend=()=>t(i.result),i.onerror=n,i.readAsDataURL(e)})))).then((e=>{try{return"string"==typeof e?JSON.parse(atob(e.split(",")[1])):null}catch(e){throw new te("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}})),!sessionStorage)throw alert("This browser is not supported."),new Error("This browser is not supported.");const a=JSON.parse(sessionStorage.getItem(`${e}#${t}`)||"null");if(this.log("constructor:restore",a),a?.connection)for(let e in a)this[e]=a[e];this.__authConnection=(async()=>{const e=await this.admin_endpoint;this.userPool=new ee({UserPoolId:e.userpool_id,ClientId:e.userpool_client});try{let e=await be.bind(this)().getSession({_holdLogin:!0});if(a?.connection||r){let t=e();t instanceof Promise&&await t}else Ee.bind(this)()}catch(e){}})(),this.__connection=(async()=>{let n=null;await this.record_endpoint,a?.connection||(n=this._updateConnection());const i=()=>{if(this.__class_properties_has_been_cached)return;let i=()=>{let n={};const i=["__startKeyHistory","__disabledAccount","__cached_requests","__request_signup_confirmation","connection"];if(this.connection){for(let e of i)n[e]=this[e];sessionStorage.setItem(`${e}#${t}`,JSON.stringify(n)),this.__class_properties_has_been_cached=!0}};return n instanceof Promise?n.then((()=>i())):i()};return addEventListener("beforeunload",(()=>{this.closeRealtime(),i()})),addEventListener("visibilitychange",(()=>{i()})),await n,await this.__authConnection,this.connection})(),this.__connection.then((e=>{((e?.group||0)<3||this.__network_logs)&&this.version()}))}async getConnectionInfo(){let e=await this.__connection,t=e?.user_agent||navigator.userAgent;return{user_ip:e.ip,user_agent:t,user_location:e.locale,service_name:e.service_name,version:this.__version}}async _updateConnection(){try{this.connection=await Qe.bind(this)("service",{service:this.service,owner:this.owner},{bypassAwaitConnection:!0,method:"get"})}catch(e){throw this.log("connection fail",e),alert("Service is not available: "+(e.message||e.toString())),this.connection=null,e}return this.connection}async version(){return await this.__connection,console.log(`Built with:\n%c\r\n $$\\ $$\\ \r\n $$ | \\__|\r\n $$$$$$$\\ $$ | $$\\ $$$$$$\\ $$$$$$\\ $$\\ \r\n$$ _____|$$ | $$ |\\____$$\\ $$ __$$\\ $$ |\r\n\\$$$$$$\\ $$$$$$ / $$$$$$$ |$$ / $$ |$$ |\r\n \\____$$\\ $$ _$$< $$ __$$ |$$ | $$ |$$ |\r\n$$$$$$$ |$$ | \\$$\\\\$$$$$$$ |$$$$$$$ |$$ |\r\n\\_______/ \\__| \\__|\\_______|$$ ____/ \\__|\r\n $$ | \r\n $$ | \r\n \\__| \r\nVersion: ${this.__version}\n\nDocumentation: https://docs.skapi.com`,"font-family: monospace; color:blue;"),1===this.connection.group&&console.log("%cSKAPI: THE SERVICE IS IN TRIAL MODE. ALL THE USERS AND DATA WILL BE INITIALIZED EVERY 30 DAYS.","font-family: monospace; color:red;"),this.__version}log(e,t){if(this.__network_logs)try{console.log(`%c${e}:`,"color: blue;",JSON.parse(JSON.stringify(t)))}catch(n){console.log(`%c${e}:`,"color: blue;",t)}}getFeed(e,t){return Xt.bind(this)(e,t)}closeRTC(e){return kt.bind(this)(e)}connectRTC(e,t){return Nt.bind(this)(e,t)}connectRealtime(e){return jt.bind(this)(e)}spellcast(e){return In.bind(this)(e)}getspell(e){return Tn.bind(this)(e)}dopamine(e){return Rn.bind(this)(e)}resendInvitation(e){return bn.bind(this)(e)}cancelInvitation(e){return wn.bind(this)(e)}getInvitations(e,t){return yn.bind(this)(e,t)}openIdLogin(e){return ve.bind(this)(e)}clientSecretRequest(e){return Yt.bind(this)(e)}consumeTicket(e){return de.bind(this)(e)}getConsumedTickets(e,t){return pe.bind(this)(e,t)}getTickets(e,t){return fe.bind(this)(e,t)}closeRealtime(){return Kt.bind(this)()}getRealtimeUsers(e,t){return Qt.bind(this)(e,t)}sendInquiry(e){return Gt.bind(this)(e)}blockAccount(e){return dn.bind(this)(e)}unblockAccount(e){return fn.bind(this)(e)}deleteAccount(e){return pn.bind(this)(e)}inviteUser(e,t){return gn.bind(this)(e,t)}createAccount(e){return _n.bind(this)(e)}grantAccess(e){return mn.bind(this)(e)}getRealtimeGroups(e,t){return Wt.bind(this)(e,t)}postRealtime(e,t,n){return Ht.bind(this)(e,t,n)}joinRealtime(e){return Jt.bind(this)(e)}getConnection(){return this.__connection}getProfile(e){return Ae.bind(this)(e)}getFile(e,t){return ct.bind(this)(e,t)}secureRequest(e,t){return zt.bind(this)(e,t)}getFormResponse(){return et.bind(this)()}getRecords(e,t){return lt.bind(this)(e,t)}getTables(e,t){return dt.bind(this)(e,t)}getIndexes(e,t){return ft.bind(this)(e,t)}getTags(e,t){return pt.bind(this)(e,t)}deleteRecords(e){return gt.bind(this)(e)}resendSignupConfirmation(){return Te.bind(this)()}recoverAccount(e=!1){return Re.bind(this)(e)}getUsers(e,t){return xe.bind(this)(e,t)}disableAccount(){return Ce.bind(this)()}lastVerifiedEmail(e){return Fe.bind(this)(e)}unsubscribeNewsletter(e){return ln.bind(this)(e)}adminNewsletterRequest(e){return rn.bind(this)(e)}subscribeNotification(e,t){return An.bind(this)({endpoint:e,keys:t})}unsubscribeNotification(e,t){return vn.bind(this)({endpoint:e,keys:t})}vapidPublicKey(){return Sn.bind(this)()}pushNotification(e,t){return En.bind(this)(e,t)}getNewsletters(e,t){return hn.bind(this)(e,t)}getNewsletterSubscription(e){return cn.bind(this)(e)}requestUsernameChange(e){return qe.bind(this)(e)}grantPrivateRecordAccess(e){return _t.bind(this)(e)}removePrivateRecordAccess(e){return mt.bind(this)(e)}listPrivateRecordAccess(e){return yt.bind(this)(e)}requestPrivateRecordAccessKey(e){return wt.bind(this)(e)}deleteFiles(e){return at.bind(this)(e)}uploadFiles(e,t){return ze.bind(this)(e,t)}mock(e,t){return Zt.bind(this)(e,t)}login(e){return De.bind(this)(e)}logout(){return Ie.bind(this)()}signup(e,t){return Ue.bind(this)(e,t)}resetPassword(e){return Pe.bind(this)(e)}verifyEmail(e){return Le.bind(this)(e)}verifyPhoneNumber(e){return Ne.bind(this)(e)}forgotPassword(e){return Oe.bind(this)(e)}changePassword(e){return Me.bind(this)(e)}updateProfile(e){return Ve.bind(this)(e)}postRecord(e,t){return ht.bind(this)(e,t)}getSubscriptions(e,t){return tn.bind(this)(e,t)}subscribe(e){return nn.bind(this)(e)}unsubscribe(e){return sn.bind(this)(e)}blockSubscriber(e){return on.bind(this)(e)}unblockSubscriber(e){return an.bind(this)(e)}subscribeNewsletter(e){return un.bind(this)(e)}}Dn([Xe()],Un.prototype,"getFeed",null),Dn([Xe()],Un.prototype,"closeRTC",null),Dn([Xe()],Un.prototype,"connectRTC",null),Dn([Xe()],Un.prototype,"spellcast",null),Dn([Xe()],Un.prototype,"getspell",null),Dn([Xe()],Un.prototype,"dopamine",null),Dn([Xe()],Un.prototype,"resendInvitation",null),Dn([Xe()],Un.prototype,"cancelInvitation",null),Dn([Xe()],Un.prototype,"getInvitations",null),Dn([Xe()],Un.prototype,"openIdLogin",null),Dn([Xe()],Un.prototype,"clientSecretRequest",null),Dn([Xe()],Un.prototype,"consumeTicket",null),Dn([Xe()],Un.prototype,"getConsumedTickets",null),Dn([Xe()],Un.prototype,"getTickets",null),Dn([Xe()],Un.prototype,"getRealtimeUsers",null),Dn([Xe()],Un.prototype,"sendInquiry",null),Dn([Xe()],Un.prototype,"blockAccount",null),Dn([Xe()],Un.prototype,"unblockAccount",null),Dn([Xe()],Un.prototype,"deleteAccount",null),Dn([Xe()],Un.prototype,"inviteUser",null),Dn([Xe()],Un.prototype,"createAccount",null),Dn([Xe()],Un.prototype,"grantAccess",null),Dn([Xe()],Un.prototype,"getRealtimeGroups",null),Dn([Xe()],Un.prototype,"postRealtime",null),Dn([Xe()],Un.prototype,"joinRealtime",null),Dn([Xe()],Un.prototype,"getProfile",null),Dn([Xe()],Un.prototype,"getFile",null),Dn([Xe()],Un.prototype,"secureRequest",null),Dn([Xe()],Un.prototype,"getFormResponse",null),Dn([Xe()],Un.prototype,"getRecords",null),Dn([Xe()],Un.prototype,"getTables",null),Dn([Xe()],Un.prototype,"getIndexes",null),Dn([Xe()],Un.prototype,"getTags",null),Dn([Xe()],Un.prototype,"deleteRecords",null),Dn([Xe()],Un.prototype,"resendSignupConfirmation",null),Dn([Xe()],Un.prototype,"recoverAccount",null),Dn([Xe()],Un.prototype,"getUsers",null),Dn([Xe()],Un.prototype,"disableAccount",null),Dn([Xe()],Un.prototype,"lastVerifiedEmail",null),Dn([Xe()],Un.prototype,"unsubscribeNewsletter",null),Dn([Xe()],Un.prototype,"adminNewsletterRequest",null),Dn([Xe()],Un.prototype,"subscribeNotification",null),Dn([Xe()],Un.prototype,"unsubscribeNotification",null),Dn([Xe()],Un.prototype,"vapidPublicKey",null),Dn([Xe()],Un.prototype,"pushNotification",null),Dn([Xe()],Un.prototype,"getNewsletters",null),Dn([Xe()],Un.prototype,"getNewsletterSubscription",null),Dn([Xe()],Un.prototype,"requestUsernameChange",null),Dn([Xe()],Un.prototype,"grantPrivateRecordAccess",null),Dn([Xe()],Un.prototype,"removePrivateRecordAccess",null),Dn([Xe()],Un.prototype,"listPrivateRecordAccess",null),Dn([Xe()],Un.prototype,"requestPrivateRecordAccessKey",null),Dn([Xe()],Un.prototype,"deleteFiles",null),Dn([Xe()],Un.prototype,"uploadFiles",null),Dn([Xe()],Un.prototype,"mock",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"login",null),Dn([Xe()],Un.prototype,"logout",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"signup",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"resetPassword",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"verifyEmail",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"verifyPhoneNumber",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"forgotPassword",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"changePassword",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"updateProfile",null),Dn([Xe()],Un.prototype,"postRecord",null),Dn([Xe()],Un.prototype,"getSubscriptions",null),Dn([Xe()],Un.prototype,"subscribe",null),Dn([Xe()],Un.prototype,"unsubscribe",null),Dn([Xe()],Un.prototype,"blockSubscriber",null),Dn([Xe()],Un.prototype,"unblockSubscriber",null),Dn([Xe()],Un.prototype,"subscribeNewsletter",null)})(),i})()));
|
|
2
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(self,(()=>(()=>{var e={914:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var i=n(945),r=function(){function e(){this.state=Int32Array.from(i.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,n=e.byteLength;if(this.bytesHashed+=n,8*this.bytesHashed>i.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===i.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%i.BLOCK_SIZE>=i.BLOCK_SIZE-8){for(var r=this.bufferLength;r<i.BLOCK_SIZE;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(r=this.bufferLength;r<i.BLOCK_SIZE-8;r++)t.setUint8(r,0);t.setUint32(i.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(i.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var s=new Uint8Array(i.DIGEST_LENGTH);for(r=0;r<8;r++)s[4*r]=this.state[r]>>>24&255,s[4*r+1]=this.state[r]>>>16&255,s[4*r+2]=this.state[r]>>>8&255,s[4*r+3]=this.state[r]>>>0&255;return s},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],r=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],h=0;h<i.BLOCK_SIZE;h++){if(h<16)this.temp[h]=(255&e[4*h])<<24|(255&e[4*h+1])<<16|(255&e[4*h+2])<<8|255&e[4*h+3];else{var d=this.temp[h-2],f=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,p=((d=this.temp[h-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[h]=(f+this.temp[h-7]|0)+(p+this.temp[h-16]|0)}var g=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&c^~a&u)|0)+(l+(i.KEY[h]+this.temp[h]|0)|0)|0,_=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&r^n&s^r&s)|0;l=u,u=c,c=a,a=o+g|0,o=s,s=r,r=n,n=g+_|0}t[0]+=n,t[1]+=r,t[2]+=s,t[3]+=o,t[4]+=a,t[5]+=c,t[6]+=u,t[7]+=l},e}();t.RawSha256=r},945:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([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]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},938:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,n(655).__exportStar)(n(430),t)},430:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var i=n(655),r=n(945),s=n(914),o=n(658),a=function(){function e(e){if(this.hash=new s.RawSha256,e){this.outer=new s.RawSha256;var t=function(e){var t=(0,o.convertToBuffer)(e);if(t.byteLength>r.BLOCK_SIZE){var n=new s.RawSha256;n.update(t),t=n.digest()}var i=new Uint8Array(r.BLOCK_SIZE);return i.set(t),i}(e),n=new Uint8Array(r.BLOCK_SIZE);n.set(t);for(var i=0;i<r.BLOCK_SIZE;i++)t[i]^=54,n[i]^=92;for(this.hash.update(t),this.outer.update(n),i=0;i<t.byteLength;i++)t[i]=0}}return e.prototype.update=function(e){if(!(0,o.isEmptyData)(e)&&!this.error)try{this.hash.update((0,o.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return(0,i.__awaiter)(this,void 0,void 0,(function(){return(0,i.__generator)(this,(function(e){return[2,this.digestSync()]}))}))},e}();t.Sha256=a},106:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var i=n(84),r="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:i.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?r(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},658:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var i=n(106);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return i.convertToBuffer}});var r=n(304);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return r.isEmptyData}});var s=n(174);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return s.numToUint8}});var o=n(558);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return o.uint32ArrayFrom}})},304:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Array.from){for(var t=new Uint32Array(e.length);0<e.length;)t[0]=e[0];return t}return Uint32Array.from(e)}},84:(e,t,n)=>{"use strict";n.r(t),n.d(t,{fromUtf8:()=>i,toUtf8:()=>r});const i=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const t=[];for(let n=0,i=e.length;n<i;n++){const i=e.charCodeAt(n);if(i<128)t.push(i);else if(i<2048)t.push(i>>6|192,63&i|128);else if(n+1<e.length&&55296==(64512&i)&&56320==(64512&e.charCodeAt(n+1))){const r=65536+((1023&i)<<10)+(1023&e.charCodeAt(++n));t.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)})(e),r=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let t="";for(let n=0,i=e.length;n<i;n++){const i=e[n];if(i<128)t+=String.fromCharCode(i);else if(192<=i&&i<224){const r=e[++n];t+=String.fromCharCode((31&i)<<6|63&r)}else if(240<=i&&i<365){const r="%"+[i,e[++n],e[++n],e[++n]].map((e=>e.toString(16))).join("%");t+=decodeURIComponent(r)}else t+=String.fromCharCode((15&i)<<12|(63&e[++n])<<6|63&e[++n])}return t})(e)},742:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=a(e),o=s[0],c=s[1],u=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,c)),l=0,h=c>0?o-4:o;for(n=0;n<h;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===c&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[l++]=255&t),1===c&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,u=i-r;a<u;a+=o)s.push(c(e,a,a+o>u?u:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=s[o],i[s.charCodeAt(o)]=o;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a<i;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(n[(s=r)>>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},764:(e,t,n)=>{"use strict";var i=n(742),r=n(645),s=n(826);function o(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,n){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,n)}function u(e,t,n,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=d(e,t),e}(e,t,n,i):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|p(t,n),r=(e=a(e,i)).write(t,n);return r!==i&&(e=e.slice(0,r)),e}(e,t,n):function(e,t){if(c.isBuffer(t)){var n=0|f(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?a(e,0):d(e,t);if("Buffer"===t.type&&s(t.data))return d(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(l(t),e=a(e,t<0?0:0|f(t)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t){var n=t.length<0?0:0|f(t.length);e=a(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function f(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(i)return q(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,n);case"utf8":case"utf-8":return T(this,t,n);case"ascii":return D(this,t,n);case"latin1":case"binary":return U(this,t,n);case"base64":return I(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function _(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function m(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=c.from(t,i)),c.isBuffer(t))return 0===t.length?-1:y(e,t,n,i,r);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,i,r){var s,o=1,a=e.length,c=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,n/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){var l=-1;for(s=n;s<a;s++)if(u(e,s)===u(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===c)return l*o}else-1!==l&&(s-=s-l),l=-1}else for(n+c>a&&(n=a-c),s=n;s>=0;s--){for(var h=!0,d=0;d<c;d++)if(u(e,s+d)!==u(t,d)){h=!1;break}if(h)return s}return-1}function w(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");i>s/2&&(i=s/2);for(var o=0;o<i;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[n+o]=a}return o}function b(e,t,n,i){return B(q(t,e.length-n),e,n,i)}function A(e,t,n,i){return B(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,i)}function v(e,t,n,i){return A(e,t,n,i)}function S(e,t,n,i){return B($(t),e,n,i)}function E(e,t,n,i){return B(function(e,t){for(var n,i,r,s=[],o=0;o<e.length&&!((t-=2)<0);++o)i=(n=e.charCodeAt(o))>>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function I(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function T(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var s,o,a,c,u=e[r],l=null,h=u>239?4:u>223?3:u>191?2:1;if(r+h<=n)switch(h){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[r+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[r+1],o=e[r+2],128==(192&s)&&128==(192&o)&&(c=(15&u)<<12|(63&s)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[r+1],o=e[r+2],a=e[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(c=(15&u)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,h=1):l>65535&&(l-=65536,i.push(l>>>10&1023|55296),l=56320|1023&l),i.push(l),r+=h}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);for(var n="",i=0;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=R));return n}(i)}t.lW=c,t.h2=50,c.TYPED_ARRAY_SUPPORT=void 0!==n.g.TYPED_ARRAY_SUPPORT?n.g.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),o(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,n){return u(null,e,t,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,n){return function(e,t,n,i){return l(t),t<=0?a(e,t):void 0!==n?"string"==typeof i?a(e,t).fill(n,i):a(e,t).fill(n):a(e,t)}(null,e,t,n)},c.allocUnsafe=function(e){return h(null,e)},c.allocUnsafeSlow=function(e){return h(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,s=Math.min(n,i);r<s;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=c.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var o=e[n];if(!c.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r),r+=o.length}return i},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},c.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},c.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},c.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?T(this,0,e):g.apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",n=t.h2;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},c.prototype.compare=function(e,t,n,i,r){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0),a=Math.min(s,o),u=this.slice(i,r),l=e.slice(t,n),h=0;h<a;++h)if(u[h]!==l[h]){s=u[h],o=l[h];break}return s<o?-1:o<s?1:0},c.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},c.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},c.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function D(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}function U(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}function C(e,t,n){var i,r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var s="",o=t;o<n;++o)s+=(i=e[o])<16?"0"+i.toString(16):i.toString(16);return s}function P(e,t,n){for(var i=e.slice(t,n),r="",s=0;s<i.length;s+=2)r+=String.fromCharCode(i[s]+256*i[s+1]);return r}function k(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,n,i,r,s){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<s)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function L(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,s=Math.min(e.length-n,2);r<s;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>8*(i?r:1-r)}function O(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,s=Math.min(e.length-n,4);r<s;++r)e[n+r]=t>>>8*(i?r:3-r)&255}function M(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function V(e,t,n,i,s){return s||M(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function x(e,t,n,i,s){return s||M(e,0,n,8),r.write(e,t,n,i,52,8),n+8}c.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),c.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=c.prototype;else{var r=t-e;n=new c(r,void 0);for(var s=0;s<r;++s)n[s]=this[s+e]}return n},c.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=this[e],r=1,s=0;++s<t&&(r*=256);)i+=this[e+s]*r;return i},c.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},c.prototype.readUInt8=function(e,t){return t||k(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||k(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||k(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||k(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||k(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=this[e],r=1,s=0;++s<t&&(r*=256);)i+=this[e+s]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||k(e,t,this.length);for(var i=t,r=1,s=this[e+--i];i>0&&(r*=256);)s+=this[e+--i]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*t)),s},c.prototype.readInt8=function(e,t){return t||k(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||k(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||k(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||k(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||k(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||k(e,4,this.length),r.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||k(e,4,this.length),r.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||k(e,8,this.length),r.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||k(e,8,this.length),r.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,i){e=+e,t|=0,n|=0,i||N(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,s=0;for(this[t]=255&e;++s<n&&(r*=256);)this[t+s]=e/r&255;return t+n},c.prototype.writeUIntBE=function(e,t,n,i){e=+e,t|=0,n|=0,i||N(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):O(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);N(this,e,t,n,r-1,-r)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},c.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);N(this,e,t,n,r-1,-r)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):O(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):O(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return V(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return V(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return x(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return x(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,s=i-n;if(this===e&&n<t&&t<i)for(r=s-1;r>=0;--r)e[r+t]=this[r+n];else if(s<1e3||!c.TYPED_ARRAY_SUPPORT)for(r=0;r<s;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},c.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!c.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var o=c.isBuffer(e)?e:q(new c(e,i).toString()),a=o.length;for(s=0;s<n-t;++s)this[s+t]=o[s%a]}return this};var F=/[^+\/0-9A-Za-z-_]/g;function q(e,t){var n;t=t||1/0;for(var i=e.length,r=null,s=[],o=0;o<i;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function $(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function B(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length||r>=e.length);++r)t[r+n]=e[r];return r}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,c=(1<<a)-1,u=c>>1,l=-7,h=n?r-1:0,d=n?-1:1,f=e[t+h];for(h+=d,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=256*s+e[t+h],h+=d,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=i;l>0;o=256*o+e[t+h],h+=d,l-=8);if(0===s)s=1-u;else{if(s===c)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,i),s-=u}return(f?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,c,u=8*s-r-1,l=(1<<u)-1,h=l>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:s-1,p=i?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+h>=1?d/c:d*Math.pow(2,1-h))*c>=2&&(o++,c/=2),o+h>=l?(a=0,o=l):o+h>=1?(a=(t*c-1)*Math.pow(2,r),o+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,r),o=0));r>=8;e[n+f]=255&a,f+=p,a/=256,r-=8);for(o=o<<r|a,u+=r;u>0;e[n+f]=255&o,f+=p,o/=256,u-=8);e[n+f-p]|=128*g}},826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},204:(e,t,n)=>{e.exports=self.fetch||(self.fetch=n(869).default||n(869))},808:(e,t,n)=>{var i,r,s;void 0===(r="function"==typeof(i=s=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var i in n)t[i]=n[i]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(i){function r(){}function s(t,n,s){if("undefined"!=typeof document){"number"==typeof(s=e({path:"/"},r.defaults,s)).expires&&(s.expires=new Date(1*new Date+864e5*s.expires)),s.expires=s.expires?s.expires.toUTCString():"";try{var o=JSON.stringify(n);/^[\{\[]/.test(o)&&(n=o)}catch(e){}n=i.write?i.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var a="";for(var c in s)s[c]&&(a+="; "+c,!0!==s[c]&&(a+="="+s[c].split(";")[0]));return document.cookie=t+"="+n+a}}function o(e,n){if("undefined"!=typeof document){for(var r={},s=document.cookie?document.cookie.split("; "):[],o=0;o<s.length;o++){var a=s[o].split("="),c=a.slice(1).join("=");n||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var u=t(a[0]);if(c=(i.read||i)(c,u)||t(c),n)try{c=JSON.parse(c)}catch(e){}if(r[u]=c,e===u)break}catch(e){}}return e?r[e]:r}}return r.set=s,r.get=function(e){return o(e,!1)},r.getJSON=function(e){return o(e,!0)},r.remove=function(t,n){s(t,"",e(n,{expires:-1}))},r.defaults={},r.withConverter=n,r}((function(){}))})?i.call(t,n,t,e):i)||(e.exports=r),e.exports=s()},776:()=>{"use strict";window.global=window},655:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__assign:()=>s,__asyncDelegator:()=>b,__asyncGenerator:()=>w,__asyncValues:()=>A,__await:()=>y,__awaiter:()=>l,__classPrivateFieldGet:()=>I,__classPrivateFieldSet:()=>T,__createBinding:()=>d,__decorate:()=>a,__exportStar:()=>f,__extends:()=>r,__generator:()=>h,__importDefault:()=>E,__importStar:()=>S,__makeTemplateObject:()=>v,__metadata:()=>u,__param:()=>c,__read:()=>g,__rest:()=>o,__spread:()=>_,__spreadArrays:()=>m,__values:()=>p});var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};function r(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var s=function(){return s=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},s.apply(this,arguments)};function o(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}function a(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}function c(e,t){return function(n,i){t(n,i,e)}}function u(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,n,i){return new(n||(n=Promise))((function(r,s){function o(e){try{c(i.next(e))}catch(e){s(e)}}function a(e){try{c(i.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}function h(e,t){var n,i,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],i=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function d(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}function f(e,t){for(var n in e)"default"===n||t.hasOwnProperty(n)||(t[n]=e[n])}function p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<n;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,r++)i[r]=s[o];return i}function y(e){return this instanceof y?(this.v=e,this):new y(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=n.apply(e,t||[]),s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise((function(n,i){s.push([e,t,n,i])>1||a(e,t)}))})}function a(e,t){try{(n=r[e](t)).value instanceof y?Promise.resolve(n.value.v).then(c,u):l(s[0][2],n)}catch(e){l(s[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function l(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function b(e){var t,n;return t={},i("next"),i("throw",(function(e){throw e})),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,r){t[i]=e[i]?function(t){return(n=!n)?{value:y(e[i](t)),done:"return"===i}:r?r(t):t}:r}}function A(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=e[n]&&function(t){return new Promise((function(i,r){!function(e,t,n,i){Promise.resolve(i).then((function(t){e({value:t,done:n})}),t)}(i,r,(t=e[n](t)).done,t.value)}))}}}function v(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function I(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function T(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},869:(e,t,n)=>{"use strict";function i(e,t){return t=t||{},new Promise((function(n,i){var r=new XMLHttpRequest,s=[],o=[],a={},c=function(){return{ok:2==(r.status/100|0),statusText:r.statusText,status:r.status,url:r.responseURL,text:function(){return Promise.resolve(r.responseText)},json:function(){return Promise.resolve(r.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([r.response]))},clone:c,headers:{keys:function(){return s},entries:function(){return o},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var u in r.open(t.method||"get",e,!0),r.onload=function(){r.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){s.push(t=t.toLowerCase()),o.push([t,n]),a[t]=a[t]?a[t]+","+n:n})),n(c())},r.onerror=i,r.withCredentials="include"==t.credentials,t.headers)r.setRequestHeader(u,t.headers[u]);r.send(t.body||null)}))}n.r(t),n.d(t,{default:()=>i})},249:()=>{}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{"use strict";n.r(i),n.d(i,{Skapi:()=>Un,SkapiError:()=>te,Types:()=>e});var e={};n.r(e),n(776);var t,r=function(){function e(e){var t=e||{},n=t.ValidationData,i=t.Username,r=t.Password,s=t.AuthParameters,o=t.ClientMetadata;this.validationData=n||{},this.authParameters=s||{},this.clientMetadata=o||{},this.username=i,this.password=r}var t=e.prototype;return t.getUsername=function(){return this.username},t.getPassword=function(){return this.password},t.getValidationData=function(){return this.validationData},t.getAuthParameters=function(){return this.authParameters},t.getClientMetadata=function(){return this.clientMetadata},e}(),s=n(764);if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==n.g&&n.g.crypto&&(t=n.g.crypto),!t)try{t=n(249)}catch(e){}function o(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}var a=function(){function e(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length}var t=e.prototype;return t.random=function(t){for(var n=[],i=0;i<t;i+=4)n.push(o());return new e(n,t)},t.toString=function(){return function(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;r<n;r++){var s=t[r>>>2]>>>24-r%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")}(this)},e}(),c=n(938);const u=l;function l(e,t){null!=e&&this.fromString(e,t)}function h(){return new l(null)}var d,f="undefined"!=typeof navigator;f&&"Microsoft Internet Explorer"==navigator.appName?(l.prototype.am=function(e,t,n,i,r,s){for(var o=32767&t,a=t>>15;--s>=0;){var c=32767&this[e],u=this[e++]>>15,l=a*c+u*o;r=((c=o*c+((32767&l)<<15)+n[i]+(1073741823&r))>>>30)+(l>>>15)+a*u+(r>>>30),n[i++]=1073741823&c}return r},d=30):f&&"Netscape"!=navigator.appName?(l.prototype.am=function(e,t,n,i,r,s){for(;--s>=0;){var o=t*this[e++]+n[i]+r;r=Math.floor(o/67108864),n[i++]=67108863&o}return r},d=26):(l.prototype.am=function(e,t,n,i,r,s){for(var o=16383&t,a=t>>14;--s>=0;){var c=16383&this[e],u=this[e++]>>14,l=a*c+u*o;r=((c=o*c+((16383&l)<<14)+n[i]+r)>>28)+(l>>14)+a*u,n[i++]=268435455&c}return r},d=28),l.prototype.DB=d,l.prototype.DM=(1<<d)-1,l.prototype.DV=1<<d,l.prototype.FV=Math.pow(2,52),l.prototype.F1=52-d,l.prototype.F2=2*d-52;var p,g,_=new Array;for(p="0".charCodeAt(0),g=0;g<=9;++g)_[p++]=g;for(p="a".charCodeAt(0),g=10;g<36;++g)_[p++]=g;for(p="A".charCodeAt(0),g=10;g<36;++g)_[p++]=g;function m(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function y(e,t){var n=_[e.charCodeAt(t)];return null==n?-1:n}function w(e){var t=h();return t.fromInt(e),t}function b(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function A(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function v(e){return s.lW.from((new a).random(e).toString(),"hex")}A.prototype.convert=function(e){var t=h();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(l.ZERO)>0&&this.m.subTo(t,t),t},A.prototype.revert=function(e){var t=h();return e.copyTo(t),this.reduce(t),t},A.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],i=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,i,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},A.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},A.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},l.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},l.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},l.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");n=2}this.t=0,this.s=0;for(var i=e.length,r=!1,s=0;--i>=0;){var o=y(e,i);o<0?"-"==e.charAt(i)&&(r=!0):(r=!1,0==s?this[this.t++]=o:s+n>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=n)>=this.DB&&(s-=this.DB))}this.clamp(),r&&l.ZERO.subTo(this,this)},l.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},l.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},l.prototype.drShiftTo=function(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s},l.prototype.lShiftTo=function(e,t){var n,i=e%this.DB,r=this.DB-i,s=(1<<r)-1,o=Math.floor(e/this.DB),a=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>r|a,a=(this[n]&s)<<i;for(n=o-1;n>=0;--n)t[n]=0;t[o]=a,t.t=this.t+o+1,t.s=this.s,t.clamp()},l.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var i=e%this.DB,r=this.DB-i,s=(1<<i)-1;t[0]=this[n]>>i;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&s)<<r,t[o-n]=this[o]>>i;i>0&&(t[this.t-n-1]|=(this.s&s)<<r),t.t=this.t-n,t.clamp()}},l.prototype.subTo=function(e,t){for(var n=0,i=0,r=Math.min(e.t,this.t);n<r;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=i<0?-1:0,i<-1?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()},l.prototype.multiplyTo=function(e,t){var n=this.abs(),i=e.abs(),r=n.t;for(t.t=r+i.t;--r>=0;)t[r]=0;for(r=0;r<i.t;++r)t[r+n.t]=n.am(0,i[r],t,r,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&l.ZERO.subTo(t,t)},l.prototype.squareTo=function(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var i=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,i,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},l.prototype.divRemTo=function(e,t,n){var i=e.abs();if(!(i.t<=0)){var r=this.abs();if(r.t<i.t)return null!=t&&t.fromInt(0),void(null!=n&&this.copyTo(n));null==n&&(n=h());var s=h(),o=this.s,a=e.s,c=this.DB-b(i[i.t-1]);c>0?(i.lShiftTo(c,s),r.lShiftTo(c,n)):(i.copyTo(s),r.copyTo(n));var u=s.t,d=s[u-1];if(0!=d){var f=d*(1<<this.F1)+(u>1?s[u-2]>>this.F2:0),p=this.FV/f,g=(1<<this.F1)/f,_=1<<this.F2,m=n.t,y=m-u,w=null==t?h():t;for(s.dlShiftTo(y,w),n.compareTo(w)>=0&&(n[n.t++]=1,n.subTo(w,n)),l.ONE.dlShiftTo(u,w),w.subTo(s,s);s.t<u;)s[s.t++]=0;for(;--y>=0;){var A=n[--m]==d?this.DM:Math.floor(n[m]*p+(n[m-1]+_)*g);if((n[m]+=s.am(0,A,n,y,0,u))<A)for(s.dlShiftTo(y,w),n.subTo(w,n);n[m]<--A;)n.subTo(w,n)}null!=t&&(n.drShiftTo(u,t),o!=a&&l.ZERO.subTo(t,t)),n.t=u,n.clamp(),c>0&&n.rShiftTo(c,n),o<0&&l.ZERO.subTo(n,n)}}},l.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},l.prototype.addTo=function(e,t){for(var n=0,i=0,r=Math.min(e.t,this.t);n<r;)i+=this[n]+e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i+=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i+=e[n],t[n++]=i&this.DM,i>>=this.DB;i+=e.s}t.s=i<0?-1:0,i>0?t[n++]=i:i<-1&&(t[n++]=this.DV+i),t.t=n,t.clamp()},l.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}var n,i=(1<<t)-1,r=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this[o]>>a)>0&&(r=!0,s=m(n));o>=0;)a<t?(n=(this[o]&(1<<a)-1)<<t-a,n|=this[--o]>>(a+=this.DB-t)):(n=this[o]>>(a-=t)&i,a<=0&&(a+=this.DB,--o)),n>0&&(r=!0),r&&(s+=m(n));return r?s:"0"},l.prototype.negate=function(){var e=h();return l.ZERO.subTo(this,e),e},l.prototype.abs=function(){return this.s<0?this.negate():this},l.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},l.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+b(this[this.t-1]^this.s&this.DM)},l.prototype.mod=function(e){var t=h();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(l.ZERO)>0&&e.subTo(t,t),t},l.prototype.equals=function(e){return 0==this.compareTo(e)},l.prototype.add=function(e){var t=h();return this.addTo(e,t),t},l.prototype.subtract=function(e){var t=h();return this.subTo(e,t),t},l.prototype.multiply=function(e){var t=h();return this.multiplyTo(e,t),t},l.prototype.divide=function(e){var t=h();return this.divRemTo(e,t,null),t},l.prototype.modPow=function(e,t,n){var i,r=e.bitLength(),s=w(1),o=new A(t);if(r<=0)return s;i=r<18?1:r<48?3:r<144?4:r<768?5:6;var a=new Array,c=3,u=i-1,l=(1<<i)-1;if(a[1]=o.convert(this),i>1){var d=h();for(o.sqrTo(a[1],d);c<=l;)a[c]=h(),o.mulTo(d,a[c-2],a[c]),c+=2}var f,p,g=e.t-1,_=!0,m=h();for(r=b(e[g])-1;g>=0;){for(r>=u?f=e[g]>>r-u&l:(f=(e[g]&(1<<r+1)-1)<<u-r,g>0&&(f|=e[g-1]>>this.DB+r-u)),c=i;0==(1&f);)f>>=1,--c;if((r-=c)<0&&(r+=this.DB,--g),_)a[f].copyTo(s),_=!1;else{for(;c>1;)o.sqrTo(s,m),o.sqrTo(m,s),c-=2;c>0?o.sqrTo(s,m):(p=s,s=m,m=p),o.mulTo(m,a[f],s)}for(;g>=0&&0==(e[g]&1<<r);)o.sqrTo(s,m),p=s,s=m,m=p,--r<0&&(r=this.DB-1,--g)}var y=o.revert(s);return n(null,y),y},l.ZERO=w(0),l.ONE=w(1);var S=/^[89a-f]/i,E=function(){function e(e){this.N=new u("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF",16),this.g=new u("2",16),this.k=new u(this.hexHash(""+this.padHex(this.N)+this.padHex(this.g)),16),this.smallAValue=this.generateRandomSmallA(),this.getLargeAValue((function(){})),this.infoBits=s.lW.from("Caldera Derived Key","utf8"),this.poolName=e}var t=e.prototype;return t.getSmallAValue=function(){return this.smallAValue},t.getLargeAValue=function(e){var t=this;this.largeAValue?e(null,this.largeAValue):this.calculateA(this.smallAValue,(function(n,i){n&&e(n,null),t.largeAValue=i,e(null,t.largeAValue)}))},t.generateRandomSmallA=function(){var e=v(128).toString("hex");return new u(e,16)},t.generateRandomString=function(){return v(40).toString("base64")},t.getRandomPassword=function(){return this.randomPassword},t.getSaltDevices=function(){return this.SaltToHashDevices},t.getVerifierDevices=function(){return this.verifierDevices},t.generateHashDevice=function(e,t,n){var i=this;this.randomPassword=this.generateRandomString();var r=""+e+t+":"+this.randomPassword,s=this.hash(r),o=v(16).toString("hex");this.SaltToHashDevices=this.padHex(new u(o,16)),this.g.modPow(new u(this.hexHash(this.SaltToHashDevices+s),16),this.N,(function(e,t){e&&n(e,null),i.verifierDevices=i.padHex(t),n(null,null)}))},t.calculateA=function(e,t){var n=this;this.g.modPow(e,this.N,(function(e,i){e&&t(e,null),i.mod(n.N).equals(u.ZERO)&&t(new Error("Illegal paramater. A mod N cannot be 0."),null),t(null,i)}))},t.calculateU=function(e,t){return this.UHexHash=this.hexHash(this.padHex(e)+this.padHex(t)),new u(this.UHexHash,16)},t.hash=function(e){var t=new c.Sha256;t.update(e);var n=t.digestSync(),i=s.lW.from(n).toString("hex");return new Array(64-i.length).join("0")+i},t.hexHash=function(e){return this.hash(s.lW.from(e,"hex"))},t.computehkdf=function(e,t){var n=s.lW.concat([this.infoBits,s.lW.from(String.fromCharCode(1),"utf8")]),i=new c.Sha256(t);i.update(e);var r=i.digestSync(),o=new c.Sha256(r);return o.update(n),o.digestSync().slice(0,16)},t.getPasswordAuthenticationKey=function(e,t,n,i,r){var o=this;if(n.mod(this.N).equals(u.ZERO))throw new Error("B cannot be zero.");if(this.UValue=this.calculateU(this.largeAValue,n),this.UValue.equals(u.ZERO))throw new Error("U cannot be zero.");var a=""+this.poolName+e+":"+t,c=this.hash(a),l=new u(this.hexHash(this.padHex(i)+c),16);this.calculateS(l,n,(function(e,t){e&&r(e,null);var n=o.computehkdf(s.lW.from(o.padHex(t),"hex"),s.lW.from(o.padHex(o.UValue),"hex"));r(null,n)}))},t.calculateS=function(e,t,n){var i=this;this.g.modPow(e,this.N,(function(r,s){r&&n(r,null),t.subtract(i.k.multiply(s)).modPow(i.smallAValue.add(i.UValue.multiply(e)),i.N,(function(e,t){e&&n(e,null),n(null,t.mod(i.N))}))}))},t.getNewPasswordRequiredChallengeUserAttributePrefix=function(){return"userAttributes."},t.padHex=function(e){if(!(e instanceof u))throw new Error("Not a BigInteger");var t=e.compareTo(u.ZERO)<0,n=e.abs().toString(16);if(n=n.length%2!=0?"0"+n:n,n=S.test(n)?"00"+n:n,t){var i=n.split("").map((function(e){var t=15&~parseInt(e,16);return"0123456789ABCDEF".charAt(t)})).join("");(n=new u(i,16).add(u.ONE).toString(16)).toUpperCase().startsWith("FF8")&&(n=n.substring(2))}return n},e}(),I=function(){function e(e){this.jwtToken=e||"",this.payload=this.decodePayload()}var t=e.prototype;return t.getJwtToken=function(){return this.jwtToken},t.getExpiration=function(){return this.payload.exp},t.getIssuedAt=function(){return this.payload.iat},t.decodePayload=function(){var e=this.jwtToken.split(".")[1];try{return JSON.parse(s.lW.from(e,"base64").toString("utf8"))}catch(e){return{}}},e}();function T(e,t){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},T(e,t)}var R=function(e){var t,n;function i(t){var n=(void 0===t?{}:t).AccessToken;return e.call(this,n||"")||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,T(t,n),i}(I);function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}var U=function(e){var t,n;function i(t){var n=(void 0===t?{}:t).IdToken;return e.call(this,n||"")||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,D(t,n),i}(I),C="aws-amplify/5.0.4",P="undefined"!=typeof navigator&&"ReactNative"===navigator.product,k=function(){function e(e){var t=(void 0===e?{}:e).RefreshToken;this.token=t||""}return e.prototype.getToken=function(){return this.token},e}(),N=function(){function e(e){var t=void 0===e?{}:e,n=t.IdToken,i=t.RefreshToken,r=t.AccessToken,s=t.ClockDrift;if(null==r||null==n)throw new Error("Id token and Access Token must be present.");this.idToken=n,this.refreshToken=i,this.accessToken=r,this.clockDrift=void 0===s?this.calculateClockDrift():s}var t=e.prototype;return t.getIdToken=function(){return this.idToken},t.getRefreshToken=function(){return this.refreshToken},t.getAccessToken=function(){return this.accessToken},t.getClockDrift=function(){return this.clockDrift},t.calculateClockDrift=function(){return Math.floor(new Date/1e3)-Math.min(this.accessToken.getIssuedAt(),this.idToken.getIssuedAt())},t.isValid=function(){var e=Math.floor(new Date/1e3)-this.clockDrift;return e<this.accessToken.getExpiration()&&e<this.idToken.getExpiration()},e}(),L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],O=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],M=function(){function e(){}return e.prototype.getNowString=function(){var e=new Date,t=O[e.getUTCDay()],n=L[e.getUTCMonth()],i=e.getUTCDate(),r=e.getUTCHours();r<10&&(r="0"+r);var s=e.getUTCMinutes();s<10&&(s="0"+s);var o=e.getUTCSeconds();return o<10&&(o="0"+o),t+" "+n+" "+i+" "+r+":"+s+":"+o+" UTC "+e.getUTCFullYear()},e}(),V=function(){function e(e){var t=void 0===e?{}:e,n=t.Name,i=t.Value;this.Name=n||"",this.Value=i||""}var t=e.prototype;return t.getValue=function(){return this.Value},t.setValue=function(e){return this.Value=e,this},t.getName=function(){return this.Name},t.setName=function(e){return this.Name=e,this},t.toString=function(){return JSON.stringify(this)},t.toJSON=function(){return{Name:this.Name,Value:this.Value}},e}(),x={},F=function(){function e(){}return e.setItem=function(e,t){return x[e]=t,x[e]},e.getItem=function(e){return Object.prototype.hasOwnProperty.call(x,e)?x[e]:void 0},e.removeItem=function(e){return delete x[e]},e.clear=function(){return x={}},e}(),q=function(){function e(){try{this.storageWindow=window.localStorage,this.storageWindow.setItem("aws.cognito.test-ls",1),this.storageWindow.removeItem("aws.cognito.test-ls")}catch(e){this.storageWindow=F}}return e.prototype.getStorage=function(){return this.storageWindow},e}(),$="undefined"!=typeof navigator?P?"react-native":navigator.userAgent:"nodejs",B=function(){function e(e){if(null==e||null==e.Username||null==e.Pool)throw new Error("Username and Pool information are required.");this.username=e.Username||"",this.pool=e.Pool,this.Session=null,this.client=e.Pool.client,this.signInUserSession=null,this.authenticationFlowType="USER_SRP_AUTH",this.storage=e.Storage||(new q).getStorage(),this.keyPrefix="CognitoIdentityServiceProvider."+this.pool.getClientId(),this.userDataKey=this.keyPrefix+"."+this.username+".userData"}var t=e.prototype;return t.setSignInUserSession=function(e){this.clearCachedUserData(),this.signInUserSession=e,this.cacheTokens()},t.getSignInUserSession=function(){return this.signInUserSession},t.getUsername=function(){return this.username},t.getAuthenticationFlowType=function(){return this.authenticationFlowType},t.setAuthenticationFlowType=function(e){this.authenticationFlowType=e},t.initiateAuth=function(e,t){var n=this,i=e.getAuthParameters();i.USERNAME=this.username;var r=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),s={AuthFlow:"CUSTOM_AUTH",ClientId:this.pool.getClientId(),AuthParameters:i,ClientMetadata:r};this.getUserContextData()&&(s.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",s,(function(e,i){if(e)return t.onFailure(e);var r=i.ChallengeName,s=i.ChallengeParameters;return"CUSTOM_CHALLENGE"===r?(n.Session=i.Session,t.customChallenge(s)):(n.signInUserSession=n.getCognitoUserSession(i.AuthenticationResult),n.cacheTokens(),t.onSuccess(n.signInUserSession))}))},t.authenticateUser=function(e,t){return"USER_PASSWORD_AUTH"===this.authenticationFlowType?this.authenticateUserPlainUsernamePassword(e,t):"USER_SRP_AUTH"===this.authenticationFlowType||"CUSTOM_AUTH"===this.authenticationFlowType?this.authenticateUserDefaultAuth(e,t):t.onFailure(new Error("Authentication flow type is invalid."))},t.authenticateUserDefaultAuth=function(e,t){var n,i,r=this,o=new E(this.pool.getUserPoolName()),a=new M,l={};null!=this.deviceKey&&(l.DEVICE_KEY=this.deviceKey),l.USERNAME=this.username,o.getLargeAValue((function(h,d){h&&t.onFailure(h),l.SRP_A=d.toString(16),"CUSTOM_AUTH"===r.authenticationFlowType&&(l.CHALLENGE_NAME="SRP_A");var f=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),p={AuthFlow:r.authenticationFlowType,ClientId:r.pool.getClientId(),AuthParameters:l,ClientMetadata:f};r.getUserContextData(r.username)&&(p.UserContextData=r.getUserContextData(r.username)),r.client.request("InitiateAuth",p,(function(l,h){if(l)return t.onFailure(l);var d=h.ChallengeParameters;r.username=d.USER_ID_FOR_SRP,r.userDataKey=r.keyPrefix+"."+r.username+".userData",n=new u(d.SRP_B,16),i=new u(d.SALT,16),r.getCachedDeviceKeyAndPassword(),o.getPasswordAuthenticationKey(r.username,e.getPassword(),n,i,(function(e,n){e&&t.onFailure(e);var i=a.getNowString(),u=s.lW.concat([s.lW.from(r.pool.getUserPoolName(),"utf8"),s.lW.from(r.username,"utf8"),s.lW.from(d.SECRET_BLOCK,"base64"),s.lW.from(i,"utf8")]),l=new c.Sha256(n);l.update(u);var p=l.digestSync(),g=s.lW.from(p).toString("base64"),_={};_.USERNAME=r.username,_.PASSWORD_CLAIM_SECRET_BLOCK=d.SECRET_BLOCK,_.TIMESTAMP=i,_.PASSWORD_CLAIM_SIGNATURE=g,null!=r.deviceKey&&(_.DEVICE_KEY=r.deviceKey);var m={ChallengeName:"PASSWORD_VERIFIER",ClientId:r.pool.getClientId(),ChallengeResponses:_,Session:h.Session,ClientMetadata:f};r.getUserContextData()&&(m.UserContextData=r.getUserContextData()),function e(t,n){return r.client.request("RespondToAuthChallenge",t,(function(i,s){return i&&"ResourceNotFoundException"===i.code&&-1!==i.message.toLowerCase().indexOf("device")?(_.DEVICE_KEY=null,r.deviceKey=null,r.randomPassword=null,r.deviceGroupKey=null,r.clearCachedDeviceKeyAndPassword(),e(t,n)):n(i,s)}))}(m,(function(e,n){return e?t.onFailure(e):r.authenticateUserInternal(n,o,t)}))}))}))}))},t.authenticateUserPlainUsernamePassword=function(e,t){var n=this,i={};if(i.USERNAME=this.username,i.PASSWORD=e.getPassword(),i.PASSWORD){var r=new E(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(i.DEVICE_KEY=this.deviceKey);var s=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),o={AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.pool.getClientId(),AuthParameters:i,ClientMetadata:s};this.getUserContextData(this.username)&&(o.UserContextData=this.getUserContextData(this.username)),this.client.request("InitiateAuth",o,(function(e,i){return e?t.onFailure(e):n.authenticateUserInternal(i,r,t)}))}else t.onFailure(new Error("PASSWORD parameter is required"))},t.authenticateUserInternal=function(e,t,n){var i=this,r=e.ChallengeName,o=e.ChallengeParameters;if("SMS_MFA"===r)return this.Session=e.Session,n.mfaRequired(r,o);if("SELECT_MFA_TYPE"===r)return this.Session=e.Session,n.selectMFAType(r,o);if("MFA_SETUP"===r)return this.Session=e.Session,n.mfaSetup(r,o);if("SOFTWARE_TOKEN_MFA"===r)return this.Session=e.Session,n.totpRequired(r,o);if("CUSTOM_CHALLENGE"===r)return this.Session=e.Session,n.customChallenge(o);if("NEW_PASSWORD_REQUIRED"===r){this.Session=e.Session;var a=null,c=null,u=[],l=t.getNewPasswordRequiredChallengeUserAttributePrefix();if(o&&(a=JSON.parse(e.ChallengeParameters.userAttributes),c=JSON.parse(e.ChallengeParameters.requiredAttributes)),c)for(var h=0;h<c.length;h++)u[h]=c[h].substr(l.length);return n.newPasswordRequired(a,u)}if("DEVICE_SRP_AUTH"===r)return this.Session=e.Session,void this.getDeviceResponse(n);this.signInUserSession=this.getCognitoUserSession(e.AuthenticationResult),this.challengeName=r,this.cacheTokens();var d=e.AuthenticationResult.NewDeviceMetadata;if(null==d)return n.onSuccess(this.signInUserSession);t.generateHashDevice(e.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,e.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(r){if(r)return n.onFailure(r);var o={Salt:s.lW.from(t.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:s.lW.from(t.getVerifierDevices(),"hex").toString("base64")};i.verifierDevices=o.PasswordVerifier,i.deviceGroupKey=d.DeviceGroupKey,i.randomPassword=t.getRandomPassword(),i.client.request("ConfirmDevice",{DeviceKey:d.DeviceKey,AccessToken:i.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:o,DeviceName:$},(function(t,r){return t?n.onFailure(t):(i.deviceKey=e.AuthenticationResult.NewDeviceMetadata.DeviceKey,i.cacheDeviceKeyAndPassword(),!0===r.UserConfirmationNecessary?n.onSuccess(i.signInUserSession,r.UserConfirmationNecessary):n.onSuccess(i.signInUserSession))}))}))},t.completeNewPasswordChallenge=function(e,t,n,i){var r=this;if(!e)return n.onFailure(new Error("New password is required."));var s=new E(this.pool.getUserPoolName()),o=s.getNewPasswordRequiredChallengeUserAttributePrefix(),a={};t&&Object.keys(t).forEach((function(e){a[o+e]=t[e]})),a.NEW_PASSWORD=e,a.USERNAME=this.username;var c={ChallengeName:"NEW_PASSWORD_REQUIRED",ClientId:this.pool.getClientId(),ChallengeResponses:a,Session:this.Session,ClientMetadata:i};this.getUserContextData()&&(c.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",c,(function(e,t){return e?n.onFailure(e):r.authenticateUserInternal(t,s,n)}))},t.getDeviceResponse=function(e,t){var n=this,i=new E(this.deviceGroupKey),r=new M,o={};o.USERNAME=this.username,o.DEVICE_KEY=this.deviceKey,i.getLargeAValue((function(a,l){a&&e.onFailure(a),o.SRP_A=l.toString(16);var h={ChallengeName:"DEVICE_SRP_AUTH",ClientId:n.pool.getClientId(),ChallengeResponses:o,ClientMetadata:t,Session:n.Session};n.getUserContextData()&&(h.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",h,(function(t,o){if(t)return e.onFailure(t);var a=o.ChallengeParameters,l=new u(a.SRP_B,16),h=new u(a.SALT,16);i.getPasswordAuthenticationKey(n.deviceKey,n.randomPassword,l,h,(function(t,i){if(t)return e.onFailure(t);var u=r.getNowString(),l=s.lW.concat([s.lW.from(n.deviceGroupKey,"utf8"),s.lW.from(n.deviceKey,"utf8"),s.lW.from(a.SECRET_BLOCK,"base64"),s.lW.from(u,"utf8")]),h=new c.Sha256(i);h.update(l);var d=h.digestSync(),f=s.lW.from(d).toString("base64"),p={};p.USERNAME=n.username,p.PASSWORD_CLAIM_SECRET_BLOCK=a.SECRET_BLOCK,p.TIMESTAMP=u,p.PASSWORD_CLAIM_SIGNATURE=f,p.DEVICE_KEY=n.deviceKey;var g={ChallengeName:"DEVICE_PASSWORD_VERIFIER",ClientId:n.pool.getClientId(),ChallengeResponses:p,Session:o.Session};n.getUserContextData()&&(g.UserContextData=n.getUserContextData()),n.client.request("RespondToAuthChallenge",g,(function(t,i){return t?e.onFailure(t):(n.signInUserSession=n.getCognitoUserSession(i.AuthenticationResult),n.cacheTokens(),e.onSuccess(n.signInUserSession))}))}))}))}))},t.confirmRegistration=function(e,t,n,i){var r={ClientId:this.pool.getClientId(),ConfirmationCode:e,Username:this.username,ForceAliasCreation:t,ClientMetadata:i};this.getUserContextData()&&(r.UserContextData=this.getUserContextData()),this.client.request("ConfirmSignUp",r,(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.sendCustomChallengeAnswer=function(e,t,n){var i=this,r={};r.USERNAME=this.username,r.ANSWER=e;var s=new E(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(r.DEVICE_KEY=this.deviceKey);var o={ChallengeName:"CUSTOM_CHALLENGE",ChallengeResponses:r,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:n};this.getUserContextData()&&(o.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",o,(function(e,n){return e?t.onFailure(e):i.authenticateUserInternal(n,s,t)}))},t.sendMFACode=function(e,t,n,i){var r=this,o={};o.USERNAME=this.username,o.SMS_MFA_CODE=e;var a=n||"SMS_MFA";"SOFTWARE_TOKEN_MFA"===a&&(o.SOFTWARE_TOKEN_MFA_CODE=e),null!=this.deviceKey&&(o.DEVICE_KEY=this.deviceKey);var c={ChallengeName:a,ChallengeResponses:o,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:i};this.getUserContextData()&&(c.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",c,(function(e,n){if(e)return t.onFailure(e);if("DEVICE_SRP_AUTH"!==n.ChallengeName){if(r.signInUserSession=r.getCognitoUserSession(n.AuthenticationResult),r.cacheTokens(),null==n.AuthenticationResult.NewDeviceMetadata)return t.onSuccess(r.signInUserSession);var i=new E(r.pool.getUserPoolName());i.generateHashDevice(n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,n.AuthenticationResult.NewDeviceMetadata.DeviceKey,(function(e){if(e)return t.onFailure(e);var o={Salt:s.lW.from(i.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:s.lW.from(i.getVerifierDevices(),"hex").toString("base64")};r.verifierDevices=o.PasswordVerifier,r.deviceGroupKey=n.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,r.randomPassword=i.getRandomPassword(),r.client.request("ConfirmDevice",{DeviceKey:n.AuthenticationResult.NewDeviceMetadata.DeviceKey,AccessToken:r.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:o,DeviceName:$},(function(e,i){return e?t.onFailure(e):(r.deviceKey=n.AuthenticationResult.NewDeviceMetadata.DeviceKey,r.cacheDeviceKeyAndPassword(),!0===i.UserConfirmationNecessary?t.onSuccess(r.signInUserSession,i.UserConfirmationNecessary):t.onSuccess(r.signInUserSession))}))}))}else r.getDeviceResponse(t)}))},t.changePassword=function(e,t,n,i){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("ChangePassword",{PreviousPassword:e,ProposedPassword:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:i},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.enableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);var t=[];t.push({DeliveryMedium:"SMS",AttributeName:"phone_number"}),this.client.request("SetUserSettings",{MFAOptions:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.setUserMfaPreference=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n(new Error("User is not authenticated"),null);this.client.request("SetUserMFAPreference",{SMSMfaSettings:e,SoftwareTokenMfaSettings:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n(e,null):n(null,"SUCCESS")}))},t.disableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("SetUserSettings",{MFAOptions:[],AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t){return t?e(t,null):e(null,"SUCCESS")}))},t.deleteUser=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("DeleteUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:t},(function(t){return t?e(t,null):(n.clearCachedUser(),e(null,"SUCCESS"))}))},t.updateAttributes=function(e,t,n){var i=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("UpdateUserAttributes",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserAttributes:e,ClientMetadata:n},(function(e,n){return e?t(e,null):i.getUserData((function(){return t(null,"SUCCESS",n)}),{bypassCache:!0})}))},t.getUserAttributes=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){if(t)return e(t,null);for(var i=[],r=0;r<n.UserAttributes.length;r++){var s={Name:n.UserAttributes[r].Name,Value:n.UserAttributes[r].Value},o=new V(s);i.push(o)}return e(null,i)}))},t.getMFAOptions=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);this.client.request("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e(t,null):e(null,n.MFAOptions)}))},t.createGetUserRequest=function(){return this.client.promisifyRequest("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()})},t.refreshSessionIfPossible=function(e){var t=this;return void 0===e&&(e={}),new Promise((function(n){var i=t.signInUserSession.getRefreshToken();i&&i.getToken()?t.refreshSession(i,n,e.clientMetadata):n()}))},t.getUserData=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return this.clearCachedUserData(),e(new Error("User is not authenticated"),null);var i=this.getUserDataFromCache();if(i)if(this.isFetchUserDataAndTokenRequired(t))this.fetchUserData().then((function(e){return n.refreshSessionIfPossible(t).then((function(){return e}))})).then((function(t){return e(null,t)})).catch(e);else try{return void e(null,JSON.parse(i))}catch(t){return this.clearCachedUserData(),void e(t,null)}else this.fetchUserData().then((function(t){e(null,t)})).catch(e)},t.getUserDataFromCache=function(){return this.storage.getItem(this.userDataKey)},t.isFetchUserDataAndTokenRequired=function(e){var t=(e||{}).bypassCache;return void 0!==t&&t},t.fetchUserData=function(){var e=this;return this.createGetUserRequest().then((function(t){return e.cacheUserData(t),t}))},t.deleteAttributes=function(e,t){var n=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("DeleteUserAttributes",{UserAttributeNames:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?t(e,null):n.getUserData((function(){return t(null,"SUCCESS")}),{bypassCache:!0})}))},t.resendConfirmationCode=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.client.request("ResendConfirmationCode",n,(function(t,n){return t?e(t,null):e(null,n)}))},t.getSession=function(e,t){if(void 0===t&&(t={}),null==this.username)return e(new Error("Username is null. Cannot retrieve a new session"),null);if(null!=this.signInUserSession&&this.signInUserSession.isValid())return e(null,this.signInUserSession);var n="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,i=n+".idToken",r=n+".accessToken",s=n+".refreshToken",o=n+".clockDrift";if(this.storage.getItem(i)){var a=new U({IdToken:this.storage.getItem(i)}),c=new R({AccessToken:this.storage.getItem(r)}),u=new k({RefreshToken:this.storage.getItem(s)}),l=parseInt(this.storage.getItem(o),0)||0,h=new N({IdToken:a,AccessToken:c,RefreshToken:u,ClockDrift:l});if(h.isValid())return this.signInUserSession=h,e(null,this.signInUserSession);if(!u.getToken())return e(new Error("Cannot retrieve a new session. Please authenticate."),null);this.refreshSession(u,e,t.clientMetadata)}else e(new Error("Local storage is missing an ID Token, Please authenticate"),null)},t.refreshSession=function(e,t,n){var i=this,r=this.pool.wrapRefreshSessionCallback?this.pool.wrapRefreshSessionCallback(t):t,s={};s.REFRESH_TOKEN=e.getToken();var o="CognitoIdentityServiceProvider."+this.pool.getClientId(),a=o+".LastAuthUser";if(this.storage.getItem(a)){this.username=this.storage.getItem(a);var c=o+"."+this.username+".deviceKey";this.deviceKey=this.storage.getItem(c),s.DEVICE_KEY=this.deviceKey}var u={ClientId:this.pool.getClientId(),AuthFlow:"REFRESH_TOKEN_AUTH",AuthParameters:s,ClientMetadata:n};this.getUserContextData()&&(u.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",u,(function(t,n){if(t)return"NotAuthorizedException"===t.code&&i.clearCachedUser(),r(t,null);if(n){var s=n.AuthenticationResult;return Object.prototype.hasOwnProperty.call(s,"RefreshToken")||(s.RefreshToken=e.getToken()),i.signInUserSession=i.getCognitoUserSession(s),i.cacheTokens(),r(null,i.signInUserSession)}}))},t.cacheTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",i=e+"."+this.username+".refreshToken",r=e+"."+this.username+".clockDrift",s=e+".LastAuthUser";this.storage.setItem(t,this.signInUserSession.getIdToken().getJwtToken()),this.storage.setItem(n,this.signInUserSession.getAccessToken().getJwtToken()),this.storage.setItem(i,this.signInUserSession.getRefreshToken().getToken()),this.storage.setItem(r,""+this.signInUserSession.getClockDrift()),this.storage.setItem(s,this.username)},t.cacheUserData=function(e){this.storage.setItem(this.userDataKey,JSON.stringify(e))},t.clearCachedUserData=function(){this.storage.removeItem(this.userDataKey)},t.clearCachedUser=function(){this.clearCachedTokens(),this.clearCachedUserData()},t.cacheDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",i=e+".deviceGroupKey";this.storage.setItem(t,this.deviceKey),this.storage.setItem(n,this.randomPassword),this.storage.setItem(i,this.deviceGroupKey)},t.getCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",i=e+".deviceGroupKey";this.storage.getItem(t)&&(this.deviceKey=this.storage.getItem(t),this.randomPassword=this.storage.getItem(n),this.deviceGroupKey=this.storage.getItem(i))},t.clearCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,t=e+".deviceKey",n=e+".randomPasswordKey",i=e+".deviceGroupKey";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(i)},t.clearCachedTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),t=e+"."+this.username+".idToken",n=e+"."+this.username+".accessToken",i=e+"."+this.username+".refreshToken",r=e+".LastAuthUser",s=e+"."+this.username+".clockDrift";this.storage.removeItem(t),this.storage.removeItem(n),this.storage.removeItem(i),this.storage.removeItem(r),this.storage.removeItem(s)},t.getCognitoUserSession=function(e){var t=new U(e),n=new R(e),i=new k(e);return new N({IdToken:t,AccessToken:n,RefreshToken:i})},t.forgotPassword=function(e,t){var n={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:t};this.getUserContextData()&&(n.UserContextData=this.getUserContextData()),this.client.request("ForgotPassword",n,(function(t,n){return t?e.onFailure(t):"function"==typeof e.inputVerificationCode?e.inputVerificationCode(n):e.onSuccess(n)}))},t.confirmPassword=function(e,t,n,i){var r={ClientId:this.pool.getClientId(),Username:this.username,ConfirmationCode:e,Password:t,ClientMetadata:i};this.getUserContextData()&&(r.UserContextData=this.getUserContextData()),this.client.request("ConfirmForgotPassword",r,(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getAttributeVerificationCode=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("GetUserAttributeVerificationCode",{AttributeName:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:n},(function(e,n){return e?t.onFailure(e):"function"==typeof t.inputVerificationCode?t.inputVerificationCode(n):t.onSuccess("SUCCESS")}))},t.verifyAttribute=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));this.client.request("VerifyUserAttribute",{AttributeName:e,Code:t,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(e){return e?n.onFailure(e):n.onSuccess("SUCCESS")}))},t.getDevice=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey},(function(t,n){return t?e.onFailure(t):e.onSuccess(n)}))},t.forgetSpecificDevice=function(e,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("ForgetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:e},(function(e){return e?t.onFailure(e):t.onSuccess("SUCCESS")}))},t.forgetDevice=function(e){var t=this;this.forgetSpecificDevice(this.deviceKey,{onFailure:e.onFailure,onSuccess:function(n){return t.deviceKey=null,t.deviceGroupKey=null,t.randomPassword=null,t.clearCachedDeviceKeyAndPassword(),e.onSuccess(n)}})},t.setDeviceStatusRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.setDeviceStatusNotRemembered=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("UpdateDeviceStatus",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:this.deviceKey,DeviceRememberedStatus:"not_remembered"},(function(t){return t?e.onFailure(t):e.onSuccess("SUCCESS")}))},t.listDevices=function(e,t,n){if(null==this.signInUserSession||!this.signInUserSession.isValid())return n.onFailure(new Error("User is not authenticated"));var i={AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),Limit:e};t&&(i.PaginationToken=t),this.client.request("ListDevices",i,(function(e,t){return e?n.onFailure(e):n.onSuccess(t)}))},t.globalSignOut=function(e){var t=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return e.onFailure(new Error("User is not authenticated"));this.client.request("GlobalSignOut",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(n){return n?e.onFailure(n):(t.clearCachedUser(),e.onSuccess("SUCCESS"))}))},t.signOut=function(e){var t=this;e&&"function"==typeof e?this.getSession((function(n,i){if(n)return e(n);t.revokeTokens((function(n){t.cleanClientData(),e(n)}))})):this.cleanClientData()},t.revokeTokens=function(e){if(void 0===e&&(e=function(){}),"function"!=typeof e)throw new Error("Invalid revokeTokenCallback. It should be a function.");if(!this.signInUserSession)return e(new Error("User is not authenticated"));if(!this.signInUserSession.getAccessToken())return e(new Error("No Access token available"));var t=this.signInUserSession.getRefreshToken().getToken(),n=this.signInUserSession.getAccessToken();if(this.isSessionRevocable(n)&&t)return this.revokeToken({token:t,callback:e});e()},t.isSessionRevocable=function(e){if(e&&"function"==typeof e.decodePayload)try{return!!e.decodePayload().origin_jti}catch(e){}return!1},t.cleanClientData=function(){this.signInUserSession=null,this.clearCachedUser()},t.revokeToken=function(e){var t=e.token,n=e.callback;this.client.requestWithRetry("RevokeToken",{Token:t,ClientId:this.pool.getClientId()},(function(e){if(e)return n(e);n()}))},t.sendMFASelectionAnswer=function(e,t){var n=this,i={};i.USERNAME=this.username,i.ANSWER=e;var r={ChallengeName:"SELECT_MFA_TYPE",ChallengeResponses:i,ClientId:this.pool.getClientId(),Session:this.Session};this.getUserContextData()&&(r.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",r,(function(i,r){return i?t.onFailure(i):(n.Session=r.Session,"SMS_MFA"===e?t.mfaRequired(r.ChallengeName,r.ChallengeParameters):"SOFTWARE_TOKEN_MFA"===e?t.totpRequired(r.ChallengeName,r.ChallengeParameters):void 0)}))},t.getUserContextData=function(){return this.pool.getUserContextData(this.username)},t.associateSoftwareToken=function(e){var t=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("AssociateSoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},(function(t,n){return t?e.onFailure(t):e.associateSecretCode(n.SecretCode)})):this.client.request("AssociateSoftwareToken",{Session:this.Session},(function(n,i){return n?e.onFailure(n):(t.Session=i.Session,e.associateSecretCode(i.SecretCode))}))},t.verifySoftwareToken=function(e,t,n){var i=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("VerifySoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserCode:e,FriendlyDeviceName:t},(function(e,t){return e?n.onFailure(e):n.onSuccess(t)})):this.client.request("VerifySoftwareToken",{Session:this.Session,UserCode:e,FriendlyDeviceName:t},(function(e,t){if(e)return n.onFailure(e);i.Session=t.Session;var r={};r.USERNAME=i.username;var s={ChallengeName:"MFA_SETUP",ClientId:i.pool.getClientId(),ChallengeResponses:r,Session:i.Session};i.getUserContextData()&&(s.UserContextData=i.getUserContextData()),i.client.request("RespondToAuthChallenge",s,(function(e,t){return e?n.onFailure(e):(i.signInUserSession=i.getCognitoUserSession(t.AuthenticationResult),i.cacheTokens(),n.onSuccess(i.signInUserSession))}))}))},e}();function j(){}function K(e){var t="function"==typeof Map?new Map:void 0;return K=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return H(e,arguments,Q(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),J(n,e)},K(e)}function H(e,t,n){return H=function(){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}}()?Reflect.construct.bind():function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&J(r,n.prototype),r},H.apply(null,arguments)}function J(e,t){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},J(e,t)}function Q(e){return Q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Q(e)}n(204),j.prototype.userAgent=C;var W=function(e){function t(t,n,i,r){var s;return(s=e.call(this,t)||this).code=n,s.name=i,s.statusCode=r,s}return i=e,(n=t).prototype=Object.create(i.prototype),n.prototype.constructor=n,J(n,i),t;var n,i}(K(Error)),Y=function(){function e(e,t,n){this.endpoint=t||"https://cognito-idp."+e+".amazonaws.com/";var i=(n||{}).credentials;this.fetchOptions=i?{credentials:i}:{}}var t=e.prototype;return t.promisifyRequest=function(e,t){var n=this;return new Promise((function(i,r){n.request(e,t,(function(e,t){e?r(new W(e.message,e.code,e.name,e.statusCode)):i(t)}))}))},t.requestWithRetry=function(e,t,n){var i,r,s=this;(i=[t],r=5e3,void 0===r&&(r=X),Z((function(t){return new Promise((function(n,i){s.request(e,t,(function(e,t){e?i(e):n(t)}))}))}),i,function(e){return function(t){var n=100*Math.pow(2,t)+100*Math.random();return!(n>e)&&n}}(r))).then((function(e){return n(null,e)})).catch((function(e){return n(e)}))},t.request=function(e,t,n){var i,r,s,o={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityProviderService."+e,"X-Amz-User-Agent":(i=j.category?" "+j.category:"",r=j.framework?" framework/"+j.framework:"",""+j.prototype.userAgent+i+r),"Cache-Control":"no-store"},a=Object.assign({},this.fetchOptions,{headers:o,method:"POST",mode:"cors",body:JSON.stringify(t)});fetch(this.endpoint,a).then((function(e){return s=e,e}),(function(e){if(e instanceof TypeError)throw new Error("Network error");throw e})).then((function(e){return e.json().catch((function(){return{}}))})).then((function(e){if(s.ok)return n(null,e);var t=(e.__type||e.code).split("#").pop(),i=new Error(e.message||e.Message||null);return i.name=t,i.code=t,n(i)})).catch((function(e){if(s&&s.headers&&s.headers.get("x-amzn-errortype"))try{var t=s.headers.get("x-amzn-errortype").split(":")[0],i=new Error(s.status?s.status.toString():null);return i.code=t,i.name=t,i.statusCode=s.status,n(i)}catch(t){return n(e)}else e instanceof Error&&"Network error"===e.message&&(e.code="NetworkError");return n(e)}))},e}(),G={debug:function(){}},z=function(e){return e&&e.nonRetryable};function Z(e,t,n,i){if(void 0===i&&(i=1),"function"!=typeof e)throw Error("functionToRetry must be a function");return G.debug(e.name+" attempt #"+i+" with args: "+JSON.stringify(t)),e.apply(void 0,t).catch((function(r){if(G.debug("error on "+e.name,r),z(r))throw G.debug(e.name+" non retryable error",r),r;var s=n(i,t,r);if(G.debug(e.name+" retrying in "+s+" ms"),!1!==s)return new Promise((function(e){return setTimeout(e,s)})).then((function(){return Z(e,t,n,i+1)}));throw r}))}var X=3e5,ee=function(){function e(e,t){var n=e||{},i=n.UserPoolId,r=n.ClientId,s=n.endpoint,o=n.fetchOptions,a=n.AdvancedSecurityDataCollectionFlag;if(!i||!r)throw new Error("Both UserPoolId and ClientId are required.");if(i.length>55||!/^[\w-]+_[0-9a-zA-Z]+$/.test(i))throw new Error("Invalid UserPoolId format.");var c=i.split("_")[0];this.userPoolId=i,this.clientId=r,this.client=new Y(c,s,o),this.advancedSecurityDataCollectionFlag=!1!==a,this.storage=e.Storage||(new q).getStorage(),t&&(this.wrapRefreshSessionCallback=t)}var t=e.prototype;return t.getUserPoolId=function(){return this.userPoolId},t.getUserPoolName=function(){return this.getUserPoolId().split("_")[1]},t.getClientId=function(){return this.clientId},t.signUp=function(e,t,n,i,r,s){var o=this,a={ClientId:this.clientId,Username:e,Password:t,UserAttributes:n,ValidationData:i,ClientMetadata:s};this.getUserContextData(e)&&(a.UserContextData=this.getUserContextData(e)),this.client.request("SignUp",a,(function(t,n){if(t)return r(t,null);var i={Username:e,Pool:o,Storage:o.storage},s={user:new B(i),userConfirmed:n.UserConfirmed,userSub:n.UserSub,codeDeliveryDetails:n.CodeDeliveryDetails};return r(null,s)}))},t.getCurrentUser=function(){var e="CognitoIdentityServiceProvider."+this.clientId+".LastAuthUser",t=this.storage.getItem(e);if(t){var n={Username:t,Pool:this,Storage:this.storage};return new B(n)}return null},t.getUserContextData=function(e){if("undefined"!=typeof AmazonCognitoAdvancedSecurityData){var t=AmazonCognitoAdvancedSecurityData;if(this.advancedSecurityDataCollectionFlag){var n=t.getData(e,this.userPoolId,this.clientId);if(n)return{EncodedData:n}}return{}}},e}();n(808);class te extends Error{constructor(e,t){if(Array.isArray(e)&&e.length<=2){let n=e[1];if(e.length>2)for(let t=2;t<e.length&&"string"==typeof e[t];t++)n+=e[t];super((n||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||e[0]||"ERROR",t?.cause&&(this.cause=t.cause)}else"string"==typeof e?(super((e||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",t?.cause&&(this.cause=t.cause)):e instanceof Error?(super((e.message||"Something went wrong.").trim()),this.cause=e,this.name=e.name,e.hasOwnProperty("code")&&(this.code=e.code)):"object"==typeof e&&e?.code&&e?.message&&(super((e.message||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",this.cause=e?.cause)}}class ne{static hash(e){"string"!=typeof e&&(console.warn("coercing non-string value to empty string"),e="");const t=ne.sb(e);let n,i,r,s,o=1732584193,a=-271733879,c=-1732584194,u=271733878;for(let e=0;e<t.length;e+=16)n=o,i=a,r=c,s=u,o=ne.ff(o,a,c,u,t[e],7,-680876936),u=ne.ff(u,o,a,c,t[e+1],12,-389564586),c=ne.ff(c,u,o,a,t[e+2],17,606105819),a=ne.ff(a,c,u,o,t[e+3],22,-1044525330),o=ne.ff(o,a,c,u,t[e+4],7,-176418897),u=ne.ff(u,o,a,c,t[e+5],12,1200080426),c=ne.ff(c,u,o,a,t[e+6],17,-1473231341),a=ne.ff(a,c,u,o,t[e+7],22,-45705983),o=ne.ff(o,a,c,u,t[e+8],7,1770035416),u=ne.ff(u,o,a,c,t[e+9],12,-1958414417),c=ne.ff(c,u,o,a,t[e+10],17,-42063),a=ne.ff(a,c,u,o,t[e+11],22,-1990404162),o=ne.ff(o,a,c,u,t[e+12],7,1804603682),u=ne.ff(u,o,a,c,t[e+13],12,-40341101),c=ne.ff(c,u,o,a,t[e+14],17,-1502002290),a=ne.ff(a,c,u,o,t[e+15],22,1236535329),o=ne.gg(o,a,c,u,t[e+1],5,-165796510),u=ne.gg(u,o,a,c,t[e+6],9,-1069501632),c=ne.gg(c,u,o,a,t[e+11],14,643717713),a=ne.gg(a,c,u,o,t[e],20,-373897302),o=ne.gg(o,a,c,u,t[e+5],5,-701558691),u=ne.gg(u,o,a,c,t[e+10],9,38016083),c=ne.gg(c,u,o,a,t[e+15],14,-660478335),a=ne.gg(a,c,u,o,t[e+4],20,-405537848),o=ne.gg(o,a,c,u,t[e+9],5,568446438),u=ne.gg(u,o,a,c,t[e+14],9,-1019803690),c=ne.gg(c,u,o,a,t[e+3],14,-187363961),a=ne.gg(a,c,u,o,t[e+8],20,1163531501),o=ne.gg(o,a,c,u,t[e+13],5,-1444681467),u=ne.gg(u,o,a,c,t[e+2],9,-51403784),c=ne.gg(c,u,o,a,t[e+7],14,1735328473),a=ne.gg(a,c,u,o,t[e+12],20,-1926607734),o=ne.hh(o,a,c,u,t[e+5],4,-378558),u=ne.hh(u,o,a,c,t[e+8],11,-2022574463),c=ne.hh(c,u,o,a,t[e+11],16,1839030562),a=ne.hh(a,c,u,o,t[e+14],23,-35309556),o=ne.hh(o,a,c,u,t[e+1],4,-1530992060),u=ne.hh(u,o,a,c,t[e+4],11,1272893353),c=ne.hh(c,u,o,a,t[e+7],16,-155497632),a=ne.hh(a,c,u,o,t[e+10],23,-1094730640),o=ne.hh(o,a,c,u,t[e+13],4,681279174),u=ne.hh(u,o,a,c,t[e],11,-358537222),c=ne.hh(c,u,o,a,t[e+3],16,-722521979),a=ne.hh(a,c,u,o,t[e+6],23,76029189),o=ne.hh(o,a,c,u,t[e+9],4,-640364487),u=ne.hh(u,o,a,c,t[e+12],11,-421815835),c=ne.hh(c,u,o,a,t[e+15],16,530742520),a=ne.hh(a,c,u,o,t[e+2],23,-995338651),o=ne.ii(o,a,c,u,t[e],6,-198630844),u=ne.ii(u,o,a,c,t[e+7],10,1126891415),c=ne.ii(c,u,o,a,t[e+14],15,-1416354905),a=ne.ii(a,c,u,o,t[e+5],21,-57434055),o=ne.ii(o,a,c,u,t[e+12],6,1700485571),u=ne.ii(u,o,a,c,t[e+3],10,-1894986606),c=ne.ii(c,u,o,a,t[e+10],15,-1051523),a=ne.ii(a,c,u,o,t[e+1],21,-2054922799),o=ne.ii(o,a,c,u,t[e+8],6,1873313359),u=ne.ii(u,o,a,c,t[e+15],10,-30611744),c=ne.ii(c,u,o,a,t[e+6],15,-1560198380),a=ne.ii(a,c,u,o,t[e+13],21,1309151649),o=ne.ii(o,a,c,u,t[e+4],6,-145523070),u=ne.ii(u,o,a,c,t[e+11],10,-1120210379),c=ne.ii(c,u,o,a,t[e+2],15,718787259),a=ne.ii(a,c,u,o,t[e+9],21,-343485551),o=ne.ad(o,n),a=ne.ad(a,i),c=ne.ad(c,r),u=ne.ad(u,s);return ne.rh(o)+ne.rh(a)+ne.rh(c)+ne.rh(u)}static rh(e){let t="";for(let n=0;n<=3;n++)t+=ne.alphabet.charAt(e>>8*n+4&15)+ne.alphabet.charAt(e>>8*n&15);return t}static ad(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}static rl(e,t){return e<<t|e>>>32-t}static cm(e,t,n,i,r,s){return ne.ad(ne.rl(ne.ad(ne.ad(t,e),ne.ad(i,s)),r),n)}static ff(e,t,n,i,r,s,o){return ne.cm(t&n|~t&i,e,t,r,s,o)}static gg(e,t,n,i,r,s,o){return ne.cm(t&i|n&~i,e,t,r,s,o)}static hh(e,t,n,i,r,s,o){return ne.cm(t^n^i,e,t,r,s,o)}static ii(e,t,n,i,r,s,o){return ne.cm(n^(t|~i),e,t,r,s,o)}static sb(e){let t;const n=1+(e.length+8>>6),i=new Array(16*n);for(t=0;t<16*n;t++)i[t]=0;for(t=0;t<e.length;t++)i[t>>2]|=e.charCodeAt(t)<<t%4*8;return i[t>>2]|=128<<t%4*8,i[16*n-2]=8*e.length,i}}function ie(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}function re(e){return e.split("").reverse().reduce(((e,t,n)=>e+"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t)*62**n),0)}function se(e=6){let t="";let n=0;for(;n<e;)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),n+=1;return t}function oe(e,t,n){let i={},r=[];function s(e){let t;try{t=JSON.stringify(e)}catch(e){throw new te("Invalid data type.",{code:"INVALID_REQUEST"})}return new Blob([t]).size}function o(e,i,r){if(t?.ignoreEmpty&&""===r)return;if(t?.nullIfEmpty&&""===r&&(r=null),"function"==typeof n){let e=n(i,r);void 0!==e&&(r=e)}let s=i.split("[").map((e=>{let t=e.replace("]",""),n=Number(t);return isNaN(n)||t.includes(".")?('"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1])&&(t=t.replace(/"/g,"").replace(/'/g,"")):t=n,t})),o=e;if("number"==typeof s[0])throw new te("Form key cannot start with an array index.",{code:"INVALID_REQUEST"});for(let e=0;e<s.length;e++){let t=s[e];if(e<s.length-1){if(void 0===o[t]){let n=s[e+1];o[t]="number"==typeof n?[]:{}}o=o[t]}else void 0===o[t]?o[t]=r:Array.isArray(o[t])?o[t].push(r):o[t]=[o[t],r]}}function a(e,t,n){if(n instanceof File)e.push({name:t,file:n});else if(n instanceof FileList&&n&&n.length>0)for(let i=0;i<=n.length-1;i++){let r=n.item(i);r&&e.push({name:t,file:r})}}let c=e=>{e.name&&("number"===e.type?e.value&&o(i,e.name,Number(e.value)):"checkbox"===e.type||"radio"===e.type?e.checked?""===e.value&&"checkbox"===e.type||"on"===e.value||"true"===e.value?o(i,e.name,!0):"false"===e.value?o(i,e.name,!1):e.value&&o(i,e.name,e.value):"checkbox"===e.type&&(""===e.value||"on"===e.value||"true"===e.value?o(i,e.name,!1):"false"===e.value&&o(i,e.name,!0)):"file"===e.type?e.files&&e.files.length>0&&a(r,e.name,e.files):o(i,e.name,e.value))};if(e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement){if(c(e),s(i)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:r}}if(e instanceof FormData){for(let t of e.entries()){let e=t[0],n=t[1];if(n instanceof File||n instanceof FileList)a(r,e,n);else if(n instanceof Blob){let t=n;if("application/json"===t.type)try{let n=JSON.parse(t.text());o(i,e,n)}catch(n){o(i,e,t)}}else o(i,e,n)}if(s(i)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:r}}if(e instanceof SubmitEvent&&(e=e.target),e instanceof HTMLFormElement){let t=e.querySelectorAll("input"),n=e.querySelectorAll("select"),a=e.querySelectorAll("textarea");for(let e=0;e<n.length;e++){let t=n[e];t.name&&o(i,t.name,t.value)}for(let e=0;e<a.length;e++){let t=a[e];t.name&&o(i,t.name,t.value)}for(let e=0;e<t.length;e++)c(t[e]);if(s(i)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:i,files:r}}if(s(e)>2097152)throw new te("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:e,files:r}}function ae(e){let t={};for(let n in e){let i=e[n],r={auth_time:"log",sub:"user_id"};if(!["aud","cognito:username","event_id","exp","iat","iss","jti","origin_jti","secret_key","token_use"].includes(n))if(r[n])t[r[n]]=i;else if(n.includes("custom:"))t[n.replace("custom:","")]=i;else if("address"===n){let e=i;if(e&&"object"==typeof e&&Object.keys(e).length){if(e?.formatted)try{t[n]=JSON.parse(e.formatted)}catch(i){t[n]=e.formatted}}else t[n]=e}else t[n]=i}for(let e of["address_public","birthdate_public","email_public","gender_public","phone_number_public","access_group"])e.includes("_public")?t.hasOwnProperty(e.split("_")[0])?t[e]=!!t.hasOwnProperty(e)&&!!Number(t[e]):delete t[e]:t[e]=t.hasOwnProperty(e)?Number(t[e]):0;for(let e of["email","phone_number"])t.hasOwnProperty(e)?t[e+"_verified"]=!0===t[e+"_verified"]:delete t[e+"_verified"];return t}function ce(e,t,n=[],i=null){function r(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length}function s(e){return Array.isArray(e)&&e.length}if(null===i&&!r(t))throw'Argument "struct" is required.';let o=null!==i?` in key "${i}" is invalid.`:". Parameter should be type <object>.";if(s(t)){let r="";t.forEach((e=>{["string","number","boolean","object","array"].includes(e)?r+=`Type<${e}>, `:"function"!=typeof e&&(r+=JSON.stringify(e,null,2)+", ")})),r=r?" Should be: "+r.slice(0,-2):"";let s,a=!1,c="";for(let r of t)try{s=ce(e,r,n,i),a=!0;break}catch(e){c="function"==typeof r?e?.message||e:"",a=!1}if(!a)throw c||`Invalid type "${typeof e}"${o}${r}.`;return s}if(r(e)){if(r(t))for(let r in t){let o=(null===i?"":i)+(null!==i?"["+r+"]":r);if(!e.hasOwnProperty(r)){if(n.includes(o))throw`Key "${o}" is required.`;s(t[r])&&"function"==typeof t[r][t[r].length-1]&&(e[r]=t[r][t[r].length-1]())}}if("object"===t)return e;if("function"==typeof t)return t(e);for(let r in e){let o=(null===i?"":i)+(null!==i?"["+r+"]":r);if(s(t)||t.hasOwnProperty(r))if(s(e[r])){if("array"===t[r])continue;if("function"==typeof t[r]){e[r]=t[r](e[r]);continue}for(let i=0;i<e[r].length;i++)e[r][i]=ce(e[r][i],t[r],n,o+`[${i}]`)}else e[r]=ce(e[r],t[r],n,o)}return e}if("function"==typeof t)return t(e);if("array"===t&&Array.isArray(e)||t===typeof e||e===t)return e;if(null==e||(a=e)&&"object"==typeof a&&!Array.isArray(a)&&!Object.keys(a).length)return e;var a;throw`Invalid type "${typeof e}"${o} Should be: ${["string","number","boolean","object","array"].includes(t)?`Type<${t}>`:JSON.stringify(t,null,2)}`}ne.alphabet="0123456789abcdef";const ue={UserId:function(e,t="User ID"){if(!e)throw new te(`${t} is empty.`,{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new te(`${t} should be type: string.`,{code:"INVALID_PARAMETER"});if(!e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i))throw new te(`${t} is invalid.`,{code:"INVALID_PARAMETER"});return e},PhoneNumber:function(e){if(e&&("string"!=typeof e||"+"!==e.charAt(0)||isNaN(Number(e.substring(1)))))throw new te('"phone_number" is invalid. The format should be "+00123456789". Type: string.',{code:"INVALID_PARAMETER"});return e||""},Birthdate:function(e){if(e){if("string"!=typeof e)throw new te('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"});{let t=new RegExp(/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/);if(10!==e.length||3!==e.split("-").length||!t.test(e))throw new te('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"})}}return e||""},Password:function(e){if(!e)throw new te('"password" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new te('"password" should be type: string.',{code:"INVALID_PARAMETER"});if(e.length<6)throw new te('"password" should be at least 6 characters.',{code:"INVALID_PARAMETER"});if(e.length>60)throw new te('"password" can be up to 60 characters max.',{code:"INVALID_PARAMETER"});return e},Email:function(e,t="email"){if(!e)throw new te(`"${t}" is required.`,{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new te(`"${t}"should be type: string.`,{code:"INVALID_PARAMETER"});if(e.length<5)throw new te(`"${t}" should be at least 5 characters.`,{code:"INVALID_PARAMETER"});if(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(e)&&(e=e.trim()).split("@")[1].split(".").length>=2)return e.toLowerCase();throw new te(`"${e}" is an invalid email.`,{code:"INVALID_PARAMETER"})},Url:function(e){const t=(()=>{let e=location.origin||null;return e&&"/"===e.slice(-1)&&(e=e.slice(0,-1)),e})();let n=e=>{if("string"==typeof e){if("*"===e)return"*";{let n,i=e.trim();if("/"===i[0]&&t){if("file:"===t.slice(0,5))throw new te(`"${e}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});i=t+i}else if("."===i[0]&&t){if("file:"===t.slice(0,5))throw new te(`"${e}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});let n=location.href.split("?")[0];"/"!==n.slice(-1)&&(n+="/"),i=n+i.slice(1)}try{n=new URL(i)}catch(t){throw new te(`"${e}" is an invalid url.`,{code:"INVALID_PARAMETER"})}if(n.protocol)return n.href}}throw new te(`"${e}" is an invalid url.`,{code:"INVALID_PARAMETER"})};return Array.isArray(e)?e.map((e=>n(e))):n(e)},specialChars:function(e,t="parameter",n=!1,i=!1){let r=e=>{if("string"!=typeof e)throw new te(`${t} should be type: <string | string[]>.`,{code:"INVALID_PARAMETER"});if(!i&&e.includes(" "))throw new te(`${t} should not have whitespace.`,{code:"INVALID_PARAMETER"});if(!n&&e.includes("."))throw new te(`${t} should not have periods.`,{code:"INVALID_PARAMETER"});if(/[!#$%&*()+\-{};'"|,<>\/~]/.test(e))throw new te(`${t} should not have special characters. Allowed special characters are: [ ] ^ _ \` : ; < = > ? @`,{code:"INVALID_PARAMETER"})};if(Array.isArray(e))for(let t of e)r(t);else r(e);return e},Params:function(e,t,n=[],i){let r=oe(e,i).data;t.service="string",t.owner="string";let s={};for(let e in t)if(r&&"object"==typeof r&&!Array.isArray(r)&&r.hasOwnProperty(e))if("function"==typeof r[e])s[e]=r[e];else try{s[e]=JSON.parse(JSON.stringify(r[e]))}catch(t){s[e]=r[e]}try{return ce(s,t,n)}catch(e){throw new te(e,{code:"INVALID_PARAMETER"})}},checkParams:ce};let le=null;function he(e){let t={tkid:"ticket_id",cond:"condition",actn:"action",cnt:"count",ttl:"time_to_live",stmp:"timestamp",plch:"placeholder",hash:"hash",desc:"description"},n={};for(let i in e)if("tkid"===i){let t=e[i].split("#");if(1===t.length){n.ticket_id=t[0];continue}n.ticket_id=t[1],n.consume_id=t[2],n.user_id=t[3],e.stmp||(n.timestamp=re(t[2].slice(0,-4)))}else t[i]?n[t[i]]=e[i]:n[i]=e[i];return n}async function de(e){if(!e.ticket_id)throw new te("Ticket ID is required.",{code:"INVALID_PARAMETER"});let t=e.ticket_id;return await this.__connection,he(await Qe.bind(this)(`https://${this.service.slice(0,4)}.${this.customApiDomain}/auth/consume/${this.service}/${this.owner}/${t}`,e,{auth:!0}))}async function fe(e,t){await this.__connection;let n=await Qe.bind(this)("ticket",Object.assign({exec:"list"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(he),n}async function pe(e,t){await this.__connection;let n=await Qe.bind(this)("ticket",Object.assign({exec:"consumed"},e||{}),{auth:!0,fetchOptions:t});return n.list=n.list.map(he),n}async function ge(e){return Qe.bind(this)("register-ticket",Object.assign({exec:"reg"},e),{auth:!0})}async function _e(e){return Qe.bind(this)("register-ticket",Object.assign({exec:"unreg"},e),{auth:!0})}async function me(){if(await this.__connection,this.session){const e=Math.floor(Date.now()/1e3),t=this.session.getIdToken().getExpiration();if(this.log("request:tokens",{exp:this.session.idToken.payload.exp,currentTime:e,expiresIn:t-e,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token}),t<e){this.log("request:requesting new token",null);try{await be.bind(this)().getSession({refreshToken:!0}),this.log("request:received new tokens",{exp:this.session.idToken.payload.exp,currentTime:e,expiresIn:t-e,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token})}catch(e){throw this.log("request:new token error",e),new te("User login is required.",{code:"INVALID_REQUEST"})}}return this.session?.idToken?.jwtToken}throw this.log("request:no session",null),Ee.bind(this)(),new te("User login is required.",{code:"INVALID_REQUEST"})}let ye=null;function we(e,t){return ye instanceof Promise?ye:new Promise(((n,i)=>{t.refreshSession(e.getRefreshToken(),((e,t)=>{this.log("getSession:refreshSessionCallback",{refreshErr:e,refreshedSession:t}),e?(Ee.bind(this)(),i(e)):t.isValid()?n(t):(Ee.bind(this)(),i(new te("Invalid session.",{code:"INVALID_REQUEST"})))}))}))}function be(){if(!this.userPool)throw new te("User pool is missing",{code:"INVALID_REQUEST"});const e=()=>{let e=ae(le.getSignInUserSession().getIdToken().payload||null);return this.log("normalized user attribute",e),this.__user=e,e},t=t=>{this.log("getSession:option",t);let{refreshToken:n=!1,skipEventTrigger:i=!1}=t||{};return new Promise(((r,s)=>{if(le=this.userPool.getCurrentUser(),!le)return this.log("getSession:cognitoUser",le),Ee.bind(this)(),void s(null);le.getSession(((o,a)=>{this.log("getSession:getSessionCallback",{err:o,session:a});let c=async n=>{let o=n.getIdToken().payload;if(this.log("getSession:respond:sessionAttribute",o),o["custom:service"]!==this.service)return this.log("getSession:respond","invalid service, signing out"),Ee.bind(this)(),void s(new te("Invalid session.",{code:"INVALID_REQUEST"}));t?._holdLogin?r((()=>(this.session=n,e(),i||this._runOnLoginListeners(this.user),this.session))):(this.session=n,e(),i||this._runOnLoginListeners(this.user),r(this.session))};if(!a)return Ee.bind(this)(),void s(new te("Current session does not exist.",{code:"INVALID_REQUEST"}));if(o)return void we.bind(this)(a,le).then((e=>c(e))).catch((e=>{Ee.bind(this)(),s(e)})).finally((()=>{ye=null}));const u=Math.floor(Date.now()/1e3),l=a.getIdToken().getExpiration(),h=l<u;this.log("getSession:currentTime",u),this.log("getSession:idTokenExp",l),this.log("getSession:isExpired",h),h||n||!a.isValid()?we.bind(this)(a,le).then((e=>c(e))).catch((e=>{Ee.bind(this)(),s(e)})).finally((()=>{ye=null})):c(a).catch((e=>s(e)))}))}))},n=(e,t)=>{let n=t||e.includes(this.service+"-")?e:this.service+"-"+ne.hash(e);return{cognitoUser:new B({Username:n,Pool:this.userPool}),cognitoUsername:n}};return{getSession:t,authenticateUser:(e,i,s=!1)=>new Promise(((o,a)=>{this.__request_signup_confirmation=null,this.__disabledAccount=null;let c=n(e,s),u=c.cognitoUsername,l=new r({Username:u,Password:i});c.cognitoUser.authenticateUser(l,{newPasswordRequired:(e,n)=>{this.__disabledAccount=null,this.__request_signup_confirmation=u,"PASS"===e["custom:signup_ticket"]||"MEMBER"===e["custom:signup_ticket"]?c.cognitoUser.completeNewPasswordChallenge(i,{},{onSuccess:e=>{le=c.cognitoUser,t().then((e=>o(this.user)))},onFailure:e=>{a(new te(e.message||"Failed to authenticate user.",{code:e.code}))}}):a(new te("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}))},onSuccess:e=>t().then((e=>{this.__disabledAccount=null,o(this.user)})),onFailure:e=>{let t=[e.message||"Failed to authenticate user.",e?.code||"INVALID_REQUEST"];"NotAuthorizedException"===e.code?"User is disabled."===e.message?(this.__disabledAccount=u,t=["This account is disabled.","USER_IS_DISABLED"]):t=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotFoundException"===e.code?t=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotConfirmedException"===e.code?(this.__request_signup_confirmation=u,t=["User's signup confirmation is required.","SIGNUP_CONFIRMATION_NEEDED"]):"TooManyRequestsException"!==e.code&&"LimitExceededException"!==e.code||(t=["Too many attempts. Please try again later.","REQUEST_EXCEED"]);let n=t[1],i=t[0],r=t[0].split("#");if(r.length>1&&(r=r[r.length-1].split(":"),n=r[0],i=r[1],"CONFIRM_REQUIRED"===n))return this.__request_signup_confirmation=u,void a(new te("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}));a(new te(i,{code:n,cause:e}))}})})),createCognitoUser:n,signup:(e,t,n)=>new Promise(((i,r)=>{this.userPool.signUp(e,t,n,null,((e,t)=>{e?r(e):i(t)}))}))}}async function Ae(e){await this.__authConnection;try{return await be.bind(this)().getSession(Object.assign({skipEventTrigger:!0},e)),this.user}catch(e){return null}}async function ve(e){await this.__connection,e=ue.Params(e,{token:"string",id:"string"});let t=await Qe.bind(this)("openid-logger",e),n=t.logger.split("#"),i=this.service+"-"+n[0],r=n[1];return{userProfile:await be.bind(this)().authenticateUser(i,r,!0),openid:t.openid}}async function Se(){return await this.__connection,this.__user?.service===this.service?this.__user?.owner===this.host:(await Ie.bind(this)(),!1)}function Ee(){le&&le.signOut();let e={session:null,__startKeyHistory:{},__cached_requests:{},__user:null};for(let t in e)this[t]=e[t];this._runOnLoginListeners(null)}async function Ie(){return await this.__connection,Ee.bind(this)(),"SUCCESS: The user has been logged out."}async function Te(){if(!this.__request_signup_confirmation)throw new te("Least one login attempt is required.",{code:"INVALID_REQUEST"});return await Qe.bind(this)("confirm-signup",{username:this.__request_signup_confirmation})}async function Re(e=!1){if("string"==typeof e)e=ue.Url(e);else if("boolean"!=typeof e)throw new te("Argument should be type: <boolean | string>.",{code:"INVALID_REQUEST"});if(!this.__disabledAccount)throw new te("Least one signin attempt of disabled account is required.",{code:"INVALID_REQUEST"});return await Qe.bind(this)("recover-account",{username:this.__disabledAccount,redirect:e}),"SUCCESS: Recovery e-mail has been sent."}async function De(e){let t=ue.Params(e,{username:"string",email:"string",password:"string"},["password"]);if(await this.__authConnection,t.email)try{ue.Email(t.email)}catch(e){t.username=t.email,delete t.email}if(!t.username&&!t.email)throw new te('Least one of "username" or "email" is required.',{code:"INVALID_PARAMETER"});return await be.bind(this)().authenticateUser(t.username||t.email,t.password)}async function Ue(e,t){await this.__authConnection;let n={username:"string",password:e=>ue.Password(e),email:e=>ue.Email(e),name:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",gender:"string",birthdate:e=>e?ue.Birthdate(e):"",phone_number:e=>e?ue.PhoneNumber(e):"",email_public:["boolean",()=>!1],address_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],access_group:"number",misc:"string",picture:e=>e?ue.Url(e):"",profile:e=>e?ue.Url(e):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?ue.Url(e):""},i=ue.Params(e||{},n,["email","password"]);await Ie.bind(this)(),t=ue.Params(t||{},{email_subscription:e=>{if("boolean"!=typeof e)throw new te('"option.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!t?.signup_confirmation)throw new te('"option.signup_confirmation" is required for email subscription.',{code:"INVALID_PARAMETER"});return e},signup_confirmation:e=>{let t=e;if("string"==typeof e)t=ue.Url(e);else{if("boolean"!=typeof e)throw new te('"option.signup_confirmation" should be type: <string | boolean>.',{code:"INVALID_PARAMETER"});t=e}if(t&&!i.email)throw new te('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return t},login:e=>{if("boolean"==typeof e){if(t.signup_confirmation&&e)throw new te('"login" is not allowed when "option.signup_confirmation" is true.',{code:"INVALID_PARAMETER"});return e}throw new te('"option.login" should be type: boolean.',{code:"INVALID_PARAMETER"})}});let r=t?.login||!1;if(i.signup_confirmation=t?.signup_confirmation||!1,i.email_subscription=t?.email_subscription||!1,i.email_public&&!i.signup_confirmation)throw new te('"option.signup_confirmation" should be true if "email_public" is set to true.',{code:"INVALID_PARAMETER"});i.service=this.service,i.owner=this.owner;let s=be.bind(this)().createCognitoUser(i.username||i.email);for(let e of["email_public","address_public","gender_public","birthdate_public","phone_number_public"])i[e]=i[e]?"1":"0";i.access_group&&(i.access_group=i.access_group.toString());let o=(await Qe.bind(this)("signupkey",{username:s.cognitoUsername,signup_confirmation:"boolean"==typeof i.signup_confirmation?JSON.stringify(i.signup_confirmation):i.signup_confirmation,email_subscription:i.email_subscription})).split(":"),a=o.slice(1).join(":"),c=[new V({Name:"custom:signup",Value:o[0]}),new V({Name:"locale",Value:a.split("#")[1]}),new V({Name:"custom:signup_ticket",Value:a})];for(let e in n){let t=["email_public","address_public","gender_public","birthdate_public","phone_number_public","misc","service","owner"];""!==i[e]&&"username"!==e&&"password"!==e&&"access_group"!==e&&(t.includes(e)?c.push(new V({Name:"custom:"+e,Value:i[e]})):c.push(new V({Name:e,Value:i[e]})))}return await be.bind(this)().signup(s.cognitoUsername,i.password,c),i.signup_confirmation?(le=s.cognitoUser,this.__request_signup_confirmation=s.cognitoUsername,"SUCCESS: The account has been created. User's signup confirmation is required."):r?De.bind(this)({email:i.username||i.email,password:i.password}):"SUCCESS: The account has been created."}async function Ce(){await this.__connection;let e=await Qe.bind(this)("remove-account",{disable:this.__user.user_id},{auth:!0});return await Ie.bind(this)(),e}async function Pe(e){await this.__connection;let t=ue.Params(e,{email:e=>ue.Email(e),code:["number","string"],new_password:e=>ue.Password(e)},["email","code","new_password"]),n=t.code,i=t.new_password;return"number"==typeof n&&(n=n.toString()),new Promise((async(e,r)=>{be.bind(this)().createCognitoUser(t.email).cognitoUser.confirmPassword(n,i,{onSuccess:t=>{e("SUCCESS: New password has been set.")},onFailure:e=>{r(new te(e?.message||"Failed to reset password.",{code:e?.code}))}})}))}async function ke(e,t){let n;if(await this.__connection,!le)throw new te("The user has to be logged in.",{code:"INVALID_REQUEST"});if("email"===e||"phone_number"===e){if(!this.__user.hasOwnProperty(e))throw new te(`No ${"email"===e?"e-mail":"phone number"} to verify`,{code:"INVALID_REQUEST"});return this.__user?.[`${e}_verified`]?`SUCCESS: "${e}" is verified.`:(n=(t?ue.Params(t,{code:["string"]}):{}).code||"",new Promise(((t,i)=>{let r={onSuccess:r=>{n?be.bind(this)().getSession({refreshToken:!0}).then((()=>{this.__user&&(this.__user[e+"_verified"]=!0),t(`SUCCESS: "${e}" is verified.`)})).catch((e=>{i(e)})):t("SUCCESS: Verification code has been sent.")},onFailure:e=>{i(new te(e.message||"Failed to request verification code.",{code:e?.code}))}};n?le?.verifyAttribute(e,n,r):(r.inputVerificationCode=null,le?.getAttributeVerificationCode(e,r))})))}}function Ne(e){return ke.bind(this)("phone_number",e)}function Le(e){return ke.bind(this)("email",e)}async function Oe(e){await this.__connection;let t=ue.Params(e,{email:e=>ue.Email(e)},["email"]);return new Promise((async(e,n)=>{be.bind(this)().createCognitoUser(t.email).cognitoUser.forgotPassword({onSuccess:t=>{e("SUCCESS: Verification code has been sent.")},onFailure:e=>{n(new te(e?.message||"Failed to send verification code.",{code:e?.code||"ERROR"}))}})}))}async function Me(e){if(await this.__connection,!this.session)throw new te("User login is required.",{code:"INVALID_REQUEST"});let t=ue.Params(e,{current_password:"string",new_password:"string"});if(!t?.current_password)throw new te('"current_password" is required to change password.',{code:"INVALID_PARAMETER"});if(!t?.new_password)throw new te('"new_password" is required to change password.',{code:"INVALID_PARAMETER"});return ue.Password(t.current_password),ue.Password(t.new_password),new Promise(((e,n)=>{le.changePassword(t.current_password,t.new_password,((t,i)=>{t&&n("InvalidParameterException"===t?.code?new te("Invalid password parameter.",{code:"INVALID_PARAMETER"}):"NotAuthorizedException"===t?.code?new te("Incorrect password.",{code:"INVALID_REQUEST"}):"TooManyRequestsException"===t?.code||"LimitExceededException"===t?.code?new te("Too many attempts. Please try again later.",{code:"REQUEST_EXCEED"}):new te(t?.message||"Failed to change user password.",{code:t?.code||t?.name})),e("SUCCESS: Password has been changed.")}))}))}async function Ve(e){if(await this.__connection,!this.session)throw new te("User login is required.",{code:"INVALID_REQUEST"});let t=ue.Params(e||{},{email:e=>ue.Email(e),address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",name:"string",gender:"string",birthdate:e=>e?ue.Birthdate(e):"",phone_number:e=>e?ue.PhoneNumber(e):"",email_public:"boolean",phone_number_public:"boolean",address_public:"boolean",gender_public:"boolean",birthdate_public:"boolean",misc:"string",picture:e=>e?ue.Url(e):"",profile:e=>e?ue.Url(e):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?ue.Url(e):""});if(t&&"object"==typeof t&&!Object.keys(t).length)return this.user;t.email&&(t.preferred_username=this.service+"-"+ne.hash(t.email));let n=[["email_public","email_verified","User's E-Mail should be verified to set"],["phone_number_public","phone_number_verified","User's phone number should be verified to set"]];if(this.__user)for(let e of n)if(t[e[0]]&&!this.__user[e[1]])throw new te(`${e[2]} "${e[0]}" to true.`,{code:"INVALID_REQUEST"});let i=[];for(let e in t)if(t[e]!==this.user[e]){if(["email_public","phone_number_public","address_public","gender_public","birthdate_public","misc"].includes(e)){let n=t[e];"boolean"==typeof n&&(n=n?"1":"0"),t["custom:"+e]=n,i.push(e)}}else i.push(e);for(let e of i)delete t[e];if(t&&"object"==typeof t&&Object.keys(t).length){let e=[];for(let n in t)e.push(new V({Name:n,Value:t[n]}));return await new Promise(((t,n)=>{le?.updateAttributes(e,((e,i)=>{e&&n([e?.code||e?.name,e?.message||"Failed to update user settings."]),t(i)}))})),await be.bind(this)().getSession({refreshToken:!0}),this.user}return this.user}async function xe(e,t){(e=oe(e).data)||(e={searchFor:"timestamp",condition:">",value:0},t||(t={}),t.ascending=!1),await this.__connection;const n={user_id:e=>Array.isArray(e)?e.map((e=>ue.UserId(e))):ue.UserId(e),email:"string",phone_number:"string",locale:e=>{if("string"!=typeof e||"string"==typeof e&&e.length>5)throw new te('Value of "locale" should be a country code.',{code:"INVALID_PARAMETER"});return e},name:"string",address:"string",gender:"string",birthdate:e=>ue.Birthdate(e),subscribers:"number",timestamp:"number",access_group:"number",approved:"string"};if(e=ue.Params(e,{searchFor:["user_id","name","email","phone_number","address","gender","birthdate","locale","subscribers","timestamp","access_group","approved"],condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],value:t=>{let i=n[e.searchFor];if("function"==typeof i)return i(t);if(typeof t!==i)throw new te(`Value does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});return t},range:t=>{let i=n[e.searchFor];if("function"==typeof i)return i(t);if(typeof t!==i)throw new te(`Range does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});return t}},["searchFor","value"]),e?.condition&&"="!==e?.condition&&e.hasOwnProperty("range"))throw new te("Conditions does not apply on range search.",{code:"INVALID_PARAMETER"});if("user_id"===e.searchFor&&("="!==e.condition||e.range))throw new te(`Conditions are not allowed on "${e.searchFor}"`,{code:"INVALID_PARAMETER"});if("string"==typeof e?.value&&!e?.value)throw new te("Value should not be an empty string.",{code:"INVALID_PARAMETER"});if("string"==typeof e?.searchFor&&!e?.searchFor)throw new te('"searchFor" should not be an empty string.',{code:"INVALID_PARAMETER"});return Qe.bind(this)("get-users",e,{auth:!0,fetchOptions:t})}async function Fe(e){await this.__connection;let t=await Qe.bind(this)("last-verified-email",e,{auth:!0});return t.includes("SUCCESS")?(await be.bind(this)().getSession({refreshToken:!0}),this.user):t}async function qe(e){return await this.__connection,e=ue.Params(e,{username:ue.Email,redirect:ue.Url},["username"]),await Qe.bind(this)("request-username-change",e,{auth:!0})}let $e=0,Be=0,je=0,Ke=0;async function He(e,t){const n=await Promise.all([this.admin_endpoint,this.record_endpoint]),i=n[0],r=n[1];let s=e.split("?"),o=s.length>1?"?"+s[1]:"";switch(e=s[0]){case"get-users":return i.get_users_private+e+o;case"service":return i.service_public+e+o;case"get-newsletters":case"get-public-newsletters":case"subscribe-newsletter":case"subscribe-public-newsletter":case"signupkey":case"admin-newsletter-request":return(t?i.extra_private:i.extra_public)+e+o;case"admin-signup":case"confirm-signup":case"client-secret-request":case"client-secret-request-public":case"openid-logger":return(t?i.extra_private_2:i.extra_public_2)+e+o;case"block-account":return i.admin_private+e+o;case"remove-account":case"post-secure":case"recover-account":case"mock":case"grant-access":case"last-verified-email":case"ticket":case"register-ticket":case"get-newsletter-subscription":case"request-username-change":case"send-inquiry":case"invitation-list":case"grant-access":const n=t?[i.admin_private,i.admin_private_2]:[i.admin_public,i.admin_public_2],s=n[(t?$e:Be)%n.length];return t?$e++:Be++,s+e+o;case"post-record":return(t?r.post_private:r.post_public)+e+o;case"get-records":return(t?r.get_private:r.get_public)+e+o;case"del-files":case"del-records":return r.del_private+e+o;case"store-subscription":case"get-vapid-public-key":case"push-notification":case"delete-subscription":case"subscription":case"get-subscription":case"get-table":case"get-tag":case"get-index":case"get-signed-url":case"grant-private-access":case"request-private-access-key":case"get-ws-group":case"check-schema":case"get-feed":case"castspell":case"dopamine":case"getspell":const a=t?[r.record_private,r.record_private_2]:[r.record_public,r.record_public_2],c=a[(t?je:Ke)%a.length];return t?je++:Ke++,c+e+o;default:return ue.Url(e)}}const Je={};async function Qe(e,t=null,n,i){this.log("request",{url:e,data:t,options:n,_etc:i||{}}),n=n||{};let{auth:r=!1,method:s="post",bypassAwaitConnection:o=!1}=n;s=s.toUpperCase();let a=null,c=this.service,u=this.owner,l=null,h=await He.bind(this)(e,!!r);if(!o&&(a=await this.__connection,!a))throw new te("Invalid connection. The service could have been disabled, or has a restricted CORS.",{code:"INVALID_REQUEST"});r&&(l=await me.bind(this)());let d={},{fetchMore:f=!1,progress:p}=n?.fetchOptions||{};if(n?.fetchOptions&&Object.keys(n.fetchOptions).length){for(let e of["limit","startKey","ascending"])n.fetchOptions.hasOwnProperty(e)&&(d[e]=n.fetchOptions[e]);d=ue.Params(d,{limit:e=>{if("number"!=typeof e)throw new te("Fetch limit should be a number.",{code:"INVALID_REQUEST"});if(e>1e3)throw new te("Fetch limit should be below 1000.",{code:"INVALID_REQUEST"});return e},startKey:e=>e,ascending:"boolean"})}let g=i?.ignoreService?{}:{service:c,owner:u};Object.assign(g,d),(t=oe(t).data)?t&&"object"==typeof t&&(t=Object.assign(g,t)):t=g;let _=(()=>{if(t&&"object"==typeof t&&Object.keys(t).length&&!(t instanceof FormData)){function n(e){return"object"==typeof e&&null!==e?Object.keys(e).sort().reduce(((t,i)=>("object"==typeof e[i]&&null!==e[i]?t[i]=n(e[i]):t[i]=e[i],t)),{}):e}return ne.hash(e+"/"+JSON.stringify(n(t)))}return ne.hash(e+"/"+this.service)})(),m=We.bind(this)({params:t,url:e,fetchMore:f,hashedParams:_});if(this.log("requestKey",m),!m||m&&"object"==typeof m)return m;if("string"==typeof m&&Je[m]instanceof Promise)return this.log("request:returning pending",m),Je[m];let y={Accept:"*/*","Content-Type":n.hasOwnProperty("contentType")?null===n.contentType?"application/x-www-form-urlencoded":n.contentType||"application/json":"application/json"};l&&(y.Authorization=l),"application/json"!==y["Content-Type"]&&(y["Content-Meta"]=JSON.stringify({service:c,owner:u}));let w={headers:y};if(n?.responseType&&(w.responseType=n.responseType),"GET"===s){if(t){let e=[];if(t instanceof FormData)for(let[n,i]of t.entries())"string"==typeof i&&(i=encodeURIComponent(i),e.push(`&${n}=${i}`));else e=Object.keys(t).map((e=>{let n=t[e];return"string"!=typeof n&&(n=JSON.stringify(n)),encodeURIComponent(e)+"="+encodeURIComponent(n)}));e.length&&("?"!==h.substring(h.length-1)&&(h+="?"),h+=e.join("&"))}w.body=null}else w.body=t?JSON.stringify(t):null;w.method=s;let b=Ye.bind(this)(h,w,p);Je[m]=b.finally((()=>{delete Je[m]}));try{let t=Ge.bind(this)({hashedParam:m,url:e,fetched:await b});return this.log("request:end",t),t}catch(e){throw this.log("request:err",e),e}}function We(e){let{params:t={},url:n,fetchMore:i=!1,hashedParams:r}=e||{};if(t.startKey){if(("object"!=typeof t.startKey||!Object.keys(t.startKey).length)&&"start"!==t.startKey&&"end"!==t.startKey)throw new te(`"${t.startKey}" is invalid startKey key.`,{code:"INVALID_PARAMETER"});"start"===t.startKey&&(i=!1,delete t.startKey)}if(!i&&this.__startKeyHistory?.[n]?.[r]){if(this.__cached_requests?.[n]?.[r]&&delete this.__cached_requests[n][r],Array.isArray(this.__startKeyHistory[n][r])&&this.__startKeyHistory[n][r].length)for(let e of this.__startKeyHistory[n][r]){let t=r+ne.hash(e);this.__cached_requests?.[n]&&this.__cached_requests?.[n]?.[t]&&delete this.__cached_requests[n][t]}return delete this.__startKeyHistory[n][r],r}if(!Array.isArray(this.__startKeyHistory?.[n]?.[r]))return r;let s=this.__startKeyHistory[n][r],o=s[s.length-1],a=r;if(o){if("end"===o)return{list:[],startKey:"end",endOfList:!0,startKeyHistory:s};a+=ne.hash(o),t.startKey=JSON.parse(o)}return this.__cached_requests?.[n]?.[a]?this.__cached_requests[n][a]:r}function Ye(e,t,n){return new Promise(((i,r)=>{let s=new XMLHttpRequest;for(var o in s.open(t.method||"GET",e),t.headers||{})s.setRequestHeader(o,t.headers[o]);t.responseType&&(s.responseType=t.responseType),s.onload=()=>{if(s.status<400)if("json"==t.responseType||"blob"==t.responseType)i(s.response);else{let e=s.responseText;try{e=JSON.parse(e)}catch(e){}i(e)}else if(429===s.status){let o=s.getResponseHeader("Retry-After");o?setTimeout((()=>{Ye(e,t,n).then(i,r)}),1e3*parseInt(o)):r("Too many requests")}else{let e=s.status,t=["INVALID_CORS","INVALID_REQUEST","SERVICE_DISABLED","INVALID_PARAMETER","ERROR","EXISTS","NOT_EXISTS"],n=s.responseText;try{n=JSON.parse(n)}catch(e){}if("string"==typeof n){let e=s.response.split(":"),n=e.splice(0,1)[0].trim();r(new te(e.join(":").trim(),{code:t.includes(n)?n:"ERROR"}))}else if("object"==typeof n&&n?.message){let t=n?.code||(e?e.toString():null)||"ERROR",i=n.message,s=n?.cause;"string"==typeof i&&(i=i.trim()),r(new te(i,{cause:s,code:t}))}else r(n)}},s.onerror=()=>r("Network error"),s.onabort=()=>r("Aborted"),s.ontimeout=()=>r("Timeout"),"function"==typeof n&&(s.onprogress=e=>{n({status:"download",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>s.abort()})},s.upload&&(s.upload.onprogress=e=>{n({status:"upload",progress:e.loaded/e.total*100,loaded:e.loaded,total:e.total,abort:()=>s.abort()})})),s.send(t.body)}))}function Ge(e){let{hashedParam:t,url:n,fetched:i}=e;if(!i?.startKey)return i;this.__startKeyHistory.hasOwnProperty(n)||(this.__startKeyHistory[n]={}),this.__cached_requests?.[n]||(this.__cached_requests[n]={}),this.__cached_requests[n][t]=i,this.__startKeyHistory[n].hasOwnProperty(t)||(this.__startKeyHistory[n][t]=[]);let r="end"===i.startKey?"end":JSON.stringify(i.startKey);return this.__startKeyHistory[n][t].includes(r)||this.__startKeyHistory[n][t].push(r),Object.assign({startKeyHistory:this.__startKeyHistory[n][t]},i)}async function ze(e,t){await this.__connection;let{record_id:n,service:i=this.service,progress:r}=t;if(!n)throw new te('"record_id" is required.',{code:"INVALID_PARAMETER"});if(e instanceof SubmitEvent&&(e=e.target),e instanceof HTMLFormElement&&(e=new FormData(e)),!(e instanceof FormData))throw new te('"fileList" should be a FormData or HTMLFormElement.',{code:"INVALID_PARAMETER"});let s,o={reserved_key:se(),service:i,request:"post"};t?.record_id&&(o.id=t.record_id);let a=(e,t,n)=>new Promise(((i,r)=>{s=new XMLHttpRequest,s.open("POST",e),s.onload=()=>{let o=s.responseText;try{o=JSON.parse(o)}catch(e){}if(s.status>=200&&s.status<300)i(o);else if(429===s.status){let o=s.getResponseHeader("Retry-After");o?setTimeout((()=>{a(e,t,n).then(i,r)}),1e3*parseInt(o)):r("Too many requests")}else r(o)},s.onerror=()=>r("Network error"),s.onabort=()=>r("Aborted"),s.ontimeout=()=>r("Timeout"),s.upload&&"function"==typeof n&&(s.upload.onprogress=n),s.send(t)})),c=[],u=[];function l(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return t[0];let n="";for(;e>0;)n=t[e%62]+n,e=Math.floor(e/62);return n}let h=[];for(let[t,n]of e.entries()){if(!(n instanceof File))continue;let e=Object.assign({key:t+"/"+n.name,sizeKey:l(n.size),contentType:n.type||null},o),{fields:i=null,url:d,cdn:f}=await Qe.bind(this)("get-signed-url",e,{auth:!0});h.push(f);let p=new FormData;for(let e in i)p.append(e,i[e]);p.append("file",n);try{await a(d,p,"function"==typeof r?e=>r({status:"upload",progress:e.loaded/e.total*100,currentFile:n,completed:c,failed:u,loaded:e.loaded,total:e.total,abort:()=>s.abort()}):null),c.push(n)}catch(e){u.push(n)}}return{completed:c,failed:u,bin_endpoints:h}}const Ze={};function Xe(e){let{preventMultipleCalls:t=!1}=e||{};return function(e,n,i){const r=i.value;i.value=function(...e){let i=e[0],s=!0,o=null,a="",c={},u=!1;if(i instanceof SubmitEvent){i.preventDefault();let e=location.href;o=i.target;let t=new URL(o.action);a=t.href;let n=a?a.match(/(?<=\{).*?(?=\})/g):"";if(n)for(let e of n){if(!e)continue;let t=o.querySelector(`[name="${e}"]`);if(t)if("file"===t.type)for(let n=0;n<=t.files.length-1;n++)t.files[n]&&(c[e]||(c[e]=[]),c[e].push(new Promise(((e,i)=>{let r=new FileReader;r.onload=function(){e(r.result)},r.readAsDataURL(t.files[n]),r.onerror=i}))));else a=a.replace(`{${e}}`,t.value)}null===o.getAttribute("action")?s=!1:u=t.href===e}const l=async e=>{if(a)for(let e in c)c[e].length&&(a=a.replace(`{${e}}`,(await Promise.all(c[e])).join(",")));return o&&s&&(sessionStorage.setItem(`${this.service}:${ne.hash(a)}`,JSON.stringify(e)),u?location.replace(a):location.href=a),e};let h;const d=async()=>{try{if(h=r.bind(this)(...e),h instanceof Promise){let e=await h;return await l(e),h}}catch(e){throw(e=>{throw e instanceof te?e.name=n+"()":e=e instanceof Error?e:new te(e,{name:n+"()"}),e})(e)}};return t?(Ze?.[n]||(Ze[n]=d().finally((()=>{delete Ze[n]}))),Ze[n]):d()}}}async function et(){await this.__connection;let e=`${this.service}:${ne.hash(location.href.split("?")[0])}`,t=sessionStorage.getItem(e);if(sessionStorage.removeItem(e),null!==t){try{t=JSON.parse(t)}catch(e){}return t}return null}function tt(e,t="parameter",n=!1,i=!1){if(!e)throw new te(`"${t}" is required.`,{code:"INVALID_PARAMETER"});return ue.specialChars(e,t,n,i)}function nt(e){if(void 0===e)return 0;if("number"==typeof e){if(e>99||e<0)throw new te('"table.access_group" value should be within a range of 0 ~ 99.',{code:"INVALID_REQUEST"})}else{if("string"!=typeof e)throw new te('"table.access_group" should be type: <number | string>.',{code:"INVALID_PARAMETER"});if(void 0===(e={private:"private",public:0,authorized:1,admin:99}[e]))throw new te('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"})}if(!this.__user&&e)throw new te("Unsigned users have no access to records with access group.",{code:"INVALID_REQUEST"});return e}const it=4503599627370496;function rt(e){if("number"==typeof e){if(e>it||e<-it)throw new te(`Number value should be within range -${it} ~ +${it}`,{code:"INVALID_PARAMETER"});return e}if("boolean"==typeof e)return e;if("string"==typeof e)return tt(e,"index.value",!1,!0);throw new te('"index.value" should be type: <number | boolean | string>.',{code:"INVALID_PARAMETER"})}function st(e){return{table:{name:[e=>tt(e,"table.name",!0,!0)],access_group:[nt.bind(this)],subscription:e=>{if("string"==typeof e)return ue.UserId(e,'User ID in "subscription"'),e}},reference:"string",index:{name:["$updated","$uploaded","$referenced_count","$user_id",e=>tt(e,"index.name",!0,!1)],value:t=>{const n={$updated:"number",$uploaded:"number",$referenced_count:"number",$user_id:ue.UserId};if(n.hasOwnProperty(e.index.name)){let i=n[e.index.name];if("function"==typeof i)return i(t);if(i!==typeof t)throw new te(`"index.value" should be type: ${i}.`,{code:"INVALID_PARAMETER"});return t}return"string"!=typeof t||t?rt(t):" "},condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"],range:t=>function(e,t){if(!t.index||!("value"in t.index))throw new te('"index.value" is required.',{code:"INVALID_PARAMETER"});if("$record_id"===t.index.name)throw new te(`Cannot do "index.range" on ${t.index.name}`,{code:"INVALID_PARAMETER"});if(typeof t.index.value!=typeof e)throw new te('"index.range" type should match the type of "index.value".',{code:"INVALID_PARAMETER"});return"string"==typeof e?ue.specialChars(e,"index.range",!1,!0):e}(t,e)},tag:e=>{if(null==e)return e;if("string"==typeof e)return ue.specialChars(e,"tag",!1,!0);throw new te('"tag" should be type: string.',{code:"INVALID_PARAMETER"})},private_key:"string"}}async function ot(e){this.log("normalizeRecord",e);const t={user_id:"",record_id:"",updated:0,uploaded:0,readonly:!1,table:{name:"",access_group:0},referenced_count:0,source:{referencing_limit:null,prevent_multiple_referencing:!1,can_remove_referencing_records:!1,only_granted_can_reference:!1},ip:"",bin:{}};function n(e){let t="**"==e?"private":parseInt(e);return t=0==t?"public":1==t?"authorized":99==t?"admin":t,t}const i={ip:e=>{let n=e.split("#"),i=n[0];n.length>1&&(t.unique_id=n[1]),"R"===i.slice(-1)?(t.readonly=!0,i=i.slice(0,-1)):t.readonly=!1,t.ip=i},rec:e=>{if(!e)return;t.record_id=e;let n=re(e.substring(0,e.length-9));t.uploaded=n},usr:e=>{t.user_id=e},tbl:e=>{if(e&&!t.table.name){let i=e.split("/");t.table.name=i[0],t.table.access_group=n(i[2]),i?.[3]&&(t.table?.subscription||(t.table.subscription={}),t.table.subscription.is_subscription_record=!0)}},usr_tbl:e=>{let i=e.split("/");t.user_id||(t.user_id=i[0]),t.table.name||(t.table.name=i[1],t.table.access_group=n(i[3]),i?.[4]&&(t.table?.subscription||(t.table.subscription={}),t.table.subscription.is_subscription_record=!0))},idx:e=>{if(!e)return;let n=e.split("!"),i=n.splice(0,1)[0],r=function(e){let t=e.substring(3);switch(e.substring(0,3)){case"!S%":return t;case"!N%":let n=t.split("."),i=Number(n[0])-4503599627370496;return 1===n.length?i:parseFloat(i.toString()+"."+n[1]);case"!B%":return"1"===t;case"!L%":case"!D%":try{return JSON.parse(t)}catch(e){throw new te("Value parse error.",{code:"PARSE_ERROR"})}default:return e}}("!"+n.join("!"));t.index={name:i,value:r}},ref:e=>{e&&(t.reference=e.split("/")[0])},tags:e=>{t.tags=e},upd:e=>{t.updated=e},acpt_mrf:e=>{t.source.prevent_multiple_referencing=!e},ref_limt:e=>{t.source.referencing_limit=e},rfd:e=>{t.referenced_count=e},bin:async e=>{let i={};if(Array.isArray(e))for(let r of e){let e=r.split("/").slice(3).join("/"),s=e.split("/"),o=decodeURIComponent(s.slice(-1)[0]),a=decodeURIComponent(s[10]),c=s[9],u=s[8],l=n(s[6]),h=r;"public"!==l&&(h=await ct.bind(this)(r,{dataType:"endpoint"}));let d=t?.ref||null;d&&(d=d.split("/")[0]);let f={access_group:l,filename:o,url:h,path:e,size:re(c),uploaded:re(u),getFile:(e,t)=>{let n={dataType:e||"download",progress:t,_ref:d,_update:f};return ct.bind(this)(r,n)}};i[a]?i[a].push(f):i[a]=[f]}t.bin=i},prv_acs:e=>{for(let n in e)["notify_subscribers","exclude_from_feed","feed_referencing_records","notify_referencing_records"].includes(n)?(t.table.subscription||(t.table.subscription={}),t.table.subscription[n]=e[n]):t.source[n]=e[n]},data:e=>{let n=e;"!D%{}"===e?n={}:"!L%[]"===e&&(n=[]),t.data=n}};if(e.record_id)return e;if(this.__iPosted[e.rec]){if(this.__iPosted[e.rec].record_id)return this.__iPosted[e.rec];delete this.__iPosted[e.rec]}for(let t in i)if(e.hasOwnProperty(t)){let n=i[t](e[t]);n instanceof Promise&&await n}return t}async function at(e){let{endpoints:t}=e;if("string"==typeof t&&(t=[t]),!Array.isArray(t))throw new te('"endpoints" should be type: array | string.',{code:"INVALID_PARAMETER"});let n=await Qe.bind(this)("del-files",{endpoints:t,storage:"records"},{auth:!0,method:"post"});for(let e in n)n[e]=ot.bind(this)(n[e]);return await Promise.all(n)}async function ct(e,t){if("string"!=typeof e)throw new te('"url" should be type: string.',{code:"INVALID_PARAMETER"});let n=!1,i=(e=ue.Url(e.split("?")[0])).split("/"),r=i[2].split("."),s=null;3===r.length&&"skapi"===r[1]&&(s=r[0],n=!0);let o=i.slice(3),a=!1;if(!n&&("auth"===o[0]||"publ"===o[0]))try{ue.UserId(o[2]),ue.UserId(o[3]),a="auth"==o[0],n=!0}catch{throw new te("Invalid file url.",{code:"INVALID_PARAMETER"})}let c=s?null:o[1];if(t=ue.Params(t,{expires:["number",()=>0],dataType:["base64","blob","endpoint","text","info",()=>"download"],progress:"function",_ref:"string",_update:e=>e}),"info"===t?.dataType)return{url:e,filename:o[o.length-1],fileKey:o[o.length-2],access_group:"**"===o[6]?"private":"01"===o[6]?"authorized":"00"===o[6]?"public":parseInt(o[6]),uploader:o[3],record_id:"records"===o[4]?o[5]:"N/A",filesize:re(o[9]),uploaded:re(o[8])};let u=e.split("/").slice(-1)[0],l=t.expires;if(l){if(!n)throw new te("Expires option can only be used on skapi cdn endpoints.",{code:"INVALID_PARAMETER"});if(l<0)throw new te('"config.expires" should be > 0. (seconds)',{code:"INVALID_PARAMETER"});let t={request:s?"get-host":"get",id:s||o[5],key:e,expires:l};c&&(t.service=c),e=(await Qe.bind(this)("get-signed-url",t,{auth:!0})).url}else if(a){let n=Math.floor(Date.now()/1e3);if(this.log("getFile:tokens",{exp:this.session.idToken.payload.exp,currTime:n,expiresIn:this.session.idToken.payload.exp-n,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token}),this.session.idToken.payload.exp<n){this.log("getFile:requesting new token",null);try{await be.bind(this)().getSession({refreshToken:!0}),this.log("getFile:received new tokens",{exp:this.session.idToken.payload.exp,currTime:n,expiresIn:this.session.idToken.payload.exp-n,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token})}catch(e){throw this.log("getFile:new token error",e),new te("User login is required.",{code:"INVALID_REQUEST"})}}let i=this.session?.idToken?.jwtToken;e+=`?t=${i}`;let r="**"===o[6]?"**":parseInt(o[6]);if(this.user.user_id!==o[3]&&("**"===r||this.user?.access_group<r)){let n=o[5];if(this.__private_access_key[n]&&"string"==typeof this.__private_access_key[n])e+="&p="+this.__private_access_key[n];else try{let i=await this.requestPrivateRecordAccessKey({record_id:n,reference_id:t?._ref});e+="&p="+i}catch(e){}}}if("endpoint"===t?.dataType)return t._update&&(t._update.url=e),e;if("download"===t?.dataType){let t=document.createElement("a");return t.href=e,document.body.appendChild(t),t.setAttribute("download",u),t.target="_blank",t.click(),document.body.removeChild(t),null}return new Promise((async(n,i)=>{try{let i=await Qe.bind(this)(e,null,{method:"get",contentType:null,responseType:"text"===t?.dataType?"text":"blob",fetchOptions:{progress:t?.progress}},{ignoreService:!0});if("base64"===t?.dataType){const e=new FileReader;e.onloadend=()=>n(e.result),e.readAsDataURL(i)}else n(i)}catch(e){i(e)}}))}async function ut(e,t=!1){e=oe(e,{ignoreEmpty:!0}).data,"string"==typeof e?.table&&(e.table={name:e.table,access_group:0});let n="",i=function(e){if(!e.record_id&&!e.unique_id)return null;let t={};return e?.service&&(t.service=e.service),e?.owner&&(t.owner=e.owner),e?.record_id?t.record_id=ue.specialChars(e.record_id,"record_id",!1,!1):e?.unique_id&&(t.unique_id=e.unique_id),t}(e);if(i)n=(e=i).record_id||e.unique_id,"string"==typeof n&&("string"==typeof this.__private_access_key?.[n]&&(e.private_key=this.__private_access_key?.[n]||void 0),this.__my_unique_ids[n]&&(t?delete this.__my_unique_ids[n]:(e.record_id=this.__my_unique_ids[n],delete e.unique_id)));else{let t=await Se.bind(this)(),i=e.reference,r="";i?.record_id||i?.unique_id?(n=i.record_id||i.unique_id,"string"==typeof this.__private_access_key?.[n]&&(e.private_key=this.__private_access_key?.[n]||void 0),this.__my_unique_ids[n]&&(e.record_id=this.__my_unique_ids[n],delete e.unique_id)):i?.user_id&&(r=i.user_id),e=ue.Params(e||{},st.bind(this)(e),r||t?[]:["table"],{ignoreEmpty:!0})}return{query:e,is_reference_fetch:n}}async function lt(e,t){await this.__connection;let n=await ut.bind(this)(e),i=n.is_reference_fetch;i&&"string"==typeof this.__private_access_key[i]&&(n.query.private_key=this.__private_access_key[i]||void 0);let r=await Qe.bind(this)("get-records",n.query,{fetchOptions:t,auth:!!this.__user,method:this.__user?"post":"get"});i&&r?.reference_private_key&&"string"==typeof r.reference_private_key&&(this.__private_access_key[i]=r.reference_private_key);for(let e in r.list)r.list[e]=ot.bind(this)(r.list[e]);return r.list=await Promise.all(r.list),r}async function ht(e,t){await this.__connection;let n="";if(!t)throw new te('"config" argument is required.',{code:"INVALID_PARAMETER"});if(!this.__user)throw new te("Login is required.",{code:"INVALID_REQUEST"});"string"==typeof t.table&&(t.table={name:t.table},t.record_id||(t.table.access_group=0));let i=e=>{if(null===e)return null;if("number"==typeof e){if(0>e)throw new te('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(e>4503599627370546)throw new te('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return e}throw new te('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})};t.table?.subscription&&(t.table?.subscription?.is_subscription_record?Object.assign(t.table.subscription,{group:1}):!1!==t.table?.subscription?.is_subscription_record&&(t.record_id||t.table.subscription?.is_subscription_record)||Object.assign(t.table.subscription,{group:null}),delete t.table.subscription?.is_subscription_record);let r=ue.Params(t||{},{record_id:["string",()=>{if(!t.table||!t.table.name)throw new te('"table.name" is required.',{code:"INVALID_PARAMETER"})}],unique_id:"string",readonly:"boolean",table:{name:e=>tt(e,"table name",!0,!0),subscription:{group:e=>1===e?1:null,exclude_from_feed:"boolean",notify_subscribers:"boolean",feed_referencing_records:"boolean",notify_referencing_records:"boolean"},access_group:nt.bind(this)},source:{referencing_limit:i,prevent_multiple_referencing:"boolean",can_remove_referencing_records:"boolean",only_granted_can_reference:"boolean",referencing_index_restrictions:e=>{if(void 0===e)return;if(!e)return null;if(Array.isArray(e)&&!e.length)return null;let t={name:[e=>tt(e,'"name" in "index_restrictions"',!0,!1)],value:e=>rt(e),condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne",()=>null],range:t=>{if(null!==t&&typeof e.value!=typeof t)throw new te('Index restriction "range" type should match the type of "value".',{code:"INVALID_PARAMETER"});if(!e.hasOwnProperty("value"))throw new te('Index restriction "value" is required.',{code:"INVALID_PARAMETER"});if(e.condition&&("eq"!==e.condition||"="!==e.condition))throw new te('Index restriction "condition" cannot be used with "range".',{code:"INVALID_PARAMETER"});return t}};return Array.isArray(e)||(e=[e]),e.map((e=>ue.Params(e,t)))}},reference:e=>{if(null===e)return{record_id:null};if(e){if("string"==typeof e)return n=e,this.__my_unique_ids[e]?this.__my_unique_ids[e]:e;if("object"!=typeof e)throw new te('"reference" should be type: <string | object>.',{code:"INVALID_PARAMETER"});return ue.Params(e,{unique_id:"string",record_id:e=>null==e?e:(n=e,"string"==typeof this.__private_access_key?.[e]&&(t.reference_private_key=this.__private_access_key[e]||void 0),ue.specialChars(e,'"reference.record_id"',!1,!1)),reference_limit:i,allow_multiple_reference:"boolean"})}},index:{name:e=>tt(e,"index.name",!0,!1),value:e=>rt(e)},tags:e=>null==e?e:("string"==typeof e&&(e=e.split(",").map((e=>e.trim()))),ue.specialChars(e,"tag",!1,!0)),remove_bin:e=>{if(!e)return null;let t=[];if(!Array.isArray(e))throw new te('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});for(let n of e)if("string"==typeof n)t.push(decodeURIComponent(n.split("?")[0]));else{if(!(n.url&&n.size&&n.filename))throw new te('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});{let e=n.url.split("/").slice(0,3).join("/")+"/"+n.path;t.push(e)}}return t},progress:"function"}),s=t.progress||null;delete r.progress;let o={auth:!0},a=null,c=null,u=oe(e);u.files.length&&(c=u.files),a=Object.assign({data:u.data},r);let l={};"function"==typeof s&&(l.progress=s),Object.keys(l).length&&Object.assign(o,{fetchOptions:l});let h=await Qe.bind(this)("post-record",a,o);if(c){let e=new FormData;for(let t of c)e.append(t.name,t.file,t.file.name);let t={record_id:h.rec,progress:s};r.hasOwnProperty("service")&&(t.service=r.service);let{bin_endpoints:n}=await ze.bind(this)(e,t);h.bin?h.bin.push(...n):h.bin=n}n&&"string"==typeof h?.reference_private_key&&(this.__private_access_key[n]=h.reference_private_key);let d=await ot.bind(this)(h);return this.__iPosted[d.record_id]=d,d.unique_id&&(this.__my_unique_ids[d.unique_id]=d.record_id),d}async function dt(e,t){let n=await Qe.bind(this)("get-table",ue.Params(e||{},{table:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t})),i={cnt_rec:"number_of_records",tbl:"table",srvc:"service"};if(Array.isArray(n?.list))for(let e of n.list)for(let t in i)e.hasOwnProperty(t)&&(e[i[t]]=e[t],delete e[t]);return n}async function ft(e,t){if(!e?.table)throw new te('"table" is required.',{code:"INVALID_PARAMETER"});let n=ue.Params(e||{},{table:"string",index:e=>ue.specialChars(e,"index name",!0,!1),order:{by:["average_number","total_number","number_count","average_bool","total_bool","bool_count","string_count","index_name","number_of_records"],value:["string","number","boolean"],condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}},["table"]);if(n.hasOwnProperty("order")){if(!n.order?.by)throw new te('"order.by" is required.',{code:"INVALID_PARAMETER"});if(n.order.hasOwnProperty("condition")&&!n.order.hasOwnProperty("value"))throw new te('"value" is required for "condition".',{code:"INVALID_PARAMETER"});if(n.hasOwnProperty("index")&&"."!==n.index.substring(n.index.length-1))throw new te('"index" should be a parent index name of the compound index when using "order.by"',{code:"INVALID_PARAMETER"})}let i=await Qe.bind(this)("get-index",n,Object.assign({auth:!!this.__user},{fetchOptions:t})),r={cnt_bool:"boolean_count",cnt_numb:"number_count",totl_numb:"total_number",totl_bool:"total_bool",avrg_numb:"average_number",avrg_bool:"average_bool",cnt_str:"string_count"};return Array.isArray(i?.list)&&(i.list=i.list.map((e=>{let t=e.idx.split("/"),n={table:t[1],index:t[2],number_of_records:e.cnt_rec};for(let t in r)e?.[t]&&(n[r[t]]=e[t]);return n}))),i}async function pt(e,t){let n=await Qe.bind(this)("get-tag",ue.Params(e||{},{table:"string",tag:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:t}));if(Array.isArray(n?.list))for(let e in n.list){let t=n.list[e],i=t.tag.split("/");n.list[e]={table:i[1],tag:i[0],number_of_records:t.cnt_rec}}return n}async function gt(e){await this.__connection;let t=await ut.bind(this)(e,!0),n=t.is_reference_fetch,i=await Qe.bind(this)("del-records",t.query,{auth:!0});return n&&"string"==typeof i?.reference_private_key&&(this.__private_access_key[n]=i.reference_private_key),i?.message||i}function _t(e){return e=ue.Params(e,{record_id:"string",user_id:e=>{if(!e)throw new te("User ID is required.",{code:"INVALID_PARAMETER"});let t=e;if("string"==typeof t&&(t=[t]),t.length>100)throw new te("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of t)ue.UserId(e,'User ID in "user_id"');return t}},["record_id","user_id"],{ignoreEmpty:!0}),bt.bind(this)({record_id:e.record_id,user_id:e.user_id,execute:"add"})}function mt(e){if(!e.record_id)throw new te("Record ID is required.",{code:"INVALID_PARAMETER"});if(!e.user_id||Array.isArray(e.user_id)&&!e.user_id.length)throw new te("User ID is required.",{code:"INVALID_PARAMETER"});return bt.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"remove"})}async function yt(e){let t=await bt.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"list"});return t.list=t.list.map((e=>(e.record_id=e.rec_usr.split("/")[0],e.user_id=e.rec_usr.split("/")[1],e))),t}function wt(e){let t=e.record_id,n=e.reference_id||void 0;if(!t)throw new te("Record ID is required.",{code:"INVALID_PARAMETER"});if("string"!=typeof t)throw new te("Record ID should be type: <string | string[]>",{code:"INVALID_PARAMETER"});if(n&&"string"!=typeof n)throw new te("Reference ID should be type: <string>",{code:"INVALID_PARAMETER"});if(this.__private_access_key[t])return this.__private_access_key[t];let i=Qe.bind(this)("request-private-access-key",{record_id:t,reference_id:n},{auth:!0});return this.__private_access_key[t]=i,i}function bt(e){let t=e.execute,n=ue.Params(e,{record_id:"string",user_id:e=>{if(!e){if("list"==t)return null;throw new te("User ID is required.",{code:"INVALID_PARAMETER"})}let n=e;if("string"==typeof n&&(n=[n]),n.length>100)throw new te("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of n)ue.UserId(e,'User ID in "user_id"');return n},execute:["add","remove","list"]},["execute","record_id","user_id"]);return n.user_id||(n.user_id=null),Qe.bind(this)("grant-private-access",n,{auth:!0})}const At={},vt={},St={},Et={},It={};let Tt={},Rt={};function Dt(e,t,n){e[t]||(e[t]=[]),e[t].push(n)}async function Ut(e,t,n){let i=[];if(e[t]){for(let r of e[t])if(r){let e=n(r);e instanceof Promise&&(e=await e),i.push(e)}delete e[t]}return i}async function Ct(e,t){if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});let n=await this.__socket;async function i(e,t,n){this.log("answerSdpOffer from",t),await At[t].setRemoteDescription(new RTCSessionDescription(e));const i=await At[t].createAnswer();await At[t].setLocalDescription(i),n.send(JSON.stringify({action:"rtc",uid:t,content:{sdpanswer:i},token:this.session.accessToken.jwtToken}))}At?.[t]?e?(await Ut(Rt,t,(e=>i.bind(this)(e,t,n))),await i.bind(this)(e,t,n)):await Ut(Rt,t,(e=>i.bind(this)(e,t,n))):e&&Dt(Rt,t,e)}async function Pt(e,t){if(this.log("receiveIceCandidate",e),At?.[t]&&At[t]?.remoteDescription&&At[t]?.remoteDescription?.type){if(!e)return Ut(Tt,t,(e=>At[t].addIceCandidate(e)));await Ut(Tt,t,(e=>At[t].addIceCandidate(e))),await At[t].addIceCandidate(e)}else Dt(Tt,t,e)}async function kt(e){ue.Params(e,{cid:e=>{if("string"!=typeof e)throw new te('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(e&&"cid:"!==e.slice(0,4))throw new te('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return e},close:"boolean"});let t=await this.__socket,{cid:n,close_all:i=!1}=e||{};if(!i&&!n)throw new te('"cid" is required.',{code:"INVALID_PARAMETER"});let r=e=>{if(!e)throw new te('"cid" is required.',{code:"INVALID_PARAMETER"});if(delete Rt[e],delete Tt[e],vt[e]&&Object.values(vt[e]).forEach((e=>{"closed"!==e.readyState&&e.close()})),delete vt[e],At?.[e]){"closed"!==At[e].connectionState&&(At[e].close(),t.send(JSON.stringify({action:"rtc",uid:e,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})));let n={type:"connectionstatechange",target:At[e],timestamp:(new Date).toISOString(),state:At[e].connectionState,iceState:At[e].iceConnectionState,signalingState:At[e].signalingState};It[e]&&It[e](n),this.log("closeRTC",n)}delete It[e],delete Et[e],delete St[e],delete At[e]};if(i)for(let e in At)r(e);else r(n)}async function Nt(e,t){if("function"!=typeof t)throw new te("Callback is required.",{code:"INVALID_PARAMETER"});if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});e=ue.Params(e,{cid:e=>{if("string"!=typeof e)throw new te('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(e&&"cid:"!==e.slice(0,4))throw new te('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return e},ice:["string",()=>"stun:stun.skapi.com:3468"],media:e=>e,channels:["text-chat","file-transfer","video-chat","voice-chat","gaming",{ordered:"boolean",maxPacketLifeTime:"number",maxRetransmits:"number",protocol:"string"},()=>[{ordered:!0,maxPacketLifeTime:10,protocol:"default"}]]},["cid"]);let{cid:n,ice:i}=e;if(!(e?.media instanceof MediaStream)&&(e?.media?.video||e?.media?.audio)&&"localhost"!==location.hostname&&"https:"!==location.protocol)throw new te("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let r=this.__socket?await this.__socket:this.__socket;if(!r)throw new te("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(1!==r.readyState)throw new te("Realtime connection is not ready.",{code:"INVALID_REQUEST"});const s={iceServers:[{urls:i}]};if(At?.[n]||(At[n]=new RTCPeerConnection(s)),e?.media){if(e?.media instanceof MediaStream||this.__mediaStream)this.__mediaStream=this.__mediaStream||e.media;else try{(e?.media?.video||e?.media?.audio)&&(this.__mediaStream=await navigator.mediaDevices.getUserMedia({video:e?.media?.video,audio:e?.media?.audio}))}catch(e){throw"NotFoundError"===e?.name?new te("Requested media device not found.",{code:"DEVICE_NOT_FOUND"}):e}this.__mediaStream&&this.__mediaStream.getTracks().forEach((e=>{At[n].addTrack(e,this.__mediaStream)}))}It[n]=t,vt[n]||(vt[n]={});for(let t=0;t<e.channels.length;t++){let i=e.channels[t];if("string"==typeof i)switch(i){case"text-chat":i={ordered:!0,maxRetransmits:10,protocol:"text-chat"};break;case"file-transfer":i={ordered:!1,maxPacketLifeTime:3e3,protocol:"file-transfer"};break;case"video-chat":i={ordered:!0,maxRetransmits:10,protocol:"video-chat"};break;case"voice-chat":i={ordered:!0,maxRetransmits:10,protocol:"voice-chat"};break;case"gaming":i={ordered:!1,maxPacketLifeTime:100,protocol:"gaming"};break;default:i={ordered:!0,maxRetransmits:10,protocol:"default"}}let r=i.protocol||"default";if(Object.keys(vt[n]).includes(r))throw new te(`Data channel with the protocol "${r}" already exists.`,{code:"INVALID_REQUEST"});let s=At[n].createDataChannel(r,i);vt[n][r]=s}for(let e in vt[n]){let t=vt[n][e];xt.bind(this)(n,t)}return Vt.bind(this)(n,["onnegotiationneeded"]),await Ot.bind(this)(n),{hangup:()=>St[n]&&St[n](!1),connection:new Promise((e=>{St[n]=(t=>{if(this.log("receiver picked up the call",n),!t)return kt.bind(this)({cid:n}),null;At[n].onnegotiationneeded=()=>{this.log("onnegotiationneeded",`sending offer to "${n}".`),Ot.bind(this)(n),It[n]&&It[n]({type:"negotiationneeded",target:At[n],timestamp:(new Date).toISOString(),signalingState:At[n].signalingState,connectionState:At[n].iceConnectionState,gatheringState:At[n].iceGatheringState})},e({target:At[n],channels:vt[n],hangup:()=>kt.bind(this)({cid:n}),media:this.__mediaStream})}).bind(this)}))}}function Lt(e){return async(t,n)=>{t=oe(t=t||{}).data;let i=e.sender_cid,r=await this.__socket;if(!Et[i])return null;if("function"!=typeof n)throw new te("Callback is required.",{code:"INVALID_PARAMETER"});if(!(t?.media instanceof MediaStream)&&(t?.media?.video||t?.media?.audio)&&"localhost"!==location.hostname&&"https:"!==location.protocol)throw new te("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let{ice:s="stun:stun.skapi.com:3468"}=t;return At?.[i]||(At[i]=new RTCPeerConnection({iceServers:[{urls:s}]})),t?.media&&(t?.media instanceof MediaStream||this.__mediaStream?this.__mediaStream=this.__mediaStream||t.media:(t?.media?.video||t?.media?.audio)&&(this.__mediaStream=await navigator.mediaDevices.getUserMedia({video:t?.media?.video,audio:t?.media?.audio})),this.__mediaStream&&this.__mediaStream.getTracks().forEach((e=>{At[i].addTrack(e,this.__mediaStream)}))),delete Et[i],It[i]=n,vt[i]||(vt[i]={}),At[i].ondatachannel=e=>{this.log("ondatachannel",`received data channel "${e.channel.label}".`);const t=e.channel;vt[i][t.label]=t,xt.bind(this)(i,t)},Vt.bind(this)(i,["onnegotiationneeded"]),await Ct.bind(this)(null,i),await Pt.bind(this)(null,i),r.send(JSON.stringify({action:"rtc",uid:i,content:{pickup:this.user.user_id},token:this.session.accessToken.jwtToken})),{target:At[i],channels:vt[i],hangup:()=>kt.bind(this)({cid:i}),media:this.__mediaStream}}}async function Ot(e){if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendOffer",e);let t=await this.__socket;const n=await At[e].createOffer();await At[e].setLocalDescription(n);let i=At[e].localDescription;this.log("rtcSdpOffer to",i),t.send(JSON.stringify({action:"rtc",uid:e,content:{sdpoffer:i},token:this.session.accessToken.jwtToken}))}async function Mt(e,t){if(!this?.session?.accessToken?.jwtToken)throw new te("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendIceCandidate to",t);let n=await this.__socket;if(!e.candidate)return void this.log("candidate-end","all ice candidates have been sent");let i=It[t]||(()=>{}),r=e.candidate;this.log("ice gathering state set to",At[t].iceGatheringState),i({type:"icecandidate",target:At[t],timestamp:(new Date).toISOString(),candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex,usernameFragment:e.candidate.usernameFragment,protocol:e.candidate.protocol,gatheringState:At[t].iceGatheringState,connectionState:At[t].iceConnectionState}),n.send(JSON.stringify({action:"rtc",uid:t,content:{candidate:r},token:this.session.accessToken.jwtToken}))}function Vt(e,t){let n=new Set(t),i=It[e]||(e=>{}),r=At[e];const s={ontrack:e=>{i({type:"track",target:r,timeStamp:e.timeStamp,streams:e.streams,track:e.track})},onicecandidate:t=>{Mt.bind(this)(t,e),t.candidate?i({type:"icecandidate",target:r,timestamp:(new Date).toISOString(),candidate:t.candidate.candidate,sdpMid:t.candidate.sdpMid,sdpMLineIndex:t.candidate.sdpMLineIndex,usernameFragment:t.candidate.usernameFragment,protocol:t.candidate.protocol,gatheringState:r.iceGatheringState,connectionState:r.iceConnectionState}):i({type:"icecandidateend",target:r,timestamp:(new Date).toISOString()})},onicecandidateerror:e=>{i({type:"icecandidateerror",target:r,timestamp:(new Date).toISOString(),errorCode:e.errorCode,errorText:e.errorText,url:e.url,hostCandidate:e.hostCandidate,gatheringState:r.iceGatheringState,connectionState:r.iceConnectionState})},oniceconnectionstatechange:()=>{i({type:"iceconnectionstatechange",target:r,timestamp:(new Date).toISOString(),state:r.iceConnectionState,gatheringState:r.iceGatheringState,signalingState:r.signalingState})},onicegatheringstatechange:()=>{i({type:"icegatheringstatechange",target:r,timestamp:(new Date).toISOString(),state:r.iceGatheringState,connectionState:r.iceConnectionState,signalingState:r.signalingState})},onsignalingstatechange:()=>{i({type:"signalingstatechange",target:r,timestamp:(new Date).toISOString(),state:r.signalingState,connectionState:r.iceConnectionState,gatheringState:r.iceGatheringState})},onnegotiationneeded:()=>{Ot.bind(this)(e),i({type:"negotiationneeded",target:r,timestamp:(new Date).toISOString(),signalingState:r.signalingState,connectionState:r.iceConnectionState,gatheringState:r.iceGatheringState})},onconnectionstatechange:()=>{i({type:"connectionstatechange",target:r,timestamp:(new Date).toISOString(),state:r.connectionState,iceState:r.iceConnectionState,signalingState:r.signalingState});let t=r.connectionState;"disconnected"!==t&&"failed"!==t&&"closed"!==t||kt.bind(this)({cid:e})}};for(const[e,t]of Object.entries(s))n.has(e)||(r[e]=t)}function xt(e,t,n){let i=new Set(n),r=It[e]||(e=>{});const s={onmessage:e=>{let n={type:e.type,target:t,timeStamp:e.timeStamp,data:e.data,lastEventId:e.lastEventId,origin:e.origin,readyState:t.readyState,bufferedAmount:t.bufferedAmount};this.log(`${t.label}: message`,e.data),r(n)},onerror:e=>{let n={type:e.type,target:t,timeStamp:e.timeStamp,error:e.error.message,errorCode:e.error.errorDetail,readyState:t.readyState,label:t.label};this.log(`${t.label}: error`,e.error.message),r(n)},onclose:n=>{let i={type:n.type,target:t,timeStamp:n.timeStamp,readyState:t.readyState,label:t.label,id:t.id};this.log(`${t.label}: closed`,null),r(i),vt[e]&&(delete vt[e][t.label],0===Object.keys(vt[e]).length&&kt.bind(this)({cid:e}))},onbufferedamountlow:e=>{let n={target:t,bufferedAmount:t.bufferedAmount,bufferedAmountLowThreshold:t.bufferedAmountLowThreshold,type:e.type,timeStamp:e.timeStamp};this.log(`${t.label}: bufferedamountlow`,t.bufferedAmount),r(n)},onopen:e=>{this.log("dataChannel",`data channel: "${t.label}" is open and ready to send messages.`);let n={type:e.type,target:t,timeStamp:e.timeStamp,readyState:t.readyState,label:t.label,id:t.id,ordered:t.ordered,maxRetransmits:t.maxRetransmits,protocol:t.protocol};r(n)}};for(const[e,n]of Object.entries(s))i.has(e)||(t[e]=n)}let Ft,qt={},$t=null;async function Bt(){if(await this.getProfile(),!this.session)throw new te("No access.",{code:"INVALID_REQUEST"});let e=await this.record_endpoint;return new WebSocket(e.websocket_private+"?token="+this.session.accessToken.jwtToken)}async function jt(e,t=10){if("function"!=typeof e)throw new te("Callback must be a function.",{code:"INVALID_REQUEST"});if(this.__socket instanceof Promise)return this.__socket;this.__socket=new Promise((async n=>{await me.bind(this)(),setTimeout((async()=>{let t=await Bt.bind(this)();t.onopen=()=>{this.log("realtime onopen","Connected to WebSocket server."),e({type:"success",message:"Connected to WebSocket server."}),Ft&&t.send(JSON.stringify({action:"joinRoom",rid:Ft,token:this.session.accessToken.jwtToken}));const i=new Blob(['\n let interval = 30000; // Set interval time\n\n function runInterval() {\n postMessage({ type: "ping" });\n setTimeout(runInterval, interval); // Use setTimeout instead of setInterval\n }\n\n runInterval(); // Start interval\n '],{type:"application/javascript"});$t=new Worker(URL.createObjectURL(i)),$t.onmessage=e=>{1===t.readyState&&t.send(JSON.stringify({action:"keepAlive",token:this.session.accessToken.jwtToken}))},n(t)},t.onmessage=async n=>{let i,r="";try{r=JSON.parse(decodeURI(n.data)),this.log("socket onmessage",r)}catch(e){return}switch(!0){case!!r?.["#message"]:i="message";break;case!!r?.["#private"]:i="private";break;case!!r?.["#notice"]:i="notice";break;case!!r?.["#rtc"]:i="rtc";break;case!!r?.["#error"]:i="error"}let s={type:i,message:r?.["#rtc"]||r?.["#message"]||r?.["#private"]||r?.["#notice"]||r?.["#error"]||null,sender:r["#user_id"]?r["#user_id"]:null,sender_cid:r?.["#scid"]?"cid:"+r["#scid"]:null,sender_rid:r?.["#srid"]?r["#srid"]:null};if("notice"===i){if(Ft&&(s.message.includes("has left the message group.")||s.message.includes("has been disconnected."))){let e=s.sender;if(qt?.[Ft]?.[e]&&(qt[Ft][e]=qt[Ft][e].filter((e=>e!==s.sender_cid))),qt?.[Ft]?.[e]&&0===qt[Ft][e].length&&delete qt[Ft][e],qt?.[Ft]?.[e])return}else if(Ft&&s.message.includes("has joined the message group.")){let e=s.sender;if(qt?.[Ft]||(qt[Ft]={}),qt[Ft][e])return void(qt[Ft][e].includes(s.sender_cid)||qt[Ft][e].push(s.sender_cid));qt[Ft][e]=[s.sender_cid]}e(s)}else if("rtc"===i){if(s.sender!==this.user.user_id){let n=s.message;if(n.hungup)return St[s.sender_cid]&&(St[s.sender_cid](!1),delete St[s.sender_cid]),Et[s.sender_cid]&&delete Et[s.sender_cid],At?.[s.sender_cid]&&kt.bind(this)({cid:s.sender_cid}),s.type="rtc:closed",void e(s);if(n.candidate&&Pt.bind(this)(n.candidate,s.sender_cid),n.sdpoffer&&(Ct.bind(this)(n.sdpoffer,s.sender_cid),Et[s.sender_cid]||(Et[s.sender_cid]=s.sender_cid,delete s.message,s.connectRTC=Lt.bind(this)(s),s.type="rtc:incoming",s.hangup=(()=>{At[s.sender_cid]?kt.bind(this)({cid:s.sender_cid}):Et[s.sender_cid]&&(delete Et[s.sender_cid],t.send(JSON.stringify({action:"rtc",uid:s.sender_cid,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})))}).bind(this),e(s))),n.pickup&&St[s.sender_cid]&&(St[s.sender_cid](!0),delete St[s.sender_cid]),n.sdpanswer&&At[s.sender_cid]){if("have-local-offer"!==At[s.sender_cid].signalingState)throw new te("Invalid signaling state.",{code:"INVALID_REQUEST"});await At[s.sender_cid].setRemoteDescription(new RTCSessionDescription(n.sdpanswer))}}}else e(s)},t.onclose=t=>{t.wasClean?(this.log("realtime onclose","WebSocket connection closed."),e({type:"close",message:"WebSocket connection closed."}),Kt.bind(this)()):(this.log("realtime onclose","WebSocket connection error. Max reconnection attempts reached."),e({type:"error",message:"Skapi: WebSocket unexpected close."}),Kt.bind(this)())},t.onerror=()=>{this.log("realtime onerror","WebSocket connection error."),e({type:"error",message:"Skapi: WebSocket connection error."})}}),t)}))}async function Kt(){let e=this.__socket?await this.__socket:this.__socket;kt.bind(this)({close_all:!0}),$t&&($t.terminate(),$t=null);try{e&&e.close()}catch(e){}return this.__socket=null,Ft=null,null}async function Ht(e,t,n){let i=this.__socket?await this.__socket:this.__socket;if(!i)throw new te("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(!t)throw new te("No recipient.",{code:"INVALID_REQUEST"});await me.bind(this)(),e=oe(e).data;let r="";if(n&&(n=ue.Params(n,{title:"string",body:"string"},["title","body"]),r=JSON.stringify(n),new Blob([r]).size>3072))throw new te("Notification size exceeds 3kb.",{code:"INVALID_PARAMETER"});if(1===i.readyState){try{ue.UserId(t),i.send(JSON.stringify({action:"sendMessage",uid:t,content:e,notification:r,token:`IdT:${this.service}:${this.owner}:`+(this.session?.idToken?.jwtToken||"null")}))}catch(n){if(this.log("postRealtime:err",{err:n}),Ft!==t)throw new te(`User has not joined to the recipient group. Run joinRealtime({ group: "${t}" })`,{code:"INVALID_REQUEST"});i.send(JSON.stringify({action:"broadcast",rid:t,content:e,notification:r,token:`IdT:${this.service}:${this.owner}:`+(this.session?.idToken?.jwtToken||"null")}))}return{type:"success",message:"Message sent."}}throw new te("Realtime connection is not open. Try reconnecting with connectRealtime().",{code:"INVALID_REQUEST"})}async function Jt(e){let t=this.__socket?await this.__socket:this.__socket;if(!t)throw new te("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});await me.bind(this)(),e=oe(e,{nullIfEmpty:!0}).data;let{group:n=null}=e;if(!n&&!Ft)return{type:"success",message:"Left realtime message group."};if(null!==n&&"string"!=typeof n)throw new te('"group" must be a string | null.',{code:"INVALID_PARAMETER"});return t.send(JSON.stringify({action:"joinRoom",rid:n,token:this.session.accessToken.jwtToken})),Ft=n,{type:"success",message:n?`Joined realtime message group: "${n}".`:"Left realtime message group."}}async function Qt(e,t){e=ue.Params(e,{user_id:e=>ue.UserId(e,'User ID in "user_id"'),group:["string",()=>{if(!Ft)throw new te('No group has been joined. Otherwise "group" is required.',{code:"INVALID_REQUEST"});return Ft}]});let n=await Qe.bind(this)("get-ws-group",e,{fetchOptions:t,auth:!0,method:"post"});return n.list=n.list.map((t=>{let n=t.uid.split("#")[1];return e.user_id||(qt[e.group]||(qt[e.group]={}),qt[e.group][n]?qt[e.group][n].includes(t.cid)||qt[e.group][n].push(t.cid):qt[e.group][n]=[t.cid]),{user_id:n,cid:t.cid}})),n}async function Wt(e,t){if(await this.__connection,e||(e={searchFor:"group"}),(e=ue.Params(e,{searchFor:["group","number_of_users",()=>"group"],value:["string","number",()=>e?.searchFor&&"number_of_users"===e?.searchFor?0:" "],condition:[">",">=","=","<","<=","!=","gt","gte","eq","lt","lte","ne"],range:["string","number"]})).condition||(" "!==e.value&&e.value?e.condition="=":e.condition=">"),e.range&&e.condition&&delete e.condition,"number_of_users"===e.searchFor&&"number"!=typeof e.value)throw new te('"value" must be a number.',{code:"INVALID_PARAMETER"});if("group"===e.searchFor&&"string"!=typeof e.value)throw new te('"value" must be a string.',{code:"INVALID_PARAMETER"});if(e.hasOwnProperty("range")&&typeof e.range!=typeof e.value)throw new te(`"range" must be a ${typeof e.value}.`,{code:"INVALID_PARAMETER"});let n=await Qe.bind(this)("get-ws-group",e,{fetchOptions:t,auth:!0,method:"post"});return n.list=n.list.map((e=>({group:e.rid.split("#")[1],number_of_users:e.cnt}))),n}async function Yt(e){let t=!1,n=e=>{for(let n in e)if("string"==typeof e[n]&&e[n].includes("$CLIENT_SECRET")){t=!0;break}};if(e=ue.Params(e,{url:e=>{if(!e||"string"!=typeof e)throw new te('"url" should be type: <string>.',{code:"INVALID_PARAMETER"});return ue.Url(e),e.includes("$CLIENT_SECRET")&&(t=!0),e},clientSecretName:"string",method:e=>{if(e&&"string"!=typeof e)throw new te('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});let t=e.toLowerCase();if("get"!==t&&"post"!==t&&"delete"!==t&&"put"!==t)throw new te('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});return t},headers:e=>{if(e&&"object"!=typeof e)throw new te('"headers" should be type: <object>.',{code:"INVALID_PARAMETER"});return n(e),e},data:e=>{if(e&&"object"!=typeof e)throw new te('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return n(e),e},params:e=>{if(e&&"object"!=typeof e)throw new te('"params" should be type: <object>.',{code:"INVALID_PARAMETER"});return n(e),e}},["clientSecretName","method","url"]),!t)throw new te(`At least one parameter value should include "$CLIENT_SECRET" in ${"post"===e.method.toLowerCase()?'"data"':'"params"'} or "headers".`,{code:"INVALID_PARAMETER"});await this.__connection;let i=!!this.__user;return Qe.bind(this)("client-secret-request"+(i?"-public":""),e,{auth:i})}async function Gt(e){await this.__connection;let t={name:"string",email:e=>(ue.Email(e),e),subject:"string",message:"string"};return e=ue.Params(e,t,["name","email","subject","message"]),await Qe.bind(this)("send-inquiry",e),"SUCCESS: Inquiry has been sent."}async function zt(e,t){if(await this.__connection,e instanceof FormData||e instanceof HTMLFormElement||e instanceof SubmitEvent){if(!t)throw new te("Url string as a second argument is required when form is passed.",{code:"INVALID_PARAMETER"});e={url:t,data:oe(e).data,sync:!0}}let n={url:e=>ue.Url(e),data:e=>e,sync:["boolean",()=>!0]};if(Array.isArray(e))for(let t of e)t=ue.Params(t,n);else e=ue.Params(e,n);return Qe.bind(this)("post-secure",e,{auth:!0})}async function Zt(e,t){await this.__connection;let{auth:n=!1,method:i="POST",bypassAwaitConnection:r=!1,responseType:s,contentType:o,progress:a}=t||{};if(t=Object.assign({auth:n,method:i,bypassAwaitConnection:r,responseType:s,contentType:o},{fetchOptions:{progress:a}}),"object"!=typeof e&&("application/json"===o||void 0===o))throw new te('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return Qe.bind(this)("mock",e,t)}async function Xt(e,t){await this.__connection,e=ue.Params(e||{},{access_group:e=>{if("number"!=typeof e)throw new te('"access_group" should be type number.',{code:"INVALID_PARAMETER"});if(e<0)throw new te('"access_group" should be zero or a positive number.',{code:"INVALID_PARAMETER"});if(e>this.__user.access_group)throw new te("User has no access.",{code:"INVALID_REQUEST"});return e}});let n=await Qe.bind(this)("get-feed",e,{auth:!0,fetchOptions:t});for(let e in n.list)n.list[e]=await ot.bind(this)(n.list[e]);return n}function en(e){if(e===this.__user.user_id)throw new te('"user_id" cannot be the user\'s own ID.',{code:"INVALID_PARAMETER"});return ue.UserId(e,'"user_id"')}async function tn(e,t){if(e=oe(e,{ignoreEmpty:!0}).data,!(e=ue.Params(e,{subscriber:e=>ue.UserId(e,'User ID in "subscriber"'),subscription:en.bind(this),blocked:"boolean"})).subscriber&&!e.subscription)throw new te('At least either "subscriber" or "subscription" should have a value.',{code:"INVALID_PARAMETER"});let n=await Qe.bind(this)("get-subscription",e,Object.assign({auth:!0},{fetchOptions:t}));return n.list=n.list.map((e=>{let t={},n=e.sub.split("#");return t.subscriber=n[2],t.subscription=n[0],t.timestamp=e.stmp,t.blocked="N"===e.grp.substring(0,1),Object.assign(t,e.opt),t})),n}async function nn(e){return await this.__connection,e=ue.Params(e,{user_id:en.bind(this),get_feed:["boolean",()=>!1],get_notified:["boolean",()=>!1],get_email:e=>{if(e&&!this.__user.email||!this.__user.email_verified)throw new te("User has no verified email address.",{code:"INVALID_REQUEST"});return!!e}},["user_id"]),await Qe.bind(this)("subscription",{subscribe:e.user_id,option:{get_feed:e.get_feed,get_notified:e.get_notified,get_email:e.get_email||!1}},{auth:!0})}async function rn(e){return await this.__connection,await Qe.bind(this)("admin-newsletter-request",e,{auth:!0})}async function sn(e){await this.__connection;let{user_id:t}=ue.Params(e,{user_id:en.bind(this)},["user_id"]);return await Qe.bind(this)("subscription",{unsubscribe:t},{auth:!0})}async function on(e){await this.__connection;let{user_id:t}=ue.Params(e,{user_id:en.bind(this)},["user_id"]);return await Qe.bind(this)("subscription",{block:t},{auth:!0})}async function an(e){await this.__connection;let{user_id:t}=ue.Params(e,{user_id:en.bind(this)},["user_id"]);return await Qe.bind(this)("subscription",{unblock:t},{auth:!0})}async function cn(e){await this.__connection;let t=await Se.bind(this)();e=ue.Params(e,{user_id:e=>{if(e!==this.__user.user_id&&!t)throw new te("No access.",{code:"INVALID_REQUEST"});return e},group:e=>{if("public"===e&&(e=0),"authorized"===e&&(e=1),"number"!=typeof e)throw new te('"group" should be type number | "public" | "authorized".',{code:"INVALID_PARAMETER"});return e}});let n=await Qe.bind(this)("get-newsletter-subscription",e,{auth:!0}),i=[];for(let e of n){let t=e.subt.split("#"),n=!0;"@"===t[0].charAt(0)&&(n=!1,t[0]=t[0].substring(1));let r=parseInt(t[0]);i.push({timestamp:e.stmp,group:r,subscribed_email:t[1],active:n})}return i}async function un(e){await this.__connection;let t=ue.Params(e||{},{email:e=>ue.Email(e),group:["number","public","authorized","admin"],redirect:e=>ue.Url(e)},this.__user?["group"]:["email","group"]);return Qe.bind(this)(`subscribe-${this.__user?"":"public-"}newsletter`,t,{auth:!!this.__user})}async function ln(e){await this.__connection,e=ue.Params(e,{group:["number","public","authorized","admin"]},["group"]);let t=Object.assign({action:"unsubscribe"},e);return Qe.bind(this)("subscribe-newsletter",t,{auth:!0})}async function hn(e,t){let n=await Se.bind(this)(),i={message_id:"string",timestamp:"number",read:"number",complaint:"number",subject:"string"};e||(t=Object.assign({ascending:!1},t||{})),e=(e=oe(e).data)||{searchFor:"timestamp",value:Date.now(),condition:"<",group:"public"};let r=0===(e=ue.Params(e,{searchFor:["message_id","timestamp","read","complaint","group","subject"],value:t=>{if(typeof t!==i[e.searchFor])throw new te(`"value" type does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});if("string"==typeof t&&!t)throw new te('"value" should not be empty string.',{code:"INVALID_PARAMETER"});return t},range:t=>{if(!e.hasOwnProperty("value")||typeof t!=typeof e.value)throw new te('"range" should match type of "value".',{code:"INVALID_PARAMETER"});return t},condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],group:e=>{if("public"===e)return 0;if(!this.session)throw new te("User should be logged in.",{code:"INVALID_REQUEST"});if("authorized"===e)return 1;if("number"==typeof e){if(!n&&e>parseInt(this.session.idToken.payload.access_group))throw new te("User has no access.",{code:"INVALID_REQUEST"});return e}throw new te('"group" should be type: number | "public" | "authorized".',{code:"INVALID_PARAMETER"})}},["searchFor","value","group"])).group?"get-public-newsletters":"get-newsletters",s=await Qe.bind(this)(r,e,Object.assign({method:"get",auth:"get-public-newsletters"!==r||!!this.__user},{fetchOptions:t})),o={message_id:"mid",timestamp:"stmp",complaint:"cmpl",read:"read",subject:"subj",bounced:"bnce",url:"url"},a={message_id:"",timestamp:0,complaint:0,read:0,subject:"",bounced:0,url:""};return s.list=s.list.map((e=>{let t={};for(let n in o)t[n]=e[o[n]]||a[n];return t})),s}async function dn(e){let t=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"')},["user_id"]);if(t=t?.service&&t?.owner?{service:t?.service,owner:t?.owner,block:t.user_id}:{block:t.user_id},!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("block-account",t,{auth:!0})}async function fn(e){let t=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"')},["user_id"]);if(t=t?.service&&t?.owner?{service:t?.service,owner:t?.owner,unblock:t.user_id}:{unblock:t.user_id},!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("block-account",t,{auth:!0})}async function pn(e){let t=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"')},["user_id"]);if(t=t?.service&&t?.owner?{service:t?.service,owner:t?.owner,delete:t.user_id}:{delete:t.user_id},!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("remove-account",t,{auth:!0})}async function gn(e,t){let n={email:e=>ue.Email(e),password:e=>ue.Password(e),name:"string",username:"string",gender:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",birthdate:e=>ue.Birthdate(e),phone_number:e=>ue.PhoneNumber(e),picture:e=>e?ue.Url(e):void 0,profile:e=>e?ue.Url(e):void 0,website:e=>e?ue.Url(e):void 0,nickname:"string",misc:"string",email_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],address_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],openid_id:"string",access_group:e=>{try{"string"==typeof e&&(e="admin"===e?99:parseInt(e))}catch(e){throw new te('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"!=typeof e||e<1||e>100)throw new te('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return e}},i=ue.Params(e,n,["email"]);if(t=ue.Params(t,{confirmation_url:e=>{let t=e;if("string"!=typeof e)throw new te('"options.confirmation_url" should be type: <string>.',{code:"INVALID_PARAMETER"});if(t=ue.Url(e),t&&!i.email)throw new te('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return t},email_subscription:e=>{if("boolean"!=typeof e)throw new te('"options.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!t?.confirmation_url)throw new te('"options.confirmation_url" is required for email subscription.',{code:"INVALID_PARAMETER"});return e}}),i.signup_confirmation=t?.confirmation_url||!0,i.email_subscription=t?.email_subscription||!1,!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("admin-signup",i,{auth:!0})}async function _n(e){let t={email:e=>ue.Email(e),password:e=>ue.Password(e),openid_id:"string",name:"string",username:"string",gender:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",birthdate:e=>ue.Birthdate(e),phone_number:e=>ue.PhoneNumber(e),picture:e=>e?ue.Url(e):"",profile:e=>e?ue.Url(e):"",website:e=>e?ue.Url(e):"",nickname:"string",misc:"string",email_public:["boolean",()=>!1],gender_public:["boolean",()=>!1],address_public:["boolean",()=>!1],birthdate_public:["boolean",()=>!1],phone_number_public:["boolean",()=>!1],access_group:e=>{try{"string"==typeof e&&(e=parseInt(e))}catch(e){throw new te('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"!=typeof e||e<1||e>100)throw new te('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return e}},n=ue.Params(e,t,["email","password"]);if(!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("admin-signup",n,{auth:!0})}async function mn(e){if(e=ue.Params(e,{user_id:e=>ue.UserId(e,'"user_id"'),access_group:e=>{try{"string"==typeof e&&(e=parseInt(e))}catch(e){throw new te('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"==typeof e&&e>0&&e<100)return e;throw new te('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"})}},["user_id","access_group"]),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("grant-access",e,{auth:!0})}async function yn(e,t){if(e=ue.Params(e,{email:"string"}),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}let n=await Qe.bind(this)("invitation-list",Object.assign({mode:"search"},e),{fetchOptions:t,auth:!0});return n.list=n.list.map((e=>ae(e.user))),n}async function wn(e){if(e=ue.Params(e,{email:e=>ue.Email(e)},["email"]),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("invitation-list",Object.assign({mode:"cancel"},e),{auth:!0})}async function bn(e){if(e=ue.Params(e,{email:e=>ue.Email(e)},["email"]),!await Se.bind(this)()){if(!this.__user)throw new te("User needs to login.",{code:"INVALID_REQUEST"});if(99!==this.__user.access_group)throw new te("Invalid access.",{code:"INVALID_REQUEST"})}return await Qe.bind(this)("invitation-list",Object.assign({mode:"resend"},e),{auth:!0})}async function An(e){if(await this.__connection,!e.endpoint)throw new te("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!e.keys||!e.keys.p256dh||!e.keys.auth)throw new te("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await Qe.bind(this)("store-subscription",{endpoint:e.endpoint,keys:e.keys},{auth:!0}),"SUCCESS: Subscribed to receive notifications."}async function vn(e){if(await this.__connection,!e.endpoint)throw new te("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!e.keys||!e.keys.p256dh||!e.keys.auth)throw new te("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await Qe.bind(this)("delete-subscription",{endpoint:e.endpoint,keys:e.keys},{auth:!0}),"SUCCESS: Unsubscribed from notifications."}async function Sn(){return await this.__connection,{VAPIDPublicKey:await Qe.bind(this)("get-vapid-public-key",null,{auth:!0})}}async function En(e,t){await this.__connection;let{title:n,body:i}=oe(e||{},{nullIfEmpty:!0}).data;if(!n)throw new te("Missing parameter: message title",{code:"INVALID_PARAMETER"});if(!i)throw new te("Missing parameter: message body",{code:"INVALID_PARAMETER"});const r={title:n,body:i};return t?("string"==typeof t&&(t=[t]),r.user_ids=t):r.user_ids="all_users",await Qe.bind(this)("push-notification",r,{auth:!0}),"SUCCESS: Notification sent."}async function In(e){return await this.__connection,e=ue.Params(e,{spell:"string",name:"string",magic:"object"},["spell","name"]),await Qe.bind(this)("castspell",e)}async function Tn(e){return await this.__connection,e=ue.Params(e,{search_option:["spell","name"],value:"string",condition:["starts_with","exact"]},["search_option","value","condition"]),await Qe.bind(this)("getspell",e)}async function Rn(e){await this.__connection;let t=await Qe.bind(this)("dopamine",e,{auth:!0}),n=t.previous_message.message,i=t.previous_message.name;alert(`${i} said ${n}`),window.location.href=t.video}var Dn=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o};class Un{get user(){return this.__user&&Object.keys(this.__user).length?JSON.parse(JSON.stringify(this.__user)):null}set user(e){}get onLogin(){return this._onLoginListeners}set onLogin(e){"function"==typeof e&&this._onLoginListeners.push(e)}_runOnLoginListeners(e){for(let t of this._onLoginListeners)"function"==typeof t&&t(e)}constructor(e,t,n,i){if(this.__version="1.0.213",this.session=null,this.connection=null,this.__iPosted={},this.__my_unique_ids={},this.userPool=null,this.__socket=null,this.__mediaStream=null,this.host="skapi",this.hostDomain="skapi.com",this.target_cdn="d3e9syvbtso631",this.customApiDomain="skapi.dev",this.__disabledAccount=null,this.__cached_requests={},this.__startKeyHistory={},this.__request_signup_confirmation=null,this.__private_access_key={},this.__class_properties_has_been_cached=!1,this.__user=null,this._onLoginListeners=[],this.validate={userId(e){try{return ue.UserId(e),!0}catch(e){return!1}},url(e){try{return ue.Url(e),!0}catch(e){return!1}},phoneNumber(e){try{return ue.PhoneNumber(e),!0}catch(e){return!1}},birthdate(e){try{return ue.Birthdate(e),!0}catch(e){return!1}},email(e){try{return ue.Email(e),!0}catch(e){return!1}},params:(e,t,n)=>ue.Params(e,t,n)},this.util={MD5:ne,generateRandom:se,toBase62:ie,fromBase62:re,extractFormData:oe,request:(e,t,n)=>Qe.bind(this)(e,t,n,{ignoreService:!0})},this.__network_logs=!1,this.registerTicket=ge.bind(this),this.unregisterTicket=_e.bind(this),!sessionStorage)throw new te("Web browser API is not available.",{code:"NOT_SUPPORTED"});if(sessionStorage.setItem("__skapi_kiss","kiss"),"kiss"!==sessionStorage.getItem("__skapi_kiss"))throw alert("Session storage is disabled. Please enable session storage."),new te("Session storage is disabled. Please enable session storage.",{code:"SESSION_STORAGE_DISABLED"});if(sessionStorage.removeItem("__skapi_kiss"),"string"!=typeof e||"string"!=typeof t)throw alert("Service ID or Owner ID is invalid."),new te('"service" and "owner" should be type <string>.',{code:"INVALID_PARAMETER"});if(!e||!t)throw alert("Service ID or Owner ID is invalid."),new te('"service" and "owner" is required',{code:"INVALID_PARAMETER"});if(t!==this.host)try{ue.UserId(t,'"owner"')}catch(e){throw alert("Service ID or Owner ID is invalid."),e}this.service=e,this.owner=t;let r=!0;n&&"boolean"==typeof n.autoLogin&&(r=n.autoLogin),n?.eventListener?.onLogin&&"function"==typeof n.eventListener.onLogin&&(this.onLogin=n.eventListener.onLogin),this.target_cdn=i?.target_cdn||this.target_cdn,this.hostDomain=i?.hostDomain||this.hostDomain,this.customApiDomain=i?.customApiDomain||this.customApiDomain,this.__network_logs=!!i?.network_logs;const s=`https://${this.target_cdn}.cloudfront.net`;let o=e.substring(0,4);if(this.admin_endpoint=fetch(`${s}/${o}/admin.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const i=new FileReader;i.onloadend=()=>t(i.result),i.onerror=n,i.readAsDataURL(e)})))).then((e=>{try{return"string"==typeof e?JSON.parse(atob(e.split(",")[1])):null}catch(e){throw new te("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}})),this.record_endpoint=fetch(`${s}/${o}/record.json`).then((e=>e.blob())).then((e=>new Promise(((t,n)=>{const i=new FileReader;i.onloadend=()=>t(i.result),i.onerror=n,i.readAsDataURL(e)})))).then((e=>{try{return"string"==typeof e?JSON.parse(atob(e.split(",")[1])):null}catch(e){throw new te("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}})),!sessionStorage)throw alert("This browser is not supported."),new Error("This browser is not supported.");const a=JSON.parse(sessionStorage.getItem(`${e}#${t}`)||"null");if(this.log("constructor:restore",a),a?.connection)for(let e in a)this[e]=a[e];this.__authConnection=(async()=>{const e=await this.admin_endpoint;this.userPool=new ee({UserPoolId:e.userpool_id,ClientId:e.userpool_client});try{let e=await be.bind(this)().getSession({_holdLogin:!0});if(a?.connection||r){let t=e();t instanceof Promise&&await t}else Ee.bind(this)()}catch(e){}})(),this.__connection=(async()=>{let n=null;await this.record_endpoint,a?.connection||(n=this._updateConnection());const i=()=>{if(this.__class_properties_has_been_cached)return;let i=()=>{let n={};const i=["__startKeyHistory","__disabledAccount","__cached_requests","__request_signup_confirmation","connection"];if(this.connection){for(let e of i)n[e]=this[e];sessionStorage.setItem(`${e}#${t}`,JSON.stringify(n)),this.__class_properties_has_been_cached=!0}};return n instanceof Promise?n.then((()=>i())):i()};return addEventListener("beforeunload",(()=>{this.closeRealtime(),i()})),addEventListener("visibilitychange",(()=>{i()})),await n,await this.__authConnection,this.connection})(),this.__connection.then((e=>{((e?.group||0)<3||this.__network_logs)&&this.version()}))}async getConnectionInfo(){let e=await this.__connection,t=e?.user_agent||navigator.userAgent;return{user_ip:e.ip,user_agent:t,user_location:e.locale,service_name:e.service_name,version:this.__version}}async _updateConnection(){try{this.connection=await Qe.bind(this)("service",{service:this.service,owner:this.owner},{bypassAwaitConnection:!0,method:"get"})}catch(e){throw this.log("connection fail",e),alert("Service is not available: "+(e.message||e.toString())),this.connection=null,e}return this.connection}async version(){return await this.__connection,console.log(`Built with:\n%c\r\n $$\\ $$\\ \r\n $$ | \\__|\r\n $$$$$$$\\ $$ | $$\\ $$$$$$\\ $$$$$$\\ $$\\ \r\n$$ _____|$$ | $$ |\\____$$\\ $$ __$$\\ $$ |\r\n\\$$$$$$\\ $$$$$$ / $$$$$$$ |$$ / $$ |$$ |\r\n \\____$$\\ $$ _$$< $$ __$$ |$$ | $$ |$$ |\r\n$$$$$$$ |$$ | \\$$\\\\$$$$$$$ |$$$$$$$ |$$ |\r\n\\_______/ \\__| \\__|\\_______|$$ ____/ \\__|\r\n $$ | \r\n $$ | \r\n \\__| \r\nVersion: ${this.__version}\n\nDocumentation: https://docs.skapi.com`,"font-family: monospace; color:blue;"),1===this.connection.group&&console.log("%cSKAPI: THE SERVICE IS IN TRIAL MODE. ALL THE USERS AND DATA WILL BE INITIALIZED EVERY 30 DAYS.","font-family: monospace; color:red;"),this.__version}log(e,t){if(this.__network_logs)try{console.log(`%c${e}:`,"color: blue;",JSON.parse(JSON.stringify(t)))}catch(n){console.log(`%c${e}:`,"color: blue;",t)}}getFeed(e,t){return Xt.bind(this)(e,t)}closeRTC(e){return kt.bind(this)(e)}connectRTC(e,t){return Nt.bind(this)(e,t)}connectRealtime(e){return jt.bind(this)(e)}spellcast(e){return In.bind(this)(e)}getspell(e){return Tn.bind(this)(e)}dopamine(e){return Rn.bind(this)(e)}resendInvitation(e){return bn.bind(this)(e)}cancelInvitation(e){return wn.bind(this)(e)}getInvitations(e,t){return yn.bind(this)(e,t)}openIdLogin(e){return ve.bind(this)(e)}clientSecretRequest(e){return Yt.bind(this)(e)}consumeTicket(e){return de.bind(this)(e)}getConsumedTickets(e,t){return pe.bind(this)(e,t)}getTickets(e,t){return fe.bind(this)(e,t)}closeRealtime(){return Kt.bind(this)()}getRealtimeUsers(e,t){return Qt.bind(this)(e,t)}sendInquiry(e){return Gt.bind(this)(e)}blockAccount(e){return dn.bind(this)(e)}unblockAccount(e){return fn.bind(this)(e)}deleteAccount(e){return pn.bind(this)(e)}inviteUser(e,t){return gn.bind(this)(e,t)}createAccount(e){return _n.bind(this)(e)}grantAccess(e){return mn.bind(this)(e)}getRealtimeGroups(e,t){return Wt.bind(this)(e,t)}postRealtime(e,t,n){return Ht.bind(this)(e,t,n)}joinRealtime(e){return Jt.bind(this)(e)}getConnection(){return this.__connection}getProfile(e){return Ae.bind(this)(e)}getFile(e,t){return ct.bind(this)(e,t)}secureRequest(e,t){return zt.bind(this)(e,t)}getFormResponse(){return et.bind(this)()}getRecords(e,t){return lt.bind(this)(e,t)}getTables(e,t){return dt.bind(this)(e,t)}getIndexes(e,t){return ft.bind(this)(e,t)}getTags(e,t){return pt.bind(this)(e,t)}deleteRecords(e){return gt.bind(this)(e)}resendSignupConfirmation(){return Te.bind(this)()}recoverAccount(e=!1){return Re.bind(this)(e)}getUsers(e,t){return xe.bind(this)(e,t)}disableAccount(){return Ce.bind(this)()}lastVerifiedEmail(e){return Fe.bind(this)(e)}unsubscribeNewsletter(e){return ln.bind(this)(e)}adminNewsletterRequest(e){return rn.bind(this)(e)}subscribeNotification(e,t){return An.bind(this)({endpoint:e,keys:t})}unsubscribeNotification(e,t){return vn.bind(this)({endpoint:e,keys:t})}vapidPublicKey(){return Sn.bind(this)()}pushNotification(e,t){return En.bind(this)(e,t)}getNewsletters(e,t){return hn.bind(this)(e,t)}getNewsletterSubscription(e){return cn.bind(this)(e)}requestUsernameChange(e){return qe.bind(this)(e)}grantPrivateRecordAccess(e){return _t.bind(this)(e)}removePrivateRecordAccess(e){return mt.bind(this)(e)}listPrivateRecordAccess(e){return yt.bind(this)(e)}requestPrivateRecordAccessKey(e){return wt.bind(this)(e)}deleteFiles(e){return at.bind(this)(e)}uploadFiles(e,t){return ze.bind(this)(e,t)}mock(e,t){return Zt.bind(this)(e,t)}login(e){return De.bind(this)(e)}logout(){return Ie.bind(this)()}signup(e,t){return Ue.bind(this)(e,t)}resetPassword(e){return Pe.bind(this)(e)}verifyEmail(e){return Le.bind(this)(e)}verifyPhoneNumber(e){return Ne.bind(this)(e)}forgotPassword(e){return Oe.bind(this)(e)}changePassword(e){return Me.bind(this)(e)}updateProfile(e){return Ve.bind(this)(e)}postRecord(e,t){return ht.bind(this)(e,t)}getSubscriptions(e,t){return tn.bind(this)(e,t)}subscribe(e){return nn.bind(this)(e)}unsubscribe(e){return sn.bind(this)(e)}blockSubscriber(e){return on.bind(this)(e)}unblockSubscriber(e){return an.bind(this)(e)}subscribeNewsletter(e){return un.bind(this)(e)}}Dn([Xe()],Un.prototype,"getFeed",null),Dn([Xe()],Un.prototype,"closeRTC",null),Dn([Xe()],Un.prototype,"connectRTC",null),Dn([Xe()],Un.prototype,"spellcast",null),Dn([Xe()],Un.prototype,"getspell",null),Dn([Xe()],Un.prototype,"dopamine",null),Dn([Xe()],Un.prototype,"resendInvitation",null),Dn([Xe()],Un.prototype,"cancelInvitation",null),Dn([Xe()],Un.prototype,"getInvitations",null),Dn([Xe()],Un.prototype,"openIdLogin",null),Dn([Xe()],Un.prototype,"clientSecretRequest",null),Dn([Xe()],Un.prototype,"consumeTicket",null),Dn([Xe()],Un.prototype,"getConsumedTickets",null),Dn([Xe()],Un.prototype,"getTickets",null),Dn([Xe()],Un.prototype,"getRealtimeUsers",null),Dn([Xe()],Un.prototype,"sendInquiry",null),Dn([Xe()],Un.prototype,"blockAccount",null),Dn([Xe()],Un.prototype,"unblockAccount",null),Dn([Xe()],Un.prototype,"deleteAccount",null),Dn([Xe()],Un.prototype,"inviteUser",null),Dn([Xe()],Un.prototype,"createAccount",null),Dn([Xe()],Un.prototype,"grantAccess",null),Dn([Xe()],Un.prototype,"getRealtimeGroups",null),Dn([Xe()],Un.prototype,"postRealtime",null),Dn([Xe()],Un.prototype,"joinRealtime",null),Dn([Xe()],Un.prototype,"getProfile",null),Dn([Xe()],Un.prototype,"getFile",null),Dn([Xe()],Un.prototype,"secureRequest",null),Dn([Xe()],Un.prototype,"getFormResponse",null),Dn([Xe()],Un.prototype,"getRecords",null),Dn([Xe()],Un.prototype,"getTables",null),Dn([Xe()],Un.prototype,"getIndexes",null),Dn([Xe()],Un.prototype,"getTags",null),Dn([Xe()],Un.prototype,"deleteRecords",null),Dn([Xe()],Un.prototype,"resendSignupConfirmation",null),Dn([Xe()],Un.prototype,"recoverAccount",null),Dn([Xe()],Un.prototype,"getUsers",null),Dn([Xe()],Un.prototype,"disableAccount",null),Dn([Xe()],Un.prototype,"lastVerifiedEmail",null),Dn([Xe()],Un.prototype,"unsubscribeNewsletter",null),Dn([Xe()],Un.prototype,"adminNewsletterRequest",null),Dn([Xe()],Un.prototype,"subscribeNotification",null),Dn([Xe()],Un.prototype,"unsubscribeNotification",null),Dn([Xe()],Un.prototype,"vapidPublicKey",null),Dn([Xe()],Un.prototype,"pushNotification",null),Dn([Xe()],Un.prototype,"getNewsletters",null),Dn([Xe()],Un.prototype,"getNewsletterSubscription",null),Dn([Xe()],Un.prototype,"requestUsernameChange",null),Dn([Xe()],Un.prototype,"grantPrivateRecordAccess",null),Dn([Xe()],Un.prototype,"removePrivateRecordAccess",null),Dn([Xe()],Un.prototype,"listPrivateRecordAccess",null),Dn([Xe()],Un.prototype,"requestPrivateRecordAccessKey",null),Dn([Xe()],Un.prototype,"deleteFiles",null),Dn([Xe()],Un.prototype,"uploadFiles",null),Dn([Xe()],Un.prototype,"mock",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"login",null),Dn([Xe()],Un.prototype,"logout",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"signup",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"resetPassword",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"verifyEmail",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"verifyPhoneNumber",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"forgotPassword",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"changePassword",null),Dn([Xe({preventMultipleCalls:!0})],Un.prototype,"updateProfile",null),Dn([Xe()],Un.prototype,"postRecord",null),Dn([Xe()],Un.prototype,"getSubscriptions",null),Dn([Xe()],Un.prototype,"subscribe",null),Dn([Xe()],Un.prototype,"unsubscribe",null),Dn([Xe()],Un.prototype,"blockSubscriber",null),Dn([Xe()],Un.prototype,"unblockSubscriber",null),Dn([Xe()],Un.prototype,"subscribeNewsletter",null)})(),i})()));
|
|
3
3
|
//# sourceMappingURL=skapi.js.map
|