skapi-js 1.2.14-beta.6 → 1.5.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/skapi.cjs +233 -2
- package/dist/skapi.cjs.map +1 -1
- package/dist/skapi.d.mts +1534 -0
- package/dist/skapi.d.ts +1534 -0
- package/dist/skapi.js +288 -2
- package/dist/skapi.js.map +1 -1
- package/dist/skapi.mjs +233 -2
- package/dist/skapi.mjs.map +1 -1
- package/package.json +9 -14
- package/dist/bundle-report-commonjs.html +0 -40
- package/dist/bundle-report-esm.html +0 -40
- package/dist/bundle-report-node-esm.html +0 -40
- package/dist/bundle-report.html +0 -40
- package/dist/skapi.cjs.LICENSE.txt +0 -233
- package/dist/skapi.js.LICENSE.txt +0 -242
- package/dist/skapi.mjs.LICENSE.txt +0 -242
- package/dist/skapi.node.mjs +0 -3
- package/dist/skapi.node.mjs.LICENSE.txt +0 -233
- package/dist/skapi.node.mjs.map +0 -1
- package/js/node_modules/qpass/index.d.ts +0 -25
- package/js/package.json +0 -63
- package/js/src/Main.d.ts +0 -6
- package/js/src/Main.js +0 -6
- package/js/src/Main.js.map +0 -1
- package/js/src/Types.d.ts +0 -343
- package/js/src/Types.js +0 -2
- package/js/src/Types.js.map +0 -1
- package/js/src/main/error.d.ts +0 -9
- package/js/src/main/error.js +0 -46
- package/js/src/main/error.js.map +0 -1
- package/js/src/main/skapi.d.ts +0 -455
- package/js/src/main/skapi.js +0 -842
- package/js/src/main/skapi.js.map +0 -1
- package/js/src/methods/admin.d.ts +0 -59
- package/js/src/methods/admin.js +0 -325
- package/js/src/methods/admin.js.map +0 -1
- package/js/src/methods/database.d.ts +0 -73
- package/js/src/methods/database.js +0 -1272
- package/js/src/methods/database.js.map +0 -1
- package/js/src/methods/notification.d.ts +0 -21
- package/js/src/methods/notification.js +0 -81
- package/js/src/methods/notification.js.map +0 -1
- package/js/src/methods/param_restrictions.d.ts +0 -25
- package/js/src/methods/param_restrictions.js +0 -216
- package/js/src/methods/param_restrictions.js.map +0 -1
- package/js/src/methods/realtime.d.ts +0 -35
- package/js/src/methods/realtime.js +0 -408
- package/js/src/methods/realtime.js.map +0 -1
- package/js/src/methods/request.d.ts +0 -43
- package/js/src/methods/request.js +0 -132
- package/js/src/methods/request.js.map +0 -1
- package/js/src/methods/subscription.d.ts +0 -47
- package/js/src/methods/subscription.js +0 -309
- package/js/src/methods/subscription.js.map +0 -1
- package/js/src/methods/user.d.ts +0 -176
- package/js/src/methods/user.js +0 -1135
- package/js/src/methods/user.js.map +0 -1
- package/js/src/methods/vivian.d.ts +0 -18
- package/js/src/methods/vivian.js +0 -46
- package/js/src/methods/vivian.js.map +0 -1
- package/js/src/methods/webrtc.d.ts +0 -26
- package/js/src/methods/webrtc.js +0 -608
- package/js/src/methods/webrtc.js.map +0 -1
- package/js/src/polyfills/global.d.ts +0 -3
- package/js/src/polyfills/global.js +0 -235
- package/js/src/polyfills/global.js.map +0 -1
- package/js/src/utils/network.d.ts +0 -24
- package/js/src/utils/network.js +0 -763
- package/js/src/utils/network.js.map +0 -1
- package/js/src/utils/utils.d.ts +0 -42
- package/js/src/utils/utils.js +0 -663
- package/js/src/utils/utils.js.map +0 -1
- package/js/src/utils/validator.d.ts +0 -24
- package/js/src/utils/validator.js +0 -293
- package/js/src/utils/validator.js.map +0 -1
package/dist/skapi.cjs
CHANGED
|
@@ -1,3 +1,234 @@
|
|
|
1
|
-
|
|
2
|
-
(()=>{var e={602(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.RawSha256=void 0;var p=t(494),i=function(){function e(){this.state=Int32Array.from(p.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 a=0,t=e.byteLength;if(this.bytesHashed+=t,8*this.bytesHashed>p.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;t>0;)this.buffer[this.bufferLength++]=e[a++],t--,this.bufferLength===p.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,a=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),t=this.bufferLength;if(a.setUint8(this.bufferLength++,128),t%p.BLOCK_SIZE>=p.BLOCK_SIZE-8){for(var i=this.bufferLength;i<p.BLOCK_SIZE;i++)a.setUint8(i,0);this.hashBuffer(),this.bufferLength=0}for(i=this.bufferLength;i<p.BLOCK_SIZE-8;i++)a.setUint8(i,0);a.setUint32(p.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),a.setUint32(p.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var d=new Uint8Array(p.DIGEST_LENGTH);for(i=0;i<8;i++)d[4*i]=this.state[i]>>>24&255,d[4*i+1]=this.state[i]>>>16&255,d[4*i+2]=this.state[i]>>>8&255,d[4*i+3]=this.state[i]>>>0&255;return d},e.prototype.hashBuffer=function(){for(var e=this.buffer,a=this.state,t=a[0],i=a[1],d=a[2],s=a[3],r=a[4],n=a[5],o=a[6],l=a[7],m=0;m<p.BLOCK_SIZE;m++){if(m<16)this.temp[m]=(255&e[4*m])<<24|(255&e[4*m+1])<<16|(255&e[4*m+2])<<8|255&e[4*m+3];else{var u=this.temp[m-2],c=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10,h=((u=this.temp[m-15])>>>7|u<<25)^(u>>>18|u<<14)^u>>>3;this.temp[m]=(c+this.temp[m-7]|0)+(h+this.temp[m-16]|0)}var f=(((r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7))+(r&n^~r&o)|0)+(l+(p.KEY[m]+this.temp[m]|0)|0)|0,v=((t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10))+(t&i^t&d^i&d)|0;l=o,o=n,n=r,r=s+f|0,s=d,d=i,i=t,t=f+v|0}a[0]+=t,a[1]+=i,a[2]+=d,a[3]+=s,a[4]+=r,a[5]+=n,a[6]+=o,a[7]+=l},e}();a.RawSha256=i},494(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.MAX_HASHABLE_LENGTH=a.INIT=a.KEY=a.DIGEST_LENGTH=a.BLOCK_SIZE=void 0,a.BLOCK_SIZE=64,a.DIGEST_LENGTH=32,a.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]),a.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],a.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},523(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),(0,t(215).__exportStar)(t(871),a)},871(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.Sha256=void 0;var p=t(215),i=t(494),d=t(602),s=t(388),r=function(){function e(e){if(this.hash=new d.RawSha256,e){this.outer=new d.RawSha256;var a=function(e){var a=(0,s.convertToBuffer)(e);if(a.byteLength>i.BLOCK_SIZE){var t=new d.RawSha256;t.update(a),a=t.digest()}var p=new Uint8Array(i.BLOCK_SIZE);return p.set(a),p}(e),t=new Uint8Array(i.BLOCK_SIZE);t.set(a);for(var p=0;p<i.BLOCK_SIZE;p++)a[p]^=54,t[p]^=92;for(this.hash.update(a),this.outer.update(t),p=0;p<a.byteLength;p++)a[p]=0}}return e.prototype.update=function(e){if(!(0,s.isEmptyData)(e)&&!this.error)try{this.hash.update((0,s.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,p.__awaiter)(this,void 0,void 0,function(){return(0,p.__generator)(this,function(e){return[2,this.digestSync()]})})},e}();a.Sha256=r},24(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.convertToBuffer=void 0;var p=t(6),i="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:p.fromUtf8;a.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?i(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},388(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.uint32ArrayFrom=a.numToUint8=a.isEmptyData=a.convertToBuffer=void 0;var p=t(24);Object.defineProperty(a,"convertToBuffer",{enumerable:!0,get:function(){return p.convertToBuffer}});var i=t(165);Object.defineProperty(a,"isEmptyData",{enumerable:!0,get:function(){return i.isEmptyData}});var d=t(413);Object.defineProperty(a,"numToUint8",{enumerable:!0,get:function(){return d.numToUint8}});var s=t(110);Object.defineProperty(a,"uint32ArrayFrom",{enumerable:!0,get:function(){return s.uint32ArrayFrom}})},165(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.isEmptyData=void 0,a.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},413(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.numToUint8=void 0,a.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},110(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.uint32ArrayFrom=void 0,a.uint32ArrayFrom=function(e){if(!Array.from){for(var a=new Uint32Array(e.length);0<e.length;)a[0]=e[0];return a}return Uint32Array.from(e)}},6(e,a,t){"use strict";t.r(a),t.d(a,{fromUtf8:()=>p,toUtf8:()=>i});const p=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const a=[];for(let t=0,p=e.length;t<p;t++){const p=e.charCodeAt(t);if(p<128)a.push(p);else if(p<2048)a.push(p>>6|192,63&p|128);else if(t+1<e.length&&55296==(64512&p)&&56320==(64512&e.charCodeAt(t+1))){const i=65536+((1023&p)<<10)+(1023&e.charCodeAt(++t));a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}else a.push(p>>12|224,p>>6&63|128,63&p|128)}return Uint8Array.from(a)})(e),i=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let a="";for(let t=0,p=e.length;t<p;t++){const p=e[t];if(p<128)a+=String.fromCharCode(p);else if(192<=p&&p<224){const i=e[++t];a+=String.fromCharCode((31&p)<<6|63&i)}else if(240<=p&&p<365){const i="%"+[p,e[++t],e[++t],e[++t]].map(e=>e.toString(16)).join("%");a+=decodeURIComponent(i)}else a+=String.fromCharCode((15&p)<<12|(63&e[++t])<<6|63&e[++t])}return a})(e)},16(e,a,t){function p(e){return e&&e.default||e}e.exports=global.fetch=global.fetch||("undefined"==typeof process?p(t(782)):function(e,a){return p(t(540))(String(e).replace(/^\/\//g,"https://"),a)})},596(e,a,t){var p,i,d;d=function(){function e(){for(var e=0,a={};e<arguments.length;e++){var t=arguments[e];for(var p in t)a[p]=t[p]}return a}function a(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function t(p){function i(){}function d(a,t,d){if("undefined"!=typeof document){"number"==typeof(d=e({path:"/"},i.defaults,d)).expires&&(d.expires=new Date(1*new Date+864e5*d.expires)),d.expires=d.expires?d.expires.toUTCString():"";try{var s=JSON.stringify(t);/^[\{\[]/.test(s)&&(t=s)}catch(e){}t=p.write?p.write(t,a):encodeURIComponent(String(t)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),a=encodeURIComponent(String(a)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var r="";for(var n in d)d[n]&&(r+="; "+n,!0!==d[n]&&(r+="="+d[n].split(";")[0]));return document.cookie=a+"="+t+r}}function s(e,t){if("undefined"!=typeof document){for(var i={},d=document.cookie?document.cookie.split("; "):[],s=0;s<d.length;s++){var r=d[s].split("="),n=r.slice(1).join("=");t||'"'!==n.charAt(0)||(n=n.slice(1,-1));try{var o=a(r[0]);if(n=(p.read||p)(n,o)||a(n),t)try{n=JSON.parse(n)}catch(e){}if(i[o]=n,e===o)break}catch(e){}}return e?i[e]:i}}return i.set=d,i.get=function(e){return s(e,!1)},i.getJSON=function(e){return s(e,!0)},i.remove=function(a,t){d(a,"",e(t,{expires:-1}))},i.defaults={},i.withConverter=t,i}(function(){})},void 0===(i="function"==typeof(p=d)?p.call(a,t,a,e):p)||(e.exports=i),e.exports=d()},673(e,a,t){"use strict";var p=t(876),i=t(472),d={TRANSITIONAL:0,NONTRANSITIONAL:1};function s(e){return e.split("\0").map(function(e){return e.normalize("NFC")}).join("\0")}function r(e){for(var a=0,t=i.length-1;a<=t;){var p=Math.floor((a+t)/2),d=i[p];if(d[0][0]<=e&&d[0][1]>=e)return d;d[0][0]>e?t=p-1:a=p+1}return null}var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function o(e){return e.replace(n,"_").length}var l=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function m(e,a){"xn--"===e.substr(0,4)&&(e=p.toUnicode(e));var t=!1;(s(e)!==e||"-"===e[3]&&"-"===e[4]||"-"===e[0]||"-"===e[e.length-1]||-1!==e.indexOf(".")||0===e.search(l))&&(t=!0);for(var i=o(e),n=0;n<i;++n){var m=r(e.codePointAt(n));if(u===d.TRANSITIONAL&&"valid"!==m[1]||u===d.NONTRANSITIONAL&&"valid"!==m[1]&&"deviation"!==m[1]){t=!0;break}}return{label:e,error:t}}function u(e,a,t){var p=function(e,a,t){for(var p=!1,i="",s=o(e),n=0;n<s;++n){var l=e.codePointAt(n),m=r(l);switch(m[1]){case"disallowed":p=!0,i+=String.fromCodePoint(l);break;case"ignored":break;case"mapped":i+=String.fromCodePoint.apply(String,m[2]);break;case"deviation":i+=t===d.TRANSITIONAL?String.fromCodePoint.apply(String,m[2]):String.fromCodePoint(l);break;case"valid":i+=String.fromCodePoint(l);break;case"disallowed_STD3_mapped":a?(p=!0,i+=String.fromCodePoint(l)):i+=String.fromCodePoint.apply(String,m[2]);break;case"disallowed_STD3_valid":a&&(p=!0),i+=String.fromCodePoint(l)}}return{string:i,error:p}}(e,a,t);p.string=s(p.string);for(var i=p.string.split("."),n=0;n<i.length;++n)try{var l=m(i[n]);i[n]=l.label,p.error=p.error||l.error}catch(e){p.error=!0}return{string:i.join("."),error:p.error}}e.exports.toASCII=function(e,a,t,i){var d=u(e,a,t),s=d.string.split(".");if(s=s.map(function(e){try{return p.toASCII(e)}catch(a){return d.error=!0,e}}),i){var r=s.slice(0,s.length-1).join(".").length;(r.length>253||0===r.length)&&(d.error=!0);for(var n=0;n<s.length;++n)if(s.length>63||0===s.length){d.error=!0;break}}return d.error?null:s.join(".")},e.exports.toUnicode=function(e,a){var t=u(e,a,d.NONTRANSITIONAL);return{domain:t.string,error:t.error}},e.exports.PROCESSING_OPTIONS=d},284(e,a,t){"use strict";const p="undefined"!=typeof globalThis?globalThis:void 0,i=p?.window;if(i)i.global=i,i.global._runningInNodeJS=!1;else if(p&&(p.global=p,void 0===p.window)){class e{constructor(){this.result=null,this.error=null,this.onload=null,this.onloadend=null,this.onerror=null}readAsDataURL(e){e.arrayBuffer().then(a=>{const t=function(e){if(Buffer)return Buffer.from(e).toString("base64");let a="";const t=new Uint8Array(e);for(let e=0;e<t.length;e+=32768){const p=t.subarray(e,e+32768);a+=String.fromCharCode.apply(null,Array.from(p))}if("function"==typeof btoa)return btoa(a);throw new Error("No base64 encoder available in this environment.")}(a),p=e.type||"application/octet-stream";this.result=`data:${p};base64,${t}`,this.onload&&this.onload({target:this}),this.onloadend&&this.onloadend({target:this})}).catch(e=>{this.error=e,this.onerror&&this.onerror({target:this})})}readAsArrayBuffer(e){e.arrayBuffer().then(e=>{this.result=e,this.onload&&this.onload({target:this}),this.onloadend&&this.onloadend({target:this})}).catch(e=>{this.error=e,this.onerror&&this.onerror({target:this})})}readAsText(e,a="utf-8"){e.text().then(e=>{this.result=e,this.onload&&this.onload({target:this}),this.onloadend&&this.onloadend({target:this})}).catch(e=>{this.error=e,this.onerror&&this.onerror({target:this})})}}p.FileReader=e;class a{constructor(){this.status=0,this.statusText="",this.readyState=0,this.responseText="",this.response=null,this.responseType="",this.responseURL="",this.timeout=0,this.withCredentials=!1,this.onload=null,this.onerror=null,this.onabort=null,this.ontimeout=null,this.onprogress=null,this.onreadystatechange=null,this.upload={onprogress:null},this._method="GET",this._url="",this._headers={},this._aborted=!1}open(e,a){this._method=e,this._url=a,this.readyState=1}setRequestHeader(e,a){this._headers[e]=a}getResponseHeader(e){return null}abort(){this._aborted=!0,this.onabort&&this.onabort({})}send(e){if(this._aborted)return;const a={method:this._method,headers:this._headers};e&&"GET"!==this._method&&"HEAD"!==this._method&&(a.body=e),fetch(this._url,a).then(async e=>{if(!this._aborted){if(this.status=e.status,this.statusText=e.statusText,this.responseURL=e.url,this.readyState=4,"blob"===this.responseType)this.response=await e.blob();else if("json"===this.responseType)try{this.response=await e.json()}catch{this.response=null}else"arraybuffer"===this.responseType?this.response=await e.arrayBuffer():(this.responseText=await e.text(),this.response=this.responseText);this.onload&&this.onload({})}}).catch(e=>{this._aborted||this.onerror&&this.onerror(e)})}}p.XMLHttpRequest=a,p.window={_runningInNodeJS:!0,alert:e=>console.error("[Alert]",e),sessionStorage:{getItem:e=>null,setItem:(e,a)=>{},removeItem:e=>{}},localStorage:{getItem:e=>{const a=t(896),p=t(928);try{const t=p.resolve(process.cwd(),"states","localStorage",`${e}.skapi`);return a.existsSync(t)?a.readFileSync(t,"utf8"):null}catch(e){return null}},setItem:(e,a)=>{const p=t(896),i=t(928);try{const t=i.resolve(process.cwd(),"states","localStorage");p.existsSync(t)||p.mkdirSync(t,{recursive:!0});const d=i.resolve(t,`${e}.skapi`);p.writeFileSync(d,a,"utf8")}catch(e){}},removeItem:e=>{const a=t(896),p=t(928);try{const t=p.resolve(process.cwd(),"states","localStorage",`${e}.skapi`);a.existsSync(t)&&a.unlinkSync(t)}catch(e){}}},location:{href:"",origin:"",hostname:"",protocol:"",replace:e=>{}},navigator:{userAgent:`nodejs/${p?.process?.versions?.node||"unknown"}`,mediaDevices:{getUserMedia:async e=>{throw new Error("getUserMedia is not supported in Node.js environment.")}}},addEventListener:()=>{},removeEventListener:()=>{}}}},215(e,a,t){"use strict";t.r(a),t.d(a,{__assign:()=>d,__asyncDelegator:()=>b,__asyncGenerator:()=>_,__asyncValues:()=>y,__await:()=>g,__awaiter:()=>l,__classPrivateFieldGet:()=>E,__classPrivateFieldSet:()=>D,__createBinding:()=>u,__decorate:()=>r,__exportStar:()=>c,__extends:()=>i,__generator:()=>m,__importDefault:()=>T,__importStar:()=>A,__makeTemplateObject:()=>S,__metadata:()=>o,__param:()=>n,__read:()=>f,__rest:()=>s,__spread:()=>v,__spreadArrays:()=>w,__values:()=>h});var p=function(e,a){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var t in a)a.hasOwnProperty(t)&&(e[t]=a[t])},p(e,a)};function i(e,a){function t(){this.constructor=e}p(e,a),e.prototype=null===a?Object.create(a):(t.prototype=a.prototype,new t)}var d=function(){return d=Object.assign||function(e){for(var a,t=1,p=arguments.length;t<p;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);return e},d.apply(this,arguments)};function s(e,a){var t={};for(var p in e)Object.prototype.hasOwnProperty.call(e,p)&&a.indexOf(p)<0&&(t[p]=e[p]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(e);i<p.length;i++)a.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(e,p[i])&&(t[p[i]]=e[p[i]])}return t}function r(e,a,t,p){var i,d=arguments.length,s=d<3?a:null===p?p=Object.getOwnPropertyDescriptor(a,t):p;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,a,t,p);else for(var r=e.length-1;r>=0;r--)(i=e[r])&&(s=(d<3?i(s):d>3?i(a,t,s):i(a,t))||s);return d>3&&s&&Object.defineProperty(a,t,s),s}function n(e,a){return function(t,p){a(t,p,e)}}function o(e,a){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,a)}function l(e,a,t,p){return new(t||(t=Promise))(function(i,d){function s(e){try{n(p.next(e))}catch(e){d(e)}}function r(e){try{n(p.throw(e))}catch(e){d(e)}}function n(e){var a;e.done?i(e.value):(a=e.value,a instanceof t?a:new t(function(e){e(a)})).then(s,r)}n((p=p.apply(e,a||[])).next())})}function m(e,a){var t,p,i,d,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return d={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(d[Symbol.iterator]=function(){return this}),d;function r(d){return function(r){return function(d){if(t)throw new TypeError("Generator is already executing.");for(;s;)try{if(t=1,p&&(i=2&d[0]?p.return:d[0]?p.throw||((i=p.return)&&i.call(p),0):p.next)&&!(i=i.call(p,d[1])).done)return i;switch(p=0,i&&(d=[2&d[0],i.value]),d[0]){case 0:case 1:i=d;break;case 4:return s.label++,{value:d[1],done:!1};case 5:s.label++,p=d[1],d=[0];continue;case 7:d=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==d[0]&&2!==d[0])){s=0;continue}if(3===d[0]&&(!i||d[1]>i[0]&&d[1]<i[3])){s.label=d[1];break}if(6===d[0]&&s.label<i[1]){s.label=i[1],i=d;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(d);break}i[2]&&s.ops.pop(),s.trys.pop();continue}d=a.call(e,s)}catch(e){d=[6,e],p=0}finally{t=i=0}if(5&d[0])throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}([d,r])}}}function u(e,a,t,p){void 0===p&&(p=t),e[p]=a[t]}function c(e,a){for(var t in e)"default"===t||a.hasOwnProperty(t)||(a[t]=e[t])}function h(e){var a="function"==typeof Symbol&&Symbol.iterator,t=a&&e[a],p=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&p>=e.length&&(e=void 0),{value:e&&e[p++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}function f(e,a){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var p,i,d=t.call(e),s=[];try{for(;(void 0===a||a-- >0)&&!(p=d.next()).done;)s.push(p.value)}catch(e){i={error:e}}finally{try{p&&!p.done&&(t=d.return)&&t.call(d)}finally{if(i)throw i.error}}return s}function v(){for(var e=[],a=0;a<arguments.length;a++)e=e.concat(f(arguments[a]));return e}function w(){for(var e=0,a=0,t=arguments.length;a<t;a++)e+=arguments[a].length;var p=Array(e),i=0;for(a=0;a<t;a++)for(var d=arguments[a],s=0,r=d.length;s<r;s++,i++)p[i]=d[s];return p}function g(e){return this instanceof g?(this.v=e,this):new g(e)}function _(e,a,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var p,i=t.apply(e,a||[]),d=[];return p={},s("next"),s("throw"),s("return"),p[Symbol.asyncIterator]=function(){return this},p;function s(e){i[e]&&(p[e]=function(a){return new Promise(function(t,p){d.push([e,a,t,p])>1||r(e,a)})})}function r(e,a){try{(t=i[e](a)).value instanceof g?Promise.resolve(t.value.v).then(n,o):l(d[0][2],t)}catch(e){l(d[0][3],e)}var t}function n(e){r("next",e)}function o(e){r("throw",e)}function l(e,a){e(a),d.shift(),d.length&&r(d[0][0],d[0][1])}}function b(e){var a,t;return a={},p("next"),p("throw",function(e){throw e}),p("return"),a[Symbol.iterator]=function(){return this},a;function p(p,i){a[p]=e[p]?function(a){return(t=!t)?{value:g(e[p](a)),done:"return"===p}:i?i(a):a}:i}}function y(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a,t=e[Symbol.asyncIterator];return t?t.call(e):(e=h(e),a={},p("next"),p("throw"),p("return"),a[Symbol.asyncIterator]=function(){return this},a);function p(t){a[t]=e[t]&&function(a){return new Promise(function(p,i){!function(e,a,t,p){Promise.resolve(p).then(function(a){e({value:a,done:t})},a)}(p,i,(a=e[t](a)).done,a.value)})}}}function S(e,a){return Object.defineProperty?Object.defineProperty(e,"raw",{value:a}):e.raw=a,e}function A(e){if(e&&e.__esModule)return e;var a={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(a[t]=e[t]);return a.default=e,a}function T(e){return e&&e.__esModule?e:{default:e}}function E(e,a){if(!a.has(e))throw new TypeError("attempted to get private field on non-instance");return a.get(e)}function D(e,a,t){if(!a.has(e))throw new TypeError("attempted to set private field on non-instance");return a.set(e,t),t}},782(e,a,t){"use strict";function p(e,a){return a=a||{},new Promise(function(t,p){var i=new XMLHttpRequest,d=[],s=[],r={},n=function(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:n,headers:{keys:function(){return d},entries:function(){return s},get:function(e){return r[e.toLowerCase()]},has:function(e){return e.toLowerCase()in r}}}};for(var o in i.open(a.method||"get",e,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,a,t){d.push(a=a.toLowerCase()),s.push([a,t]),r[a]=r[a]?r[a]+","+t:t}),t(n())},i.onerror=p,i.withCredentials="include"==a.credentials,a.headers)i.setRequestHeader(o,a.headers[o]);i.send(a.body||null)})}t.r(a),t.d(a,{default:()=>p})},616(e){"use strict";var a={};function t(e){return e<0?-1:1}function p(e,a){a.unsigned||--e;const p=a.unsigned?0:-Math.pow(2,e),i=Math.pow(2,e)-1,d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e),s=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,r){r||(r={});let n=+e;if(r.enforceRange){if(!Number.isFinite(n))throw new TypeError("Argument is not a finite number");if(n=t(n)*Math.floor(Math.abs(n)),n<p||n>i)throw new TypeError("Argument is not in byte range");return n}if(!isNaN(n)&&r.clamp)return n=function(e){return e%1!=.5||1&e?Math.round(e):Math.floor(e)}(n),n<p&&(n=p),n>i&&(n=i),n;if(!Number.isFinite(n)||0===n)return 0;if(n=t(n)*Math.floor(Math.abs(n)),n%=d,!a.unsigned&&n>=s)return n-d;if(a.unsigned)if(n<0)n+=d;else if(-0===n)return 0;return n}}e.exports=a,a.void=function(){},a.boolean=function(e){return!!e},a.byte=p(8,{unsigned:!1}),a.octet=p(8,{unsigned:!0}),a.short=p(16,{unsigned:!1}),a["unsigned short"]=p(16,{unsigned:!0}),a.long=p(32,{unsigned:!1}),a["unsigned long"]=p(32,{unsigned:!0}),a["long long"]=p(32,{unsigned:!1,moduloBitLength:64}),a["unsigned long long"]=p(32,{unsigned:!0,moduloBitLength:64}),a.double=function(e){const a=+e;if(!Number.isFinite(a))throw new TypeError("Argument is not a finite floating-point value");return a},a["unrestricted double"]=function(e){const a=+e;if(isNaN(a))throw new TypeError("Argument is NaN");return a},a.float=a.double,a["unrestricted float"]=a["unrestricted double"],a.DOMString=function(e,a){return a||(a={}),a.treatNullAsEmptyString&&null===e?"":String(e)},a.ByteString=function(e,a){const t=String(e);let p;for(let e=0;void 0!==(p=t.codePointAt(e));++e)if(p>255)throw new TypeError("Argument is not a valid bytestring");return t},a.USVString=function(e){const a=String(e),t=a.length,p=[];for(let e=0;e<t;++e){const i=a.charCodeAt(e);if(i<55296||i>57343)p.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)p.push(String.fromCodePoint(65533));else if(e===t-1)p.push(String.fromCodePoint(65533));else{const t=a.charCodeAt(e+1);if(56320<=t&&t<=57343){const a=1023&i,d=1023&t;p.push(String.fromCodePoint(65536+1024*a+d)),++e}else p.push(String.fromCodePoint(65533))}}return p.join("")},a.Date=function(e,a){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e},a.RegExp=function(e,a){return e instanceof RegExp||(e=new RegExp(e)),e}},79(e,a,t){"use strict";const p=t(484);a.implementation=class{constructor(e){const a=e[0],t=e[1];let i=null;if(void 0!==t&&(i=p.basicURLParse(t),"failure"===i))throw new TypeError("Invalid base URL");const d=p.basicURLParse(a,{baseURL:i});if("failure"===d)throw new TypeError("Invalid URL");this._url=d}get href(){return p.serializeURL(this._url)}set href(e){const a=p.basicURLParse(e);if("failure"===a)throw new TypeError("Invalid URL");this._url=a}get origin(){return p.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){p.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){p.cannotHaveAUsernamePasswordPort(this._url)||p.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){p.cannotHaveAUsernamePasswordPort(this._url)||p.setThePassword(this._url,e)}get host(){const e=this._url;return null===e.host?"":null===e.port?p.serializeHost(e.host):p.serializeHost(e.host)+":"+p.serializeInteger(e.port)}set host(e){this._url.cannotBeABaseURL||p.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){return null===this._url.host?"":p.serializeHost(this._url.host)}set hostname(e){this._url.cannotBeABaseURL||p.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){return null===this._url.port?"":p.serializeInteger(this._url.port)}set port(e){p.cannotHaveAUsernamePasswordPort(this._url)||(""===e?this._url.port=null:p.basicURLParse(e,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:0===this._url.path.length?"":"/"+this._url.path.join("/")}set pathname(e){this._url.cannotBeABaseURL||(this._url.path=[],p.basicURLParse(e,{url:this._url,stateOverride:"path start"}))}get search(){return null===this._url.query||""===this._url.query?"":"?"+this._url.query}set search(e){const a=this._url;if(""===e)return void(a.query=null);const t="?"===e[0]?e.substring(1):e;a.query="",p.basicURLParse(t,{url:a,stateOverride:"query"})}get hash(){return null===this._url.fragment||""===this._url.fragment?"":"#"+this._url.fragment}set hash(e){if(""===e)return void(this._url.fragment=null);const a="#"===e[0]?e.substring(1):e;this._url.fragment="",p.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},648(e,a,t){"use strict";const p=t(616),i=t(892),d=t(79),s=i.implSymbol;function r(a){if(!this||this[s]||!(this instanceof r))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");const t=[];for(let e=0;e<arguments.length&&e<2;++e)t[e]=arguments[e];t[0]=p.USVString(t[0]),void 0!==t[1]&&(t[1]=p.USVString(t[1])),e.exports.setup(this,t)}r.prototype.toJSON=function(){if(!this||!e.exports.is(this))throw new TypeError("Illegal invocation");const a=[];for(let e=0;e<arguments.length&&e<0;++e)a[e]=arguments[e];return this[s].toJSON.apply(this[s],a)},Object.defineProperty(r.prototype,"href",{get(){return this[s].href},set(e){e=p.USVString(e),this[s].href=e},enumerable:!0,configurable:!0}),r.prototype.toString=function(){if(!this||!e.exports.is(this))throw new TypeError("Illegal invocation");return this.href},Object.defineProperty(r.prototype,"origin",{get(){return this[s].origin},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"protocol",{get(){return this[s].protocol},set(e){e=p.USVString(e),this[s].protocol=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"username",{get(){return this[s].username},set(e){e=p.USVString(e),this[s].username=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"password",{get(){return this[s].password},set(e){e=p.USVString(e),this[s].password=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"host",{get(){return this[s].host},set(e){e=p.USVString(e),this[s].host=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"hostname",{get(){return this[s].hostname},set(e){e=p.USVString(e),this[s].hostname=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"port",{get(){return this[s].port},set(e){e=p.USVString(e),this[s].port=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"pathname",{get(){return this[s].pathname},set(e){e=p.USVString(e),this[s].pathname=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"search",{get(){return this[s].search},set(e){e=p.USVString(e),this[s].search=e},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"hash",{get(){return this[s].hash},set(e){e=p.USVString(e),this[s].hash=e},enumerable:!0,configurable:!0}),e.exports={is:e=>!!e&&e[s]instanceof d.implementation,create(e,a){let t=Object.create(r.prototype);return this.setup(t,e,a),t},setup(e,a,t){t||(t={}),t.wrapper=e,e[s]=new d.implementation(a,t),e[s][i.wrapperSymbol]=e},interface:r,expose:{Window:{URL:r},Worker:{URL:r}}}},417(e,a,t){"use strict";a.URL=t(648).interface,t(484).serializeURL,t(484).serializeURLOrigin,t(484).basicURLParse,t(484).setTheUsername,t(484).setThePassword,t(484).serializeHost,t(484).serializeInteger,t(484).parseURL},484(e,a,t){"use strict";const p=t(876),i=t(673),d={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},s=Symbol("failure");function r(e){return p.ucs2.decode(e).length}function n(e,a){const t=e[a];return isNaN(t)?void 0:String.fromCodePoint(t)}function o(e){return e>=48&&e<=57}function l(e){return e>=65&&e<=90||e>=97&&e<=122}function m(e){return o(e)||e>=65&&e<=70||e>=97&&e<=102}function u(e){return"."===e||"%2e"===e.toLowerCase()}function c(e){return 2===e.length&&l(e.codePointAt(0))&&(":"===e[1]||"|"===e[1])}function h(e){return void 0!==d[e]}function f(e){return h(e.scheme)}function v(e){let a=e.toString(16).toUpperCase();return 1===a.length&&(a="0"+a),"%"+a}function w(e){return e<=31||e>126}const g=new Set([32,34,35,60,62,63,96,123,125]);function _(e){return w(e)||g.has(e)}const b=new Set([47,58,59,61,64,91,92,93,94,124]);function y(e){return _(e)||b.has(e)}function S(e,a){const t=String.fromCodePoint(e);return a(e)?function(e){const a=new Buffer(e);let t="";for(let e=0;e<a.length;++e)t+=v(a[e]);return t}(t):t}function A(e){let a=10;return e.length>=2&&"0"===e.charAt(0)&&"x"===e.charAt(1).toLowerCase()?(e=e.substring(2),a=16):e.length>=2&&"0"===e.charAt(0)&&(e=e.substring(1),a=8),""===e?0:(10===a?/[^0-9]/:16===a?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?s:parseInt(e,a)}function T(e,a){if("["===e[0])return"]"!==e[e.length-1]?s:function(e){const a=[0,0,0,0,0,0,0,0];let t=0,i=null,d=0;if(58===(e=p.ucs2.decode(e))[d]){if(58!==e[d+1])return s;d+=2,++t,i=t}for(;d<e.length;){if(8===t)return s;if(58===e[d]){if(null!==i)return s;++d,++t,i=t;continue}let p=0,r=0;for(;r<4&&m(e[d]);)p=16*p+parseInt(n(e,d),16),++d,++r;if(46===e[d]){if(0===r)return s;if(d-=r,t>6)return s;let p=0;for(;void 0!==e[d];){let i=null;if(p>0){if(!(46===e[d]&&p<4))return s;++d}if(!o(e[d]))return s;for(;o(e[d]);){const a=parseInt(n(e,d));if(null===i)i=a;else{if(0===i)return s;i=10*i+a}if(i>255)return s;++d}a[t]=256*a[t]+i,++p,2!==p&&4!==p||++t}if(4!==p)return s;break}if(58===e[d]){if(++d,void 0===e[d])return s}else if(void 0!==e[d])return s;a[t]=p,++t}if(null!==i){let e=t-i;for(t=7;0!==t&&e>0;){const p=a[i+e-1];a[i+e-1]=a[t],a[t]=p,--t,--e}}else if(null===i&&8!==t)return s;return a}(e.substring(1,e.length-1));if(!a)return function(e){if(-1!==e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/))return s;let a="";const t=p.ucs2.decode(e);for(let e=0;e<t.length;++e)a+=S(t[e],w);return a}(e);const t=function(e){const a=new Buffer(e),t=[];for(let e=0;e<a.length;++e)37!==a[e]?t.push(a[e]):37===a[e]&&m(a[e+1])&&m(a[e+2])?(t.push(parseInt(a.slice(e+1,e+3).toString(),16)),e+=2):t.push(a[e]);return new Buffer(t).toString()}(e),d=i.toASCII(t,!1,i.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(null===d)return s;if(-1!==d.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/))return s;const r=function(e){const a=e.split(".");if(""===a[a.length-1]&&a.length>1&&a.pop(),a.length>4)return e;const t=[];for(const p of a){if(""===p)return e;const a=A(p);if(a===s)return e;t.push(a)}for(let e=0;e<t.length-1;++e)if(t[e]>255)return s;if(t[t.length-1]>=Math.pow(256,5-t.length))return s;let p=t.pop(),i=0;for(const e of t)p+=e*Math.pow(256,3-i),++i;return p}(d);return"number"==typeof r||r===s?r:d}function E(e){return"number"==typeof e?function(e){let a="",t=e;for(let e=1;e<=4;++e)a=String(t%256)+a,4!==e&&(a="."+a),t=Math.floor(t/256);return a}(e):e instanceof Array?"["+function(e){let a="";const t=function(e){let a=null,t=1,p=null,i=0;for(let d=0;d<e.length;++d)0!==e[d]?(i>t&&(a=p,t=i),p=null,i=0):(null===p&&(p=d),++i);return i>t&&(a=p,t=i),{idx:a,len:t}}(e).idx;let p=!1;for(let i=0;i<=7;++i)if(!p||0!==e[i]){if(p&&(p=!1),t===i){a+=0===i?"::":":",p=!0;continue}a+=e[i].toString(16),7!==i&&(a+=":")}return a}(e)+"]":e}function D(e){const a=e.path;var t;0!==a.length&&("file"===e.scheme&&1===a.length&&(t=a[0],/^[A-Za-z]:$/.test(t))||a.pop())}function N(e){return""!==e.username||""!==e.password}function I(e,a,t,i,d){if(this.pointer=0,this.input=e,this.base=a||null,this.encodingOverride=t||"utf-8",this.stateOverride=d,this.url=i,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};const e=function(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}(this.input);e!==this.input&&(this.parseError=!0),this.input=e}const r=function(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}(this.input);for(r!==this.input&&(this.parseError=!0),this.input=r,this.state=d||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=p.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer],a=isNaN(e)?void 0:String.fromCodePoint(e),t=this["parse "+this.state](e,a);if(!t)break;if(t===s){this.failure=!0;break}}}I.prototype["parse scheme start"]=function(e,a){if(l(e))this.buffer+=a.toLowerCase(),this.state="scheme";else{if(this.stateOverride)return this.parseError=!0,s;this.state="no scheme",--this.pointer}return!0},I.prototype["parse scheme"]=function(e,a){if(function(e){return l(e)||o(e)}(e)||43===e||45===e||46===e)this.buffer+=a.toLowerCase();else if(58===e){if(this.stateOverride){if(f(this.url)&&!h(this.buffer))return!1;if(!f(this.url)&&h(this.buffer))return!1;if((N(this.url)||null!==this.url.port)&&"file"===this.buffer)return!1;if("file"===this.url.scheme&&(""===this.url.host||null===this.url.host))return!1}if(this.url.scheme=this.buffer,this.buffer="",this.stateOverride)return!1;"file"===this.url.scheme?(47===this.input[this.pointer+1]&&47===this.input[this.pointer+2]||(this.parseError=!0),this.state="file"):f(this.url)&&null!==this.base&&this.base.scheme===this.url.scheme?this.state="special relative or authority":f(this.url)?this.state="special authority slashes":47===this.input[this.pointer+1]?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else{if(this.stateOverride)return this.parseError=!0,s;this.buffer="",this.state="no scheme",this.pointer=-1}return!0},I.prototype["parse no scheme"]=function(e){return null===this.base||this.base.cannotBeABaseURL&&35!==e?s:(this.base.cannotBeABaseURL&&35===e?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):"file"===this.base.scheme?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)},I.prototype["parse special relative or authority"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0},I.prototype["parse path or authority"]=function(e){return 47===e?this.state="authority":(this.state="path",--this.pointer),!0},I.prototype["parse relative"]=function(e){return this.url.scheme=this.base.scheme,isNaN(e)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):47===e?this.state="relative slash":63===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):f(this.url)&&92===e?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0},I.prototype["parse relative slash"]=function(e){return!f(this.url)||47!==e&&92!==e?47===e?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer):(92===e&&(this.parseError=!0),this.state="special authority ignore slashes"),!0},I.prototype["parse special authority slashes"]=function(e){return 47===e&&47===this.input[this.pointer+1]?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0},I.prototype["parse special authority ignore slashes"]=function(e){return 47!==e&&92!==e?(this.state="authority",--this.pointer):this.parseError=!0,!0},I.prototype["parse authority"]=function(e,a){if(64===e){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;const e=r(this.buffer);for(let a=0;a<e;++a){const e=this.buffer.codePointAt(a);if(58===e&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}const t=S(e,y);this.passwordTokenSeenFlag?this.url.password+=t:this.url.username+=t}this.buffer=""}else if(isNaN(e)||47===e||63===e||35===e||f(this.url)&&92===e){if(this.atFlag&&""===this.buffer)return this.parseError=!0,s;this.pointer-=r(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=a;return!0},I.prototype["parse hostname"]=I.prototype["parse host"]=function(e,a){if(this.stateOverride&&"file"===this.url.scheme)--this.pointer,this.state="file host";else if(58!==e||this.arrFlag)if(isNaN(e)||47===e||63===e||35===e||f(this.url)&&92===e){if(--this.pointer,f(this.url)&&""===this.buffer)return this.parseError=!0,s;if(this.stateOverride&&""===this.buffer&&(N(this.url)||null!==this.url.port))return this.parseError=!0,!1;const e=T(this.buffer,f(this.url));if(e===s)return s;if(this.url.host=e,this.buffer="",this.state="path start",this.stateOverride)return!1}else 91===e?this.arrFlag=!0:93===e&&(this.arrFlag=!1),this.buffer+=a;else{if(""===this.buffer)return this.parseError=!0,s;const e=T(this.buffer,f(this.url));if(e===s)return s;if(this.url.host=e,this.buffer="",this.state="port","hostname"===this.stateOverride)return!1}return!0},I.prototype["parse port"]=function(e,a){if(o(e))this.buffer+=a;else{if(!(isNaN(e)||47===e||63===e||35===e||f(this.url)&&92===e||this.stateOverride))return this.parseError=!0,s;if(""!==this.buffer){const e=parseInt(this.buffer);if(e>Math.pow(2,16)-1)return this.parseError=!0,s;this.url.port=e===(t=this.url.scheme,d[t])?null:e,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}var t;return!0};const V=new Set([47,92,63,35]);I.prototype["parse file"]=function(e){var a,t;return this.url.scheme="file",47===e||92===e?(92===e&&(this.parseError=!0),this.state="file slash"):null!==this.base&&"file"===this.base.scheme?isNaN(e)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):63===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):35===e?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1==0||(a=e,t=this.input[this.pointer+1],!l(a)||58!==t&&124!==t)||this.input.length-this.pointer-1>=2&&!V.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),D(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0},I.prototype["parse file slash"]=function(e){var a;return 47===e||92===e?(92===e&&(this.parseError=!0),this.state="file host"):(null!==this.base&&"file"===this.base.scheme&&(2===(a=this.base.path[0]).length&&l(a.codePointAt(0))&&":"===a[1]?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0},I.prototype["parse file host"]=function(e,a){if(isNaN(e)||47===e||92===e||63===e||35===e)if(--this.pointer,!this.stateOverride&&c(this.buffer))this.parseError=!0,this.state="path";else if(""===this.buffer){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let e=T(this.buffer,f(this.url));if(e===s)return s;if("localhost"===e&&(e=""),this.url.host=e,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=a;return!0},I.prototype["parse path start"]=function(e){return f(this.url)?(92===e&&(this.parseError=!0),this.state="path",47!==e&&92!==e&&--this.pointer):this.stateOverride||63!==e?this.stateOverride||35!==e?void 0!==e&&(this.state="path",47!==e&&--this.pointer):(this.url.fragment="",this.state="fragment"):(this.url.query="",this.state="query"),!0},I.prototype["parse path"]=function(e){if(isNaN(e)||47===e||f(this.url)&&92===e||!this.stateOverride&&(63===e||35===e)){if(f(this.url)&&92===e&&(this.parseError=!0),".."===(a=(a=this.buffer).toLowerCase())||"%2e."===a||".%2e"===a||"%2e%2e"===a?(D(this.url),47===e||f(this.url)&&92===e||this.url.path.push("")):!u(this.buffer)||47===e||f(this.url)&&92===e?u(this.buffer)||("file"===this.url.scheme&&0===this.url.path.length&&c(this.buffer)&&(""!==this.url.host&&null!==this.url.host&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)):this.url.path.push(""),this.buffer="","file"===this.url.scheme&&(void 0===e||63===e||35===e))for(;this.url.path.length>1&&""===this.url.path[0];)this.parseError=!0,this.url.path.shift();63===e&&(this.url.query="",this.state="query"),35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=S(e,_);var a;return!0},I.prototype["parse cannot-be-a-base-URL path"]=function(e){return 63===e?(this.url.query="",this.state="query"):35===e?(this.url.fragment="",this.state="fragment"):(isNaN(e)||37===e||(this.parseError=!0),37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),isNaN(e)||(this.url.path[0]=this.url.path[0]+S(e,w))),!0},I.prototype["parse query"]=function(e,a){if(isNaN(e)||!this.stateOverride&&35===e){f(this.url)&&"ws"!==this.url.scheme&&"wss"!==this.url.scheme||(this.encodingOverride="utf-8");const a=new Buffer(this.buffer);for(let e=0;e<a.length;++e)a[e]<33||a[e]>126||34===a[e]||35===a[e]||60===a[e]||62===a[e]?this.url.query+=v(a[e]):this.url.query+=String.fromCodePoint(a[e]);this.buffer="",35===e&&(this.url.fragment="",this.state="fragment")}else 37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.buffer+=a;return!0},I.prototype["parse fragment"]=function(e){return isNaN(e)||(0===e?this.parseError=!0:(37!==e||m(this.input[this.pointer+1])&&m(this.input[this.pointer+2])||(this.parseError=!0),this.url.fragment+=S(e,w))),!0},e.exports.serializeURL=function(e,a){let t=e.scheme+":";if(null!==e.host?(t+="//",""===e.username&&""===e.password||(t+=e.username,""!==e.password&&(t+=":"+e.password),t+="@"),t+=E(e.host),null!==e.port&&(t+=":"+e.port)):null===e.host&&"file"===e.scheme&&(t+="//"),e.cannotBeABaseURL)t+=e.path[0];else for(const a of e.path)t+="/"+a;return null!==e.query&&(t+="?"+e.query),a||null===e.fragment||(t+="#"+e.fragment),t},e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return function(e){let a=e.scheme+"://";return a+=E(e.host),null!==e.port&&(a+=":"+e.port),a}({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}},e.exports.basicURLParse=function(e,a){void 0===a&&(a={});const t=new I(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);return t.failure?"failure":t.url},e.exports.setTheUsername=function(e,a){e.username="";const t=p.ucs2.decode(a);for(let a=0;a<t.length;++a)e.username+=S(t[a],y)},e.exports.setThePassword=function(e,a){e.password="";const t=p.ucs2.decode(a);for(let a=0;a<t.length;++a)e.password+=S(t[a],y)},e.exports.serializeHost=E,e.exports.cannotHaveAUsernamePasswordPort=function(e){return null===e.host||""===e.host||e.cannotBeABaseURL||"file"===e.scheme},e.exports.serializeInteger=function(e){return String(e)},e.exports.parseURL=function(a,t){return void 0===t&&(t={}),e.exports.basicURLParse(a,{baseURL:t.baseURL,encodingOverride:t.encodingOverride})}},892(e){"use strict";e.exports.mixin=function(e,a){const t=Object.getOwnPropertyNames(a);for(let p=0;p<t.length;++p)Object.defineProperty(e,t[p],Object.getOwnPropertyDescriptor(a,t[p]))},e.exports.wrapperSymbol=Symbol("wrapper"),e.exports.implSymbol=Symbol("impl"),e.exports.wrapperForImpl=function(a){return a[e.exports.wrapperSymbol]},e.exports.implForWrapper=function(a){return a[e.exports.implSymbol]}},982(e){"use strict";e.exports=require("crypto")},896(e){"use strict";e.exports=require("fs")},928(e){"use strict";e.exports=require("path")},876(e){"use strict";e.exports=require("punycode")},540(e,a,t){"use strict";t.r(a),t.d(a,{AbortError:()=>z,FetchError:()=>c,Headers:()=>R,Request:()=>J,Response:()=>M,default:()=>X});const p=require("stream"),i=require("http"),d=require("url");var s=t(417);const r=require("https"),n=require("zlib"),o=p.Readable,l=Symbol("buffer"),m=Symbol("type");class u{constructor(){this[m]="";const e=arguments[0],a=arguments[1],t=[];let p=0;if(e){const a=e,i=Number(a.length);for(let e=0;e<i;e++){const i=a[e];let d;d=i instanceof Buffer?i:ArrayBuffer.isView(i)?Buffer.from(i.buffer,i.byteOffset,i.byteLength):i instanceof ArrayBuffer?Buffer.from(i):i instanceof u?i[l]:Buffer.from("string"==typeof i?i:String(i)),p+=d.length,t.push(d)}}this[l]=Buffer.concat(t);let i=a&&void 0!==a.type&&String(a.type).toLowerCase();i&&!/[^\u0020-\u007E]/.test(i)&&(this[m]=i)}get size(){return this[l].length}get type(){return this[m]}text(){return Promise.resolve(this[l].toString())}arrayBuffer(){const e=this[l],a=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return Promise.resolve(a)}stream(){const e=new o;return e._read=function(){},e.push(this[l]),e.push(null),e}toString(){return"[object Blob]"}slice(){const e=this.size,a=arguments[0],t=arguments[1];let p,i;p=void 0===a?0:a<0?Math.max(e+a,0):Math.min(a,e),i=void 0===t?e:t<0?Math.max(e+t,0):Math.min(t,e);const d=Math.max(i-p,0),s=this[l].slice(p,p+d),r=new u([],{type:arguments[2]});return r[l]=s,r}}function c(e,a,t){Error.call(this,e),this.message=e,this.type=a,t&&(this.code=this.errno=t.code),Error.captureStackTrace(this,this.constructor)}let h;Object.defineProperties(u.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}}),Object.defineProperty(u.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0}),c.prototype=Object.create(Error.prototype),c.prototype.constructor=c,c.prototype.name="FetchError";try{h=require("encoding").convert}catch(e){}const f=Symbol("Body internals"),v=p.PassThrough;function w(e){var a=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.size;let d=void 0===i?0:i;var s=t.timeout;let r=void 0===s?0:s;null==e?e=null:_(e)?e=Buffer.from(e.toString()):b(e)||Buffer.isBuffer(e)||("[object ArrayBuffer]"===Object.prototype.toString.call(e)?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof p||(e=Buffer.from(String(e)))),this[f]={body:e,disturbed:!1,error:null},this.size=d,this.timeout=r,e instanceof p&&e.on("error",function(e){const t="AbortError"===e.name?e:new c(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[f].error=t})}function g(){var e=this;if(this[f].disturbed)return w.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[f].disturbed=!0,this[f].error)return w.Promise.reject(this[f].error);let a=this.body;if(null===a)return w.Promise.resolve(Buffer.alloc(0));if(b(a)&&(a=a.stream()),Buffer.isBuffer(a))return w.Promise.resolve(a);if(!(a instanceof p))return w.Promise.resolve(Buffer.alloc(0));let t=[],i=0,d=!1;return new w.Promise(function(p,s){let r;e.timeout&&(r=setTimeout(function(){d=!0,s(new c(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),a.on("error",function(a){"AbortError"===a.name?(d=!0,s(a)):s(new c(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}),a.on("data",function(a){if(!d&&null!==a){if(e.size&&i+a.length>e.size)return d=!0,void s(new c(`content size at ${e.url} over limit: ${e.size}`,"max-size"));i+=a.length,t.push(a)}}),a.on("end",function(){if(!d){clearTimeout(r);try{p(Buffer.concat(t,i))}catch(a){s(new c(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}})})}function _(e){return"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&("URLSearchParams"===e.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(e)||"function"==typeof e.sort)}function b(e){return"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&"string"==typeof e.constructor.name&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function y(e){let a,t,i=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return i instanceof p&&"function"!=typeof i.getBoundary&&(a=new v,t=new v,i.pipe(a),i.pipe(t),e[f].body=a,i=t),i}function S(e){return null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":_(e)?"application/x-www-form-urlencoded;charset=UTF-8":b(e)?e.type||null:Buffer.isBuffer(e)||"[object ArrayBuffer]"===Object.prototype.toString.call(e)||ArrayBuffer.isView(e)?null:"function"==typeof e.getBoundary?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof p?null:"text/plain;charset=UTF-8"}function A(e){const a=e.body;return null===a?0:b(a)?a.size:Buffer.isBuffer(a)?a.length:a&&"function"==typeof a.getLengthSync&&(a._lengthRetrievers&&0==a._lengthRetrievers.length||a.hasKnownLength&&a.hasKnownLength())?a.getLengthSync():null}w.prototype={get body(){return this[f].body},get bodyUsed(){return this[f].disturbed},arrayBuffer(){return g.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return g.call(this).then(function(a){return Object.assign(new u([],{type:e.toLowerCase()}),{[l]:a})})},json(){var e=this;return g.call(this).then(function(a){try{return JSON.parse(a.toString())}catch(a){return w.Promise.reject(new c(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}})},text(){return g.call(this).then(function(e){return e.toString()})},buffer(){return g.call(this)},textConverted(){var e=this;return g.call(this).then(function(a){return function(e,a){if("function"!=typeof h)throw new Error("The package `encoding` must be installed to use the textConverted() function");const t=a.get("content-type");let p,i,d="utf-8";return t&&(p=/charset=([^;]*)/i.exec(t)),i=e.slice(0,1024).toString(),!p&&i&&(p=/<meta.+?charset=(['"])(.+?)\1/i.exec(i)),!p&&i&&(p=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(i),p||(p=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(i),p&&p.pop()),p&&(p=/charset=(.*)/i.exec(p.pop()))),!p&&i&&(p=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(i)),p&&(d=p.pop(),"gb2312"!==d&&"gbk"!==d||(d="gb18030")),h(e,"UTF-8",d).toString()}(a,e.headers)})}},Object.defineProperties(w.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}}),w.mixIn=function(e){for(const a of Object.getOwnPropertyNames(w.prototype))if(!(a in e)){const t=Object.getOwnPropertyDescriptor(w.prototype,a);Object.defineProperty(e,a,t)}},w.Promise=global.Promise;const T=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,E=/[^\t\x20-\x7e\x80-\xff]/;function D(e){if(e=`${e}`,T.test(e)||""===e)throw new TypeError(`${e} is not a legal HTTP header name`)}function N(e){if(e=`${e}`,E.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function I(e,a){a=a.toLowerCase();for(const t in e)if(t.toLowerCase()===a)return t}const V=Symbol("map");class R{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[V]=Object.create(null),e instanceof R){const a=e.raw(),t=Object.keys(a);for(const e of t)for(const t of a[e])this.append(e,t);return}if(null==e);else{if("object"!=typeof e)throw new TypeError("Provided initializer must be an object");{const a=e[Symbol.iterator];if(null!=a){if("function"!=typeof a)throw new TypeError("Header pairs must be iterable");const t=[];for(const a of e){if("object"!=typeof a||"function"!=typeof a[Symbol.iterator])throw new TypeError("Each header pair must be iterable");t.push(Array.from(a))}for(const e of t){if(2!==e.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(e[0],e[1])}}else for(const a of Object.keys(e)){const t=e[a];this.append(a,t)}}}}get(e){D(e=`${e}`);const a=I(this[V],e);return void 0===a?null:this[V][a].join(", ")}forEach(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=C(this),p=0;for(;p<t.length;){var i=t[p];const d=i[0],s=i[1];e.call(a,s,d,this),t=C(this),p++}}set(e,a){a=`${a}`,D(e=`${e}`),N(a);const t=I(this[V],e);this[V][void 0!==t?t:e]=[a]}append(e,a){a=`${a}`,D(e=`${e}`),N(a);const t=I(this[V],e);void 0!==t?this[V][t].push(a):this[V][e]=[a]}has(e){return D(e=`${e}`),void 0!==I(this[V],e)}delete(e){D(e=`${e}`);const a=I(this[V],e);void 0!==a&&delete this[V][a]}raw(){return this[V]}keys(){return U(this,"key")}values(){return U(this,"value")}[Symbol.iterator](){return U(this,"key+value")}}function C(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"key+value";return Object.keys(e[V]).sort().map("key"===a?function(e){return e.toLowerCase()}:"value"===a?function(a){return e[V][a].join(", ")}:function(a){return[a.toLowerCase(),e[V][a].join(", ")]})}R.prototype.entries=R.prototype[Symbol.iterator],Object.defineProperty(R.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(R.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const P=Symbol("internal");function U(e,a){const t=Object.create(k);return t[P]={target:e,kind:a,index:0},t}const k=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==k)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[P];const a=e.target,t=e.kind,p=e.index,i=C(a,t);return p>=i.length?{value:void 0,done:!0}:(this[P].index=p+1,{value:i[p],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function O(e){const a=Object.assign({__proto__:null},e[V]),t=I(e[V],"Host");return void 0!==t&&(a[t]=a[t][0]),a}Object.defineProperty(k,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const L=Symbol("Response internals"),F=i.STATUS_CODES;class M{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};w.call(this,e,a);const t=a.status||200,p=new R(a.headers);if(null!=e&&!p.has("Content-Type")){const a=S(e);a&&p.append("Content-Type",a)}this[L]={url:a.url,status:t,statusText:a.statusText||F[t],headers:p,counter:a.counter}}get url(){return this[L].url||""}get status(){return this[L].status}get ok(){return this[L].status>=200&&this[L].status<300}get redirected(){return this[L].counter>0}get statusText(){return this[L].statusText}get headers(){return this[L].headers}clone(){return new M(y(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}w.mixIn(M.prototype),Object.defineProperties(M.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(M.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const x=Symbol("Request internals"),B=d.URL||s.URL,q=d.parse,j=d.format;function $(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new B(e).toString()),q(e)}const K="destroy"in p.Readable.prototype;function H(e){return"object"==typeof e&&"object"==typeof e[x]}class J{constructor(e){let a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};H(e)?a=$(e.url):(a=e&&e.href?$(e.href):$(`${e}`),e={});let p=t.method||e.method||"GET";if(p=p.toUpperCase(),(null!=t.body||H(e)&&null!==e.body)&&("GET"===p||"HEAD"===p))throw new TypeError("Request with GET/HEAD method cannot have body");let i=null!=t.body?t.body:H(e)&&null!==e.body?y(e):null;w.call(this,i,{timeout:t.timeout||e.timeout||0,size:t.size||e.size||0});const d=new R(t.headers||e.headers||{});if(null!=i&&!d.has("Content-Type")){const e=S(i);e&&d.append("Content-Type",e)}let s=H(e)?e.signal:null;if("signal"in t&&(s=t.signal),null!=s&&!function(e){const a=e&&"object"==typeof e&&Object.getPrototypeOf(e);return!(!a||"AbortSignal"!==a.constructor.name)}(s))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[x]={method:p,redirect:t.redirect||e.redirect||"follow",headers:d,parsedURL:a,signal:s},this.follow=void 0!==t.follow?t.follow:void 0!==e.follow?e.follow:20,this.compress=void 0!==t.compress?t.compress:void 0===e.compress||e.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent}get method(){return this[x].method}get url(){return j(this[x].parsedURL)}get headers(){return this[x].headers}get redirect(){return this[x].redirect}get signal(){return this[x].signal}clone(){return new J(this)}}function z(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}w.mixIn(J.prototype),Object.defineProperty(J.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(J.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),z.prototype=Object.create(Error.prototype),z.prototype.constructor=z,z.prototype.name="AbortError";const W=d.URL||s.URL,Q=p.PassThrough;function G(e,a){if(!G.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return w.Promise=G.Promise,new G.Promise(function(t,d){const s=new J(e,a),o=function(e){const a=e[x].parsedURL,t=new R(e[x].headers);if(t.has("Accept")||t.set("Accept","*/*"),!a.protocol||!a.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(a.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof p.Readable&&!K)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let i=null;if(null==e.body&&/^(POST|PUT)$/i.test(e.method)&&(i="0"),null!=e.body){const a=A(e);"number"==typeof a&&(i=String(a))}i&&t.set("Content-Length",i),t.has("User-Agent")||t.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip,deflate");let d=e.agent;return"function"==typeof d&&(d=d(a)),Object.assign({},a,{method:e.method,headers:O(t),agent:d})}(s),l=("https:"===o.protocol?r:i).request,m=s.signal;let u=null;const h=function(){let e=new z("The user aborted a request.");d(e),s.body&&s.body instanceof p.Readable&&Z(s.body,e),u&&u.body&&u.body.emit("error",e)};if(m&&m.aborted)return void h();const f=function(){h(),g()},v=l(o);let w;function g(){v.abort(),m&&m.removeEventListener("abort",f),clearTimeout(w)}m&&m.addEventListener("abort",f),s.timeout&&v.once("socket",function(e){w=setTimeout(function(){d(new c(`network timeout at: ${s.url}`,"request-timeout")),g()},s.timeout)}),v.on("error",function(e){d(new c(`request to ${s.url} failed, reason: ${e.message}`,"system",e)),u&&u.body&&Z(u.body,e),g()}),function(e,a){let t;e.on("socket",function(e){t=e}),e.on("response",function(e){const p=e.headers;"chunked"!==p["transfer-encoding"]||p["content-length"]||e.once("close",function(e){if(t&&t.listenerCount("data")>0&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE",a(e)}})})}(v,function(e){m&&m.aborted||u&&u.body&&Z(u.body,e)}),parseInt(process.version.substring(1))<14&&v.on("socket",function(e){e.addListener("close",function(a){const t=e.listenerCount("data")>0;if(u&&t&&!a&&(!m||!m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE",u.body.emit("error",e)}})}),v.on("response",function(e){clearTimeout(w);const a=function(e){const a=new R;for(const t of Object.keys(e))if(!T.test(t))if(Array.isArray(e[t]))for(const p of e[t])E.test(p)||(void 0===a[V][t]?a[V][t]=[p]:a[V][t].push(p));else E.test(e[t])||(a[V][t]=[e[t]]);return a}(e.headers);if(G.isRedirect(e.statusCode)){const i=a.get("Location");let r=null;try{r=null===i?null:new W(i,s.url).toString()}catch(e){if("manual"!==s.redirect)return d(new c(`uri requested responds with an invalid redirect URL: ${i}`,"invalid-redirect")),void g()}switch(s.redirect){case"error":return d(new c(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect")),void g();case"manual":if(null!==r)try{a.set("Location",r)}catch(e){d(e)}break;case"follow":if(null===r)break;if(s.counter>=s.follow)return d(new c(`maximum redirect reached at: ${s.url}`,"max-redirect")),void g();const i={headers:new R(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!function(e,a){const t=new W(a).hostname,p=new W(e).hostname;return t===p||"."===t[t.length-p.length-1]&&t.endsWith(p)}(s.url,r)||(p=s.url,new W(r).protocol!==new W(p).protocol))for(const e of["authorization","www-authenticate","cookie","cookie2"])i.headers.delete(e);return 303!==e.statusCode&&s.body&&null===A(s)?(d(new c("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void g()):(303!==e.statusCode&&(301!==e.statusCode&&302!==e.statusCode||"POST"!==s.method)||(i.method="GET",i.body=void 0,i.headers.delete("content-length")),t(G(new J(r,i))),void g())}}var p;e.once("end",function(){m&&m.removeEventListener("abort",f)});let i=e.pipe(new Q);const r={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter},o=a.get("Content-Encoding");if(!s.compress||"HEAD"===s.method||null===o||204===e.statusCode||304===e.statusCode)return u=new M(i,r),void t(u);const l={flush:n.Z_SYNC_FLUSH,finishFlush:n.Z_SYNC_FLUSH};if("gzip"==o||"x-gzip"==o)return i=i.pipe(n.createGunzip(l)),u=new M(i,r),void t(u);if("deflate"==o||"x-deflate"==o){const a=e.pipe(new Q);return a.once("data",function(e){i=8==(15&e[0])?i.pipe(n.createInflate()):i.pipe(n.createInflateRaw()),u=new M(i,r),t(u)}),void a.on("end",function(){u||(u=new M(i,r),t(u))})}if("br"==o&&"function"==typeof n.createBrotliDecompress)return i=i.pipe(n.createBrotliDecompress()),u=new M(i,r),void t(u);u=new M(i,r),t(u)}),function(e,a){const t=a.body;null===t?e.end():b(t)?t.stream().pipe(e):Buffer.isBuffer(t)?(e.write(t),e.end()):t.pipe(e)}(v,s)})}function Z(e,a){e.destroy?e.destroy(a):(e.emit("error",a),e.end())}G.isRedirect=function(e){return 301===e||302===e||303===e||307===e||308===e},G.Promise=global.Promise;const X=G},472(e){"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}},a={};function t(p){var i=a[p];if(void 0!==i)return i.exports;var d=a[p]={exports:{}};return e[p](d,d.exports,t),d.exports}t.d=(e,a)=>{for(var p in a)t.o(a,p)&&!t.o(e,p)&&Object.defineProperty(e,p,{enumerable:!0,get:a[p]})},t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var p={};(()=>{"use strict";t.r(p),t.d(p,{Skapi:()=>np,SkapiError:()=>ae,Types:()=>e});var e={};t.r(e),t(284);var a=function(){function e(e){var a=e||{},t=a.ValidationData,p=a.Username,i=a.Password,d=a.AuthParameters,s=a.ClientMetadata;this.validationData=t||{},this.authParameters=d||{},this.clientMetadata=s||{},this.username=p,this.password=i}var a=e.prototype;return a.getUsername=function(){return this.username},a.getPassword=function(){return this.password},a.getValidationData=function(){return this.validationData},a.getAuthParameters=function(){return this.authParameters},a.getClientMetadata=function(){return this.clientMetadata},e}();const i=require("buffer");var d;if("undefined"!=typeof window&&window.crypto&&(d=window.crypto),!d&&"undefined"!=typeof window&&window.msCrypto&&(d=window.msCrypto),!d&&"undefined"!=typeof global&&global.crypto&&(d=global.crypto),!d)try{d=t(982)}catch(e){}function s(){if(d){if("function"==typeof d.getRandomValues)try{return d.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof d.randomBytes)try{return d.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}var r=function(){function e(e,a){e=this.words=e||[],this.sigBytes=null!=a?a:4*e.length}var a=e.prototype;return a.random=function(a){for(var t=[],p=0;p<a;p+=4)t.push(s());return new e(t,a)},a.toString=function(){return function(e){for(var a=e.words,t=e.sigBytes,p=[],i=0;i<t;i++){var d=a[i>>>2]>>>24-i%4*8&255;p.push((d>>>4).toString(16)),p.push((15&d).toString(16))}return p.join("")}(this)},e}(),n=t(523);const o=l;function l(e,a){null!=e&&this.fromString(e,a)}function m(){return new l(null)}var u,c="undefined"!=typeof navigator;c&&"Microsoft Internet Explorer"==navigator.appName?(l.prototype.am=function(e,a,t,p,i,d){for(var s=32767&a,r=a>>15;--d>=0;){var n=32767&this[e],o=this[e++]>>15,l=r*n+o*s;i=((n=s*n+((32767&l)<<15)+t[p]+(1073741823&i))>>>30)+(l>>>15)+r*o+(i>>>30),t[p++]=1073741823&n}return i},u=30):c&&"Netscape"!=navigator.appName?(l.prototype.am=function(e,a,t,p,i,d){for(;--d>=0;){var s=a*this[e++]+t[p]+i;i=Math.floor(s/67108864),t[p++]=67108863&s}return i},u=26):(l.prototype.am=function(e,a,t,p,i,d){for(var s=16383&a,r=a>>14;--d>=0;){var n=16383&this[e],o=this[e++]>>14,l=r*n+o*s;i=((n=s*n+((16383&l)<<14)+t[p]+i)>>28)+(l>>14)+r*o,t[p++]=268435455&n}return i},u=28),l.prototype.DB=u,l.prototype.DM=(1<<u)-1,l.prototype.DV=1<<u,l.prototype.FV=Math.pow(2,52),l.prototype.F1=52-u,l.prototype.F2=2*u-52;var h,f,v=new Array;for(h="0".charCodeAt(0),f=0;f<=9;++f)v[h++]=f;for(h="a".charCodeAt(0),f=10;f<36;++f)v[h++]=f;for(h="A".charCodeAt(0),f=10;f<36;++f)v[h++]=f;function w(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function g(e,a){var t=v[e.charCodeAt(a)];return null==t?-1:t}function _(e){var a=m();return a.fromInt(e),a}function b(e){var a,t=1;return 0!=(a=e>>>16)&&(e=a,t+=16),0!=(a=e>>8)&&(e=a,t+=8),0!=(a=e>>4)&&(e=a,t+=4),0!=(a=e>>2)&&(e=a,t+=2),0!=(a=e>>1)&&(e=a,t+=1),t}function y(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 S(e){return i.Buffer.from((new r).random(e).toString(),"hex")}y.prototype.convert=function(e){var a=m();return e.abs().dlShiftTo(this.m.t,a),a.divRemTo(this.m,null,a),e.s<0&&a.compareTo(l.ZERO)>0&&this.m.subTo(a,a),a},y.prototype.revert=function(e){var a=m();return e.copyTo(a),this.reduce(a),a},y.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var a=0;a<this.m.t;++a){var t=32767&e[a],p=t*this.mpl+((t*this.mph+(e[a]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[t=a+this.m.t]+=this.m.am(0,p,e,a,0,this.m.t);e[t]>=e.DV;)e[t]-=e.DV,e[++t]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},y.prototype.mulTo=function(e,a,t){e.multiplyTo(a,t),this.reduce(t)},y.prototype.sqrTo=function(e,a){e.squareTo(a),this.reduce(a)},l.prototype.copyTo=function(e){for(var a=this.t-1;a>=0;--a)e[a]=this[a];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,a){var t;if(16==a)t=4;else if(8==a)t=3;else if(2==a)t=1;else if(32==a)t=5;else{if(4!=a)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}this.t=0,this.s=0;for(var p=e.length,i=!1,d=0;--p>=0;){var s=g(e,p);s<0?"-"==e.charAt(p)&&(i=!0):(i=!1,0==d?this[this.t++]=s:d+t>this.DB?(this[this.t-1]|=(s&(1<<this.DB-d)-1)<<d,this[this.t++]=s>>this.DB-d):this[this.t-1]|=s<<d,(d+=t)>=this.DB&&(d-=this.DB))}this.clamp(),i&&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,a){var t;for(t=this.t-1;t>=0;--t)a[t+e]=this[t];for(t=e-1;t>=0;--t)a[t]=0;a.t=this.t+e,a.s=this.s},l.prototype.drShiftTo=function(e,a){for(var t=e;t<this.t;++t)a[t-e]=this[t];a.t=Math.max(this.t-e,0),a.s=this.s},l.prototype.lShiftTo=function(e,a){var t,p=e%this.DB,i=this.DB-p,d=(1<<i)-1,s=Math.floor(e/this.DB),r=this.s<<p&this.DM;for(t=this.t-1;t>=0;--t)a[t+s+1]=this[t]>>i|r,r=(this[t]&d)<<p;for(t=s-1;t>=0;--t)a[t]=0;a[s]=r,a.t=this.t+s+1,a.s=this.s,a.clamp()},l.prototype.rShiftTo=function(e,a){a.s=this.s;var t=Math.floor(e/this.DB);if(t>=this.t)a.t=0;else{var p=e%this.DB,i=this.DB-p,d=(1<<p)-1;a[0]=this[t]>>p;for(var s=t+1;s<this.t;++s)a[s-t-1]|=(this[s]&d)<<i,a[s-t]=this[s]>>p;p>0&&(a[this.t-t-1]|=(this.s&d)<<i),a.t=this.t-t,a.clamp()}},l.prototype.subTo=function(e,a){for(var t=0,p=0,i=Math.min(e.t,this.t);t<i;)p+=this[t]-e[t],a[t++]=p&this.DM,p>>=this.DB;if(e.t<this.t){for(p-=e.s;t<this.t;)p+=this[t],a[t++]=p&this.DM,p>>=this.DB;p+=this.s}else{for(p+=this.s;t<e.t;)p-=e[t],a[t++]=p&this.DM,p>>=this.DB;p-=e.s}a.s=p<0?-1:0,p<-1?a[t++]=this.DV+p:p>0&&(a[t++]=p),a.t=t,a.clamp()},l.prototype.multiplyTo=function(e,a){var t=this.abs(),p=e.abs(),i=t.t;for(a.t=i+p.t;--i>=0;)a[i]=0;for(i=0;i<p.t;++i)a[i+t.t]=t.am(0,p[i],a,i,0,t.t);a.s=0,a.clamp(),this.s!=e.s&&l.ZERO.subTo(a,a)},l.prototype.squareTo=function(e){for(var a=this.abs(),t=e.t=2*a.t;--t>=0;)e[t]=0;for(t=0;t<a.t-1;++t){var p=a.am(t,a[t],e,2*t,0,1);(e[t+a.t]+=a.am(t+1,2*a[t],e,2*t+1,p,a.t-t-1))>=a.DV&&(e[t+a.t]-=a.DV,e[t+a.t+1]=1)}e.t>0&&(e[e.t-1]+=a.am(t,a[t],e,2*t,0,1)),e.s=0,e.clamp()},l.prototype.divRemTo=function(e,a,t){var p=e.abs();if(!(p.t<=0)){var i=this.abs();if(i.t<p.t)return null!=a&&a.fromInt(0),void(null!=t&&this.copyTo(t));null==t&&(t=m());var d=m(),s=this.s,r=e.s,n=this.DB-b(p[p.t-1]);n>0?(p.lShiftTo(n,d),i.lShiftTo(n,t)):(p.copyTo(d),i.copyTo(t));var o=d.t,u=d[o-1];if(0!=u){var c=u*(1<<this.F1)+(o>1?d[o-2]>>this.F2:0),h=this.FV/c,f=(1<<this.F1)/c,v=1<<this.F2,w=t.t,g=w-o,_=null==a?m():a;for(d.dlShiftTo(g,_),t.compareTo(_)>=0&&(t[t.t++]=1,t.subTo(_,t)),l.ONE.dlShiftTo(o,_),_.subTo(d,d);d.t<o;)d[d.t++]=0;for(;--g>=0;){var y=t[--w]==u?this.DM:Math.floor(t[w]*h+(t[w-1]+v)*f);if((t[w]+=d.am(0,y,t,g,0,o))<y)for(d.dlShiftTo(g,_),t.subTo(_,t);t[w]<--y;)t.subTo(_,t)}null!=a&&(t.drShiftTo(o,a),s!=r&&l.ZERO.subTo(a,a)),t.t=o,t.clamp(),n>0&&t.rShiftTo(n,t),s<0&&l.ZERO.subTo(t,t)}}},l.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var a=3&e;return(a=(a=(a=(a=a*(2-(15&e)*a)&15)*(2-(255&e)*a)&255)*(2-((65535&e)*a&65535))&65535)*(2-e*a%this.DV)%this.DV)>0?this.DV-a:-a},l.prototype.addTo=function(e,a){for(var t=0,p=0,i=Math.min(e.t,this.t);t<i;)p+=this[t]+e[t],a[t++]=p&this.DM,p>>=this.DB;if(e.t<this.t){for(p+=e.s;t<this.t;)p+=this[t],a[t++]=p&this.DM,p>>=this.DB;p+=this.s}else{for(p+=this.s;t<e.t;)p+=e[t],a[t++]=p&this.DM,p>>=this.DB;p+=e.s}a.s=p<0?-1:0,p>0?a[t++]=p:p<-1&&(a[t++]=this.DV+p),a.t=t,a.clamp()},l.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var a;if(16==e)a=4;else if(8==e)a=3;else if(2==e)a=1;else if(32==e)a=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");a=2}var t,p=(1<<a)-1,i=!1,d="",s=this.t,r=this.DB-s*this.DB%a;if(s-- >0)for(r<this.DB&&(t=this[s]>>r)>0&&(i=!0,d=w(t));s>=0;)r<a?(t=(this[s]&(1<<r)-1)<<a-r,t|=this[--s]>>(r+=this.DB-a)):(t=this[s]>>(r-=a)&p,r<=0&&(r+=this.DB,--s)),t>0&&(i=!0),i&&(d+=w(t));return i?d:"0"},l.prototype.negate=function(){var e=m();return l.ZERO.subTo(this,e),e},l.prototype.abs=function(){return this.s<0?this.negate():this},l.prototype.compareTo=function(e){var a=this.s-e.s;if(0!=a)return a;var t=this.t;if(0!=(a=t-e.t))return this.s<0?-a:a;for(;--t>=0;)if(0!=(a=this[t]-e[t]))return a;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 a=m();return this.abs().divRemTo(e,null,a),this.s<0&&a.compareTo(l.ZERO)>0&&e.subTo(a,a),a},l.prototype.equals=function(e){return 0==this.compareTo(e)},l.prototype.add=function(e){var a=m();return this.addTo(e,a),a},l.prototype.subtract=function(e){var a=m();return this.subTo(e,a),a},l.prototype.multiply=function(e){var a=m();return this.multiplyTo(e,a),a},l.prototype.divide=function(e){var a=m();return this.divRemTo(e,a,null),a},l.prototype.modPow=function(e,a,t){var p,i=e.bitLength(),d=_(1),s=new y(a);if(i<=0)return d;p=i<18?1:i<48?3:i<144?4:i<768?5:6;var r=new Array,n=3,o=p-1,l=(1<<p)-1;if(r[1]=s.convert(this),p>1){var u=m();for(s.sqrTo(r[1],u);n<=l;)r[n]=m(),s.mulTo(u,r[n-2],r[n]),n+=2}var c,h,f=e.t-1,v=!0,w=m();for(i=b(e[f])-1;f>=0;){for(i>=o?c=e[f]>>i-o&l:(c=(e[f]&(1<<i+1)-1)<<o-i,f>0&&(c|=e[f-1]>>this.DB+i-o)),n=p;!(1&c);)c>>=1,--n;if((i-=n)<0&&(i+=this.DB,--f),v)r[c].copyTo(d),v=!1;else{for(;n>1;)s.sqrTo(d,w),s.sqrTo(w,d),n-=2;n>0?s.sqrTo(d,w):(h=d,d=w,w=h),s.mulTo(w,r[c],d)}for(;f>=0&&!(e[f]&1<<i);)s.sqrTo(d,w),h=d,d=w,w=h,--i<0&&(i=this.DB-1,--f)}var g=s.revert(d);return t(null,g),g},l.ZERO=_(0),l.ONE=_(1);var A=/^[89a-f]/i,T=function(){function e(e){this.N=new o("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF",16),this.g=new o("2",16),this.k=new o(this.hexHash(""+this.padHex(this.N)+this.padHex(this.g)),16),this.smallAValue=this.generateRandomSmallA(),this.getLargeAValue(function(){}),this.infoBits=i.Buffer.from("Caldera Derived Key","utf8"),this.poolName=e}var a=e.prototype;return a.getSmallAValue=function(){return this.smallAValue},a.getLargeAValue=function(e){var a=this;this.largeAValue?e(null,this.largeAValue):this.calculateA(this.smallAValue,function(t,p){t&&e(t,null),a.largeAValue=p,e(null,a.largeAValue)})},a.generateRandomSmallA=function(){var e=S(128).toString("hex");return new o(e,16)},a.generateRandomString=function(){return S(40).toString("base64")},a.getRandomPassword=function(){return this.randomPassword},a.getSaltDevices=function(){return this.SaltToHashDevices},a.getVerifierDevices=function(){return this.verifierDevices},a.generateHashDevice=function(e,a,t){var p=this;this.randomPassword=this.generateRandomString();var i=""+e+a+":"+this.randomPassword,d=this.hash(i),s=S(16).toString("hex");this.SaltToHashDevices=this.padHex(new o(s,16)),this.g.modPow(new o(this.hexHash(this.SaltToHashDevices+d),16),this.N,function(e,a){e&&t(e,null),p.verifierDevices=p.padHex(a),t(null,null)})},a.calculateA=function(e,a){var t=this;this.g.modPow(e,this.N,function(e,p){e&&a(e,null),p.mod(t.N).equals(o.ZERO)&&a(new Error("Illegal paramater. A mod N cannot be 0."),null),a(null,p)})},a.calculateU=function(e,a){return this.UHexHash=this.hexHash(this.padHex(e)+this.padHex(a)),new o(this.UHexHash,16)},a.hash=function(e){var a=new n.Sha256;a.update(e);var t=a.digestSync(),p=i.Buffer.from(t).toString("hex");return new Array(64-p.length).join("0")+p},a.hexHash=function(e){return this.hash(i.Buffer.from(e,"hex"))},a.computehkdf=function(e,a){var t=i.Buffer.concat([this.infoBits,i.Buffer.from(String.fromCharCode(1),"utf8")]),p=new n.Sha256(a);p.update(e);var d=p.digestSync(),s=new n.Sha256(d);return s.update(t),s.digestSync().slice(0,16)},a.getPasswordAuthenticationKey=function(e,a,t,p,d){var s=this;if(t.mod(this.N).equals(o.ZERO))throw new Error("B cannot be zero.");if(this.UValue=this.calculateU(this.largeAValue,t),this.UValue.equals(o.ZERO))throw new Error("U cannot be zero.");var r=""+this.poolName+e+":"+a,n=this.hash(r),l=new o(this.hexHash(this.padHex(p)+n),16);this.calculateS(l,t,function(e,a){e&&d(e,null);var t=s.computehkdf(i.Buffer.from(s.padHex(a),"hex"),i.Buffer.from(s.padHex(s.UValue),"hex"));d(null,t)})},a.calculateS=function(e,a,t){var p=this;this.g.modPow(e,this.N,function(i,d){i&&t(i,null),a.subtract(p.k.multiply(d)).modPow(p.smallAValue.add(p.UValue.multiply(e)),p.N,function(e,a){e&&t(e,null),t(null,a.mod(p.N))})})},a.getNewPasswordRequiredChallengeUserAttributePrefix=function(){return"userAttributes."},a.padHex=function(e){if(!(e instanceof o))throw new Error("Not a BigInteger");var a=e.compareTo(o.ZERO)<0,t=e.abs().toString(16);if(t=t.length%2!=0?"0"+t:t,t=A.test(t)?"00"+t:t,a){var p=t.split("").map(function(e){var a=15&~parseInt(e,16);return"0123456789ABCDEF".charAt(a)}).join("");(t=new o(p,16).add(o.ONE).toString(16)).toUpperCase().startsWith("FF8")&&(t=t.substring(2))}return t},e}(),E=function(){function e(e){this.jwtToken=e||"",this.payload=this.decodePayload()}var a=e.prototype;return a.getJwtToken=function(){return this.jwtToken},a.getExpiration=function(){return this.payload.exp},a.getIssuedAt=function(){return this.payload.iat},a.decodePayload=function(){var e=this.jwtToken.split(".")[1];try{return JSON.parse(i.Buffer.from(e,"base64").toString("utf8"))}catch(e){return{}}},e}();function D(e,a){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e},D(e,a)}var N=function(e){function a(a){var t=(void 0===a?{}:a).AccessToken;return e.call(this,t||"")||this}var t,p;return p=e,(t=a).prototype=Object.create(p.prototype),t.prototype.constructor=t,D(t,p),a}(E);function I(e,a){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e},I(e,a)}var V=function(e){function a(a){var t=(void 0===a?{}:a).IdToken;return e.call(this,t||"")||this}var t,p;return p=e,(t=a).prototype=Object.create(p.prototype),t.prototype.constructor=t,I(t,p),a}(E),R=function(){function e(e){var a=(void 0===e?{}:e).RefreshToken;this.token=a||""}return e.prototype.getToken=function(){return this.token},e}(),C="aws-amplify/5.0.4",P="undefined"!=typeof navigator&&"ReactNative"===navigator.product,U=function(){function e(e){var a=void 0===e?{}:e,t=a.IdToken,p=a.RefreshToken,i=a.AccessToken,d=a.ClockDrift;if(null==i||null==t)throw new Error("Id token and Access Token must be present.");this.idToken=t,this.refreshToken=p,this.accessToken=i,this.clockDrift=void 0===d?this.calculateClockDrift():d}var a=e.prototype;return a.getIdToken=function(){return this.idToken},a.getRefreshToken=function(){return this.refreshToken},a.getAccessToken=function(){return this.accessToken},a.getClockDrift=function(){return this.clockDrift},a.calculateClockDrift=function(){return Math.floor(new Date/1e3)-Math.min(this.accessToken.getIssuedAt(),this.idToken.getIssuedAt())},a.isValid=function(){var e=Math.floor(new Date/1e3)-this.clockDrift;return e<this.accessToken.getExpiration()&&e<this.idToken.getExpiration()},e}(),k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],O=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],L=function(){function e(){}return e.prototype.getNowString=function(){var e=new Date,a=O[e.getUTCDay()],t=k[e.getUTCMonth()],p=e.getUTCDate(),i=e.getUTCHours();i<10&&(i="0"+i);var d=e.getUTCMinutes();d<10&&(d="0"+d);var s=e.getUTCSeconds();return s<10&&(s="0"+s),a+" "+t+" "+p+" "+i+":"+d+":"+s+" UTC "+e.getUTCFullYear()},e}(),F=function(){function e(e){var a=void 0===e?{}:e,t=a.Name,p=a.Value;this.Name=t||"",this.Value=p||""}var a=e.prototype;return a.getValue=function(){return this.Value},a.setValue=function(e){return this.Value=e,this},a.getName=function(){return this.Name},a.setName=function(e){return this.Name=e,this},a.toString=function(){return JSON.stringify(this)},a.toJSON=function(){return{Name:this.Name,Value:this.Value}},e}(),M={},x=function(){function e(){}return e.setItem=function(e,a){return M[e]=a,M[e]},e.getItem=function(e){return Object.prototype.hasOwnProperty.call(M,e)?M[e]:void 0},e.removeItem=function(e){return delete M[e]},e.clear=function(){return M={}},e}(),B=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=x}}return e.prototype.getStorage=function(){return this.storageWindow},e}(),q="undefined"!=typeof navigator?P?"react-native":navigator.userAgent:"nodejs",j=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 B).getStorage(),this.keyPrefix="CognitoIdentityServiceProvider."+this.pool.getClientId(),this.userDataKey=this.keyPrefix+"."+this.username+".userData"}var a=e.prototype;return a.setSignInUserSession=function(e){this.clearCachedUserData(),this.signInUserSession=e,this.cacheTokens()},a.getSignInUserSession=function(){return this.signInUserSession},a.getUsername=function(){return this.username},a.getAuthenticationFlowType=function(){return this.authenticationFlowType},a.setAuthenticationFlowType=function(e){this.authenticationFlowType=e},a.initiateAuth=function(e,a){var t=this,p=e.getAuthParameters();p.USERNAME=this.username;var i=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),d={AuthFlow:"CUSTOM_AUTH",ClientId:this.pool.getClientId(),AuthParameters:p,ClientMetadata:i};this.getUserContextData()&&(d.UserContextData=this.getUserContextData()),this.client.request("InitiateAuth",d,function(e,p){if(e)return a.onFailure(e);var i=p.ChallengeName,d=p.ChallengeParameters;return"CUSTOM_CHALLENGE"===i?(t.Session=p.Session,a.customChallenge(d)):(t.signInUserSession=t.getCognitoUserSession(p.AuthenticationResult),t.cacheTokens(),a.onSuccess(t.signInUserSession))})},a.authenticateUser=function(e,a){return"USER_PASSWORD_AUTH"===this.authenticationFlowType?this.authenticateUserPlainUsernamePassword(e,a):"USER_SRP_AUTH"===this.authenticationFlowType||"CUSTOM_AUTH"===this.authenticationFlowType?this.authenticateUserDefaultAuth(e,a):a.onFailure(new Error("Authentication flow type is invalid."))},a.authenticateUserDefaultAuth=function(e,a){var t,p,d=this,s=new T(this.pool.getUserPoolName()),r=new L,l={};null!=this.deviceKey&&(l.DEVICE_KEY=this.deviceKey),l.USERNAME=this.username,s.getLargeAValue(function(m,u){m&&a.onFailure(m),l.SRP_A=u.toString(16),"CUSTOM_AUTH"===d.authenticationFlowType&&(l.CHALLENGE_NAME="SRP_A");var c=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),h={AuthFlow:d.authenticationFlowType,ClientId:d.pool.getClientId(),AuthParameters:l,ClientMetadata:c};d.getUserContextData(d.username)&&(h.UserContextData=d.getUserContextData(d.username)),d.client.request("InitiateAuth",h,function(l,m){if(l)return a.onFailure(l);var u=m.ChallengeParameters;d.username=u.USER_ID_FOR_SRP,d.userDataKey=d.keyPrefix+"."+d.username+".userData",t=new o(u.SRP_B,16),p=new o(u.SALT,16),d.getCachedDeviceKeyAndPassword(),s.getPasswordAuthenticationKey(d.username,e.getPassword(),t,p,function(e,t){e&&a.onFailure(e);var p=r.getNowString(),o=i.Buffer.concat([i.Buffer.from(d.pool.getUserPoolName(),"utf8"),i.Buffer.from(d.username,"utf8"),i.Buffer.from(u.SECRET_BLOCK,"base64"),i.Buffer.from(p,"utf8")]),l=new n.Sha256(t);l.update(o);var h=l.digestSync(),f=i.Buffer.from(h).toString("base64"),v={};v.USERNAME=d.username,v.PASSWORD_CLAIM_SECRET_BLOCK=u.SECRET_BLOCK,v.TIMESTAMP=p,v.PASSWORD_CLAIM_SIGNATURE=f,null!=d.deviceKey&&(v.DEVICE_KEY=d.deviceKey);var w=function(e,a){return d.client.request("RespondToAuthChallenge",e,function(t,p){return t&&"ResourceNotFoundException"===t.code&&-1!==t.message.toLowerCase().indexOf("device")?(v.DEVICE_KEY=null,d.deviceKey=null,d.randomPassword=null,d.deviceGroupKey=null,d.clearCachedDeviceKeyAndPassword(),w(e,a)):a(t,p)})},g={ChallengeName:"PASSWORD_VERIFIER",ClientId:d.pool.getClientId(),ChallengeResponses:v,Session:m.Session,ClientMetadata:c};d.getUserContextData()&&(g.UserContextData=d.getUserContextData()),w(g,function(e,t){return e?a.onFailure(e):d.authenticateUserInternal(t,s,a)})})})})},a.authenticateUserPlainUsernamePassword=function(e,a){var t=this,p={};if(p.USERNAME=this.username,p.PASSWORD=e.getPassword(),p.PASSWORD){var i=new T(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(p.DEVICE_KEY=this.deviceKey);var d=0!==Object.keys(e.getValidationData()).length?e.getValidationData():e.getClientMetadata(),s={AuthFlow:"USER_PASSWORD_AUTH",ClientId:this.pool.getClientId(),AuthParameters:p,ClientMetadata:d};this.getUserContextData(this.username)&&(s.UserContextData=this.getUserContextData(this.username)),this.client.request("InitiateAuth",s,function(e,p){return e?a.onFailure(e):t.authenticateUserInternal(p,i,a)})}else a.onFailure(new Error("PASSWORD parameter is required"))},a.authenticateUserInternal=function(e,a,t){var p=this,d=e.ChallengeName,s=e.ChallengeParameters;if("SMS_MFA"===d)return this.Session=e.Session,t.mfaRequired(d,s);if("SELECT_MFA_TYPE"===d)return this.Session=e.Session,t.selectMFAType(d,s);if("MFA_SETUP"===d)return this.Session=e.Session,t.mfaSetup(d,s);if("SOFTWARE_TOKEN_MFA"===d)return this.Session=e.Session,t.totpRequired(d,s);if("CUSTOM_CHALLENGE"===d)return this.Session=e.Session,t.customChallenge(s);if("NEW_PASSWORD_REQUIRED"===d){this.Session=e.Session;var r=null,n=null,o=[],l=a.getNewPasswordRequiredChallengeUserAttributePrefix();if(s&&(r=JSON.parse(e.ChallengeParameters.userAttributes),n=JSON.parse(e.ChallengeParameters.requiredAttributes)),n)for(var m=0;m<n.length;m++)o[m]=n[m].substr(l.length);return t.newPasswordRequired(r,o)}if("DEVICE_SRP_AUTH"===d)return this.Session=e.Session,void this.getDeviceResponse(t);this.signInUserSession=this.getCognitoUserSession(e.AuthenticationResult),this.challengeName=d,this.cacheTokens();var u=e.AuthenticationResult.NewDeviceMetadata;if(null==u)return t.onSuccess(this.signInUserSession);a.generateHashDevice(e.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,e.AuthenticationResult.NewDeviceMetadata.DeviceKey,function(d){if(d)return t.onFailure(d);var s={Salt:i.Buffer.from(a.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:i.Buffer.from(a.getVerifierDevices(),"hex").toString("base64")};p.verifierDevices=s.PasswordVerifier,p.deviceGroupKey=u.DeviceGroupKey,p.randomPassword=a.getRandomPassword(),p.client.request("ConfirmDevice",{DeviceKey:u.DeviceKey,AccessToken:p.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:s,DeviceName:q},function(a,i){return a?t.onFailure(a):(p.deviceKey=e.AuthenticationResult.NewDeviceMetadata.DeviceKey,p.cacheDeviceKeyAndPassword(),!0===i.UserConfirmationNecessary?t.onSuccess(p.signInUserSession,i.UserConfirmationNecessary):t.onSuccess(p.signInUserSession))})})},a.completeNewPasswordChallenge=function(e,a,t,p){var i=this;if(!e)return t.onFailure(new Error("New password is required."));var d=new T(this.pool.getUserPoolName()),s=d.getNewPasswordRequiredChallengeUserAttributePrefix(),r={};a&&Object.keys(a).forEach(function(e){r[s+e]=a[e]}),r.NEW_PASSWORD=e,r.USERNAME=this.username;var n={ChallengeName:"NEW_PASSWORD_REQUIRED",ClientId:this.pool.getClientId(),ChallengeResponses:r,Session:this.Session,ClientMetadata:p};this.getUserContextData()&&(n.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",n,function(e,a){return e?t.onFailure(e):i.authenticateUserInternal(a,d,t)})},a.getDeviceResponse=function(e,a){var t=this,p=new T(this.deviceGroupKey),d=new L,s={};s.USERNAME=this.username,s.DEVICE_KEY=this.deviceKey,p.getLargeAValue(function(r,l){r&&e.onFailure(r),s.SRP_A=l.toString(16);var m={ChallengeName:"DEVICE_SRP_AUTH",ClientId:t.pool.getClientId(),ChallengeResponses:s,ClientMetadata:a,Session:t.Session};t.getUserContextData()&&(m.UserContextData=t.getUserContextData()),t.client.request("RespondToAuthChallenge",m,function(a,s){if(a)return e.onFailure(a);var r=s.ChallengeParameters,l=new o(r.SRP_B,16),m=new o(r.SALT,16);p.getPasswordAuthenticationKey(t.deviceKey,t.randomPassword,l,m,function(a,p){if(a)return e.onFailure(a);var o=d.getNowString(),l=i.Buffer.concat([i.Buffer.from(t.deviceGroupKey,"utf8"),i.Buffer.from(t.deviceKey,"utf8"),i.Buffer.from(r.SECRET_BLOCK,"base64"),i.Buffer.from(o,"utf8")]),m=new n.Sha256(p);m.update(l);var u=m.digestSync(),c=i.Buffer.from(u).toString("base64"),h={};h.USERNAME=t.username,h.PASSWORD_CLAIM_SECRET_BLOCK=r.SECRET_BLOCK,h.TIMESTAMP=o,h.PASSWORD_CLAIM_SIGNATURE=c,h.DEVICE_KEY=t.deviceKey;var f={ChallengeName:"DEVICE_PASSWORD_VERIFIER",ClientId:t.pool.getClientId(),ChallengeResponses:h,Session:s.Session};t.getUserContextData()&&(f.UserContextData=t.getUserContextData()),t.client.request("RespondToAuthChallenge",f,function(a,p){return a?e.onFailure(a):(t.signInUserSession=t.getCognitoUserSession(p.AuthenticationResult),t.cacheTokens(),e.onSuccess(t.signInUserSession))})})})})},a.confirmRegistration=function(e,a,t,p){var i={ClientId:this.pool.getClientId(),ConfirmationCode:e,Username:this.username,ForceAliasCreation:a,ClientMetadata:p};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("ConfirmSignUp",i,function(e){return e?t(e,null):t(null,"SUCCESS")})},a.sendCustomChallengeAnswer=function(e,a,t){var p=this,i={};i.USERNAME=this.username,i.ANSWER=e;var d=new T(this.pool.getUserPoolName());this.getCachedDeviceKeyAndPassword(),null!=this.deviceKey&&(i.DEVICE_KEY=this.deviceKey);var s={ChallengeName:"CUSTOM_CHALLENGE",ChallengeResponses:i,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:t};this.getUserContextData()&&(s.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",s,function(e,t){return e?a.onFailure(e):p.authenticateUserInternal(t,d,a)})},a.sendMFACode=function(e,a,t,p){var d=this,s={};s.USERNAME=this.username,s.SMS_MFA_CODE=e;var r=t||"SMS_MFA";"SOFTWARE_TOKEN_MFA"===r&&(s.SOFTWARE_TOKEN_MFA_CODE=e),null!=this.deviceKey&&(s.DEVICE_KEY=this.deviceKey);var n={ChallengeName:r,ChallengeResponses:s,ClientId:this.pool.getClientId(),Session:this.Session,ClientMetadata:p};this.getUserContextData()&&(n.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",n,function(e,t){if(e)return a.onFailure(e);if("DEVICE_SRP_AUTH"!==t.ChallengeName){if(d.signInUserSession=d.getCognitoUserSession(t.AuthenticationResult),d.cacheTokens(),null==t.AuthenticationResult.NewDeviceMetadata)return a.onSuccess(d.signInUserSession);var p=new T(d.pool.getUserPoolName());p.generateHashDevice(t.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,t.AuthenticationResult.NewDeviceMetadata.DeviceKey,function(e){if(e)return a.onFailure(e);var s={Salt:i.Buffer.from(p.getSaltDevices(),"hex").toString("base64"),PasswordVerifier:i.Buffer.from(p.getVerifierDevices(),"hex").toString("base64")};d.verifierDevices=s.PasswordVerifier,d.deviceGroupKey=t.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey,d.randomPassword=p.getRandomPassword(),d.client.request("ConfirmDevice",{DeviceKey:t.AuthenticationResult.NewDeviceMetadata.DeviceKey,AccessToken:d.signInUserSession.getAccessToken().getJwtToken(),DeviceSecretVerifierConfig:s,DeviceName:q},function(e,p){return e?a.onFailure(e):(d.deviceKey=t.AuthenticationResult.NewDeviceMetadata.DeviceKey,d.cacheDeviceKeyAndPassword(),!0===p.UserConfirmationNecessary?a.onSuccess(d.signInUserSession,p.UserConfirmationNecessary):a.onSuccess(d.signInUserSession))})})}else d.getDeviceResponse(a)})},a.changePassword=function(e,a,t,p){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("ChangePassword",{PreviousPassword:e,ProposedPassword:a,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:p},function(e){return e?t(e,null):t(null,"SUCCESS")})},a.enableMFA=function(e){if(null==this.signInUserSession||!this.signInUserSession.isValid())return e(new Error("User is not authenticated"),null);var a=[];a.push({DeliveryMedium:"SMS",AttributeName:"phone_number"}),this.client.request("SetUserSettings",{MFAOptions:a,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},function(a){return a?e(a,null):e(null,"SUCCESS")})},a.setUserMfaPreference=function(e,a,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t(new Error("User is not authenticated"),null);this.client.request("SetUserMFAPreference",{SMSMfaSettings:e,SoftwareTokenMfaSettings:a,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},function(e){return e?t(e,null):t(null,"SUCCESS")})},a.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(a){return a?e(a,null):e(null,"SUCCESS")})},a.deleteUser=function(e,a){var t=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:a},function(a){return a?e(a,null):(t.clearCachedUser(),e(null,"SUCCESS"))})},a.updateAttributes=function(e,a,t){var p=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return a(new Error("User is not authenticated"),null);this.client.request("UpdateUserAttributes",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserAttributes:e,ClientMetadata:t},function(e,t){return e?a(e,null):p.getUserData(function(){return a(null,"SUCCESS",t)},{bypassCache:!0})})},a.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(a,t){if(a)return e(a,null);for(var p=[],i=0;i<t.UserAttributes.length;i++){var d={Name:t.UserAttributes[i].Name,Value:t.UserAttributes[i].Value},s=new F(d);p.push(s)}return e(null,p)})},a.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(a,t){return a?e(a,null):e(null,t.MFAOptions)})},a.createGetUserRequest=function(){return this.client.promisifyRequest("GetUser",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()})},a.refreshSessionIfPossible=function(e){var a=this;return void 0===e&&(e={}),new Promise(function(t){var p=a.signInUserSession.getRefreshToken();p&&p.getToken()?a.refreshSession(p,t,e.clientMetadata):t()})},a.getUserData=function(e,a){var t=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return this.clearCachedUserData(),e(new Error("User is not authenticated"),null);var p=this.getUserDataFromCache();if(p)if(this.isFetchUserDataAndTokenRequired(a))this.fetchUserData().then(function(e){return t.refreshSessionIfPossible(a).then(function(){return e})}).then(function(a){return e(null,a)}).catch(e);else try{return void e(null,JSON.parse(p))}catch(a){return this.clearCachedUserData(),void e(a,null)}else this.fetchUserData().then(function(a){e(null,a)}).catch(e)},a.getUserDataFromCache=function(){return this.storage.getItem(this.userDataKey)},a.isFetchUserDataAndTokenRequired=function(e){var a=(e||{}).bypassCache;return void 0!==a&&a},a.fetchUserData=function(){var e=this;return this.createGetUserRequest().then(function(a){return e.cacheUserData(a),a})},a.deleteAttributes=function(e,a){var t=this;if(null==this.signInUserSession||!this.signInUserSession.isValid())return a(new Error("User is not authenticated"),null);this.client.request("DeleteUserAttributes",{UserAttributeNames:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},function(e){return e?a(e,null):t.getUserData(function(){return a(null,"SUCCESS")},{bypassCache:!0})})},a.resendConfirmationCode=function(e,a){var t={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:a};this.client.request("ResendConfirmationCode",t,function(a,t){return a?e(a,null):e(null,t)})},a.getSession=function(e,a){if(void 0===a&&(a={}),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 t="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,p=t+".idToken",i=t+".accessToken",d=t+".refreshToken",s=t+".clockDrift";if(this.storage.getItem(p)){var r=new V({IdToken:this.storage.getItem(p)}),n=new N({AccessToken:this.storage.getItem(i)}),o=new R({RefreshToken:this.storage.getItem(d)}),l=parseInt(this.storage.getItem(s),0)||0,m=new U({IdToken:r,AccessToken:n,RefreshToken:o,ClockDrift:l});if(m.isValid())return this.signInUserSession=m,e(null,this.signInUserSession);if(!o.getToken())return e(new Error("Cannot retrieve a new session. Please authenticate."),null);this.refreshSession(o,e,a.clientMetadata)}else e(new Error("Local storage is missing an ID Token, Please authenticate"),null)},a.refreshSession=function(e,a,t){var p=this,i=this.pool.wrapRefreshSessionCallback?this.pool.wrapRefreshSessionCallback(a):a,d={};d.REFRESH_TOKEN=e.getToken();var s="CognitoIdentityServiceProvider."+this.pool.getClientId(),r=s+".LastAuthUser";if(this.storage.getItem(r)){this.username=this.storage.getItem(r);var n=s+"."+this.username+".deviceKey";this.deviceKey=this.storage.getItem(n),d.DEVICE_KEY=this.deviceKey}var o={ClientId:this.pool.getClientId(),AuthFlow:"REFRESH_TOKEN_AUTH",AuthParameters:d,ClientMetadata:t};this.getUserContextData()&&(o.UserContextData=this.getUserContextData()),this.client.requestWithRetry("InitiateAuth",o,function(a,t){if(a)return"NotAuthorizedException"===a.code&&p.clearCachedUser(),i(a,null);if(t){var d=t.AuthenticationResult;return Object.prototype.hasOwnProperty.call(d,"RefreshToken")||(d.RefreshToken=e.getToken()),p.signInUserSession=p.getCognitoUserSession(d),p.cacheTokens(),i(null,p.signInUserSession)}})},a.cacheTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),a=e+"."+this.username+".idToken",t=e+"."+this.username+".accessToken",p=e+"."+this.username+".refreshToken",i=e+"."+this.username+".clockDrift",d=e+".LastAuthUser";this.storage.setItem(a,this.signInUserSession.getIdToken().getJwtToken()),this.storage.setItem(t,this.signInUserSession.getAccessToken().getJwtToken()),this.storage.setItem(p,this.signInUserSession.getRefreshToken().getToken()),this.storage.setItem(i,""+this.signInUserSession.getClockDrift()),this.storage.setItem(d,this.username)},a.cacheUserData=function(e){this.storage.setItem(this.userDataKey,JSON.stringify(e))},a.clearCachedUserData=function(){this.storage.removeItem(this.userDataKey)},a.clearCachedUser=function(){this.clearCachedTokens(),this.clearCachedUserData()},a.cacheDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,a=e+".deviceKey",t=e+".randomPasswordKey",p=e+".deviceGroupKey";this.storage.setItem(a,this.deviceKey),this.storage.setItem(t,this.randomPassword),this.storage.setItem(p,this.deviceGroupKey)},a.getCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,a=e+".deviceKey",t=e+".randomPasswordKey",p=e+".deviceGroupKey";this.storage.getItem(a)&&(this.deviceKey=this.storage.getItem(a),this.randomPassword=this.storage.getItem(t),this.deviceGroupKey=this.storage.getItem(p))},a.clearCachedDeviceKeyAndPassword=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId()+"."+this.username,a=e+".deviceKey",t=e+".randomPasswordKey",p=e+".deviceGroupKey";this.storage.removeItem(a),this.storage.removeItem(t),this.storage.removeItem(p)},a.clearCachedTokens=function(){var e="CognitoIdentityServiceProvider."+this.pool.getClientId(),a=e+"."+this.username+".idToken",t=e+"."+this.username+".accessToken",p=e+"."+this.username+".refreshToken",i=e+".LastAuthUser",d=e+"."+this.username+".clockDrift";this.storage.removeItem(a),this.storage.removeItem(t),this.storage.removeItem(p),this.storage.removeItem(i),this.storage.removeItem(d)},a.getCognitoUserSession=function(e){var a=new V(e),t=new N(e),p=new R(e);return new U({IdToken:a,AccessToken:t,RefreshToken:p})},a.forgotPassword=function(e,a){var t={ClientId:this.pool.getClientId(),Username:this.username,ClientMetadata:a};this.getUserContextData()&&(t.UserContextData=this.getUserContextData()),this.client.request("ForgotPassword",t,function(a,t){return a?e.onFailure(a):"function"==typeof e.inputVerificationCode?e.inputVerificationCode(t):e.onSuccess(t)})},a.confirmPassword=function(e,a,t,p){var i={ClientId:this.pool.getClientId(),Username:this.username,ConfirmationCode:e,Password:a,ClientMetadata:p};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("ConfirmForgotPassword",i,function(e){return e?t.onFailure(e):t.onSuccess("SUCCESS")})},a.getAttributeVerificationCode=function(e,a,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return a.onFailure(new Error("User is not authenticated"));this.client.request("GetUserAttributeVerificationCode",{AttributeName:e,AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),ClientMetadata:t},function(e,t){return e?a.onFailure(e):"function"==typeof a.inputVerificationCode?a.inputVerificationCode(t):a.onSuccess("SUCCESS")})},a.verifyAttribute=function(e,a,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));this.client.request("VerifyUserAttribute",{AttributeName:e,Code:a,AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},function(e){return e?t.onFailure(e):t.onSuccess("SUCCESS")})},a.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(a,t){return a?e.onFailure(a):e.onSuccess(t)})},a.forgetSpecificDevice=function(e,a){if(null==this.signInUserSession||!this.signInUserSession.isValid())return a.onFailure(new Error("User is not authenticated"));this.client.request("ForgetDevice",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),DeviceKey:e},function(e){return e?a.onFailure(e):a.onSuccess("SUCCESS")})},a.forgetDevice=function(e){var a=this;this.forgetSpecificDevice(this.deviceKey,{onFailure:e.onFailure,onSuccess:function(t){return a.deviceKey=null,a.deviceGroupKey=null,a.randomPassword=null,a.clearCachedDeviceKeyAndPassword(),e.onSuccess(t)}})},a.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(a){return a?e.onFailure(a):e.onSuccess("SUCCESS")})},a.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(a){return a?e.onFailure(a):e.onSuccess("SUCCESS")})},a.listDevices=function(e,a,t){if(null==this.signInUserSession||!this.signInUserSession.isValid())return t.onFailure(new Error("User is not authenticated"));var p={AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),Limit:e};a&&(p.PaginationToken=a),this.client.request("ListDevices",p,function(e,a){return e?t.onFailure(e):t.onSuccess(a)})},a.globalSignOut=function(e){var a=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(t){return t?e.onFailure(t):(a.clearCachedUser(),e.onSuccess("SUCCESS"))})},a.signOut=function(e){var a=this;e&&"function"==typeof e?this.getSession(function(t,p){if(t)return e(t);a.revokeTokens(function(t){a.cleanClientData(),e(t)})}):this.cleanClientData()},a.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 a=this.signInUserSession.getRefreshToken().getToken(),t=this.signInUserSession.getAccessToken();if(this.isSessionRevocable(t)&&a)return this.revokeToken({token:a,callback:e});e()},a.isSessionRevocable=function(e){if(e&&"function"==typeof e.decodePayload)try{return!!e.decodePayload().origin_jti}catch(e){}return!1},a.cleanClientData=function(){this.signInUserSession=null,this.clearCachedUser()},a.revokeToken=function(e){var a=e.token,t=e.callback;this.client.requestWithRetry("RevokeToken",{Token:a,ClientId:this.pool.getClientId()},function(e){if(e)return t(e);t()})},a.sendMFASelectionAnswer=function(e,a){var t=this,p={};p.USERNAME=this.username,p.ANSWER=e;var i={ChallengeName:"SELECT_MFA_TYPE",ChallengeResponses:p,ClientId:this.pool.getClientId(),Session:this.Session};this.getUserContextData()&&(i.UserContextData=this.getUserContextData()),this.client.request("RespondToAuthChallenge",i,function(p,i){return p?a.onFailure(p):(t.Session=i.Session,"SMS_MFA"===e?a.mfaRequired(i.ChallengeName,i.ChallengeParameters):"SOFTWARE_TOKEN_MFA"===e?a.totpRequired(i.ChallengeName,i.ChallengeParameters):void 0)})},a.getUserContextData=function(){return this.pool.getUserContextData(this.username)},a.associateSoftwareToken=function(e){var a=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("AssociateSoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken()},function(a,t){return a?e.onFailure(a):e.associateSecretCode(t.SecretCode)}):this.client.request("AssociateSoftwareToken",{Session:this.Session},function(t,p){return t?e.onFailure(t):(a.Session=p.Session,e.associateSecretCode(p.SecretCode))})},a.verifySoftwareToken=function(e,a,t){var p=this;null!=this.signInUserSession&&this.signInUserSession.isValid()?this.client.request("VerifySoftwareToken",{AccessToken:this.signInUserSession.getAccessToken().getJwtToken(),UserCode:e,FriendlyDeviceName:a},function(e,a){return e?t.onFailure(e):t.onSuccess(a)}):this.client.request("VerifySoftwareToken",{Session:this.Session,UserCode:e,FriendlyDeviceName:a},function(e,a){if(e)return t.onFailure(e);p.Session=a.Session;var i={};i.USERNAME=p.username;var d={ChallengeName:"MFA_SETUP",ClientId:p.pool.getClientId(),ChallengeResponses:i,Session:p.Session};p.getUserContextData()&&(d.UserContextData=p.getUserContextData()),p.client.request("RespondToAuthChallenge",d,function(e,a){return e?t.onFailure(e):(p.signInUserSession=p.getCognitoUserSession(a.AuthenticationResult),p.cacheTokens(),t.onSuccess(p.signInUserSession))})})},e}();function $(){}function K(e){var a="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(a){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!==a){if(a.has(e))return a.get(e);a.set(e,t)}function t(){return function(e,a,t){if(H())return Reflect.construct.apply(null,arguments);var p=[null];p.push.apply(p,a);var i=new(e.bind.apply(e,p));return t&&J(i,t.prototype),i}(e,arguments,z(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),J(t,e)},K(e)}function H(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(H=function(){return!!e})()}function J(e,a){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e},J(e,a)}function z(e){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},z(e)}t(16),$.prototype.userAgent=C;var W=function(e){function a(a,t,p,i){var d;return(d=e.call(this,a)||this).code=t,d.name=p,d.statusCode=i,d}return p=e,(t=a).prototype=Object.create(p.prototype),t.prototype.constructor=t,J(t,p),a;var t,p}(K(Error)),Q=function(){function e(e,a,t){this.endpoint=a||"https://cognito-idp."+e+".amazonaws.com/";var p=(t||{}).credentials;this.fetchOptions=p?{credentials:p}:{}}var a=e.prototype;return a.promisifyRequest=function(e,a){var t=this;return new Promise(function(p,i){t.request(e,a,function(e,a){e?i(new W(e.message,e.code,e.name,e.statusCode)):p(a)})})},a.requestWithRetry=function(e,a,t){var p,i,d=this;(p=[a],i=5e3,void 0===i&&(i=Y),X(function(a){return new Promise(function(t,p){d.request(e,a,function(e,a){e?p(e):t(a)})})},p,function(e){return function(a){var t=100*Math.pow(2,a)+100*Math.random();return!(t>e)&&t}}(i))).then(function(e){return t(null,e)}).catch(function(e){return t(e)})},a.request=function(e,a,t){var p,i,d,s={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityProviderService."+e,"X-Amz-User-Agent":(p=$.category?" "+$.category:"",i=$.framework?" framework/"+$.framework:"",""+$.prototype.userAgent+p+i),"Cache-Control":"no-store"},r=Object.assign({},this.fetchOptions,{headers:s,method:"POST",mode:"cors",body:JSON.stringify(a)});fetch(this.endpoint,r).then(function(e){return d=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(d.ok)return t(null,e);var a=(e.__type||e.code).split("#").pop(),p=new Error(e.message||e.Message||null);return p.name=a,p.code=a,t(p)}).catch(function(e){if(d&&d.headers&&d.headers.get("x-amzn-errortype"))try{var a=d.headers.get("x-amzn-errortype").split(":")[0],p=new Error(d.status?d.status.toString():null);return p.code=a,p.name=a,p.statusCode=d.status,t(p)}catch(a){return t(e)}else e instanceof Error&&"Network error"===e.message&&(e.code="NetworkError");return t(e)})},e}(),G={debug:function(){}},Z=function(e){return e&&e.nonRetryable};function X(e,a,t,p){if(void 0===p&&(p=1),"function"!=typeof e)throw Error("functionToRetry must be a function");return G.debug(e.name+" attempt #"+p+" with args: "+JSON.stringify(a)),e.apply(void 0,a).catch(function(i){if(G.debug("error on "+e.name,i),Z(i))throw G.debug(e.name+" non retryable error",i),i;var d=t(p,a,i);if(G.debug(e.name+" retrying in "+d+" ms"),!1!==d)return new Promise(function(e){return setTimeout(e,d)}).then(function(){return X(e,a,t,p+1)});throw i})}var Y=3e5,ee=function(){function e(e,a){var t=e||{},p=t.UserPoolId,i=t.ClientId,d=t.endpoint,s=t.fetchOptions,r=t.AdvancedSecurityDataCollectionFlag;if(!p||!i)throw new Error("Both UserPoolId and ClientId are required.");if(p.length>55||!/^[\w-]+_[0-9a-zA-Z]+$/.test(p))throw new Error("Invalid UserPoolId format.");var n=p.split("_")[0];this.userPoolId=p,this.clientId=i,this.client=new Q(n,d,s),this.advancedSecurityDataCollectionFlag=!1!==r,this.storage=e.Storage||(new B).getStorage(),a&&(this.wrapRefreshSessionCallback=a)}var a=e.prototype;return a.getUserPoolId=function(){return this.userPoolId},a.getUserPoolName=function(){return this.getUserPoolId().split("_")[1]},a.getClientId=function(){return this.clientId},a.signUp=function(e,a,t,p,i,d){var s=this,r={ClientId:this.clientId,Username:e,Password:a,UserAttributes:t,ValidationData:p,ClientMetadata:d};this.getUserContextData(e)&&(r.UserContextData=this.getUserContextData(e)),this.client.request("SignUp",r,function(a,t){if(a)return i(a,null);var p={Username:e,Pool:s,Storage:s.storage},d={user:new j(p),userConfirmed:t.UserConfirmed,userSub:t.UserSub,codeDeliveryDetails:t.CodeDeliveryDetails};return i(null,d)})},a.getCurrentUser=function(){var e="CognitoIdentityServiceProvider."+this.clientId+".LastAuthUser",a=this.storage.getItem(e);if(a){var t={Username:a,Pool:this,Storage:this.storage};return new j(t)}return null},a.getUserContextData=function(e){if("undefined"!=typeof AmazonCognitoAdvancedSecurityData){var a=AmazonCognitoAdvancedSecurityData;if(this.advancedSecurityDataCollectionFlag){var t=a.getData(e,this.userPoolId,this.clientId);if(t)return{EncodedData:t}}return{}}},e}();t(596);class ae extends Error{constructor(e,a){if(Array.isArray(e)&&e.length<=2){let t=e[1];if(e.length>2)for(let a=2;a<e.length&&"string"==typeof e[a];a++)t+=e[a];super((t||"Something went wrong.").trim()),this.name=a?.name||"SKAPI",this.code=a?.code||e[0]||"ERROR",a?.cause&&(this.cause=a.cause)}else super((e?.message||("string"==typeof e?e:"Something went wrong.")).trim()),"string"==typeof e?(this.name=a?.name||"SKAPI",this.code=a?.code||"ERROR",a?.cause&&(this.cause=a.cause)):e instanceof Error?(this.cause=e,this.name=e.name,e.hasOwnProperty("code")&&(this.code=e.code)):"object"==typeof e&&e?.code&&e?.message&&(this.name=a?.name||"SKAPI",this.code=a?.code||"ERROR",this.cause=e?.cause)}}const te="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",pe=BigInt(62);class ie{static hash(e){"string"!=typeof e&&(console.warn("coercing non-string value to empty string"),e="");const a=ie.sb(e);let t,p,i,d,s=1732584193,r=-271733879,n=-1732584194,o=271733878;for(let e=0;e<a.length;e+=16)t=s,p=r,i=n,d=o,s=ie.ff(s,r,n,o,a[e],7,-680876936),o=ie.ff(o,s,r,n,a[e+1],12,-389564586),n=ie.ff(n,o,s,r,a[e+2],17,606105819),r=ie.ff(r,n,o,s,a[e+3],22,-1044525330),s=ie.ff(s,r,n,o,a[e+4],7,-176418897),o=ie.ff(o,s,r,n,a[e+5],12,1200080426),n=ie.ff(n,o,s,r,a[e+6],17,-1473231341),r=ie.ff(r,n,o,s,a[e+7],22,-45705983),s=ie.ff(s,r,n,o,a[e+8],7,1770035416),o=ie.ff(o,s,r,n,a[e+9],12,-1958414417),n=ie.ff(n,o,s,r,a[e+10],17,-42063),r=ie.ff(r,n,o,s,a[e+11],22,-1990404162),s=ie.ff(s,r,n,o,a[e+12],7,1804603682),o=ie.ff(o,s,r,n,a[e+13],12,-40341101),n=ie.ff(n,o,s,r,a[e+14],17,-1502002290),r=ie.ff(r,n,o,s,a[e+15],22,1236535329),s=ie.gg(s,r,n,o,a[e+1],5,-165796510),o=ie.gg(o,s,r,n,a[e+6],9,-1069501632),n=ie.gg(n,o,s,r,a[e+11],14,643717713),r=ie.gg(r,n,o,s,a[e],20,-373897302),s=ie.gg(s,r,n,o,a[e+5],5,-701558691),o=ie.gg(o,s,r,n,a[e+10],9,38016083),n=ie.gg(n,o,s,r,a[e+15],14,-660478335),r=ie.gg(r,n,o,s,a[e+4],20,-405537848),s=ie.gg(s,r,n,o,a[e+9],5,568446438),o=ie.gg(o,s,r,n,a[e+14],9,-1019803690),n=ie.gg(n,o,s,r,a[e+3],14,-187363961),r=ie.gg(r,n,o,s,a[e+8],20,1163531501),s=ie.gg(s,r,n,o,a[e+13],5,-1444681467),o=ie.gg(o,s,r,n,a[e+2],9,-51403784),n=ie.gg(n,o,s,r,a[e+7],14,1735328473),r=ie.gg(r,n,o,s,a[e+12],20,-1926607734),s=ie.hh(s,r,n,o,a[e+5],4,-378558),o=ie.hh(o,s,r,n,a[e+8],11,-2022574463),n=ie.hh(n,o,s,r,a[e+11],16,1839030562),r=ie.hh(r,n,o,s,a[e+14],23,-35309556),s=ie.hh(s,r,n,o,a[e+1],4,-1530992060),o=ie.hh(o,s,r,n,a[e+4],11,1272893353),n=ie.hh(n,o,s,r,a[e+7],16,-155497632),r=ie.hh(r,n,o,s,a[e+10],23,-1094730640),s=ie.hh(s,r,n,o,a[e+13],4,681279174),o=ie.hh(o,s,r,n,a[e],11,-358537222),n=ie.hh(n,o,s,r,a[e+3],16,-722521979),r=ie.hh(r,n,o,s,a[e+6],23,76029189),s=ie.hh(s,r,n,o,a[e+9],4,-640364487),o=ie.hh(o,s,r,n,a[e+12],11,-421815835),n=ie.hh(n,o,s,r,a[e+15],16,530742520),r=ie.hh(r,n,o,s,a[e+2],23,-995338651),s=ie.ii(s,r,n,o,a[e],6,-198630844),o=ie.ii(o,s,r,n,a[e+7],10,1126891415),n=ie.ii(n,o,s,r,a[e+14],15,-1416354905),r=ie.ii(r,n,o,s,a[e+5],21,-57434055),s=ie.ii(s,r,n,o,a[e+12],6,1700485571),o=ie.ii(o,s,r,n,a[e+3],10,-1894986606),n=ie.ii(n,o,s,r,a[e+10],15,-1051523),r=ie.ii(r,n,o,s,a[e+1],21,-2054922799),s=ie.ii(s,r,n,o,a[e+8],6,1873313359),o=ie.ii(o,s,r,n,a[e+15],10,-30611744),n=ie.ii(n,o,s,r,a[e+6],15,-1560198380),r=ie.ii(r,n,o,s,a[e+13],21,1309151649),s=ie.ii(s,r,n,o,a[e+4],6,-145523070),o=ie.ii(o,s,r,n,a[e+11],10,-1120210379),n=ie.ii(n,o,s,r,a[e+2],15,718787259),r=ie.ii(r,n,o,s,a[e+9],21,-343485551),s=ie.ad(s,t),r=ie.ad(r,p),n=ie.ad(n,i),o=ie.ad(o,d);return ie.rh(s)+ie.rh(r)+ie.rh(n)+ie.rh(o)}static rh(e){let a="";for(let t=0;t<=3;t++)a+=ie.alphabet.charAt(e>>8*t+4&15)+ie.alphabet.charAt(e>>8*t&15);return a}static ad(e,a){const t=(65535&e)+(65535&a);return(e>>16)+(a>>16)+(t>>16)<<16|65535&t}static rl(e,a){return e<<a|e>>>32-a}static cm(e,a,t,p,i,d){return ie.ad(ie.rl(ie.ad(ie.ad(a,e),ie.ad(p,d)),i),t)}static ff(e,a,t,p,i,d,s){return ie.cm(a&t|~a&p,e,a,i,d,s)}static gg(e,a,t,p,i,d,s){return ie.cm(a&p|t&~p,e,a,i,d,s)}static hh(e,a,t,p,i,d,s){return ie.cm(a^t^p,e,a,i,d,s)}static ii(e,a,t,p,i,d,s){return ie.cm(t^(a|~p),e,a,i,d,s)}static sb(e){let a;const t=1+(e.length+8>>6),p=new Array(16*t);for(a=0;a<16*t;a++)p[a]=0;for(a=0;a<e.length;a++)p[a>>2]|=e.charCodeAt(a)<<a%4*8;return p[a>>2]|=128<<a%4*8,p[16*t-2]=8*e.length,p}}function de(e){if(0===e)return te[0];let a="";for(;e>0;)a=te[e%62]+a,e=Math.floor(e/62);return a}function se(e){return e.split("").reverse().reduce((e,a,t)=>e+te.indexOf(a)*62**t,0)}function re(e=6){let a="";let t=0;for(;t<e;)a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),t+=1;return a}function ne(){return"undefined"==typeof window||!!window?._runningInNodeJS}function oe(){return!ne()&&"undefined"!=typeof document&&"function"==typeof document.createElement}ie.alphabet="0123456789abcdef";const le=oe(),me="undefined"!=typeof SubmitEvent,ue="undefined"!=typeof HTMLFormElement;function ce(e,a,t){let p={},i=[];function d(e){let a;try{a=JSON.stringify(e)}catch(e){throw new ae("Invalid data type.",{code:"INVALID_REQUEST"})}return new Blob([a]).size}function s(e,p,i){if(a?.ignoreEmpty&&""===i)return;if(a?.nullIfEmpty&&""===i&&(i=null),"function"==typeof t){let e=t(p,i);void 0!==e&&(i=e)}let d=p.split("[").map(e=>{let a=e.replace("]",""),t=Number(a);return isNaN(t)||a.includes(".")?('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])&&(a=a.replace(/"/g,"").replace(/'/g,"")):a=t,a}),s=e;if("number"==typeof d[0])throw new ae("Form key cannot start with an array index.",{code:"INVALID_REQUEST"});for(let e=0;e<d.length;e++){let a=d[e];if(e<d.length-1){if(void 0===s[a]){let t=d[e+1];s[a]="number"==typeof t?[]:{}}s=s[a]}else void 0===s[a]?s[a]=i:Array.isArray(s[a])?s[a].push(i):s[a]=[s[a],i]}}function r(e,a,t){if(t instanceof File)e.push({name:a,file:t});else if(t instanceof FileList&&t&&t.length>0)for(let p=0;p<=t.length-1;p++){let i=t.item(p);i&&e.push({name:a,file:i})}}let n=e=>{e.name&&("number"===e.type?e.value&&s(p,e.name,Number(e.value)):"checkbox"===e.type||"radio"===e.type?e.checked?""===e.value&&"checkbox"===e.type||"on"===e.value||"true"===e.value?s(p,e.name,!0):"false"===e.value?s(p,e.name,!1):e.value&&s(p,e.name,e.value):"checkbox"===e.type&&(""===e.value||"on"===e.value||"true"===e.value?s(p,e.name,!1):"false"===e.value&&s(p,e.name,!0)):"file"===e.type?e.files&&e.files.length>0&&r(i,e.name,e.files):s(p,e.name,e.value))};if(le&&(e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)){if(n(e),d(p)>2097152)throw new ae("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:p,files:i}}if(le&&e instanceof FormData){for(let a of e.entries()){let e=a[0],t=a[1];if(t instanceof File||t instanceof FileList)r(i,e,t);else if(t instanceof Blob){let a=t;if("application/json"===a.type)try{let t=JSON.parse(a.text());s(p,e,t)}catch(t){s(p,e,a)}}else s(p,e,t)}if(d(p)>2097152)throw new ae("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:p,files:i}}if(le&&me&&e instanceof SubmitEvent&&(e=e.target),le&&ue&&e instanceof HTMLFormElement){let a=e.querySelectorAll("input"),t=e.querySelectorAll("select"),r=e.querySelectorAll("textarea");for(let e=0;e<t.length;e++){let a=t[e];a.name&&s(p,a.name,a.value)}for(let e=0;e<r.length;e++){let a=r[e];a.name&&s(p,a.name,a.value)}for(let e=0;e<a.length;e++)n(a[e]);if(d(p)>2097152)throw new ae("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:p,files:i}}if(d(e)>2097152)throw new ae("Data should not exceed 2MB",{code:"INVALID_REQUEST"});return{data:e,files:i}}function he(e){let a={};for(let t in e){let p=e[t],i={auth_time:"log",sub:"user_id"};if(!["aud","cognito:username","event_id","exp","iat","iss","jti","origin_jti","secret_key","token_use"].includes(t))if(i[t])a[i[t]]=p;else if(t.includes("custom:"))a[t.replace("custom:","")]=p;else if("address"===t){let e=p;if(e&&"object"==typeof e&&Object.keys(e).length){if(e?.formatted)try{a[t]=JSON.parse(e.formatted)}catch(p){a[t]=e.formatted}}else a[t]=e}else a[t]=p}for(let e of["address_public","birthdate_public","email_public","gender_public","phone_number_public","access_group"])e.includes("_public")?a.hasOwnProperty(e.split("_")[0])?a[e]=!!a.hasOwnProperty(e)&&!!Number(a[e]):delete a[e]:a[e]=a.hasOwnProperty(e)?Number(a[e]):0;for(let e of["email","phone_number"])a.hasOwnProperty(e)?a[e+"_verified"]=!0===a[e+"_verified"]:delete a[e+"_verified"];return a}function fe(e){if(7===(e=function(e){const a=String(e);if(!a.startsWith("s1_"))return a;const t=function(e,a=!1){const t=String(e).replace(/-/g,"+").replace(/_/g,"/"),p=t.length%4?"=".repeat(4-t.length%4):"",i=Buffer.from(t+p,"base64");return a?JSON.parse(i.toString("utf8")):i}(a.slice(3));if(t.length<21)throw new Error("INVALID_PARAMETER: Corrupt compressed token.");const p=t[0];if(1!==p)throw new Error(`INVALID_PARAMETER: Unsupported token version: ${p}`);const i=t[1],d=t[2],s=5+t[3],r=s+t[4];if(t.length!==r+16)throw new Error("INVALID_PARAMETER: Corrupt compressed token length.");return`${ge(be(t.subarray(5,s)),i)}-${ge(be(t.subarray(s,r)),d)}-${function(e){const a=Buffer.from(e).toString("hex");return[a.slice(0,8),a.slice(8,12),a.slice(12,16),a.slice(16,20),a.slice(20)].join("-")}(t.subarray(r,r+16))}`}(e)).split("-").length){const a=e.split("-");let t,p;try{t=["us31","us72","ap51","ap22","ap41","eu71","ap21","us32","us71","af51","ap31","ap43","ap23","ap42","ca01","eu01","eu72","eu51","eu73","eu11","me51","sa31"][se(a[1][0])],p=a.slice(2).join("-")}catch(e){throw new Error("INVALID_PARAMETER: Service ID is invalid.")}if(!t)throw new Error("INVALID_PARAMETER: Service ID is invalid.");return{service:t+a[0]+a[1].slice(1),owner:p}}return{service:e,owner:""}}function ve(e,a){const t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l"][["us31","us72","ap51","ap22","ap41","eu71","ap21","us32","us71","af51","ap31","ap43","ap23","ap42","ca01","eu01","eu72","eu51","eu73","eu11","me51","sa31"].indexOf(e.slice(0,4))];return function(e){const a=String(e).match(/^([0-9A-Za-z]+)-([0-9A-Za-z]+)-([0-9a-fA-F-]{36})$/);if(!a)throw new Error("INVALID_PARAMETER: Input must match <base62>-<base62>-<uuid>.");const[,t,p,i]=a,d=we(t),s=we(p),r=_e(d),n=_e(s),o=function(e){const a=String(e).replace(/-/g,"");if(!/^[0-9a-fA-F]{32}$/.test(a))throw new Error("INVALID_PARAMETER: Invalid UUID format.");return Buffer.from(a,"hex")}(i);if(t.length>255||p.length>255||r.length>255||n.length>255)throw new Error("INVALID_PARAMETER: Input parts are too long to encode.");return`s1_${function(e){if(Buffer)return Buffer.from(e).toString("base64");let a="";const t=new Uint8Array(e);for(let e=0;e<t.length;e+=32768){const p=t.subarray(e,e+32768);a+=String.fromCharCode.apply(null,Array.from(p))}if("function"==typeof btoa)return btoa(a);throw new Error("No base64 encoder available in this environment.")}(Buffer.concat([Buffer.from([1,t.length,p.length,r.length,n.length]),r,n,o])).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}`}(`${e.slice(4,-4)}-${t}${e.slice(-4)}-${a}`)}function we(e){let a=0n;for(const t of e){const e=te.indexOf(t);if(e<0)throw new Error(`INVALID_PARAMETER: Invalid base62 character: ${t}`);a=a*pe+BigInt(e)}return a}function ge(e,a=1){if(e<0n)throw new Error("INVALID_PARAMETER: Negative values are not supported.");if(0n===e)return"0".repeat(Math.max(1,a));let t="",p=e;for(;p>0n;){const e=Number(p%pe);t=te[e]+t,p/=pe}return t.length<a&&(t="0".repeat(a-t.length)+t),t}function _e(e){if(0n===e)return Buffer.from([0]);const a=[];let t=e;for(;t>0n;)a.push(Number(0xffn&t)),t>>=8n;return a.reverse(),Buffer.from(a)}function be(e){let a=0n;for(const t of e)a=(a<<8n)+BigInt(t);return a}function ye(e,a,t=[],p=null){function i(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length}function d(e){return Array.isArray(e)&&e.length}if(null===p&&!i(a))throw'Argument "struct" is required.';let s=null!==p?` in key "${p}" is invalid.`:". Parameter should be type <object>.";if(d(a)){let i="";a.forEach(e=>{["string","number","boolean","object","array"].includes(e)?i+=`Type<${e}>, `:"function"!=typeof e&&(i+=JSON.stringify(e,null,2)+", ")}),i=i?" Should be: "+i.slice(0,-2):"";let d,r=!1,n="";for(let i of a)try{d=ye(e,i,t,p),r=!0;break}catch(e){n="function"==typeof i?e?.message||e:"",r=!1}if(!r)throw n||`Invalid type "${typeof e}"${s}${i}.`;return d}if(i(e)){if(i(a))for(let i in a){let s=(null===p?"":p)+(null!==p?"["+i+"]":i);if(!e.hasOwnProperty(i)){if(t.includes(s))throw`Key "${s}" is required.`;d(a[i])&&"function"==typeof a[i][a[i].length-1]&&(e[i]=a[i][a[i].length-1]())}}if("object"===a)return e;if("function"==typeof a)return a(e);for(let i in e){let s=(null===p?"":p)+(null!==p?"["+i+"]":i);if(d(a)||a.hasOwnProperty(i))if(d(e[i])){if("array"===a[i])continue;if("function"==typeof a[i]){e[i]=a[i](e[i]);continue}for(let p=0;p<e[i].length;p++)e[i][p]=ye(e[i][p],a[i],t,s+`[${p}]`)}else e[i]=ye(e[i],a[i],t,s)}return e}if("function"==typeof a)return a(e);if("array"===a&&Array.isArray(e)||a===typeof e||e===a)return e;if(null==e||(r=e)&&"object"==typeof r&&!Array.isArray(r)&&!Object.keys(r).length)return e;var r;throw`Invalid type "${typeof e}"${s} Should be: ${["string","number","boolean","object","array"].includes(a)?`Type<${a}>`:JSON.stringify(a,null,2)}`}const Se={UserId:function(e,a="User ID"){if(!e)throw new ae(`${a} is empty.`,{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new ae(`${a} 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 ae(`${a} 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 ae('"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 ae('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"});{let a=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||!a.test(e))throw new ae('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"})}}return e||""},Password:function(e){if(!e)throw new ae('"password" is required.',{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new ae('"password" should be type: string.',{code:"INVALID_PARAMETER"});if(e.length<6)throw new ae('"password" should be at least 6 characters.',{code:"INVALID_PARAMETER"});if(e.length>60)throw new ae('"password" can be up to 60 characters max.',{code:"INVALID_PARAMETER"});return e},Email:function(e,a="email"){if(!e)throw new ae(`"${a}" is required.`,{code:"INVALID_PARAMETER"});if("string"!=typeof e)throw new ae(`"${a}"should be type: string.`,{code:"INVALID_PARAMETER"});if(e.length<5)throw new ae(`"${a}" 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 ae(`"${e}" is an invalid email.`,{code:"INVALID_PARAMETER"})},Url:function(e){const a="undefined"!=typeof window,t=(()=>{let e=a&&window.location.origin||null;return e&&"/"===e.slice(-1)&&(e=e.slice(0,-1)),e})();let p=e=>{if("string"==typeof e){if("*"===e)return"*";{let p,i=e.trim();if("/"===i[0]&&t){if("file:"===t.slice(0,5))throw new ae(`"${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 ae(`"${e}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});let p=a?window.location.href.split("?")[0]:"";"/"!==p.slice(-1)&&(p+="/"),i=p+i.slice(1)}try{p=new URL(i)}catch(a){throw new ae(`"${e}" is an invalid url.`,{code:"INVALID_PARAMETER"})}if(p.protocol)return p.href}}throw new ae(`"${e}" is an invalid url.`,{code:"INVALID_PARAMETER"})};return Array.isArray(e)?e.map(e=>p(e)):p(e)},specialChars:function(e,a="parameter",t=!1,p=!1){let i=e=>{if("string"!=typeof e)throw new ae(`${a} should be type: <string | string[]>.`,{code:"INVALID_PARAMETER"});if(!p&&e.includes(" "))throw new ae(`${a} should not have whitespace.`,{code:"INVALID_PARAMETER"});if(!t&&e.includes("."))throw new ae(`${a} should not have periods.`,{code:"INVALID_PARAMETER"});if(/[!#$%&*{};'"|<>\/~]/.test(e))throw new ae(`${a} should not have special characters. Allowed special characters are: [ \\ ] ^ _ \` : ; < = > ? @ ( ) + , -`,{code:"INVALID_PARAMETER"})};if(Array.isArray(e))for(let a of e)i(a);else i(e);return e},Params:function(e,a,t=[],p){let i=ce(e,p).data;a.service="string",a.owner="string";let d={};for(let e in a)if(i&&"object"==typeof i&&!Array.isArray(i)&&i.hasOwnProperty(e))if("function"==typeof i[e])d[e]=i[e];else try{d[e]=JSON.parse(JSON.stringify(i[e]))}catch(a){d[e]=i[e]}try{return ye(d,a,t)}catch(e){throw new ae(e,{code:"INVALID_PARAMETER"})}},checkParams:ye};let Ae=null;function Te(e){let a={tkid:"ticket_id",cond:"condition",stmp:"timestamp",actn:"action",cnt:"count",ttl:"time_to_live",plch:"placeholder",hash:"hash",desc:"description",pmc:"limit_per_user"},t={};for(let p in e)if("tkid"===p){let a=e[p].split("#");if(1===a.length){t.ticket_id=a[0];continue}t.ticket_id=a[1],t.consume_id=a[2],t.user_id=a[3];let i=a[2].slice(-4);if(t.is_test=":CHK"===i,!e.stmp){let e=a[2].slice(0,-4);/^[0-9]+$/.test(e)?t.timestamp=parseInt(e,10):t.timestamp=se(a[2].slice(0,-4))}}else a[p]?t[a[p]]=e[p]:t[p]=e[p];return t}async function Ee(e){if(!e.ticket_id)throw new ae("Ticket ID is required.",{code:"INVALID_PARAMETER"});if(!e.method)throw new ae('Method is required. Should be either "GET" or "POST"',{code:"INVALID_PARAMETER"});let a=e.ticket_id;return await this.__connection,Te(await ca.bind(this)(`https://${this.service.slice(0,4)}.${this.customApiDomain}/auth/consume/${this.service}/${this.owner}/${a}`,e?.data||{},{method:e.method,auth:!!e?.auth}))}async function De(e,a){await this.__connection;let t=await ca.bind(this)("ticket",Object.assign({exec:"list"},e||{}),{auth:!0,fetchOptions:a});return t.list=t.list.map(Te),t}async function Ne(e,a){await this.__connection;let t=await ca.bind(this)("ticket",Object.assign({exec:"consumed"},e||{}),{auth:!0,fetchOptions:a});return t.list=t.list.map(Te),t}async function Ie(e){return ca.bind(this)("register-ticket",Object.assign({exec:"reg"},e),{auth:!0})}async function Ve(e){return ca.bind(this)("register-ticket",Object.assign({exec:"unreg"},e),{auth:!0})}async function Re(){if(await this.__connection,this.session){const e=Math.floor(Date.now()/1e3),a=this.session.getIdToken().getExpiration();if(a<e){this.log("request:requesting new token",null);try{await Pe.bind(this)().getSession({refreshToken:!0}),this.log("request:received new tokens",{exp:this.session?.idToken?.payload?.exp,currentTime:e,expiresIn:a-e,token:this.session?.accessToken?.jwtToken,refreshToken:this.session?.refreshToken?.token})}catch(e){throw this.log("request:new token error",e),new ae("User login is required.",{code:"INVALID_REQUEST"})}}else this.log("request:tokens",{exp:this.session.idToken.payload.exp,currentTime:e,expiresIn:a-e,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token});return this.session?.idToken?.jwtToken}throw this.log("request:no session",null),Me.bind(this)(),new ae("User login is required.",{code:"INVALID_REQUEST"})}function Ce(e,a){return new Promise((t,p)=>{a.refreshSession(e.getRefreshToken(),(e,a)=>{this.log("getSession:refreshSessionCallback",{refreshErr:e,refreshedSession:a}),e?(Me.bind(this)(),p(e)):a.isValid()?t(a):(Me.bind(this)(),p(new ae("Invalid session.",{code:"INVALID_REQUEST"})))})})}function Pe(){if(!this.userPool)throw new ae("User pool is missing",{code:"INVALID_REQUEST"});const e=()=>{let e=he(Ae.getSignInUserSession().getIdToken().payload||null);return this.log("normalized user attribute",e),this.__user=e,e},t=async a=>new Promise((t,p)=>{this.log("getSession:option",a);let{refreshToken:i=!1,skipUserUpdateEventTrigger:d=!1}=a||{};if(i&&d&&(d=!1),Ae=this.userPool.getCurrentUser(),!Ae)return this.log("getSession:cognitoUser",Ae),Me.bind(this)(),void p(null);let s=a=>{let t=a.getIdToken().payload;if(this.log("getSession:respond:sessionAttribute",t),t["custom:service"]!==this.service)throw this.log("getSession:respond","invalid service, signing out"),Me.bind(this)(),new ae("Invalid session.",{code:"INVALID_REQUEST"});return this.session=a,e(),d||this._runOnUserUpdateListeners(this.user),this.session};Ae.getSession((e,a)=>{if(this.log("getSession:getSessionCallback",{err:e,session:a}),!a)return Me.bind(this)(),void p(new ae("Current session does not exist.",{code:"INVALID_REQUEST"}));if(e)return void Ce.bind(this)(a,Ae).then(e=>t(s(e))).catch(p);const d=Math.floor(Date.now()/1e3),r=a.getIdToken(),n=r.getExpiration(),o=n<d;if(this.log("getSession:currentTime",d),this.log("getSession:idTokenExp",n),this.log("getSession:isExpired",o),this.log("getSession:existingBearerToken",this.bearerToken),this.bearerToken=r.getJwtToken(),o||i||!a.isValid())Ce.bind(this)(a,Ae).then(e=>t(s(e))).catch(p);else try{t(s(a))}catch(e){p(e)}})}),p=(e,a)=>{let t=a||e.includes(this.service+"-")?e:this.service+"-"+ie.hash(e);return{cognitoUser:new j({Username:t,Pool:this.userPool}),cognitoUsername:t}};return{getSession:t,authenticateUser:(e,i,d=!1,s=!1)=>new Promise((r,n)=>{this.__request_signup_confirmation=null,this.__disabledAccount=null;let o=p(e,d),l=o.cognitoUsername,m=new a({Username:l,Password:i});o.cognitoUser.authenticateUser(m,{newPasswordRequired:(e,a)=>{this.__disabledAccount=null,this.__request_signup_confirmation=l,"PASS"===e["custom:signup_ticket"]||"MEMBER"===e["custom:signup_ticket"]||"OIDPASS"===e["custom:signup_ticket"]?o.cognitoUser.completeNewPasswordChallenge(i,{},{onSuccess:e=>{Ae=o.cognitoUser,t().then(e=>r(this.user))},onFailure:e=>{n(new ae(e.message||"Failed to authenticate user.",{code:e.code}))}}):n(new ae("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}))},onSuccess:e=>t({skipUserUpdateEventTrigger:!0}).then(e=>{this.__disabledAccount=null,this._runOnLoginListeners(this.user),this._runOnUserUpdateListeners(this.user),r(this.user)}),onFailure:e=>{let a=[],{parsed:t,code:p}=Ue(e),i="string"==typeof e?.message?e.message:"";if("NotAuthorizedException"===p?i.includes("User is disabled.")?(this.__disabledAccount=l,a=["This account is disabled.","USER_IS_DISABLED"]):a=s?["The account already exists.","ACCOUNT_EXISTS"]:["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotFoundException"===p?a=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:"UserNotConfirmedException"===p?(this.__request_signup_confirmation=l,a=["User's signup confirmation is required.","SIGNUP_CONFIRMATION_NEEDED"]):"TooManyRequestsException"!==p&&"LimitExceededException"!==p||(a=["Too many attempts. Please try again later.","REQUEST_EXCEED"]),"SIGNUP_CONFIRMATION_NEEDED"===t.code&&(this.__request_signup_confirmation=l),a.length){let t=a[1],p=a[0];n(new ae(p,{code:t,cause:e}))}else n(t)}})}),createCognitoUser:p,signup:(e,a,t)=>new Promise((p,i)=>{this.userPool.signUp(e,a,t,null,(e,a)=>{if(e){let{parsed:a,code:t}=Ue(e),p=[];return"UsernameExistsException"===t?p=["The account already exists.","EXISTS"]:"InvalidPasswordException"===t?p=["Invalid password. Password must be at least 6 characters.","INVALID_PARAMETER"]:"InvalidParameterException"===t?p=[a.message||"Invalid parameter.","INVALID_PARAMETER"]:"TooManyRequestsException"===t||"LimitExceededException"===t?p=["Too many attempts. Please try again later.","REQUEST_EXCEED"]:"CodeDeliveryFailureException"===t?p=["Failed to deliver verification code.","CODE_DELIVERY_FAILURE"]:"UserLambdaValidationException"===t&&(p=[a.message||"Signup validation failed.","INVALID_REQUEST"]),void(p.length?i(new ae(p[0],{code:p[1],cause:e})):i(a))}p(a)})})}}function Ue(e){let a="string"==typeof e?.code&&e.code.trim()?e.code.trim():"ERROR",t=(("string"==typeof e?.message?e.message:"string"==typeof e?e:"An error occurred.")||"An error occurred.").trim();t||(t="An error occurred.");let p=t.match(/#([A-Za-z0-9_]+)\s*:\s*([\s\S]+)/),i=p?.[1]?.trim()||a,d=p?.[2]?.trim()||t;return{parsed:new ae(d,{code:i,cause:e}),code:a}}async function ke(e){await this.__authConnection;let a=e?.refreshToken||!1;if(!a)return this.user;try{return await Pe.bind(this)().getSession(Object.assign({skipUserUpdateEventTrigger:!a,refreshToken:a},e)),this.user}catch(e){return null}}async function Oe(e){await this.__connection,e=Se.Params(e,{token:"string",id:"string",merge:e=>{if(void 0===e)return!1;if("string"==typeof e)return[e];if(Array.isArray(e))for(let a of e)if("string"!=typeof a)throw new ae('"merge" array items should be type: <string>.',{code:"INVALID_PARAMETER"});if("boolean"!=typeof e&&!Array.isArray(e))throw new ae('"merge" should be type: <boolean | string[]>.',{code:"INVALID_PARAMETER"});return e}});let a=await ca.bind(this)("openid-logger",e),t=a.logger.split("#"),p=this.service+"-"+t[0],i=t[1];return{userProfile:await Pe.bind(this)().authenticateUser(p,i,!0,!0),openid:a.openid}}async function Le(e){await this.__authConnection,this.log("loginWithToken:params",e);const a=function(e){const a=e.split(".");if(3!==a.length)throw new Error("Invalid JWT format");const t=function(e){const a="undefined"!=typeof globalThis?globalThis:void 0;if(a?.Buffer)return a.Buffer.from(e,"base64").toString("utf8");if("function"==typeof atob){const a=atob(e),t=new Uint8Array(a.length);for(let e=0;e<a.length;e++)t[e]=a.charCodeAt(e);return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(t):a}throw new Error("No base64 decoder available in this environment")}(a[1].replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(t)}((e=Se.Params(e,{idToken:"string",accessToken:"string",refreshToken:"string"},["idToken"])).idToken);if(this.log("loginWithToken:idTokenPayload",a),a["custom:service"]!==this.service)throw new ae("Token does not belong to this service.",{code:"INVALID_REQUEST"});const t=Math.floor(Date.now()/1e3);if(a.exp&&a.exp<t)throw new ae("Token has expired.",{code:"INVALID_REQUEST"});if(this.__user=he(a),this.session=null,e.accessToken&&e.refreshToken)try{if(this.session=new U({IdToken:new V({IdToken:e.idToken}),AccessToken:new N({AccessToken:e.accessToken}),RefreshToken:new R({RefreshToken:e.refreshToken})}),this.log("loginWithToken:session",this.session),this.log("loginWithToken:CognitoUser",j),this.log("loginWithToken:userPool",this.userPool),j&&this.userPool){this.log("loginWithToken:cognito:username",a["cognito:username"]);let e={Username:a["cognito:username"],Pool:this.userPool};this.log("loginWithToken:cognitoUserParams",e),Ae=new j(e),Ae.setSignInUserSession(this.session),this.log("loginWithToken:cognitoUserRestored",{cognitoUserType:typeof Ae,cognitoUserKeys:Object.keys(Ae||{}),cognitoUser:Ae})}}catch(e){this.log("loginWithToken:err",e);try{this.log("loginWithToken:err:stringified",JSON.stringify(e))}catch(a){this.log("loginWithToken:err:stringifyFail",String(e))}try{const a=Object.keys(e||{}),t=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e||{}):[],p=Object.getOwnPropertyDescriptors?Object.getOwnPropertyDescriptors(e||{}):{};this.log("loginWithToken:createSessionError:allKeys",{keys:a,symbols:t,descriptors:p})}catch(e){this.log("loginWithToken:createSessionError:allKeysFail",String(e))}}return this._runOnLoginListeners(this.user),this._runOnUserUpdateListeners(this.user),this.user}async function Fe(){return await this.__connection,this.__user?.service===this.service?this.__user?.owner===this.host:(await xe.bind(this)(),!1)}async function Me(e=!1){let a=null;Ae&&(e?a=new Promise((e,a)=>{Ae.globalSignOut({onSuccess:a=>{this.log("globalSignOut:success",a),e(a)},onFailure:e=>{this.log("globalSignOut:error",e),a(e)}})}):Ae.signOut());let t={session:null,__startKeyHistory:{},__cached_requests:{},__user:null};a&&(a=await a);for(let e in t)this[e]=t[e];return this._runOnUserUpdateListeners(null),this._runOnLoginListeners(null),a}async function xe(e){await this.__connection;let{data:a}=ce(e);return await Me.bind(this)(a?.global),"SUCCESS: The user has been logged out."}async function Be(){if(!this.__request_signup_confirmation)throw new ae("Least one login attempt is required.",{code:"INVALID_REQUEST"});return await ca.bind(this)("confirm-signup",{username:this.__request_signup_confirmation})}async function qe(e=!1){if("string"==typeof e)e=Se.Url(e);else if("boolean"!=typeof e)throw new ae("Argument should be type: <boolean | string>.",{code:"INVALID_REQUEST"});if(!this.__disabledAccount)throw new ae("Least one signin attempt of disabled account is required.",{code:"INVALID_REQUEST"});return await ca.bind(this)("recover-account",{username:this.__disabledAccount,redirect:e}),"SUCCESS: Recovery e-mail has been sent."}async function je(e){let a=Se.Params(e,{username:"string",email:"string",password:"string"},["password"]);if(await this.__authConnection,a.email)try{Se.Email(a.email)}catch(e){a.username=a.email,delete a.email}if(!a.username&&!a.email)throw new ae('Least one of "username" or "email" is required.',{code:"INVALID_PARAMETER"});return await Pe.bind(this)().authenticateUser(a.username||a.email,a.password)}async function $e(e,a){await this.__authConnection;let t={username:"string",password:e=>Se.Password(e),email:e=>Se.Email(e),name:"string",address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",gender:"string",birthdate:e=>e?Se.Birthdate(e):"",phone_number:e=>e?Se.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?Se.Url(e):"",profile:e=>e?Se.Url(e):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?Se.Url(e):""},p=Se.Params(e||{},t,["email","password"]);await xe.bind(this)(),a=Se.Params(a||{},{email_subscription:e=>{if("boolean"!=typeof e)throw new ae('"option.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!a?.signup_confirmation)throw new ae('"option.signup_confirmation" is required for email subscription.',{code:"INVALID_PARAMETER"});return e},signup_confirmation:e=>{let a=e;if("string"==typeof e)a=Se.Url(e);else{if("boolean"!=typeof e)throw new ae('"option.signup_confirmation" should be type: <string | boolean>.',{code:"INVALID_PARAMETER"});a=e}if(a&&!p.email)throw new ae('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return a},login:e=>{if("boolean"==typeof e){if(a.signup_confirmation&&e)throw new ae('"login" is not allowed when "option.signup_confirmation" is true.',{code:"INVALID_PARAMETER"});return e}throw new ae('"option.login" should be type: boolean.',{code:"INVALID_PARAMETER"})}});let i=a?.login||!1;if(p.signup_confirmation=a?.signup_confirmation||!1,p.email_subscription=a?.email_subscription||!1,p.email_public&&!p.signup_confirmation)throw new ae('"option.signup_confirmation" should be true if "email_public" is set to true.',{code:"INVALID_PARAMETER"});p.service=this.service,p.owner=this.owner;let d=Pe.bind(this)().createCognitoUser(p.username||p.email);for(let e of["email_public","address_public","gender_public","birthdate_public","phone_number_public"])p[e]=p[e]?"1":"0";p.access_group&&(p.access_group=p.access_group.toString());let s=(await ca.bind(this)("signupkey",{username:d.cognitoUsername,signup_confirmation:"boolean"==typeof p.signup_confirmation?JSON.stringify(p.signup_confirmation):p.signup_confirmation,email_subscription:p.email_subscription})).split(":"),r=s.slice(1).join(":"),n=[new F({Name:"custom:signup",Value:s[0]}),new F({Name:"locale",Value:r.split("#")[1]}),new F({Name:"custom:signup_ticket",Value:r})];for(let e in t){let a=["email_public","address_public","gender_public","birthdate_public","phone_number_public","misc","service","owner"];""!==p[e]&&"username"!==e&&"password"!==e&&"access_group"!==e&&(a.includes(e)?n.push(new F({Name:"custom:"+e,Value:p[e]})):n.push(new F({Name:e,Value:p[e]})))}return await Pe.bind(this)().signup(d.cognitoUsername,p.password,n),p.signup_confirmation?(Ae=d.cognitoUser,this.__request_signup_confirmation=d.cognitoUsername,"SUCCESS: The account has been created. User's signup confirmation is required."):i?je.bind(this)({email:p.username||p.email,password:p.password}):"SUCCESS: The account has been created."}async function Ke(){await this.__connection;let e=await ca.bind(this)("remove-account",{disable:this.__user.user_id},{auth:!0});return await xe.bind(this)(),e}async function He(e){await this.__connection;let a=Se.Params(e,{email:e=>Se.Email(e),code:["number","string"],new_password:e=>Se.Password(e)},["email","code","new_password"]),t=a.code,p=a.new_password;return"number"==typeof t&&(t=t.toString()),new Promise(async(e,i)=>{Pe.bind(this)().createCognitoUser(a.email).cognitoUser.confirmPassword(t,p,{onSuccess:a=>{e("SUCCESS: New password has been set.")},onFailure:e=>{i(new ae(e?.message||"Failed to reset password.",{code:e?.code||"ERROR",cause:e}))}})})}async function Je(e,a){let t;if(await this.__connection,!Ae)throw new ae("The user has to be logged in.",{code:"INVALID_REQUEST"});if("email"===e||"phone_number"===e){if(!this.__user.hasOwnProperty(e))throw new ae(`No ${"email"===e?"e-mail":"phone number"} to verify`,{code:"INVALID_REQUEST"});return this.__user?.[`${e}_verified`]?`SUCCESS: "${e}" is verified.`:(t=(a?Se.Params(a,{code:["string"]}):{}).code||"",new Promise((a,p)=>{let i={onSuccess:i=>{t?Pe.bind(this)().getSession({refreshToken:!0}).then(()=>{this.__user&&(this.__user[e+"_verified"]=!0),a(`SUCCESS: "${e}" is verified.`)}).catch(e=>{p(e)}):a("SUCCESS: Verification code has been sent.")},onFailure:e=>{p(new ae(e.message||"Failed to request verification code.",{code:e?.code}))}};t?Ae?.verifyAttribute(e,t,i):(i.inputVerificationCode=null,Ae?.getAttributeVerificationCode(e,i))}))}}function ze(e){return Je.bind(this)("phone_number",e)}function We(e){return Je.bind(this)("email",e)}async function Qe(e){await this.__connection;let a=Se.Params(e,{email:e=>Se.Email(e)},["email"]);return new Promise(async(e,t)=>{Pe.bind(this)().createCognitoUser(a.email).cognitoUser.forgotPassword({onSuccess:a=>{e("SUCCESS: Verification code has been sent.")},onFailure:e=>{let{parsed:a,code:p}=Ue(e),i={UserNotFoundException:"NOT_EXISTS",InvalidParameterException:"INVALID_PARAMETER",NotAuthorizedException:"INVALID_REQUEST",LimitExceededException:"REQUEST_EXCEED",TooManyRequestsException:"REQUEST_EXCEED",CodeDeliveryFailureException:"CODE_DELIVERY_FAILURE"}[p]||a.code||p||"ERROR";t(new ae(a.message,{code:i,cause:e}))}})})}async function Ge(e){if(await this.__connection,!this.session)throw new ae("User login is required.",{code:"INVALID_REQUEST"});let a=Se.Params(e,{current_password:"string",new_password:"string"});if(!a?.current_password)throw new ae('"current_password" is required to change password.',{code:"INVALID_PARAMETER"});if(!a?.new_password)throw new ae('"new_password" is required to change password.',{code:"INVALID_PARAMETER"});return Se.Password(a.current_password),Se.Password(a.new_password),new Promise((e,t)=>{Ae.changePassword(a.current_password,a.new_password,(a,p)=>{if(a)if("InvalidParameterException"===a?.code)t(new ae("Invalid password parameter.",{code:"INVALID_PARAMETER"}));else if("NotAuthorizedException"===a?.code)t(new ae("Incorrect password.",{code:"INVALID_REQUEST"}));else if("TooManyRequestsException"===a?.code||"LimitExceededException"===a?.code)t(new ae("Too many attempts. Please try again later.",{code:"REQUEST_EXCEED"}));else{let{parsed:e,code:p}=Ue(a);t(e)}else e("SUCCESS: Password has been changed.")})})}async function Ze(e){if(await this.__connection,!this.session)throw new ae("User login is required.",{code:"INVALID_REQUEST"});let a=Se.Params(e||{},{user_id:e=>Se.UserId(e),email:e=>Se.Email(e),address:e=>e?"string"==typeof e?e:"object"==typeof e?JSON.stringify(e):void 0:"",name:"string",gender:"string",birthdate:e=>e?Se.Birthdate(e):"",phone_number:e=>e?Se.PhoneNumber(e):"",email_public:"boolean",phone_number_public:"boolean",address_public:"boolean",gender_public:"boolean",birthdate_public:"boolean",misc:"string",picture:e=>e?Se.Url(e):"",profile:e=>e?Se.Url(e):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:e=>e?Se.Url(e):""});if(a&&"object"==typeof a&&!Object.keys(a).length)return this.user;a.email&&(a.preferred_username=this.service+"-"+ie.hash(a.email));let t=[["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 t)if(a[e[0]]&&!this.__user[e[1]])throw new ae(`${e[2]} "${e[0]}" to true.`,{code:"INVALID_REQUEST"});let p=[];for(let e in a)if(a[e]!==this.user[e]){if(["email_public","phone_number_public","address_public","gender_public","birthdate_public","misc"].includes(e)){let t=a[e];"boolean"==typeof t&&(t=t?"1":"0"),a["custom:"+e]=t,p.push(e)}}else p.push(e);for(let e of p)delete a[e];if(a.user_id){if(a.user_id!==this.user.user_id)return ca.bind(this)("admin-edit-profile",{attributes:a},{auth:!0});delete a.user_id}if(a&&"object"==typeof a&&Object.keys(a).length){let e=[];for(let t in a)e.push(new F({Name:t,Value:a[t]}));return await new Promise((a,t)=>{Ae?.updateAttributes(e,(e,p)=>{e&&t([e?.code||e?.name,e?.message||"Failed to update user settings."]),a(p)})}),await Pe.bind(this)().getSession({refreshToken:!0}),this.user}return this.user}async function Xe(e,a){(e=ce(e).data)||(e={searchFor:"timestamp",condition:">",value:0},a||(a={}),a.ascending=!1),await this.__connection;const t={user_id:e=>Array.isArray(e)?e.map(e=>Se.UserId(e)):Se.UserId(e),email:"string",phone_number:"string",locale:e=>{if("string"!=typeof e||"string"==typeof e&&e.length>5)throw new ae('Value of "locale" should be a country code.',{code:"INVALID_PARAMETER"});return e},name:"string",address:"string",gender:"string",birthdate:e=>Se.Birthdate(e),subscribers:"number",timestamp:"number",access_group:"number",approved:"string"};if(e=Se.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:a=>{let p=t[e.searchFor];if("function"==typeof p)return p(a);if(typeof a!==p)throw new ae(`Value does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});return a},range:a=>{let p=t[e.searchFor];if("function"==typeof p)return p(a);if(typeof a!==p)throw new ae(`Range does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});return a}},["searchFor","value"]),e?.condition&&"="!==e?.condition&&e.hasOwnProperty("range"))throw new ae("Conditions does not apply on range search.",{code:"INVALID_PARAMETER"});if("user_id"===e.searchFor&&("="!==e.condition||e.range))throw new ae(`Conditions are not allowed on "${e.searchFor}"`,{code:"INVALID_PARAMETER"});if("string"==typeof e?.value&&!e?.value)throw new ae("Value should not be an empty string.",{code:"INVALID_PARAMETER"});if("string"==typeof e?.searchFor&&!e?.searchFor)throw new ae('"searchFor" should not be an empty string.',{code:"INVALID_PARAMETER"});return ca.bind(this)("get-users",e,{auth:!0,fetchOptions:a})}async function Ye(e){await this.__connection;let a=await ca.bind(this)("last-verified-email",e,{auth:!0});return a.includes("SUCCESS")?(await Pe.bind(this)().getSession({refreshToken:!0}),this.user):a}async function ea(e){return await this.__connection,e=Se.Params(e,{username:Se.Email,redirect:Se.Url},["username"]),await ca.bind(this)("request-username-change",e,{auth:!0})}var aa=class{version="1.1.0";items=[];breakWhenError=!1;batchSize=1;onProgress;activeCount=0;currentCycleCompleted=[];stopProcessing=!1;get batchToProcess(){return Math.ceil(this.items.length/this.batchSize)}constructor(e){if(this.breakWhenError=!!e?.breakWhenError,this.batchSize=e?.batchSize??1,"number"!=typeof this.batchSize||this.batchSize<1)throw new Error("batchSize must be at least 1");if(e?.onProgress){if("function"!=typeof e.onProgress)throw new Error("onProgress must be a function");this.onProgress=e.onProgress}}add(e){const a=Array.isArray(e)?e:[e];for(const e of a){if("function"!=typeof e)throw new Error("Each job must be a function that returns a Promise");this.items.push(e)}this.processNext()}processNext(){if(this.stopProcessing||0===this.items.length||this.activeCount>0)return;const e=this.items.splice(0,this.batchSize);this.activeCount=e.length,this.currentCycleCompleted=new Array(e.length),e.forEach((e,a)=>{Promise.resolve().then(()=>e()).then(e=>(this.finalizeJob(a,e,!1),e)).catch(e=>(this.finalizeJob(a,e,!0),e))})}finalizeJob(e,a,t){if(this.currentCycleCompleted[e]=a,this.activeCount-=1,t&&this.breakWhenError&&(this.stopProcessing=!0,this.items=[]),0!==this.activeCount)return;const p=this.currentCycleCompleted.slice();this.currentCycleCompleted=[],this.onProgress&&this.onProgress({batchToProcess:this.batchToProcess,itemsToProcess:this.items.length,completed:p}),this.processNext()}terminate(){this.items=[]}};let ta=null;const pa="undefined"!=typeof SubmitEvent,ia="undefined"!=typeof HTMLFormElement,da=oe();let sa=0;function ra(e){if(!e)return null;const a=Number(e);if(Number.isFinite(a))return Math.max(0,1e3*a);const t=Date.parse(e);return Number.isNaN(t)?null:Math.max(0,t-Date.now())}function na(e,a){return a>0?e/a*100:0}let oa=e=>{const{auth:a,type:t,endpoints:p}=e,i=p[0],d=p[1];if(sa++,"admin"===t){const e=Object.entries(i).filter(([e,t])=>e.includes(a?"_private":"_public")&&"get_users_private"!==e&&"service_public"!==e&&"string"==typeof t).map(([,e])=>e);if(!e.length)throw new ae("No available admin gateways.",{code:"INVALID_REQUEST"});return e[sa%e.length]}if("record"===t){const e=Object.entries(d).filter(([e,t])=>e.includes(a?"record_private":"record_public")&&"string"==typeof t).map(([,e])=>e);if(!e.length)throw new ae("No available record gateways.",{code:"INVALID_REQUEST"});return e[sa%e.length]}throw new ae("Invalid gateway type.",{code:"INVALID_REQUEST"})};async function la(e,a){const t=await Promise.all([this.admin_endpoint,this.record_endpoint]),p=t[0],i=t[1];let d=e.split("?"),s=d.length>1?"?"+d[1]:"";switch(e=d[0]){case"get-users":return p.get_users_private+e+s;case"service":return p.service_public+e+s;case"get-newsletters":case"get-public-newsletters":case"subscribe-newsletter":case"subscribe-public-newsletter":case"signupkey":case"admin-newsletter-request":case"admin-signup":case"confirm-signup":case"openid-logger":case"block-account":case"admin-edit-profile":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"register-newsletter-group":case"newsletter-group-endpoint":case"invitation-list":case"csr":return oa.bind(this)({auth:a,type:"admin",endpoints:t})+e+s;case"post-record":case"bulk-records":return(a?i.post_private:i.post_public)+e+s;case"get-records":return(a?i.get_private:i.get_public)+e+s;case"del-files":case"del-records":return i.del_private+e+s;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-uniqueid":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":return oa.bind(this)({auth:a,type:"record",endpoints:t})+e+s;default:return Se.Url(e)+s}}const ma={};function ua(){ta&&(ta.terminate(),ta=null)}async function ca(e,a=null,t,p){this.log("request",{url:e,data:a,options:t,_etc:p||{}}),t=t||{};let{auth:i=!1,method:d="post",bypassAwaitConnection:s=!1}=t;d=d.toUpperCase();let r=null,n=a?.service||this.service,o=a?.owner||this.owner,l=null,m=await la.bind(this)(e,!!i);if(!s&&(r=await this.__connection,!r))throw new ae("Invalid connection. The service could have been disabled, or has a restricted CORS.",{code:"INVALID_REQUEST"});i&&(l=await Re.bind(this)());let u={},{fetchMore:c=!1,progress:h}=t?.fetchOptions||{};if(t?.fetchOptions&&Object.keys(t.fetchOptions).length){for(let e of["limit","startKey","ascending"])t.fetchOptions.hasOwnProperty(e)&&(u[e]=t.fetchOptions[e]);u=Se.Params(u,{limit:e=>{if("number"!=typeof e)throw new ae("Fetch limit should be a number.",{code:"INVALID_REQUEST"});if(e>1e3)throw new ae("Fetch limit should be below 1000.",{code:"INVALID_REQUEST"});return e},startKey:e=>e,ascending:"boolean"})}let f=p?.ignoreService?{}:{service:n,owner:o};Object.assign(f,u),(a=ce(a).data)?a&&"object"==typeof a&&(a=Object.assign(f,a)):a=f;let v=`${d}:${i?"auth":"public"}:${e}`,w=(()=>{if(a&&"object"==typeof a&&Object.keys(a).length&&!(da&&a instanceof FormData)){function e(a){return"object"==typeof a&&null!==a?Object.keys(a).sort().reduce((t,p)=>("object"==typeof a[p]&&null!==a[p]?t[p]=e(a[p]):t[p]=a[p],t),{}):a}return ie.hash(v+"/"+JSON.stringify(e(a)))}return ie.hash(v+"/"+n)})(),{requestKey:g,requestKeyWithStartKey:_}=ha.bind(this)({params:a,url:e,fetchMore:c,hashedParams:w});if(!g||g&&"object"==typeof g)return g;if(this.log("requestKey",_),"string"==typeof _&&ma[_]instanceof Promise)return this.log("request:returning pending",_),ma[_];let b={Accept:"*/*"};if(Object.prototype.hasOwnProperty.call(t,"contentType")&&void 0!==t.contentType){const e=null===t.contentType?"application/x-www-form-urlencoded":t.contentType;e&&(b["Content-Type"]=e)}else!da||FormData,b["Content-Type"]="application/json";l&&(b.Authorization=l);let y={public_identifier:this.__public_identifier,service:n,owner:o};b["Content-Meta"]=JSON.stringify(y);let S={headers:b};if(t?.responseType&&(S.responseType=t.responseType),"GET"===d){if(a){let e=[];if(e=da&&a instanceof FormData?Array.from(a.entries()).map(([e,a])=>{const t="string"==typeof a?a:a.name;return encodeURIComponent(e)+"="+encodeURIComponent(t)}):Object.keys(a).map(e=>{let t=a[e];return"string"!=typeof t&&(t=JSON.stringify(t)),encodeURIComponent(e)+"="+encodeURIComponent(t)}),e.length){const a=m.includes("?")?m.endsWith("?")||m.endsWith("&")?"":"&":"?";m+=a+e.join("&")}}S.body=null}else if(da&&a instanceof FormData)S.body=a;else if("application/x-www-form-urlencoded"===b["Content-Type"]&&a&&"object"==typeof a){const e=new URLSearchParams;for(let t of Object.keys(a)){const p=a[t];e.append(t,"string"==typeof p?p:JSON.stringify(p))}S.body=e.toString()}else S.body="string"==typeof a?a:a?JSON.stringify(a):null;if(S.method=d,null===ta){let e={batchSize:this.requestBatchSize,breakWhenError:!1,onProgress:e=>{this.onBatchProcess.forEach(a=>a(e))}};ta=new aa(e)}return this.log("request-opt",S),new Promise((a,t)=>{ta.add([async()=>{let p=fa.bind(this)(m,S,h);ma[_]=p;try{let t=va.bind(this)({hashedParam:g,requestKeyWithStartKey:_,url:e,fetched:await p});return delete ma[_],this.log("request:end",t),a(t),t}catch(e){throw delete ma[_],this.log("request:err",e),t(e),e}}])})}function ha(e){let{params:a={},url:t,fetchMore:p=!1,hashedParams:i}=e||{};if(a.startKey){if(("object"!=typeof a.startKey||!Object.keys(a.startKey).length)&&"start"!==a.startKey&&"end"!==a.startKey)throw new ae(`"${a.startKey}" is invalid startKey key.`,{code:"INVALID_PARAMETER"});"start"===a.startKey&&(p=!1,delete a.startKey)}if(!p){if(this.__cached_requests?.[t]?.[i]&&delete this.__cached_requests[t][i],this.__startKeyHistory?.[t]?.[i]){if(Array.isArray(this.__startKeyHistory[t][i])&&this.__startKeyHistory[t][i].length)for(let e of this.__startKeyHistory[t][i]){let a=i+ie.hash(e);this.__cached_requests?.[t]&&this.__cached_requests?.[t]?.[a]&&delete this.__cached_requests[t][a]}delete this.__startKeyHistory[t][i]}return{requestKeyWithStartKey:i,requestKey:i}}if(!Array.isArray(this.__startKeyHistory?.[t]?.[i]))return{requestKeyWithStartKey:i,requestKey:i};let d=this.__startKeyHistory[t][i],s=d[d.length-1],r=i;if(s){if("end"===s)return{requestKey:{list:[],startKey:"end",endOfList:!0,startKeyHistory:d},requestKeyWithStartKey:r};r+=ie.hash(s),a.startKey=JSON.parse(s)}return this.__cached_requests?.[t]?.[r]?{requestKey:this.__cached_requests[t][r],requestKeyWithStartKey:r}:{requestKeyWithStartKey:r,requestKey:i}}function fa(e,a,t){return new Promise((p,i)=>{let d=new XMLHttpRequest;for(var s in d.open(a.method||"GET",e),a.headers||{})d.setRequestHeader(s,a.headers[s]);a.responseType&&(d.responseType=a.responseType),d.onload=()=>{if(d.status<400)if("json"==a.responseType||"blob"==a.responseType)p(d.response);else{let e=d.responseText;try{e=JSON.parse(e)}catch(e){}p(e)}else if(429===d.status){let s=ra(d.getResponseHeader("Retry-After"));null!==s?setTimeout(()=>{fa(e,a,t).then(p,i)},s):i("Too many requests")}else{let e=d.status,t=["INVALID_CORS","INVALID_REQUEST","SERVICE_DISABLED","INVALID_PARAMETER","ERROR","EXISTS","NOT_EXISTS"],p="blob"==a.responseType?d.response:d.responseText;try{p=JSON.parse(p)}catch(e){}if("string"==typeof p){let e=p.split(":"),a=e.splice(0,1)[0].trim(),d=e.join(":").trim();i(new ae(d||p,{code:t.includes(a)?a:"ERROR"}))}else if("object"==typeof p&&p?.message){let a=p?.code||(e?e.toString():null)||"ERROR",t=p.message,d=p?.cause;"string"==typeof t&&(t=t.trim()),i(new ae(t,{cause:d,code:a}))}else i(p)}},d.onerror=()=>i("Network error"),d.onabort=()=>i("Aborted"),d.ontimeout=()=>i("Timeout"),"function"==typeof t&&(d.onprogress=e=>{t({status:"download",progress:na(e.loaded,e.total),loaded:e.loaded,total:e.total,abort:()=>d.abort()})},d.upload&&(d.upload.onprogress=e=>{t({status:"upload",progress:na(e.loaded,e.total),loaded:e.loaded,total:e.total,abort:()=>d.abort()})})),d.send(a.body)})}function va(e){let{hashedParam:a,requestKeyWithStartKey:t,url:p,fetched:i}=e;if(!i?.startKey)return i;this.__startKeyHistory.hasOwnProperty(p)||(this.__startKeyHistory[p]={}),this.__startKeyHistory[p].hasOwnProperty(a)||(this.__startKeyHistory[p][a]=[]);let d="end"===i.startKey?"end":JSON.stringify(i.startKey);return this.__startKeyHistory[p][a].includes(d)||this.__startKeyHistory[p][a].push(d),this.__cached_requests?.[p]||(this.__cached_requests[p]={}),this.__cached_requests[p][t]=i,Object.assign({startKeyHistory:this.__startKeyHistory[p][a]},i)}async function wa(e,a){await this.__connection;let{record_id:t,service:p=this.service,progress:i}=a;if(!t)throw new ae('"record_id" is required.',{code:"INVALID_PARAMETER"});if(pa&&e instanceof SubmitEvent&&(e=e.target),ia&&e instanceof HTMLFormElement&&(e=new FormData(e)),!(da&&e instanceof FormData))throw new ae('"fileList" should be a FormData or HTMLFormElement.',{code:"INVALID_PARAMETER"});let d,s={reserved_key:re(),service:p,request:"post"};a?.record_id&&(s.id=a.record_id);let r=(e,a,t)=>new Promise((p,i)=>{d=new XMLHttpRequest,d.open("POST",e),d.onload=()=>{let s=d.responseText;try{s=JSON.parse(s)}catch(e){}if(d.status>=200&&d.status<300)p(s);else if(429===d.status){let s=ra(d.getResponseHeader("Retry-After"));null!==s?setTimeout(()=>{r(e,a,t).then(p,i)},s):i("Too many requests")}else i(s)},d.onerror=()=>i("Network error"),d.onabort=()=>i("Aborted"),d.ontimeout=()=>i("Timeout"),d.upload&&"function"==typeof t&&(d.upload.onprogress=t),d.send(a)});function n(e){const a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(0===e)return a[0];let t="";for(;e>0;)t=a[e%62]+t,e=Math.floor(e/62);return t}return null===ta&&(ta=new aa({batchSize:this.requestBatchSize,breakWhenError:!1})),new Promise((a,t)=>{ta.add([async()=>{let t=[],p=[],o=[];for(let[a,l]of e.entries()){if(!(l instanceof File))continue;let e=Object.assign({key:a+"/"+l.name,sizeKey:n(l.size),contentType:l.type||null},s),{fields:m=null,url:u,cdn:c}=await ca.bind(this)("get-signed-url",e,{auth:!!this.__user});o.push(c);let h=new FormData;for(let e in m)h.append(e,m[e]);h.append("file",l);try{await r(u,h,"function"==typeof i?e=>i({status:"upload",progress:na(e.loaded,e.total),currentFile:l,completed:t,failed:p,loaded:e.loaded,total:e.total,abort:()=>d.abort()}):null),t.push(l)}catch(e){p.push(l)}}return a({completed:t,failed:p,bin_endpoints:o}),{completed:t,failed:p,bin_endpoints:o}}])})}const ga={};function _a(e){let{preventMultipleCalls:a=!1}=e||{};return function(e,t,p){const i=p.value;p.value=function(...e){let p=e[0],d=!0,s=null,r="",n={},o=!1;if(pa&&p instanceof SubmitEvent){p.preventDefault();let e=window.location.href;s=p.target;let a=new URL(s.action);r=a.href;let t=r?r.match(/(?<=\{).*?(?=\})/g):"";if(t)for(let e of t){if(!e)continue;let a=s.querySelector(`[name="${e}"]`);if(a)if("file"===a.type)for(let t=0;t<=a.files.length-1;t++)a.files[t]&&(n[e]||(n[e]=[]),n[e].push(new Promise((e,p)=>{let i=new FileReader;i.onload=function(){e(i.result)},i.readAsDataURL(a.files[t]),i.onerror=p})));else r=r.replace(`{${e}}`,a.value)}null===s.getAttribute("action")?d=!1:o=a.href===e}const l=async e=>{if(r)for(let e in n)n[e].length&&(r=r.replace(`{${e}}`,(await Promise.all(n[e])).join(",")));return s&&d&&(window.sessionStorage.setItem(`${this.service}:${ie.hash(r)}`,JSON.stringify(e)),o?window.location.replace(r):window.location.href=r),e};let m;const u=async()=>{try{if(m=i.bind(this)(...e),m instanceof Promise){let e=await m;return l(e)}return l(m)}catch(e){throw(e=>{throw e instanceof ae?e.name=t+"()":e=e instanceof Error?e:new ae(e,{name:t+"()"}),e})(e)}};if(a){let e=`${t}:${this?.__public_identifier||""}:${this?.service||""}:${this?.owner||""}`;return ga?.[e]||(ga[e]=u().finally(()=>{delete ga[e]})),ga[e]}return u()}}}async function ba(){await this.__connection;let e=`${this.service}:${ie.hash(window.location.href.split("?")[0])}`,a=window.sessionStorage.getItem(e);if(window.sessionStorage.removeItem(e),null!==a){try{a=JSON.parse(a)}catch(e){}return a}return null}const ya=/[\u0000-\u001F\u007F]|\u{10FFFF}/u,Sa=/[\/!*#]/;function Aa(e,a,t={}){const{allowEmpty:p=!1,maxLength:i,blockKeyDelimiters:d=!1,disallowLeadingDollar:s=!1}=t;if("string"!=typeof e)throw new ae(`"${a}" should be type: <string>.`,{code:"INVALID_PARAMETER"});if(!p&&0===e.length)throw new ae(`"${a}" is required.`,{code:"INVALID_PARAMETER"});if(i&&e.length>i)throw new ae(`"${a}" should be <= ${i} characters.`,{code:"INVALID_PARAMETER"});if(ya.test(e)||e.includes(""))throw new ae(`"${a}" cannot include control characters or unsupported sentinel characters.`,{code:"INVALID_PARAMETER"});if(d&&Sa.test(e))throw new ae(`"${a}" cannot include reserved delimiters: / ! * #`,{code:"INVALID_PARAMETER"});if(s&&e.startsWith("$"))throw new ae(`"${a}" cannot start with "$".`,{code:"INVALID_PARAMETER"});return e}function Ta(e,a="table.name"){return Aa(e,a,{allowEmpty:!1,maxLength:128,blockKeyDelimiters:!0})}function Ea(e,a="tag"){return Aa(e,a,{allowEmpty:!1,maxLength:64,blockKeyDelimiters:!0})}function Da(e,a="index.name"){return Aa(e,a,{allowEmpty:!1,maxLength:128,blockKeyDelimiters:!0,disallowLeadingDollar:!0})}function Na(e,a="index.value"){return Aa(e,a,{allowEmpty:!0,maxLength:256})}function Ia(e){if(void 0===e)return 0;if("number"==typeof e){if(e>99||e<0)throw new ae('"table.access_group" value should be within a range of 0 ~ 99.',{code:"INVALID_REQUEST"})}else{if("string"!=typeof e)throw new ae('"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 ae('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"})}if(!this.__user&&e)throw new ae("Unsigned users have no access to records with access group.",{code:"INVALID_REQUEST"});return e}function Va(e){if("number"==typeof e){if(e>4503599627370496||e<-4503599627370496)throw new ae("Number value should be within range -4503599627370496 ~ +4503599627370496",{code:"INVALID_PARAMETER"});return e}if("boolean"==typeof e)return e;if("string"==typeof e)return Na(e,"index.value");throw new ae('"index.value" should be type: <number | boolean | string>.',{code:"INVALID_PARAMETER"})}function Ra(e){let a={table:{name:[e=>Ta(e,"table.name")],access_group:[Ia.bind(this)],subscription:e=>{if("string"==typeof e)return Se.UserId(e,'User ID in "subscription"'),e}},reference:"string",index:{name:["$updated","$uploaded","$referenced_count","$user_id",e=>Da(e,"index.name")],value:a=>{const t={$updated:"number",$uploaded:"number",$referenced_count:"number",$user_id:Se.UserId};if(t.hasOwnProperty(e.index.name)){let p=t[e.index.name];if("function"==typeof p)return p(a);if(p!==typeof a)throw new ae(`"index.value" should be type: ${p}.`,{code:"INVALID_PARAMETER"});return a}return"string"!=typeof a||a?Va(a):""},condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq"],range:a=>function(e,a){if(!a.index||!("value"in a.index))throw new ae('"index.value" is required.',{code:"INVALID_PARAMETER"});if("$record_id"===a.index.name)throw new ae(`Cannot do "index.range" on ${a.index.name}`,{code:"INVALID_PARAMETER"});if(typeof a.index.value!=typeof e)throw new ae('"index.range" type should match the type of "index.value".',{code:"INVALID_PARAMETER"});return"string"==typeof e?Na(e,"index.range"):e}(a,e)},tag:e=>{if(null==e)return e;if("string"==typeof e)return Ea(e,"tag");throw new ae('"tag" should be type: string.',{code:"INVALID_PARAMETER"})},private_key:"string"};return a.index&&a.index.hasOwnProperty("range")&&a.index.hasOwnProperty("condition")&&delete a.index.range,a}const Ca={};async function Pa(e,a){if(e?.rec&&"called from postRecord"!==a){let a=window.sessionStorage.getItem(`${this.service}:post:${e.rec}`);if(a){try{e=JSON.parse(a)}catch(e){}window.sessionStorage.removeItem(`${this.service}:post:${e.rec}`)}}const t={user_id:"",record_id:"",updated:0,uploaded:0,readonly:!1,table:{name:"",access_group:0,subscription:{is_subscription_record:!1,upload_to_feed:!1,notify_subscribers:!1,feed_referencing_records:!1,notify_referencing_records:!1}},referenced_count:0,source:{referencing_limit:null,prevent_multiple_referencing:!1,can_remove_referencing_records:!1,only_granted_can_reference:!1},ip:"",bin:{}};let p=!1;function i(e){let a="**"==e?"private":parseInt(e);return a=0==a?"public":1==a?"authorized":99==a?"admin":a,a}const d={ip:e=>{let a=e.split("#"),i=a[0];a.length>1&&(t.unique_id=a[1]),"R"===i.slice(-1)?(t.readonly=!0,i=i.slice(0,-1)):t.readonly=!1,/^\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3}$/.test(i)&&(i=i.split("-").join("."),p=!0),t.ip=i},rec:e=>{if(!e)return;t.record_id=e;let a=se(e.substring(0,e.length-9));t.uploaded=a},usr:e=>{t.user_id=e},tbl:e=>{if(e&&!t.table.name){let a=e.split("/");t.table.name=a[0],t.table.access_group=i(a[2]),a?.[3]&&(t.table.subscription.is_subscription_record=!0)}},usr_tbl:e=>{let a=e.split("/");t.user_id||(t.user_id=a[0]),t.table.name||(t.table.name=a[1],t.table.access_group=i(a[3]),a?.[4]&&(t.table.subscription.is_subscription_record=!0))},idx:e=>{if(!e)return;let a=e.split("!"),p=a.splice(0,1)[0],i=function(e){let a=e.substring(3);switch(e.substring(0,3)){case"!S%":return a;case"!N%":let t=a.split("."),p=Number(t[0])-4503599627370496;return 1===t.length?p:parseFloat(p.toString()+"."+t[1]);case"!B%":return"1"===a;case"!L%":case"!D%":try{return JSON.parse(a)}catch(e){throw new ae("Value parse error.",{code:"PARSE_ERROR"})}default:return e}}("!"+a.join("!"));t.index={name:p,value:i}},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 a={},p=t?.reference||null;if(Array.isArray(e)){const t=await Promise.all(e.map(async e=>{try{let a=e.split("/").slice(3).join("/"),t=a.split("/");if(t.length<12)return null;let d=decodeURIComponent(t[t.length-1]),s=decodeURIComponent(t[10]),r=t[9],n=t[8],o=i(t[6]),l=e;"public"!==o&&(l=await ka.bind(this)(e,{dataType:"endpoint",_ref:p}));let m={access_group:o,filename:d,url:l,path:a,size:se(r),uploaded:se(n),getFile:(e,a)=>{let t={dataType:e||"download",progress:a,_ref:p,_update:m};return ka.bind(this)(l,t)}};return{pathKey:s,obj:m}}catch{return null}}));for(let e of t)e&&(a[e.pathKey]?a[e.pathKey].push(e.obj):a[e.pathKey]=[e.obj])}t.bin=a},prv_acs:e=>{for(let a in e)["notify_subscribers","upload_to_feed","feed_referencing_records","notify_referencing_records"].includes(a)?t.table.subscription[a]=e[a]:t.source[a]=e[a]},data:e=>{let a=e;"!D%{}"===e?a={}:"!L%[]"===e&&(a=[]),t.data=a}};if(e.record_id)return e;for(let a in d)if(e.hasOwnProperty(a)){let t=d[a](e[a]);t instanceof Promise&&await t}return p&&(t.user_id="anonymous:"+t.user_id),t}async function Ua(e){let{endpoints:a}=e;if("string"==typeof a&&(a=[a]),!Array.isArray(a))throw new ae('"endpoints" should be type: array | string.',{code:"INVALID_PARAMETER"});let t=await ca.bind(this)("del-files",{endpoints:a,storage:"records"},{auth:!0,method:"post"}),p=[];for(let e in t)p.push(Pa.bind(this)(t[e]));return Promise.all(p)}async function ka(e,a){if("string"!=typeof e)throw new ae('"url" should be type: string.',{code:"INVALID_PARAMETER"});let t=e.split("?"),p=t.shift()||"",i=t.length?"?"+t.join("?"):"",d=Se.Url(p);e=d+i;let s=!1,r=d.split("/"),n=r[2].split("."),o=null;3===n.length&&"skapi"===n[1]&&(o=n[0],s=!0);let l=r.slice(3),m=!1;if(!s&&("auth"===l[0]||"publ"===l[0]))try{Se.UserId(l[2]),Se.UserId(l[3]),m="auth"==l[0],s=!0}catch{throw new ae("Invalid file url.",{code:"INVALID_PARAMETER"})}let u=o?null:l[1];if(a=Se.Params(a,{expires:["number",()=>0],dataType:["base64","blob","endpoint","text","info",()=>"download"],progress:"function",_ref:"string",_update:e=>e}),"info"===a?.dataType)return{url:e,filename:l[l.length-1],fileKey:l[l.length-2],access_group:"**"===l[6]?"private":"01"===l[6]?"authorized":"00"===l[6]?"public":parseInt(l[6]),uploader:l[3],record_id:"records"===l[4]?l[5]:"N/A",filesize:se(l[9]),uploaded:se(l[8])};let c=e.split("/").slice(-1)[0],h=a.expires;if(h){if(!s)throw new ae("Expires option can only be used on skapi cdn endpoints.",{code:"INVALID_PARAMETER"});if(h<0)throw new ae('"config.expires" should be > 0. (seconds)',{code:"INVALID_PARAMETER"});let a={request:o?"get-host":"get",id:o||l[5],key:e,expires:h};u&&(a.service=u),e=(await ca.bind(this)("get-signed-url",a,{auth:!0})).url}else if(m){let t=Math.floor(Date.now()/1e3);if(!this.bearerToken&&(!this.session?.idToken?.payload?.exp||this.session.idToken.payload.exp<t)){this.log("getFile:requesting new token",null);try{await Pe.bind(this)().getSession({refreshToken:!0}),this.log("getFile:received new tokens",{exp:this.session?.idToken?.payload?.exp,currTime:t,expiresIn:this.session?.idToken?.payload?.exp-t,token:this.session?.accessToken?.jwtToken,refreshToken:this.session?.refreshToken?.token})}catch(e){throw this.log("getFile:new token error",e),new ae("User login is required.",{code:"INVALID_REQUEST"})}}let p=this.bearerToken||this.session?.idToken?.jwtToken;if(!p||!this.user?.user_id)throw new ae("User login is required.",{code:"INVALID_REQUEST"});e+=`${e.includes("?")?"&":"?"}t=${encodeURIComponent(p)}`;let i="**"===l[6]?"**":parseInt(l[6]),d=this.user?.access_group??-1;if(this.user.user_id!==l[3]&&("**"===i||d<i)){let t=l[5];if(this.__private_access_key[t]&&"string"==typeof this.__private_access_key[t])e+=`&p=${encodeURIComponent(this.__private_access_key[t])}`;else if(this.owner!==this.host)try{let p=await this.requestPrivateRecordAccessKey({record_id:t,reference_id:a?._ref});e+=`&p=${encodeURIComponent(p)}`}catch(e){}}}if("endpoint"===a?.dataType)return a._update&&(a._update.url=e),e;if("download"===a?.dataType){let a=document.createElement("a");return a.href=e,document.body.appendChild(a),a.setAttribute("download",c),a.target="_blank",a.click(),document.body.removeChild(a),null}return new Promise(async(t,p)=>{try{let p=await ca.bind(this)(e,null,{method:"get",contentType:null,responseType:"text"===a?.dataType?"text":"blob",fetchOptions:{progress:a?.progress}},{ignoreService:!0});if("base64"===a?.dataType){const e=new FileReader;e.onloadend=()=>t(e.result),e.readAsDataURL(p)}else t(p)}catch(e){p(e)}})}async function Oa(e,a=!1){e=ce(e,{ignoreEmpty:!0}).data||{},"string"==typeof e?.table&&(e.table={name:e.table,access_group:0});let t="",p=function(e){if(!e.record_id&&!e.unique_id)return null;let a={};return e?.service&&(a.service=e.service),e?.owner&&(a.owner=e.owner),e?.record_id?a.record_id=Se.specialChars(e.record_id,"record_id",!1,!1):e?.unique_id&&(a.unique_id=e.unique_id),a}(e);if(p)t=(e=p).record_id||e.unique_id,"string"==typeof t&&("string"==typeof this.__private_access_key?.[t]&&(e.private_key=this.__private_access_key?.[t]||void 0),this.__my_unique_ids[t]&&(a?delete this.__my_unique_ids[t]:e.record_id=this.__my_unique_ids[t]));else{let a=await Fe.bind(this)(),p=e?.reference,i="";p?.record_id||p?.unique_id?(t=p.record_id||p.unique_id,t&&"string"==typeof this.__private_access_key?.[t]&&(e.private_key=this.__private_access_key?.[t]||void 0),e.reference=t):p?.user_id&&(i=p.user_id,e.reference=i),e=Se.Params(e||{},Ra.bind(this)(e),i||a?[]:["table"],{ignoreEmpty:!0})}return{query:e,is_reference_fetch:t}}async function La(e,a){await this.__connection;let t=await Oa.bind(this)(e),p=t.is_reference_fetch,i=await ca.bind(this)("get-records",t.query,{fetchOptions:a,auth:!!this.__user,method:this.__user?"post":"get"});p&&i?.reference_private_key&&"string"==typeof i.reference_private_key&&(this.__private_access_key[p]=i.reference_private_key);let d=[];for(let e in i.list)d.push(Pa.bind(this)(i.list[e]));return i.list=await Promise.all(d),i}async function Fa(e,a,t){await this.__connection;let p="";if(!a)throw new ae('"config" argument is required.',{code:"INVALID_PARAMETER"});let i=!this.__user;if("string"==typeof a.table&&(a.table={name:a.table}),!a.record_id){if(!a.table||"object"!=typeof a.table)throw new ae('"table.name" is required.',{code:"INVALID_PARAMETER"});Object.prototype.hasOwnProperty.call(a.table,"access_group")||(a.table.access_group=0)}a.table?.subscription&&(a.table?.subscription?.is_subscription_record?Object.assign(a.table.subscription,{group:1}):!1!==a.table?.subscription?.is_subscription_record&&(a.record_id||a.table.subscription?.is_subscription_record)||Object.assign(a.table.subscription,{group:null}),delete a.table.subscription?.is_subscription_record);let d=Se.Params(a||{},{record_id:["string",()=>{if(!a.table||!a.table.name)throw new ae('"table.name" is required.',{code:"INVALID_PARAMETER"})}],unique_id:"string",readonly:"boolean",table:{name:e=>Ta(e,"table.name"),subscription:{group:e=>1===e?1:null,upload_to_feed:"boolean",notify_subscribers:"boolean",feed_referencing_records:"boolean",notify_referencing_records:"boolean"},access_group:Ia.bind(this)},source:{referencing_limit:e=>{if(null===e)return null;if("number"==typeof e){if(0>e)throw new ae('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(e>4503599627370546)throw new ae('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return e}throw new ae('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})},prevent_multiple_referencing:"boolean",can_remove_referencing_records:"boolean",only_granted_can_reference:"boolean",allow_granted_to_grant_others:"boolean",referencing_index_restrictions:e=>{if(void 0===e)return;if(!e)return null;if(Array.isArray(e)&&!e.length)return null;let a={name:[e=>Da(e,'"name" in "index_restrictions"')],value:e=>Va(e),condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne",()=>null],range:a=>{if(null!==a&&typeof e.value!=typeof a)throw new ae('Index restriction "range" type should match the type of "value".',{code:"INVALID_PARAMETER"});if(!e.hasOwnProperty("value"))throw new ae('Index restriction "value" is required.',{code:"INVALID_PARAMETER"});return a}};Array.isArray(e)||(e=[e]);let t=e.map(e=>Se.Params(e,a));if(t.length)for(let e of t)e.condition&&e.hasOwnProperty("range")&&delete e.range;return t}},reference:e=>{if(null===e)return{record_id:null};if(e){if("string"==typeof e)return p=e,this.__my_unique_ids[e]?this.__my_unique_ids[e]:e;if("object"!=typeof e)throw new ae('"reference" should be type: <string | object>.',{code:"INVALID_PARAMETER"});return Se.Params(e,{unique_id:"string",record_id:e=>null==e?e:(p=e,"string"==typeof this.__private_access_key?.[e]&&(a.reference_private_key=this.__private_access_key[e]||void 0),Se.specialChars(e,'"reference.record_id"',!1,!1))})}},index:{name:e=>Da(e,"index.name"),value:e=>Va(e)},tags:e=>{if(null==e)return e;if("string"==typeof e&&(e=e.split(",").map(e=>e.trim())),!Array.isArray(e))throw new ae('"tag" should be type: <string | string[]>.',{code:"INVALID_PARAMETER"});return e.map(e=>Ea(e,"tag"))},remove_bin:e=>{if(!e)return null;let a=[];if(!Array.isArray(e))throw new ae('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});for(let t of e)if("string"==typeof t)a.push(decodeURIComponent(t.split("?")[0]));else{if(!(t.url&&t.size&&t.filename))throw new ae('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});{let e=t.url.split("/").slice(0,3).join("/")+"/"+t.path;a.push(e)}}return a},progress:"function"}),s=a.progress||null;delete d.progress;let r={auth:!!this.__user,method:"post"},n=null,o=[],l=ce(e);if(t&&Array.isArray(t)&&t.length&&(o=o.concat(t)),l.files&&Array.isArray(l.files)&&l.files.length&&(o=o.concat(l.files)),i){if(d.record_id)throw new ae("Public users cannot update existing records.",{code:"INVALID_REQUEST"});if("public"!==d.table.access_group&&0!==d.table.access_group)throw new ae("Public users can only post records to public tables.",{code:"INVALID_REQUEST"});if(d.table.subscription)throw new ae("Public users cannot post subscription records.",{code:"INVALID_REQUEST"});if(d.remove_bin)throw new ae("Public users cannot remove files from records.",{code:"INVALID_REQUEST"});if(d.unique_id)throw new ae("Public users cannot set unique_id for records.",{code:"INVALID_REQUEST"})}n=Object.assign({data:l.data},d);let m={};"function"==typeof s&&(m.progress=s),Object.keys(m).length&&Object.assign(r,{fetchOptions:m});let u=await ca.bind(this)("post-record",n,r);if(oe()&&o.length){let e=new FormData;for(let a of o)e.append(a.name,a.file,a.file.name);let a={record_id:u.rec,progress:s};d.hasOwnProperty("service")&&(a.service=d.service);let{bin_endpoints:t}=await wa.bind(this)(e,a);u.bin?u.bin.push(...t):u.bin=t}p&&"string"==typeof u?.reference_private_key&&(this.__private_access_key[p]=u.reference_private_key),window.sessionStorage.setItem(`${this.service}:post:${u.rec}`,JSON.stringify(u));let c=await Pa.bind(this)(u,"called from postRecord");return c.unique_id&&(this.__my_unique_ids[c.unique_id]=c.record_id,window.sessionStorage.setItem(`${this.service}:uniqueids`,JSON.stringify(this.__my_unique_ids))),c}async function Ma(e){if(await this.__connection,!Array.isArray(e)||!e.length)throw new ae('"params" should be a non-empty array.',{code:"INVALID_PARAMETER"});let a,t,p=!this.__user,i=[],d=null,s=e=>{if(null===e)return null;if("number"==typeof e){if(0>e)throw new ae('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(e>4503599627370546)throw new ae('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return e}throw new ae('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})},r=e.map((e,r)=>{if(!e||"object"!=typeof e||Array.isArray(e))throw new ae(`"params[${r}]" should be type: <object>.`,{code:"INVALID_PARAMETER"});if("string"==typeof e.table&&(e.table={name:e.table}),!e.record_id){if(!e.table||"object"!=typeof e.table)throw new ae('"table.name" is required.',{code:"INVALID_PARAMETER"});Object.prototype.hasOwnProperty.call(e.table,"access_group")||(e.table.access_group=0)}e.table?.subscription&&(e.table?.subscription?.is_subscription_record?Object.assign(e.table.subscription,{group:1}):!1!==e.table?.subscription?.is_subscription_record&&(e.record_id||e.table.subscription?.is_subscription_record)||Object.assign(e.table.subscription,{group:null}),delete e.table.subscription?.is_subscription_record);let n=Se.Params(e||{},{record_id:["string",()=>{if(!e.table||!e.table.name)throw new ae('"table.name" is required.',{code:"INVALID_PARAMETER"})}],unique_id:"string",readonly:"boolean",data:e=>e,table:{name:e=>Ta(e,"table.name"),subscription:{group:e=>1===e?1:null,upload_to_feed:"boolean",notify_subscribers:"boolean",feed_referencing_records:"boolean",notify_referencing_records:"boolean"},access_group:Ia.bind(this)},source:{referencing_limit:s,prevent_multiple_referencing:"boolean",can_remove_referencing_records:"boolean",only_granted_can_reference:"boolean",allow_granted_to_grant_others:"boolean",referencing_index_restrictions:e=>{if(void 0===e)return;if(!e)return null;if(Array.isArray(e)&&!e.length)return null;let a={name:[e=>Da(e,'"name" in "index_restrictions"')],value:e=>Va(e),condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne",()=>null],range:a=>{if(null!==a&&typeof e.value!=typeof a)throw new ae('Index restriction "range" type should match the type of "value".',{code:"INVALID_PARAMETER"});if(!e.hasOwnProperty("value"))throw new ae('Index restriction "value" is required.',{code:"INVALID_PARAMETER"});return a}};Array.isArray(e)||(e=[e]);let t=e.map(e=>Se.Params(e,a));if(t.length)for(let e of t)e.condition&&e.hasOwnProperty("range")&&delete e.range;return t}},reference:a=>{if(null===a)return{record_id:null};if(a){if("string"==typeof a)return this.__my_unique_ids[a]?this.__my_unique_ids[a]:(i.push(a),a);if("object"!=typeof a)throw new ae('"reference" should be type: <string | object>.',{code:"INVALID_PARAMETER"});return Se.Params(a,{unique_id:"string",record_id:a=>null==a?a:(i.push(a),"string"==typeof this.__private_access_key?.[a]&&(e.reference_private_key=this.__private_access_key[a]||void 0),Se.specialChars(a,'"reference.record_id"',!1,!1))})}},index:{name:e=>Da(e,"index.name"),value:e=>Va(e)},tags:e=>{if(null==e)return e;if("string"==typeof e&&(e=e.split(",").map(e=>e.trim())),!Array.isArray(e))throw new ae('"tag" should be type: <string | string[]>.',{code:"INVALID_PARAMETER"});return e.map(e=>Ea(e,"tag"))},remove_bin:e=>{if(!e)return null;let a=[];if(!Array.isArray(e))throw new ae('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});for(let t of e)if("string"==typeof t)a.push(decodeURIComponent(t.split("?")[0]));else{if(!(t.url&&t.size&&t.filename))throw new ae('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});{let e=t.url.split("/").slice(0,3).join("/")+"/"+t.path;a.push(e)}}return a},progress:"function"});if(p){if(n.record_id)throw new ae("Public users cannot update existing records.",{code:"INVALID_REQUEST"});if("public"!==n.table.access_group&&0!==n.table.access_group)throw new ae("Public users can only post records to public tables.",{code:"INVALID_REQUEST"});if(n.table.subscription)throw new ae("Public users cannot post subscription records.",{code:"INVALID_REQUEST"});if(n.remove_bin)throw new ae("Public users cannot remove files from records.",{code:"INVALID_REQUEST"});if(n.unique_id)throw new ae("Public users cannot set unique_id for records.",{code:"INVALID_REQUEST"})}if("function"==typeof n.progress&&null===d&&(d=n.progress),void 0!==n.service)if(void 0===a)a=n.service;else if(a!==n.service)throw new ae('All bulk params should share the same "service" value.',{code:"INVALID_PARAMETER"});if(void 0!==n.owner)if(void 0===t)t=n.owner;else if(t!==n.owner)throw new ae('All bulk params should share the same "owner" value.',{code:"INVALID_PARAMETER"});return delete n.progress,delete n.service,delete n.owner,n}),n={_is_bulk_:r};void 0!==a&&(n.service=a),void 0!==t&&(n.owner=t);let o={auth:!!this.__user,method:"post"},l={};"function"==typeof d&&(l.progress=d),Object.keys(l).length&&Object.assign(o,{fetchOptions:l});let m=await ca.bind(this)("bulk-records",n,o),u=await Promise.all(m.map(e=>Pa.bind(this)(e,"called from postRecord")));for(let e=0;e<m.length;e++){let a=m[e],t=u[e];if(a?.rec&&window.sessionStorage.setItem(`${this.service}:post:${a.rec}`,JSON.stringify(a)),"string"==typeof a?.reference_private_key)for(let e of i)this.__private_access_key[e]=a.reference_private_key;t?.unique_id&&(this.__my_unique_ids[t.unique_id]=t.record_id)}return Object.keys(this.__my_unique_ids).length&&window.sessionStorage.setItem(`${this.service}:uniqueids`,JSON.stringify(this.__my_unique_ids)),u}async function xa(e,a){let t=await ca.bind(this)("get-table",Se.Params(e||{},{table:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:a})),p={cnt_rec:"number_of_records",tbl:"table",srvc:"service"};if(Array.isArray(t?.list))for(let e of t.list)for(let a in p)e.hasOwnProperty(a)&&(e[p[a]]=e[a],delete e[a]);return t}async function Ba(e,a){if(!e?.table)throw new ae('"table" is required.',{code:"INVALID_PARAMETER"});let t=Se.Params(e||{},{table:"string",index:e=>Da(e,"index.name"),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(t.hasOwnProperty("order")){if(!t.order?.by)throw new ae('"order.by" is required.',{code:"INVALID_PARAMETER"});if(t.order.hasOwnProperty("condition")&&!t.order.hasOwnProperty("value"))throw new ae('"value" is required for "condition".',{code:"INVALID_PARAMETER"});if(t.hasOwnProperty("index")&&"."!==t.index.substring(t.index.length-1))throw new ae('"index" should be a parent index name of the compound index when using "order.by"',{code:"INVALID_PARAMETER"})}let p=await ca.bind(this)("get-index",t,Object.assign({auth:!!this.__user},{fetchOptions:a})),i={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(p?.list)&&(p.list=p.list.map(e=>{let a=e.idx.split("/"),t={table:a[1],index:a[2],number_of_records:e.cnt_rec};for(let a in i)Object.prototype.hasOwnProperty.call(e,a)&&(t[i[a]]=e[a]);return t})),p}async function qa(e,a){let t=await ca.bind(this)("get-tag",Se.Params(e||{},{table:"string",tag:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:a}));return Array.isArray(t?.list)&&(t.list=t.list.map(e=>{let a=e.tag.split("/");return{table:a[1],tag:a[0],number_of_records:e.cnt_rec}})),t}async function ja(e,a){let t=await ca.bind(this)("get-uniqueid",Se.Params(e||{},{unique_id:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:a}));if(Array.isArray(t?.list))for(let e in t.list){let a=t.list[e];t.list[e]={unique_id:a.unq,record_id:a.rec}}return t}async function $a(e,a){await this.__connection;let t=await Oa.bind(this)(e,!0),p=t.is_reference_fetch,i=await ca.bind(this)("del-records",t.query,{auth:!0,fetchOptions:a});return p&&"string"==typeof i?.reference_private_key&&(this.__private_access_key[p]=i.reference_private_key),i?.message||i}function Ka(e){return Wa.bind(this)({record_id:e.record_id,user_id:e.user_id,execute:"add"})}function Ha(e){return Wa.bind(this)({record_id:e.record_id,user_id:e.user_id||null,execute:"remove"})}async function Ja(e,a){let t={record_id:e.record_id||void 0,user_id:e.user_id||void 0,execute:"list"};if(!t.record_id&&!t.user_id)throw new ae("Either record_id or user_id must be provided.",{code:"INVALID_PARAMETER"});if(t.user_id)if("string"==typeof t.user_id)Se.UserId(t.user_id),t.user_id=[t.user_id];else{if(!Array.isArray(t.user_id))throw new ae("user_id should be type: <string | string[]>",{code:"INVALID_PARAMETER"});for(let e of t.user_id)Se.UserId(e)}let p=await ca.bind(this)("grant-private-access",t,{auth:!0,fetchOptions:a});return p.list=p.list.map(e=>(e.rec_usr?(e.record_id=e.rec_usr.split("/")[0],e.user_id=e.rec_usr.split("/")[1]):e.usr_rec&&(e.user_id=e.usr_rec.split("/")[0],e.record_id=e.usr_rec.split("/")[1]),e)),p}function za(e){let a=e.record_id,t=e.reference_id||void 0;if(!a)throw new ae("Record ID is required.",{code:"INVALID_PARAMETER"});if("string"!=typeof a)throw new ae("Record ID should be type: <string | string[]>",{code:"INVALID_PARAMETER"});if(t&&"string"!=typeof t)throw new ae("Reference ID should be type: <string>",{code:"INVALID_PARAMETER"});if("string"==typeof this.__private_access_key[a])return Promise.resolve(this.__private_access_key[a]);if(Ca[a])return Ca[a];let p=ca.bind(this)("request-private-access-key",{record_id:a,reference_id:t},{auth:!0}).then(e=>{let t="string"==typeof e?e:e?.private_key;if("string"!=typeof t)throw new ae("Invalid private access key response.",{code:"ERROR"});return this.__private_access_key[a]=t,t}).finally(()=>{delete Ca[a]});return Ca[a]=p,p}function Wa(e){e.execute;let a=Se.Params(e,{record_id:"string",user_id:e=>{if(!e)throw new ae("User ID is required.",{code:"INVALID_PARAMETER"});let a=e;if("string"==typeof a&&(a=[a]),a.length>100)throw new ae("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let e of a)Se.UserId(e,'User ID in "user_id"');return a},execute:["add","remove"]},["execute","record_id","user_id"]);return a.user_id||(a.user_id=null),ca.bind(this)("grant-private-access",a,{auth:!0})}const Qa={},Ga={},Za={},Xa={},Ya={};let et,at={},tt={};function pt(e,a,t){e[a]||(e[a]=[]),e[a].push(t)}async function it(e,a,t){let p=[];if(e[a]){for(let i of e[a])if(i){let e=t(i);e instanceof Promise&&(e=await e),p.push(e)}delete e[a]}return p}async function dt(e,a){if(!this?.session?.accessToken?.jwtToken)throw new ae("Access token is required.",{code:"INVALID_PARAMETER"});let t=await this.__socket;async function p(e,a,t){this.log("answerSdpOffer from",a),await Qa[a].setRemoteDescription(new RTCSessionDescription(e));const p=await Qa[a].createAnswer();await Qa[a].setLocalDescription(p),t.send(JSON.stringify({action:"rtc",uid:a,content:{sdpanswer:p},token:this.session.accessToken.jwtToken}))}Qa?.[a]?e?(await it(tt,a,e=>p.bind(this)(e,a,t)),await p.bind(this)(e,a,t)):await it(tt,a,e=>p.bind(this)(e,a,t)):e&&pt(tt,a,e)}async function st(e,a){if(this.log("receiveIceCandidate",e),Qa?.[a]&&Qa[a]?.remoteDescription&&Qa[a]?.remoteDescription?.type){if(!e)return it(at,a,e=>Qa[a].addIceCandidate(e));await it(at,a,e=>Qa[a].addIceCandidate(e)),await Qa[a].addIceCandidate(e)}else pt(at,a,e)}async function rt(e){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebRTC is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});Se.Params(e,{cid:e=>{if("string"!=typeof e)throw new ae('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(e&&"cid:"!==e.slice(0,4))throw new ae('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return e},close:"boolean"});let a=await this.__socket,{cid:t,close_all:p=!1}=e||{};if(!p&&!t)throw new ae('"cid" is required.',{code:"INVALID_PARAMETER"});let i=e=>{if(!e)throw new ae('"cid" is required.',{code:"INVALID_PARAMETER"});if(delete tt[e],delete at[e],Ga[e]&&Object.values(Ga[e]).forEach(e=>{"closed"!==e.readyState&&e.close()}),delete Ga[e],Qa?.[e]){"closed"!==Qa[e].connectionState&&(Qa[e].close(),a.send(JSON.stringify({action:"rtc",uid:e,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})));let t={type:"connectionstatechange",target:Qa[e],timestamp:(new Date).toISOString(),state:Qa[e].connectionState,iceState:Qa[e].iceConnectionState,signalingState:Qa[e].signalingState};Ya[e]&&Ya[e](t),this.log("closeRTC",t)}delete Ya[e],delete Xa[e],delete Za[e],delete Qa[e]};if(p)for(let e in Qa)i(e);else i(t);this.log("Cleaning up media stream..."),this.__mediaStream&&(this.__mediaStream.getTracks().forEach(e=>{e.stop()}),this.__mediaStream=null)}async function nt(e){if(e instanceof MediaStream)return e;if(!e.video&&!e.audio){const e=new MediaStream,a=document.createElement("canvas");a.width=1,a.height=1;const t=a.captureStream().getVideoTracks()[0];return e.addTrack(t),e}return window.navigator.mediaDevices.getUserMedia(e)}async function ot(e,a){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebRTC is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if("function"!=typeof a)throw new ae("Callback is required.",{code:"INVALID_PARAMETER"});if(!this?.session?.accessToken?.jwtToken)throw new ae("Access token is required.",{code:"INVALID_PARAMETER"});e=Se.Params(e,{cid:e=>{if("string"!=typeof e)throw new ae('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(e&&"cid:"!==e.slice(0,4))throw new ae('"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:t,ice:p}=e;if(!(e?.media instanceof MediaStream)&&(e?.media?.video||e?.media?.audio)&&"localhost"!==window.location.hostname&&"https:"!==window.location.protocol)throw new ae("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let i=this.__socket?await this.__socket:this.__socket;if(!i)throw new ae("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(1!==i.readyState)throw new ae("Realtime connection is not ready.",{code:"INVALID_REQUEST"});const d={iceServers:[{urls:p}]};Qa?.[t]||(Qa[t]=new RTCPeerConnection(d)),e?.media&&(this.__mediaStream=await nt(e.media),this.__mediaStream.getTracks().forEach(e=>{Qa[t].addTrack(e,this.__mediaStream)})),Ya[t]=a,Ga[t]||(Ga[t]={});for(let a=0;a<e.channels.length;a++){let p=e.channels[a];if("string"==typeof p)switch(p){case"text-chat":p={ordered:!0,maxRetransmits:10,protocol:"text-chat"};break;case"file-transfer":p={ordered:!1,maxPacketLifeTime:3e3,protocol:"file-transfer"};break;case"video-chat":p={ordered:!0,maxRetransmits:10,protocol:"video-chat"};break;case"voice-chat":p={ordered:!0,maxRetransmits:10,protocol:"voice-chat"};break;case"gaming":p={ordered:!1,maxPacketLifeTime:100,protocol:"gaming"};break;default:p={ordered:!0,maxRetransmits:10,protocol:"default"}}let i=p.protocol||"default";if(Object.keys(Ga[t]).includes(i))throw new ae(`Data channel with the protocol "${i}" already exists.`,{code:"INVALID_REQUEST"});let d=Qa[t].createDataChannel(i,p);Ga[t][i]=d}for(let e in Ga[t]){let a=Ga[t][e];ht.bind(this)(t,a)}return ct.bind(this)(t,["onnegotiationneeded"]),await mt.bind(this)(t),{hangup:()=>Za[t]&&Za[t](!1),connection:new Promise(e=>{Za[t]=(a=>{if(this.log("receiver picked up the call",t),!a)return rt.bind(this)({cid:t}),null;Qa[t].onnegotiationneeded=()=>{this.log("onnegotiationneeded",`sending offer to "${t}".`),mt.bind(this)(t),Ya[t]&&Ya[t]({type:"negotiationneeded",target:Qa[t],timestamp:(new Date).toISOString(),signalingState:Qa[t].signalingState,connectionState:Qa[t].iceConnectionState,gatheringState:Qa[t].iceGatheringState})},e({target:Qa[t],channels:Ga[t],hangup:()=>rt.bind(this)({cid:t}),media:this.__mediaStream})}).bind(this)})}}function lt(e){return async(a,t)=>{a=ce(a=a||{}).data;let p=e.sender_cid,i=await this.__socket;if(!Xa[p])return null;if("function"!=typeof t)throw new ae("Callback is required.",{code:"INVALID_PARAMETER"});if(!(a?.media instanceof MediaStream)&&(a?.media?.video||a?.media?.audio)&&"localhost"!==window.location.hostname&&"https:"!==window.location.protocol)throw new ae("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let{ice:d="stun:stun.skapi.com:3468"}=a;return Qa?.[p]||(Qa[p]=new RTCPeerConnection({iceServers:[{urls:d}]})),a?.media&&(this.__mediaStream=await nt(a.media),this.__mediaStream.getTracks().forEach(e=>{Qa[p].addTrack(e,this.__mediaStream)})),delete Xa[p],Ya[p]=t,Ga[p]||(Ga[p]={}),Qa[p].ondatachannel=e=>{this.log("ondatachannel",`received data channel "${e.channel.label}".`);const a=e.channel;Ga[p][a.label]=a,ht.bind(this)(p,a)},ct.bind(this)(p,["onnegotiationneeded"]),await dt.bind(this)(null,p),await st.bind(this)(null,p),i.send(JSON.stringify({action:"rtc",uid:p,content:{pickup:this.user.user_id},token:this.session.accessToken.jwtToken})),{target:Qa[p],channels:Ga[p],hangup:()=>rt.bind(this)({cid:p}),media:this.__mediaStream}}}async function mt(e){if(!this?.session?.accessToken?.jwtToken)throw new ae("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendOffer",e);let a=await this.__socket;const t=await Qa[e].createOffer();await Qa[e].setLocalDescription(t);let p=Qa[e].localDescription;this.log("rtcSdpOffer to",p),a.send(JSON.stringify({action:"rtc",uid:e,content:{sdpoffer:p},token:this.session.accessToken.jwtToken}))}async function ut(e,a){if(!this?.session?.accessToken?.jwtToken)throw new ae("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendIceCandidate to",a);let t=await this.__socket;if(!e.candidate)return void this.log("candidate-end","all ice candidates have been sent");let p=Ya[a]||(()=>{}),i=e.candidate;this.log("ice gathering state set to",Qa[a].iceGatheringState),p({type:"icecandidate",target:Qa[a],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:Qa[a].iceGatheringState,connectionState:Qa[a].iceConnectionState}),t.send(JSON.stringify({action:"rtc",uid:a,content:{candidate:i},token:this.session.accessToken.jwtToken}))}function ct(e,a){let t=new Set(a),p=Ya[e]||(e=>{}),i=Qa[e];const d={ontrack:e=>{p({type:"track",target:i,timeStamp:e.timeStamp,streams:e.streams,track:e.track})},onicecandidate:a=>{ut.bind(this)(a,e),a.candidate?p({type:"icecandidate",target:i,timestamp:(new Date).toISOString(),candidate:a.candidate.candidate,sdpMid:a.candidate.sdpMid,sdpMLineIndex:a.candidate.sdpMLineIndex,usernameFragment:a.candidate.usernameFragment,protocol:a.candidate.protocol,gatheringState:i.iceGatheringState,connectionState:i.iceConnectionState}):p({type:"icecandidateend",target:i,timestamp:(new Date).toISOString()})},onicecandidateerror:e=>{p({type:"icecandidateerror",target:i,timestamp:(new Date).toISOString(),errorCode:e.errorCode,errorText:e.errorText,url:e.url,hostCandidate:e.hostCandidate,gatheringState:i.iceGatheringState,connectionState:i.iceConnectionState})},oniceconnectionstatechange:()=>{p({type:"iceconnectionstatechange",target:i,timestamp:(new Date).toISOString(),state:i.iceConnectionState,gatheringState:i.iceGatheringState,signalingState:i.signalingState})},onicegatheringstatechange:()=>{p({type:"icegatheringstatechange",target:i,timestamp:(new Date).toISOString(),state:i.iceGatheringState,connectionState:i.iceConnectionState,signalingState:i.signalingState})},onsignalingstatechange:()=>{p({type:"signalingstatechange",target:i,timestamp:(new Date).toISOString(),state:i.signalingState,connectionState:i.iceConnectionState,gatheringState:i.iceGatheringState})},onnegotiationneeded:()=>{mt.bind(this)(e),p({type:"negotiationneeded",target:i,timestamp:(new Date).toISOString(),signalingState:i.signalingState,connectionState:i.iceConnectionState,gatheringState:i.iceGatheringState})},onconnectionstatechange:()=>{p({type:"connectionstatechange",target:i,timestamp:(new Date).toISOString(),state:i.connectionState,iceState:i.iceConnectionState,signalingState:i.signalingState});let a=i.connectionState;"disconnected"!==a&&"failed"!==a&&"closed"!==a||rt.bind(this)({cid:e})}};for(const[e,a]of Object.entries(d))t.has(e)||(i[e]=a)}function ht(e,a,t){let p=new Set(t),i=Ya[e]||(e=>{});const d={onmessage:e=>{let t={type:e.type,target:a,timeStamp:e.timeStamp,data:e.data,lastEventId:e.lastEventId,origin:e.origin,readyState:a.readyState,bufferedAmount:a.bufferedAmount};this.log(`${a.label}: message`,e.data),i(t)},onerror:e=>{let t={type:e.type,target:a,timeStamp:e.timeStamp,error:e.error.message,errorCode:e.error.errorDetail,readyState:a.readyState,label:a.label};this.log(`${a.label}: error`,e.error.message),i(t)},onclose:t=>{let p={type:t.type,target:a,timeStamp:t.timeStamp,readyState:a.readyState,label:a.label,id:a.id};this.log(`${a.label}: closed`,null),i(p),Ga[e]&&(delete Ga[e][a.label],0===Object.keys(Ga[e]).length&&rt.bind(this)({cid:e}))},onbufferedamountlow:e=>{let t={target:a,bufferedAmount:a.bufferedAmount,bufferedAmountLowThreshold:a.bufferedAmountLowThreshold,type:e.type,timeStamp:e.timeStamp};this.log(`${a.label}: bufferedamountlow`,a.bufferedAmount),i(t)},onopen:e=>{this.log("dataChannel",`data channel: "${a.label}" is open and ready to send messages.`);let t={type:e.type,target:a,timeStamp:e.timeStamp,readyState:a.readyState,label:a.label,id:a.id,ordered:a.ordered,maxRetransmits:a.maxRetransmits,protocol:a.protocol};i(t)}};for(const[e,t]of Object.entries(d))p.has(e)||(a[e]=t)}let ft=null,vt=!0,wt=0;async function gt(){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(await this.getProfile(),!this.session)throw new ae("No access.",{code:"INVALID_REQUEST"});let e=await this.record_endpoint;return new WebSocket(e.websocket_private+"?token="+this.session.accessToken.jwtToken)}let _t=null;async function bt(){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});vt=!0;let e=this.__socket?await this.__socket:this.__socket;rt.bind(this)({close_all:!0}),et&&At.bind(this)({group:null}),wt=0,ft&&(ft.terminate(),ft=null);try{e&&e.close()}catch(e){}return window.removeEventListener("visibilitychange",_t),this.__socket=null,null}async function yt(e,a=50,t){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if("function"!=typeof e)throw new ae("Callback must be a function.",{code:"INVALID_REQUEST"});if("reconnect"===t){if(this.__socket instanceof Promise){let e=await this.__socket;if(e.readyState!==WebSocket.CLOSED&&e.readyState!==WebSocket.CLOSING)return this.__socket}}else if(vt&&(_t=()=>{document.hidden||vt||yt.bind(this)(e,0,"reconnect")},this.__socket instanceof Promise))return this.__socket;ft&&(ft.terminate(),ft=null),this.__socket=new Promise(async p=>{await Re.bind(this)(),setTimeout(async()=>{let a=await gt.bind(this)();a.onopen=()=>{vt=!1,wt=0,"reconnect"!==t&&window.addEventListener("visibilitychange",_t),this.log("realtime onopen","Connected to WebSocket server."),e({type:"success",message:"Connected to WebSocket server."}),et&&a.send(JSON.stringify({action:"joinRoom",rid:et,token:this.session.accessToken.jwtToken}));const i=new Blob(['\n let interval = 15000; // Set interval time 15 seconds\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"});ft=new Worker(URL.createObjectURL(i)),ft.onmessage=e=>{1===a.readyState&&a.send(JSON.stringify({action:"keepAlive"}))},p(a)},a.onmessage=async t=>{let p,i="";try{i=JSON.parse(decodeURI(t.data)),this.log("socket onmessage",i)}catch(e){return}switch(!0){case!!i?.["#message"]:p="message";break;case!!i?.["#private"]:p="private";break;case!!i?.["#notice"]:p="notice";break;case!!i?.["#rtc"]:p="rtc";break;case!!i?.["#error"]:p="error"}if(!p)return;let d={type:p,message:i?.["#rtc"]||i?.["#message"]||i?.["#private"]||i?.["#notice"]||i?.["#error"]||null,sender:i?.["#user_id"]||null,sender_cid:i?.["#scid"]?"cid:"+i["#scid"]:null,sender_rid:i?.["#srid"]||null,code:i?.["#code"]||null};if("notice"===p)e(d);else if("rtc"===p){if(d.sender!==this.user.user_id){let t=d.message;if(t.hungup)return Za[d.sender_cid]&&(Za[d.sender_cid](!1),delete Za[d.sender_cid]),Xa[d.sender_cid]&&delete Xa[d.sender_cid],Qa?.[d.sender_cid]&&rt.bind(this)({cid:d.sender_cid}),d.type="rtc:closed",void e(d);if(t.candidate&&st.bind(this)(t.candidate,d.sender_cid),t.sdpoffer&&(dt.bind(this)(t.sdpoffer,d.sender_cid),Xa[d.sender_cid]||(Xa[d.sender_cid]=d.sender_cid,delete d.message,d.connectRTC=lt.bind(this)(d),d.type="rtc:incoming",d.hangup=(()=>{Qa[d.sender_cid]?rt.bind(this)({cid:d.sender_cid}):Xa[d.sender_cid]&&(delete Xa[d.sender_cid],a.send(JSON.stringify({action:"rtc",uid:d.sender_cid,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})))}).bind(this),e(d))),t.pickup&&Za[d.sender_cid]&&(Za[d.sender_cid](!0),delete Za[d.sender_cid]),t.sdpanswer&&Qa[d.sender_cid]){if("have-local-offer"!==Qa[d.sender_cid].signalingState)throw new ae("Invalid signaling state.",{code:"INVALID_REQUEST"});await Qa[d.sender_cid].setRemoteDescription(new RTCSessionDescription(t.sdpanswer))}}}else e(d)},a.onclose=()=>{vt?(this.log("realtime onclose","WebSocket connection closed."),e({type:"close",message:"WebSocket connection closed."})):(this.log("realtime onclose","WebSocket unexpected close."),e({type:"error",message:"Skapi: WebSocket unexpected close."}),wt++,wt<3?(this.log("realtime onclose","Reconnecting to WebSocket server..."+wt),e({type:"reconnect",message:"Reconnecting to WebSocket server..."+wt}),yt.bind(this)(e,3e3,"reconnect")):(this.log("realtime onclose","Max reconnection attempts reached."),e({type:"error",message:"Skapi: Max reconnection attempts reached."})))},a.onerror=()=>{this.log("realtime onerror","WebSocket connection error."),e({type:"error",message:"Skapi: WebSocket connection error."})}},a)})}async function St(e,a,t){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});let p=this.__socket?await this.__socket:this.__socket;if(!p)throw new ae("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(!a)throw new ae("No recipient.",{code:"INVALID_REQUEST"});await Re.bind(this)(),e=ce(e).data;let i="";if(t&&(t=Se.Params(t,{config:{always:"boolean"},title:"string",body:"string"},["title","body"]),i=JSON.stringify({title:t.title,body:t.body}),new Blob([i]).size>3072))throw new ae("Notification size exceeds 3kb.",{code:"INVALID_PARAMETER"});if(1===p.readyState){try{Se.UserId(a),p.send(JSON.stringify({action:"sendMessage",uid:a,content:e,notification:i,notificationConfig:t?.config||{},token:`IdT:${this.service}:${this.owner}:`+(this.bearerToken||this.session?.idToken?.jwtToken||"null")}))}catch(d){if(this.log("postRealtime:err",{err:d}),et!==a)throw new ae(`User has not joined to the recipient group. Run joinRealtime({ group: "${a}" })`,{code:"INVALID_REQUEST"});p.send(JSON.stringify({action:"broadcast",rid:a,content:e,notification:i,notificationConfig:t?.config||{},token:`IdT:${this.service}:${this.owner}:`+(this.bearerToken||this.session?.idToken?.jwtToken||"null")}))}return{type:"success",message:"Message sent."}}throw new ae("Realtime connection is not open. Try reconnecting with connectRealtime().",{code:"INVALID_REQUEST"})}async function At(e){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});let a=this.__socket?await this.__socket:this.__socket;if(!a)throw new ae("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});await Re.bind(this)(),e=ce(e,{nullIfEmpty:!0}).data;let{group:t=null}=e;if(!t&&!et)return{type:"success",message:"Left realtime message group."};if(null!==t&&"string"!=typeof t)throw new ae('"group" must be a string | null.',{code:"INVALID_PARAMETER"});return a.send(JSON.stringify({action:"joinRoom",rid:t,token:this.session.accessToken.jwtToken})),et=t,{type:"success",message:t?`Joined realtime message group: "${t}".`:"Left realtime message group."}}async function Tt(e,a){e=Se.Params(e,{user_id:e=>Se.UserId(e,'User ID in "user_id"'),group:["string",()=>{if(!et)throw new ae('No group has been joined. Otherwise "group" is required.',{code:"INVALID_REQUEST"});return et}]});let t=await ca.bind(this)("get-ws-group",e,{fetchOptions:a,auth:!0,method:"post"});return t.list=t.list.map(e=>({user_id:e.uid.split("#")[1],cid:"cid:"+e.cid})),t}async function Et(e,a){if(await this.__connection,e||(e={searchFor:"group",value:" ",condition:">"}),(e=Se.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 ae('"value" must be a number.',{code:"INVALID_PARAMETER"});if("group"===e.searchFor&&"string"!=typeof e.value)throw new ae('"value" must be a string.',{code:"INVALID_PARAMETER"});if(e.hasOwnProperty("range")&&typeof e.range!=typeof e.value)throw new ae(`"range" must be a ${typeof e.value}.`,{code:"INVALID_PARAMETER"});let t=await ca.bind(this)("get-ws-group",e,{fetchOptions:a,auth:!0,method:"post"});return t.list=t.list.map(e=>({group:e.rid.split("#")[1],number_of_users:e.cnt})),t}const Dt="undefined"!=typeof FormData,Nt="undefined"!=typeof HTMLFormElement,It="undefined"!=typeof SubmitEvent;async function Vt(e){let a=!1,t=e=>{for(let t in e)if("string"==typeof e[t]&&e[t].includes("$CLIENT_SECRET")){a=!0;break}};if(e=Se.Params(e,{url:e=>{if(!e||"string"!=typeof e)throw new ae('"url" should be type: <string>.',{code:"INVALID_PARAMETER"});return Se.Url(e),e.includes("$CLIENT_SECRET")&&(a=!0),e},clientSecretName:"string",method:e=>{if(e&&"string"!=typeof e)throw new ae('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});let a=e.toLowerCase();if("get"!==a&&"post"!==a&&"delete"!==a&&"put"!==a)throw new ae('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});return a},headers:e=>{if(e&&"object"!=typeof e)throw new ae('"headers" should be type: <object>.',{code:"INVALID_PARAMETER"});return t(e),e},data:e=>{if(e&&"object"!=typeof e)throw new ae('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return t(e),e},params:e=>{if(e&&"object"!=typeof e)throw new ae('"params" should be type: <object>.',{code:"INVALID_PARAMETER"});return t(e),e}},["clientSecretName","method","url"]),!a)throw new ae(`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 p=!!this.__user;return ca.bind(this)("csr",e,{auth:p})}async function Rt(e){await this.__connection;let a={name:"string",email:e=>(Se.Email(e),e),subject:"string",message:"string"};return e=Se.Params(e,a,["name","email","subject","message"]),await ca.bind(this)("send-inquiry",e),"SUCCESS: Inquiry has been sent."}async function Ct(e,a){if(await this.__connection,Dt&&e instanceof FormData||Nt&&e instanceof HTMLFormElement||It&&e instanceof SubmitEvent){if(!a)throw new ae("Url string as a second argument is required when form is passed.",{code:"INVALID_PARAMETER"});e={url:a,data:ce(e).data,sync:!0}}let t={url:e=>Se.Url(e),data:e=>e,sync:["boolean",()=>!0]};if(Array.isArray(e))for(let a of e)a=Se.Params(a,t);else e=Se.Params(e,t);return ca.bind(this)("post-secure",e,{auth:!0})}async function Pt(e,a){await this.__connection;let{auth:t=!1,method:p="POST",bypassAwaitConnection:i=!1,responseType:d,contentType:s,progress:r}=a||{};if(a=Object.assign({auth:t,method:p,bypassAwaitConnection:i,responseType:d,contentType:s},{fetchOptions:{progress:r}}),"object"!=typeof e&&("application/json"===s||void 0===s))throw new ae('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return ca.bind(this)("mock",e,a)}async function Ut(e,a){await this.__connection,e=Se.Params(e||{},{access_group:e=>{if("authorized"===e&&(e=1),"public"===e&&(e=0),"number"!=typeof e)throw new ae('"access_group" should be type number.',{code:"INVALID_PARAMETER"});if(e<0)throw new ae('"access_group" should be zero or a positive number.',{code:"INVALID_PARAMETER"});if(e>this.__user.access_group)throw new ae("User has no access.",{code:"INVALID_REQUEST"});return e}});let t=await ca.bind(this)("get-feed",e,{auth:!0,fetchOptions:a});for(let e in t.list)t.list[e]=await Pa.bind(this)(t.list[e]);return t}function kt(e){if(e===this.__user.user_id)throw new ae('"user_id" cannot be the user\'s own ID.',{code:"INVALID_PARAMETER"});return Se.UserId(e,'"user_id"')}async function Ot(e,a){if(e=ce(e,{ignoreEmpty:!0}).data,!(e=Se.Params(e,{subscriber:e=>Se.UserId(e,'User ID in "subscriber"'),subscription:kt.bind(this),blocked:"boolean"})).subscriber&&!e.subscription)throw new ae('At least either "subscriber" or "subscription" should have a value.',{code:"INVALID_PARAMETER"});let t=await ca.bind(this)("get-subscription",e,Object.assign({auth:!0},{fetchOptions:a}));return t.list=t.list.map(e=>{let a={};if(e.sub){let t=e.sub.split("#");a.subscriber=t[2],a.subscription=t[0]}else a.subscriber=e.subscriber,a.subscription=e.subscription;return a.timestamp=e?.timestamp||e.stmp,a.blocked=e?.blocked||"N"===e.grp.substring(0,1),Object.assign(a,e.opt),a}),t}async function Lt(e){await this.__connection,e=Se.Params(e,{user_id:kt.bind(this),get_feed:["boolean",()=>!1],get_notified:["boolean",()=>!1],get_email:e=>{if(e&&!this.__user.email||!this.__user.email_verified)throw new ae("User has no verified email address.",{code:"INVALID_REQUEST"});return!!e}},["user_id"]);let a=await ca.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}),t={};if(a.sub){let e=a.sub.split("#");t.subscriber=e[2],t.subscription=e[0]}else t.subscriber=a.subscriber,t.subscription=a.subscription;return t.timestamp=a?.timestamp||a.stmp,t.blocked=a?.blocked||"N"===a.grp.substring(0,1),Object.assign(t,a.opt),t}async function Ft(e){await this.__connection;let{user_id:a}=Se.Params(e,{user_id:kt.bind(this)},["user_id"]);return await ca.bind(this)("subscription",{unsubscribe:a},{auth:!0})}async function Mt(e){await this.__connection;let{user_id:a}=Se.Params(e,{user_id:kt.bind(this)},["user_id"]);return await ca.bind(this)("subscription",{block:a},{auth:!0})}async function xt(e){await this.__connection;let{user_id:a}=Se.Params(e,{user_id:kt.bind(this)},["user_id"]);return await ca.bind(this)("subscription",{unblock:a},{auth:!0})}async function Bt(e,a){await this.__connection;let t=await Fe.bind(this)();e=Se.Params(e,{user_id:e=>{if(e!==this.__user.user_id&&!t)throw new ae("No access.",{code:"INVALID_REQUEST"});return e},group:e=>{if("public"===e&&(e=0),"authorized"===e&&(e=1),"number"!=typeof e)throw new ae('"group" should be type number | "public" | "authorized".',{code:"INVALID_PARAMETER"});return e}});let p=await ca.bind(this)("get-newsletter-subscription",e,{auth:!0,fetchOptions:a||null}),i=p?.list||p,d=[];Array.isArray(i)||(i=[]);for(let e of i){let a=e.subt.split("#"),t=!0;"@"===a[0].charAt(0)&&(t=!1,a[0]=a[0].substring(1));let p=parseInt(a[0]);d.push({timestamp:e.stmp,group:p,subscribed_email:a[1],active:t})}return p?.list?(p.list=d,p):d}async function qt(e){await this.__connection;let a=Se.Params(e||{},{email:e=>Array.isArray(e)&&e.length>0?1===e.length?Se.Email(e[0]):e.map(e=>Se.Email(e)):Se.Email(e),group:["number","public","authorized","admin",e=>{if("string"!=typeof e||e.length>20||!/^[a-zA-Z0-9]+$/.test(e))throw new ae('"group" should be an alphanumeric string without spaces and less than 20 characters.',{code:"INVALID_PARAMETER"});return e}],redirect:e=>Se.Url(e)},this.__user?["group"]:["email","group"]);return ca.bind(this)(`subscribe-${this.__user?"":"public-"}newsletter`,a,{auth:!!this.__user})}async function jt(e){await this.__connection,e=Se.Params(e,{group:["number","public","authorized","admin"]},["group"]);let a=Object.assign({action:"unsubscribe"},e);return ca.bind(this)("subscribe-newsletter",a,{auth:!0})}async function $t(e,a){let t=await Fe.bind(this)(),p={message_id:"string",timestamp:"number",read:"number",complaint:"number",subject:"string",bounced:"number"};e||(a=Object.assign({ascending:!1},a||{})),e=(e=ce(e).data)||{searchFor:"timestamp",value:Date.now(),condition:"<",group:"public"};let i=0===(e=Se.Params(e,{searchFor:["message_id","timestamp","subject","complaint","read","bounced"],value:a=>{if(typeof a!==p[e.searchFor])throw new ae(`"value" type does not match the type of "${e.searchFor}" index.`,{code:"INVALID_PARAMETER"});if("string"==typeof a&&!a)throw new ae('"value" should not be empty string.',{code:"INVALID_PARAMETER"});return a},range:a=>{if(!e.hasOwnProperty("value")||typeof a!=typeof e.value)throw new ae('"range" should match type of "value".',{code:"INVALID_PARAMETER"});return a},condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],group:e=>{if("public"===e)return 0;if(!this.session)throw new ae("User should be logged in.",{code:"INVALID_REQUEST"});if("authorized"===e)return 1;if("number"==typeof e){if(!t&&e>parseInt(this.user?.access_group||this.session?.idToken?.payload?.access_group))throw new ae("User has no access.",{code:"INVALID_REQUEST"});return e}throw new ae('"group" should be type: number | "public" | "authorized".',{code:"INVALID_PARAMETER"})}},["searchFor","value","group"])).group?"get-public-newsletters":"get-newsletters",d=await ca.bind(this)(i,e,Object.assign({method:"get",auth:"get-public-newsletters"!==i||!!this.__user},{fetchOptions:a})),s={message_id:"mid",timestamp:"stmp",complaint:"cmpl",read:"read",subject:"subj",bounced:"bnce",url:"url",delivered:"delv"},r={message_id:"",timestamp:0,complaint:0,read:0,subject:"",bounced:"",url:"",delivered:0};return d.list=d.list.map(e=>{let a={};for(let t in s)a[t]=e[s[t]]||r[t];return a.bounced=String(a.bounced),a}),d}async function Kt(e){let a=Se.Params(e,{user_id:e=>Se.UserId(e,'"user_id"')},["user_id"]);if(a=a?.service&&a?.owner?{service:a?.service,owner:a?.owner,block:a.user_id}:{block:a.user_id},!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("block-account",a,{auth:!0})}async function Ht(e){let a=Se.Params(e,{user_id:e=>Se.UserId(e,'"user_id"')},["user_id"]);if(a=a?.service&&a?.owner?{service:a?.service,owner:a?.owner,unblock:a.user_id}:{unblock:a.user_id},!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("block-account",a,{auth:!0})}async function Jt(e){let a=Se.Params(e,{user_id:e=>Se.UserId(e,'"user_id"')},["user_id"]);if(a=a?.service&&a?.owner?{service:a?.service,owner:a?.owner,delete:a.user_id}:{delete:a.user_id},!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("remove-account",a,{auth:!0})}async function zt(e,a){let t={email:e=>Se.Email(e),password:e=>Se.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=>Se.Birthdate(e),phone_number:e=>Se.PhoneNumber(e),picture:e=>e?Se.Url(e):void 0,profile:e=>e?Se.Url(e):void 0,website:e=>e?Se.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 ae('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"!=typeof e||e<1||e>100)throw new ae('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return e}},p=Se.Params(e,t,["email"]);if(a=Se.Params(a,{confirmation_url:e=>{let a=e;if("string"!=typeof e)throw new ae('"options.confirmation_url" should be type: <string>.',{code:"INVALID_PARAMETER"});if(a=Se.Url(e),a&&!p.email)throw new ae('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return a},email_subscription:e=>{if("boolean"!=typeof e)throw new ae('"options.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!a?.confirmation_url)throw new ae('"options.confirmation_url" is required for email subscription.',{code:"INVALID_PARAMETER"});return e},template:e=>{if("object"!=typeof e||!e.url||!e.subject)throw new ae('"options.template" should be type: <object> with "url" and "subject".',{code:"INVALID_PARAMETER"});return{url:Se.Url(e.url),subject:e.subject}}}),p.signup_confirmation=a?.confirmation_url||!0,p.email_subscription=a?.email_subscription||!1,p.template=a?.template||{},!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("admin-signup",p,{auth:!0})}async function Wt(e){let a={email:e=>Se.Email(e),password:e=>Se.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=>Se.Birthdate(e),phone_number:e=>Se.PhoneNumber(e),picture:e=>e?Se.Url(e):"",profile:e=>e?Se.Url(e):"",website:e=>e?Se.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 ae('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"!=typeof e||e<1||e>100)throw new ae('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return e}},t=Se.Params(e,a,["email","password"]);if(!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("admin-signup",t,{auth:!0})}async function Qt(e){if(e=Se.Params(e,{user_id:e=>Se.UserId(e,'"user_id"'),access_group:e=>{try{"string"==typeof e&&(e=parseInt(e))}catch(e){throw new ae('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if("number"==typeof e&&e>0&&e<100)return e;throw new ae('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"})}},["user_id","access_group"]),!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("grant-access",e,{auth:!0})}async function Gt(e,a){if(e=Se.Params(e,{email:"string"}),!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}let t=await ca.bind(this)("invitation-list",Object.assign({mode:"search"},e),{fetchOptions:a,auth:!0});return t.list=t.list.map(e=>he(e.user)),t}async function Zt(e){if(e=Se.Params(e,{email:e=>Se.Email(e)},["email"]),!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("invitation-list",Object.assign({mode:"cancel"},e),{auth:!0})}async function Xt(e){if(e=Se.Params(e,{email:e=>Se.Email(e)},["email"]),!await Fe.bind(this)()){if(!this.__user)throw new ae("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new ae("Invalid access.",{code:"INVALID_REQUEST"})}return await ca.bind(this)("invitation-list",Object.assign({mode:"resend"},e),{auth:!0})}async function Yt(e){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(await this.__connection,!e.endpoint)throw new ae("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!e.keys||!e.keys.p256dh||!e.keys.auth)throw new ae("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await ca.bind(this)("store-subscription",{endpoint:e.endpoint,keys:e.keys},{auth:!0}),"SUCCESS: Subscribed to receive notifications."}async function ep(e){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(await this.__connection,!e.endpoint)throw new ae("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!e.keys||!e.keys.p256dh||!e.keys.auth)throw new ae("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await ca.bind(this)("delete-subscription",{endpoint:e.endpoint,keys:e.keys},{auth:!0}),"SUCCESS: Unsubscribed from notifications."}async function ap(){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});return await this.__connection,{VAPIDPublicKey:await ca.bind(this)("get-vapid-public-key",null,{auth:!0})}}async function tp(e,a){if("undefined"==typeof window||window._runningInNodeJS)throw new ae("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});await this.__connection;let{title:t,body:p}=ce(e||{},{nullIfEmpty:!0}).data;if(!t)throw new ae("Missing parameter: message title",{code:"INVALID_PARAMETER"});if(!p)throw new ae("Missing parameter: message body",{code:"INVALID_PARAMETER"});const i={title:t,body:p};return a?("string"==typeof a&&(a=[a]),i.user_ids=a):i.user_ids="all_users",await ca.bind(this)("push-notification",i,{auth:!0}),"SUCCESS: Notification sent."}async function pp(e){return await this.__connection,e=Se.Params(e,{spell:"string",name:"string",magic:e=>e},["spell","name"]),await ca.bind(this)("castspell",e),`The spell "${e.spell}" has been cast.`}async function ip(e){return await this.__connection,e=Se.Params(e||{},{search:["spell","name",()=>"spell"],value:"string"}),await ca.bind(this)("getspell",e)}async function dp(e){await this.__connection,e=Se.Params(e,{message:"string",name:"string"},["message","name"]);let a=await ca.bind(this)("dopamine",e,{auth:!0}),t=a?.previous_message?.message,p=a?.previous_message?.name;if(!oe())return t&&p?`${p} said: ${t}\nWatch the video here: ${a.video}`:`Your message has been uploaded for future generations to receive.\nWatch the video here: ${a.video}`;t&&p&&window.alert(`${p} said: ${t}`),window.location.href=a.video}const sp=JSON.parse('{"rE":"1.2.14-beta.6"}');var rp=function(e,a,t,p){var i,d=arguments.length,s=d<3?a:null===p?p=Object.getOwnPropertyDescriptor(a,t):p;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,a,t,p);else for(var r=e.length-1;r>=0;r--)(i=e[r])&&(s=(d<3?i(s):d>3?i(a,t,s):i(a,t))||s);return d>3&&s&&Object.defineProperty(a,t,s),s};class np{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)}get onUserUpdate(){return this._userProfileListeners}set onUserUpdate(e){"function"==typeof e&&this._userProfileListeners.push(e)}_runOnUserUpdateListeners(e){for(let a of this._userProfileListeners)"function"==typeof a&&a(e)}_runOnLoginListeners(e){for(let a of this._onLoginListeners)"function"==typeof a&&a(e)}get onBatchProcess(){return this._onBatchProcessListeners}set onBatchProcess(e){"function"==typeof e&&this._onBatchProcessListeners.push(e)}_alert(e){oe()&&"function"==typeof window.alert&&window.alert(e)}constructor(e,a,t,p){if(this.__version=sp.rE,this.session=null,this.connection=null,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.requestBatchSize=30,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._userProfileListeners=[],this._onLoginListeners=[],this._onBatchProcessListeners=[],this.validate={userId(e){try{return Se.UserId(e),!0}catch(e){return!1}},url(e){try{return Se.Url(e),!0}catch(e){return!1}},phoneNumber(e){try{return Se.PhoneNumber(e),!0}catch(e){return!1}},birthdate(e){try{return Se.Birthdate(e),!0}catch(e){return!1}},email(e){try{return Se.Email(e),!0}catch(e){return!1}},params:(e,a,t)=>Se.Params(e,a,t)},this.util={MD5:ie,generateRandom:re,toBase62:de,fromBase62:se,decodeServiceId:fe,formatServiceId:ve,extractFormData:ce,terminatePendingRequests:ua,request:(e,a,t)=>ca.bind(this)(e,a,t,{ignoreService:!0})},this.__network_logs=!1,this.__endpoint_version="v1",this.__public_identifier="",this.bearerToken="",this.registerTicket=Ie.bind(this),this.unregisterTicket=Ve.bind(this),!e||"string"!=typeof e)throw this._alert("Service ID is required."),new ae("Service ID is required.",{code:"INVALID_PARAMETER"});if(e.startsWith("s1_")||7===e.split("-").length)try{let i=fe(e);t&&"object"==typeof t&&(p=t),a&&"object"==typeof a&&(t=a),a=i.owner,e=i.service}catch(e){throw this._alert("Service ID is invalid."),new ae("Service ID is invalid.",{code:"INVALID_PARAMETER"})}if(!a||"string"!=typeof a)throw this._alert("Owner ID is invalid."),new ae("Owner ID is invalid.",{code:"INVALID_PARAMETER"});if("service_id"===e.toLowerCase())throw this._alert('Replace "service_id" with your actual Service ID.'),new ae("Service ID is required.",{code:"INVALID_PARAMETER"});if(a!==this.host)try{Se.UserId(a,'"owner"')}catch(e){throw this._alert("Owner ID is invalid."),new ae("Owner ID is invalid.",{code:"INVALID_PARAMETER"})}this.service=e,this.owner=a;let i=!0;if(t&&("boolean"==typeof t.autoLogin&&(i=t.autoLogin),"number"==typeof t.requestBatchSize)){if(t.requestBatchSize<1)throw new ae('"requestBatchSize" must be greater than 0.',{code:"INVALID_PARAMETER"});this.requestBatchSize=t.requestBatchSize}t?.eventListener&&"object"==typeof t.eventListener&&(t.eventListener?.onLogin&&"function"==typeof t.eventListener.onLogin&&(this.onLogin=t.eventListener.onLogin),t.eventListener?.onUserUpdate&&"function"==typeof t.eventListener.onUserUpdate&&(this.onUserUpdate=t.eventListener.onUserUpdate),t.eventListener?.onBatchProcess&&"function"==typeof t.eventListener.onBatchProcess&&(this.onBatchProcess=t.eventListener.onBatchProcess)),this.target_cdn=p?.target_cdn||this.target_cdn,this.hostDomain=p?.hostDomain||this.hostDomain,this.customApiDomain=p?.customApiDomain||this.customApiDomain,this.__network_logs=!!p?.network_logs;const d=`https://${this.target_cdn}.cloudfront.net`;let s=e.substring(0,4);this.admin_endpoint=fetch(`${d}/${s}/admin-${this.__endpoint_version}.json`).then(e=>e.blob()).then(e=>new Promise((a,t)=>{const p=new FileReader;p.onloadend=()=>a(p.result),p.onerror=t,p.readAsDataURL(e)})).then(e=>{try{return"string"==typeof e?JSON.parse(atob(e.split(",")[1])):null}catch(e){throw new ae("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}}),this.record_endpoint=fetch(`${d}/${s}/record-${this.__endpoint_version}.json`).then(e=>e.blob()).then(e=>new Promise((a,t)=>{const p=new FileReader;p.onloadend=()=>a(p.result),p.onerror=t,p.readAsDataURL(e)})).then(e=>{try{return"string"==typeof e?JSON.parse(atob(e.split(",")[1])):null}catch(e){throw new ae("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}});const r=oe();if(r&&!window.sessionStorage)throw this._alert("This browser is not supported."),new Error("This browser is not supported.");const n=r?JSON.parse(window.sessionStorage.getItem(`${e}#${a}`)||"null"):null;if(this.log("constructor:restore",n),n?.connection){for(let e in n)this[e]=n[e];n.__public_identifier||(this.__public_identifier=`${this.service}:${this.owner}:${re(16)}`)}this.__authConnection=(async()=>{const e=await this.admin_endpoint,a={UserPoolId:e.userpool_id,ClientId:e.userpool_client};ne()&&(a.Storage=window.localStorage),this.userPool=new ee(a);try{this.user||await Pe.bind(this)().getSession({skipUserUpdateEventTrigger:!0}),this.user&&(n?.connection||i?(this._runOnLoginListeners(this.user),this._runOnUserUpdateListeners(this.user)):Me.bind(this)())}catch(e){}})();let o=r?window.sessionStorage.getItem(`${this.service}:uniqueids`):null;if(o)try{this.__my_unique_ids=JSON.parse(o)}catch(e){this.__my_unique_ids={}}this.__connection=(async()=>{let t=null;await this.record_endpoint,n?.connection||(t=this._updateConnection());const p=()=>{if(this.__class_properties_has_been_cached)return;let p=()=>{let t={};const p=["__startKeyHistory","__disabledAccount","__cached_requests","__request_signup_confirmation","__public_identifier","connection"];if(this.connection){for(let e of p)t[e]=this[e];r&&window.sessionStorage.setItem(`${e}#${a}`,JSON.stringify(t)),this.__class_properties_has_been_cached=!0}};return t instanceof Promise?t.then(()=>p()):p()};return r&&(window.addEventListener("beforeunload",()=>{this.closeRealtime(),p()}),window.addEventListener("visibilitychange",()=>{p()})),await t,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,a=e?.user_agent||(oe()&&"string"==typeof window.navigator?.userAgent?window.navigator.userAgent:`skapi-node/${globalThis?.process?.versions?.node||"unknown"}`);return{user_ip:e.ip,user_agent:a,user_location:e.locale,service_name:e.service_name,version:this.__version}}async _updateConnection(){try{this.connection=await ca.bind(this)("service",{service:this.service,owner:this.owner},{bypassAwaitConnection:!0,method:"get"})}catch(e){throw this.log("connection fail",e),this._alert("Service is not available: "+(e.message||e.toString())),this.connection=null,e}return this.connection}async version(){if(await this.__connection,oe()){let e=`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\nFull Documentation: https://docs.skapi.com/skapi.md`;console.log(e,"font-family: monospace; color:blue;"),1===this.connection.group&&console.log("%cSKAPI: THE SERVICE IS IN TRIAL MODE.","font-family: monospace; color:red;")}return this.__version}log(e,a){if(this.__network_logs){if("object"==typeof a)try{a=JSON.parse(JSON.stringify(a))}catch(e){a=String(a)}else"string"==typeof a&&a.length>100&&(a=a.substring(0,100)+"...");console.log(`%c${e}:`,"color: blue;",a)}}getFeed(e,a){return Ut.bind(this)(e,a)}closeRTC(e){return rt.bind(this)(e)}connectRTC(e,a){return ot.bind(this)(e,a)}connectRealtime(e){return yt.bind(this)(e)}spellcast(e){return pp.bind(this)(e)}getspell(e){return ip.bind(this)(e)}dopamine(e){return dp.bind(this)(e)}getUniqueId(e,a){return ja.bind(this)(e,a)}resendInvitation(e){return Xt.bind(this)(e)}cancelInvitation(e){return Zt.bind(this)(e)}getInvitations(e,a){return Gt.bind(this)(e,a)}openIdLogin(e){return Oe.bind(this)(e)}loginWithToken(e){return Le.bind(this)(e)}clientSecretRequest(e){return Vt.bind(this)(e)}consumeTicket(e){return Ee.bind(this)(e)}getConsumedTickets(e,a){return Ne.bind(this)(e,a)}getTickets(e,a){return De.bind(this)(e,a)}closeRealtime(){return bt.bind(this)()}getRealtimeUsers(e,a){return Tt.bind(this)(e,a)}sendInquiry(e){return Rt.bind(this)(e)}blockAccount(e){return Kt.bind(this)(e)}unblockAccount(e){return Ht.bind(this)(e)}deleteAccount(e){return Jt.bind(this)(e)}inviteUser(e,a){return zt.bind(this)(e,a)}createAccount(e){return Wt.bind(this)(e)}grantAccess(e){return Qt.bind(this)(e)}getRealtimeGroups(e,a){return Et.bind(this)(e,a)}postRealtime(e,a,t){return St.bind(this)(e,a,t)}joinRealtime(e){return At.bind(this)(e)}getProfile(e){return ke.bind(this)(e)}getFile(e,a){return ka.bind(this)(e,a)}secureRequest(e,a){return Ct.bind(this)(e,a)}getFormResponse(){return ba.bind(this)()}getRecords(e,a){return La.bind(this)(e,a)}getTables(e,a){return xa.bind(this)(e,a)}getIndexes(e,a){return Ba.bind(this)(e,a)}getTags(e,a){return qa.bind(this)(e,a)}deleteRecords(e,a){return $a.bind(this)(e,a)}resendSignupConfirmation(){return Be.bind(this)()}recoverAccount(e=!1){return qe.bind(this)(e)}getUsers(e,a){return Xe.bind(this)(e,a)}disableAccount(){return Ke.bind(this)()}lastVerifiedEmail(e){return Ye.bind(this)(e)}unsubscribeNewsletter(e){return jt.bind(this)(e)}subscribeNotification(e,a){return Yt.bind(this)({endpoint:e,keys:a})}unsubscribeNotification(e,a){return ep.bind(this)({endpoint:e,keys:a})}vapidPublicKey(){return ap.bind(this)()}pushNotification(e,a){return tp.bind(this)(e,a)}getNewsletters(e,a){return $t.bind(this)(e,a)}getNewsletterSubscription(e,a){return Bt.bind(this)(e,a)}requestUsernameChange(e){return ea.bind(this)(e)}grantPrivateRecordAccess(e){return Ka.bind(this)(e)}removePrivateRecordAccess(e){return Ha.bind(this)(e)}listPrivateRecordAccess(e){return Ja.bind(this)(e)}requestPrivateRecordAccessKey(e){return za.bind(this)(e)}deleteFiles(e){return Ua.bind(this)(e)}uploadFiles(e,a){return wa.bind(this)(e,a)}mock(e,a){return Pt.bind(this)(e,a)}login(e){return je.bind(this)(e)}logout(e){return xe.bind(this)(e)}signup(e,a){return $e.bind(this)(e,a)}resetPassword(e){return He.bind(this)(e)}verifyEmail(e){return We.bind(this)(e)}verifyPhoneNumber(e){return ze.bind(this)(e)}forgotPassword(e){return Qe.bind(this)(e)}changePassword(e){return Ge.bind(this)(e)}updateProfile(e){return Ze.bind(this)(e)}postRecord(e,a,t){return Fa.bind(this)(e,a,t)}async bulkPostRecords(e){return Ma.bind(this)(e)}getSubscriptions(e,a){return Ot.bind(this)(e,a)}subscribe(e){return Lt.bind(this)(e)}unsubscribe(e){return Ft.bind(this)(e)}blockSubscriber(e){return Mt.bind(this)(e)}unblockSubscriber(e){return xt.bind(this)(e)}subscribeNewsletter(e){return qt.bind(this)(e)}}rp([_a()],np.prototype,"getFeed",null),rp([_a()],np.prototype,"closeRTC",null),rp([_a()],np.prototype,"connectRTC",null),rp([_a()],np.prototype,"spellcast",null),rp([_a()],np.prototype,"getspell",null),rp([_a()],np.prototype,"dopamine",null),rp([_a()],np.prototype,"getUniqueId",null),rp([_a()],np.prototype,"resendInvitation",null),rp([_a()],np.prototype,"cancelInvitation",null),rp([_a()],np.prototype,"getInvitations",null),rp([_a()],np.prototype,"openIdLogin",null),rp([_a()],np.prototype,"loginWithToken",null),rp([_a()],np.prototype,"clientSecretRequest",null),rp([_a()],np.prototype,"consumeTicket",null),rp([_a()],np.prototype,"getConsumedTickets",null),rp([_a()],np.prototype,"getTickets",null),rp([_a()],np.prototype,"getRealtimeUsers",null),rp([_a()],np.prototype,"sendInquiry",null),rp([_a()],np.prototype,"blockAccount",null),rp([_a()],np.prototype,"unblockAccount",null),rp([_a()],np.prototype,"deleteAccount",null),rp([_a()],np.prototype,"inviteUser",null),rp([_a()],np.prototype,"createAccount",null),rp([_a()],np.prototype,"grantAccess",null),rp([_a()],np.prototype,"getRealtimeGroups",null),rp([_a()],np.prototype,"postRealtime",null),rp([_a()],np.prototype,"joinRealtime",null),rp([_a()],np.prototype,"getProfile",null),rp([_a()],np.prototype,"getFile",null),rp([_a()],np.prototype,"secureRequest",null),rp([_a()],np.prototype,"getFormResponse",null),rp([_a()],np.prototype,"getRecords",null),rp([_a()],np.prototype,"getTables",null),rp([_a()],np.prototype,"getIndexes",null),rp([_a()],np.prototype,"getTags",null),rp([_a()],np.prototype,"deleteRecords",null),rp([_a()],np.prototype,"resendSignupConfirmation",null),rp([_a()],np.prototype,"recoverAccount",null),rp([_a()],np.prototype,"getUsers",null),rp([_a()],np.prototype,"disableAccount",null),rp([_a()],np.prototype,"lastVerifiedEmail",null),rp([_a()],np.prototype,"unsubscribeNewsletter",null),rp([_a()],np.prototype,"subscribeNotification",null),rp([_a()],np.prototype,"unsubscribeNotification",null),rp([_a()],np.prototype,"vapidPublicKey",null),rp([_a()],np.prototype,"pushNotification",null),rp([_a()],np.prototype,"getNewsletters",null),rp([_a()],np.prototype,"getNewsletterSubscription",null),rp([_a()],np.prototype,"requestUsernameChange",null),rp([_a()],np.prototype,"grantPrivateRecordAccess",null),rp([_a()],np.prototype,"removePrivateRecordAccess",null),rp([_a()],np.prototype,"listPrivateRecordAccess",null),rp([_a()],np.prototype,"requestPrivateRecordAccessKey",null),rp([_a()],np.prototype,"deleteFiles",null),rp([_a()],np.prototype,"uploadFiles",null),rp([_a()],np.prototype,"mock",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"login",null),rp([_a()],np.prototype,"logout",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"signup",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"resetPassword",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"verifyEmail",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"verifyPhoneNumber",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"forgotPassword",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"changePassword",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"updateProfile",null),rp([_a()],np.prototype,"postRecord",null),rp([_a({preventMultipleCalls:!0})],np.prototype,"bulkPostRecords",null),rp([_a()],np.prototype,"getSubscriptions",null),rp([_a()],np.prototype,"subscribe",null),rp([_a()],np.prototype,"unsubscribe",null),rp([_a()],np.prototype,"blockSubscriber",null),rp([_a()],np.prototype,"unblockSubscriber",null),rp([_a()],np.prototype,"subscribeNewsletter",null)})(),module.exports=p})();
|
|
1
|
+
'use strict';var amazonCognitoIdentityJs=require('amazon-cognito-identity-js'),Zn=require('cocochex'),Pt=require('qpass');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Zn__default=/*#__PURE__*/_interopDefault(Zn);var Pt__default=/*#__PURE__*/_interopDefault(Pt);/**
|
|
2
|
+
* @license
|
|
3
|
+
Apache License
|
|
4
|
+
Version 2.0, January 2004
|
|
5
|
+
http://www.apache.org/licenses/
|
|
6
|
+
|
|
7
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
8
|
+
|
|
9
|
+
1. Definitions.
|
|
10
|
+
|
|
11
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
12
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
13
|
+
|
|
14
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
15
|
+
the copyright owner that is granting the License.
|
|
16
|
+
|
|
17
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
18
|
+
other entities that control, are controlled by, or are under common
|
|
19
|
+
control with that entity. For the purposes of this definition,
|
|
20
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
21
|
+
direction or management of such entity, whether by contract or
|
|
22
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
23
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
24
|
+
|
|
25
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
26
|
+
exercising permissions granted by this License.
|
|
27
|
+
|
|
28
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
29
|
+
including but not limited to software source code, documentation
|
|
30
|
+
source, and configuration files.
|
|
31
|
+
|
|
32
|
+
"Object" form shall mean any form resulting from mechanical
|
|
33
|
+
transformation or translation of a Source form, including but
|
|
34
|
+
not limited to compiled object code, generated documentation,
|
|
35
|
+
and conversions to other media types.
|
|
36
|
+
|
|
37
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
38
|
+
Object form, made available under the License, as indicated by a
|
|
39
|
+
copyright notice that is included in or attached to the work
|
|
40
|
+
(an example is provided in the Appendix below).
|
|
41
|
+
|
|
42
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
43
|
+
form, that is based on (or derived from) the Work and for which the
|
|
44
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
45
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
46
|
+
of this License, Derivative Works shall not include works that remain
|
|
47
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
48
|
+
the Work and Derivative Works thereof.
|
|
49
|
+
|
|
50
|
+
"Contribution" shall mean any work of authorship, including
|
|
51
|
+
the original version of the Work and any modifications or additions
|
|
52
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
53
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
54
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
55
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
56
|
+
means any form of electronic, verbal, or written communication sent
|
|
57
|
+
to the Licensor or its representatives, including but not limited to
|
|
58
|
+
communication on electronic mailing lists, source code control systems,
|
|
59
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
60
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
61
|
+
excluding communication that is conspicuously marked or otherwise
|
|
62
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
63
|
+
|
|
64
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
65
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
66
|
+
subsequently incorporated within the Work.
|
|
67
|
+
|
|
68
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
69
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
70
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
71
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
72
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
73
|
+
Work and such Derivative Works in Source or Object form.
|
|
74
|
+
|
|
75
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
76
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
77
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
78
|
+
(except as stated in this section) patent license to make, have made,
|
|
79
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
80
|
+
where such license applies only to those patent claims licensable
|
|
81
|
+
by such Contributor that are necessarily infringed by their
|
|
82
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
83
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
84
|
+
institute patent litigation against any entity (including a
|
|
85
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
86
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
87
|
+
or contributory patent infringement, then any patent licenses
|
|
88
|
+
granted to You under this License for that Work shall terminate
|
|
89
|
+
as of the date such litigation is filed.
|
|
90
|
+
|
|
91
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
92
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
93
|
+
modifications, and in Source or Object form, provided that You
|
|
94
|
+
meet the following conditions:
|
|
95
|
+
|
|
96
|
+
(a) You must give any other recipients of the Work or
|
|
97
|
+
Derivative Works a copy of this License; and
|
|
98
|
+
|
|
99
|
+
(b) You must cause any modified files to carry prominent notices
|
|
100
|
+
stating that You changed the files; and
|
|
101
|
+
|
|
102
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
103
|
+
that You distribute, all copyright, patent, trademark, and
|
|
104
|
+
attribution notices from the Source form of the Work,
|
|
105
|
+
excluding those notices that do not pertain to any part of
|
|
106
|
+
the Derivative Works; and
|
|
107
|
+
|
|
108
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
109
|
+
distribution, then any Derivative Works that You distribute must
|
|
110
|
+
include a readable copy of the attribution notices contained
|
|
111
|
+
within such NOTICE file, excluding those notices that do not
|
|
112
|
+
pertain to any part of the Derivative Works, in at least one
|
|
113
|
+
of the following places: within a NOTICE text file distributed
|
|
114
|
+
as part of the Derivative Works; within the Source form or
|
|
115
|
+
documentation, if provided along with the Derivative Works; or,
|
|
116
|
+
within a display generated by the Derivative Works, if and
|
|
117
|
+
wherever such third-party notices normally appear. The contents
|
|
118
|
+
of the NOTICE file are for informational purposes only and
|
|
119
|
+
do not modify the License. You may add Your own attribution
|
|
120
|
+
notices within Derivative Works that You distribute, alongside
|
|
121
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
122
|
+
that such additional attribution notices cannot be construed
|
|
123
|
+
as modifying the License.
|
|
124
|
+
|
|
125
|
+
You may add Your own copyright statement to Your modifications and
|
|
126
|
+
may provide additional or different license terms and conditions
|
|
127
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
128
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
129
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
130
|
+
the conditions stated in this License.
|
|
131
|
+
|
|
132
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
133
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
134
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
135
|
+
this License, without any additional terms or conditions.
|
|
136
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
137
|
+
the terms of any separate license agreement you may have executed
|
|
138
|
+
with Licensor regarding such Contributions.
|
|
139
|
+
|
|
140
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
141
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
142
|
+
except as required for reasonable and customary use in describing the
|
|
143
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
144
|
+
|
|
145
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
146
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
147
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
148
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
149
|
+
implied, including, without limitation, any warranties or conditions
|
|
150
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
151
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
152
|
+
appropriateness of using or redistributing the Work and assume any
|
|
153
|
+
risks associated with Your exercise of permissions under this License.
|
|
154
|
+
|
|
155
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
156
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
157
|
+
unless required by applicable law (such as deliberate and grossly
|
|
158
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
159
|
+
liable to You for damages, including any direct, indirect, special,
|
|
160
|
+
incidental, or consequential damages of any character arising as a
|
|
161
|
+
result of this License or out of the use or inability to use the
|
|
162
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
163
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
164
|
+
other commercial damages or losses), even if such Contributor
|
|
165
|
+
has been advised of the possibility of such damages.
|
|
166
|
+
|
|
167
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
168
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
169
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
170
|
+
or other liability obligations and/or rights consistent with this
|
|
171
|
+
License. However, in accepting such obligations, You may act only
|
|
172
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
173
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
174
|
+
defend, and hold each Contributor harmless for any liability
|
|
175
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
176
|
+
of your accepting any such warranty or additional liability.
|
|
177
|
+
|
|
178
|
+
END OF TERMS AND CONDITIONS
|
|
179
|
+
|
|
180
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
181
|
+
|
|
182
|
+
To apply the Apache License to your work, attach the following
|
|
183
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
184
|
+
replaced with your own identifying information. (Don't include
|
|
185
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
186
|
+
comment syntax for the file format. We also recommend that a
|
|
187
|
+
file or class name and description of purpose be included on the
|
|
188
|
+
same "printed page" as the copyright notice for easier
|
|
189
|
+
identification within third-party archives.
|
|
190
|
+
|
|
191
|
+
Copyright 2026 broadway Inc.
|
|
192
|
+
|
|
193
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
194
|
+
you may not use this file except in compliance with the License.
|
|
195
|
+
You may obtain a copy of the License at
|
|
196
|
+
|
|
197
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
198
|
+
|
|
199
|
+
Unless required by applicable law or agreed to in writing, software
|
|
200
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
201
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
202
|
+
See the License for the specific language governing permissions and
|
|
203
|
+
limitations under the License.
|
|
204
|
+
|
|
205
|
+
*/
|
|
206
|
+
var Mn=Object.defineProperty;var Vn=Object.getOwnPropertyDescriptor;var te=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var _=(n,e,t,i)=>{for(var r=Vn(e,t),s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=(o(e,t,r))||r);return r&&Mn(e,t,r),r};var H=typeof globalThis<"u"?globalThis:void 0,pe=H?.window;function $n(n){if(Buffer)return Buffer.from(n).toString("base64");let e="",t=new Uint8Array(n),i=32768;for(let r=0;r<t.length;r+=i){let s=t.subarray(r,r+i);e+=String.fromCharCode.apply(null,Array.from(s));}if(typeof btoa=="function")return btoa(e);throw new Error("No base64 encoder available in this environment.")}if(pe)pe.global=pe,pe.global._runningInNodeJS=false;else if(H&&(H.global=H,typeof H.window>"u")){class n{constructor(){this.result=null;this.error=null;this.onload=null;this.onloadend=null;this.onerror=null;}readAsDataURL(i){i.arrayBuffer().then(r=>{let s=$n(r),o=i.type||"application/octet-stream";this.result=`data:${o};base64,${s}`,this.onload&&this.onload({target:this}),this.onloadend&&this.onloadend({target:this});}).catch(r=>{this.error=r,this.onerror&&this.onerror({target:this});});}readAsArrayBuffer(i){i.arrayBuffer().then(r=>{this.result=r,this.onload&&this.onload({target:this}),this.onloadend&&this.onloadend({target:this});}).catch(r=>{this.error=r,this.onerror&&this.onerror({target:this});});}readAsText(i,r="utf-8"){i.text().then(s=>{this.result=s,this.onload&&this.onload({target:this}),this.onloadend&&this.onloadend({target:this});}).catch(s=>{this.error=s,this.onerror&&this.onerror({target:this});});}}H.FileReader=n;class e{constructor(){this.status=0;this.statusText="";this.readyState=0;this.responseText="";this.response=null;this.responseType="";this.responseURL="";this.timeout=0;this.withCredentials=false;this.onload=null;this.onerror=null;this.onabort=null;this.ontimeout=null;this.onprogress=null;this.onreadystatechange=null;this.upload={onprogress:null};this._method="GET";this._url="";this._headers={};this._aborted=false;}open(i,r){this._method=i,this._url=r,this.readyState=1;}setRequestHeader(i,r){this._headers[i]=r;}getResponseHeader(i){return null}abort(){this._aborted=true,this.onabort&&this.onabort({});}send(i){if(this._aborted)return;let r={method:this._method,headers:this._headers};i&&this._method!=="GET"&&this._method!=="HEAD"&&(r.body=i),fetch(this._url,r).then(async s=>{if(!this._aborted){if(this.status=s.status,this.statusText=s.statusText,this.responseURL=s.url,this.readyState=4,this.responseType==="blob")this.response=await s.blob();else if(this.responseType==="json")try{this.response=await s.json();}catch{this.response=null;}else this.responseType==="arraybuffer"?this.response=await s.arrayBuffer():(this.responseText=await s.text(),this.response=this.responseText);this.onload&&this.onload({});}}).catch(s=>{this._aborted||this.onerror&&this.onerror(s);});}}H.XMLHttpRequest=e,H.window={_runningInNodeJS:true,alert:t=>console.error("[Alert]",t),sessionStorage:{getItem:t=>null,setItem:(t,i)=>{},removeItem:t=>{}},localStorage:{getItem:t=>{let i=te("fs"),r=te("path");try{let s=r.resolve(process.cwd(),"states","localStorage",`${t}.skapi`);return i.existsSync(s)?i.readFileSync(s,"utf8"):null}catch{return null}},setItem:(t,i)=>{let r=te("fs"),s=te("path");try{let o=s.resolve(process.cwd(),"states","localStorage");r.existsSync(o)||r.mkdirSync(o,{recursive:!0});let c=s.resolve(o,`${t}.skapi`);r.writeFileSync(c,i,"utf8");}catch{}},removeItem:t=>{let i=te("fs"),r=te("path");try{let s=r.resolve(process.cwd(),"states","localStorage",`${t}.skapi`);i.existsSync(s)&&i.unlinkSync(s);}catch{}}},location:{href:"",origin:"",hostname:"",protocol:"",replace:t=>{}},navigator:{userAgent:`nodejs/${H?.process?.versions?.node||"unknown"}`,mediaDevices:{getUserMedia:async t=>{throw new Error("getUserMedia is not supported in Node.js environment.")}}},addEventListener:()=>{},removeEventListener:()=>{}};}var a=class extends Error{constructor(e,t){if(Array.isArray(e)&&e.length<=2){let i=e[1];if(e.length>2)for(let r=2;r<e.length&&typeof e[r]=="string";r++)i+=e[r];super((i||"Something went wrong.").trim()),this.name=t?.name||"SKAPI",this.code=t?.code||e[0]||"ERROR",t?.cause&&(this.cause=t.cause);}else super((e?.message||(typeof e=="string"?e:"Something went wrong.")).trim()),typeof e=="string"?(this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",t?.cause&&(this.cause=t.cause)):e instanceof Error?(this.cause=e,this.name=e.name,e.hasOwnProperty("code")&&(this.code=e.code)):typeof e=="object"&&e?.code&&e?.message&&(this.name=t?.name||"SKAPI",this.code=t?.code||"ERROR",this.cause=e?.cause);}};var ne="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ve=BigInt(ne.length),qn=2*1024*1024,jn=["aud","cognito:username","event_id","exp","iat","iss","jti","origin_jti","secret_key","token_use"],Qe={auth_time:"log",sub:"user_id"},Bn=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l"],Ye=["us31","us72","ap51","ap22","ap41","eu71","ap21","us32","us71","af51","ap31","ap43","ap23","ap42","ca01","eu01","eu72","eu51","eu73","eu11","me51","sa31"],m=class m{static hash(e){typeof e!="string"&&(console.warn("coercing non-string value to empty string"),e="");let t=m.sb(e),i=1732584193,r=-271733879,s=-1732584194,o=271733878,c,u,d,f;for(let l=0;l<t.length;l+=16)c=i,u=r,d=s,f=o,i=m.ff(i,r,s,o,t[l],7,-680876936),o=m.ff(o,i,r,s,t[l+1],12,-389564586),s=m.ff(s,o,i,r,t[l+2],17,606105819),r=m.ff(r,s,o,i,t[l+3],22,-1044525330),i=m.ff(i,r,s,o,t[l+4],7,-176418897),o=m.ff(o,i,r,s,t[l+5],12,1200080426),s=m.ff(s,o,i,r,t[l+6],17,-1473231341),r=m.ff(r,s,o,i,t[l+7],22,-45705983),i=m.ff(i,r,s,o,t[l+8],7,1770035416),o=m.ff(o,i,r,s,t[l+9],12,-1958414417),s=m.ff(s,o,i,r,t[l+10],17,-42063),r=m.ff(r,s,o,i,t[l+11],22,-1990404162),i=m.ff(i,r,s,o,t[l+12],7,1804603682),o=m.ff(o,i,r,s,t[l+13],12,-40341101),s=m.ff(s,o,i,r,t[l+14],17,-1502002290),r=m.ff(r,s,o,i,t[l+15],22,1236535329),i=m.gg(i,r,s,o,t[l+1],5,-165796510),o=m.gg(o,i,r,s,t[l+6],9,-1069501632),s=m.gg(s,o,i,r,t[l+11],14,643717713),r=m.gg(r,s,o,i,t[l],20,-373897302),i=m.gg(i,r,s,o,t[l+5],5,-701558691),o=m.gg(o,i,r,s,t[l+10],9,38016083),s=m.gg(s,o,i,r,t[l+15],14,-660478335),r=m.gg(r,s,o,i,t[l+4],20,-405537848),i=m.gg(i,r,s,o,t[l+9],5,568446438),o=m.gg(o,i,r,s,t[l+14],9,-1019803690),s=m.gg(s,o,i,r,t[l+3],14,-187363961),r=m.gg(r,s,o,i,t[l+8],20,1163531501),i=m.gg(i,r,s,o,t[l+13],5,-1444681467),o=m.gg(o,i,r,s,t[l+2],9,-51403784),s=m.gg(s,o,i,r,t[l+7],14,1735328473),r=m.gg(r,s,o,i,t[l+12],20,-1926607734),i=m.hh(i,r,s,o,t[l+5],4,-378558),o=m.hh(o,i,r,s,t[l+8],11,-2022574463),s=m.hh(s,o,i,r,t[l+11],16,1839030562),r=m.hh(r,s,o,i,t[l+14],23,-35309556),i=m.hh(i,r,s,o,t[l+1],4,-1530992060),o=m.hh(o,i,r,s,t[l+4],11,1272893353),s=m.hh(s,o,i,r,t[l+7],16,-155497632),r=m.hh(r,s,o,i,t[l+10],23,-1094730640),i=m.hh(i,r,s,o,t[l+13],4,681279174),o=m.hh(o,i,r,s,t[l],11,-358537222),s=m.hh(s,o,i,r,t[l+3],16,-722521979),r=m.hh(r,s,o,i,t[l+6],23,76029189),i=m.hh(i,r,s,o,t[l+9],4,-640364487),o=m.hh(o,i,r,s,t[l+12],11,-421815835),s=m.hh(s,o,i,r,t[l+15],16,530742520),r=m.hh(r,s,o,i,t[l+2],23,-995338651),i=m.ii(i,r,s,o,t[l],6,-198630844),o=m.ii(o,i,r,s,t[l+7],10,1126891415),s=m.ii(s,o,i,r,t[l+14],15,-1416354905),r=m.ii(r,s,o,i,t[l+5],21,-57434055),i=m.ii(i,r,s,o,t[l+12],6,1700485571),o=m.ii(o,i,r,s,t[l+3],10,-1894986606),s=m.ii(s,o,i,r,t[l+10],15,-1051523),r=m.ii(r,s,o,i,t[l+1],21,-2054922799),i=m.ii(i,r,s,o,t[l+8],6,1873313359),o=m.ii(o,i,r,s,t[l+15],10,-30611744),s=m.ii(s,o,i,r,t[l+6],15,-1560198380),r=m.ii(r,s,o,i,t[l+13],21,1309151649),i=m.ii(i,r,s,o,t[l+4],6,-145523070),o=m.ii(o,i,r,s,t[l+11],10,-1120210379),s=m.ii(s,o,i,r,t[l+2],15,718787259),r=m.ii(r,s,o,i,t[l+9],21,-343485551),i=m.ad(i,c),r=m.ad(r,u),s=m.ad(s,d),o=m.ad(o,f);return m.rh(i)+m.rh(r)+m.rh(s)+m.rh(o)}static rh(e){let t="";for(let i=0;i<=3;i++)t+=m.alphabet.charAt(e>>i*8+4&15)+m.alphabet.charAt(e>>i*8&15);return t}static ad(e,t){let i=(e&65535)+(t&65535);return (e>>16)+(t>>16)+(i>>16)<<16|i&65535}static rl(e,t){return e<<t|e>>>32-t}static cm(e,t,i,r,s,o){return m.ad(m.rl(m.ad(m.ad(t,e),m.ad(r,o)),s),i)}static ff(e,t,i,r,s,o,c){return m.cm(t&i|~t&r,e,t,s,o,c)}static gg(e,t,i,r,s,o,c){return m.cm(t&r|i&~r,e,t,s,o,c)}static hh(e,t,i,r,s,o,c){return m.cm(t^i^r,e,t,s,o,c)}static ii(e,t,i,r,s,o,c){return m.cm(i^(t|~r),e,t,s,o,c)}static sb(e){let t,i=(e.length+8>>6)+1,r=new Array(i*16);for(t=0;t<i*16;t++)r[t]=0;for(t=0;t<e.length;t++)r[t>>2]|=e.charCodeAt(t)<<t%4*8;return r[t>>2]|=128<<t%4*8,r[i*16-2]=e.length*8,r}};m.alphabet="0123456789abcdef";var V=m;function et(n){if(n===0)return ne[0];let e="";for(;n>0;)e=ne[n%62]+e,n=Math.floor(n/62);return e}function B(n){return n.split("").reverse().reduce((e,t,i)=>e+ne.indexOf(t)*62**i,0)}function ae(n=6){let e="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=t.length,r=0;for(;r<n;)e+=t.charAt(Math.floor(Math.random()*i)),r+=1;return e}function De(){return typeof window>"u"||!!window?._runningInNodeJS}function q(){return !De()&&typeof document<"u"&&typeof document.createElement=="function"}function me(n){let e;try{e=JSON.stringify(n);}catch{throw new a("Invalid data type.",{code:"INVALID_REQUEST"})}if(new Blob([e]).size>qn)throw new a("Data should not exceed 2MB",{code:"INVALID_REQUEST"})}function We(n){return n===""||n==="on"||n==="true"}function Je(n){return n==="false"}function He(n,e,t){e.name&&t(n,e.name,e.value);}var be=q(),Kn=typeof SubmitEvent<"u",Qn=typeof HTMLFormElement<"u";function D(n,e,t){let i={},r=[];function s(u,d,f){if(e?.ignoreEmpty&&f==="")return;if(e?.nullIfEmpty&&f===""&&(f=null),typeof t=="function"){let R=t(d,f);R!==void 0&&(f=R);}let l=d.split("[").map(R=>{let p=R.replace("]",""),A=Number(p);return !isNaN(A)&&!p.includes(".")?p=A:(p[0]==='"'&&p[p.length-1]==='"'||p[0]==="'"&&p[p.length-1]==="'")&&(p=p.replace(/"/g,"").replace(/'/g,"")),p}),h=u;if(typeof l[0]=="number")throw new a("Form key cannot start with an array index.",{code:"INVALID_REQUEST"});for(let R=0;R<l.length;R++){let p=l[R];R<l.length-1?(h[p]===void 0&&(typeof l[R+1]=="number"?h[p]=[]:h[p]={}),h=h[p]):h[p]===void 0?h[p]=f:Array.isArray(h[p])?h[p].push(f):h[p]=[h[p],f];}}function o(u,d,f){if(f instanceof File)u.push({name:d,file:f});else if(f instanceof FileList&&f&&f.length>0)for(let l=0;l<=f.length-1;l++){let h=f.item(l);h&&u.push({name:d,file:h});}}let c=u=>{u.name&&(u.type==="number"?u.value&&s(i,u.name,Number(u.value)):u.type==="checkbox"||u.type==="radio"?u.checked?u.type==="checkbox"&&u.value===""||We(u.value)?s(i,u.name,true):Je(u.value)?s(i,u.name,false):u.value&&s(i,u.name,u.value):u.type==="checkbox"&&(We(u.value)?s(i,u.name,false):Je(u.value)&&s(i,u.name,true)):u.type==="file"?u.files&&u.files.length>0&&o(r,u.name,u.files):s(i,u.name,u.value));};if(be&&(n instanceof HTMLInputElement||n instanceof HTMLSelectElement||n instanceof HTMLTextAreaElement))return c(n),me(i),{data:i,files:r};if(be&&n instanceof FormData){for(let u of n.entries()){let d=u[0],f=u[1];if(f instanceof File||f instanceof FileList)o(r,d,f);else if(f instanceof Blob){let l=f;if(l.type==="application/json")try{let h=JSON.parse(l.text());s(i,d,h);}catch{s(i,d,l);}}else s(i,d,f);}return me(i),{data:i,files:r}}if(be&&Kn&&n instanceof SubmitEvent&&(n=n.target),be&&Qn&&n instanceof HTMLFormElement){let u=n.querySelectorAll("input"),d=n.querySelectorAll("select"),f=n.querySelectorAll("textarea");for(let l=0;l<d.length;l++)He(i,d[l],s);for(let l=0;l<f.length;l++)He(i,f[l],s);for(let l=0;l<u.length;l++)c(u[l]);return me(i),{data:i,files:r}}return me(n),{data:n,files:r}}function ce(n){let e={};for(let t in n){let i=n[t];if(!jn.includes(t))if(Qe[t])e[Qe[t]]=i;else if(t.includes("custom:"))e[t.replace("custom:","")]=i;else if(t==="address"){let r=i;if(r&&typeof r=="object"&&Object.keys(r).length){if(r?.formatted)try{e[t]=JSON.parse(r.formatted);}catch{e[t]=r.formatted;}}else e[t]=r;}else e[t]=i;}for(let t of ["address_public","birthdate_public","email_public","gender_public","phone_number_public","access_group"])t.includes("_public")?e.hasOwnProperty(t.split("_")[0])?e[t]=e.hasOwnProperty(t)?!!Number(e[t]):false:delete e[t]:e[t]=e.hasOwnProperty(t)?Number(e[t]):0;for(let t of ["email","phone_number"])e.hasOwnProperty(t)?e[t+"_verified"]=e[t+"_verified"]===true:delete e[t+"_verified"];return e}function Ne(n){if(n=Xn(n),n.split("-").length===7){let e=n.split("-"),t,i;try{t=Ye[B(e[1][0])],i=e.slice(2).join("-");}catch{throw new Error("INVALID_PARAMETER: Service ID is invalid.")}if(!t)throw new Error("INVALID_PARAMETER: Service ID is invalid.");return {service:t+e[0]+e[1].slice(1),owner:i}}return {service:n,owner:""}}function tt(n,e){let t=Ye.indexOf(n.slice(0,4)),i=Bn[t],s=`${n.slice(4,-4)}-${i}${n.slice(-4)}-${e}`;return Gn(s)}function ze(n){let e=0n;for(let t of n){let i=ne.indexOf(t);if(i<0)throw new Error(`INVALID_PARAMETER: Invalid base62 character: ${t}`);e=e*ve+BigInt(i);}return e}function Ge(n,e=1){if(n<0n)throw new Error("INVALID_PARAMETER: Negative values are not supported.");if(n===0n)return "0".repeat(Math.max(1,e));let t="",i=n;for(;i>0n;){let r=Number(i%ve);t=ne[r]+t,i/=ve;}return t.length<e&&(t="0".repeat(e-t.length)+t),t}function Xe(n){if(n===0n)return Buffer.from([0]);let e=[],t=n;for(;t>0n;)e.push(Number(t&0xffn)),t>>=8n;return e.reverse(),Buffer.from(e)}function Ze(n){let e=0n;for(let t of n)e=(e<<8n)+BigInt(t);return e}function Wn(n){let e=String(n).replace(/-/g,"");if(!/^[0-9a-fA-F]{32}$/.test(e))throw new Error("INVALID_PARAMETER: Invalid UUID format.");return Buffer.from(e,"hex")}function Jn(n){let e=Buffer.from(n).toString("hex");return [e.slice(0,8),e.slice(8,12),e.slice(12,16),e.slice(16,20),e.slice(20)].join("-")}function Hn(n){if(Buffer)return Buffer.from(n).toString("base64");let e="",t=new Uint8Array(n),i=32768;for(let r=0;r<t.length;r+=i){let s=t.subarray(r,r+i);e+=String.fromCharCode.apply(null,Array.from(s));}if(typeof btoa=="function")return btoa(e);throw new Error("No base64 encoder available in this environment.")}function zn(n,e=false){let t=String(n).replace(/-/g,"+").replace(/_/g,"/"),i=t.length%4?"=".repeat(4-t.length%4):"",r=Buffer.from(t+i,"base64");return e?JSON.parse(r.toString("utf8")):r}function Gn(n){let e=String(n).match(/^([0-9A-Za-z]+)-([0-9A-Za-z]+)-([0-9a-fA-F-]{36})$/);if(!e)throw new Error("INVALID_PARAMETER: Input must match <base62>-<base62>-<uuid>.");let[,t,i,r]=e,s=ze(t),o=ze(i),c=Xe(s),u=Xe(o),d=Wn(r);if(t.length>255||i.length>255||c.length>255||u.length>255)throw new Error("INVALID_PARAMETER: Input parts are too long to encode.");let f=Buffer.concat([Buffer.from([1,t.length,i.length,c.length,u.length]),c,u,d]);return `s1_${Hn(f).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}`}function Xn(n){let e=String(n);if(!e.startsWith("s1_"))return e;let t=zn(e.slice(3));if(t.length<21)throw new Error("INVALID_PARAMETER: Corrupt compressed token.");let i=t[0];if(i!==1)throw new Error(`INVALID_PARAMETER: Unsupported token version: ${i}`);let r=t[1],s=t[2],o=t[3],c=t[4],u=5,d=u+o,f=d+c;if(t.length!==f+16)throw new Error("INVALID_PARAMETER: Corrupt compressed token length.");let l=Ge(Ze(t.subarray(u,d)),r),h=Ge(Ze(t.subarray(d,f)),s),R=Jn(t.subarray(f,f+16));return `${l}-${h}-${R}`}function Yn(n,e="User ID"){let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;if(n){if(typeof n!="string")throw new a(`${e} should be type: string.`,{code:"INVALID_PARAMETER"});if(!n.match(t))throw new a(`${e} is invalid.`,{code:"INVALID_PARAMETER"})}else throw new a(`${e} is empty.`,{code:"INVALID_PARAMETER"});return n}function er(n){if(n&&(typeof n!="string"||n.charAt(0)!=="+"||isNaN(Number(n.substring(1)))))throw new a('"phone_number" is invalid. The format should be "+00123456789". Type: string.',{code:"INVALID_PARAMETER"});return n||""}function tr(n){if(n){if(typeof n!="string")throw new a('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"});{let e=new RegExp(/([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/);if(n.length!==10||n.split("-").length!==3||!e.test(n))throw new a('"birthdate" is invalid. The format should be "yyyy-mm-dd". Type: string.',{code:"INVALID_PARAMETER"})}}return n||""}function nr(n){if(n){if(typeof n!="string")throw new a('"password" should be type: string.',{code:"INVALID_PARAMETER"});if(n.length<6)throw new a('"password" should be at least 6 characters.',{code:"INVALID_PARAMETER"});if(n.length>60)throw new a('"password" can be up to 60 characters max.',{code:"INVALID_PARAMETER"})}else throw new a('"password" is required.',{code:"INVALID_PARAMETER"});return n}function rr(n,e="email"){if(n){if(typeof n!="string")throw new a(`"${e}"should be type: string.`,{code:"INVALID_PARAMETER"});if(n.length<5)throw new a(`"${e}" should be at least 5 characters.`,{code:"INVALID_PARAMETER"});if(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(n)&&(n=n.trim(),n.split("@")[1].split(".").length>=2))return n.toLowerCase()}else throw new a(`"${e}" is required.`,{code:"INVALID_PARAMETER"});throw new a(`"${n}" is an invalid email.`,{code:"INVALID_PARAMETER"})}function ir(n){let e=typeof window<"u",t=(()=>{let r=e&&window.location.origin||null;return r&&r.slice(-1)==="/"&&(r=r.slice(0,-1)),r})(),i=r=>{if(typeof r=="string"){if(r==="*")return "*";{let s=r.trim();if(s[0]==="/"&&t){if(t.slice(0,5)==="file:")throw new a(`"${r}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});s=t+s;}else if(s[0]==="."&&t){if(t.slice(0,5)==="file:")throw new a(`"${r}" is an invalid url. Relative URL does not work on local file system. Use full URL string.`,{code:"INVALID_PARAMETER"});let c=e?window.location.href.split("?")[0]:"";c.slice(-1)!=="/"&&(c+="/"),s=c+s.slice(1);}let o;try{o=new URL(s);}catch{throw new a(`"${r}" is an invalid url.`,{code:"INVALID_PARAMETER"})}if(o.protocol)return o.href}}throw new a(`"${r}" is an invalid url.`,{code:"INVALID_PARAMETER"})};return Array.isArray(n)?n.map(r=>i(r)):i(n)}function sr(n,e,t=[],i){let r=D(n,i),s=r.data;e.service="string",e.owner="string";let o={};for(let c in e)if(s&&typeof s=="object"&&!Array.isArray(s)&&s.hasOwnProperty(c))if(typeof s[c]=="function")o[c]=s[c];else try{o[c]=JSON.parse(JSON.stringify(s[c]));}catch{o[c]=s[c];}i?.precall&&i.precall({data:o,files:r?.files||[]});try{return Zn__default.default(o,e,t)}catch(c){throw new a(c.message,{code:"INVALID_PARAMETER"})}}var g={UserId:Yn,PhoneNumber:er,Birthdate:tr,Password:nr,Email:rr,Url:ir,Params:sr};var U=null;function Ue(n){let e={tkid:"ticket_id",cond:"condition",stmp:"timestamp",actn:"action",cnt:"count",ttl:"time_to_live",plch:"placeholder",hash:"hash",desc:"description",pmc:"limit_per_user"},t={};for(let i in n)if(i==="tkid"){let r=n[i].split("#");if(r.length===1){t.ticket_id=r[0];continue}t.ticket_id=r[1],t.consume_id=r[2],t.user_id=r[3];let s=r[2].slice(-4);if(t.is_test=s===":CHK",!n.stmp){let o=r[2].slice(0,-4);/^[0-9]+$/.test(o)?t.timestamp=parseInt(o,10):t.timestamp=B(r[2].slice(0,-4));}}else e[i]?t[e[i]]=n[i]:t[i]=n[i];return t}async function rt(n){if(!n.ticket_id)throw new a("Ticket ID is required.",{code:"INVALID_PARAMETER"});if(!n.method)throw new a('Method is required. Should be either "GET" or "POST"',{code:"INVALID_PARAMETER"});let e=n.ticket_id;await this.__connection;let t=await w.bind(this)(`https://${this.service.slice(0,4)}.${this.customApiDomain}/auth/consume/${this.service}/${this.owner}/${e}`,n?.data||{},{method:n.method,auth:!!n?.auth});return Ue(t)}async function it(n,e){await this.__connection;let t=await w.bind(this)("ticket",Object.assign({exec:"list"},n||{}),{auth:true,fetchOptions:e});return t.list=t.list.map(Ue),t}async function st(n,e){await this.__connection;let t=await w.bind(this)("ticket",Object.assign({exec:"consumed"},n||{}),{auth:true,fetchOptions:e});return t.list=t.list.map(Ue),t}async function ot(n){return w.bind(this)("register-ticket",Object.assign({exec:"reg"},n),{auth:true})}async function at(n){return w.bind(this)("register-ticket",Object.assign({exec:"unreg"},n),{auth:true})}async function ie(){if(await this.__connection,this.session){let n=Math.floor(Date.now()/1e3),t=this.session.getIdToken().getExpiration();if(t<n){this.log("request:requesting new token",null);try{await F.bind(this)().getSession({refreshToken:!0}),this.log("request:received new tokens",{exp:this.session?.idToken?.payload?.exp,currentTime:n,expiresIn:t-n,token:this.session?.accessToken?.jwtToken,refreshToken:this.session?.refreshToken?.token});}catch(i){throw this.log("request:new token error",i),new a("User login is required.",{code:"INVALID_REQUEST"})}}else this.log("request:tokens",{exp:this.session.idToken.payload.exp,currentTime:n,expiresIn:t-n,token:this.session.accessToken.jwtToken,refreshToken:this.session.refreshToken.token});return this.session?.idToken?.jwtToken}else throw this.log("request:no session",null),z.bind(this)(),new a("User login is required.",{code:"INVALID_REQUEST"})}function nt(n,e){return new Promise((t,i)=>{e.refreshSession(n.getRefreshToken(),(r,s)=>{this.log("getSession:refreshSessionCallback",{refreshErr:r,refreshedSession:s}),r?(z.bind(this)(),i(r)):s.isValid()?t(s):(z.bind(this)(),i(new a("Invalid session.",{code:"INVALID_REQUEST"})));});})}function F(){if(!this.userPool)throw new a("User pool is missing",{code:"INVALID_REQUEST"});let n=()=>{let s=U.getSignInUserSession().getIdToken().payload||null,o=ce(s);return this.log("normalized user attribute",o),this.__user=o,o},e=async s=>new Promise((o,c)=>{this.log("getSession:option",s);let{refreshToken:u=false,skipUserUpdateEventTrigger:d=false}=s||{};if(u&&d&&(d=false),U=this.userPool.getCurrentUser(),!U){this.log("getSession:cognitoUser",U),z.bind(this)(),c(null);return}let f=l=>{let h=l.getIdToken().payload;if(this.log("getSession:respond:sessionAttribute",h),h["custom:service"]!==this.service)throw this.log("getSession:respond","invalid service, signing out"),z.bind(this)(),new a("Invalid session.",{code:"INVALID_REQUEST"});return this.session=l,n(),d||this._runOnUserUpdateListeners(this.user),this.session};U.getSession((l,h)=>{if(this.log("getSession:getSessionCallback",{err:l,session:h}),!h){z.bind(this)(),c(new a("Current session does not exist.",{code:"INVALID_REQUEST"}));return}if(l){nt.bind(this)(h,U).then(E=>o(f(E))).catch(c);return}let R=Math.floor(Date.now()/1e3),p=h.getIdToken(),A=p.getExpiration(),S=A<R;if(this.log("getSession:currentTime",R),this.log("getSession:idTokenExp",A),this.log("getSession:isExpired",S),this.log("getSession:existingBearerToken",this.bearerToken),this.bearerToken=p.getJwtToken(),S||u||!h.isValid())nt.bind(this)(h,U).then(E=>o(f(E))).catch(c);else try{o(f(h));}catch(E){c(E);}});}),t=(s,o)=>{let c=o||s.includes(this.service+"-")?s:this.service+"-"+V.hash(s);return {cognitoUser:new amazonCognitoIdentityJs.CognitoUser({Username:c,Pool:this.userPool}),cognitoUsername:c}};return {getSession:e,authenticateUser:(s,o,c=false,u=false)=>new Promise((d,f)=>{this.__request_signup_confirmation=null,this.__disabledAccount=null;let l=t(s,c),h=l.cognitoUsername,R=new amazonCognitoIdentityJs.AuthenticationDetails({Username:h,Password:o});l.cognitoUser.authenticateUser(R,{newPasswordRequired:(p,A)=>{this.__disabledAccount=null,this.__request_signup_confirmation=h,p["custom:signup_ticket"]==="PASS"||p["custom:signup_ticket"]==="MEMBER"||p["custom:signup_ticket"]==="OIDPASS"?l.cognitoUser.completeNewPasswordChallenge(o,{},{onSuccess:S=>{U=l.cognitoUser,e().then(E=>d(this.user));},onFailure:S=>{f(new a(S.message||"Failed to authenticate user.",{code:S.code}));}}):f(new a("User's signup confirmation is required.",{code:"SIGNUP_CONFIRMATION_NEEDED"}));},onSuccess:p=>e({skipUserUpdateEventTrigger:true}).then(A=>{this.__disabledAccount=null,this._runOnLoginListeners(this.user),this._runOnUserUpdateListeners(this.user),d(this.user);}),onFailure:p=>{let A=[],{parsed:S,code:E}=ye(p),k=typeof p?.message=="string"?p.message:"";if(E==="NotAuthorizedException"?k.includes("User is disabled.")?(this.__disabledAccount=h,A=["This account is disabled.","USER_IS_DISABLED"]):u?A=["The account already exists.","ACCOUNT_EXISTS"]:A=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:E==="UserNotFoundException"?A=["Incorrect username or password.","INCORRECT_USERNAME_OR_PASSWORD"]:E==="UserNotConfirmedException"?(this.__request_signup_confirmation=h,A=["User's signup confirmation is required.","SIGNUP_CONFIRMATION_NEEDED"]):(E==="TooManyRequestsException"||E==="LimitExceededException")&&(A=["Too many attempts. Please try again later.","REQUEST_EXCEED"]),S.code==="SIGNUP_CONFIRMATION_NEEDED"&&(this.__request_signup_confirmation=h),A.length){let P=A[1],x=A[0];f(new a(x,{code:P,cause:p}));}else f(S);}});}),createCognitoUser:t,signup:(s,o,c)=>new Promise((u,d)=>{this.userPool.signUp(s,o,c,null,(f,l)=>{if(f){let{parsed:h,code:R}=ye(f),p=[];R==="UsernameExistsException"?p=["The account already exists.","EXISTS"]:R==="InvalidPasswordException"?p=["Invalid password. Password must be at least 6 characters.","INVALID_PARAMETER"]:R==="InvalidParameterException"?p=[h.message||"Invalid parameter.","INVALID_PARAMETER"]:R==="TooManyRequestsException"||R==="LimitExceededException"?p=["Too many attempts. Please try again later.","REQUEST_EXCEED"]:R==="CodeDeliveryFailureException"?p=["Failed to deliver verification code.","CODE_DELIVERY_FAILURE"]:R==="UserLambdaValidationException"&&(p=[h.message||"Signup validation failed.","INVALID_REQUEST"]),p.length?d(new a(p[0],{code:p[1],cause:f})):d(h);return}u(l);});})}}function ye(n){let e=typeof n?.code=="string"&&n.code.trim()?n.code.trim():"ERROR",i=((typeof n?.message=="string"?n.message:typeof n=="string"?n:"An error occurred.")||"An error occurred.").trim();i||(i="An error occurred.");let r=i.match(/#([A-Za-z0-9_]+)\s*:\s*([\s\S]+)/),s=r?.[1]?.trim()||e,o=r?.[2]?.trim()||i;return {parsed:new a(o,{code:s,cause:n}),code:e}}async function ct(n){await this.__authConnection;let e=n?.refreshToken||false;if(!e)return this.user;try{return await F.bind(this)().getSession(Object.assign({skipUserUpdateEventTrigger:!e,refreshToken:e},n)),this.user}catch{return null}}async function lt(n){await this.__connection,n=g.Params(n,{token:"string",id:"string",merge:s=>{if(s===void 0)return false;if(typeof s=="string")return [s];if(Array.isArray(s)){for(let o of s)if(typeof o!="string")throw new a('"merge" array items should be type: <string>.',{code:"INVALID_PARAMETER"})}if(typeof s!="boolean"&&!Array.isArray(s))throw new a('"merge" should be type: <boolean | string[]>.',{code:"INVALID_PARAMETER"});return s}});let e=await w.bind(this)("openid-logger",n),t=e.logger.split("#"),i=this.service+"-"+t[0],r=t[1];return {userProfile:await F.bind(this)().authenticateUser(i,r,true,true),openid:e.openid}}function dr(n){let e=typeof globalThis<"u"?globalThis:void 0;if(e?.Buffer)return e.Buffer.from(n,"base64").toString("utf8");if(typeof atob=="function"){let t=atob(n),i=new Uint8Array(t.length);for(let r=0;r<t.length;r++)i[r]=t.charCodeAt(r);return typeof TextDecoder<"u"?new TextDecoder().decode(i):t}throw new Error("No base64 decoder available in this environment")}function gr(n){let e=n.split(".");if(e.length!==3)throw new Error("Invalid JWT format");let i=e[1].replace(/-/g,"+").replace(/_/g,"/"),r=dr(i);return JSON.parse(r)}async function ut(n){await this.__authConnection,this.log("loginWithToken:params",n),n=g.Params(n,{idToken:"string",accessToken:"string",refreshToken:"string"},["idToken"]);let e=gr(n.idToken);if(this.log("loginWithToken:idTokenPayload",e),e["custom:service"]!==this.service)throw new a("Token does not belong to this service.",{code:"INVALID_REQUEST"});let t=Math.floor(Date.now()/1e3);if(e.exp&&e.exp<t)throw new a("Token has expired.",{code:"INVALID_REQUEST"});if(this.__user=ce(e),this.session=null,n.accessToken&&n.refreshToken)try{if(this.session=new amazonCognitoIdentityJs.CognitoUserSession({IdToken:new amazonCognitoIdentityJs.CognitoIdToken({IdToken:n.idToken}),AccessToken:new amazonCognitoIdentityJs.CognitoAccessToken({AccessToken:n.accessToken}),RefreshToken:new amazonCognitoIdentityJs.CognitoRefreshToken({RefreshToken:n.refreshToken})}),this.log("loginWithToken:session",this.session),this.log("loginWithToken:CognitoUser",amazonCognitoIdentityJs.CognitoUser),this.log("loginWithToken:userPool",this.userPool),amazonCognitoIdentityJs.CognitoUser&&this.userPool){this.log("loginWithToken:cognito:username",e["cognito:username"]);let i={Username:e["cognito:username"],Pool:this.userPool};this.log("loginWithToken:cognitoUserParams",i),U=new amazonCognitoIdentityJs.CognitoUser(i),U.setSignInUserSession(this.session),this.log("loginWithToken:cognitoUserRestored",{cognitoUserType:typeof U,cognitoUserKeys:Object.keys(U||{}),cognitoUser:U});}}catch(i){this.log("loginWithToken:err",i);try{this.log("loginWithToken:err:stringified",JSON.stringify(i));}catch{this.log("loginWithToken:err:stringifyFail",String(i));}try{let r=Object.keys(i||{}),s=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(i||{}):[],o=Object.getOwnPropertyDescriptors?Object.getOwnPropertyDescriptors(i||{}):{};this.log("loginWithToken:createSessionError:allKeys",{keys:r,symbols:s,descriptors:o});}catch(r){this.log("loginWithToken:createSessionError:allKeysFail",String(r));}}return this._runOnLoginListeners(this.user),this._runOnUserUpdateListeners(this.user),this.user}async function M(){return await this.__connection,this.__user?.service===this.service?this.__user?.owner===this.host:(await le.bind(this)(),false)}async function z(n=false){let e=null;U&&(n?e=new Promise((i,r)=>{U.globalSignOut({onSuccess:s=>{this.log("globalSignOut:success",s),i(s);},onFailure:s=>{this.log("globalSignOut:error",s),r(s);}});}):U.signOut());let t={session:null,__startKeyHistory:{},__cached_requests:{},__user:null};e&&(e=await e);for(let i in t)this[i]=t[i];return this._runOnUserUpdateListeners(null),this._runOnLoginListeners(null),e}async function le(n){await this.__connection;let{data:e}=D(n);return await z.bind(this)(e?.global),"SUCCESS: The user has been logged out."}async function dt(){if(!this.__request_signup_confirmation)throw new a("Least one login attempt is required.",{code:"INVALID_REQUEST"});return await w.bind(this)("confirm-signup",{username:this.__request_signup_confirmation})}async function gt(n=false){if(typeof n=="string")n=g.Url(n);else if(typeof n!="boolean")throw new a("Argument should be type: <boolean | string>.",{code:"INVALID_REQUEST"});if(!this.__disabledAccount)throw new a("Least one signin attempt of disabled account is required.",{code:"INVALID_REQUEST"});return await w.bind(this)("recover-account",{username:this.__disabledAccount,redirect:n}),"SUCCESS: Recovery e-mail has been sent."}async function Ce(n){let e=g.Params(n,{username:"string",email:"string",password:"string"},["password"]);if(await this.__authConnection,e.email)try{g.Email(e.email);}catch{e.username=e.email,delete e.email;}if(!e.username&&!e.email)throw new a('Least one of "username" or "email" is required.',{code:"INVALID_PARAMETER"});return await F.bind(this)().authenticateUser(e.username||e.email,e.password)}async function ft(n,e){await this.__authConnection;let t={username:"string",password:d=>g.Password(d),email:d=>g.Email(d),name:"string",address:d=>{if(!d)return "";if(typeof d=="string")return d;if(typeof d=="object")return JSON.stringify(d)},gender:"string",birthdate:d=>d?g.Birthdate(d):"",phone_number:d=>d?g.PhoneNumber(d):"",email_public:["boolean",()=>false],address_public:["boolean",()=>false],gender_public:["boolean",()=>false],birthdate_public:["boolean",()=>false],phone_number_public:["boolean",()=>false],access_group:"number",misc:"string",picture:d=>d?g.Url(d):"",profile:d=>d?g.Url(d):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:d=>d?g.Url(d):""},i=g.Params(n||{},t,["email","password"]);await le.bind(this)(),e=g.Params(e||{},{email_subscription:d=>{if(typeof d!="boolean")throw new a('"option.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!e?.signup_confirmation)throw new a('"option.signup_confirmation" is required for email subscription.',{code:"INVALID_PARAMETER"});return d},signup_confirmation:d=>{let f=d;if(typeof d=="string")f=g.Url(d);else if(typeof d=="boolean")f=d;else throw new a('"option.signup_confirmation" should be type: <string | boolean>.',{code:"INVALID_PARAMETER"});if(f&&!i.email)throw new a('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return f},login:d=>{if(typeof d=="boolean"){if(e.signup_confirmation&&d)throw new a('"login" is not allowed when "option.signup_confirmation" is true.',{code:"INVALID_PARAMETER"});return d}throw new a('"option.login" should be type: boolean.',{code:"INVALID_PARAMETER"})}});let r=e?.login||false;if(i.signup_confirmation=e?.signup_confirmation||false,i.email_subscription=e?.email_subscription||false,i.email_public&&!i.signup_confirmation)throw new a('"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=F.bind(this)().createCognitoUser(i.username||i.email);for(let d of ["email_public","address_public","gender_public","birthdate_public","phone_number_public"])i[d]=i[d]?"1":"0";i.access_group&&(i.access_group=i.access_group.toString());let o=(await w.bind(this)("signupkey",{username:s.cognitoUsername,signup_confirmation:typeof i.signup_confirmation=="boolean"?JSON.stringify(i.signup_confirmation):i.signup_confirmation,email_subscription:i.email_subscription})).split(":"),c=o.slice(1).join(":"),u=[new amazonCognitoIdentityJs.CognitoUserAttribute({Name:"custom:signup",Value:o[0]}),new amazonCognitoIdentityJs.CognitoUserAttribute({Name:"locale",Value:c.split("#")[1]}),new amazonCognitoIdentityJs.CognitoUserAttribute({Name:"custom:signup_ticket",Value:c})];for(let d in t){let f=["email_public","address_public","gender_public","birthdate_public","phone_number_public","misc","service","owner"];i[d]!==""&&(d==="username"||d==="password"||d==="access_group"||(f.includes(d)?u.push(new amazonCognitoIdentityJs.CognitoUserAttribute({Name:"custom:"+d,Value:i[d]})):u.push(new amazonCognitoIdentityJs.CognitoUserAttribute({Name:d,Value:i[d]}))));}return await F.bind(this)().signup(s.cognitoUsername,i.password,u),i.signup_confirmation?(U=s.cognitoUser,this.__request_signup_confirmation=s.cognitoUsername,"SUCCESS: The account has been created. User's signup confirmation is required."):r?Ce.bind(this)({email:i.username||i.email,password:i.password}):"SUCCESS: The account has been created."}async function ht(){await this.__connection;let n=await w.bind(this)("remove-account",{disable:this.__user.user_id},{auth:true});return await le.bind(this)(),n}async function pt(n){await this.__connection;let e=g.Params(n,{email:r=>g.Email(r),code:["number","string"],new_password:r=>g.Password(r)},["email","code","new_password"]),t=e.code,i=e.new_password;return typeof t=="number"&&(t=t.toString()),new Promise(async(r,s)=>{F.bind(this)().createCognitoUser(e.email).cognitoUser.confirmPassword(t,i,{onSuccess:c=>{r("SUCCESS: New password has been set.");},onFailure:c=>{s(new a(c?.message||"Failed to reset password.",{code:c?.code||"ERROR",cause:c}));}});})}async function mt(n,e){await this.__connection;let t;if(!U)throw new a("The user has to be logged in.",{code:"INVALID_REQUEST"});if(n==="email"||n==="phone_number"){if(!this.__user.hasOwnProperty(n))throw new a(`No ${n==="email"?"e-mail":"phone number"} to verify`,{code:"INVALID_REQUEST"});if(this.__user?.[`${n}_verified`])return `SUCCESS: "${n}" is verified.`;t=(e?g.Params(e,{code:"string"}):{}).code||"";}else return;return new Promise((i,r)=>{let s={onSuccess:o=>{t?F.bind(this)().getSession({refreshToken:true}).then(()=>{this.__user&&(this.__user[n+"_verified"]=true),i(`SUCCESS: "${n}" is verified.`);}).catch(c=>{r(c);}):i("SUCCESS: Verification code has been sent.");},onFailure:o=>{r(new a(o.message||"Failed to request verification code.",{code:o?.code}));}};t?U?.verifyAttribute(n,t,s):(s.inputVerificationCode=null,U?.getAttributeVerificationCode(n,s));})}function bt(n){return mt.bind(this)("phone_number",n)}function _t(n){return mt.bind(this)("email",n)}async function yt(n){await this.__connection;let e=g.Params(n,{email:t=>g.Email(t)},["email"]);return new Promise(async(t,i)=>{F.bind(this)().createCognitoUser(e.email).cognitoUser.forgotPassword({onSuccess:s=>{t("SUCCESS: Verification code has been sent.");},onFailure:s=>{let{parsed:o,code:c}=ye(s),u={UserNotFoundException:"NOT_EXISTS",InvalidParameterException:"INVALID_PARAMETER",NotAuthorizedException:"INVALID_REQUEST",LimitExceededException:"REQUEST_EXCEED",TooManyRequestsException:"REQUEST_EXCEED",CodeDeliveryFailureException:"CODE_DELIVERY_FAILURE"}[c]||o.code||c||"ERROR";i(new a(o.message,{code:u,cause:s}));}});})}async function wt(n){if(await this.__connection,!this.session)throw new a("User login is required.",{code:"INVALID_REQUEST"});let e=g.Params(n,{current_password:"string",new_password:"string"});if(!e?.current_password)throw new a('"current_password" is required to change password.',{code:"INVALID_PARAMETER"});if(!e?.new_password)throw new a('"new_password" is required to change password.',{code:"INVALID_PARAMETER"});return g.Password(e.current_password),g.Password(e.new_password),new Promise((t,i)=>{U.changePassword(e.current_password,e.new_password,(r,s)=>{if(r){if(r?.code==="InvalidParameterException")i(new a("Invalid password parameter.",{code:"INVALID_PARAMETER"}));else if(r?.code==="NotAuthorizedException")i(new a("Incorrect password.",{code:"INVALID_REQUEST"}));else if(r?.code==="TooManyRequestsException"||r?.code==="LimitExceededException")i(new a("Too many attempts. Please try again later.",{code:"REQUEST_EXCEED"}));else {let{parsed:o}=ye(r);i(o);}return}t("SUCCESS: Password has been changed.");});})}async function Et(n){if(await this.__connection,!this.session)throw new a("User login is required.",{code:"INVALID_REQUEST"});let e=g.Params(n||{},{user_id:r=>g.UserId(r),email:r=>g.Email(r),address:r=>{if(!r)return "";if(typeof r=="string")return r;if(typeof r=="object")return JSON.stringify(r)},name:"string",gender:"string",birthdate:r=>r?g.Birthdate(r):"",phone_number:r=>r?g.PhoneNumber(r):"",email_public:"boolean",phone_number_public:"boolean",address_public:"boolean",gender_public:"boolean",birthdate_public:"boolean",misc:"string",picture:r=>r?g.Url(r):"",profile:r=>r?g.Url(r):"",family_name:"string",given_name:"string",middle_name:"string",nickname:"string",website:r=>r?g.Url(r):""});if(e&&typeof e=="object"&&!Object.keys(e).length)return this.user;e.email&&(e.preferred_username=this.service+"-"+V.hash(e.email));let t=[["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 r of t)if(e[r[0]]&&!this.__user[r[1]])throw new a(`${r[2]} "${r[0]}" to true.`,{code:"INVALID_REQUEST"})}let i=[];for(let r in e){if(e[r]===this.user[r]){i.push(r);continue}if(["email_public","phone_number_public","address_public","gender_public","birthdate_public","misc"].includes(r)){let o=e[r];typeof o=="boolean"&&(o=o?"1":"0"),e["custom:"+r]=o,i.push(r);}}for(let r of i)delete e[r];if(e.user_id)if(e.user_id===this.user.user_id)delete e.user_id;else return w.bind(this)("admin-edit-profile",{attributes:e},{auth:true});if(e&&typeof e=="object"&&Object.keys(e).length){let r=[];for(let s in e)r.push(new amazonCognitoIdentityJs.CognitoUserAttribute({Name:s,Value:e[s]}));return await new Promise((s,o)=>{U?.updateAttributes(r,(c,u)=>{c&&o([c?.code||c?.name,c?.message||"Failed to update user settings."]),s(u);});}),await F.bind(this)().getSession({refreshToken:true}),this.user}return this.user}async function Rt(n,e){n=D(n).data,n||(n={searchFor:"timestamp",condition:">",value:0},e||(e={}),e.ascending=false),await this.__connection;let t={user_id:r=>Array.isArray(r)?r.map(s=>g.UserId(s)):g.UserId(r),email:"string",phone_number:"string",locale:r=>{if(typeof r!="string"||typeof r=="string"&&r.length>5)throw new a('Value of "locale" should be a country code.',{code:"INVALID_PARAMETER"});return r},name:"string",address:"string",gender:"string",birthdate:r=>g.Birthdate(r),subscribers:"number",timestamp:"number",access_group:"number",approved:"string"},i=["searchFor","value"];if(n=g.Params(n,{searchFor:["user_id","name","email","phone_number","address","gender","birthdate","locale","subscribers","timestamp","access_group","approved"],condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],value:r=>{let s=t[n.searchFor];if(typeof s=="function")return s(r);if(typeof r!==s)throw new a(`Value does not match the type of "${n.searchFor}" index.`,{code:"INVALID_PARAMETER"});return r},range:r=>{let s=t[n.searchFor];if(typeof s=="function")return s(r);if(typeof r!==s)throw new a(`Range does not match the type of "${n.searchFor}" index.`,{code:"INVALID_PARAMETER"});return r}},i),n?.condition&&n?.condition!=="="&&n.hasOwnProperty("range"))throw new a("Conditions does not apply on range search.",{code:"INVALID_PARAMETER"});if(n.searchFor==="user_id"&&(n.condition!=="="||n.range))throw new a(`Conditions are not allowed on "${n.searchFor}"`,{code:"INVALID_PARAMETER"});if(typeof n?.value=="string"&&!n?.value)throw new a("Value should not be an empty string.",{code:"INVALID_PARAMETER"});if(typeof n?.searchFor=="string"&&!n?.searchFor)throw new a('"searchFor" should not be an empty string.',{code:"INVALID_PARAMETER"});return w.bind(this)("get-users",n,{auth:true,fetchOptions:e})}async function At(n){await this.__connection;let e=await w.bind(this)("last-verified-email",n,{auth:true});return e.includes("SUCCESS")?(await F.bind(this)().getSession({refreshToken:true}),this.user):e}async function It(n){return await this.__connection,n=g.Params(n,{username:g.Email,redirect:g.Url},["username"]),await w.bind(this)("request-username-change",n,{auth:true})}var G=null,Tt=typeof SubmitEvent<"u",fr=typeof HTMLFormElement<"u",de=q(),Le=0;function kt(n){if(!n)return null;let e=Number(n);if(Number.isFinite(e))return Math.max(0,e*1e3);let t=Date.parse(n);return Number.isNaN(t)?null:Math.max(0,t-Date.now())}function Oe(n,e){return e>0?n/e*100:0}var St=n=>{let{auth:e,type:t,endpoints:i}=n,r=i[0],s=i[1];if(Le++,t==="admin"){let o=Object.entries(r).filter(([c,u])=>c.includes(e?"_private":"_public")&&c!=="get_users_private"&&c!=="service_public"&&typeof u=="string").map(([,c])=>c);if(!o.length)throw new a("No available admin gateways.",{code:"INVALID_REQUEST"});return o[Le%o.length]}if(t==="record"){let o=Object.entries(s).filter(([c,u])=>c.includes(e?"record_private":"record_public")&&typeof u=="string").map(([,c])=>c);if(!o.length)throw new a("No available record gateways.",{code:"INVALID_REQUEST"});return o[Le%o.length]}throw new a("Invalid gateway type.",{code:"INVALID_REQUEST"})};async function hr(n,e){let t=await Promise.all([this.admin_endpoint,this.record_endpoint]),i=t[0],r=t[1],s=n.split("?"),o=s.length>1?"?"+s[1]:"";switch(n=s[0],n){case "get-users":return i.get_users_private+n+o;case "service":return i.service_public+n+o;case "get-newsletters":case "get-public-newsletters":case "subscribe-newsletter":case "subscribe-public-newsletter":case "signupkey":case "admin-newsletter-request":case "admin-signup":case "confirm-signup":case "openid-logger":case "block-account":case "admin-edit-profile":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 "register-newsletter-group":case "newsletter-group-endpoint":case "invitation-list":case "csr":return St.bind(this)({auth:e,type:"admin",endpoints:t})+n+o;case "post-record":case "bulk-records":return (e?r.post_private:r.post_public)+n+o;case "get-records":return (e?r.get_private:r.get_public)+n+o;case "del-files":case "del-records":return r.del_private+n+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-uniqueid":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":return St.bind(this)({auth:e,type:"record",endpoints:t})+n+o;default:return g.Url(n)+o}}var ue={};function xt(){G&&(G.terminate(),G=null);}async function w(n,e=null,t,i){this.log("request",{url:n,data:e,options:t,_etc:i||{}}),t=t||{};let{auth:r=false,method:s="post",bypassAwaitConnection:o=false}=t;s=s.toUpperCase();let c=null,u=e?.service||this.service,d=e?.owner||this.owner,f=null,l=await hr.bind(this)(n,!!r);if(!o&&(c=await this.__connection,!c))throw new a("Invalid connection. The service could have been disabled, or has a restricted CORS.",{code:"INVALID_REQUEST"});r&&(f=await ie.bind(this)());let h={},{fetchMore:R=false,progress:p}=t?.fetchOptions||{};if(t?.fetchOptions&&Object.keys(t.fetchOptions).length){for(let T of ["limit","startKey","ascending"])t.fetchOptions.hasOwnProperty(T)&&(h[T]=t.fetchOptions[T]);h=g.Params(h,{limit:T=>{if(typeof T!="number")throw new a("Fetch limit should be a number.",{code:"INVALID_REQUEST"});if(T>1e3)throw new a("Fetch limit should be below 1000.",{code:"INVALID_REQUEST"});return T},startKey:T=>T,ascending:"boolean"});}let A=i?.ignoreService?{}:{service:u,owner:d};Object.assign(A,h),e=D(e).data,e?e&&typeof e=="object"&&(e=Object.assign(A,e)):e=A;let S=`${s}:${r?"auth":"public"}:${n}`,E=(()=>{if(e&&typeof e=="object"&&Object.keys(e).length&&!(de&&e instanceof FormData)){let N=function(v){return typeof v=="object"&&v!==null?Object.keys(v).sort().reduce(($,ee)=>(typeof v[ee]=="object"&&v[ee]!==null?$[ee]=N(v[ee]):$[ee]=v[ee],$),{}):v};return V.hash(S+"/"+JSON.stringify(N(e)))}return V.hash(S+"/"+u)})(),{requestKey:k,requestKeyWithStartKey:P}=pr.bind(this)({params:e,url:n,fetchMore:R,hashedParams:E});if(!k||k&&typeof k=="object")return k;if(this.log("requestKey",P),typeof P=="string"&&ue[P]instanceof Promise)return this.log("request:returning pending",P),ue[P];let x={Accept:"*/*"};if(Object.prototype.hasOwnProperty.call(t,"contentType")&&t.contentType!==void 0){let T=t.contentType===null?"application/x-www-form-urlencoded":t.contentType;T&&(x["Content-Type"]=T);}else x["Content-Type"]="application/json";f&&(x.Authorization=f);let L={public_identifier:this.__public_identifier,service:u,owner:d};x["Content-Meta"]=JSON.stringify(L);let j={headers:x};if(t?.responseType&&(j.responseType=t.responseType),s==="GET"){if(e){let T=[];if(de&&e instanceof FormData?T=Array.from(e.entries()).map(([N,v])=>{let $=typeof v=="string"?v:v.name;return encodeURIComponent(N)+"="+encodeURIComponent($)}):T=Object.keys(e).map(N=>{let v=e[N];return typeof v!="string"&&(v=JSON.stringify(v)),encodeURIComponent(N)+"="+encodeURIComponent(v)}),T.length){let N=l.includes("?")?l.endsWith("?")||l.endsWith("&")?"":"&":"?";l+=N+T.join("&");}}j.body=null;}else if(de&&e instanceof FormData)j.body=e;else if(x["Content-Type"]==="application/x-www-form-urlencoded"&&e&&typeof e=="object"){let T=new URLSearchParams;for(let N of Object.keys(e)){let v=e[N];T.append(N,typeof v=="string"?v:JSON.stringify(v));}j.body=T.toString();}else typeof e=="string"?j.body=e:j.body=e?JSON.stringify(e):null;if(j.method=s,G===null){let T={batchSize:this.requestBatchSize,breakWhenError:false,onProgress:N=>{this.onBatchProcess.forEach(v=>v(N));}};G=new Pt__default.default(T);}return this.log("request-opt",j),new Promise((T,N)=>{G.add([async()=>{let v=vt.bind(this)(l,j,p);ue[P]=v;try{let $=mr.bind(this)({hashedParam:k,requestKeyWithStartKey:P,url:n,fetched:await v});return delete ue[P],this.log("request:end",$),T($),$}catch($){throw delete ue[P],this.log("request:err",$),N($),$}}]);})}function pr(n){let{params:e={},url:t,fetchMore:i=false,hashedParams:r}=n||{};if(e.startKey){if(!(typeof e.startKey=="object"&&Object.keys(e.startKey).length)&&e.startKey!=="start"&&e.startKey!=="end")throw new a(`"${e.startKey}" is invalid startKey key.`,{code:"INVALID_PARAMETER"});e.startKey==="start"&&(i=false,delete e.startKey);}if(!i){if(this.__cached_requests?.[t]?.[r]&&delete this.__cached_requests[t][r],this.__startKeyHistory?.[t]?.[r]){if(Array.isArray(this.__startKeyHistory[t][r])&&this.__startKeyHistory[t][r].length)for(let u of this.__startKeyHistory[t][r]){let d=r+V.hash(u);this.__cached_requests?.[t]&&this.__cached_requests?.[t]?.[d]&&delete this.__cached_requests[t][d];}delete this.__startKeyHistory[t][r];}return {requestKeyWithStartKey:r,requestKey:r}}if(!Array.isArray(this.__startKeyHistory?.[t]?.[r]))return {requestKeyWithStartKey:r,requestKey:r};let s=this.__startKeyHistory[t][r],o=s[s.length-1],c=r;if(o){if(o==="end")return {requestKey:{list:[],startKey:"end",endOfList:true,startKeyHistory:s},requestKeyWithStartKey:c};c+=V.hash(o),e.startKey=JSON.parse(o);}return this.__cached_requests?.[t]?.[c]?{requestKey:this.__cached_requests[t][c],requestKeyWithStartKey:c}:{requestKeyWithStartKey:c,requestKey:r}}function vt(n,e,t){return new Promise((i,r)=>{let s=new XMLHttpRequest;s.open(e.method||"GET",n);for(var o in e.headers||{})s.setRequestHeader(o,e.headers[o]);e.responseType&&(s.responseType=e.responseType),s.onload=()=>{if(s.status<400)if(e.responseType=="json"||e.responseType=="blob")i(s.response);else {let c=s.responseText;try{c=JSON.parse(c);}catch{}i(c);}else if(s.status===429){let c=s.getResponseHeader("Retry-After"),u=kt(c);u!==null?setTimeout(()=>{vt(n,e,t).then(i,r);},u):r("Too many requests");}else {let c=s.status,u=["INVALID_CORS","INVALID_REQUEST","SERVICE_DISABLED","INVALID_PARAMETER","ERROR","EXISTS","NOT_EXISTS"],d=e.responseType=="blob"?s.response:s.responseText;try{d=JSON.parse(d);}catch{}if(typeof d=="string"){let f=d.split(":"),l=f.splice(0,1)[0].trim(),h=f.join(":").trim();r(new a(h||d,{code:u.includes(l)?l:"ERROR"}));}else if(typeof d=="object"&&d?.message){let f=d?.code||(c?c.toString():null)||"ERROR",l=d.message,h=d?.cause;typeof l=="string"&&(l=l.trim()),r(new a(l,{cause:h,code:f}));}else r(d);}},s.onerror=()=>r("Network error"),s.onabort=()=>r("Aborted"),s.ontimeout=()=>r("Timeout"),typeof t=="function"&&(s.onprogress=c=>{t({status:"download",progress:Oe(c.loaded,c.total),loaded:c.loaded,total:c.total,abort:()=>s.abort()});},s.upload&&(s.upload.onprogress=c=>{t({status:"upload",progress:Oe(c.loaded,c.total),loaded:c.loaded,total:c.total,abort:()=>s.abort()});})),s.send(e.body);})}function mr(n){let{hashedParam:e,requestKeyWithStartKey:t,url:i,fetched:r}=n;if(!r?.startKey)return r;this.__startKeyHistory.hasOwnProperty(i)||(this.__startKeyHistory[i]={}),this.__startKeyHistory[i].hasOwnProperty(e)||(this.__startKeyHistory[i][e]=[]);let s=r.startKey==="end"?"end":JSON.stringify(r.startKey);return this.__startKeyHistory[i][e].includes(s)||this.__startKeyHistory[i][e].push(s),this.__cached_requests?.[i]||(this.__cached_requests[i]={}),this.__cached_requests[i][t]=r,Object.assign({startKeyHistory:this.__startKeyHistory[i][e]},r)}async function Ee(n,e){await this.__connection;let{record_id:t,service:i=this.service,progress:r}=e;if(!t)throw new a('"record_id" is required.',{code:"INVALID_PARAMETER"});if(Tt&&n instanceof SubmitEvent&&(n=n.target),fr&&n instanceof HTMLFormElement&&(n=new FormData(n)),!de||!(n instanceof FormData))throw new a('"fileList" should be a FormData or HTMLFormElement.',{code:"INVALID_PARAMETER"});let o={reserved_key:ae(),service:i,request:"post"};e?.record_id&&(o.id=e.record_id);let c,u=(f,l,h)=>new Promise((R,p)=>{c=new XMLHttpRequest,c.open("POST",f),c.onload=()=>{let A=c.responseText;try{A=JSON.parse(A);}catch{}if(c.status>=200&&c.status<300)R(A);else if(c.status===429){let S=c.getResponseHeader("Retry-After"),E=kt(S);E!==null?setTimeout(()=>{u(f,l,h).then(R,p);},E):p("Too many requests");}else p(A);},c.onerror=()=>p("Network error"),c.onabort=()=>p("Aborted"),c.ontimeout=()=>p("Timeout"),c.upload&&typeof h=="function"&&(c.upload.onprogress=h),c.send(l);});function d(f){let l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(f===0)return l[0];let h="";for(;f>0;)h=l[f%62]+h,f=Math.floor(f/62);return h}return G===null&&(G=new Pt__default.default({batchSize:this.requestBatchSize,breakWhenError:false})),new Promise((f,l)=>{G.add([async()=>{let h=[],R=[],p=[];for(let[A,S]of n.entries()){if(!(S instanceof File))continue;let E=Object.assign({key:A+"/"+S.name,sizeKey:d(S.size),contentType:S.type||null},o),{fields:k=null,url:P,cdn:x}=await w.bind(this)("get-signed-url",E,{auth:!!this.__user});p.push(x);let C=new FormData;for(let L in k)C.append(L,k[L]);C.append("file",S);try{await u(P,C,typeof r=="function"?L=>r({status:"upload",progress:Oe(L.loaded,L.total),currentFile:S,completed:h,failed:R,loaded:L.loaded,total:L.total,abort:()=>c.abort()}):null),h.push(S);}catch{R.push(S);}}return f({completed:h,failed:R,bin_endpoints:p}),{completed:h,failed:R,bin_endpoints:p}}]);})}var we={};function y(n){let{preventMultipleCalls:e=false}=n||{};return function(t,i,r){let s=r.value;r.value=function(...o){let c=o[0],u=true,d=null,f="",l={},h=false;if(Tt&&c instanceof SubmitEvent){c.preventDefault();let E=window.location.href;d=c.target;let k=new URL(d.action);f=k.href;let P=f?f.match(/(?<=\{).*?(?=\})/g):"";if(P)for(let x of P){if(!x)continue;let C=d.querySelector(`[name="${x}"]`);if(C)if(C.type==="file")for(let L=0;L<=C.files.length-1;L++)C.files[L]&&(l[x]||(l[x]=[]),l[x].push(new Promise((j,T)=>{let N=new FileReader;N.onload=function(){j(N.result);},N.readAsDataURL(C.files[L]),N.onerror=T;})));else f=f.replace(`{${x}}`,C.value);}d.getAttribute("action")===null?u=false:h=k.href===E;}let R=async E=>{if(f)for(let k in l)l[k].length&&(f=f.replace(`{${k}}`,(await Promise.all(l[k])).join(",")));return d&&u&&(window.sessionStorage.setItem(`${this.service}:${V.hash(f)}`,JSON.stringify(E)),h?window.location.replace(f):window.location.href=f),E},p,A=E=>{throw E instanceof a?E.name=i+"()":E=E instanceof Error?E:new a(E,{name:i+"()"}),E},S=async()=>{try{if(p=s.bind(this)(...o),p instanceof Promise){let E=await p;return R(E)}return R(p)}catch(E){throw A(E)}};if(e){let E=`${i}:${this?.__public_identifier||""}:${this?.service||""}:${this?.owner||""}`;return we?.[E]||(we[E]=S().finally(()=>{delete we[E];})),we[E]}return S()};}}async function Dt(){await this.__connection;let n=`${this.service}:${V.hash(window.location.href.split("?")[0])}`,e=window.sessionStorage.getItem(n);if(window.sessionStorage.removeItem(n),e!==null){try{e=JSON.parse(e);}catch{}return e}return null}var br=128,_r=64,yr=128,wr=256,Er="\u{10FFFF}",Rr=/[\u0000-\u001F\u007F]|\u{10FFFF}/u,Ar=/[\/!*#]/;function X(n,e,t={}){let{allowEmpty:i=false,maxLength:r,blockKeyDelimiters:s=false,disallowLeadingDollar:o=false,onlyAlphanumeric:c=false}=t;if(typeof n!="string")throw new a(`"${e}" should be type: <string>.`,{code:"INVALID_PARAMETER"});if(c&&/[^a-zA-Z0-9]/.test(n))throw new a(`"${e}" should only contain alphanumeric characters.`,{code:"INVALID_PARAMETER"});if(!i&&n.length===0)throw new a(`"${e}" is required.`,{code:"INVALID_PARAMETER"});if(r&&n.length>r)throw new a(`"${e}" should be <= ${r} characters.`,{code:"INVALID_PARAMETER"});if(Rr.test(n)||n.includes(Er))throw new a(`"${e}" cannot include control characters or unsupported sentinel characters.`,{code:"INVALID_PARAMETER"});if(s&&Ar.test(n))throw new a(`"${e}" cannot include reserved delimiters: / ! * #`,{code:"INVALID_PARAMETER"});if(o&&n.startsWith("$"))throw new a(`"${e}" cannot start with "$".`,{code:"INVALID_PARAMETER"});return n}function Fe(n,e="table.name"){return X(n,e,{allowEmpty:false,maxLength:br,blockKeyDelimiters:true})}function Me(n,e="tag"){return X(n,e,{allowEmpty:false,maxLength:_r,blockKeyDelimiters:true})}function ge(n,e="index.name"){return X(n,e,{allowEmpty:false,maxLength:yr,blockKeyDelimiters:true,disallowLeadingDollar:true})}function Nt(n,e="index.value"){return X(n,e,{allowEmpty:true,maxLength:wr})}function Ut(n){if(!n.record_id&&!n.unique_id)return null;let e={};return n?.service&&(e.service=n.service),n?.owner&&(e.owner=n.owner),n?.record_id?e.record_id=X(n.record_id,"record_id",{allowEmpty:false,onlyAlphanumeric:true}):n?.unique_id&&(e.unique_id=n.unique_id),e}function Ve(n){if(n===void 0)return 0;if(typeof n=="number"){if(n>99||n<0)throw new a('"table.access_group" value should be within a range of 0 ~ 99.',{code:"INVALID_REQUEST"})}else if(typeof n=="string"){if(n={private:"private",public:0,authorized:1,admin:99}[n],n===void 0)throw new a('"table.access_group" is invalid.',{code:"INVALID_PARAMETER"})}else throw new a('"table.access_group" should be type: <number | string>.',{code:"INVALID_PARAMETER"});if(!this.__user&&n)throw new a("Unsigned users have no access to records with access group.",{code:"INVALID_REQUEST"});return n}var Re=4503599627370496;function Ae(n){if(typeof n=="number"){if(n>Re||n<-Re)throw new a(`Number value should be within range -${Re} ~ +${Re}`,{code:"INVALID_PARAMETER"});return n}if(typeof n=="boolean")return n;if(typeof n=="string")return Nt(n,"index.value");throw new a('"index.value" should be type: <number | boolean | string>.',{code:"INVALID_PARAMETER"})}function Ct(n,e){if(!e.index||!("value"in e.index))throw new a('"index.value" is required.',{code:"INVALID_PARAMETER"});if(e.index.name==="$record_id")throw new a(`Cannot do "index.range" on ${e.index.name}`,{code:"INVALID_PARAMETER"});if(typeof e.index.value!=typeof n)throw new a('"index.range" type should match the type of "index.value".',{code:"INVALID_PARAMETER"});return typeof n=="string"?Nt(n,"index.range"):n}var Ie={};async function se(n,e){if(n?.rec&&e!=="called from postRecord"){let o=window.sessionStorage.getItem(`${this.service}:post:${n.rec}`);if(o){try{n=JSON.parse(o);}catch{}window.sessionStorage.removeItem(`${this.service}:post:${n.rec}`);}}let t={user_id:"",record_id:"",updated:0,uploaded:0,readonly:false,table:{name:"",access_group:0,subscription:{is_subscription_record:false,upload_to_feed:false,notify_subscribers:false,feed_referencing_records:false,notify_referencing_records:false}},referenced_count:0,source:{referencing_limit:null,prevent_multiple_referencing:false,can_remove_referencing_records:false,only_granted_can_reference:false},ip:"",bin:{}},i=false;function r(o){let c=o=="**"?"private":parseInt(o);return c=c==0?"public":c==1?"authorized":c==99?"admin":c,c}let s={ip:o=>{let c=o.split("#"),u=c[0];c.length>1&&(t.unique_id=c[1]),u.slice(-1)==="R"?(t.readonly=true,u=u.slice(0,-1)):t.readonly=false,/^\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3}$/.test(u)&&(u=u.split("-").join("."),i=true),t.ip=u;},rec:o=>{if(!o)return;t.record_id=o;let c=o.substring(0,o.length-9),u=B(c);t.uploaded=u;},usr:o=>{t.user_id=o;},tbl:o=>{if(o&&!t.table.name){let c=o.split("/");t.table.name=c[0],t.table.access_group=r(c[2]),c?.[3]&&(t.table.subscription.is_subscription_record=true);}},usr_tbl:o=>{let c=o.split("/");t.user_id||(t.user_id=c[0]),t.table.name||(t.table.name=c[1],t.table.access_group=r(c[3]),c?.[4]&&(t.table.subscription.is_subscription_record=true));},idx:o=>{if(!o)return;let c=o.split("!"),u=c.splice(0,1)[0],d=Ir("!"+c.join("!"));t.index={name:u,value:d};},ref:o=>{o&&(t.reference=o.split("/")[0]);},tags:o=>{t.tags=o;},upd:o=>{t.updated=o;},acpt_mrf:o=>{t.source.prevent_multiple_referencing=!o;},ref_limt:o=>{t.source.referencing_limit=o;},rfd:o=>{t.referenced_count=o;},bin:async o=>{let c={},u=t?.reference||null;if(Array.isArray(o)){let d=await Promise.all(o.map(async f=>{try{let l=f.split("/").slice(3).join("/"),h=l.split("/");if(h.length<12)return null;let R=decodeURIComponent(h[h.length-1]),p=decodeURIComponent(h[10]),A=h[9],S=h[8],E=r(h[6]),k=f;E!=="public"&&(k=await Se.bind(this)(f,{dataType:"endpoint",_ref:u}));let P={access_group:E,filename:R,url:k,path:l,size:B(A),uploaded:B(S),getFile:(x,C)=>{let L={dataType:x||"download",progress:C,_ref:u,_update:P};return Se.bind(this)(k,L)}};return {pathKey:p,obj:P}}catch{return null}}));for(let f of d)if(f){if(c[f.pathKey]){c[f.pathKey].push(f.obj);continue}c[f.pathKey]=[f.obj];}}t.bin=c;},prv_acs:o=>{for(let c in o)["notify_subscribers","upload_to_feed","feed_referencing_records","notify_referencing_records"].includes(c)?t.table.subscription[c]=o[c]:t.source[c]=o[c];},data:o=>{let c=o;o==="!D%{}"?c={}:o==="!L%[]"&&(c=[]),t.data=c;}};if(n.record_id)return n;for(let o in s)if(n.hasOwnProperty(o)){let c=s[o](n[o]);c instanceof Promise&&await c;}return i&&(t.user_id="anonymous:"+t.user_id),t}function Ir(n){let e=n.substring(3);switch(n.substring(0,3)){case "!S%":return e;case "!N%":let i=e.split("."),r=Number(i[0])-4503599627370496;return i.length===1?r:parseFloat(r.toString()+"."+i[1]);case "!B%":return e==="1";case "!L%":case "!D%":try{return JSON.parse(e)}catch{throw new a("Value parse error.",{code:"PARSE_ERROR"})}default:return n}}async function Lt(n){let{endpoints:e}=n;if(typeof e=="string"&&(e=[e]),!Array.isArray(e))throw new a('"endpoints" should be type: array | string.',{code:"INVALID_PARAMETER"});let t=await w.bind(this)("del-files",{endpoints:e,storage:"records"},{auth:true,method:"post"}),i=[];for(let r in t)i.push(se.bind(this)(t[r]));return Promise.all(i)}async function Se(n,e){if(typeof n!="string")throw new a('"url" should be type: string.',{code:"INVALID_PARAMETER"});let t=n.split("?"),i=t.shift()||"",r=t.length?"?"+t.join("?"):"",s=g.Url(i);n=s+r;let o=false,c=s.split("/"),d=c[2].split("."),f=null;d.length===3&&d[1]==="skapi"&&(f=d[0],o=true);let l=c.slice(3),h=false;if(!o&&(l[0]==="auth"||l[0]==="publ"))try{g.UserId(l[2]),g.UserId(l[3]),h=l[0]=="auth",o=!0;}catch{throw new a("Invalid file url.",{code:"INVALID_PARAMETER"})}let R=f?null:l[1];if(e=g.Params(e,{expires:["number",()=>0],dataType:["base64","blob","endpoint","text","info",()=>"download"],progress:"function",_ref:"string",_update:E=>E}),e?.dataType==="info")return {url:n,filename:l[l.length-1],fileKey:l[l.length-2],access_group:l[6]==="**"?"private":l[6]==="01"?"authorized":l[6]==="00"?"public":parseInt(l[6]),uploader:l[3],record_id:l[4]==="records"?l[5]:"N/A",filesize:B(l[9]),uploaded:B(l[8])};let p=n.split("/").slice(-1)[0],A=e.expires;if(A){if(!o)throw new a("Expires option can only be used on skapi cdn endpoints.",{code:"INVALID_PARAMETER"});if(A<0)throw new a('"config.expires" should be > 0. (seconds)',{code:"INVALID_PARAMETER"});let E={request:f?"get-host":"get",id:f||l[5],key:n,expires:A};R&&(E.service=R),n=(await w.bind(this)("get-signed-url",E,{auth:true})).url;}else if(h){let E=Math.floor(Date.now()/1e3);if(!this.bearerToken&&(!this.session?.idToken?.payload?.exp||this.session.idToken.payload.exp<E)){this.log("getFile:requesting new token",null);try{await F.bind(this)().getSession({refreshToken:!0}),this.log("getFile:received new tokens",{exp:this.session?.idToken?.payload?.exp,currTime:E,expiresIn:this.session?.idToken?.payload?.exp-E,token:this.session?.accessToken?.jwtToken,refreshToken:this.session?.refreshToken?.token});}catch(C){throw this.log("getFile:new token error",C),new a("User login is required.",{code:"INVALID_REQUEST"})}}let k=this.bearerToken||this.session?.idToken?.jwtToken;if(!k||!this.user?.user_id)throw new a("User login is required.",{code:"INVALID_REQUEST"});n+=`${n.includes("?")?"&":"?"}t=${encodeURIComponent(k)}`;let P=l[6]==="**"?"**":parseInt(l[6]),x=this.user?.access_group??-1;if(this.user.user_id!==l[3]&&(P==="**"||x<P)){let C=l[5];if(this.__private_access_key[C]&&typeof this.__private_access_key[C]=="string")n+=`&p=${encodeURIComponent(this.__private_access_key[C])}`;else if(this.owner!==this.host)try{let L=await this.requestPrivateRecordAccessKey({record_id:C,reference_id:e?._ref});n+=`&p=${encodeURIComponent(L)}`;}catch{}}}if(e?.dataType==="endpoint")return e._update&&(e._update.url=n),n;if(e?.dataType==="download"){let E=document.createElement("a");return E.href=n,document.body.appendChild(E),E.setAttribute("download",p),E.target="_blank",E.click(),document.body.removeChild(E),null}return new Promise(async(E,k)=>{try{let P=await w.bind(this)(n,null,{method:"get",contentType:null,responseType:e?.dataType==="text"?"text":"blob",fetchOptions:{progress:e?.progress}},{ignoreService:!0});if(e?.dataType==="base64"){let x=new FileReader;x.onloadend=()=>E(x.result),x.readAsDataURL(P);}else E(P);}catch(P){k(P);}})}async function Ot(n,e=false){n=D(n,{ignoreEmpty:true}).data||{};let t="",i=Ut(n);if(i)n=i,t=n.record_id||n.unique_id,typeof t=="string"&&(typeof this.__private_access_key?.[t]=="string"&&(n.private_key=this.__private_access_key?.[t]||void 0),this.__my_unique_ids[t]&&(e?delete this.__my_unique_ids[t]:n.record_id=this.__my_unique_ids[t]));else {let r=await M.bind(this)(),s=n?.reference,o="";s?.record_id||s?.unique_id?(t=s.record_id||s.unique_id,t&&typeof this.__private_access_key?.[t]=="string"&&(n.private_key=this.__private_access_key?.[t]||void 0),n.reference=t):s?.user_id&&(o=s.user_id,n.reference=o),typeof n?.table=="string"&&(n.table={name:n.table,access_group:0}),n.index&&n.index.hasOwnProperty("range")&&n.index.hasOwnProperty("condition")&&delete n.index.range;let c=u=>({table:{name:[d=>Fe(d,"table.name")],access_group:Ve.bind(this),subscription:d=>g.UserId(d,'User ID in "subscription"')},reference:"string",index:{name:["$updated","$uploaded","$referenced_count","$user_id",d=>ge(d,"index.name")],value:d=>{let f={$updated:"number",$uploaded:"number",$referenced_count:"number",$user_id:g.UserId};if(f.hasOwnProperty(u.index.name)){let l=f[u.index.name];if(typeof l=="function")return l(d);if(l!==typeof d)throw new a(`"index.value" should be type: ${l}.`,{code:"INVALID_PARAMETER"});return d}return typeof d=="string"&&!d?"":Ae(d)},condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq"],range:d=>Ct(d,u)},tag:d=>{if(d==null)return d;if(typeof d=="string")return Me(d,"tag");throw new a('"tag" should be type: string.',{code:"INVALID_PARAMETER"})},private_key:"string"});n=g.Params(n||{},c(n),o||r?[]:["table"],{ignoreEmpty:true});}return {query:n,is_reference_fetch:t}}async function Ft(n,e){await this.__connection;let t=await Ot.bind(this)(n),i=t.is_reference_fetch,r=await w.bind(this)("get-records",t.query,{fetchOptions:e,auth:!!this.__user,method:this.__user?"post":"get"});i&&r?.reference_private_key&&typeof r.reference_private_key=="string"&&(this.__private_access_key[i]=r.reference_private_key);let s=[];for(let o in r.list)s.push(se.bind(this)(r.list[o]));return r.list=await Promise.all(s),r}function Mt(n){let e="",t=[],i=g.Params(n||{},{record_id:s=>{if(!s&&!n.table)throw new a('"table.name" is required.',{code:"INVALID_PARAMETER"});if(s)return X(s,"record_id",{allowEmpty:false,onlyAlphanumeric:true})},unique_id:"string",readonly:"boolean",table:{name:s=>Fe(s,"table.name"),subscription:{is_subscription_record:"boolean",upload_to_feed:"boolean",notify_subscribers:"boolean",feed_referencing_records:"boolean",notify_referencing_records:"boolean"},access_group:Ve.bind(this)},source:{referencing_limit:s=>{if(s===null)return null;if(typeof s=="number"){if(0>s)throw new a('"reference_limit" should be >= 0',{code:"INVALID_PARAMETER"});if(s>4503599627370546)throw new a('"reference_limit" should be <= 4503599627370546',{code:"INVALID_PARAMETER"});return s}throw new a('"reference_limit" should be type: <number | null>',{code:"INVALID_PARAMETER"})},prevent_multiple_referencing:"boolean",can_remove_referencing_records:"boolean",only_granted_can_reference:"boolean",allow_granted_to_grant_others:"boolean",referencing_index_restrictions:s=>{if(s===void 0)return;if(!s||Array.isArray(s)&&!s.length)return null;let o={name:u=>ge(u,'"name" in "index_restrictions"'),value:u=>Ae(u),condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne",()=>null],range:u=>{if(u!==null&&typeof s.value!=typeof u)throw new a('Index restriction "range" type should match the type of "value".',{code:"INVALID_PARAMETER"});if(!s.hasOwnProperty("value"))throw new a('Index restriction "value" is required.',{code:"INVALID_PARAMETER"});return u}};Array.isArray(s)||(s=[s]);let c=s.map(u=>g.Params(u,o,["name"]));if(c.length)for(let u of c)u.condition&&u.hasOwnProperty("range")&&delete u.range;return c}},reference:s=>{if(s===null)return {record_id:null};if(s){if(typeof s=="string")return e=s,this.__my_unique_ids[s]?this.__my_unique_ids[s]:s;if(typeof s!="object")throw new a('"reference" should be type: <string | object>.',{code:"INVALID_PARAMETER"});return g.Params(s,{unique_id:"string",record_id:o=>o==null?o:(e=o,typeof this.__private_access_key?.[o]=="string"&&(n.reference_private_key=this.__private_access_key[o]||void 0),X(o,"reference.record_id",{allowEmpty:false,onlyAlphanumeric:true}))})}},index:{name:s=>ge(s,"index.name"),value:s=>Ae(s)},tags:s=>{if(s==null)return s;if(typeof s=="string"&&(s=s.split(",").map(o=>o.trim())),!Array.isArray(s))throw new a('"tag" should be type: <string | string[]>.',{code:"INVALID_PARAMETER"});return s.map(o=>Me(o,"tag"))},remove_bin:s=>{if(!s)return null;let o=[];if(Array.isArray(s))for(let c of s)if(typeof c=="string")o.push(decodeURIComponent(c.split("?")[0]));else if(c.url&&c.size&&c.filename){let d=c.url.split("/").slice(0,3).join("/")+"/"+c.path;o.push(d);}else throw new a('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});else throw new a('"remove_bin" should be type: <string[] | BinaryFile[] | null>',{code:"INVALID_PARAMETER"});return o},progress:"function",data:s=>s},[],{precall:s=>{s.files&&(t=s.files);}}),r=n.progress||null;if(delete i.progress,!this.__user){let s=!!(i.table?.subscription?.is_subscription_record||i.table?.subscription?.upload_to_feed||i.table?.subscription?.notify_subscribers||i.table?.subscription?.feed_referencing_records||i.table?.subscription?.notify_referencing_records);if(i.record_id)throw new a("Public users cannot update existing records.",{code:"INVALID_REQUEST"});if(i.table.access_group!=="public"&&i.table.access_group!==0)throw new a("Public users can only post records to public tables.",{code:"INVALID_REQUEST"});if(s)throw new a("Public users cannot post subscription records.",{code:"INVALID_REQUEST"});if(i.remove_bin)throw new a("Public users cannot remove files from records.",{code:"INVALID_REQUEST"});if(i.unique_id)throw new a("Public users cannot set unique_id for records.",{code:"INVALID_REQUEST"})}return {config:i,progress:r,is_reference_post:e,files:t}}async function Vt(n,e,t){if(await this.__connection,!e)throw new a('"config" argument is required.',{code:"INVALID_PARAMETER"});let i=Mt.bind(this)(e),r=i.config,s=i.progress,o=i.is_reference_post,c={auth:!!this.__user,method:"post"},u=[],d=D(n);t&&Array.isArray(t)&&t.length&&(u=u.concat(t)),d.files&&Array.isArray(d.files)&&d.files.length&&(u=u.concat(d.files));let f=null;f=Object.assign({data:d.data},r);let l={};typeof s=="function"&&(l.progress=s),Object.keys(l).length&&Object.assign(c,{fetchOptions:l});let h=await w.bind(this)("post-record",f,c);if(q()&&u.length){let p=new FormData;for(let E of u)p.append(E.name,E.file,E.file.name);let A={record_id:h.rec,progress:s};r.hasOwnProperty("service")&&(A.service=r.service);let{bin_endpoints:S}=await Ee.bind(this)(p,A);h.bin?h.bin.push(...S):h.bin=S;}o&&typeof h?.reference_private_key=="string"&&(this.__private_access_key[o]=h.reference_private_key),window.sessionStorage.setItem(`${this.service}:post:${h.rec}`,JSON.stringify(h));let R=await se.bind(this)(h,"called from postRecord");return R.unique_id&&(this.__my_unique_ids[R.unique_id]=R.record_id,window.sessionStorage.setItem(`${this.service}:uniqueids`,JSON.stringify(this.__my_unique_ids))),R}async function $t(n){if(await this.__connection,!Array.isArray(n)||!n.length)throw new a('"params" should be a non-empty array.',{code:"INVALID_PARAMETER"});!this.__user;let t=[],i,r,s=null,c={_is_bulk_:n.map((h,R)=>{if(!h||typeof h!="object"||Array.isArray(h))throw new a(`"params[${R}]" should be type: <object>.`,{code:"INVALID_PARAMETER"});let p=Mt.bind(this)(h),A=p.config;if(p.is_reference_post&&t.push(p.is_reference_post),typeof A.progress=="function"&&s===null&&(s=A.progress),A.service!==void 0){if(i===void 0)i=A.service;else if(i!==A.service)throw new a('All bulk params should share the same "service" value.',{code:"INVALID_PARAMETER"})}if(A.owner!==void 0){if(r===void 0)r=A.owner;else if(r!==A.owner)throw new a('All bulk params should share the same "owner" value.',{code:"INVALID_PARAMETER"})}return delete A.progress,delete A.service,delete A.owner,A})};i!==void 0&&(c.service=i),r!==void 0&&(c.owner=r);let u={auth:!!this.__user,method:"post"},d={};typeof s=="function"&&(d.progress=s),Object.keys(d).length&&Object.assign(u,{fetchOptions:d});let f=await w.bind(this)("bulk-records",c,u),l=await Promise.all(f.map(h=>se.bind(this)(h,"called from postRecord")));for(let h=0;h<f.length;h++){let R=f[h],p=l[h];if(R?.rec&&window.sessionStorage.setItem(`${this.service}:post:${R.rec}`,JSON.stringify(R)),typeof R?.reference_private_key=="string")for(let A of t)this.__private_access_key[A]=R.reference_private_key;p?.unique_id&&(this.__my_unique_ids[p.unique_id]=p.record_id);}return Object.keys(this.__my_unique_ids).length&&window.sessionStorage.setItem(`${this.service}:uniqueids`,JSON.stringify(this.__my_unique_ids)),l}async function qt(n,e){let t=await w.bind(this)("get-table",g.Params(n||{},{table:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:e})),i={cnt_rec:"number_of_records",tbl:"table",srvc:"service"};if(Array.isArray(t?.list))for(let r of t.list)for(let s in i)r.hasOwnProperty(s)&&(r[i[s]]=r[s],delete r[s]);return t}async function jt(n,e){if(!n?.table)throw new a('"table" is required.',{code:"INVALID_PARAMETER"});let t=g.Params(n||{},{table:"string",index:s=>ge(s,"index.name"),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(t.hasOwnProperty("order")){if(!t.order?.by)throw new a('"order.by" is required.',{code:"INVALID_PARAMETER"});if(t.order.hasOwnProperty("condition")&&!t.order.hasOwnProperty("value"))throw new a('"value" is required for "condition".',{code:"INVALID_PARAMETER"});if(t.hasOwnProperty("index")&&t.index.substring(t.index.length-1)!==".")throw new a('"index" should be a parent index name of the compound index when using "order.by"',{code:"INVALID_PARAMETER"})}let i=await w.bind(this)("get-index",t,Object.assign({auth:!!this.__user},{fetchOptions:e})),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(s=>{let o=s.idx.split("/"),c={table:o[1],index:o[2],number_of_records:s.cnt_rec};for(let u in r)Object.prototype.hasOwnProperty.call(s,u)&&(c[r[u]]=s[u]);return c})),i}async function Bt(n,e){let t=await w.bind(this)("get-tag",g.Params(n||{},{table:"string",tag:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:e}));return Array.isArray(t?.list)&&(t.list=t.list.map(i=>{let r=i.tag.split("/");return {table:r[1],tag:r[0],number_of_records:i.cnt_rec}})),t}async function Kt(n,e){let t=await w.bind(this)("get-uniqueid",g.Params(n||{},{unique_id:"string",condition:["gt","gte","lt","lte",">",">=","<","<=","=","eq","!=","ne"]}),Object.assign({auth:!!this.__user},{fetchOptions:e}));if(Array.isArray(t?.list))for(let i in t.list){let r=t.list[i];t.list[i]={unique_id:r.unq,record_id:r.rec};}return t}async function Qt(n,e){await this.__connection;let t=await Ot.bind(this)(n,true),i=t.is_reference_fetch,r=await w.bind(this)("del-records",t.query,{auth:true,fetchOptions:e});return i&&typeof r?.reference_private_key=="string"&&(this.__private_access_key[i]=r.reference_private_key),r?.message||r}function Wt(n){return Gt.bind(this)({record_id:n.record_id,user_id:n.user_id,execute:"add"})}function Jt(n){return Gt.bind(this)({record_id:n.record_id,user_id:n.user_id||null,execute:"remove"})}async function Ht(n,e){let t={record_id:n.record_id||void 0,user_id:n.user_id||void 0,execute:"list"};if(!t.record_id&&!t.user_id)throw new a("Either record_id or user_id must be provided.",{code:"INVALID_PARAMETER"});if(t.user_id)if(typeof t.user_id=="string")g.UserId(t.user_id),t.user_id=[t.user_id];else if(Array.isArray(t.user_id))for(let s of t.user_id)g.UserId(s);else throw new a("user_id should be type: <string | string[]>",{code:"INVALID_PARAMETER"});let i=s=>(s.rec_usr?(s.record_id=s.rec_usr.split("/")[0],s.user_id=s.rec_usr.split("/")[1]):s.usr_rec&&(s.user_id=s.usr_rec.split("/")[0],s.record_id=s.usr_rec.split("/")[1]),s),r=await w.bind(this)("grant-private-access",t,{auth:true,fetchOptions:e});return r.list=r.list.map(i),r}function zt(n){let e=n.record_id,t=n.reference_id||void 0;if(!e)throw new a("Record ID is required.",{code:"INVALID_PARAMETER"});if(typeof e!="string")throw new a("Record ID should be type: <string | string[]>",{code:"INVALID_PARAMETER"});if(t&&typeof t!="string")throw new a("Reference ID should be type: <string>",{code:"INVALID_PARAMETER"});if(typeof this.__private_access_key[e]=="string")return Promise.resolve(this.__private_access_key[e]);if(Ie[e])return Ie[e];let i=w.bind(this)("request-private-access-key",{record_id:e,reference_id:t},{auth:true}).then(r=>{let s=typeof r=="string"?r:r?.private_key;if(typeof s!="string")throw new a("Invalid private access key response.",{code:"ERROR"});return this.__private_access_key[e]=s,s}).finally(()=>{delete Ie[e];});return Ie[e]=i,i}function Gt(n){n.execute;let t=g.Params(n,{record_id:"string",user_id:i=>{if(!i)throw new a("User ID is required.",{code:"INVALID_PARAMETER"});let r=i;if(typeof r=="string"&&(r=[r]),r.length>100)throw new a("Cannot process more than 100 users at once.",{code:"INVALID_REQUEST"});for(let s of r)g.UserId(s,'User ID in "user_id"');return r},execute:["add","remove"]},["execute","record_id","user_id"]);return t.user_id||(t.user_id=null),w.bind(this)("grant-private-access",t,{auth:true})}var I={},O={},K={},J={},W={},Pe={},Te={};function Xt(n,e,t){n[e]||(n[e]=[]),n[e].push(t);}async function ke(n,e,t){let i=[];if(n[e]){for(let r of n[e])if(r){let s=t(r);s instanceof Promise&&(s=await s),i.push(s);}delete n[e];}return i}async function qe(n,e){if(!this?.session?.accessToken?.jwtToken)throw new a("Access token is required.",{code:"INVALID_PARAMETER"});let t=await this.__socket;async function i(r,s,o){this.log("answerSdpOffer from",s),await I[s].setRemoteDescription(new RTCSessionDescription(r));let c=await I[s].createAnswer();await I[s].setLocalDescription(c),o.send(JSON.stringify({action:"rtc",uid:s,content:{sdpanswer:c},token:this.session.accessToken.jwtToken}));}I?.[e]?n?(await ke(Te,e,r=>i.bind(this)(r,e,t)),await i.bind(this)(n,e,t)):await ke(Te,e,r=>i.bind(this)(r,e,t)):n&&Xt(Te,e,n);}async function je(n,e){if(this.log("receiveIceCandidate",n),I?.[e]&&I[e]?.remoteDescription&&I[e]?.remoteDescription?.type){if(!n)return ke(Pe,e,t=>I[e].addIceCandidate(t));await ke(Pe,e,t=>I[e].addIceCandidate(t)),await I[e].addIceCandidate(n);}else Xt(Pe,e,n);}async function Q(n){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebRTC is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});g.Params(n,{cid:s=>{if(typeof s!="string")throw new a('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(s&&s.slice(0,4)!=="cid:")throw new a('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return s},close:"boolean"});let e=await this.__socket,{cid:t,close_all:i=false}=n||{};if(!i&&!t)throw new a('"cid" is required.',{code:"INVALID_PARAMETER"});let r=s=>{if(!s)throw new a('"cid" is required.',{code:"INVALID_PARAMETER"});if(delete Te[s],delete Pe[s],O[s]&&Object.values(O[s]).forEach(o=>{o.readyState!=="closed"&&o.close();}),delete O[s],I?.[s]){I[s].connectionState!=="closed"&&(I[s].close(),e.send(JSON.stringify({action:"rtc",uid:s,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})));let o={type:"connectionstatechange",target:I[s],timestamp:new Date().toISOString(),state:I[s].connectionState,iceState:I[s].iceConnectionState,signalingState:I[s].signalingState};W[s]&&W[s](o),this.log("closeRTC",o);}delete W[s],delete J[s],delete K[s],delete I[s];};if(i)for(let s in I)r(s);else r(t);this.log("Cleaning up media stream..."),this.__mediaStream&&(this.__mediaStream.getTracks().forEach(s=>{s.stop();}),this.__mediaStream=null);}async function Zt(n){if(n instanceof MediaStream)return n;if(!n.video&&!n.audio){let e=new MediaStream,t=document.createElement("canvas");t.width=1,t.height=1;let r=t.captureStream().getVideoTracks()[0];return e.addTrack(r),e}return window.navigator.mediaDevices.getUserMedia(n)}async function Yt(n,e){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebRTC is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(typeof e!="function")throw new a("Callback is required.",{code:"INVALID_PARAMETER"});if(!this?.session?.accessToken?.jwtToken)throw new a("Access token is required.",{code:"INVALID_PARAMETER"});n=g.Params(n,{cid:o=>{if(typeof o!="string")throw new a('"cid" should be type: <string>.',{code:"INVALID_PARAMETER"});if(o&&o.slice(0,4)!=="cid:")throw new a('"cid" should be a valid connection id.',{code:"INVALID_PARAMETER"});return o},ice:["string",()=>"stun:stun.skapi.com:3468"],media:o=>o,channels:["text-chat","file-transfer","video-chat","voice-chat","gaming",{ordered:"boolean",maxPacketLifeTime:"number",maxRetransmits:"number",protocol:"string"},()=>[{ordered:true,maxPacketLifeTime:10,protocol:"default"}]]},["cid"]);let{cid:t,ice:i}=n;if(!(n?.media instanceof MediaStream)&&(n?.media?.video||n?.media?.audio)&&window.location.hostname!=="localhost"&&window.location.protocol!=="https:")throw new a("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 a("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(r.readyState!==1)throw new a("Realtime connection is not ready.",{code:"INVALID_REQUEST"});let s={iceServers:[{urls:i}]};I?.[t]||(I[t]=new RTCPeerConnection(s)),n?.media&&(this.__mediaStream=await Zt(n.media),this.__mediaStream.getTracks().forEach(o=>{I[t].addTrack(o,this.__mediaStream);})),W[t]=e,O[t]||(O[t]={});for(let o=0;o<n.channels.length;o++){let c=n.channels[o];if(typeof c=="string")switch(c){case "text-chat":c={ordered:true,maxRetransmits:10,protocol:"text-chat"};break;case "file-transfer":c={ordered:false,maxPacketLifeTime:3e3,protocol:"file-transfer"};break;case "video-chat":c={ordered:true,maxRetransmits:10,protocol:"video-chat"};break;case "voice-chat":c={ordered:true,maxRetransmits:10,protocol:"voice-chat"};break;case "gaming":c={ordered:false,maxPacketLifeTime:100,protocol:"gaming"};break;default:c={ordered:true,maxRetransmits:10,protocol:"default"};break}let u=c.protocol||"default";if(Object.keys(O[t]).includes(u))throw new a(`Data channel with the protocol "${u}" already exists.`,{code:"INVALID_REQUEST"});let d=I[t].createDataChannel(u,c);O[t][u]=d;}for(let o in O[t]){let c=O[t][o];nn.bind(this)(t,c);}return tn.bind(this)(t,["onnegotiationneeded"]),await $e.bind(this)(t),{hangup:()=>K[t]&&K[t](false),connection:new Promise(o=>{K[t]=(c=>{if(this.log("receiver picked up the call",t),!c)return Q.bind(this)({cid:t}),null;I[t].onnegotiationneeded=()=>{this.log("onnegotiationneeded",`sending offer to "${t}".`),$e.bind(this)(t),W[t]&&W[t]({type:"negotiationneeded",target:I[t],timestamp:new Date().toISOString(),signalingState:I[t].signalingState,connectionState:I[t].iceConnectionState,gatheringState:I[t].iceGatheringState});},o({target:I[t],channels:O[t],hangup:()=>Q.bind(this)({cid:t}),media:this.__mediaStream});}).bind(this);})}}function en(n){return async(e,t)=>{e=e||{},e=D(e).data;let i=n.sender_cid,r=await this.__socket;if(!J[i])return null;if(typeof t!="function")throw new a("Callback is required.",{code:"INVALID_PARAMETER"});if(!(e?.media instanceof MediaStream)&&(e?.media?.video||e?.media?.audio)&&window.location.hostname!=="localhost"&&window.location.protocol!=="https:")throw new a("Media stream is only supported on either localhost or https.",{code:"INVALID_REQUEST"});let{ice:s="stun:stun.skapi.com:3468"}=e;return I?.[i]||(I[i]=new RTCPeerConnection({iceServers:[{urls:s}]})),e?.media&&(this.__mediaStream=await Zt(e.media),this.__mediaStream.getTracks().forEach(o=>{I[i].addTrack(o,this.__mediaStream);})),delete J[i],W[i]=t,O[i]||(O[i]={}),I[i].ondatachannel=o=>{this.log("ondatachannel",`received data channel "${o.channel.label}".`);let c=o.channel;O[i][c.label]=c,nn.bind(this)(i,c);},tn.bind(this)(i,["onnegotiationneeded"]),await qe.bind(this)(null,i),await je.bind(this)(null,i),r.send(JSON.stringify({action:"rtc",uid:i,content:{pickup:this.user.user_id},token:this.session.accessToken.jwtToken})),{target:I[i],channels:O[i],hangup:()=>Q.bind(this)({cid:i}),media:this.__mediaStream}}}async function $e(n){if(!this?.session?.accessToken?.jwtToken)throw new a("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendOffer",n);let e=await this.__socket,t=await I[n].createOffer();await I[n].setLocalDescription(t);let i=I[n].localDescription;this.log("rtcSdpOffer to",i),e.send(JSON.stringify({action:"rtc",uid:n,content:{sdpoffer:i},token:this.session.accessToken.jwtToken}));}async function Sr(n,e){if(!this?.session?.accessToken?.jwtToken)throw new a("Access token is required.",{code:"INVALID_PARAMETER"});this.log("sendIceCandidate to",e);let t=await this.__socket;if(!n.candidate){this.log("candidate-end","all ice candidates have been sent");return}let i=W[e]||(()=>{}),r=n.candidate;this.log("ice gathering state set to",I[e].iceGatheringState),i({type:"icecandidate",target:I[e],timestamp:new Date().toISOString(),candidate:n.candidate.candidate,sdpMid:n.candidate.sdpMid,sdpMLineIndex:n.candidate.sdpMLineIndex,usernameFragment:n.candidate.usernameFragment,protocol:n.candidate.protocol,gatheringState:I[e].iceGatheringState,connectionState:I[e].iceConnectionState}),t.send(JSON.stringify({action:"rtc",uid:e,content:{candidate:r},token:this.session.accessToken.jwtToken}));}function tn(n,e){let t=new Set(e),i=W[n]||(o=>{}),r=I[n],s={ontrack:o=>{i({type:"track",target:r,timeStamp:o.timeStamp,streams:o.streams,track:o.track});},onicecandidate:o=>{Sr.bind(this)(o,n),o.candidate?i({type:"icecandidate",target:r,timestamp:new Date().toISOString(),candidate:o.candidate.candidate,sdpMid:o.candidate.sdpMid,sdpMLineIndex:o.candidate.sdpMLineIndex,usernameFragment:o.candidate.usernameFragment,protocol:o.candidate.protocol,gatheringState:r.iceGatheringState,connectionState:r.iceConnectionState}):i({type:"icecandidateend",target:r,timestamp:new Date().toISOString()});},onicecandidateerror:o=>{i({type:"icecandidateerror",target:r,timestamp:new Date().toISOString(),errorCode:o.errorCode,errorText:o.errorText,url:o.url,hostCandidate:o.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:()=>{$e.bind(this)(n),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 o=r.connectionState;(o==="disconnected"||o==="failed"||o==="closed")&&Q.bind(this)({cid:n});}};for(let[o,c]of Object.entries(s))t.has(o)||(r[o]=c);}function nn(n,e,t){let i=new Set(t),r=W[n]||(o=>{}),s={onmessage:o=>{let c={type:o.type,target:e,timeStamp:o.timeStamp,data:o.data,lastEventId:o.lastEventId,origin:o.origin,readyState:e.readyState,bufferedAmount:e.bufferedAmount};this.log(`${e.label}: message`,o.data),r(c);},onerror:o=>{let c={type:o.type,target:e,timeStamp:o.timeStamp,error:o.error.message,errorCode:o.error.errorDetail,readyState:e.readyState,label:e.label};this.log(`${e.label}: error`,o.error.message),r(c);},onclose:o=>{let c={type:o.type,target:e,timeStamp:o.timeStamp,readyState:e.readyState,label:e.label,id:e.id};this.log(`${e.label}: closed`,null),r(c),O[n]&&(delete O[n][e.label],Object.keys(O[n]).length===0&&Q.bind(this)({cid:n}));},onbufferedamountlow:o=>{let c={target:e,bufferedAmount:e.bufferedAmount,bufferedAmountLowThreshold:e.bufferedAmountLowThreshold,type:o.type,timeStamp:o.timeStamp};this.log(`${e.label}: bufferedamountlow`,e.bufferedAmount),r(c);},onopen:o=>{this.log("dataChannel",`data channel: "${e.label}" is open and ready to send messages.`);let c={type:o.type,target:e,timeStamp:o.timeStamp,readyState:e.readyState,label:e.label,id:e.id,ordered:e.ordered,maxRetransmits:e.maxRetransmits,protocol:e.protocol};r(c);}};for(let[o,c]of Object.entries(s))i.has(o)||(e[o]=c);}var Y,Z=null,fe=true,oe=0;async function Pr(){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(await this.getProfile(),!this.session)throw new a("No access.",{code:"INVALID_REQUEST"});let n=await this.record_endpoint;return new WebSocket(n.websocket_private+"?token="+this.session.accessToken.jwtToken)}var Be=null;async function rn(){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});fe=true;let n=this.__socket?await this.__socket:this.__socket;Q.bind(this)({close_all:true}),Y&&Ke.bind(this)({group:null}),oe=0,Z&&(Z.terminate(),Z=null);try{n&&n.close();}catch{}return window.removeEventListener("visibilitychange",Be),this.__socket=null,null}async function xe(n,e=50,t){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(typeof n!="function")throw new a("Callback must be a function.",{code:"INVALID_REQUEST"});if(t==="reconnect"){if(this.__socket instanceof Promise){let i=await this.__socket;if(i.readyState!==WebSocket.CLOSED&&i.readyState!==WebSocket.CLOSING)return this.__socket}}else if(fe&&(Be=()=>{!document.hidden&&!fe&&xe.bind(this)(n,0,"reconnect");},this.__socket instanceof Promise))return this.__socket;Z&&(Z.terminate(),Z=null),this.__socket=new Promise(async i=>{await ie.bind(this)(),setTimeout(async()=>{let r=await Pr.bind(this)();r.onopen=()=>{fe=false,oe=0,t!=="reconnect"&&window.addEventListener("visibilitychange",Be),this.log("realtime onopen","Connected to WebSocket server."),n({type:"success",message:"Connected to WebSocket server."}),Y&&r.send(JSON.stringify({action:"joinRoom",rid:Y,token:this.session.accessToken.jwtToken}));let s=`
|
|
207
|
+
let interval = 15000; // Set interval time 15 seconds
|
|
208
|
+
|
|
209
|
+
function runInterval() {
|
|
210
|
+
postMessage({ type: "ping" });
|
|
211
|
+
setTimeout(runInterval, interval); // Use setTimeout instead of setInterval
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
runInterval(); // Start interval
|
|
215
|
+
`,o=new Blob([s],{type:"application/javascript"});Z=new Worker(URL.createObjectURL(o)),Z.onmessage=c=>{r.readyState===1&&r.send(JSON.stringify({action:"keepAlive"}));},i(r);},r.onmessage=async s=>{let o="";try{o=JSON.parse(decodeURI(s.data)),this.log("socket onmessage",o);}catch{return}let c;switch(true){case !!o?.["#message"]:c="message";break;case !!o?.["#private"]:c="private";break;case !!o?.["#notice"]:c="notice";break;case !!o?.["#rtc"]:c="rtc";break;case !!o?.["#error"]:c="error";break}if(!c)return;let u={type:c,message:o?.["#rtc"]||o?.["#message"]||o?.["#private"]||o?.["#notice"]||o?.["#error"]||null,sender:o?.["#user_id"]||null,sender_cid:o?.["#scid"]?"cid:"+o["#scid"]:null,sender_rid:o?.["#srid"]||null,code:o?.["#code"]||null};if(c==="notice")n(u);else if(c==="rtc"){if(u.sender!==this.user.user_id){let d=u.message;if(d.hungup){K[u.sender_cid]&&(K[u.sender_cid](false),delete K[u.sender_cid]),J[u.sender_cid]&&delete J[u.sender_cid],I?.[u.sender_cid]&&Q.bind(this)({cid:u.sender_cid}),u.type="rtc:closed",n(u);return}if(d.candidate&&je.bind(this)(d.candidate,u.sender_cid),d.sdpoffer&&(qe.bind(this)(d.sdpoffer,u.sender_cid),J[u.sender_cid]||(J[u.sender_cid]=u.sender_cid,delete u.message,u.connectRTC=en.bind(this)(u),u.type="rtc:incoming",u.hangup=(()=>{I[u.sender_cid]?Q.bind(this)({cid:u.sender_cid}):J[u.sender_cid]&&(delete J[u.sender_cid],r.send(JSON.stringify({action:"rtc",uid:u.sender_cid,content:{hungup:this.user.user_id},token:this.session.accessToken.jwtToken})));}).bind(this),n(u))),d.pickup&&K[u.sender_cid]&&(K[u.sender_cid](true),delete K[u.sender_cid]),d.sdpanswer&&I[u.sender_cid])if(I[u.sender_cid].signalingState==="have-local-offer")await I[u.sender_cid].setRemoteDescription(new RTCSessionDescription(d.sdpanswer));else throw new a("Invalid signaling state.",{code:"INVALID_REQUEST"})}}else n(u);},r.onclose=()=>{fe?(this.log("realtime onclose","WebSocket connection closed."),n({type:"close",message:"WebSocket connection closed."})):(this.log("realtime onclose","WebSocket unexpected close."),n({type:"error",message:"Skapi: WebSocket unexpected close."}),oe++,oe<3?(this.log("realtime onclose","Reconnecting to WebSocket server..."+oe),n({type:"reconnect",message:"Reconnecting to WebSocket server..."+oe}),xe.bind(this)(n,3e3,"reconnect")):(this.log("realtime onclose","Max reconnection attempts reached."),n({type:"error",message:"Skapi: Max reconnection attempts reached."})));},r.onerror=()=>{this.log("realtime onerror","WebSocket connection error."),n({type:"error",message:"Skapi: WebSocket connection error."});};},e);});}async function sn(n,e,t){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});let i=this.__socket?await this.__socket:this.__socket;if(!i)throw new a("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});if(!e)throw new a("No recipient.",{code:"INVALID_REQUEST"});await ie.bind(this)(),n=D(n).data;let r="";if(t&&(t=g.Params(t,{config:{always:"boolean"},title:"string",body:"string"},["title","body"]),r=JSON.stringify({title:t.title,body:t.body}),new Blob([r]).size>3072))throw new a("Notification size exceeds 3kb.",{code:"INVALID_PARAMETER"});if(i.readyState===1){try{g.UserId(e),i.send(JSON.stringify({action:"sendMessage",uid:e,content:n,notification:r,notificationConfig:t?.config||{},token:`IdT:${this.service}:${this.owner}:`+(this.bearerToken||this.session?.idToken?.jwtToken||"null")}));}catch(s){if(this.log("postRealtime:err",{err:s}),Y!==e)throw new a(`User has not joined to the recipient group. Run joinRealtime({ group: "${e}" })`,{code:"INVALID_REQUEST"});i.send(JSON.stringify({action:"broadcast",rid:e,content:n,notification:r,notificationConfig:t?.config||{},token:`IdT:${this.service}:${this.owner}:`+(this.bearerToken||this.session?.idToken?.jwtToken||"null")}));}return {type:"success",message:"Message sent."}}throw new a("Realtime connection is not open. Try reconnecting with connectRealtime().",{code:"INVALID_REQUEST"})}async function Ke(n){if(typeof window>"u"||window._runningInNodeJS)throw new a("WebSocket is not supported in Node.js environment.",{code:"NOT_SUPPORTED"});let e=this.__socket?await this.__socket:this.__socket;if(!e)throw new a("No realtime connection. Execute connectRealtime() before this method.",{code:"INVALID_REQUEST"});await ie.bind(this)(),n=D(n,{nullIfEmpty:true}).data;let{group:t=null}=n;if(!t&&!Y)return {type:"success",message:"Left realtime message group."};if(t!==null&&typeof t!="string")throw new a('"group" must be a string | null.',{code:"INVALID_PARAMETER"});return e.send(JSON.stringify({action:"joinRoom",rid:t,token:this.session.accessToken.jwtToken})),Y=t,{type:"success",message:t?`Joined realtime message group: "${t}".`:"Left realtime message group."}}async function on(n,e){n=g.Params(n,{user_id:i=>g.UserId(i,'User ID in "user_id"'),group:["string",()=>{if(!Y)throw new a('No group has been joined. Otherwise "group" is required.',{code:"INVALID_REQUEST"});return Y}]});let t=await w.bind(this)("get-ws-group",n,{fetchOptions:e,auth:true,method:"post"});return t.list=t.list.map(i=>({user_id:i.uid.split("#")[1],cid:"cid:"+i.cid})),t}async function an(n,e){if(await this.__connection,n||(n={searchFor:"group",value:" ",condition:">"}),n=g.Params(n,{searchFor:["group","number_of_users",()=>"group"],value:["string","number",()=>n?.searchFor&&n?.searchFor==="number_of_users"?0:" "],condition:[">",">=","=","<","<=","!=","gt","gte","eq","lt","lte","ne"],range:["string","number"]}),n.condition||(n.value===" "||!n.value?n.condition=">":n.condition="="),n.range&&n.condition&&delete n.condition,n.searchFor==="number_of_users"&&typeof n.value!="number")throw new a('"value" must be a number.',{code:"INVALID_PARAMETER"});if(n.searchFor==="group"&&typeof n.value!="string")throw new a('"value" must be a string.',{code:"INVALID_PARAMETER"});if(n.hasOwnProperty("range")&&typeof n.range!=typeof n.value)throw new a(`"range" must be a ${typeof n.value}.`,{code:"INVALID_PARAMETER"});let t=await w.bind(this)("get-ws-group",n,{fetchOptions:e,auth:true,method:"post"});return t.list=t.list.map(i=>({group:i.rid.split("#")[1],number_of_users:i.cnt})),t}var Tr=typeof FormData<"u",kr=typeof HTMLFormElement<"u",xr=typeof SubmitEvent<"u";async function cn(n){let e=false,t=r=>{for(let s in r)if(typeof r[s]=="string"&&r[s].includes("$CLIENT_SECRET")){e=true;break}};if(n=g.Params(n,{url:r=>{if(!r||typeof r!="string")throw new a('"url" should be type: <string>.',{code:"INVALID_PARAMETER"});return g.Url(r),r.includes("$CLIENT_SECRET")&&(e=true),r},clientSecretName:"string",method:r=>{if(r&&typeof r!="string")throw new a('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});let s=r.toLowerCase();if(s!=="get"&&s!=="post"&&s!=="delete"&&s!=="put")throw new a('"method" should be either "GET" or "POST" or "DELETE" or "PUT".',{code:"INVALID_PARAMETER"});return s},headers:r=>{if(r&&typeof r!="object")throw new a('"headers" should be type: <object>.',{code:"INVALID_PARAMETER"});return t(r),r},data:r=>{if(r&&typeof r!="object")throw new a('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return t(r),r},params:r=>{if(r&&typeof r!="object")throw new a('"params" should be type: <object>.',{code:"INVALID_PARAMETER"});return t(r),r}},["clientSecretName","method","url"]),!e)throw new a(`At least one parameter value should include "$CLIENT_SECRET" in ${n.method.toLowerCase()==="post"?'"data"':'"params"'} or "headers".`,{code:"INVALID_PARAMETER"});await this.__connection;let i=!!this.__user;return w.bind(this)("csr",n,{auth:i})}async function ln(n){await this.__connection;let e={name:"string",email:t=>(g.Email(t),t),subject:"string",message:"string"};return n=g.Params(n,e,["name","email","subject","message"]),await w.bind(this)("send-inquiry",n),"SUCCESS: Inquiry has been sent."}async function un(n,e){if(await this.__connection,Tr&&n instanceof FormData||kr&&n instanceof HTMLFormElement||xr&&n instanceof SubmitEvent){if(!e)throw new a("Url string as a second argument is required when form is passed.",{code:"INVALID_PARAMETER"});let i=D(n);n={url:e,data:i.data,sync:true};}let t={url:i=>g.Url(i),data:i=>i,sync:["boolean",()=>true]};if(Array.isArray(n))for(let i of n)i=g.Params(i,t);else n=g.Params(n,t);return w.bind(this)("post-secure",n,{auth:true})}async function dn(n,e){await this.__connection;let{auth:t=false,method:i="POST",bypassAwaitConnection:r=false,responseType:s,contentType:o,progress:c}=e||{};if(e=Object.assign({auth:t,method:i,bypassAwaitConnection:r,responseType:s,contentType:o},{fetchOptions:{progress:c}}),typeof n!="object"&&(o==="application/json"||o===void 0))throw new a('"data" should be type: <object>.',{code:"INVALID_PARAMETER"});return w.bind(this)("mock",n,e)}async function gn(n,e){await this.__connection,n=g.Params(n||{},{access_group:i=>{if(i==="authorized"&&(i=1),i==="public"&&(i=0),typeof i!="number")throw new a('"access_group" should be type number.',{code:"INVALID_PARAMETER"});if(i<0)throw new a('"access_group" should be zero or a positive number.',{code:"INVALID_PARAMETER"});if(i>this.__user.access_group)throw new a("User has no access.",{code:"INVALID_REQUEST"});return i}});let t=await w.bind(this)("get-feed",n,{auth:true,fetchOptions:e});for(let i in t.list)t.list[i]=await se.bind(this)(t.list[i]);return t}function he(n){if(n===this.__user.user_id)throw new a(`"user_id" cannot be the user's own ID.`,{code:"INVALID_PARAMETER"});return g.UserId(n,'"user_id"')}async function fn(n,e){if(n=D(n,{ignoreEmpty:true}).data,n=g.Params(n,{subscriber:i=>g.UserId(i,'User ID in "subscriber"'),subscription:he.bind(this),blocked:"boolean"}),!n.subscriber&&!n.subscription)throw new a('At least either "subscriber" or "subscription" should have a value.',{code:"INVALID_PARAMETER"});let t=await w.bind(this)("get-subscription",n,Object.assign({auth:true},{fetchOptions:e}));return t.list=t.list.map((i=>{let r={};if(i.sub){let s=i.sub.split("#");r.subscriber=s[2],r.subscription=s[0];}else r.subscriber=i.subscriber,r.subscription=i.subscription;return r.timestamp=i?.timestamp||i.stmp,r.blocked=i?.blocked||i.grp.substring(0,1)==="N",Object.assign(r,i.opt),r})),t}async function hn(n){await this.__connection,n=g.Params(n,{user_id:he.bind(this),get_feed:["boolean",()=>false],get_notified:["boolean",()=>false],get_email:i=>{if(i&&!this.__user.email||!this.__user.email_verified)throw new a("User has no verified email address.",{code:"INVALID_REQUEST"});return !!i}},["user_id"]);let e=await w.bind(this)("subscription",{subscribe:n.user_id,option:{get_feed:n.get_feed,get_notified:n.get_notified,get_email:n.get_email||false}},{auth:true}),t={};if(e.sub){let i=e.sub.split("#");t.subscriber=i[2],t.subscription=i[0];}else t.subscriber=e.subscriber,t.subscription=e.subscription;return t.timestamp=e?.timestamp||e.stmp,t.blocked=e?.blocked||e.grp.substring(0,1)==="N",Object.assign(t,e.opt),t}async function pn(n){await this.__connection;let{user_id:e}=g.Params(n,{user_id:he.bind(this)},["user_id"]);return await w.bind(this)("subscription",{unsubscribe:e},{auth:true})}async function mn(n){await this.__connection;let{user_id:e}=g.Params(n,{user_id:he.bind(this)},["user_id"]);return await w.bind(this)("subscription",{block:e},{auth:true})}async function bn(n){await this.__connection;let{user_id:e}=g.Params(n,{user_id:he.bind(this)},["user_id"]);return await w.bind(this)("subscription",{unblock:e},{auth:true})}async function _n(n,e){await this.__connection;let t=await M.bind(this)();n=g.Params(n,{user_id:o=>{if(o!==this.__user.user_id&&!t)throw new a("No access.",{code:"INVALID_REQUEST"});return o},group:o=>{if(o==="public"&&(o=0),o==="authorized"&&(o=1),typeof o!="number")throw new a('"group" should be type number | "public" | "authorized".',{code:"INVALID_PARAMETER"});return o}});let i=await w.bind(this)("get-newsletter-subscription",n,{auth:true,fetchOptions:e||null}),r=i?.list||i,s=[];Array.isArray(r)||(r=[]);for(let o of r){let c=o.subt.split("#"),u=true;c[0].charAt(0)==="@"&&(u=false,c[0]=c[0].substring(1));let d=parseInt(c[0]);s.push({timestamp:o.stmp,group:d,subscribed_email:c[1],active:u});}return i?.list?(i.list=s,i):s}async function yn(n){await this.__connection;let e=g.Params(n||{},{email:t=>Array.isArray(t)&&t.length>0?t.length===1?g.Email(t[0]):t.map(i=>g.Email(i)):g.Email(t),group:["number","public","authorized","admin",t=>{if(typeof t!="string"||t.length>20||!/^[a-zA-Z0-9]+$/.test(t))throw new a('"group" should be an alphanumeric string without spaces and less than 20 characters.',{code:"INVALID_PARAMETER"});return t}],redirect:t=>g.Url(t)},this.__user?["group"]:["email","group"]);return w.bind(this)(`subscribe-${this.__user?"":"public-"}newsletter`,e,{auth:!!this.__user})}async function wn(n){await this.__connection,n=g.Params(n,{group:["number","public","authorized","admin"]},["group"]);let e=Object.assign({action:"unsubscribe"},n);return w.bind(this)("subscribe-newsletter",e,{auth:true})}async function En(n,e){let t=await M.bind(this)(),i={message_id:"string",timestamp:"number",read:"number",complaint:"number",subject:"string",bounced:"number"};n||(e=Object.assign({ascending:false},e||{})),n=D(n).data,n=n||{searchFor:"timestamp",value:Date.now(),condition:"<",group:"public"},n=g.Params(n,{searchFor:["message_id","timestamp","subject","complaint","read","bounced"],value:u=>{if(typeof u!==i[n.searchFor])throw new a(`"value" type does not match the type of "${n.searchFor}" index.`,{code:"INVALID_PARAMETER"});if(typeof u=="string"&&!u)throw new a('"value" should not be empty string.',{code:"INVALID_PARAMETER"});return u},range:u=>{if(!n.hasOwnProperty("value")||typeof u!=typeof n.value)throw new a('"range" should match type of "value".',{code:"INVALID_PARAMETER"});return u},condition:[">",">=","=","<","<=","gt","gte","eq","lt","lte",()=>"="],group:u=>{if(u==="public")return 0;if(!this.session)throw new a("User should be logged in.",{code:"INVALID_REQUEST"});if(u==="authorized")return 1;if(typeof u=="number"){if(!t&&u>parseInt(this.user?.access_group||this.session?.idToken?.payload?.access_group))throw new a("User has no access.",{code:"INVALID_REQUEST"});return u}throw new a('"group" should be type: number | "public" | "authorized".',{code:"INVALID_PARAMETER"})}},["searchFor","value","group"]);let r=n.group===0?"get-public-newsletters":"get-newsletters",s=await w.bind(this)(r,n,Object.assign({method:"get",auth:r==="get-public-newsletters"?!!this.__user:true},{fetchOptions:e})),o={message_id:"mid",timestamp:"stmp",complaint:"cmpl",read:"read",subject:"subj",bounced:"bnce",url:"url",delivered:"delv"},c={message_id:"",timestamp:0,complaint:0,read:0,subject:"",bounced:"",url:"",delivered:0};return s.list=s.list.map(u=>{let d={};for(let f in o)d[f]=u[o[f]]||c[f];return d.bounced=String(d.bounced),d}),s}async function Rn(n){let e=g.Params(n,{user_id:i=>g.UserId(i,'"user_id"')},["user_id"]);if(e?.service&&e?.owner?e={service:e?.service,owner:e?.owner,block:e.user_id}:e={block:e.user_id},!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("block-account",e,{auth:true})}async function An(n){let e=g.Params(n,{user_id:i=>g.UserId(i,'"user_id"')},["user_id"]);if(e?.service&&e?.owner?e={service:e?.service,owner:e?.owner,unblock:e.user_id}:e={unblock:e.user_id},!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("block-account",e,{auth:true})}async function In(n){let e=g.Params(n,{user_id:i=>g.UserId(i,'"user_id"')},["user_id"]);if(e?.service&&e?.owner?e={service:e?.service,owner:e?.owner,delete:e.user_id}:e={delete:e.user_id},!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("remove-account",e,{auth:true})}async function Sn(n,e){let t={email:s=>g.Email(s),password:s=>g.Password(s),name:"string",username:"string",gender:"string",address:s=>{if(!s)return "";if(typeof s=="string")return s;if(typeof s=="object")return JSON.stringify(s)},birthdate:s=>g.Birthdate(s),phone_number:s=>g.PhoneNumber(s),picture:s=>{if(s)return g.Url(s)},profile:s=>{if(s)return g.Url(s)},website:s=>{if(s)return g.Url(s)},nickname:"string",misc:"string",email_public:["boolean",()=>false],gender_public:["boolean",()=>false],address_public:["boolean",()=>false],birthdate_public:["boolean",()=>false],phone_number_public:["boolean",()=>false],openid_id:"string",access_group:s=>{try{typeof s=="string"&&(s=s==="admin"?99:parseInt(s));}catch{throw new a('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if(typeof s!="number"||s<1||s>100)throw new a('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return s}},i=g.Params(n,t,["email"]);if(e=g.Params(e,{confirmation_url:s=>{let o=s;if(typeof s=="string")o=g.Url(s);else throw new a('"options.confirmation_url" should be type: <string>.',{code:"INVALID_PARAMETER"});if(o&&!i.email)throw new a('"email" is required for signup confirmation.',{code:"INVALID_PARAMETER"});return o},email_subscription:s=>{if(typeof s!="boolean")throw new a('"options.email_subscription" should be type: <boolean>.',{code:"INVALID_PARAMETER"});if(!e?.confirmation_url)throw new a('"options.confirmation_url" is required for email subscription.',{code:"INVALID_PARAMETER"});return s},template:s=>{if(typeof s!="object"||!s.url||!s.subject)throw new a('"options.template" should be type: <object> with "url" and "subject".',{code:"INVALID_PARAMETER"});return {url:g.Url(s.url),subject:s.subject}}}),i.signup_confirmation=e?.confirmation_url||true,i.email_subscription=e?.email_subscription||false,i.template=e?.template||{},!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("admin-signup",i,{auth:true})}async function Pn(n){let e={email:r=>g.Email(r),password:r=>g.Password(r),openid_id:"string",name:"string",username:"string",gender:"string",address:r=>{if(!r)return "";if(typeof r=="string")return r;if(typeof r=="object")return JSON.stringify(r)},birthdate:r=>g.Birthdate(r),phone_number:r=>g.PhoneNumber(r),picture:r=>r?g.Url(r):"",profile:r=>r?g.Url(r):"",website:r=>r?g.Url(r):"",nickname:"string",misc:"string",email_public:["boolean",()=>false],gender_public:["boolean",()=>false],address_public:["boolean",()=>false],birthdate_public:["boolean",()=>false],phone_number_public:["boolean",()=>false],access_group:r=>{try{typeof r=="string"&&(r=parseInt(r));}catch{throw new a('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if(typeof r!="number"||r<1||r>100)throw new a('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"});return r}},t=g.Params(n,e,["email","password"]);if(!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("admin-signup",t,{auth:true})}async function Tn(n){if(n=g.Params(n,{user_id:t=>g.UserId(t,'"user_id"'),access_group:t=>{try{typeof t=="string"&&(t=parseInt(t));}catch{throw new a('"access_group" is invalid. Should be type <number>.',{code:"INVALID_PARAMETER"})}if(typeof t=="number"&&t>0&&t<100)return t;throw new a('"access_group" is invalid. Should be type <number> of range 1~99',{code:"INVALID_PARAMETER"})}},["user_id","access_group"]),!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("grant-access",n,{auth:true})}async function kn(n,e){if(n=g.Params(n,{email:"string"}),!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}let i=await w.bind(this)("invitation-list",Object.assign({mode:"search"},n),{fetchOptions:e,auth:true});return i.list=i.list.map(r=>ce(r.user)),i}async function xn(n){if(n=g.Params(n,{email:t=>g.Email(t)},["email"]),!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("invitation-list",Object.assign({mode:"cancel"},n),{auth:true})}async function vn(n){if(n=g.Params(n,{email:t=>g.Email(t)},["email"]),!await M.bind(this)()){if(!this.__user)throw new a("User needs to login.",{code:"INVALID_REQUEST"});if(this.__user.access_group<90)throw new a("Invalid access.",{code:"INVALID_REQUEST"})}return await w.bind(this)("invitation-list",Object.assign({mode:"resend"},n),{auth:true})}async function Dn(n){if(typeof window>"u"||window._runningInNodeJS)throw new a("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(await this.__connection,!n.endpoint)throw new a("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!n.keys||!n.keys.p256dh||!n.keys.auth)throw new a("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await w.bind(this)("store-subscription",{endpoint:n.endpoint,keys:n.keys},{auth:true}),"SUCCESS: Subscribed to receive notifications."}async function Nn(n){if(typeof window>"u"||window._runningInNodeJS)throw new a("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});if(await this.__connection,!n.endpoint)throw new a("Missing parameter: endpoint",{code:"INVALID_PARAMETER"});if(!n.keys||!n.keys.p256dh||!n.keys.auth)throw new a("Missing parameter: keys.p256dh or keys.auth",{code:"INVALID_PARAMETER"});return await w.bind(this)("delete-subscription",{endpoint:n.endpoint,keys:n.keys},{auth:true}),"SUCCESS: Unsubscribed from notifications."}async function Un(){if(typeof window>"u"||window._runningInNodeJS)throw new a("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});return await this.__connection,{VAPIDPublicKey:await w.bind(this)("get-vapid-public-key",null,{auth:true})}}async function Cn(n,e){if(typeof window>"u"||window._runningInNodeJS)throw new a("Push Notifications are not supported in Node.js environment.",{code:"NOT_SUPPORTED"});await this.__connection;let{title:t,body:i}=D(n||{},{nullIfEmpty:true}).data;if(!t)throw new a("Missing parameter: message title",{code:"INVALID_PARAMETER"});if(!i)throw new a("Missing parameter: message body",{code:"INVALID_PARAMETER"});let r={title:t,body:i};return e?(typeof e=="string"&&(e=[e]),r.user_ids=e):r.user_ids="all_users",await w.bind(this)("push-notification",r,{auth:true}),"SUCCESS: Notification sent."}async function Ln(n){await this.__connection,n=g.Params(n,{spell:"string",name:"string",magic:t=>t},["spell","name"]);await w.bind(this)("castspell",n);return `The spell "${n.spell}" has been cast.`}async function On(n){return await this.__connection,n=g.Params(n||{},{search:["spell","name",()=>"spell"],value:"string"}),await w.bind(this)("getspell",n)}async function Fn(n){await this.__connection,n=g.Params(n,{message:"string",name:"string"},["message","name"]);let e=await w.bind(this)("dopamine",n,{auth:true}),t=e?.previous_message?.message,i=e?.previous_message?.name;if(q())t&&i&&window.alert(`${i} said: ${t}`),window.location.href=e.video;else return t&&i?`${i} said: ${t}
|
|
216
|
+
Watch the video here: ${e.video}`:`Your message has been uploaded for future generations to receive.
|
|
217
|
+
Watch the video here: ${e.video}`}var b=class{constructor(e,t,i,r){this.__version="1.5.0-beta.0";this.session=null;this.connection=null;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.requestBatchSize=30;this.__disabledAccount=null;this.__cached_requests={};this.__startKeyHistory={};this.__request_signup_confirmation=null;this.__private_access_key={};this.__class_properties_has_been_cached=false;this.__user=null;this._userProfileListeners=[];this._onLoginListeners=[];this._onBatchProcessListeners=[];this.validate={userId(e){try{return g.UserId(e),!0}catch{return false}},url(e){try{return g.Url(e),!0}catch{return false}},phoneNumber(e){try{return g.PhoneNumber(e),!0}catch{return false}},birthdate(e){try{return g.Birthdate(e),!0}catch{return false}},email(e){try{return g.Email(e),!0}catch{return false}},params(e,t,i){return g.Params(e,t,i)}};this.util={MD5:V,generateRandom:ae,toBase62:et,fromBase62:B,decodeServiceId:Ne,formatServiceId:tt,extractFormData:D,terminatePendingRequests:xt,request:(e,t,i)=>w.bind(this)(e,t,i,{ignoreService:true})};this.__network_logs=false;this.__endpoint_version="v1";this.__public_identifier="";this.bearerToken="";this.registerTicket=ot.bind(this);this.unregisterTicket=at.bind(this);if(!e||typeof e!="string")throw this._alert("Service ID is required."),new a("Service ID is required.",{code:"INVALID_PARAMETER"});if(e.startsWith("s1_")||e.split("-").length===7)try{let l=Ne(e);i&&typeof i=="object"&&(r=i),t&&typeof t=="object"&&(i=t),t=l.owner,e=l.service;}catch{throw this._alert("Service ID is invalid."),new a("Service ID is invalid.",{code:"INVALID_PARAMETER"})}if(!t||typeof t!="string")throw this._alert("Owner ID is invalid."),new a("Owner ID is invalid.",{code:"INVALID_PARAMETER"});if(e.toLowerCase()==="service_id")throw this._alert('Replace "service_id" with your actual Service ID.'),new a("Service ID is required.",{code:"INVALID_PARAMETER"});if(t!==this.host)try{g.UserId(t,'"owner"');}catch{throw this._alert("Owner ID is invalid."),new a("Owner ID is invalid.",{code:"INVALID_PARAMETER"})}this.service=e,this.owner=t;let s=true;if(i&&(typeof i.autoLogin=="boolean"&&(s=i.autoLogin),typeof i.requestBatchSize=="number")){if(i.requestBatchSize<1)throw new a('"requestBatchSize" must be greater than 0.',{code:"INVALID_PARAMETER"});this.requestBatchSize=i.requestBatchSize;}i?.eventListener&&typeof i.eventListener=="object"&&(i.eventListener?.onLogin&&typeof i.eventListener.onLogin=="function"&&(this.onLogin=i.eventListener.onLogin),i.eventListener?.onUserUpdate&&typeof i.eventListener.onUserUpdate=="function"&&(this.onUserUpdate=i.eventListener.onUserUpdate),i.eventListener?.onBatchProcess&&typeof i.eventListener.onBatchProcess=="function"&&(this.onBatchProcess=i.eventListener.onBatchProcess)),this.target_cdn=r?.target_cdn||this.target_cdn,this.hostDomain=r?.hostDomain||this.hostDomain,this.customApiDomain=r?.customApiDomain||this.customApiDomain,this.__network_logs=!!r?.network_logs;let o=`https://${this.target_cdn}.cloudfront.net`,c=e.substring(0,4);this.admin_endpoint=fetch(`${o}/${c}/admin-${this.__endpoint_version}.json`).then(l=>l.blob()).then(l=>new Promise((h,R)=>{let p=new FileReader;p.onloadend=()=>h(p.result),p.onerror=R,p.readAsDataURL(l);})).then(l=>{try{return typeof l=="string"?JSON.parse(atob(l.split(",")[1])):null}catch{throw new a("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}}),this.record_endpoint=fetch(`${o}/${c}/record-${this.__endpoint_version}.json`).then(l=>l.blob()).then(l=>new Promise((h,R)=>{let p=new FileReader;p.onloadend=()=>h(p.result),p.onerror=R,p.readAsDataURL(l);})).then(l=>{try{return typeof l=="string"?JSON.parse(atob(l.split(",")[1])):null}catch{throw new a("Service does not exist. Create your service from skapi.com",{code:"NOT_EXISTS"})}});let u=q();if(u&&!window.sessionStorage)throw this._alert("This browser is not supported."),new Error("This browser is not supported.");let d=u?JSON.parse(window.sessionStorage.getItem(`${e}#${t}`)||"null"):null;if(this.log("constructor:restore",d),d?.connection){for(let l in d)this[l]=d[l];d.__public_identifier||(this.__public_identifier=`${this.service}:${this.owner}:${ae(16)}`);}this.__authConnection=(async()=>{let l=await this.admin_endpoint,h={UserPoolId:l.userpool_id,ClientId:l.userpool_client};De()&&(h.Storage=window.localStorage),this.userPool=new amazonCognitoIdentityJs.CognitoUserPool(h);try{this.user||await F.bind(this)().getSession({skipUserUpdateEventTrigger:!0}),this.user&&(!d?.connection&&!s?z.bind(this)():(this._runOnLoginListeners(this.user),this._runOnUserUpdateListeners(this.user)));}catch{}})();let f=u?window.sessionStorage.getItem(`${this.service}:uniqueids`):null;if(f)try{this.__my_unique_ids=JSON.parse(f);}catch{this.__my_unique_ids={};}this.__connection=(async()=>{let l=null;await this.record_endpoint,d?.connection||(l=this._updateConnection());let h=()=>{if(this.__class_properties_has_been_cached)return;let R=()=>{let p={},A=["__startKeyHistory","__disabledAccount","__cached_requests","__request_signup_confirmation","__public_identifier","connection"];if(this.connection){for(let S of A)p[S]=this[S];u&&window.sessionStorage.setItem(`${e}#${t}`,JSON.stringify(p)),this.__class_properties_has_been_cached=true;}};return l instanceof Promise?l.then(()=>R()):R()};return u&&(window.addEventListener("beforeunload",()=>{this.closeRealtime(),h();}),window.addEventListener("visibilitychange",()=>{h();})),await l,await this.__authConnection,this.connection})(),this.__connection.then(l=>{((l?.group||0)<3||this.__network_logs)&&this.version();});}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){typeof e=="function"&&this._onLoginListeners.push(e);}get onUserUpdate(){return this._userProfileListeners}set onUserUpdate(e){typeof e=="function"&&this._userProfileListeners.push(e);}_runOnUserUpdateListeners(e){for(let t of this._userProfileListeners)typeof t=="function"&&t(e);}_runOnLoginListeners(e){for(let t of this._onLoginListeners)typeof t=="function"&&t(e);}get onBatchProcess(){return this._onBatchProcessListeners}set onBatchProcess(e){typeof e=="function"&&this._onBatchProcessListeners.push(e);}_alert(e){q()&&typeof window.alert=="function"&&window.alert(e);}async getConnectionInfo(){let e=await this.__connection,t=e?.user_agent||(q()&&typeof window.navigator?.userAgent=="string"?window.navigator.userAgent:`skapi-node/${globalThis?.process?.versions?.node||"unknown"}`);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 w.bind(this)("service",{service:this.service,owner:this.owner},{bypassAwaitConnection:!0,method:"get"});}catch(e){throw this.log("connection fail",e),this._alert("Service is not available: "+(e.message||e.toString())),this.connection=null,e}return this.connection}async version(){if(await this.__connection,q()){let t=`Built with:
|
|
218
|
+
%c\r
|
|
219
|
+
$$\\ $$\\ \r
|
|
220
|
+
$$ | \\__|\r
|
|
221
|
+
$$$$$$$\\ $$ | $$\\ $$$$$$\\ $$$$$$\\ $$\\ \r
|
|
222
|
+
$$ _____|$$ | $$ |\\____$$\\ $$ __$$\\ $$ |\r
|
|
223
|
+
\\$$$$$$\\ $$$$$$ / $$$$$$$ |$$ / $$ |$$ |\r
|
|
224
|
+
\\____$$\\ $$ _$$< $$ __$$ |$$ | $$ |$$ |\r
|
|
225
|
+
$$$$$$$ |$$ | \\$$\\\\$$$$$$$ |$$$$$$$ |$$ |\r
|
|
226
|
+
\\_______/ \\__| \\__|\\_______|$$ ____/ \\__|\r
|
|
227
|
+
$$ | \r
|
|
228
|
+
$$ | \r
|
|
229
|
+
\\__| \r
|
|
230
|
+
Version: ${this.__version}
|
|
231
|
+
|
|
232
|
+
Full Documentation: https://docs.skapi.com/skapi.md`;console.log(t,"font-family: monospace; color:blue;"),this.connection.group===1&&console.log("%cSKAPI: THE SERVICE IS IN TRIAL MODE.","font-family: monospace; color:red;");}return this.__version}log(e,t){if(this.__network_logs){if(typeof t=="object")try{t=JSON.parse(JSON.stringify(t));}catch{t=String(t);}else typeof t=="string"&&t.length>100&&(t=t.substring(0,100)+"...");console.log(`%c${e}:`,"color: blue;",t);}}getFeed(e,t){return gn.bind(this)(e,t)}closeRTC(e){return Q.bind(this)(e)}connectRTC(e,t){return Yt.bind(this)(e,t)}connectRealtime(e){return xe.bind(this)(e)}spellcast(e){return Ln.bind(this)(e)}getspell(e){return On.bind(this)(e)}dopamine(e){return Fn.bind(this)(e)}getUniqueId(e,t){return Kt.bind(this)(e,t)}resendInvitation(e){return vn.bind(this)(e)}cancelInvitation(e){return xn.bind(this)(e)}getInvitations(e,t){return kn.bind(this)(e,t)}openIdLogin(e){return lt.bind(this)(e)}loginWithToken(e){return ut.bind(this)(e)}clientSecretRequest(e){return cn.bind(this)(e)}consumeTicket(e){return rt.bind(this)(e)}getConsumedTickets(e,t){return st.bind(this)(e,t)}getTickets(e,t){return it.bind(this)(e,t)}closeRealtime(){return rn.bind(this)()}getRealtimeUsers(e,t){return on.bind(this)(e,t)}sendInquiry(e){return ln.bind(this)(e)}blockAccount(e){return Rn.bind(this)(e)}unblockAccount(e){return An.bind(this)(e)}deleteAccount(e){return In.bind(this)(e)}inviteUser(e,t){return Sn.bind(this)(e,t)}createAccount(e){return Pn.bind(this)(e)}grantAccess(e){return Tn.bind(this)(e)}getRealtimeGroups(e,t){return an.bind(this)(e,t)}postRealtime(e,t,i){return sn.bind(this)(e,t,i)}joinRealtime(e){return Ke.bind(this)(e)}getProfile(e){return ct.bind(this)(e)}getFile(e,t){return Se.bind(this)(e,t)}secureRequest(e,t){return un.bind(this)(e,t)}getFormResponse(){return Dt.bind(this)()}getRecords(e,t){return Ft.bind(this)(e,t)}getTables(e,t){return qt.bind(this)(e,t)}getIndexes(e,t){return jt.bind(this)(e,t)}getTags(e,t){return Bt.bind(this)(e,t)}deleteRecords(e,t){return Qt.bind(this)(e,t)}resendSignupConfirmation(){return dt.bind(this)()}recoverAccount(e=false){return gt.bind(this)(e)}getUsers(e,t){return Rt.bind(this)(e,t)}disableAccount(){return ht.bind(this)()}lastVerifiedEmail(e){return At.bind(this)(e)}unsubscribeNewsletter(e){return wn.bind(this)(e)}subscribeNotification(e,t){return Dn.bind(this)({endpoint:e,keys:t})}unsubscribeNotification(e,t){return Nn.bind(this)({endpoint:e,keys:t})}vapidPublicKey(){return Un.bind(this)()}pushNotification(e,t){return Cn.bind(this)(e,t)}getNewsletters(e,t){return En.bind(this)(e,t)}getNewsletterSubscription(e,t){return _n.bind(this)(e,t)}requestUsernameChange(e){return It.bind(this)(e)}grantPrivateRecordAccess(e){return Wt.bind(this)(e)}removePrivateRecordAccess(e){return Jt.bind(this)(e)}listPrivateRecordAccess(e){return Ht.bind(this)(e)}requestPrivateRecordAccessKey(e){return zt.bind(this)(e)}deleteFiles(e){return Lt.bind(this)(e)}uploadFiles(e,t){return Ee.bind(this)(e,t)}mock(e,t){return dn.bind(this)(e,t)}login(e){return Ce.bind(this)(e)}logout(e){return le.bind(this)(e)}signup(e,t){return ft.bind(this)(e,t)}resetPassword(e){return pt.bind(this)(e)}verifyEmail(e){return _t.bind(this)(e)}verifyPhoneNumber(e){return bt.bind(this)(e)}forgotPassword(e){return yt.bind(this)(e)}changePassword(e){return wt.bind(this)(e)}updateProfile(e){return Et.bind(this)(e)}postRecord(e,t,i){return Vt.bind(this)(e,t,i)}async bulkPostRecords(e){return $t.bind(this)(e)}getSubscriptions(e,t){return fn.bind(this)(e,t)}subscribe(e){return hn.bind(this)(e)}unsubscribe(e){return pn.bind(this)(e)}blockSubscriber(e){return mn.bind(this)(e)}unblockSubscriber(e){return bn.bind(this)(e)}subscribeNewsletter(e){return yn.bind(this)(e)}};_([y()],b.prototype,"getFeed"),_([y()],b.prototype,"closeRTC"),_([y()],b.prototype,"connectRTC"),_([y()],b.prototype,"spellcast"),_([y()],b.prototype,"getspell"),_([y()],b.prototype,"dopamine"),_([y()],b.prototype,"getUniqueId"),_([y()],b.prototype,"resendInvitation"),_([y()],b.prototype,"cancelInvitation"),_([y()],b.prototype,"getInvitations"),_([y()],b.prototype,"openIdLogin"),_([y()],b.prototype,"loginWithToken"),_([y()],b.prototype,"clientSecretRequest"),_([y()],b.prototype,"consumeTicket"),_([y()],b.prototype,"getConsumedTickets"),_([y()],b.prototype,"getTickets"),_([y()],b.prototype,"getRealtimeUsers"),_([y()],b.prototype,"sendInquiry"),_([y()],b.prototype,"blockAccount"),_([y()],b.prototype,"unblockAccount"),_([y()],b.prototype,"deleteAccount"),_([y()],b.prototype,"inviteUser"),_([y()],b.prototype,"createAccount"),_([y()],b.prototype,"grantAccess"),_([y()],b.prototype,"getRealtimeGroups"),_([y()],b.prototype,"postRealtime"),_([y()],b.prototype,"joinRealtime"),_([y()],b.prototype,"getProfile"),_([y()],b.prototype,"getFile"),_([y()],b.prototype,"secureRequest"),_([y()],b.prototype,"getFormResponse"),_([y()],b.prototype,"getRecords"),_([y()],b.prototype,"getTables"),_([y()],b.prototype,"getIndexes"),_([y()],b.prototype,"getTags"),_([y()],b.prototype,"deleteRecords"),_([y()],b.prototype,"resendSignupConfirmation"),_([y()],b.prototype,"recoverAccount"),_([y()],b.prototype,"getUsers"),_([y()],b.prototype,"disableAccount"),_([y()],b.prototype,"lastVerifiedEmail"),_([y()],b.prototype,"unsubscribeNewsletter"),_([y()],b.prototype,"subscribeNotification"),_([y()],b.prototype,"unsubscribeNotification"),_([y()],b.prototype,"vapidPublicKey"),_([y()],b.prototype,"pushNotification"),_([y()],b.prototype,"getNewsletters"),_([y()],b.prototype,"getNewsletterSubscription"),_([y()],b.prototype,"requestUsernameChange"),_([y()],b.prototype,"grantPrivateRecordAccess"),_([y()],b.prototype,"removePrivateRecordAccess"),_([y()],b.prototype,"listPrivateRecordAccess"),_([y()],b.prototype,"requestPrivateRecordAccessKey"),_([y()],b.prototype,"deleteFiles"),_([y()],b.prototype,"uploadFiles"),_([y()],b.prototype,"mock"),_([y({preventMultipleCalls:true})],b.prototype,"login"),_([y()],b.prototype,"logout"),_([y({preventMultipleCalls:true})],b.prototype,"signup"),_([y({preventMultipleCalls:true})],b.prototype,"resetPassword"),_([y({preventMultipleCalls:true})],b.prototype,"verifyEmail"),_([y({preventMultipleCalls:true})],b.prototype,"verifyPhoneNumber"),_([y({preventMultipleCalls:true})],b.prototype,"forgotPassword"),_([y({preventMultipleCalls:true})],b.prototype,"changePassword"),_([y({preventMultipleCalls:true})],b.prototype,"updateProfile"),_([y()],b.prototype,"postRecord"),_([y({preventMultipleCalls:true})],b.prototype,"bulkPostRecords"),_([y()],b.prototype,"getSubscriptions"),_([y()],b.prototype,"subscribe"),_([y()],b.prototype,"unsubscribe"),_([y()],b.prototype,"blockSubscriber"),_([y()],b.prototype,"unblockSubscriber"),_([y()],b.prototype,"subscribeNewsletter");var Dr={};
|
|
233
|
+
exports.Skapi=b;exports.SkapiError=a;exports.Types=Dr;//# sourceMappingURL=skapi.cjs.map
|
|
3
234
|
//# sourceMappingURL=skapi.cjs.map
|