gamegold 5.4.1 → 5.4.3

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.
@@ -6,7 +6,7 @@ const path = require('path');var gpath = path.join(__dirname, '../../../', 'node
6
6
  /*!
7
7
  * util.js - utils for vallnet
8
8
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
9
- */const r=i(0),a=i(355),s=i(9),n=i(125),o=t,c={showHidden:!1,depth:20,colors:!1,customInspect:!0,showProxy:!1,maxArrayLength:1/0,breakLength:60};function u(e){switch(e){case 0:return 1;case 1:return 10;case 2:return 100;case 3:return 1e3;case 4:return 1e4;case 5:return 1e5;case 6:return 1e6;case 7:return 1e7;case 8:return 1e8}throw new Error("Exponent is too large.")}o.sprintf=function(){for(var e,t,i,r,a=0,s=arguments[a++],n=[];s;){if(t=/^[^\x25]+/.exec(s))n.push(t[0]);else if(t=/^\x25{2}/.exec(s))n.push("%");else{if(!(t=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(s)))throw"Huh ?!";if(null==(e=arguments[t[1]||a++])||null==e)throw"Too few arguments.";if(/[^s]/.test(t[7])&&"number"!=typeof e)throw"Expecting number but found "+typeof e;switch(t[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=t[6]?e.toExponential(t[6]):e.toExponential();break;case"f":e=t[6]?parseFloat(e).toFixed(t[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&t[6]?e.substring(0,t[6]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(t[7])&&t[2]&&0<=e?"+"+e:e,i=t[3]?"0"==t[3]?"0":t[3].charAt(1):" ",r=t[5]-String(e).length-"".length,i=t[5]?function(e,t){for(var i=[];0<t;i[--t]=e);return i.join("")}(i,r):"",n.push(""+(t[4]?e+i:i+e))}s=s.substring(t[0].length)}return n.join("")},o.encrypt=function(e,t,i){Buffer.isBuffer(e)||(r("string"==typeof e),e=Buffer.from(e,"binary")),Buffer.isBuffer(t)||(r("string"==typeof t),t=Buffer.from(t,"binary")),Buffer.isBuffer(i)||(r("string"==typeof i),i=Buffer.from(i,"binary"));var a=n.encipher(i,e,t),s=(a=Buffer.from(a,"binary"),Buffer.alloc(2*a.length));for(let e=0;e<a.length;e++)s[2*e]=97+(a[e]>>4),s[2*e+1]=97+(15&a[e]);return s.toString("binary")},o.decrypt=function(e,t,i){Buffer.isBuffer(e)||(r("string"==typeof e),e=Buffer.from(e,"binary")),Buffer.isBuffer(t)||(r("string"==typeof t),t=Buffer.from(t,"binary")),Buffer.isBuffer(i)||(r("string"==typeof i),i=Buffer.from(i,"binary"));var a=Buffer.alloc(i.length/2);for(let e=0;e<a.length;e++)a[e]=i[2*e]-97<<4|i[2*e+1]-97;return n.decipher(a,e,t).toString("binary")},o.isNumber=function(e){return"number"==typeof e&&isFinite(e)&&e>=-Number.MAX_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER},o.waiting=async function(e){await new Promise((t,i)=>{setTimeout(()=>{t()},e)})},o.isInt=function(e){return Number.isSafeInteger(e)},o.isUint=function(e){return o.isInt(e)&&0<=e},o.isFloat=function(e){return"number"==typeof e&&isFinite(e)},o.isUfloat=function(e){return o.isFloat(e)&&0<=e},o.isI8=function(e){return(0|e)===e&&-128<=e&&e<=127},o.isI16=function(e){return(0|e)===e&&-32768<=e&&e<=32767},o.stringify=function(e,t){if(void 0===e||!e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return e.reduce((e,t)=>e+o.stringify(t),"");if("number"==typeof e||"boolean"==typeof e)return e.toString();if("object"!=typeof e)return Buffer.isBuffer(e)?e.toString("base64"):e;{let i="";return Object.keys(e).sort().map(r=>{t&&t.includes[r]||e[r]&&(i+=r+o.stringify(e[r]))}),i}},o.parseJson=function(e,t){try{return JSON.parse(e)}catch(e){return t||null}},o.hashInt=function(e){return a.str(e)>>>0},o.makeSingleton=function(e){e.singleton=function(){let t;return function(){return t=t||new e(...arguments)}}()},o.isI32=function(e){return(0|e)===e},o.isI64=function(e){return o.isInt(e)},o.isU8=function(e){return(255&e)===e},o.isU16=function(e){return(65535&e)===e},o.isU32=function(e){return e>>>0===e},o.isU64=function(e){return o.isUint(e)},o.isAscii=function(e){return"string"==typeof e&&/^[\t\n\r -~]*$/.test(e)},o.isBase58=function(e){return"string"==typeof e&&/^[1-9A-Za-z]+$/.test(e)},o.isBech32=function(e){return"string"==typeof e&&(e.toUpperCase()===e||e.toLowerCase()===e)&&!(e.length<8||90<e.length)&&/^[a-z]{2}1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]+$/i.test(e)},o.isHex=function(e){return"string"==typeof e&&e.length%2==0&&/^[0-9A-Fa-f]+$/.test(e)},o.isHex160=function(e){return"string"==typeof e&&40===e.length&&o.isHex(e)},o.isHex256=function(e){return"string"==typeof e&&64===e.length&&o.isHex(e)},o.isSafeAddition=function(e,t){var i,a,s,n;return r(0<=e),r(0<=t),e<=0xfffffffffffff&&t<=0xfffffffffffff||(e=((i=e*(1/4294967296)|0)+(a=t*(1/4294967296)|0)|0)+(1&((s=(e|=0)>>31)&(n=(t|=0)>>31)|~((e+t|0)>>31)&(s^n)))|0,a>>>=0,!((e>>>=0)<(i>>>=0)||e<a)&&0==(4292870144&e))},o.inspectify=function(e,t){return"string"==typeof e?e:(c.colors=!1!==t,s.inspect(e,c))},o.fmt=s.format,o.format=function(e,t){return 0<e.length&&e[0]&&"object"==typeof e[0]?(null==t&&(t=Boolean(process.stdout&&process.stdout.isTTY)),o.inspectify(e[0],t)):o.fmt(...e)},o.log=function(...e){if(process.stdout){var t=o.format(e);process.stdout.write(t+"\n")}else{let t;0<e.length&&(t="object"!=typeof e[0]?o.fmt(...e):e[0]),console.log(t)}},o.error=function(...e){if(process.stderr){var t=o.format(e);process.stderr.write(t+"\n")}else{let t;0<e.length&&(t="object"!=typeof e[0]?o.fmt(...e):e[0]),console.error(t)}},o.hrtime=function(e){var t,i;return process.hrtime?e?([t,i]=process.hrtime(e),1e3*t+i/1e6):process.hrtime():(t=o.ms(),e?([i,e]=e,t-(1e3*i+e/1e6)):[(t-(i=t%1e3))/1e3,1e6*i])},o.now=function(){return Math.floor(o.ms()/1e3)},o.ms=function(){return Date.now()},o.date=function(e){return null==e&&(e=o.now()),new Date(1e3*e).toISOString().slice(0,-5)+"Z"},o.dataOfUTC=function(e){return("number"!=typeof e||14<e||e<-12)&&(e=(new Date).getTimezoneOffset()/60*-1),new Date(Date.now()+36e5*e).toISOString().slice(0,-5)+(0<=e?" +"+e:" "+e)},o.time=function(e){return null==e?o.now():new Date(e)/1e3|0},o.random=function(e,t){return Math.floor(Math.random()*(t-e))+e},o.nonce=function(e){let t,i;switch(e=e||8){case 8:i=Buffer.allocUnsafe(8),t=o.random(0,4294967296),i.writeUInt32LE(t,0,!0),t=o.random(0,4294967296),i.writeUInt32LE(t,4,!0);break;case 4:i=Buffer.allocUnsafe(4),t=o.random(0,4294967296),i.writeUInt32LE(t,0,!0);break;default:r(!1,"Bad nonce size.")}return i},o.strcmp=function(e,t){var i=Math.min(e.length,t.length);for(let r=0;r<i;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length<t.length?-1:e.length>t.length?1:0},o.mb=function(e){return Math.floor(e/1024/1024)},o.indexOf=function(e,t){r(Array.isArray(e)),r(Buffer.isBuffer(t));for(let a=0;a<e.length;a++){var i=e[a];if(r(Buffer.isBuffer(i)),i.equals(t))return a}return-1},o.pad8=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(10)).length){case 1:return"00"+e;case 2:return"0"+e;case 3:return e}throw new Error("Number too big.")},o.pad32=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(10)).length){case 1:return"000000000"+e;case 2:return"00000000"+e;case 3:return"0000000"+e;case 4:return"000000"+e;case 5:return"00000"+e;case 6:return"0000"+e;case 7:return"000"+e;case 8:return"00"+e;case 9:return"0"+e;case 10:return e}throw new Error("Number too big.")},o.hex8=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(16)).length){case 1:return"0"+e;case 2:return e}throw new Error("Number too big.")},o.hex32=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(16)).length){case 1:return"0000000"+e;case 2:return"000000"+e;case 3:return"00000"+e;case 4:return"0000"+e;case 5:return"000"+e;case 6:return"00"+e;case 7:return"0"+e;case 8:return e}throw new Error("Number too big.")},o.revHex=function(e){r("string"==typeof e),r(0<e.length),r(e.length%2==0);let t="";for(let i=0;i<e.length;i+=2)t=e.slice(i,i+2)+t;return t},o.reverse=function(e){var t={};for(const i of Object.keys(e))t[e[i]]=i;return t},o.binarySearch=function(e,t,i,r){let a=0,s=e.length-1;for(;a<=s;){var n=a+s>>>1,o=i(e[n],t);if(0===o)return n;o<0?a=1+n:s=n-1}return r?a:-1},o.binaryInsert=function(e,t,i,r){var a=o.binarySearch(e,t,i,!0);return r&&a<e.length&&0===i(e[a],t)?-1:(0===a?e.unshift(t):a===e.length?e.push(t):e.splice(a,0,t),a)},o.binaryRemove=function(e,t,i){return-1!==(t=o.binarySearch(e,t,i,!1))&&(e.splice(t,1),!0)},o.isUpperCase=function(e){return r("string"==typeof e),0!==e.length&&0==(32&e.charCodeAt(0))},o.startsWith=function(e,t){return r("string"==typeof e),e.startsWith?e.startsWith(t):0===e.indexOf(t)},o.memoryUsage=function(){var e;return process.memoryUsage?(e=process.memoryUsage(),{total:o.mb(e.rss),jsHeap:o.mb(e.heapUsed),jsHeapTotal:o.mb(e.heapTotal),nativeHeap:o.mb(e.rss-e.heapTotal),external:o.mb(e.external)}):{total:0,jsHeap:0,jsHeapTotal:0,nativeHeap:0,external:0}},o.toFixed=function(e,t){r("number"==typeof e),r(Number.isSafeInteger(e),"Invalid integer value.");let i="";e<0&&(e=-e,i="-");var a=u(t);let s=e%a,n=(e-s)/a;for(s=s.toString(10),n=n.toString(10);s.length<t;)s="0"+s;return s=s.replace(/0+$/,""),r(s.length<=t,"Invalid integer value."),0===s.length&&(s="0"),0===t?""+i+n:""+i+n+"."+s},o.fromFixed=function(e,t){r("string"==typeof e),r(e.length<=32,"Fixed number string too large.");let i=1,a=(0<e.length&&"-"===e[0]&&(e=e.substring(1),i=-1),e),s="0";for(-1!==(n=e.indexOf("."))&&(a=e.substring(0,n),s=e.substring(n+1)),a=a.replace(/^0+/,""),s=s.replace(/0+$/,""),r(a.length<=16-t,"Fixed number string exceeds 2^53-1."),r(s.length<=t,"Too many decimal places in fixed number string."),0===a.length&&(a="0");s.length<t;)s+="0";0===s.length&&(s="0"),r(/^\d+$/.test(a)&&/^\d+$/.test(s),"Non-numeric characters in fixed number string."),a=parseInt(a,10),s=parseInt(s,10);var n=function(e){switch(e){case 1:return 0;case 10:return 1;case 100:return 91;case 1e3:case 1e4:return 991;case 1e5:return 40991;case 1e6:return 740991;case 1e7:return 4740991;case 1e8:return 54740991}throw new Error("Exponent is too large.")}(e=u(t)),o=function(e){switch(e){case 1:return 9007199254740991;case 10:return 900719925474099;case 100:return 90071992547409;case 1e3:return 9007199254740;case 1e4:return 900719925474;case 1e5:return 90071992547;case 1e6:return 9007199254;case 1e7:return 900719925;case 1e8:return 90071992}throw new Error("Exponent is too large.")}(e);return r(a<o||a===o&&s<=n,"Fixed number string exceeds 2^53-1."),i*(a*e+s)},o.toFloat=function(e,t){return Number(o.toFixed(e,t))},o.checkNum=function(e){return/^[1-9]+[0-9]*]*$/.test(e)},o.fromFloat=function(e,t){return r("number"==typeof e&&isFinite(e)),r(Number.isSafeInteger(t)),o.fromFixed(e.toFixed(t),t)}},function(e,t,i){"use strict";
9
+ */const r=i(0),a=i(356),s=i(9),n=i(125),o=t,c={showHidden:!1,depth:20,colors:!1,customInspect:!0,showProxy:!1,maxArrayLength:1/0,breakLength:60};function u(e){switch(e){case 0:return 1;case 1:return 10;case 2:return 100;case 3:return 1e3;case 4:return 1e4;case 5:return 1e5;case 6:return 1e6;case 7:return 1e7;case 8:return 1e8}throw new Error("Exponent is too large.")}o.sprintf=function(){for(var e,t,i,r,a=0,s=arguments[a++],n=[];s;){if(t=/^[^\x25]+/.exec(s))n.push(t[0]);else if(t=/^\x25{2}/.exec(s))n.push("%");else{if(!(t=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(s)))throw"Huh ?!";if(null==(e=arguments[t[1]||a++])||null==e)throw"Too few arguments.";if(/[^s]/.test(t[7])&&"number"!=typeof e)throw"Expecting number but found "+typeof e;switch(t[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=t[6]?e.toExponential(t[6]):e.toExponential();break;case"f":e=t[6]?parseFloat(e).toFixed(t[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&t[6]?e.substring(0,t[6]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(t[7])&&t[2]&&0<=e?"+"+e:e,i=t[3]?"0"==t[3]?"0":t[3].charAt(1):" ",r=t[5]-String(e).length-"".length,i=t[5]?function(e,t){for(var i=[];0<t;i[--t]=e);return i.join("")}(i,r):"",n.push(""+(t[4]?e+i:i+e))}s=s.substring(t[0].length)}return n.join("")},o.encrypt=function(e,t,i){Buffer.isBuffer(e)||(r("string"==typeof e),e=Buffer.from(e,"binary")),Buffer.isBuffer(t)||(r("string"==typeof t),t=Buffer.from(t,"binary")),Buffer.isBuffer(i)||(r("string"==typeof i),i=Buffer.from(i,"binary"));var a=n.encipher(i,e,t),s=(a=Buffer.from(a,"binary"),Buffer.alloc(2*a.length));for(let e=0;e<a.length;e++)s[2*e]=97+(a[e]>>4),s[2*e+1]=97+(15&a[e]);return s.toString("binary")},o.decrypt=function(e,t,i){Buffer.isBuffer(e)||(r("string"==typeof e),e=Buffer.from(e,"binary")),Buffer.isBuffer(t)||(r("string"==typeof t),t=Buffer.from(t,"binary")),Buffer.isBuffer(i)||(r("string"==typeof i),i=Buffer.from(i,"binary"));var a=Buffer.alloc(i.length/2);for(let e=0;e<a.length;e++)a[e]=i[2*e]-97<<4|i[2*e+1]-97;return n.decipher(a,e,t).toString("binary")},o.isNumber=function(e){return"number"==typeof e&&isFinite(e)&&e>=-Number.MAX_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER},o.waiting=async function(e){await new Promise((t,i)=>{setTimeout(()=>{t()},e)})},o.isInt=function(e){return Number.isSafeInteger(e)},o.isUint=function(e){return o.isInt(e)&&0<=e},o.isFloat=function(e){return"number"==typeof e&&isFinite(e)},o.isUfloat=function(e){return o.isFloat(e)&&0<=e},o.isI8=function(e){return(0|e)===e&&-128<=e&&e<=127},o.isI16=function(e){return(0|e)===e&&-32768<=e&&e<=32767},o.stringify=function(e,t){if(void 0===e||!e)return"";if("string"==typeof e)return e;if(Array.isArray(e))return e.reduce((e,t)=>e+o.stringify(t),"");if("number"==typeof e||"boolean"==typeof e)return e.toString();if("object"!=typeof e)return Buffer.isBuffer(e)?e.toString("base64"):e;{let i="";return Object.keys(e).sort().map(r=>{t&&t.includes[r]||e[r]&&(i+=r+o.stringify(e[r]))}),i}},o.parseJson=function(e,t){try{return JSON.parse(e)}catch(e){return t||null}},o.hashInt=function(e){return a.str(e)>>>0},o.makeSingleton=function(e){e.singleton=function(){let t;return function(){return t=t||new e(...arguments)}}()},o.isI32=function(e){return(0|e)===e},o.isI64=function(e){return o.isInt(e)},o.isU8=function(e){return(255&e)===e},o.isU16=function(e){return(65535&e)===e},o.isU32=function(e){return e>>>0===e},o.isU64=function(e){return o.isUint(e)},o.isAscii=function(e){return"string"==typeof e&&/^[\t\n\r -~]*$/.test(e)},o.isBase58=function(e){return"string"==typeof e&&/^[1-9A-Za-z]+$/.test(e)},o.isBech32=function(e){return"string"==typeof e&&(e.toUpperCase()===e||e.toLowerCase()===e)&&!(e.length<8||90<e.length)&&/^[a-z]{2}1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]+$/i.test(e)},o.isHex=function(e){return"string"==typeof e&&e.length%2==0&&/^[0-9A-Fa-f]+$/.test(e)},o.isHex160=function(e){return"string"==typeof e&&40===e.length&&o.isHex(e)},o.isHex256=function(e){return"string"==typeof e&&64===e.length&&o.isHex(e)},o.isSafeAddition=function(e,t){var i,a,s,n;return r(0<=e),r(0<=t),e<=0xfffffffffffff&&t<=0xfffffffffffff||(e=((i=e*(1/4294967296)|0)+(a=t*(1/4294967296)|0)|0)+(1&((s=(e|=0)>>31)&(n=(t|=0)>>31)|~((e+t|0)>>31)&(s^n)))|0,a>>>=0,!((e>>>=0)<(i>>>=0)||e<a)&&0==(4292870144&e))},o.inspectify=function(e,t){return"string"==typeof e?e:(c.colors=!1!==t,s.inspect(e,c))},o.fmt=s.format,o.format=function(e,t){return 0<e.length&&e[0]&&"object"==typeof e[0]?(null==t&&(t=Boolean(process.stdout&&process.stdout.isTTY)),o.inspectify(e[0],t)):o.fmt(...e)},o.log=function(...e){if(process.stdout){var t=o.format(e);process.stdout.write(t+"\n")}else{let t;0<e.length&&(t="object"!=typeof e[0]?o.fmt(...e):e[0]),console.log(t)}},o.error=function(...e){if(process.stderr){var t=o.format(e);process.stderr.write(t+"\n")}else{let t;0<e.length&&(t="object"!=typeof e[0]?o.fmt(...e):e[0]),console.error(t)}},o.hrtime=function(e){var t,i;return process.hrtime?e?([t,i]=process.hrtime(e),1e3*t+i/1e6):process.hrtime():(t=o.ms(),e?([i,e]=e,t-(1e3*i+e/1e6)):[(t-(i=t%1e3))/1e3,1e6*i])},o.now=function(){return Math.floor(o.ms()/1e3)},o.ms=function(){return Date.now()},o.date=function(e){return null==e&&(e=o.now()),new Date(1e3*e).toISOString().slice(0,-5)+"Z"},o.dataOfUTC=function(e){return("number"!=typeof e||14<e||e<-12)&&(e=(new Date).getTimezoneOffset()/60*-1),new Date(Date.now()+36e5*e).toISOString().slice(0,-5)+(0<=e?" +"+e:" "+e)},o.time=function(e){return null==e?o.now():new Date(e)/1e3|0},o.random=function(e,t){return Math.floor(Math.random()*(t-e))+e},o.nonce=function(e){let t,i;switch(e=e||8){case 8:i=Buffer.allocUnsafe(8),t=o.random(0,4294967296),i.writeUInt32LE(t,0,!0),t=o.random(0,4294967296),i.writeUInt32LE(t,4,!0);break;case 4:i=Buffer.allocUnsafe(4),t=o.random(0,4294967296),i.writeUInt32LE(t,0,!0);break;default:r(!1,"Bad nonce size.")}return i},o.strcmp=function(e,t){var i=Math.min(e.length,t.length);for(let r=0;r<i;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length<t.length?-1:e.length>t.length?1:0},o.mb=function(e){return Math.floor(e/1024/1024)},o.indexOf=function(e,t){r(Array.isArray(e)),r(Buffer.isBuffer(t));for(let a=0;a<e.length;a++){var i=e[a];if(r(Buffer.isBuffer(i)),i.equals(t))return a}return-1},o.pad8=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(10)).length){case 1:return"00"+e;case 2:return"0"+e;case 3:return e}throw new Error("Number too big.")},o.pad32=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(10)).length){case 1:return"000000000"+e;case 2:return"00000000"+e;case 3:return"0000000"+e;case 4:return"000000"+e;case 5:return"00000"+e;case 6:return"0000"+e;case 7:return"000"+e;case 8:return"00"+e;case 9:return"0"+e;case 10:return e}throw new Error("Number too big.")},o.hex8=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(16)).length){case 1:return"0"+e;case 2:return e}throw new Error("Number too big.")},o.hex32=function(e){switch(r("number"==typeof e),r(0<=e),(e=e.toString(16)).length){case 1:return"0000000"+e;case 2:return"000000"+e;case 3:return"00000"+e;case 4:return"0000"+e;case 5:return"000"+e;case 6:return"00"+e;case 7:return"0"+e;case 8:return e}throw new Error("Number too big.")},o.revHex=function(e){r("string"==typeof e),r(0<e.length),r(e.length%2==0);let t="";for(let i=0;i<e.length;i+=2)t=e.slice(i,i+2)+t;return t},o.reverse=function(e){var t={};for(const i of Object.keys(e))t[e[i]]=i;return t},o.binarySearch=function(e,t,i,r){let a=0,s=e.length-1;for(;a<=s;){var n=a+s>>>1,o=i(e[n],t);if(0===o)return n;o<0?a=1+n:s=n-1}return r?a:-1},o.binaryInsert=function(e,t,i,r){var a=o.binarySearch(e,t,i,!0);return r&&a<e.length&&0===i(e[a],t)?-1:(0===a?e.unshift(t):a===e.length?e.push(t):e.splice(a,0,t),a)},o.binaryRemove=function(e,t,i){return-1!==(t=o.binarySearch(e,t,i,!1))&&(e.splice(t,1),!0)},o.isUpperCase=function(e){return r("string"==typeof e),0!==e.length&&0==(32&e.charCodeAt(0))},o.startsWith=function(e,t){return r("string"==typeof e),e.startsWith?e.startsWith(t):0===e.indexOf(t)},o.memoryUsage=function(){var e;return process.memoryUsage?(e=process.memoryUsage(),{total:o.mb(e.rss),jsHeap:o.mb(e.heapUsed),jsHeapTotal:o.mb(e.heapTotal),nativeHeap:o.mb(e.rss-e.heapTotal),external:o.mb(e.external)}):{total:0,jsHeap:0,jsHeapTotal:0,nativeHeap:0,external:0}},o.toFixed=function(e,t){r("number"==typeof e),r(Number.isSafeInteger(e),"Invalid integer value.");let i="";e<0&&(e=-e,i="-");var a=u(t);let s=e%a,n=(e-s)/a;for(s=s.toString(10),n=n.toString(10);s.length<t;)s="0"+s;return s=s.replace(/0+$/,""),r(s.length<=t,"Invalid integer value."),0===s.length&&(s="0"),0===t?""+i+n:""+i+n+"."+s},o.fromFixed=function(e,t){r("string"==typeof e),r(e.length<=32,"Fixed number string too large.");let i=1,a=(0<e.length&&"-"===e[0]&&(e=e.substring(1),i=-1),e),s="0";for(-1!==(n=e.indexOf("."))&&(a=e.substring(0,n),s=e.substring(n+1)),a=a.replace(/^0+/,""),s=s.replace(/0+$/,""),r(a.length<=16-t,"Fixed number string exceeds 2^53-1."),r(s.length<=t,"Too many decimal places in fixed number string."),0===a.length&&(a="0");s.length<t;)s+="0";0===s.length&&(s="0"),r(/^\d+$/.test(a)&&/^\d+$/.test(s),"Non-numeric characters in fixed number string."),a=parseInt(a,10),s=parseInt(s,10);var n=function(e){switch(e){case 1:return 0;case 10:return 1;case 100:return 91;case 1e3:case 1e4:return 991;case 1e5:return 40991;case 1e6:return 740991;case 1e7:return 4740991;case 1e8:return 54740991}throw new Error("Exponent is too large.")}(e=u(t)),o=function(e){switch(e){case 1:return 9007199254740991;case 10:return 900719925474099;case 100:return 90071992547409;case 1e3:return 9007199254740;case 1e4:return 900719925474;case 1e5:return 90071992547;case 1e6:return 9007199254;case 1e7:return 900719925;case 1e8:return 90071992}throw new Error("Exponent is too large.")}(e);return r(a<o||a===o&&s<=n,"Fixed number string exceeds 2^53-1."),i*(a*e+s)},o.toFloat=function(e,t){return Number(o.toFixed(e,t))},o.checkNum=function(e){return/^[1-9]+[0-9]*]*$/.test(e)},o.fromFloat=function(e,t){return r("number"==typeof e&&isFinite(e)),r(Number.isSafeInteger(t)),o.fromFixed(e.toFixed(t),t)}},function(e,t,i){"use strict";
10
10
  /*!
11
11
  * encoding.js - encoding utils for vallnet
12
12
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -14,7 +14,7 @@ const path = require('path');var gpath = path.join(__dirname, '../../../', 'node
14
14
  /*!
15
15
  * staticwriter.js - buffer writer for vallnet
16
16
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
17
- */const r=i(0),a=i(3),s=i(6),n=Buffer.alloc(0);let o=null;function c(e){if(!(this instanceof c))return new c(e);this.data=e?Buffer.allocUnsafe(e):n,this.offset=0}c.pool=function(e){var t;return e<=102400?(o=o||Buffer.allocUnsafeSlow(102400),(t=new c(0)).data=o.slice(0,e),t):new c(e)},c.prototype.render=function(e=!0){var t=this.data;return e&&r(this.offset===t.length),this.destroy(),t},c.prototype.getSize=function(){return this.offset},c.prototype.seek=function(e){this.offset+=e},c.prototype.destroy=function(){this.data=n,this.offset=0},c.prototype.writeU8=function(e){this.offset=this.data.writeUInt8(e>>>=0,this.offset,!0)},c.prototype.writeU16=function(e){this.offset=this.data.writeUInt16LE(e>>>=0,this.offset,!0)},c.prototype.writeU16BE=function(e){this.offset=this.data.writeUInt16BE(e>>>=0,this.offset,!0)},c.prototype.writeU32=function(e){this.offset=this.data.writeUInt32LE(e>>>=0,this.offset,!0)},c.prototype.writeU32BE=function(e){this.offset=this.data.writeUInt32BE(e>>>=0,this.offset,!0)},c.prototype.writeU64=function(e){this.offset=a.writeU64(this.data,e,this.offset)},c.prototype.writeU64BE=function(e){this.offset=a.writeU64BE(this.data,e,this.offset)},c.prototype.writeU64N=function(e){this.offset=a.writeU64N(this.data,e,this.offset)},c.prototype.writeU64BEN=function(e){this.offset=a.writeU64BEN(this.data,e,this.offset)},c.prototype.writeI8=function(e){this.offset=this.data.writeInt8(e,this.offset,!0)},c.prototype.writeI16=function(e){this.offset=this.data.writeInt16LE(e,this.offset,!0)},c.prototype.writeI16BE=function(e){this.offset=this.data.writeInt16BE(e,this.offset,!0)},c.prototype.writeI32=function(e){this.offset=this.data.writeInt32LE(e,this.offset,!0)},c.prototype.writeI32BE=function(e){this.offset=this.data.writeInt32BE(e,this.offset,!0)},c.prototype.writeI64=function(e){this.offset=a.writeI64(this.data,e,this.offset)},c.prototype.writeI64BE=function(e){this.offset=a.writeI64BE(this.data,e,this.offset)},c.prototype.writeI64N=function(e){this.offset=a.writeI64N(this.data,e,this.offset)},c.prototype.writeI64BEN=function(e){this.offset=a.writeI64BEN(this.data,e,this.offset)},c.prototype.writeFloat=function(e){this.offset=this.data.writeFloatLE(e,this.offset,!0)},c.prototype.writeFloatBE=function(e){this.offset=this.data.writeFloatBE(e,this.offset,!0)},c.prototype.writeDouble=function(e){this.offset=this.data.writeDoubleLE(e,this.offset,!0)},c.prototype.writeDoubleBE=function(e){this.offset=this.data.writeDoubleBE(e,this.offset,!0)},c.prototype.writeVarint=function(e){this.offset=a.writeVarint(this.data,e,this.offset)},c.prototype.writeVarintN=function(e){this.offset=a.writeVarintN(this.data,e,this.offset)},c.prototype.writeVarint2=function(e){this.offset=a.writeVarint2(this.data,e,this.offset)},c.prototype.writeVarint2N=function(e){this.offset=a.writeVarint2N(this.data,e,this.offset)},c.prototype.writeBytes=function(e){0!==e.length&&(e.copy(this.data,this.offset),this.offset+=e.length)},c.prototype.writeVarBytes=function(e){this.writeVarint(e.length),this.writeBytes(e)},c.prototype.copy=function(e,t,i){var r=i-t;0!=r&&(e.copy(this.data,this.offset,t,i),this.offset+=r)},c.prototype.writeString=function(e,t){var i;0!==e.length&&(i=Buffer.byteLength(e,t),this.data.write(e,this.offset,t),this.offset+=i)},c.prototype.writeHash=function(e){"string"!=typeof e?(r(32===e.length),this.writeBytes(e)):(r(64===e.length),this.data.write(e,this.offset,"hex"),this.offset+=32)},c.prototype.writeVarString=function(e,t){var i;0===e.length?this.writeVarint(0):(i=Buffer.byteLength(e,t),this.writeVarint(i),this.data.write(e,this.offset,t),this.offset+=i)},c.prototype.writeNullString=function(e,t){this.writeString(e,t),this.writeU8(0)},c.prototype.writeChecksum=function(){var e=this.data.slice(0,this.offset);s.hash256(e).copy(this.data,this.offset,0,4),this.offset+=4},c.prototype.fill=function(e,t){r(0<=t),0!==t&&(this.data.fill(e,this.offset,this.offset+t),this.offset+=t)},e.exports=c},function(e,t,i){const r=i(2).revHex,a={propSale:"sale",coinbase:"coinbase",notify:"notify",scRegister:"scRegister",scUpdate:"scUpdate",scState:"scState",cpRegister:"cpRegister",cpChange:"cpChange",contractCreate:"contractCreate",contractExecute:"contractExecute",contractPromise:"contractPromise",propCreate:"new",propExchange:"exchange",propFound:"found",htlcSuggest:"htlc1",htlcAssent:"htlc2",attach:"attach",comment:"comment",vote:"vote",scRun:"scrun",scNotify:"scnotify",erIssue:"erIssue",erAbolish:"erAbolish",enchanceCp:"enchanceCp"};var s=Object.keys(a).reduce((e,t)=>(a[t]!=a.propCreate&&a[t]!=a.propExchange&&a[t]!=a.propFound&&a[t]!=a.htlcSuggest&&a[t]!=a.htlcAssent&&a[t]!=a.contractPromise&&(e[t]=a[t]),e),{});const n=i(392);t.NotifyMsg=class e{constructor(e,t,i,r){this.oper=e,this.sn=t,this.h=i,this.body=r}static fromRaw(t){try{var i=JSON.parse(t.toString());return new e(i.oper,i.sn,i.h,i.body)}catch(t){}return null}toRaw(){return Buffer.from(JSON.stringify({oper:this.oper,sn:this.sn,h:this.h,body:this.body}))}},t.PropStatus={Sale:2,Borrow:3,Delete:4,Ready:9},t.HtlcStatus={Init:0,Sent:1,Assent:2,Deal:3,Finished:4,Cancel:9},t.ContractStatus={None:0,CreatedOnMem:2,Obsolete:3,Promised:4,Expired:5,Confirmed:6,Exchanged:7,Backed:8},t.ContractType=a,t.ContractTypeExecutable=s,t.ContractEnvType={Wallet:2,Mempool:3,Block:5},t.BlockFinalType={Final:0,Waiting:1,Expired:2},t.VerifyCode={Failed:0,Success:1,StockOffering:1001,StockCooling:1002,WrongPrice:1003,WrongFee:1004,WrongPublisher:1005,WrongSum:1006,WrongBonus:1007,SnapNull:1008,SignFailed:1009,WrongHeight:1010,WrongFormat:1011,StockAccountNotExist:1012,StockAccountNotEnoughSum:1013,StockOfferExpired:1014,FundNotEnough:1015,StockCircledependence:1016,AccountSequenceWrong:1017,NotExistCp:1018,NotExistER:1019,SignatureNotMatch:1020,DuplicateEr:1021,IssueError:1022,CreditError:1023,AbolishTimeError:1025,AbolishRootError:1026},t.getVerifyMsg=function(e){return n[e]},t.Transform=class{constructor(e){this.content=e.replace(/(\/\*(\n|.)*?\*\/)/g,"").replace(/(\n)|(\r)/g," ")}replace(e){let t=this.content;for(var i of Object.keys(e))if("string"==typeof e[i]&&0==e[i].indexOf("0x")){var a=(e[i].length-2)/2;let s=a.toString(16);s.length%2!=0&&(s="0"+s),s=r(s),a<=75?t=t.replace(new RegExp("var_"+i,"g"),`0x${s} `+e[i]):a<=255?t=t.replace(new RegExp("var_"+i,"g"),`0x4c 0x${s} `+e[i]):a<=65535?t=t.replace(new RegExp("var_"+i,"g"),`0x4d 0x${s} `+e[i]):a<=4294967295&&(t=t.replace(new RegExp("var_"+i,"g"),`0x4e 0x${s} `+e[i]))}else t=t.replace(new RegExp("var_"+i,"g"),e[i]);return t}},t.ContractState={Normal:1,Frozen:2,Destroy:3}},function(e,t,i){"use strict";
17
+ */const r=i(0),a=i(3),s=i(6),n=Buffer.alloc(0);let o=null;function c(e){if(!(this instanceof c))return new c(e);this.data=e?Buffer.allocUnsafe(e):n,this.offset=0}c.pool=function(e){var t;return e<=102400?(o=o||Buffer.allocUnsafeSlow(102400),(t=new c(0)).data=o.slice(0,e),t):new c(e)},c.prototype.render=function(e=!0){var t=this.data;return e&&r(this.offset===t.length),this.destroy(),t},c.prototype.getSize=function(){return this.offset},c.prototype.seek=function(e){this.offset+=e},c.prototype.destroy=function(){this.data=n,this.offset=0},c.prototype.writeU8=function(e){this.offset=this.data.writeUInt8(e>>>=0,this.offset,!0)},c.prototype.writeU16=function(e){this.offset=this.data.writeUInt16LE(e>>>=0,this.offset,!0)},c.prototype.writeU16BE=function(e){this.offset=this.data.writeUInt16BE(e>>>=0,this.offset,!0)},c.prototype.writeU32=function(e){this.offset=this.data.writeUInt32LE(e>>>=0,this.offset,!0)},c.prototype.writeU32BE=function(e){this.offset=this.data.writeUInt32BE(e>>>=0,this.offset,!0)},c.prototype.writeU64=function(e){this.offset=a.writeU64(this.data,e,this.offset)},c.prototype.writeU64BE=function(e){this.offset=a.writeU64BE(this.data,e,this.offset)},c.prototype.writeU64N=function(e){this.offset=a.writeU64N(this.data,e,this.offset)},c.prototype.writeU64BEN=function(e){this.offset=a.writeU64BEN(this.data,e,this.offset)},c.prototype.writeI8=function(e){this.offset=this.data.writeInt8(e,this.offset,!0)},c.prototype.writeI16=function(e){this.offset=this.data.writeInt16LE(e,this.offset,!0)},c.prototype.writeI16BE=function(e){this.offset=this.data.writeInt16BE(e,this.offset,!0)},c.prototype.writeI32=function(e){this.offset=this.data.writeInt32LE(e,this.offset,!0)},c.prototype.writeI32BE=function(e){this.offset=this.data.writeInt32BE(e,this.offset,!0)},c.prototype.writeI64=function(e){this.offset=a.writeI64(this.data,e,this.offset)},c.prototype.writeI64BE=function(e){this.offset=a.writeI64BE(this.data,e,this.offset)},c.prototype.writeI64N=function(e){this.offset=a.writeI64N(this.data,e,this.offset)},c.prototype.writeI64BEN=function(e){this.offset=a.writeI64BEN(this.data,e,this.offset)},c.prototype.writeFloat=function(e){this.offset=this.data.writeFloatLE(e,this.offset,!0)},c.prototype.writeFloatBE=function(e){this.offset=this.data.writeFloatBE(e,this.offset,!0)},c.prototype.writeDouble=function(e){this.offset=this.data.writeDoubleLE(e,this.offset,!0)},c.prototype.writeDoubleBE=function(e){this.offset=this.data.writeDoubleBE(e,this.offset,!0)},c.prototype.writeVarint=function(e){this.offset=a.writeVarint(this.data,e,this.offset)},c.prototype.writeVarintN=function(e){this.offset=a.writeVarintN(this.data,e,this.offset)},c.prototype.writeVarint2=function(e){this.offset=a.writeVarint2(this.data,e,this.offset)},c.prototype.writeVarint2N=function(e){this.offset=a.writeVarint2N(this.data,e,this.offset)},c.prototype.writeBytes=function(e){0!==e.length&&(e.copy(this.data,this.offset),this.offset+=e.length)},c.prototype.writeVarBytes=function(e){this.writeVarint(e.length),this.writeBytes(e)},c.prototype.copy=function(e,t,i){var r=i-t;0!=r&&(e.copy(this.data,this.offset,t,i),this.offset+=r)},c.prototype.writeString=function(e,t){var i;0!==e.length&&(i=Buffer.byteLength(e,t),this.data.write(e,this.offset,t),this.offset+=i)},c.prototype.writeHash=function(e){"string"!=typeof e?(r(32===e.length),this.writeBytes(e)):(r(64===e.length),this.data.write(e,this.offset,"hex"),this.offset+=32)},c.prototype.writeVarString=function(e,t){var i;0===e.length?this.writeVarint(0):(i=Buffer.byteLength(e,t),this.writeVarint(i),this.data.write(e,this.offset,t),this.offset+=i)},c.prototype.writeNullString=function(e,t){this.writeString(e,t),this.writeU8(0)},c.prototype.writeChecksum=function(){var e=this.data.slice(0,this.offset);s.hash256(e).copy(this.data,this.offset,0,4),this.offset+=4},c.prototype.fill=function(e,t){r(0<=t),0!==t&&(this.data.fill(e,this.offset,this.offset+t),this.offset+=t)},e.exports=c},function(e,t,i){const r=i(2).revHex,a={propSale:"sale",coinbase:"coinbase",notify:"notify",scRegister:"scRegister",scUpdate:"scUpdate",scState:"scState",cpRegister:"cpRegister",cpChange:"cpChange",contractCreate:"contractCreate",contractExecute:"contractExecute",contractPromise:"contractPromise",propCreate:"new",propExchange:"exchange",propFound:"found",htlcSuggest:"htlc1",htlcAssent:"htlc2",attach:"attach",comment:"comment",vote:"vote",scRun:"scrun",scNotify:"scnotify",erIssue:"erIssue",erAbolish:"erAbolish",enchanceCp:"enchanceCp"};var s=Object.keys(a).reduce((e,t)=>(a[t]!=a.propCreate&&a[t]!=a.propExchange&&a[t]!=a.propFound&&a[t]!=a.htlcSuggest&&a[t]!=a.htlcAssent&&a[t]!=a.contractPromise&&(e[t]=a[t]),e),{});const n=i(393);t.NotifyMsg=class e{constructor(e,t,i,r){this.oper=e,this.sn=t,this.h=i,this.body=r}static fromRaw(t){try{var i=JSON.parse(t.toString());return new e(i.oper,i.sn,i.h,i.body)}catch(t){}return null}toRaw(){return Buffer.from(JSON.stringify({oper:this.oper,sn:this.sn,h:this.h,body:this.body}))}},t.PropStatus={Sale:2,Borrow:3,Delete:4,Ready:9},t.HtlcStatus={Init:0,Sent:1,Assent:2,Deal:3,Finished:4,Cancel:9},t.ContractStatus={None:0,CreatedOnMem:2,Obsolete:3,Promised:4,Expired:5,Confirmed:6,Exchanged:7,Backed:8},t.ContractType=a,t.ContractTypeExecutable=s,t.ContractEnvType={Wallet:2,Mempool:3,Block:5},t.BlockFinalType={Final:0,Waiting:1,Expired:2},t.VerifyCode={Failed:0,Success:1,StockOffering:1001,StockCooling:1002,WrongPrice:1003,WrongFee:1004,WrongPublisher:1005,WrongSum:1006,WrongBonus:1007,SnapNull:1008,SignFailed:1009,WrongHeight:1010,WrongFormat:1011,StockAccountNotExist:1012,StockAccountNotEnoughSum:1013,StockOfferExpired:1014,FundNotEnough:1015,StockCircledependence:1016,AccountSequenceWrong:1017,NotExistCp:1018,NotExistER:1019,SignatureNotMatch:1020,DuplicateEr:1021,IssueError:1022,CreditError:1023,AbolishTimeError:1025,AbolishRootError:1026},t.getVerifyMsg=function(e){return n[e]},t.Transform=class{constructor(e){this.content=e.replace(/(\/\*(\n|.)*?\*\/)/g,"").replace(/(\n)|(\r)/g," ")}replace(e){let t=this.content;for(var i of Object.keys(e))if("string"==typeof e[i]&&0==e[i].indexOf("0x")){var a=(e[i].length-2)/2;let s=a.toString(16);s.length%2!=0&&(s="0"+s),s=r(s),a<=75?t=t.replace(new RegExp("var_"+i,"g"),`0x${s} `+e[i]):a<=255?t=t.replace(new RegExp("var_"+i,"g"),`0x4c 0x${s} `+e[i]):a<=65535?t=t.replace(new RegExp("var_"+i,"g"),`0x4d 0x${s} `+e[i]):a<=4294967295&&(t=t.replace(new RegExp("var_"+i,"g"),`0x4e 0x${s} `+e[i]))}else t=t.replace(new RegExp("var_"+i,"g"),e[i]);return t}},t.ContractState={Normal:1,Frozen:2,Destroy:3}},function(e,t,i){"use strict";
18
18
  /*!
19
19
  * digest.js - hash functions for vallnet
20
20
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -57,7 +57,7 @@ const path = require('path');var gpath = path.join(__dirname, '../../../', 'node
57
57
  * Packet.js - worker packets for vallnet
58
58
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
59
59
  * https://github.com/bookmansoft/gamegold
60
- */const r=i(155);i(335);class a{constructor(){this.id=++a.id>>>0,this.cmd=-1}getSize(){throw new Error("Abstract method.")}toWriter(){throw new Error("Abstract method.")}fromRaw(){throw new Error("Abstract method.")}static fromRaw(){throw new Error("Abstract method.")}workerHandle(e){e.resolveJob(this.id,this)}masterHandle(e){var t=r.execute(this);t.id=this.id,e.send(t)}jobsHandle(e){throw new Error(`Unknown command: "${this.cmd}".`)}}a.id=0,e.exports=a},function(e,t,i){"use strict";
60
+ */const r=i(155);i(336);class a{constructor(){this.id=++a.id>>>0,this.cmd=-1}getSize(){throw new Error("Abstract method.")}toWriter(){throw new Error("Abstract method.")}fromRaw(){throw new Error("Abstract method.")}static fromRaw(){throw new Error("Abstract method.")}workerHandle(e){e.resolveJob(this.id,this)}masterHandle(e){var t=r.execute(this);t.id=this.id,e.send(t)}jobsHandle(e){throw new Error(`Unknown command: "${this.cmd}".`)}}a.id=0,e.exports=a},function(e,t,i){"use strict";
61
61
  /*!
62
62
  * writer.js - buffer writer for vallnet
63
63
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -66,7 +66,7 @@ const path = require('path');var gpath = path.join(__dirname, '../../../', 'node
66
66
  * secp256k1.js - ecdsa wrapper for secp256k1 and elliptic
67
67
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
68
68
  * https://github.com/bookmansoft/gamegold
69
- */let r;if(1!==Number(process.env.GAMEGOLD_NO_SECP256K1))try{r=i(361)}catch(e){r=i(245)}else r=i(245);e.exports=r},,function(e,t,i){"use strict";
69
+ */let r;if(1!==Number(process.env.GAMEGOLD_NO_SECP256K1))try{r=i(362)}catch(e){r=i(245)}else r=i(245);e.exports=r},,function(e,t,i){"use strict";
70
70
  /*!
71
71
  * output.js - output object for vallnet
72
72
  * Copyright (c) 2018-2020, Bookman Software (MIT License)
@@ -115,7 +115,7 @@ var r=i(126),a=r.Buffer;function s(e,t){for(var i in e)t[i]=e[i]}function n(e,t,
115
115
  /*!
116
116
  * bn.js - big numbers for vallnet
117
117
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
118
- */e.exports=i(44)},function(e,t,i){try{var r=i(9);if("function"!=typeof r.inherits)throw"";e.exports=r.inherits}catch(t){e.exports=i(376)}},function(e,t,i){"use strict";var r=i(74);i=i(48);function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function n(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var i,r,a=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)a.push(parseInt(e[n]+e[n+1],16))}else for(var s=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);o<128?a[s++]=o:o<2048?(a[s++]=o>>6|192,a[s++]=63&o|128):(r=n,55296!=(64512&(i=e).charCodeAt(r))||r<0||r+1>=i.length||56320!=(64512&i.charCodeAt(r+1))?a[s++]=o>>12|224:(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++n)),a[s++]=o>>18|240,a[s++]=o>>12&63|128),a[s++]=o>>6&63|128,a[s++]=63&o|128)}else for(n=0;n<e.length;n++)a[n]=0|e[n];return a},t.toHex=function(e){for(var t="",i=0;i<e.length;i++)t+=s(e[i].toString(16));return t},t.htonl=a,t.toHex32=function(e,t){for(var i="",r=0;r<e.length;r++){var s=e[r];i+=n((s="little"===t?a(s):s).toString(16))}return i},t.zero2=s,t.zero8=n,t.join32=function(e,t,i,a){r((i-=t)%4==0);for(var s=new Array(i/4),n=0,o=t;n<s.length;n++,o+=4){var c="big"===a?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o];s[n]=c>>>0}return s},t.split32=function(e,t){for(var i=new Array(4*e.length),r=0,a=0;r<e.length;r++,a+=4){var s=e[r];"big"===t?(i[a]=s>>>24,i[a+1]=s>>>16&255,i[a+2]=s>>>8&255,i[a+3]=255&s):(i[a+3]=s>>>24,i[a+2]=s>>>16&255,i[a+1]=s>>>8&255,i[a]=255&s)}return i},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,i){return e+t+i>>>0},t.sum32_4=function(e,t,i,r){return e+t+i+r>>>0},t.sum32_5=function(e,t,i,r,a){return e+t+i+r+a>>>0},t.sum64=function(e,t,i,r){var a=e[t],s=r+e[t+1]>>>0;e[t]=(s<r?1:0)+i+a>>>0,e[t+1]=s},t.sum64_hi=function(e,t,i,r){return(t+r>>>0<t?1:0)+e+i>>>0},t.sum64_lo=function(e,t,i,r){return t+r>>>0},t.sum64_4_hi=function(e,t,i,r,a,s,n,o){var c=0;return e+i+a+n+((c+=(e=t+r>>>0)<t?1:0)+((e=e+s>>>0)<s?1:0)+(e+o>>>0<o?1:0))>>>0},t.sum64_4_lo=function(e,t,i,r,a,s,n,o){return t+r+s+o>>>0},t.sum64_5_hi=function(e,t,i,r,a,s,n,o,c,u){return e+i+a+n+c+(0+((e=t+r>>>0)<t?1:0)+((e=e+s>>>0)<s?1:0)+((e=e+o>>>0)<o?1:0)+(e+u>>>0<u?1:0))>>>0},t.sum64_5_lo=function(e,t,i,r,a,s,n,o,c,u){return t+r+s+o+u>>>0},t.rotr64_hi=function(e,t,i){return(t<<32-i|e>>>i)>>>0},t.rotr64_lo=function(e,t,i){return(e<<32-i|t>>>i)>>>0},t.shr64_hi=function(e,t,i){return e>>>i},t.shr64_lo=function(e,t,i){return(e<<32-i|t>>>i)>>>0}},function(e,t,i){"use strict";
118
+ */e.exports=i(44)},function(e,t,i){try{var r=i(9);if("function"!=typeof r.inherits)throw"";e.exports=r.inherits}catch(t){e.exports=i(377)}},function(e,t,i){"use strict";var r=i(74);i=i(48);function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function n(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var i,r,a=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)a.push(parseInt(e[n]+e[n+1],16))}else for(var s=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);o<128?a[s++]=o:o<2048?(a[s++]=o>>6|192,a[s++]=63&o|128):(r=n,55296!=(64512&(i=e).charCodeAt(r))||r<0||r+1>=i.length||56320!=(64512&i.charCodeAt(r+1))?a[s++]=o>>12|224:(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++n)),a[s++]=o>>18|240,a[s++]=o>>12&63|128),a[s++]=o>>6&63|128,a[s++]=63&o|128)}else for(n=0;n<e.length;n++)a[n]=0|e[n];return a},t.toHex=function(e){for(var t="",i=0;i<e.length;i++)t+=s(e[i].toString(16));return t},t.htonl=a,t.toHex32=function(e,t){for(var i="",r=0;r<e.length;r++){var s=e[r];i+=n((s="little"===t?a(s):s).toString(16))}return i},t.zero2=s,t.zero8=n,t.join32=function(e,t,i,a){r((i-=t)%4==0);for(var s=new Array(i/4),n=0,o=t;n<s.length;n++,o+=4){var c="big"===a?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o];s[n]=c>>>0}return s},t.split32=function(e,t){for(var i=new Array(4*e.length),r=0,a=0;r<e.length;r++,a+=4){var s=e[r];"big"===t?(i[a]=s>>>24,i[a+1]=s>>>16&255,i[a+2]=s>>>8&255,i[a+3]=255&s):(i[a+3]=s>>>24,i[a+2]=s>>>16&255,i[a+1]=s>>>8&255,i[a]=255&s)}return i},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,i){return e+t+i>>>0},t.sum32_4=function(e,t,i,r){return e+t+i+r>>>0},t.sum32_5=function(e,t,i,r,a){return e+t+i+r+a>>>0},t.sum64=function(e,t,i,r){var a=e[t],s=r+e[t+1]>>>0;e[t]=(s<r?1:0)+i+a>>>0,e[t+1]=s},t.sum64_hi=function(e,t,i,r){return(t+r>>>0<t?1:0)+e+i>>>0},t.sum64_lo=function(e,t,i,r){return t+r>>>0},t.sum64_4_hi=function(e,t,i,r,a,s,n,o){var c=0;return e+i+a+n+((c+=(e=t+r>>>0)<t?1:0)+((e=e+s>>>0)<s?1:0)+(e+o>>>0<o?1:0))>>>0},t.sum64_4_lo=function(e,t,i,r,a,s,n,o){return t+r+s+o>>>0},t.sum64_5_hi=function(e,t,i,r,a,s,n,o,c,u){return e+i+a+n+c+(0+((e=t+r>>>0)<t?1:0)+((e=e+s>>>0)<s?1:0)+((e=e+o>>>0)<o?1:0)+(e+u>>>0<u?1:0))>>>0},t.sum64_5_lo=function(e,t,i,r,a,s,n,o,c,u){return t+r+s+o+u>>>0},t.rotr64_hi=function(e,t,i){return(t<<32-i|e>>>i)>>>0},t.rotr64_lo=function(e,t,i){return(e<<32-i|t>>>i)>>>0},t.shr64_hi=function(e,t,i){return e>>>i},t.shr64_lo=function(e,t,i){return(e<<32-i|t>>>i)>>>0}},function(e,t,i){"use strict";
119
119
  /*!
120
120
  * facade.js - 门面对象
121
121
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -196,7 +196,7 @@ var r=i(126),a=r.Buffer;function s(e,t){for(var i in e)t[i]=e[i]}function n(e,t,
196
196
  * pkg.js - package constants
197
197
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
198
198
  * https://github.com/bookmansoft/gamegold
199
- */t.protocol="vallnet",t.version="v5.4.1",t.url="https://github.com/bookmansoft/gamegold"},function(e,t,i){"use strict";
199
+ */t.protocol="vallnet",t.version="5.4.3",t.url="https://github.com/bookmansoft/gamegold"},function(e,t,i){"use strict";
200
200
  /*!
201
201
  * common.js - p2p constants for vallnet
202
202
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -255,7 +255,7 @@ var r=i(126),a=r.Buffer;function s(e,t){for(var i in e)t[i]=e[i]}function n(e,t,
255
255
  * int64.js - int64s for vallnet
256
256
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
257
257
  * https://github.com/bookmansoft/gamegold
258
- */e.exports=i(354)},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";
258
+ */e.exports=i(355)},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";
259
259
  /*!
260
260
  * scripterror.js - script error for vallnet
261
261
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -277,7 +277,7 @@ const r=i(19).opcodes;function a(e){let t=null;var i=a.list[e.type];return new(i
277
277
  /*!
278
278
  * wallet.js - wallet object for vallnet
279
279
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
280
- */const r=i(0);var a=i(16);const s=i(15),n=i(2),o=i(3),c=i(35),u=i(198),h=i(141).sortWithSeq,l=i(6),p=i(94),d=i(1),f=i(4),m=i(70),g=i(333);i(217);const v=i(109),y=i(73),b=i(13),w=i(69),x=i(17),k=i(218),S=i(156),_=i(28),E=i(157),j=i(336),A=i(64),R=i(26),I=i(29),O=i(7),C=i(308),P=i(39),T=S.Mnemonic,{opcodes:B,hashType:N}=i(19),z=i(165),F=i(77),L=i(78),M=i(142),D=i(45),H=i(20),U=i(50),q=i(54),{NotifyMsg:V,ContractStatus:K,ContractType:W,PropStatus:$}=i(5),Y=i(32).VerifyError,G=i(153).ErItem,X=i(154).ErAbolishItem,J=i(227).EnchancementItem,Q=i(68),Z=i(59),ee=i(82),te=i(85).txdb,ie=i(37);class re extends a{constructor(e,t){super(),r(e,"DB required."),this.db=e,this.network=e.network,this.logger=e.logger,this.readLock=new u,this.writeLock=new c,this.sendLock=new c,this.indexCache=new A(1e4),this.accountCache=new A(1e4),this.pathCache=new A(1e5),this.current=null,this.wid=0,this.id=null,this.initialized=!1,this.watchOnly=!1,this.accountDepth=0,this.token=o.ZERO_HASH,this.tokenDepth=0,this.master=new j,this.txdb=new g(this),this.account=null,t&&this.fromOptions(t)}fromOptions(e){let t,i,a=e.master;return a?("string"==typeof a&&(a=S.PrivateKey.fromBase58(a,this.network)),r(S.isPrivate(a),"Must create wallet with hd private key.")):(i=new T(e.mnemonic),a=S.fromMnemonic(i,this.network)),r(a.network===this.network,"Network mismatch for master key."),this.master.fromKey(a,i),null!=e.wid&&(r(n.isU32(e.wid)),this.wid=e.wid),e.id&&(r(y.isName(e.id),"Bad wallet ID."),t=e.id),null!=e.initialized&&(r("boolean"==typeof e.initialized),this.initialized=e.initialized),null!=e.watchOnly&&(r("boolean"==typeof e.watchOnly),this.watchOnly=e.watchOnly),null!=e.accountDepth&&(r(n.isU32(e.accountDepth)),this.accountDepth=e.accountDepth),e.token&&(r(Buffer.isBuffer(e.token)),r(32===e.token.length),this.token=e.token),t=t||this.getID(),this.id=t,this}static fromOptions(e,t){return new re(e).fromOptions(t)}async init(e){var t=e.passphrase;r(!this.initialized),this.initialized=!0,t&&await this.master.encrypt(t),e=await this._createAccount(e,t);r(e),this.account=e,this.logger.info("Wallet initialized (%s).",this.id),await this.txdb.open()}async open(){r(this.initialized);var e=await this.getAccount(0);if(!e)throw new Error("Default account not found.");this.account=e,this.logger.info("Wallet opened (%s).",this.id),await this.txdb.open()}async ensureNotifyKey(){this.notifyKey||(await this.ensureAccount({name:"alliance",witness:!0}),this.notifyKey=await this.createReceive("alliance",1,this.master),this.notifyAddress=this.notifyKey.getAddress("string"))}async createAllianceInfo(e,t,i){var r={alliancename:e,nodeid:t};return e?(r.alliancePrivateKey=l.hash256(Buffer.concat([Buffer.from(e),this.master.key.privateKey])),i?(r.prv=Buffer.alloc(0),r.pub=Buffer.from(i,"hex"),r.awardAddress=b.fromWitnessPubkeyhash(l.hash160(r.pub),this.network.type).toString(this.network.type),r.mnemonic=new T):(i=l.hash256(Buffer.concat([Buffer.from(e+"-"+t),this.master.key.privateKey])),r.mnemonic=new T({entropy:i,language:this.master.mnemonic.language,passphrase:this.master.mnemonic.passphrase}),r.prv=l.hash256(Buffer.from(r.mnemonic.toSeed().toString("hex"))),r.pub=R.publicKeyCreate(r.prv,!0),e=j.fromKey(S.fromMnemonic(r.mnemonic),this.network.type).key.deriveAccount(44,0).derive(9).derive(1),r.awardAddress=b.fromWitnessPubkeyhash(l.hash160(e.publicKey),this.network.type).toString(this.network.type))):(r.mnemonic=T.fromOptions(this.master.mnemonic),r.prv=l.hash256(Buffer.from(r.mnemonic.toSeed().toString("hex"))),r.pub=R.publicKeyCreate(r.prv,!0),r.awardAddress=b.fromWitnessPubkeyhash(l.hash160(r.pub),this.network.type).toString(this.network.type)),r.address=b.fromWitnessPubkeyhash(l.hash160(r.pub),this.network.type).toString(),r}async destroy(){var e=await this.writeLock.lock(),t=await this.sendLock.lock();try{this.db.unregister(this),await this.master.destroy(),this.readLock.destroy(),this.writeLock.destroy(),this.sendLock.destroy()}finally{t(),e()}}async addSharedKey(e,t){var i=await this.writeLock.lock();try{return await this._addSharedKey(e,t)}finally{i()}}async _addSharedKey(e,t){if(t||(t=e,e=null),!(e=await this.getAccount(e=null==e?0:e)))throw new Error("Account not found.");let i;this.start();try{i=await e.addSharedKey(t)}catch(e){throw this.drop(),e}return await this.commit(),i}async removeSharedKey(e,t){var i=await this.writeLock.lock();try{return await this._removeSharedKey(e,t)}finally{i()}}async _removeSharedKey(e,t){if(t||(t=e,e=null),!(e=await this.getAccount(e=null==e?0:e)))throw new Error("Account not found.");let i;this.start();try{i=await e.removeSharedKey(t)}catch(e){throw this.drop(),e}return await this.commit(),i}async setPassphrase(e,t){e&&await this.decrypt(e),t&&await this.encrypt(t)}async encrypt(e){var t=await this.writeLock.lock();try{return await this._encrypt(e)}finally{t()}}async _encrypt(e){e=await this.master.encrypt(e,!0),this.start();try{await this.db.encryptKeys(this,e)}catch(t){throw p(e),this.drop(),t}p(e),this.save(),await this.commit()}async decrypt(e){var t=await this.writeLock.lock();try{return await this._decrypt(e)}finally{t()}}async _decrypt(e){e=await this.master.decrypt(e,!0),this.start();try{await this.db.decryptKeys(this,e)}catch(t){throw p(e),this.drop(),t}p(e),this.save(),await this.commit()}async rename(e){var t=await this.writeLock.lock();try{return await this.db.rename(this,e)}finally{t()}}async writeBalanceLog(e){var t=await this.writeLock.lock();try{return await this.db.writeBalanceLog(this,e)}finally{t()}}async renameAccount(e,t){var i=await this.writeLock.lock();try{return await this._renameAccount(e,t)}finally{i()}}async _renameAccount(e,t){if(!y.isName(t))throw new Error("Bad account name.");var i=await this.getAccount(e);if(!i)throw new Error("Account not found.");if(0===i.accountIndex)throw new Error("Cannot rename default account.");if(await this.hasAccount(t))throw new Error("Account name not available.");e=i.name,this.start(),this.db.renameAccount(i,t),await this.commit(),this.indexCache.remove(e),e=this.pathCache.values();for(const r of e)r.account===i.accountIndex&&(r.name=t)}async lock(){var e=await this.writeLock.lock(),t=await this.sendLock.lock();try{await this.master.lock()}finally{t(),e()}}unlock(e,t){return this.master.unlock(e,t)}getID(){r(this.master.key,"Cannot derive id.");var e,t=this.master.key.derive(44);(e=new f(37)).writeBytes(t.publicKey),e.writeU32(this.network.magic),t=l.hash160(e.render());return(e=new f(27)).writeU8(3),e.writeU8(190),e.writeU8(4),e.writeBytes(t),e.writeChecksum(),m.encode(e.render())}async createAccount(e,t){var i=await this.writeLock.lock();try{return await this._createAccount(e,t)}finally{i()}}async _createAccount(e,t){let i,a,s=e.name,o=(s=s||this.accountDepth.toString(10),0);if(0!=this.accountDepth&&(o=n.hashInt(s)),await this.hasAccountIndex(o))throw new Error("Account Index Conflict.");if(await this.hasAccount(s))throw new Error("Account already exists.");if(await this.unlock(t),this.watchOnly&&e.accountKey){if("string"==typeof(i=e.accountKey)&&(i=S.PublicKey.fromBase58(i,this.network)),!S.isPublic(i))throw new Error("Must add HD public keys to watch only wallet.");r(i.network===this.network,"Network mismatch for watch only key.")}else r(this.master.key),i=(i=this.master.key.deriveAccount(44,o)).toPublic();t={wid:this.wid,id:this.id,name:0===this.accountDepth?"default":s,witness:e.witness,watchOnly:this.watchOnly,accountKey:i,accountIndex:o,type:e.type,m:e.m,n:e.n,keys:e.keys},this.start();try{(a=E.fromOptions(this.db,t)).wallet=this,await a.init()}catch(e){throw this.drop(),e}return this.logger.info("Created account %s/%s/%d.",a.id,a.name,a.accountIndex),this.accountDepth++,this.save(),await this.commit(),a}async ensureAccount(e,t){var i=e.name;return(i=await this.getAccount(i))||this.createAccount(e,t)}getAccounts(){return this.db.getAccounts(this.wid)}getAccountMap(){return this.db.getAccountMap(this.wid)}getAddressHashes(e){return null!=e?this.getAccountHashes(e):this.db.getWalletHashes(this.wid)}async getAccountHashes(e){return e=await this.ensureIndex(e,!0),this.db.getAccountHashes(this.wid,e)}async getAccount(e){if(this.account&&(null==e||"default"===e||"number"==typeof e&&0===e||"string"==typeof e&&0===e.length))return this.account;if(-1===(e=await this.getAccountIndex(e)))return null;var t=await this.readLock.lock(e);try{return await this._getAccount(e)}finally{t()}}async _getAccount(e){var t=this.accountCache.get(e);return t||((t=await this.db.getAccount(this.wid,e))?(t.wallet=this,t.wid=this.wid,t.id=this.id,t.watchOnly=this.watchOnly,await t.open(),this.accountCache.set(e,t),t):null)}async getAccountIndex(e){var t;return null==e?-1:"number"==typeof e?e:null!=(t=this.indexCache.get(e))?t:-1===(t=await this.db.getAccountIndex(this.wid,e))?-1:(this.indexCache.set(e,t),t)}async getAccountName(e){var t;return"string"==typeof e?e:(t=this.accountCache.get(e))?t.name:this.db.getAccountName(this.wid,e)}async hasAccount(e){return-1!==(e=await this.getAccountIndex(e))&&(!!this.accountCache.has(e)||this.db.hasAccount(this.wid,e))}async hasAccountIndex(e){return!!this.accountCache.has(e)||this.db.hasAccount(this.wid,e)}createReceive(e,t=0,i=null){return this.createKey(e,0,t,i)}createChange(e){return this.createKey(e,1)}createNested(e){return this.createKey(e,2)}async createKey(e,t,i=0,r=null){var a=await this.writeLock.lock();try{return await this._createKey(e,t,i,r)}finally{a()}}async _createKey(e,t,i=0,r=null){if(null==t&&(t=e,e=null),!(e=await this.getAccount(e=e||0)))throw new Error("Account not found.");let a;this.start();try{a=await e.createKey(t,i,r)}catch(e){throw this.drop(),e}return await this.commit(),a}async deriveKey(e,t,i,r=null){let a=null;var s=await this.writeLock.lock();try{this.start(),a=await this._deriveKey(e,t,i,r),await this.commit()}catch(e){throw this.drop(),e}finally{s()}return a}async _deriveKey(e,t,i=0,r=null){if(null==t&&(t=e,e=null),e=e||0,e=parseInt(e),e=await this.getAccount(e))return t=await e.deriveKey(t,i,r),await e.saveKey(t),t;throw new Error("Account not found.")}save(){return this.db.save(this)}async saveAccount(e){var t=await this.writeLock.lock();try{this.start(),e._save(),await this.commit(),0==e.accountIndex&&(this.account=e)}finally{t()}}start(){return this.db.start(this)}drop(){return this.db.drop(this)}clear(){return this.db.clear(this)}commit(){return this.db.commit(this)}async hasAddress(e){return e=b.getHash(e,"hex"),null!=await this.getPath(e)}async getPath(e){return(e=await this.readPath(e))?(e.name=await this.getAccountName(e.account),r(e.name),this.pathCache.set(e.hash,e),e):null}async readPath(e){e=b.getHash(e,"hex");var t=this.pathCache.get(e);return t||((t=await this.db.getPath(this.wid,e))?(t.id=this.id,t):null)}async hasPath(e){return e=b.getHash(e,"hex"),!!this.pathCache.has(e)||this.db.hasPath(this.wid,e)}async getPaths(e){if(null!=e)return this.getAccountPaths(e);var t=[];for(const e of await this.db.getWalletPaths(this.wid))e.id=this.id,e.name=await this.getAccountName(e.account),r(e.name),this.pathCache.set(e.hash,e),t.push(e);return t}async getAccountPaths(e){var t=await this.ensureIndex(e,!0),i=await this.getAccountHashes(t),a=await this.getAccountName(e),s=(r(a),[]);for(const e of i){var n=await this.readPath(e);r(n),r(n.account===t),n.name=a,this.pathCache.set(n.hash,n),s.push(n)}return s}async importKey(e,t,i){var r=await this.writeLock.lock();try{return await this._importKey(e,t,i)}finally{r()}}async _importKey(e,t,i){if(e&&"object"==typeof e&&(i=t,t=e,e=null),null==e&&(e=0),r(t.network===this.network,"Network mismatch for key."),this.watchOnly){if(t.privateKey)throw new Error("Cannot import privkey into watch-only wallet.")}else if(!t.privateKey)throw new Error("Cannot import pubkey into non watch-only wallet.");var a=t.getHash("hex");if(await this.getPath(a))throw new Error("Key already exists.");if(!(a=await this.getAccount(e)))throw new Error("Account not found.");if(a.type!==E.types.PUBKEYHASH)throw new Error("Cannot import into non-pkh account.");await this.unlock(i),e=k.fromRing(a,t).toPath(),this.master.encrypted&&(e.data=this.master.encipher(e.data,e.hash),r(e.data),e.encrypted=!0),this.start();try{await a.savePath(e)}catch(e){throw this.drop(),e}await this.commit()}async importAddress(e,t){var i=await this.writeLock.lock();try{return await this._importAddress(e,t)}finally{i()}}async _importAddress(e,t){if(t||(t=e,e=null),null==e&&(e=0),t.network!==this.network)throw new Error("Network mismatch for address.");if(!this.watchOnly)throw new Error("Cannot import address into non watch-only wallet.");if(await this.getPath(t))throw new Error("Address already exists.");if(!(e=await this.getAccount(e)))throw new Error("Account not found.");if(e.type!==E.types.PUBKEYHASH)throw new Error("Cannot import into non-pkh account.");t=v.fromAddress(e,t),this.start();try{await e.savePath(t)}catch(e){throw this.drop(),e}await this.commit()}async fund(e,t){var i=await this.writeLock.lock();try{return await this._fund(e,t)}finally{i()}}async _fund(e,t){if(t=t||{},!this.initialized)throw new Error("Wallet is not initialized.");if(this.watchOnly)throw new Error("Cannot fund from watch-only wallet.");let i;if(null!=t.account){if(!(i=await this.getAccount(t.account)))throw new Error("Account not found.")}else i=this.account;if(!i.initialized)throw new Error("Account is not initialized.");let a,s=t.rate;return null==s&&(s=await this.db.estimateFee(t.blocks)),a=t.smart?await this.getSmartCoins(i.name):(a=await this.getCoins(i.name),this.txdb.filterConserved(a)),await e.fund(a,{allowPreInput:t.allowPreInput,noChange:t.noChange,selection:t.selection,round:t.round,depth:t.depth,hardFee:t.hardFee,subtractFee:t.subtractFee,subtractIndex:t.subtractIndex,changeAddress:i.change.getAddress(),height:this.db.curHeight,rate:s,maxFee:t.maxFee,estimate:e=>this.estimateSize(e),network:this.network}),!t.allowInfiniteFee&&t.noChange&&r(e.getFee()<=C.MAX_FEE,"TX exceeds MAX_FEE."),a}async getAccountByAddress(e){return e=b.getHash(e,"hex"),(e=await this.getPath(e))?this.getAccount(e.account):null}async estimateSize(e){var t=O.WITNESS_SCALE_FACTOR,i=b.fromScript(e);if(!i)return-1;var r=await this.getAccountByAddress(i);if(!r)return-1;let a=0;if(e.isScripthash()&&r.witness)switch(r.type){case E.types.PUBKEYHASH:a=4*(a+23);break;case E.types.MULTISIG:a=4*(a+35)}switch(r.type){case E.types.PUBKEYHASH:a=a+74+34;break;case E.types.MULTISIG:a=(a=(a=(a=(a+=1)+74*r.m)+3+1)+34*r.n)+1+1}return r.witness?a=((a+=1)+t-1)/t|0:a+=o.sizeVarint(a),a}async createTX(e){var t=e.outputs,i=new w;r(Array.isArray(t),"Outputs must be an array."),r(0<t.length,"No outputs available."),e.comment&&("object"==typeof e.comment&&(e.comment=JSON.stringify(e.comment)),i.outputs.push(_.fromScript(x.createScript(Buffer.from(e.comment),x.types.NULLDATA),0)));for(const e of t){var a=new _(e),s=a.getAddress();if(a.isDust())throw new Error("Output is dust.");if(0<a.value){if(!s)throw new Error("Cannot send to unknown address.");if(s.isNull())throw new Error("Cannot send to null address.")}i.outputs.push(a)}let n=null;if(e.inputs)for(const t of e.inputs){var o=await this.getTX(t.hash);o&&(o=q.fromTX(o.tx,t.index,-1,0))&&(n=o.getAddress(),e.allowPreInput=!0,i.addCoin(o))}else await this.fund(i,e);if(n&&((t=new _).value=i.getFee()-C.MIN_FEE,t.script.fromAddress(n),i.outputs.push(t),i.changeIndex=i.outputs.length-1),!1!==e.sort&&i.sortMembers(),null!=e.locktime&&i.setLocktime(e.locktime),r(i.isSane(),"TX failed sanity check."),r(i.verifyInputs(this.db.curHeight+1),"TX failed context check."),0===await this.template(i))throw new Error("Templating failed.");return i}async send(e,t){var i=await this.sendLock.lock();try{return await this._send(e,t)}finally{i()}}async _send(e,t){return t&&(e.account=t),t=await this.createTX(e,!0),await this.sign(t),this.sendMTX(t,{sendafter:e.sendafter})}async sendMTX(e,t={}){if(!e.isSigned())throw new Error("TX could not be fully signed.");var i=e.toTX();if(i.getSigopsCost(e.view)>I.MAX_TX_SIGOPS_COST)throw new Error("TX exceeds policy sigops.");if(i.getWeight()>I.MAX_TX_WEIGHT)throw new Error("TX exceeds policy weight.");return t.sendafter||(this.logger.debug("Sending wallet tx (%s): %s",this.id,i.txid()),await this.db.addTX(i),await this.db.send(i)),i}async resend(){var e=await this.getPending(),t=(0<e.length&&this.logger.info("Rebroadcasting %d transactions.",e.length),[]);for(const i of e)t.push(i.tx);for(const e of h(t))await this.db.send(e);return t}async deriveInputs(e){r(e.mutable);var t=[];for(const r of await this.getInputPaths(e)){var i=await this.getAccount(r.account);i&&(i=i.derivePath(r,this.master))&&t.push(i)}return t}async getKey(e){var t;e=b.getHash(e,"hex",this.network.type);return(e=await this.getPath(e))&&(t=await this.getAccount(e.account))?t.derivePath(e,this.master):null}async exportToFile(e){if(!Z.unsupported){var t=await this.db.getTip(),i=n.date();let o="",c=[n.fmt("# Wallet Dump created by %s %s",ee.protocol,ee.version),n.fmt("# * Created on %s",i),n.fmt("# * Best block at time of backup was %d (%s).",t.height,n.revHex(t.hash)),n.fmt("# * File: %s",e.file),""];var r,a;t=n.fmt("W %s wid= %s",this.toRaw().toString("base64"),this.wid),t=(c.push(t),await this.getAccounts());for(const e of t){var s=await this.getAccount(e);s=n.fmt("C %s name= %s index= %d",s.toRaw().toString("base64"),s.name,s.accountIndex);c.push(s)}for(const t of await this.getAddressHashes())this.watchOnly?(r=b.fromWitnessPubkeyhash(Buffer.from(t,"hex"),this.network.type).toString(),r=n.fmt("A %s %s label= account= %s branch= %s index= %s addr= %s","S",i,0,-1,-1,r),c.push(r)):(r=await this.getPrivateKey(t))&&(a=r.getAddress("string"),a=n.fmt("A %s %s label= account= %s branch= %s index= %s addr= %s",r.toSecret(),i,r.account,r.branch,r.index,a),c.push(a),e.fragment)&&1e5<c.length&&(o=c.join("\n"),await Z.writeFile(e.file.split(".").reduce((e,t)=>(e?e+="."+t:e=t+"-1",e),""),o,"utf8"),c=[]);c.push(""),c.push("# End of dump"),c.push(""),o=c.join("\n"),await Z.writeFile(e.file,o,"utf8")}}async getPrivateKey(e,t){if(e=b.getHash(e,"hex"),!(e=await this.getPath(e)))return null;var i=await this.getAccount(e.account);return i?(await this.unlock(t),(t=i.derivePath(e,this.master)).privateKey?t:null):null}async getInputPaths(e){if(r(e.mutable),!e.hasCoins())throw new Error("Not all coins available.");var t=[];for(const r of e.getInputHashes("hex")){var i=await this.getPath(r);i&&t.push(i)}return t}async getOutputPaths(e){var t=[];for(const r of e.getOutputHashes("hex")){var i=await this.getPath(r);i&&t.push(i)}return t}async setLookahead(e,t){var i=await this.writeLock.lock();try{return this._setLookahead(e,t)}finally{i()}}async _setLookahead(e,t){if(null==t&&(t=e,e=null),!(e=await this.getAccount(e=null==e?0:e)))throw new Error("Account not found.");this.start();try{await e.setLookahead(t)}catch(e){throw this.drop(),e}await this.commit()}async syncOutputDepth(e){var t=new Map;for(const r of e.outputs){var i=r.path;i&&-1!==i.index&&(t.has(i.account)||t.set(i.account,[]),t.get(i.account).push(i))}var a,s,n=[];for([a,s]of t){let e=-1,t=-1,i=-1;for(const r of s)switch(r.branch){case 0:r.index>e&&(e=r.index);break;case 1:r.index>t&&(t=r.index);break;case 2:r.index>i&&(i=r.index)}e+=2,t+=2,i+=2;var o=await this.getAccount(a);(o=(r(o),await o.syncDepth(e,t,i)))&&n.push(o)}return n}async getRedeem(e){"string"==typeof e&&(e=Buffer.from(e,"hex"));var t=await this.getKey(e.toString("hex"));return t?t.getRedeem(e):null}async template(e){var t=await this.deriveInputs(e);return e.sign(t)}async onSaleList(e,t){return(await(await this.getPropList()).predict(async(e,i)=>!!i.bid&&await this.belongToAccount(t,i.bid.address))).where([["pst",$.Sale]]).paginate(10,e).records()}async mySaleList(e,t){return(await(await this.getPropList()).predict(async(e,i)=>this.belongToAccount(t,i.current.address))).where([["pst",$.Sale]]).paginate(10,e).records()}async getPropList(){const e=await this.db.loadVpList();var t=[];for(let i=0;i<e.length;i++){let r=e[i];t.push((async()=>{await this.getPrivateKey(r.current.address)&&(e[i]=[r.pid,r])})())}return await Promise.all(t),new ie(e)}async propCreate(e,t){var i,a=new w;for(i of e){var s=await this.ensureCp(i.cid,!0);!s||i.cid==this.network.genesisId||(i.gold=(0|i.gold)>>>0,i.gold<O.MINPROPVALUE)||(i.pid||(i.pid=M()),i.oid||(i.oid=i.pid),a.propCreate(s.current.address,i),i.index=a.outputs.length-1)}if(0<a.outputs.length){t?await this.fund(a,{account:t}):await this.fund(a),await this.sign(a);var n,o=a.commit();for(n of(await this.db.addTX(o[0]),await this.db.send(o[0]),r(o[0].verify(o[1],x.flags.STANDARD_VERIFY_FLAGS)),e))n.hash=o[0].hash("hex"),n.txid=o[0].txid();return o}return[]}async attach(e,t){var i,a=new w;for(i of e)a.attach(i.address,i.value,i.data);if(0<a.outputs.length){t?await this.fund(a,{account:t}):await this.fund(a),await this.sign(a);var s,n=a.commit();for(s of(await this.db.addTX(n[0]),await this.db.send(n[0]),r(n[0].verify(n[1],x.flags.STANDARD_VERIFY_FLAGS)),e))s.hash=n[0].hash("hex"),s.txid=n[0].txid();return n}return[]}async sendSecret(e,t,i){let r=this.db.$contacts.get(e);if(!r||!r.sender){var a=(await this.createReceive(i)).getAddress("string");if(e==a)throw new F(L.errors.TYPE_ERROR,"Forbid Sending to Self Address.");r=await this.db.ensureContact({contact:e,messenger:a,wallet:this,account:i})}if(r)return r.send(t);throw new F(L.errors.TYPE_ERROR,"Invalid Address.")}async commNotify(e){r(!!e),r(!!e.dst),r(!!e.content);var t=new w,i=e.src||this.getReceive().toString(),a=(i=new V(W.notify,M(),this.db.curHeight,{src:i,content:e.content}),_.fromScript(x.createScript(i.toRaw(),x.types.NULLDATA),0));t.outputs.push(a),a={address:e.dst,locktime:O.BLOCK_DAY,locktype:"csb",value:.1*O.COIN},t.outputs.push(new _(a)),e.account?await this.fund(t,{account:e.account,noChange:!0,allowInfiniteFee:!0}):await this.fund(t,{noChange:!0,allowInfiniteFee:!0}),await this.sign(t),a=t.commit();return r(a[0].verify(a[1],x.flags.STANDARD_VERIFY_FLAGS)),await this.db.addTX(a[0]),this.logger.debug("Sending tx on wallet(%s): %s",this.id,a[0].txid()),await this.db.send(a[0]),i.hash=a[0].hash("hex"),i.height=-1,i}async cpRegister(e,t,i,a){if(r(!!t&&"object"==typeof t),!await this.db.client.execute("canExecute",[{confirm:!1,cid:t.cid,name:t.name,oper:W.cpRegister}]))throw new F(L.errors.TYPE_ERROR,"Invalid CP Register Info.");const s=new w;e||(n=await this.createReceive(i),e=n.getAddress());var n=await this.getKey(e);if(!n)throw new F(L.errors.TYPE_ERROR,"Invalid CP Register Address, Not along to this wallet.");if(t.pubAddress=e.toString(),t.pubKey=n.getPublicKey("hex"),t.signMethod="secp256k1",n=await this.createAllianceInfo(),t.register=n.pub.toString("hex"),s.cpRegister(e,O.registerFee,t),n=async()=>{i?await this.fund(s,{account:i}):await this.fund(s),await this.sign(s);var a=s.commit();return r(a[0].verify(a[1],x.flags.STANDARD_VERIFY_FLAGS)),await this.db.addTX(a[0]),await this.db.send(a[0]),t.txid=a[0].txid(),t.addr=e.toString(),a},!a)return n();n()}getSCAddress(e){return e=Q.fromMnemonic(T.fromOptions(O.SmartContractMnemonic),this.network).deriveAccount(44,e).derive(9).derive(1),b.fromWitnessPubkeyhash(l.hash160(e.publicKey),this.network)}async cpChange(e,t){var i=await this.ensureCp(e.cid);if(i.cid==this.network.genesisId||"ATHENA"==i.name)throw new F(L.errors.TYPE_ERROR,"Invalid cp name.");var a=await this.getTX(i.current.hash);if(!a)throw new F(L.errors.TYPE_ERROR,"Do not have permission to change this info.");if(a=a.tx,!await this.belongToAccount(t,a.outputs[0].getAddress()))throw new F(L.errors.TYPE_ERROR,"Invalid account info.");if(e.newName){if(!await this.db.client.execute("canExecute",[{confirm:!1,cid:i.cid,name:e.newName,oper:W.cpChange}]))throw new F(L.errors.TYPE_ERROR,"Invalid CP Change Info.")}else e.newName=i.name;return e.addr||(e.addr=b.fromString(i.current.address)),i=w.cpChange(a,e),t?await this.fund(i,{allowPreInput:!0,account:t}):await this.fund(i,{allowPreInput:!0}),await this.sign(i),a=i.commit(),await this.db.send(a[0]),r(a[0].verify(a[1],x.flags.STANDARD_VERIFY_FLAGS)),e.txid=a[0].txid(),a}async propExchangeList(e,t,i=!1){var a,s,n,o=new w,c=[];for([a,s,n]of e){var u,h=null;if(h=await this.getTX(a.hash)){if(h=h.tx,u=a.index,h&&h.outputs&&!(h.outputs.length<=u)){if(i){if(!await this.hasAddress(h.outputs[u].getAddress())){this.logger.error("not owned prop:",a.hash,a.index);continue}}else if(!await this.belongToAccount(t,h.outputs[u].getAddress())){this.logger.error("not owned prop:",a.hash,a.index);continue}var l=h.outputs[u].getReturnData();l&&(o.propExchange(h,u,s),l.index=o.outputs.length-1,l.addr=s.toString(),c.push(l))}}else this.logger.error("tx not find:",a.hash,n)}return t?await this.fund(o,{allowPreInput:!0,account:t}):await this.fund(o,{allowPreInput:!0}),await this.sign(o),e=o.commit(),await this.db.addTX(e[0]),await this.db.send(e[0]),r(e[0].verify(e[1],x.flags.STANDARD_VERIFY_FLAGS)),e.push(c),e}async propDonate(e,t){var i=e.index;if(!(e=await this.getTX(e.hash))||!e.tx||!e.tx.outputs||e.tx.outputs.length<=i)throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(!await this.belongToAccount(t,e.tx.outputs[i].getAddress()))throw new F(L.errors.TYPE_ERROR,"Props that do not belong to you.");if(!(t=e.tx.outputs[i].getReturnData()))throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(t.cid&&t.cid==this.network.genesisId)throw new Y(e.tx,"invalid","Special props that can not to donate",100);var r=new w;return(e=(r.addInputFromTx(e.tx,i),r.addOutput(x.createScript(Buffer.from(JSON.stringify({value:e.tx.outputs[i].value,cid:t.cid,pid:t.pid,oid:t.oid,gaddr:this.getAddress().toString(this.network)})),x.types.NULLDATA),0),await this.sign(r,null,N.NONE|N.ANYONECANPAY),r.commit())).push(t),e}async propReceive(e,t){var i=(e=w.fromTX(e,1)).inputs[0].prevout,r=e.outputs[0].getReturnData();e.view.addOutput({hash:e.inputs[0].prevout.hash,index:e.inputs[0].prevout.index},new _({value:r.value})),e.outputs.pop();let a=this.getAddress().toString(this.network);t&&(s={cid:r.cid,uid:t},a=(s=await this.tokenCreate(s,t)).data.addr),e.outputs.push(_.fromScript(a,r.value,{oper:W.propExchange,pid:r.pid,cid:r.cid,oid:r.oid,prev:{hash:i.hash,index:i.index}})),t?await this.fund(e,{allowPreInput:!0,account:t}):await this.fund(e,{allowPreInput:!0}),await this.sign(e,null,N.ALL,[0]);var s=e.commit();return await this.db.send(s[0]),r.simAddr=a,[s[0],null,r]}async belongToAccount(e,t){return!!t&&!(!(t=await this.getAccountByAddress(t))||e&&t.name!==e)}async propExchange(e,t,i){let a=null,s=0;var n;return Array.isArray(e)?(a=e[0],s=e[1]):(n=await this.getTX(e.hash))&&(a=n.tx,s=e.index),!a||!a.outputs||a.outputs.length<=s?(this.logger.error("Invalid tx info."),null):await this.belongToAccount(i,a.outputs[s].getAddress())?(n=a.outputs[s].getReturnData())?(e=(new w).propExchange(a,s,t),n.index=e.outputs.length-1,i?await this.fund(e,{allowPreInput:!0,account:i}):await this.fund(e,{allowPreInput:!0}),await this.sign(e),t=e.commit(),await this.db.addTX(t[0]),await this.db.send(t[0]),r(t[0].verify(t[1],x.flags.STANDARD_VERIFY_FLAGS)),t.push(n),t):(this.logger.error("Invalid tx info."),null):(this.logger.error("Invalid user."),null)}async propFound(e,t,i){if(e=await this.getTX(e),r(e),!(e=e.tx))throw new F(L.errors.TYPE_ERROR,"Invalid hex string.");var a=e.outputs[t],s=a.getReturnData();if(!s||s.oper!==W.propExchange&&s.oper!==W.propCreate)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");if(s.cid==this.network.genesisId)throw new Y(block,"invalid","prop found supertoken",100);var n=new w;n.addInputFromTx(e,t),e=_.fromScript(a.getAddress(),a.value),n.outputs.push(e),i?await this.fund(n,{allowPreInput:!0,subtractFee:!0,account:i}):await this.fund(n,{allowPreInput:!0,subtractFee:!0}),await this.sign(n),t=n.commit();return await this.db.send(t[0]),r(t[0].verify(t[1],x.flags.STANDARD_VERIFY_FLAGS)),t.push(s),t}async propSale(e,t,i,a){let s=await this.getTX(e);if(!s)throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(s.getDepth(this.db.curHeight)<=0)throw new F(L.errors.TYPE_ERROR,"No enough confirmations.");if(!(s=s.tx))throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");s.outputs[0].getReturnType(x.opcodes.OP_RETURN)&&(t=2);var n=s.outputs[t].getReturnData([x.opcodes.OP_PROPEXCHANGE,x.opcodes.OP_PROPCREATE]);if(!n)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");if(!await this.belongToAccount(a,s.outputs[t].getAddress()))throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(!(a=await this.getCoin(e,t))||-1===a.height)throw new F(L.errors.WALLET_INSUFFICIENT_FUNDS,"Invalid coin.");if(await this.txdb.isSpent(e,t))throw new F(L.errors.WALLET_INSUFFICIENT_FUNDS,"Invalid coin.");if(i<=s.outputs[t].value)throw new F(L.errors.TYPE_ERROR,"Invalid fixed price.");if(n.cid==this.network.genesisId)throw new Y(s,"invalid","prop not for sale",100);return e=(a=new w).addInputFromTx(s,t),t={oper:W.propSale,pid:n.pid,prev:{hash:e.prevout.hash,index:e.prevout.index},fixed:i,period:this.db.curHeight+O.BLOCK_DAY},n=_.fromScript(x.createScript(Buffer.from(JSON.stringify(t)),x.types.NULLDATA),0),a.outputs.push(n),await this.sign(a,null,N.SINGLE|N.ANYONECANPAY),e=a.commit(),r(e[0].verify(e[1],x.flags.STANDARD_VERIFY_FLAGS)),await this.db.send(e[0]),e}async propBuy(e,t,i){if(!(e=this.db.propList.get(e))||!e.bid||!e.bid.raw)throw new F(L.errors.INVALID_PARAMS,"Invalid Tx Hash.");var r=H.fromRaw(Buffer.from(e.bid.raw,"hex")),a=(await this.createReceive(i)).getAddress(),s=e.gold,n=b.fromString(e.current.address,this.network).getHash();if(t<s)throw new Error("wrong price");if(1<r.outputs.length&&t<r.outputs[1].value)throw new Error("low bid price than before");var o=w.fromTX(r,1);if(!o.outputs[0].getReturnType(B.OP_RETURN))throw new Error("not a sale order");return await this.remove(r.hash("hex")),o.view.addOutput({hash:o.inputs[0].prevout.hash,index:o.inputs[0].prevout.index},new _({value:e.gold})),n=_.fromScript(x.createScript(n),t),o.outputs.push(n),t={oper:W.propExchange,pid:e.pid,cid:e.cid,oid:e.oid,prev:{hash:o.inputs[0].prevout.hash,index:o.inputs[0].prevout.index}},n=_.fromScript(a,s,t),o.outputs.push(n),i?await this.fund(o,{allowPreInput:!0,account:i}):await this.fund(o,{allowPreInput:!0}),await this.sign(o,null,N.ALL,[0]),a=o.commit(),e.owned||this.db.client.watchOutpoint((new D).fromOptions(r.inputs[0].prevout)),await this.db.send(a[0]),a}async getTXByAmount(e,t){let i=null;var r;for(r of await this.getCoins(t))if(!(r.height<=0)&&r.value==e){i=r;break}return i&&(t=await this.getTX(i.hash))?[t.tx,i.index,i.height]:[]}async contractCreate(e,t,i,a,s){if(this.db.transactionList.query(e,a)!=K.None)throw new F(L.errors.TYPE_ERROR,"Contract with the same address finded.");if(0!=parseInt(t%1e3,10))throw new F(L.errors.TYPE_ERROR,"Contract source should an integer multiple of 1000.");if(!await U.checkSum(this.network,e,a))throw new F(L.errors.TYPE_ERROR,"Create contract with an invalid Address or a Address with old transations.");let n=!1,[o,c,u]=await this.getTXByAmount(t,s);if(!o){n=!0;var h=new w;let e="";e=(s?await this.createReceive(s):this).getAddress(),h.outputs.push(_.fromScript(e,t)),s?await this.fund(h,{allowPreInput:!0,account:s}):await this.fund(h,{allowPreInput:!0}),await this.sign(h),h=h.commit(),r(h[0].verify(h[1],x.flags.STANDARD_VERIFY_FLAGS)),o=h[0],c=0,u=-1}(h=new w).addInputFromTx(o,c,u);let l="";l=(s?await this.createReceive(s):this).getAddress();var p=await this.getKey(l);e={oper:W.contractCreate,type:e,addr:a,src:t,dst:i,srcact:s,alice:p.getPublicKey("hex"),period:this.db.curHeight+O.TRANSACTION_PERIOD},a=_.fromScript(x.createScript(Buffer.from(JSON.stringify(e)),x.types.NULLDATA),0),h.outputs.push(a),await this.sign(h,null,N.SINGLE|N.ANYONECANPAY),t=h.commit();return n&&await this.db.send(o),await this.db.send(t[0]),t}async contractPromise(e,t){if(!(e=this.db.transactionList.get(e))||e.transStatus!=K.CreatedOnMem)throw new F(L.errors.INVALID_PARAMS,"Invalid Tx id.");if(!(e=H.fromRaw(Buffer.from(e.raw,"hex"))))throw new F(L.errors.TYPE_ERROR,"Invalid Tx id.");var i=U.parseContract(e);if(!i||i.oper!==W.contractCreate)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");var r=w.fromTX(e,1);if(!r.outputs[0].getReturnType(B.OP_RETURN))throw new Error("not a valid contract");r.view.addOutput({hash:r.inputs[0].prevout.hash,index:r.inputs[0].prevout.index},new _({value:i.src}));let a="";a=(t?await this.createReceive(t):this).getAddress();var s=await this.getKey(a);e={oper:W.contractPromise,prevhash:e.hash("hex"),type:i.type,addr:i.addr,dst:i.dst,srcact:i.srcact,dstact:t,bob:s.getPublicKey("hex"),period:i.period},t=new x([z.fromSymbol("promise"),z.fromData(Buffer.from(JSON.stringify(e))),z.fromSymbol("drop"),z.fromSymbol("greaterthan"),z.fromSymbol("drop"),z.fromSymbol("if"),z.fromData(l.hash160(Buffer.from(e.bob,"hex"))),z.fromSymbol("else"),z.fromData(l.hash160(Buffer.from(i.alice,"hex"))),z.fromSymbol("endif"),z.fromSymbol("checksig")]),r.outputs.push(_.fromScript(t,i.src)),await this.remove(e.prevhash),await this.sign(r,null,N.ALL,[0]),s=r.commit();return await this.db.send(s[0]),e.current={hash:s[0].hash("hex"),index:0},e.raw=s[0].toRaw().toString("hex"),e.transStatus=K.Promised,this.db.transactionList.saveContract(e,!0),s}async contractExecute(e,t){if(!(e=this.db.transactionList.get(e))||e.transStatus!=K.Confirmed&&e.transStatus!=K.Expired)throw new F(L.errors.INVALID_PARAMS,"Invalid Tx id.");if(!(e=H.fromRaw(Buffer.from(e.raw,"hex"))))throw new F(L.errors.TYPE_ERROR,"Invalid Tx id.");t=t||1;var i=U.parseContract(e);if(!i||i.oper!==W.contractPromise)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");var a=e.outputs[1].getReturnData();if(!a||a.oper!==W.contractPromise)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");r.strictEqual(i.addr,a.addr),r.strictEqual(i.type,a.type),r.strictEqual(i.dst,a.dst),r.strictEqual(i.period,a.period),r.strictEqual(i.srcact,a.srcact),r.strictEqual(i.dstact,a.dstact);var s=this.db.transactionList.query(i.type,i.addr);if(s!=K.Confirmed&&s!=K.Expired)throw new F(L.errors.TYPE_ERROR,"Contract Promise not Check yet.");if(s==K.Expired&&1!=t||s==K.Confirmed&&2!=t)throw new F(L.errors.TYPE_ERROR,"Invalid Executor.");let n=i.srcact,o=(2==t&&(n=i.dstact),"");o=(n?await this.createReceive(n):this).getAddress();var c=new w,u=(c.addInputFromTx(e,1),{oper:W.contractExecute,type:i.type,addr:i.addr,master:t});u=_.fromScript(x.createScript(Buffer.from(JSON.stringify(u)),x.types.NULLDATA),0),c.outputs.push(u),u=_.fromScript(o,e.outputs[1].value),c.outputs.push(u),e=1==t?await P.fromPublic(Buffer.from(i.ori.alice,"hex")):await P.fromPublic(Buffer.from(a.bob,"hex")),u=await this.getKey(e.getAddress()),await c.signAsync(u,x.hashType.ALL,this.db.workers),t=c.commit();return r(t[0].verify(t[1],x.flags.STANDARD_VERIFY_FLAGS,s)),await this.db.send(t[0]),t}async htlcDeal(e,t){var i=await this.getTX(e.hash);let r=null;if(t){if(!(t=await this.getAccount(t)))throw new F(L.errors.TYPE_ERROR,"Invalid Account.");r=t.getReceive().toString()}else r=this.getReceive().toString();t=new w;var a=(new x).pushOp(B.OP_1);e.suggest&&a.pushData(Buffer.from(e.sa,"hex")),t.addInput({prevout:{hash:e.hash,index:e.index},script:a}),t.addOutput(r,i.tx.outputs[e.index].value-1e4),t.view.addOutput({hash:e.hash,index:e.index},new _(i.tx.outputs[e.index])),await this.sign(t,null,N.ALL),a=t.commit();return await this.db.send(a[0]),a}async htlcCancel(e,t){let i=null;var r=await this.getTX(e.hash);if(!(i=r?r.tx.outputs[e.index]:i))throw new F(L.errors.TYPE_ERROR,"Invalid Input.");let a=null;if(t){if(!(r=await this.getAccount(t)))throw new F(L.errors.TYPE_ERROR,"Invalid Account.");a=r.getReceive().toString()}else a=this.getReceive().toString();return t=new w,r=(new x).pushOp(B.OP_0),e.suggest&&r.pushData(Buffer.from(e.sa,"hex")),t.addInput({prevout:{hash:e.hash,index:e.index},script:r}),e.suggest?t.setSequence(0,2*O.HTLC_CANCEL_PERIOD,!1):t.setSequence(0,O.HTLC_CANCEL_PERIOD,!1),t.addOutput(a,i.value-1e4),t.view.addOutput({hash:e.hash,index:e.index},new _(i)),r=await this.getKey(e.master),await t.signAsync(r,x.hashType.ALL,this.db.workers),e=t.commit(),await this.db.send(e[0]),e}async sendContracts(e,t,i){var r,a=new w;for(r of e)a.outputs.push(i.create(r));return t?await this.fund(a,{account:t}):await this.fund(a),await this.sign(a),e=a.commit(),await this.db.addTX(e[0]),await this.db.send(e[0]),e}async tokenCreate(e,t="",i){r(e&&"object"==typeof e,"Token data should be a object"),r(e.cid,"Token data should has a cid property"),r(e.uid,"Token data should has a uid property"),e.time=!0,await this.ensureAccount({name:t,witness:!0});let a=null;if(i){if(!await this.belongToAccount(t,i))throw new F(L.errors.TYPE_ERROR,`tokenCreate address error: addr:${i} is not belongs to account:`+t);a=await this.getKey(i)}else a=await this.createReceive(t,n.hashInt(e.cid),this.master);return a.signData(e)}async sign(e,t,i=x.hashType.ALL,r){if(this.watchOnly)throw new Error("Cannot sign from a watch-only wallet.");return await this.unlock(t),t=await this.deriveInputs(e),e.signAsync(t,i,this.db.workers,r)}getCoinView(e){return this.txdb.getCoinView(e)}getSpentView(e){return this.txdb.getSpentView(e)}toDetails(e){return this.txdb.toDetails(e)}getDetails(e){return this.txdb.getDetails(e)}async getCoin(e,t){return this.txdb.getCoin(e,t)}async getCredit(e,t){return this.txdb.getCredit(e,t)}async getStatusOfSC(e){return this.txdb.getStatusOfSC(e)}async setStatusOfSC(e,t){var i=await this.writeLock.lock();try{this.txdb.start();try{await this.txdb._setStatusOfSC(e,t),await this.txdb.commit()}catch(e){throw this.txdb.drop(),e}}finally{i()}}getLockedCoins(){return this.txdb.lockedCoins.values}getTX(e){return this.txdb.getTX(e)}getBlocks(){return this.txdb.getBlocks()}getBlock(e){return this.txdb.getBlock(e)}async add(e,t,i){var r=await this.writeLock.lock();try{return await this._add(e,t,i)}finally{r()}}async _add(e,t,i){let r,a;this.txdb.start();try{(r=await this.txdb._add(e,t,i))&&(a=await this.syncOutputDepth(r)),await this.txdb.commit()}catch(e){throw this.txdb.drop(),e}return a&&0<a.length&&(this.db.emit("address",this.id,a),this.emit("address",a)),r}async resetBalance(){var e=await this.writeLock.lock();try{this.txdb.start();try{this.txdb.pending.unconfirmed=0,this.txdb.pending.confirmed=0;for(const e of await this.getAccounts()){var t=await this.getBalance(e);this.txdb.pending.unconfirmed+=t.unconfirmed,this.txdb.pending.confirmed+=t.confirmed}this.txdb.put(te.R,this.txdb.pending.commit()),await this.txdb.commit()}catch(e){throw this.txdb.drop(),e}}finally{e()}return this.txdb.state.toBalance()}async unconfirm(e){var t=await this.writeLock.lock();try{return await this.txdb.unconfirm(e)}finally{t()}}async remove(e){var t=await this.writeLock.lock();try{return await this.txdb.remove(e)}finally{t()}}async zap(e,t){var i=await this.writeLock.lock();try{return await this._zap(e,t)}finally{i()}}async _zap(e,t){return e=await this.ensureIndex(e),this.txdb.zap(e,t)}async abandon(e){var t=await this.writeLock.lock();try{return await this._abandon(e)}finally{t()}}_abandon(e){return this.txdb.abandon(e)}conserveCoin(e){return this.txdb.conserveCoin(e)}unConserveCoin(e){return this.txdb.unConserveCoin(e)}isConserved(e){return this.txdb.isConserved(e)}getConserved(){return this.txdb.getConserved()}async getHistory(e){return e=await this.ensureIndex(e),this.txdb.getHistory(e)}async getCoins(e){return e=await this.ensureIndex(e),this.txdb.getCoins(e)}async getCredits(e){return e=await this.ensureIndex(e),this.txdb.getCredits(e)}async getSmartCoins(e){var t=[];for(const r of await this.getCredits(e)){var i=r.coin;r.spent||this.txdb.isConserved(i)||-1===i.height&&!r.own||t.push(i)}return t}async getPending(e){return e=await this.ensureIndex(e),this.txdb.getPending(e)}async getBalance(e){return e=await this.ensureIndex(e),this.txdb.getBalance(e)}async queryBalanceLog(e,t=0){return(e=await this.ensureIndex(e))?this.db.queryBalanceLog(this.wid,e,t):[]}async getRange(e,t){return e&&"object"==typeof e&&(t=e,e=null),e=await this.ensureIndex(e),this.txdb.getRange(e,t)}async getLast(e,t){return e=await this.ensureIndex(e),this.txdb.getLast(e,t)}async ensureIndex(e,t){if(null==e){if(t)throw new Error("No account provided.");return null}if(-1===(t=await this.getAccountIndex(e)))throw new Error("Account not found.");return t}getAddress(e){return this.account.getAddress(e)}getReceive(e){return this.account.getReceive(e)}getChange(e){return this.account.getChange(e)}getNested(e){return this.account.getNested(e)}inspect(){return{wid:this.wid,id:this.id,network:this.network.type,initialized:this.initialized,accountDepth:this.accountDepth,token:this.token.toString("hex"),tokenDepth:this.tokenDepth,state:this.txdb.state?this.txdb.state.toJSON(!0):null,master:this.master,account:this.account}}toJSON(e){return{network:this.network.type,wid:this.wid,id:this.id,initialized:this.initialized,watchOnly:this.watchOnly,accountDepth:this.accountDepth,token:this.token.toString("hex"),tokenDepth:this.tokenDepth,height:this.db.curHeight,state:this.txdb.state.toJSON(!0),master:this.master.toJSON(e),account:this.account.toJSON(!0)}}getSize(){var e=0;return(e+=50)+o.sizeVarString(this.id,"ascii")+o.sizeVarlen(this.master.getSize())}toRaw(){var e=this.getSize();return(e=new f(e)).writeU32(this.network.magic),e.writeU32(this.wid),e.writeVarString(this.id,"ascii"),e.writeU8(this.initialized?1:0),e.writeU8(this.watchOnly?1:0),e.writeU32(this.accountDepth),e.writeBytes(this.token),e.writeU32(this.tokenDepth),e.writeVarBytes(this.master.toRaw()),e.render()}fromRaw(e){e=new d(e);var t=s.fromMagic(e.readU32());return this.wid=e.readU32(),this.id=e.readVarString("ascii"),this.initialized=1===e.readU8(),this.watchOnly=1===e.readU8(),this.accountDepth=e.readU32(),this.token=e.readBytes(32),this.tokenDepth=e.readU32(),this.master.fromRaw(e.readVarBytes()),r(t===this.db.network,"Wallet network mismatch."),this}static fromRaw(e,t){return new re(e).fromRaw(t)}static isWallet(e){return e instanceof re}async issueCreate(e,t,i){var r=new G(e),a=((a=(r.source.subjectName||(r.source.subjectName=r.erid),P.fromPrivate(Buffer.from(e.key,"hex"),!0,this.network))).witness=!0,r.sign(a,!0,this.network),r.toOptions(!0));return i?this.send({outputs:[{address:e.address,value:1e4}],comment:a},t):(r=await this.send({outputs:[{address:e.address,value:1e4}],comment:a},t),a.txid=r.txid()),a}async caAbolish(e,t,i){var r=P.fromPrivate(Buffer.from(e.key,"hex"),!0,this.network),a=(r.witness=!0,await this.db.client.execute("ca.byId",[e.erid]));if(!a)throw new F(L.errors.TYPE_ERROR,"ca.abolish: Invalid erid.");if(a.source.cid!=e.cid)throw new F(L.errors.TYPE_ERROR,"ca.abolish: Invalid cid.");if(a.source.uid!=e.uid)throw new F(L.errors.TYPE_ERROR,"ca.abolish: Invalid uid.");var s=a.signature;if(a.sign(r,!0,this.network),a.witness!=e.witness||a.signature!=s)throw new F(L.errors.TYPE_ERROR,"ca.abolish: You have no permission to abolish this witness.");return(a=new X(e)).sign(r),s=a.toOptions(!0),i?this.send({outputs:[{address:e.address,value:1e4}],comment:s},t):await this.send({outputs:[{address:e.address,value:1e4}],comment:s},t),s}async enchanceCp(e,t){var i=((e=new J(e)).oper="enchanceCp",await this.ensureCp(e.to)),r=await this.ensureCp(e.from);if(!(r=await this.getKey(r.pubAddress)))throw new F(L.errors.TYPE_ERROR,"Invalid cid, Not along to this wallet.");return e.sign(r),r=e.toOptions(!0),[await this.send({outputs:[{address:i.pubAddress,value:1e4}],comment:r},t),r]}async ensureCp(e,t=!1){if(await this.db.flushCP([e]),(e=this.db.cpList.getItem(e))||t)return e;throw new F(L.errors.TYPE_ERROR,"Invalid cid, cannot find cp.")}}e.exports=re},function(e,t,i){"use strict";
280
+ */const r=i(0);var a=i(16);const s=i(15),n=i(2),o=i(3),c=i(35),u=i(198),h=i(141).sortWithSeq,l=i(6),p=i(94),d=i(1),f=i(4),m=i(70),g=i(334);i(217);const v=i(109),y=i(73),b=i(13),w=i(69),x=i(17),k=i(218),S=i(156),_=i(28),E=i(157),j=i(337),A=i(64),R=i(26),I=i(29),O=i(7),C=i(308),P=i(39),T=S.Mnemonic,{opcodes:B,hashType:N}=i(19),z=i(165),F=i(77),L=i(78),M=i(142),D=i(45),H=i(20),U=i(50),q=i(54),{NotifyMsg:V,ContractStatus:K,ContractType:W,PropStatus:$}=i(5),Y=i(32).VerifyError,G=i(153).ErItem,X=i(154).ErAbolishItem,J=i(227).EnchancementItem,Q=i(68),Z=i(59),ee=i(82),te=i(85).txdb,ie=i(37);class re extends a{constructor(e,t){super(),r(e,"DB required."),this.db=e,this.network=e.network,this.logger=e.logger,this.readLock=new u,this.writeLock=new c,this.sendLock=new c,this.indexCache=new A(1e4),this.accountCache=new A(1e4),this.pathCache=new A(1e5),this.current=null,this.wid=0,this.id=null,this.initialized=!1,this.watchOnly=!1,this.accountDepth=0,this.token=o.ZERO_HASH,this.tokenDepth=0,this.master=new j,this.txdb=new g(this),this.account=null,t&&this.fromOptions(t)}fromOptions(e){let t,i,a=e.master;return a?("string"==typeof a&&(a=S.PrivateKey.fromBase58(a,this.network)),r(S.isPrivate(a),"Must create wallet with hd private key.")):(i=new T(e.mnemonic),a=S.fromMnemonic(i,this.network)),r(a.network===this.network,"Network mismatch for master key."),this.master.fromKey(a,i),null!=e.wid&&(r(n.isU32(e.wid)),this.wid=e.wid),e.id&&(r(y.isName(e.id),"Bad wallet ID."),t=e.id),null!=e.initialized&&(r("boolean"==typeof e.initialized),this.initialized=e.initialized),null!=e.watchOnly&&(r("boolean"==typeof e.watchOnly),this.watchOnly=e.watchOnly),null!=e.accountDepth&&(r(n.isU32(e.accountDepth)),this.accountDepth=e.accountDepth),e.token&&(r(Buffer.isBuffer(e.token)),r(32===e.token.length),this.token=e.token),t=t||this.getID(),this.id=t,this}static fromOptions(e,t){return new re(e).fromOptions(t)}async init(e){var t=e.passphrase;r(!this.initialized),this.initialized=!0,t&&await this.master.encrypt(t),e=await this._createAccount(e,t);r(e),this.account=e,this.logger.info("Wallet initialized (%s).",this.id),await this.txdb.open()}async open(){r(this.initialized);var e=await this.getAccount(0);if(!e)throw new Error("Default account not found.");this.account=e,this.logger.info("Wallet opened (%s).",this.id),await this.txdb.open()}async ensureNotifyKey(){this.notifyKey||(await this.ensureAccount({name:"alliance",witness:!0}),this.notifyKey=await this.createReceive("alliance",1,this.master),this.notifyAddress=this.notifyKey.getAddress("string"))}async createAllianceInfo(e,t,i){var r={alliancename:e,nodeid:t};return e?(r.alliancePrivateKey=l.hash256(Buffer.concat([Buffer.from(e),this.master.key.privateKey])),i?(r.prv=Buffer.alloc(0),r.pub=Buffer.from(i,"hex"),r.awardAddress=b.fromWitnessPubkeyhash(l.hash160(r.pub),this.network.type).toString(this.network.type),r.mnemonic=new T):(i=l.hash256(Buffer.concat([Buffer.from(e+"-"+t),this.master.key.privateKey])),r.mnemonic=new T({entropy:i,language:this.master.mnemonic.language,passphrase:this.master.mnemonic.passphrase}),r.prv=l.hash256(Buffer.from(r.mnemonic.toSeed().toString("hex"))),r.pub=R.publicKeyCreate(r.prv,!0),e=j.fromKey(S.fromMnemonic(r.mnemonic),this.network.type).key.deriveAccount(44,0).derive(9).derive(1),r.awardAddress=b.fromWitnessPubkeyhash(l.hash160(e.publicKey),this.network.type).toString(this.network.type))):(r.mnemonic=T.fromOptions(this.master.mnemonic),r.prv=l.hash256(Buffer.from(r.mnemonic.toSeed().toString("hex"))),r.pub=R.publicKeyCreate(r.prv,!0),r.awardAddress=b.fromWitnessPubkeyhash(l.hash160(r.pub),this.network.type).toString(this.network.type)),r.address=b.fromWitnessPubkeyhash(l.hash160(r.pub),this.network.type).toString(),r}async destroy(){var e=await this.writeLock.lock(),t=await this.sendLock.lock();try{this.db.unregister(this),await this.master.destroy(),this.readLock.destroy(),this.writeLock.destroy(),this.sendLock.destroy()}finally{t(),e()}}async addSharedKey(e,t){var i=await this.writeLock.lock();try{return await this._addSharedKey(e,t)}finally{i()}}async _addSharedKey(e,t){if(t||(t=e,e=null),!(e=await this.getAccount(e=null==e?0:e)))throw new Error("Account not found.");let i;this.start();try{i=await e.addSharedKey(t)}catch(e){throw this.drop(),e}return await this.commit(),i}async removeSharedKey(e,t){var i=await this.writeLock.lock();try{return await this._removeSharedKey(e,t)}finally{i()}}async _removeSharedKey(e,t){if(t||(t=e,e=null),!(e=await this.getAccount(e=null==e?0:e)))throw new Error("Account not found.");let i;this.start();try{i=await e.removeSharedKey(t)}catch(e){throw this.drop(),e}return await this.commit(),i}async setPassphrase(e,t){e&&await this.decrypt(e),t&&await this.encrypt(t)}async encrypt(e){var t=await this.writeLock.lock();try{return await this._encrypt(e)}finally{t()}}async _encrypt(e){e=await this.master.encrypt(e,!0),this.start();try{await this.db.encryptKeys(this,e)}catch(t){throw p(e),this.drop(),t}p(e),this.save(),await this.commit()}async decrypt(e){var t=await this.writeLock.lock();try{return await this._decrypt(e)}finally{t()}}async _decrypt(e){e=await this.master.decrypt(e,!0),this.start();try{await this.db.decryptKeys(this,e)}catch(t){throw p(e),this.drop(),t}p(e),this.save(),await this.commit()}async rename(e){var t=await this.writeLock.lock();try{return await this.db.rename(this,e)}finally{t()}}async writeBalanceLog(e){var t=await this.writeLock.lock();try{return await this.db.writeBalanceLog(this,e)}finally{t()}}async renameAccount(e,t){var i=await this.writeLock.lock();try{return await this._renameAccount(e,t)}finally{i()}}async _renameAccount(e,t){if(!y.isName(t))throw new Error("Bad account name.");var i=await this.getAccount(e);if(!i)throw new Error("Account not found.");if(0===i.accountIndex)throw new Error("Cannot rename default account.");if(await this.hasAccount(t))throw new Error("Account name not available.");e=i.name,this.start(),this.db.renameAccount(i,t),await this.commit(),this.indexCache.remove(e),e=this.pathCache.values();for(const r of e)r.account===i.accountIndex&&(r.name=t)}async lock(){var e=await this.writeLock.lock(),t=await this.sendLock.lock();try{await this.master.lock()}finally{t(),e()}}unlock(e,t){return this.master.unlock(e,t)}getID(){r(this.master.key,"Cannot derive id.");var e,t=this.master.key.derive(44);(e=new f(37)).writeBytes(t.publicKey),e.writeU32(this.network.magic),t=l.hash160(e.render());return(e=new f(27)).writeU8(3),e.writeU8(190),e.writeU8(4),e.writeBytes(t),e.writeChecksum(),m.encode(e.render())}async createAccount(e,t){var i=await this.writeLock.lock();try{return await this._createAccount(e,t)}finally{i()}}async _createAccount(e,t){let i,a,s=e.name,o=(s=s||this.accountDepth.toString(10),0);if(0!=this.accountDepth&&(o=n.hashInt(s)),await this.hasAccountIndex(o))throw new Error("Account Index Conflict.");if(await this.hasAccount(s))throw new Error("Account already exists.");if(await this.unlock(t),this.watchOnly&&e.accountKey){if("string"==typeof(i=e.accountKey)&&(i=S.PublicKey.fromBase58(i,this.network)),!S.isPublic(i))throw new Error("Must add HD public keys to watch only wallet.");r(i.network===this.network,"Network mismatch for watch only key.")}else r(this.master.key),i=(i=this.master.key.deriveAccount(44,o)).toPublic();t={wid:this.wid,id:this.id,name:0===this.accountDepth?"default":s,witness:e.witness,watchOnly:this.watchOnly,accountKey:i,accountIndex:o,type:e.type,m:e.m,n:e.n,keys:e.keys},this.start();try{(a=E.fromOptions(this.db,t)).wallet=this,await a.init()}catch(e){throw this.drop(),e}return this.logger.info("Created account %s/%s/%d.",a.id,a.name,a.accountIndex),this.accountDepth++,this.save(),await this.commit(),a}async ensureAccount(e,t){var i=e.name;return(i=await this.getAccount(i))||this.createAccount(e,t)}getAccounts(){return this.db.getAccounts(this.wid)}getAccountMap(){return this.db.getAccountMap(this.wid)}getAddressHashes(e){return null!=e?this.getAccountHashes(e):this.db.getWalletHashes(this.wid)}async getAccountHashes(e){return e=await this.ensureIndex(e,!0),this.db.getAccountHashes(this.wid,e)}async getAccount(e){if(this.account&&(null==e||"default"===e||"number"==typeof e&&0===e||"string"==typeof e&&0===e.length))return this.account;if(-1===(e=await this.getAccountIndex(e)))return null;var t=await this.readLock.lock(e);try{return await this._getAccount(e)}finally{t()}}async _getAccount(e){var t=this.accountCache.get(e);return t||((t=await this.db.getAccount(this.wid,e))?(t.wallet=this,t.wid=this.wid,t.id=this.id,t.watchOnly=this.watchOnly,await t.open(),this.accountCache.set(e,t),t):null)}async getAccountIndex(e){var t;return null==e?-1:"number"==typeof e?e:null!=(t=this.indexCache.get(e))?t:-1===(t=await this.db.getAccountIndex(this.wid,e))?-1:(this.indexCache.set(e,t),t)}async getAccountName(e){var t;return"string"==typeof e?e:(t=this.accountCache.get(e))?t.name:this.db.getAccountName(this.wid,e)}async hasAccount(e){return-1!==(e=await this.getAccountIndex(e))&&(!!this.accountCache.has(e)||this.db.hasAccount(this.wid,e))}async hasAccountIndex(e){return!!this.accountCache.has(e)||this.db.hasAccount(this.wid,e)}createReceive(e,t=0,i=null){return this.createKey(e,0,t,i)}createChange(e){return this.createKey(e,1)}createNested(e){return this.createKey(e,2)}async createKey(e,t,i=0,r=null){var a=await this.writeLock.lock();try{return await this._createKey(e,t,i,r)}finally{a()}}async _createKey(e,t,i=0,r=null){if(null==t&&(t=e,e=null),!(e=await this.getAccount(e=e||0)))throw new Error("Account not found.");let a;this.start();try{a=await e.createKey(t,i,r)}catch(e){throw this.drop(),e}return await this.commit(),a}async deriveKey(e,t,i,r=null){let a=null;var s=await this.writeLock.lock();try{this.start(),a=await this._deriveKey(e,t,i,r),await this.commit()}catch(e){throw this.drop(),e}finally{s()}return a}async _deriveKey(e,t,i=0,r=null){if(null==t&&(t=e,e=null),e=e||0,e=parseInt(e),e=await this.getAccount(e))return t=await e.deriveKey(t,i,r),await e.saveKey(t),t;throw new Error("Account not found.")}save(){return this.db.save(this)}async saveAccount(e){var t=await this.writeLock.lock();try{this.start(),e._save(),await this.commit(),0==e.accountIndex&&(this.account=e)}finally{t()}}start(){return this.db.start(this)}drop(){return this.db.drop(this)}clear(){return this.db.clear(this)}commit(){return this.db.commit(this)}async hasAddress(e){return e=b.getHash(e,"hex"),null!=await this.getPath(e)}async getPath(e){return(e=await this.readPath(e))?(e.name=await this.getAccountName(e.account),r(e.name),this.pathCache.set(e.hash,e),e):null}async readPath(e){e=b.getHash(e,"hex");var t=this.pathCache.get(e);return t||((t=await this.db.getPath(this.wid,e))?(t.id=this.id,t):null)}async hasPath(e){return e=b.getHash(e,"hex"),!!this.pathCache.has(e)||this.db.hasPath(this.wid,e)}async getPaths(e){if(null!=e)return this.getAccountPaths(e);var t=[];for(const e of await this.db.getWalletPaths(this.wid))e.id=this.id,e.name=await this.getAccountName(e.account),r(e.name),this.pathCache.set(e.hash,e),t.push(e);return t}async getAccountPaths(e){var t=await this.ensureIndex(e,!0),i=await this.getAccountHashes(t),a=await this.getAccountName(e),s=(r(a),[]);for(const e of i){var n=await this.readPath(e);r(n),r(n.account===t),n.name=a,this.pathCache.set(n.hash,n),s.push(n)}return s}async importKey(e,t,i){var r=await this.writeLock.lock();try{return await this._importKey(e,t,i)}finally{r()}}async _importKey(e,t,i){if(e&&"object"==typeof e&&(i=t,t=e,e=null),null==e&&(e=0),r(t.network===this.network,"Network mismatch for key."),this.watchOnly){if(t.privateKey)throw new Error("Cannot import privkey into watch-only wallet.")}else if(!t.privateKey)throw new Error("Cannot import pubkey into non watch-only wallet.");var a=t.getHash("hex");if(await this.getPath(a))throw new Error("Key already exists.");if(!(a=await this.getAccount(e)))throw new Error("Account not found.");if(a.type!==E.types.PUBKEYHASH)throw new Error("Cannot import into non-pkh account.");await this.unlock(i),e=k.fromRing(a,t).toPath(),this.master.encrypted&&(e.data=this.master.encipher(e.data,e.hash),r(e.data),e.encrypted=!0),this.start();try{await a.savePath(e)}catch(e){throw this.drop(),e}await this.commit()}async importAddress(e,t){var i=await this.writeLock.lock();try{return await this._importAddress(e,t)}finally{i()}}async _importAddress(e,t){if(t||(t=e,e=null),null==e&&(e=0),t.network!==this.network)throw new Error("Network mismatch for address.");if(!this.watchOnly)throw new Error("Cannot import address into non watch-only wallet.");if(await this.getPath(t))throw new Error("Address already exists.");if(!(e=await this.getAccount(e)))throw new Error("Account not found.");if(e.type!==E.types.PUBKEYHASH)throw new Error("Cannot import into non-pkh account.");t=v.fromAddress(e,t),this.start();try{await e.savePath(t)}catch(e){throw this.drop(),e}await this.commit()}async fund(e,t){var i=await this.writeLock.lock();try{return await this._fund(e,t)}finally{i()}}async _fund(e,t){if(t=t||{},!this.initialized)throw new Error("Wallet is not initialized.");if(this.watchOnly)throw new Error("Cannot fund from watch-only wallet.");let i;if(null!=t.account){if(!(i=await this.getAccount(t.account)))throw new Error("Account not found.")}else i=this.account;if(!i.initialized)throw new Error("Account is not initialized.");let a,s=t.rate;return null==s&&(s=await this.db.estimateFee(t.blocks)),a=t.smart?await this.getSmartCoins(i.name):(a=await this.getCoins(i.name),this.txdb.filterConserved(a)),await e.fund(a,{allowPreInput:t.allowPreInput,noChange:t.noChange,selection:t.selection,round:t.round,depth:t.depth,hardFee:t.hardFee,subtractFee:t.subtractFee,subtractIndex:t.subtractIndex,changeAddress:i.change.getAddress(),height:this.db.curHeight,rate:s,maxFee:t.maxFee,estimate:e=>this.estimateSize(e),network:this.network}),!t.allowInfiniteFee&&t.noChange&&r(e.getFee()<=C.MAX_FEE,"TX exceeds MAX_FEE."),a}async getAccountByAddress(e){return e=b.getHash(e,"hex"),(e=await this.getPath(e))?this.getAccount(e.account):null}async estimateSize(e){var t=O.WITNESS_SCALE_FACTOR,i=b.fromScript(e);if(!i)return-1;var r=await this.getAccountByAddress(i);if(!r)return-1;let a=0;if(e.isScripthash()&&r.witness)switch(r.type){case E.types.PUBKEYHASH:a=4*(a+23);break;case E.types.MULTISIG:a=4*(a+35)}switch(r.type){case E.types.PUBKEYHASH:a=a+74+34;break;case E.types.MULTISIG:a=(a=(a=(a=(a+=1)+74*r.m)+3+1)+34*r.n)+1+1}return r.witness?a=((a+=1)+t-1)/t|0:a+=o.sizeVarint(a),a}async createTX(e){var t=e.outputs,i=new w;r(Array.isArray(t),"Outputs must be an array."),r(0<t.length,"No outputs available."),e.comment&&("object"==typeof e.comment&&(e.comment=JSON.stringify(e.comment)),i.outputs.push(_.fromScript(x.createScript(Buffer.from(e.comment),x.types.NULLDATA),0)));for(const e of t){var a=new _(e),s=a.getAddress();if(a.isDust())throw new Error("Output is dust.");if(0<a.value){if(!s)throw new Error("Cannot send to unknown address.");if(s.isNull())throw new Error("Cannot send to null address.")}i.outputs.push(a)}let n=null;if(e.inputs)for(const t of e.inputs){var o=await this.getTX(t.hash);o&&(o=q.fromTX(o.tx,t.index,-1,0))&&(n=o.getAddress(),e.allowPreInput=!0,i.addCoin(o))}else await this.fund(i,e);if(n&&((t=new _).value=i.getFee()-C.MIN_FEE,t.script.fromAddress(n),i.outputs.push(t),i.changeIndex=i.outputs.length-1),!1!==e.sort&&i.sortMembers(),null!=e.locktime&&i.setLocktime(e.locktime),r(i.isSane(),"TX failed sanity check."),r(i.verifyInputs(this.db.curHeight+1),"TX failed context check."),0===await this.template(i))throw new Error("Templating failed.");return i}async send(e,t){var i=await this.sendLock.lock();try{return await this._send(e,t)}finally{i()}}async _send(e,t){return t&&(e.account=t),t=await this.createTX(e,!0),await this.sign(t),this.sendMTX(t,{sendafter:e.sendafter})}async sendMTX(e,t={}){if(!e.isSigned())throw new Error("TX could not be fully signed.");var i=e.toTX();if(i.getSigopsCost(e.view)>I.MAX_TX_SIGOPS_COST)throw new Error("TX exceeds policy sigops.");if(i.getWeight()>I.MAX_TX_WEIGHT)throw new Error("TX exceeds policy weight.");return t.sendafter||(this.logger.debug("Sending wallet tx (%s): %s",this.id,i.txid()),await this.db.addTX(i),await this.db.send(i)),i}async resend(){var e=await this.getPending(),t=(0<e.length&&this.logger.info("Rebroadcasting %d transactions.",e.length),[]);for(const i of e)t.push(i.tx);for(const e of h(t))await this.db.send(e);return t}async deriveInputs(e){r(e.mutable);var t=[];for(const r of await this.getInputPaths(e)){var i=await this.getAccount(r.account);i&&(i=i.derivePath(r,this.master))&&t.push(i)}return t}async getKey(e){var t;e=b.getHash(e,"hex",this.network.type);return(e=await this.getPath(e))&&(t=await this.getAccount(e.account))?t.derivePath(e,this.master):null}async exportToFile(e){if(!Z.unsupported){var t=await this.db.getTip(),i=n.date();let o="",c=[n.fmt("# Wallet Dump created by %s %s",ee.protocol,ee.version),n.fmt("# * Created on %s",i),n.fmt("# * Best block at time of backup was %d (%s).",t.height,n.revHex(t.hash)),n.fmt("# * File: %s",e.file),""];var r,a;t=n.fmt("W %s wid= %s",this.toRaw().toString("base64"),this.wid),t=(c.push(t),await this.getAccounts());for(const e of t){var s=await this.getAccount(e);s=n.fmt("C %s name= %s index= %d",s.toRaw().toString("base64"),s.name,s.accountIndex);c.push(s)}for(const t of await this.getAddressHashes())this.watchOnly?(r=b.fromWitnessPubkeyhash(Buffer.from(t,"hex"),this.network.type).toString(),r=n.fmt("A %s %s label= account= %s branch= %s index= %s addr= %s","S",i,0,-1,-1,r),c.push(r)):(r=await this.getPrivateKey(t))&&(a=r.getAddress("string"),a=n.fmt("A %s %s label= account= %s branch= %s index= %s addr= %s",r.toSecret(),i,r.account,r.branch,r.index,a),c.push(a),e.fragment)&&1e5<c.length&&(o=c.join("\n"),await Z.writeFile(e.file.split(".").reduce((e,t)=>(e?e+="."+t:e=t+"-1",e),""),o,"utf8"),c=[]);c.push(""),c.push("# End of dump"),c.push(""),o=c.join("\n"),await Z.writeFile(e.file,o,"utf8")}}async getPrivateKey(e,t){if(e=b.getHash(e,"hex"),!(e=await this.getPath(e)))return null;var i=await this.getAccount(e.account);return i?(await this.unlock(t),(t=i.derivePath(e,this.master)).privateKey?t:null):null}async getInputPaths(e){if(r(e.mutable),!e.hasCoins())throw new Error("Not all coins available.");var t=[];for(const r of e.getInputHashes("hex")){var i=await this.getPath(r);i&&t.push(i)}return t}async getOutputPaths(e){var t=[];for(const r of e.getOutputHashes("hex")){var i=await this.getPath(r);i&&t.push(i)}return t}async setLookahead(e,t){var i=await this.writeLock.lock();try{return this._setLookahead(e,t)}finally{i()}}async _setLookahead(e,t){if(null==t&&(t=e,e=null),!(e=await this.getAccount(e=null==e?0:e)))throw new Error("Account not found.");this.start();try{await e.setLookahead(t)}catch(e){throw this.drop(),e}await this.commit()}async syncOutputDepth(e){var t=new Map;for(const r of e.outputs){var i=r.path;i&&-1!==i.index&&(t.has(i.account)||t.set(i.account,[]),t.get(i.account).push(i))}var a,s,n=[];for([a,s]of t){let e=-1,t=-1,i=-1;for(const r of s)switch(r.branch){case 0:r.index>e&&(e=r.index);break;case 1:r.index>t&&(t=r.index);break;case 2:r.index>i&&(i=r.index)}e+=2,t+=2,i+=2;var o=await this.getAccount(a);(o=(r(o),await o.syncDepth(e,t,i)))&&n.push(o)}return n}async getRedeem(e){"string"==typeof e&&(e=Buffer.from(e,"hex"));var t=await this.getKey(e.toString("hex"));return t?t.getRedeem(e):null}async template(e){var t=await this.deriveInputs(e);return e.sign(t)}async onSaleList(e,t){return(await(await this.getPropList()).predict(async(e,i)=>!!i.bid&&await this.belongToAccount(t,i.bid.address))).where([["pst",$.Sale]]).paginate(10,e).records()}async mySaleList(e,t){return(await(await this.getPropList()).predict(async(e,i)=>this.belongToAccount(t,i.current.address))).where([["pst",$.Sale]]).paginate(10,e).records()}async getPropList(){const e=await this.db.loadVpList();var t=[];for(let i=0;i<e.length;i++){let r=e[i];t.push((async()=>{await this.getPrivateKey(r.current.address)&&(e[i]=[r.pid,r])})())}return await Promise.all(t),new ie(e)}async propCreate(e,t){var i,a=new w;for(i of e){var s=await this.ensureCp(i.cid,!0);!s||i.cid==this.network.genesisId||(i.gold=(0|i.gold)>>>0,i.gold<O.MINPROPVALUE)||(i.pid||(i.pid=M()),i.oid||(i.oid=i.pid),a.propCreate(s.current.address,i),i.index=a.outputs.length-1)}if(0<a.outputs.length){t?await this.fund(a,{account:t}):await this.fund(a),await this.sign(a);var n,o=a.commit();for(n of(await this.db.addTX(o[0]),await this.db.send(o[0]),r(o[0].verify(o[1],x.flags.STANDARD_VERIFY_FLAGS)),e))n.hash=o[0].hash("hex"),n.txid=o[0].txid();return o}return[]}async attach(e,t){var i,a=new w;for(i of e)a.attach(i.address,i.value,i.data);if(0<a.outputs.length){t?await this.fund(a,{account:t}):await this.fund(a),await this.sign(a);var s,n=a.commit();for(s of(await this.db.addTX(n[0]),await this.db.send(n[0]),r(n[0].verify(n[1],x.flags.STANDARD_VERIFY_FLAGS)),e))s.hash=n[0].hash("hex"),s.txid=n[0].txid();return n}return[]}async sendSecret(e,t,i){let r=this.db.$contacts.get(e);if(!r||!r.sender){var a=(await this.createReceive(i)).getAddress("string");if(e==a)throw new F(L.errors.TYPE_ERROR,"Forbid Sending to Self Address.");r=await this.db.ensureContact({contact:e,messenger:a,wallet:this,account:i})}if(r)return r.send(t);throw new F(L.errors.TYPE_ERROR,"Invalid Address.")}async commNotify(e){r(!!e),r(!!e.dst),r(!!e.content);var t=new w,i=e.src||this.getReceive().toString(),a=(i=new V(W.notify,M(),this.db.curHeight,{src:i,content:e.content}),_.fromScript(x.createScript(i.toRaw(),x.types.NULLDATA),0));t.outputs.push(a),a={address:e.dst,locktime:O.BLOCK_DAY,locktype:"csb",value:.1*O.COIN},t.outputs.push(new _(a)),e.account?await this.fund(t,{account:e.account,noChange:!0,allowInfiniteFee:!0}):await this.fund(t,{noChange:!0,allowInfiniteFee:!0}),await this.sign(t),a=t.commit();return r(a[0].verify(a[1],x.flags.STANDARD_VERIFY_FLAGS)),await this.db.addTX(a[0]),this.logger.debug("Sending tx on wallet(%s): %s",this.id,a[0].txid()),await this.db.send(a[0]),i.hash=a[0].hash("hex"),i.height=-1,i}async cpRegister(e,t,i,a){if(r(!!t&&"object"==typeof t),!await this.db.client.execute("canExecute",[{confirm:!1,cid:t.cid,name:t.name,oper:W.cpRegister}]))throw new F(L.errors.TYPE_ERROR,"Invalid CP Register Info.");const s=new w;e||(n=await this.createReceive(i),e=n.getAddress());var n=await this.getKey(e);if(!n)throw new F(L.errors.TYPE_ERROR,"Invalid CP Register Address, Not along to this wallet.");if(t.pubAddress=e.toString(),t.pubKey=n.getPublicKey("hex"),t.signMethod="secp256k1",n=await this.createAllianceInfo(),t.register=n.pub.toString("hex"),s.cpRegister(e,O.registerFee,t),n=async()=>{i?await this.fund(s,{account:i}):await this.fund(s),await this.sign(s);var a=s.commit();return r(a[0].verify(a[1],x.flags.STANDARD_VERIFY_FLAGS)),await this.db.addTX(a[0]),await this.db.send(a[0]),t.txid=a[0].txid(),t.addr=e.toString(),a},!a)return n();n()}getSCAddress(e){return e=Q.fromMnemonic(T.fromOptions(O.SmartContractMnemonic),this.network).deriveAccount(44,e).derive(9).derive(1),b.fromWitnessPubkeyhash(l.hash160(e.publicKey),this.network)}async cpChange(e,t){var i=await this.ensureCp(e.cid);if(i.cid==this.network.genesisId||"ATHENA"==i.name)throw new F(L.errors.TYPE_ERROR,"Invalid cp name.");var a=await this.getTX(i.current.hash);if(!a)throw new F(L.errors.TYPE_ERROR,"Do not have permission to change this info.");if(a=a.tx,!await this.belongToAccount(t,a.outputs[0].getAddress()))throw new F(L.errors.TYPE_ERROR,"Invalid account info.");if(e.newName){if(!await this.db.client.execute("canExecute",[{confirm:!1,cid:i.cid,name:e.newName,oper:W.cpChange}]))throw new F(L.errors.TYPE_ERROR,"Invalid CP Change Info.")}else e.newName=i.name;return e.addr||(e.addr=b.fromString(i.current.address)),i=w.cpChange(a,e),t?await this.fund(i,{allowPreInput:!0,account:t}):await this.fund(i,{allowPreInput:!0}),await this.sign(i),a=i.commit(),await this.db.send(a[0]),r(a[0].verify(a[1],x.flags.STANDARD_VERIFY_FLAGS)),e.txid=a[0].txid(),a}async propExchangeList(e,t,i=!1){var a,s,n,o=new w,c=[];for([a,s,n]of e){var u,h=null;if(h=await this.getTX(a.hash)){if(h=h.tx,u=a.index,h&&h.outputs&&!(h.outputs.length<=u)){if(i){if(!await this.hasAddress(h.outputs[u].getAddress())){this.logger.error("not owned prop:",a.hash,a.index);continue}}else if(!await this.belongToAccount(t,h.outputs[u].getAddress())){this.logger.error("not owned prop:",a.hash,a.index);continue}var l=h.outputs[u].getReturnData();l&&(o.propExchange(h,u,s),l.index=o.outputs.length-1,l.addr=s.toString(),c.push(l))}}else this.logger.error("tx not find:",a.hash,n)}return t?await this.fund(o,{allowPreInput:!0,account:t}):await this.fund(o,{allowPreInput:!0}),await this.sign(o),e=o.commit(),await this.db.addTX(e[0]),await this.db.send(e[0]),r(e[0].verify(e[1],x.flags.STANDARD_VERIFY_FLAGS)),e.push(c),e}async propDonate(e,t){var i=e.index;if(!(e=await this.getTX(e.hash))||!e.tx||!e.tx.outputs||e.tx.outputs.length<=i)throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(!await this.belongToAccount(t,e.tx.outputs[i].getAddress()))throw new F(L.errors.TYPE_ERROR,"Props that do not belong to you.");if(!(t=e.tx.outputs[i].getReturnData()))throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(t.cid&&t.cid==this.network.genesisId)throw new Y(e.tx,"invalid","Special props that can not to donate",100);var r=new w;return(e=(r.addInputFromTx(e.tx,i),r.addOutput(x.createScript(Buffer.from(JSON.stringify({value:e.tx.outputs[i].value,cid:t.cid,pid:t.pid,oid:t.oid,gaddr:this.getAddress().toString(this.network)})),x.types.NULLDATA),0),await this.sign(r,null,N.NONE|N.ANYONECANPAY),r.commit())).push(t),e}async propReceive(e,t){var i=(e=w.fromTX(e,1)).inputs[0].prevout,r=e.outputs[0].getReturnData();e.view.addOutput({hash:e.inputs[0].prevout.hash,index:e.inputs[0].prevout.index},new _({value:r.value})),e.outputs.pop();let a=this.getAddress().toString(this.network);t&&(s={cid:r.cid,uid:t},a=(s=await this.tokenCreate(s,t)).data.addr),e.outputs.push(_.fromScript(a,r.value,{oper:W.propExchange,pid:r.pid,cid:r.cid,oid:r.oid,prev:{hash:i.hash,index:i.index}})),t?await this.fund(e,{allowPreInput:!0,account:t}):await this.fund(e,{allowPreInput:!0}),await this.sign(e,null,N.ALL,[0]);var s=e.commit();return await this.db.send(s[0]),r.simAddr=a,[s[0],null,r]}async belongToAccount(e,t){return!!t&&!(!(t=await this.getAccountByAddress(t))||e&&t.name!==e)}async propExchange(e,t,i){let a=null,s=0;var n;return Array.isArray(e)?(a=e[0],s=e[1]):(n=await this.getTX(e.hash))&&(a=n.tx,s=e.index),!a||!a.outputs||a.outputs.length<=s?(this.logger.error("Invalid tx info."),null):await this.belongToAccount(i,a.outputs[s].getAddress())?(n=a.outputs[s].getReturnData())?(e=(new w).propExchange(a,s,t),n.index=e.outputs.length-1,i?await this.fund(e,{allowPreInput:!0,account:i}):await this.fund(e,{allowPreInput:!0}),await this.sign(e),t=e.commit(),await this.db.addTX(t[0]),await this.db.send(t[0]),r(t[0].verify(t[1],x.flags.STANDARD_VERIFY_FLAGS)),t.push(n),t):(this.logger.error("Invalid tx info."),null):(this.logger.error("Invalid user."),null)}async propFound(e,t,i){if(e=await this.getTX(e),r(e),!(e=e.tx))throw new F(L.errors.TYPE_ERROR,"Invalid hex string.");var a=e.outputs[t],s=a.getReturnData();if(!s||s.oper!==W.propExchange&&s.oper!==W.propCreate)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");if(s.cid==this.network.genesisId)throw new Y(block,"invalid","prop found supertoken",100);var n=new w;n.addInputFromTx(e,t),e=_.fromScript(a.getAddress(),a.value),n.outputs.push(e),i?await this.fund(n,{allowPreInput:!0,subtractFee:!0,account:i}):await this.fund(n,{allowPreInput:!0,subtractFee:!0}),await this.sign(n),t=n.commit();return await this.db.send(t[0]),r(t[0].verify(t[1],x.flags.STANDARD_VERIFY_FLAGS)),t.push(s),t}async propSale(e,t,i,a){let s=await this.getTX(e);if(!s)throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(s.getDepth(this.db.curHeight)<=0)throw new F(L.errors.TYPE_ERROR,"No enough confirmations.");if(!(s=s.tx))throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");s.outputs[0].getReturnType(x.opcodes.OP_RETURN)&&(t=2);var n=s.outputs[t].getReturnData([x.opcodes.OP_PROPEXCHANGE,x.opcodes.OP_PROPCREATE]);if(!n)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");if(!await this.belongToAccount(a,s.outputs[t].getAddress()))throw new F(L.errors.TYPE_ERROR,"Invalid tx info.");if(!(a=await this.getCoin(e,t))||-1===a.height)throw new F(L.errors.WALLET_INSUFFICIENT_FUNDS,"Invalid coin.");if(await this.txdb.isSpent(e,t))throw new F(L.errors.WALLET_INSUFFICIENT_FUNDS,"Invalid coin.");if(i<=s.outputs[t].value)throw new F(L.errors.TYPE_ERROR,"Invalid fixed price.");if(n.cid==this.network.genesisId)throw new Y(s,"invalid","prop not for sale",100);return e=(a=new w).addInputFromTx(s,t),t={oper:W.propSale,pid:n.pid,prev:{hash:e.prevout.hash,index:e.prevout.index},fixed:i,period:this.db.curHeight+O.BLOCK_DAY},n=_.fromScript(x.createScript(Buffer.from(JSON.stringify(t)),x.types.NULLDATA),0),a.outputs.push(n),await this.sign(a,null,N.SINGLE|N.ANYONECANPAY),e=a.commit(),r(e[0].verify(e[1],x.flags.STANDARD_VERIFY_FLAGS)),await this.db.send(e[0]),e}async propBuy(e,t,i){if(!(e=this.db.propList.get(e))||!e.bid||!e.bid.raw)throw new F(L.errors.INVALID_PARAMS,"Invalid Tx Hash.");var r=H.fromRaw(Buffer.from(e.bid.raw,"hex")),a=(await this.createReceive(i)).getAddress(),s=e.gold,n=b.fromString(e.current.address,this.network).getHash();if(t<s)throw new Error("wrong price");if(1<r.outputs.length&&t<r.outputs[1].value)throw new Error("low bid price than before");var o=w.fromTX(r,1);if(!o.outputs[0].getReturnType(B.OP_RETURN))throw new Error("not a sale order");return await this.remove(r.hash("hex")),o.view.addOutput({hash:o.inputs[0].prevout.hash,index:o.inputs[0].prevout.index},new _({value:e.gold})),n=_.fromScript(x.createScript(n),t),o.outputs.push(n),t={oper:W.propExchange,pid:e.pid,cid:e.cid,oid:e.oid,prev:{hash:o.inputs[0].prevout.hash,index:o.inputs[0].prevout.index}},n=_.fromScript(a,s,t),o.outputs.push(n),i?await this.fund(o,{allowPreInput:!0,account:i}):await this.fund(o,{allowPreInput:!0}),await this.sign(o,null,N.ALL,[0]),a=o.commit(),e.owned||this.db.client.watchOutpoint((new D).fromOptions(r.inputs[0].prevout)),await this.db.send(a[0]),a}async getTXByAmount(e,t){let i=null;var r;for(r of await this.getCoins(t))if(!(r.height<=0)&&r.value==e){i=r;break}return i&&(t=await this.getTX(i.hash))?[t.tx,i.index,i.height]:[]}async contractCreate(e,t,i,a,s){if(this.db.transactionList.query(e,a)!=K.None)throw new F(L.errors.TYPE_ERROR,"Contract with the same address finded.");if(0!=parseInt(t%1e3,10))throw new F(L.errors.TYPE_ERROR,"Contract source should an integer multiple of 1000.");if(!await U.checkSum(this.network,e,a))throw new F(L.errors.TYPE_ERROR,"Create contract with an invalid Address or a Address with old transations.");let n=!1,[o,c,u]=await this.getTXByAmount(t,s);if(!o){n=!0;var h=new w;let e="";e=(s?await this.createReceive(s):this).getAddress(),h.outputs.push(_.fromScript(e,t)),s?await this.fund(h,{allowPreInput:!0,account:s}):await this.fund(h,{allowPreInput:!0}),await this.sign(h),h=h.commit(),r(h[0].verify(h[1],x.flags.STANDARD_VERIFY_FLAGS)),o=h[0],c=0,u=-1}(h=new w).addInputFromTx(o,c,u);let l="";l=(s?await this.createReceive(s):this).getAddress();var p=await this.getKey(l);e={oper:W.contractCreate,type:e,addr:a,src:t,dst:i,srcact:s,alice:p.getPublicKey("hex"),period:this.db.curHeight+O.TRANSACTION_PERIOD},a=_.fromScript(x.createScript(Buffer.from(JSON.stringify(e)),x.types.NULLDATA),0),h.outputs.push(a),await this.sign(h,null,N.SINGLE|N.ANYONECANPAY),t=h.commit();return n&&await this.db.send(o),await this.db.send(t[0]),t}async contractPromise(e,t){if(!(e=this.db.transactionList.get(e))||e.transStatus!=K.CreatedOnMem)throw new F(L.errors.INVALID_PARAMS,"Invalid Tx id.");if(!(e=H.fromRaw(Buffer.from(e.raw,"hex"))))throw new F(L.errors.TYPE_ERROR,"Invalid Tx id.");var i=U.parseContract(e);if(!i||i.oper!==W.contractCreate)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");var r=w.fromTX(e,1);if(!r.outputs[0].getReturnType(B.OP_RETURN))throw new Error("not a valid contract");r.view.addOutput({hash:r.inputs[0].prevout.hash,index:r.inputs[0].prevout.index},new _({value:i.src}));let a="";a=(t?await this.createReceive(t):this).getAddress();var s=await this.getKey(a);e={oper:W.contractPromise,prevhash:e.hash("hex"),type:i.type,addr:i.addr,dst:i.dst,srcact:i.srcact,dstact:t,bob:s.getPublicKey("hex"),period:i.period},t=new x([z.fromSymbol("promise"),z.fromData(Buffer.from(JSON.stringify(e))),z.fromSymbol("drop"),z.fromSymbol("greaterthan"),z.fromSymbol("drop"),z.fromSymbol("if"),z.fromData(l.hash160(Buffer.from(e.bob,"hex"))),z.fromSymbol("else"),z.fromData(l.hash160(Buffer.from(i.alice,"hex"))),z.fromSymbol("endif"),z.fromSymbol("checksig")]),r.outputs.push(_.fromScript(t,i.src)),await this.remove(e.prevhash),await this.sign(r,null,N.ALL,[0]),s=r.commit();return await this.db.send(s[0]),e.current={hash:s[0].hash("hex"),index:0},e.raw=s[0].toRaw().toString("hex"),e.transStatus=K.Promised,this.db.transactionList.saveContract(e,!0),s}async contractExecute(e,t){if(!(e=this.db.transactionList.get(e))||e.transStatus!=K.Confirmed&&e.transStatus!=K.Expired)throw new F(L.errors.INVALID_PARAMS,"Invalid Tx id.");if(!(e=H.fromRaw(Buffer.from(e.raw,"hex"))))throw new F(L.errors.TYPE_ERROR,"Invalid Tx id.");t=t||1;var i=U.parseContract(e);if(!i||i.oper!==W.contractPromise)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");var a=e.outputs[1].getReturnData();if(!a||a.oper!==W.contractPromise)throw new F(L.errors.TYPE_ERROR,"Invalid tx type.");r.strictEqual(i.addr,a.addr),r.strictEqual(i.type,a.type),r.strictEqual(i.dst,a.dst),r.strictEqual(i.period,a.period),r.strictEqual(i.srcact,a.srcact),r.strictEqual(i.dstact,a.dstact);var s=this.db.transactionList.query(i.type,i.addr);if(s!=K.Confirmed&&s!=K.Expired)throw new F(L.errors.TYPE_ERROR,"Contract Promise not Check yet.");if(s==K.Expired&&1!=t||s==K.Confirmed&&2!=t)throw new F(L.errors.TYPE_ERROR,"Invalid Executor.");let n=i.srcact,o=(2==t&&(n=i.dstact),"");o=(n?await this.createReceive(n):this).getAddress();var c=new w,u=(c.addInputFromTx(e,1),{oper:W.contractExecute,type:i.type,addr:i.addr,master:t});u=_.fromScript(x.createScript(Buffer.from(JSON.stringify(u)),x.types.NULLDATA),0),c.outputs.push(u),u=_.fromScript(o,e.outputs[1].value),c.outputs.push(u),e=1==t?await P.fromPublic(Buffer.from(i.ori.alice,"hex")):await P.fromPublic(Buffer.from(a.bob,"hex")),u=await this.getKey(e.getAddress()),await c.signAsync(u,x.hashType.ALL,this.db.workers),t=c.commit();return r(t[0].verify(t[1],x.flags.STANDARD_VERIFY_FLAGS,s)),await this.db.send(t[0]),t}async htlcDeal(e,t){var i=await this.getTX(e.hash);let r=null;if(t){if(!(t=await this.getAccount(t)))throw new F(L.errors.TYPE_ERROR,"Invalid Account.");r=t.getReceive().toString()}else r=this.getReceive().toString();t=new w;var a=(new x).pushOp(B.OP_1);e.suggest&&a.pushData(Buffer.from(e.sa,"hex")),t.addInput({prevout:{hash:e.hash,index:e.index},script:a}),t.addOutput(r,i.tx.outputs[e.index].value-1e4),t.view.addOutput({hash:e.hash,index:e.index},new _(i.tx.outputs[e.index])),await this.sign(t,null,N.ALL),a=t.commit();return await this.db.send(a[0]),a}async htlcCancel(e,t){let i=null;var r=await this.getTX(e.hash);if(!(i=r?r.tx.outputs[e.index]:i))throw new F(L.errors.TYPE_ERROR,"Invalid Input.");let a=null;if(t){if(!(r=await this.getAccount(t)))throw new F(L.errors.TYPE_ERROR,"Invalid Account.");a=r.getReceive().toString()}else a=this.getReceive().toString();return t=new w,r=(new x).pushOp(B.OP_0),e.suggest&&r.pushData(Buffer.from(e.sa,"hex")),t.addInput({prevout:{hash:e.hash,index:e.index},script:r}),e.suggest?t.setSequence(0,2*O.HTLC_CANCEL_PERIOD,!1):t.setSequence(0,O.HTLC_CANCEL_PERIOD,!1),t.addOutput(a,i.value-1e4),t.view.addOutput({hash:e.hash,index:e.index},new _(i)),r=await this.getKey(e.master),await t.signAsync(r,x.hashType.ALL,this.db.workers),e=t.commit(),await this.db.send(e[0]),e}async sendContracts(e,t,i){var r,a=new w;for(r of e)a.outputs.push(i.create(r));return t?await this.fund(a,{account:t}):await this.fund(a),await this.sign(a),e=a.commit(),await this.db.addTX(e[0]),await this.db.send(e[0]),e}async tokenCreate(e,t="",i){r(e&&"object"==typeof e,"Token data should be a object"),r(e.cid,"Token data should has a cid property"),r(e.uid,"Token data should has a uid property"),e.time=!0,await this.ensureAccount({name:t,witness:!0});let a=null;if(i){if(!await this.belongToAccount(t,i))throw new F(L.errors.TYPE_ERROR,`tokenCreate address error: addr:${i} is not belongs to account:`+t);a=await this.getKey(i)}else a=await this.createReceive(t,n.hashInt(e.cid),this.master);return a.signData(e)}async sign(e,t,i=x.hashType.ALL,r){if(this.watchOnly)throw new Error("Cannot sign from a watch-only wallet.");return await this.unlock(t),t=await this.deriveInputs(e),e.signAsync(t,i,this.db.workers,r)}getCoinView(e){return this.txdb.getCoinView(e)}getSpentView(e){return this.txdb.getSpentView(e)}toDetails(e){return this.txdb.toDetails(e)}getDetails(e){return this.txdb.getDetails(e)}async getCoin(e,t){return this.txdb.getCoin(e,t)}async getCredit(e,t){return this.txdb.getCredit(e,t)}async getStatusOfSC(e){return this.txdb.getStatusOfSC(e)}async setStatusOfSC(e,t){var i=await this.writeLock.lock();try{this.txdb.start();try{await this.txdb._setStatusOfSC(e,t),await this.txdb.commit()}catch(e){throw this.txdb.drop(),e}}finally{i()}}getLockedCoins(){return this.txdb.lockedCoins.values}getTX(e){return this.txdb.getTX(e)}getBlocks(){return this.txdb.getBlocks()}getBlock(e){return this.txdb.getBlock(e)}async add(e,t,i){var r=await this.writeLock.lock();try{return await this._add(e,t,i)}finally{r()}}async _add(e,t,i){let r,a;this.txdb.start();try{(r=await this.txdb._add(e,t,i))&&(a=await this.syncOutputDepth(r)),await this.txdb.commit()}catch(e){throw this.txdb.drop(),e}return a&&0<a.length&&(this.db.emit("address",this.id,a),this.emit("address",a)),r}async resetBalance(){var e=await this.writeLock.lock();try{this.txdb.start();try{this.txdb.pending.unconfirmed=0,this.txdb.pending.confirmed=0;for(const e of await this.getAccounts()){var t=await this.getBalance(e);this.txdb.pending.unconfirmed+=t.unconfirmed,this.txdb.pending.confirmed+=t.confirmed}this.txdb.put(te.R,this.txdb.pending.commit()),await this.txdb.commit()}catch(e){throw this.txdb.drop(),e}}finally{e()}return this.txdb.state.toBalance()}async unconfirm(e){var t=await this.writeLock.lock();try{return await this.txdb.unconfirm(e)}finally{t()}}async remove(e){var t=await this.writeLock.lock();try{return await this.txdb.remove(e)}finally{t()}}async zap(e,t){var i=await this.writeLock.lock();try{return await this._zap(e,t)}finally{i()}}async _zap(e,t){return e=await this.ensureIndex(e),this.txdb.zap(e,t)}async abandon(e){var t=await this.writeLock.lock();try{return await this._abandon(e)}finally{t()}}_abandon(e){return this.txdb.abandon(e)}conserveCoin(e){return this.txdb.conserveCoin(e)}unConserveCoin(e){return this.txdb.unConserveCoin(e)}isConserved(e){return this.txdb.isConserved(e)}getConserved(){return this.txdb.getConserved()}async getHistory(e){return e=await this.ensureIndex(e),this.txdb.getHistory(e)}async getCoins(e){return e=await this.ensureIndex(e),this.txdb.getCoins(e)}async getCredits(e){return e=await this.ensureIndex(e),this.txdb.getCredits(e)}async getSmartCoins(e){var t=[];for(const r of await this.getCredits(e)){var i=r.coin;r.spent||this.txdb.isConserved(i)||-1===i.height&&!r.own||t.push(i)}return t}async getPending(e){return e=await this.ensureIndex(e),this.txdb.getPending(e)}async getBalance(e){return e=await this.ensureIndex(e),this.txdb.getBalance(e)}async queryBalanceLog(e,t=0){return(e=await this.ensureIndex(e))?this.db.queryBalanceLog(this.wid,e,t):[]}async getRange(e,t){return e&&"object"==typeof e&&(t=e,e=null),e=await this.ensureIndex(e),this.txdb.getRange(e,t)}async getLast(e,t){return e=await this.ensureIndex(e),this.txdb.getLast(e,t)}async ensureIndex(e,t){if(null==e){if(t)throw new Error("No account provided.");return null}if(-1===(t=await this.getAccountIndex(e)))throw new Error("Account not found.");return t}getAddress(e){return this.account.getAddress(e)}getReceive(e){return this.account.getReceive(e)}getChange(e){return this.account.getChange(e)}getNested(e){return this.account.getNested(e)}inspect(){return{wid:this.wid,id:this.id,network:this.network.type,initialized:this.initialized,accountDepth:this.accountDepth,token:this.token.toString("hex"),tokenDepth:this.tokenDepth,state:this.txdb.state?this.txdb.state.toJSON(!0):null,master:this.master,account:this.account}}toJSON(e){return{network:this.network.type,wid:this.wid,id:this.id,initialized:this.initialized,watchOnly:this.watchOnly,accountDepth:this.accountDepth,token:this.token.toString("hex"),tokenDepth:this.tokenDepth,height:this.db.curHeight,state:this.txdb.state.toJSON(!0),master:this.master.toJSON(e),account:this.account.toJSON(!0)}}getSize(){var e=0;return(e+=50)+o.sizeVarString(this.id,"ascii")+o.sizeVarlen(this.master.getSize())}toRaw(){var e=this.getSize();return(e=new f(e)).writeU32(this.network.magic),e.writeU32(this.wid),e.writeVarString(this.id,"ascii"),e.writeU8(this.initialized?1:0),e.writeU8(this.watchOnly?1:0),e.writeU32(this.accountDepth),e.writeBytes(this.token),e.writeU32(this.tokenDepth),e.writeVarBytes(this.master.toRaw()),e.render()}fromRaw(e){e=new d(e);var t=s.fromMagic(e.readU32());return this.wid=e.readU32(),this.id=e.readVarString("ascii"),this.initialized=1===e.readU8(),this.watchOnly=1===e.readU8(),this.accountDepth=e.readU32(),this.token=e.readBytes(32),this.tokenDepth=e.readU32(),this.master.fromRaw(e.readVarBytes()),r(t===this.db.network,"Wallet network mismatch."),this}static fromRaw(e,t){return new re(e).fromRaw(t)}static isWallet(e){return e instanceof re}async issueCreate(e,t,i){var r=new G(e),a=((a=(r.source.subjectName||(r.source.subjectName=r.erid),P.fromPrivate(Buffer.from(e.key,"hex"),!0,this.network))).witness=!0,r.sign(a,!0,this.network),r.toOptions(!0));return i?this.send({outputs:[{address:e.address,value:1e4}],comment:a},t):(r=await this.send({outputs:[{address:e.address,value:1e4}],comment:a},t),a.txid=r.txid()),a}async caAbolish(e,t,i){var r=P.fromPrivate(Buffer.from(e.key,"hex"),!0,this.network),a=(r.witness=!0,await this.db.client.execute("ca.byId",[e.erid]));if(!a)throw new F(L.errors.TYPE_ERROR,"ca.abolish: Invalid erid.");if(a.source.cid!=e.cid)throw new F(L.errors.TYPE_ERROR,"ca.abolish: Invalid cid.");if(a.source.uid!=e.uid)throw new F(L.errors.TYPE_ERROR,"ca.abolish: Invalid uid.");var s=a.signature;if(a.sign(r,!0,this.network),a.witness!=e.witness||a.signature!=s)throw new F(L.errors.TYPE_ERROR,"ca.abolish: You have no permission to abolish this witness.");return(a=new X(e)).sign(r),s=a.toOptions(!0),i?this.send({outputs:[{address:e.address,value:1e4}],comment:s},t):await this.send({outputs:[{address:e.address,value:1e4}],comment:s},t),s}async enchanceCp(e,t){var i=((e=new J(e)).oper="enchanceCp",await this.ensureCp(e.to)),r=await this.ensureCp(e.from);if(!(r=await this.getKey(r.pubAddress)))throw new F(L.errors.TYPE_ERROR,"Invalid cid, Not along to this wallet.");return e.sign(r),r=e.toOptions(!0),[await this.send({outputs:[{address:i.pubAddress,value:1e4}],comment:r},t),r]}async ensureCp(e,t=!1){if(await this.db.flushCP([e]),(e=this.db.cpList.getItem(e))||t)return e;throw new F(L.errors.TYPE_ERROR,"Invalid cid, cannot find cp.")}}e.exports=re},function(e,t,i){"use strict";
281
281
  /*!
282
282
  * BlockMeta.js - walletdb records
283
283
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -337,7 +337,7 @@ const r=i(19).opcodes;function a(e){let t=null;var i=a.list[e.type];return new(i
337
337
  * @note 新增子链类型:
338
338
  * 1. 在 ./config/ 目录下生成新的子链的配置文件,注意子链的[type]和[magic]字段必须有别于其它子链
339
339
  * 2. 在本文件中引入该配置文件,并且添加到 networks 中
340
- */const r={main:i(356),regtest:i(357),simnet:i(358),testnet:i(359),evidence:i(360)};r.types=Object.keys(r).map(e=>r[e].type),e.exports=r},function(e,t,i){"use strict";
340
+ */const r={main:i(357),regtest:i(358),simnet:i(359),testnet:i(360),evidence:i(361)};r.types=Object.keys(r).map(e=>r[e].type),e.exports=r},function(e,t,i){"use strict";
341
341
  /*!
342
342
  * merkle.js - merkle trees for vallnet
343
343
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -364,7 +364,7 @@ const r=i(19).opcodes;function a(e){let t=null;var i=a.list[e.type];return new(i
364
364
  * list.js - double linked list for vallnet
365
365
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
366
366
  * https://github.com/bookmansoft/gamegold
367
- */const r=i(0);function a(){if(!(this instanceof a))return new a;this.head=null,this.tail=null,this.size=0}i(331),a.prototype.reset=function(){let e,t;for(e=this.head;e;e=t)t=e.next,e.prev=null,e.next=null;r(!e),this.head=null,this.tail=null,this.size=0},a.prototype.shift=function(){var e=this.head;return e?(this.remove(e),e):null},a.prototype.unshift=function(e){return this.insert(null,e)},a.prototype.push=function(e){return this.insert(this.tail,e)},a.prototype.pop=function(){var e=this.tail;return e?(this.remove(e),e):null},a.prototype.insert=function(e,t){return!t.prev&&!t.next&&t!==this.head&&(r(!t.prev),r(!t.next),null==e?this.head?((this.head.prev=t).next=this.head,this.head=t):(this.head=t,this.tail=t):(t.next=e.next,(t.prev=e).next=t,e===this.tail&&(this.tail=t)),this.size++,!0)},a.prototype.remove=function(e){return!(!e.prev&&!e.next&&e!==this.head||(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this.head&&(this.head=e.next),e===this.tail&&(this.tail=e.prev||this.head),this.head||r(!this.tail),this.tail||r(!this.head),e.prev=null,e.next=null,this.size--,0))},a.prototype.replace=function(e,t){e.prev&&(e.prev.next=t),e.next&&(e.next.prev=t),t.prev=e.prev,t.next=e.next,e.next=null,e.prev=null,this.head===e&&(this.head=t),this.tail===e&&(this.tail=t)},a.prototype.slice=function(e){var t=[];let i,r;for(null==e&&(e=-1),i=this.head;i&&(r=i.next,i.prev=null,i.next=null,this.size--,t.push(i),t.length!==e);i=r);return r?(this.head=r).prev=null:(this.head=null,this.tail=null),t},a.prototype.toArray=function(){var e=[];for(let t=this.head;t;t=t.next)e.push(t);return e},e.exports=a},function(e,t,i){"use strict";
367
+ */const r=i(0);function a(){if(!(this instanceof a))return new a;this.head=null,this.tail=null,this.size=0}i(332),a.prototype.reset=function(){let e,t;for(e=this.head;e;e=t)t=e.next,e.prev=null,e.next=null;r(!e),this.head=null,this.tail=null,this.size=0},a.prototype.shift=function(){var e=this.head;return e?(this.remove(e),e):null},a.prototype.unshift=function(e){return this.insert(null,e)},a.prototype.push=function(e){return this.insert(this.tail,e)},a.prototype.pop=function(){var e=this.tail;return e?(this.remove(e),e):null},a.prototype.insert=function(e,t){return!t.prev&&!t.next&&t!==this.head&&(r(!t.prev),r(!t.next),null==e?this.head?((this.head.prev=t).next=this.head,this.head=t):(this.head=t,this.tail=t):(t.next=e.next,(t.prev=e).next=t,e===this.tail&&(this.tail=t)),this.size++,!0)},a.prototype.remove=function(e){return!(!e.prev&&!e.next&&e!==this.head||(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this.head&&(this.head=e.next),e===this.tail&&(this.tail=e.prev||this.head),this.head||r(!this.tail),this.tail||r(!this.head),e.prev=null,e.next=null,this.size--,0))},a.prototype.replace=function(e,t){e.prev&&(e.prev.next=t),e.next&&(e.next.prev=t),t.prev=e.prev,t.next=e.next,e.next=null,e.prev=null,this.head===e&&(this.head=t),this.tail===e&&(this.tail=t)},a.prototype.slice=function(e){var t=[];let i,r;for(null==e&&(e=-1),i=this.head;i&&(r=i.next,i.prev=null,i.next=null,this.size--,t.push(i),t.length!==e);i=r);return r?(this.head=r).prev=null:(this.head=null,this.tail=null),t},a.prototype.toArray=function(){var e=[];for(let t=this.head;t;t=t.next)e.push(t);return e},e.exports=a},function(e,t,i){"use strict";
368
368
  /*!
369
369
  * mempoolentry.js - mempool entry object for vallnet
370
370
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -402,11 +402,11 @@ function r(e){let t=null;var i=r.list[e.contract.options.type];return i?new(t=i.
402
402
  * protowriter.js - protobufs for vallnet
403
403
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
404
404
  * https://github.com/bookmansoft/gamegold
405
- */const r=i(0),a=i(22),s=0,n=2;function o(){if(!(this instanceof o))return new o;a.call(this)}function c(e){r(Number.isSafeInteger(e),"Number exceeds 2^53-1.");let t=0,i=0;do{r(i<7);let a=127&e;0!=(e=(e-e%128)/128)&&(a|=128),t=(t*=256)+a,i++}while(0<e);return t}Object.setPrototypeOf(o.prototype,a.prototype),o.prototype.writeVarint=function(e){var t=function(e){r(Number.isSafeInteger(e),"Number exceeds 2^53-1.");let t=0;for(;t++,0<(e=(e-e%128)/128););return t}(e);switch(t){case 6:var i=c(e);this.writeU32BE(i/65536|0),this.writeU16BE(65535&i);break;case 5:i=c(e),this.writeU32BE(i/256|0),this.writeU8(255&i);break;case 4:i=c(e),this.writeU32BE(i);break;case 3:i=c(e),this.writeU16BE(i>>8),this.writeU8(255&i);break;case 2:i=c(e),this.writeU16BE(i);break;case 1:i=c(e),this.writeU8(i);break;default:var a=i=Buffer.allocUnsafe(t),s=e,n=0;r(Number.isSafeInteger(s),"Number exceeds 2^53-1.");do{r(n<a.length);let e=127&s;0!=(s=(s-s%128)/128)&&(e|=128),a[n]=e,n++}while(0<s);this.writeBytes(i)}},o.prototype.writeFieldVarint=function(e,t){e=e<<3|s,this.writeVarint(e),this.writeVarint(t)},o.prototype.writeFieldU64=function(e,t){r(Number.isSafeInteger(t)),this.writeFieldVarint(e,t)},o.prototype.writeFieldU32=function(e,t){r(t<=4294967295),this.writeFieldVarint(e,t)},o.prototype.writeFieldBytes=function(e,t){e=e<<3|n,this.writeVarint(e),this.writeVarint(t.length),this.writeBytes(t)},o.prototype.writeFieldString=function(e,t,i){"string"==typeof t&&(t=Buffer.from(t,i||"utf8")),this.writeFieldBytes(e,t)},e.exports=o},function(e,t,i){"use strict";t.version=i(374).version,t.utils=i(41),t.rand=i(240),t.curve=i(241),t.curves=i(163),t.ec=i(386),t.eddsa=i(389)},function(e,t,i){"use strict";var r,a=t,s=(t=i(164),i(241)),n=i(41).assert;function o(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(a,e,{configurable:!0,enumerable:!0,get:function(){var i=new o(t);return Object.defineProperty(a,e,{configurable:!0,enumerable:!0,value:i}),i}})}a.PresetCurve=o,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=i(385)}catch(e){r=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,i){t.utils=i(49),t.common=i(98),t.sha=i(379),t.ripemd=i(383),t.hmac=i(384),t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160},function(e,t,i){"use strict";
405
+ */const r=i(0),a=i(22),s=0,n=2;function o(){if(!(this instanceof o))return new o;a.call(this)}function c(e){r(Number.isSafeInteger(e),"Number exceeds 2^53-1.");let t=0,i=0;do{r(i<7);let a=127&e;0!=(e=(e-e%128)/128)&&(a|=128),t=(t*=256)+a,i++}while(0<e);return t}Object.setPrototypeOf(o.prototype,a.prototype),o.prototype.writeVarint=function(e){var t=function(e){r(Number.isSafeInteger(e),"Number exceeds 2^53-1.");let t=0;for(;t++,0<(e=(e-e%128)/128););return t}(e);switch(t){case 6:var i=c(e);this.writeU32BE(i/65536|0),this.writeU16BE(65535&i);break;case 5:i=c(e),this.writeU32BE(i/256|0),this.writeU8(255&i);break;case 4:i=c(e),this.writeU32BE(i);break;case 3:i=c(e),this.writeU16BE(i>>8),this.writeU8(255&i);break;case 2:i=c(e),this.writeU16BE(i);break;case 1:i=c(e),this.writeU8(i);break;default:var a=i=Buffer.allocUnsafe(t),s=e,n=0;r(Number.isSafeInteger(s),"Number exceeds 2^53-1.");do{r(n<a.length);let e=127&s;0!=(s=(s-s%128)/128)&&(e|=128),a[n]=e,n++}while(0<s);this.writeBytes(i)}},o.prototype.writeFieldVarint=function(e,t){e=e<<3|s,this.writeVarint(e),this.writeVarint(t)},o.prototype.writeFieldU64=function(e,t){r(Number.isSafeInteger(t)),this.writeFieldVarint(e,t)},o.prototype.writeFieldU32=function(e,t){r(t<=4294967295),this.writeFieldVarint(e,t)},o.prototype.writeFieldBytes=function(e,t){e=e<<3|n,this.writeVarint(e),this.writeVarint(t.length),this.writeBytes(t)},o.prototype.writeFieldString=function(e,t,i){"string"==typeof t&&(t=Buffer.from(t,i||"utf8")),this.writeFieldBytes(e,t)},e.exports=o},function(e,t,i){"use strict";t.version=i(375).version,t.utils=i(41),t.rand=i(240),t.curve=i(241),t.curves=i(163),t.ec=i(387),t.eddsa=i(390)},function(e,t,i){"use strict";var r,a=t,s=(t=i(164),i(241)),n=i(41).assert;function o(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(a,e,{configurable:!0,enumerable:!0,get:function(){var i=new o(t);return Object.defineProperty(a,e,{configurable:!0,enumerable:!0,value:i}),i}})}a.PresetCurve=o,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=i(386)}catch(e){r=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,i){t.utils=i(49),t.common=i(98),t.sha=i(380),t.ripemd=i(384),t.hmac=i(385),t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160},function(e,t,i){"use strict";
406
406
  /*!
407
407
  * opcode.js - opcode object for vallnet
408
408
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
409
- */const r=i(0),a=i(99),s=i(2),n=i(19),o=i(1),c=i(4),u=n.opcodes,h=[];let l=null;class p{constructor(e,t){this.value=e||0,this.data=t||null}isMinimal(){if(this.data){if(1===this.data.length){if(129===this.data[0])return!1;if(1<=this.data[0]&&this.data[0]<=16)return!1}if(this.data.length<=75)return this.value===this.data.length;if(this.data.length<=255)return this.value===u.OP_PUSHDATA1;if(this.data.length<=65535)return this.value===u.OP_PUSHDATA2;r(this.value===u.OP_PUSHDATA4)}return!0}isDisabled(){switch(this.value){case u.OP_CAT:case u.OP_SUBSTR:case u.OP_LEFT:case u.OP_RIGHT:case u.OP_INVERT:case u.OP_AND:case u.OP_OR:case u.OP_XOR:case u.OP_2MUL:case u.OP_2DIV:case u.OP_MUL:case u.OP_DIV:case u.OP_MOD:case u.OP_LSHIFT:case u.OP_RSHIFT:return!0}return!1}isBranch(){return this.value>=u.OP_IF&&this.value<=u.OP_ENDIF}equals(e){return r(p.isOpcode(e)),this.value===e.value&&(this.data?(r(e.data),this.data.equals(e.data)):(r(!e.data),!0))}toOp(){return this.value}toData(){return this.data}toLength(){return this.data?this.data.length:-1}toPush(){return this.value===u.OP_0?n.small[1]:this.value===u.OP_1NEGATE?n.small[0]:this.value>=u.OP_1&&this.value<=u.OP_16?n.small[this.value-80+1]:this.toData()}toString(e){var t=this.toPush();return t?t.toString(e||"utf8"):null}toSmall(){return this.value===u.OP_0?0:this.value>=u.OP_1&&this.value<=u.OP_16?this.value-80:-1}toNum(e,t){return this.value===u.OP_0?a.fromInt(0):this.value===u.OP_1NEGATE?a.fromInt(-1):this.value>=u.OP_1&&this.value<=u.OP_16?a.fromInt(this.value-80):this.data?a.decode(this.data,e,t):null}toInt(e,t){return(e=this.toNum(e,t))?e.getInt():-1}toBool(){var e=this.toSmall();return-1!==e&&1===e}toSymbol(){return-1===this.value?"OP_INVALIDOPCODE":n.opcodesByVal[this.value]||"0x"+s.hex8(this.value)}getSize(){if(!this.data)return 1;switch(this.value){case u.OP_PUSHDATA1:return 2+this.data.length;case u.OP_PUSHDATA2:return 3+this.data.length;case u.OP_PUSHDATA4:return 5+this.data.length;default:return 1+this.data.length}}toWriter(e){if(-1===this.value)throw new Error("Cannot reserialize a parse error.");if(this.data)switch(this.value){case u.OP_PUSHDATA1:e.writeU8(this.value),e.writeU8(this.data.length),e.writeBytes(this.data);break;case u.OP_PUSHDATA2:e.writeU8(this.value),e.writeU16(this.data.length),e.writeBytes(this.data);break;case u.OP_PUSHDATA4:e.writeU8(this.value),e.writeU32(this.data.length),e.writeBytes(this.data);break;default:r(this.value===this.data.length),e.writeU8(this.value),e.writeBytes(this.data)}else e.writeU8(this.value);return e}toRaw(){var e=this.getSize();return this.toWriter(new c(e)).render()}toFormat(){if(-1===this.value)return"0x01";if(this.data){if(this.data.length<=4){var e=this.toNum();if(this.equals(p.fromNum(e)))return e.toString(10)}const t=n.opcodesByVal[this.value];if(e=this.data.toString("hex"),!t)return`0x${s.hex8(this.value)} 0x`+e;let i=this.data.length.toString(16);if(i.length%2!=0&&(i="0"+i),i=s.revHex(i),this.data.length<=75)return`${t} 0x${i} 0x`+e;if(this.data.length<=255)return`${t} 0x4c 0x${i} 0x`+e;if(this.data.length<=65535)return`${t} 0x4d 0x${i} 0x`+e;if(this.data.length<=4294967295)return`${t} 0x4e 0x${i} 0x`+e}return n.opcodesByVal[this.value]||"0x"+s.hex8(this.value)}toASM(e){return-1===this.value?"[error]":this.data?n.toASM(this.data,e):n.opcodesByVal[this.value]||"OP_UNKNOWN"}static fromOp(e){return r("number"==typeof e),e=h[e],r(e,"Bad opcode."),e}static fromData(e){if(r(Buffer.isBuffer(e)),1===e.length){if(129===e[0])return p.fromOp(u.OP_1NEGATE);if(1<=e[0]&&e[0]<=16)return p.fromOp(e[0]+80)}return p.fromPush(e)}static fromPush(e){if(r(Buffer.isBuffer(e)),0===e.length)return p.fromOp(u.OP_0);if(e.length<=75)return new p(e.length,e);if(e.length<=255)return new p(u.OP_PUSHDATA1,e);if(e.length<=65535)return new p(u.OP_PUSHDATA2,e);if(e.length<=4294967295)return new p(u.OP_PUSHDATA4,e);throw new Error("Pushdata size too large.")}static fromString(e,t){return r("string"==typeof e),e=Buffer.from(e,t||"utf8"),p.fromData(e)}static fromSmall(e){return r(s.isU8(e)&&0<=e&&e<=16),p.fromOp(0===e?0:e+80)}static fromNum(e){return r(a.isScriptNum(e)),p.fromData(e.encode())}static fromInt(e){return r(s.isInt(e)),0===e?p.fromOp(u.OP_0):-1===e?p.fromOp(u.OP_1NEGATE):1<=e&&e<=16?p.fromOp(e+80):p.fromNum(a.fromNumber(e))}static fromBool(e){return r("boolean"==typeof e),p.fromSmall(e?1:0)}static fromSymbol(e){r("string"==typeof e),r(0<e.length),s.isUpperCase(e)||(e=e.toUpperCase()),s.startsWith(e,"OP_")||(e="OP_"+e);var t=n.opcodes[e];return null!=t||(r(s.startsWith(e,"OP_0X"),"Unknown opcode."),r(7===e.length,"Unknown opcode."),t=parseInt(e.substring(5),16),r(s.isU8(t),"Unknown opcode.")),p.fromOp(t)}static fromReader(e){var t,i=e.readU8(),r=h[i];if(r)return r;switch(i){case u.OP_PUSHDATA1:return e.left()<1?l:(t=e.readU8(),e.left()<t?(e.seek(e.left()),l):(t=e.readBytes(t),new p(i,t)));case u.OP_PUSHDATA2:return e.left()<2?(e.seek(e.left()),l):(t=e.readU16(),e.left()<t?(e.seek(e.left()),l):(t=e.readBytes(t),new p(i,t)));case u.OP_PUSHDATA4:return e.left()<4?(e.seek(e.left()),l):(t=e.readU32(),e.left()<t?(e.seek(e.left()),l):(t=e.readBytes(t),new p(i,t)));default:return e.left()<i?(e.seek(e.left()),l):(t=e.readBytes(i),new p(i,t))}}static fromRaw(e){return p.fromReader(new o(e))}static isOpcode(e){return e instanceof p}}l=Object.freeze(new p(-1));for(let e=0;e<=255;e++){var d;1<=e&&e<=78?h.push(null):(d=new p(e),h.push(Object.freeze(d)))}e.exports=p},function(e,t,i){const r=i(5).ContractStatus;e.exports=class extends class{constructor(e){this.period=e.period}run(e){var t=this.getResult();if(t&&Array.isArray(t)&&t.length<=10)for(var i of t)e.pushInt(i)}getResult(){return[]}}{constructor(e,t){super(e),this.type=e.type,this.addr=e.addr,this.dst=e.dst,this.status=t}getResult(){return this.status===r.Expired||this.status===r.Backed?[1,2]:this.status===r.Confirmed||this.status===r.Exchanged?[2,1]:[]}}},function(e,t,i){"use strict";const r=i(0),a=i(325),s=i(326);function n(e){var t=(i=n.getBackend(e)).backend,i=i.location;return new a(t,i,e)}n.getName=function(e){let t,i;switch(e=e||"memory"){case"ldb":case"leveldb":case"leveldown":t="leveldown",i="ldb";break;case"rdb":case"rocksdb":case"rocksdown":t="rocksdown",i="rdb";break;case"mdb":case"lmdb":t="lmdb",i="mdb";break;case"mem":case"memory":case"rbt":t="memory",i="mem";break;default:t=e,i="db"}return[t,i]},n.getBackend=function(e){var[t,i]=n.getName(e.db),a=s.get(t);let o=e.location;return"string"!=typeof o&&(r("memory"===t,"Location required."),o="memory"),{backend:a,location:o+"."+i}},e.exports=n},function(e,t,i){"use strict";t.AbstractLevelDOWN=i(402),t.AbstractIterator=i(253),t.AbstractChainedBatch=i(254)},function(e,t,i){"use strict";e.exports=process.nextTick},function(e,t,i){e.exports=i(407)(__dirname)},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,i){"use strict";function r(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===c.call(e)}function a(e){if(e&&"[object Object]"===c.call(e)){var t,i=o.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&o.call(e.constructor.prototype,"isPrototypeOf");if(!e.constructor||i||r){for(t in e);return void 0===t||o.call(e,t)}}}function s(e,t){u&&"__proto__"===t.name?u(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue}function n(e,t){if("__proto__"===t){if(!o.call(e,t))return;if(h)return h(e,t).value}return e[t]}var o=Object.prototype.hasOwnProperty,c=Object.prototype.toString,u=Object.defineProperty,h=Object.getOwnPropertyDescriptor;e.exports=function e(){var t,i,o,c,u,h=arguments[0],l=1,p=arguments.length,d=!1;for("boolean"==typeof h&&(d=h,h=arguments[1]||{},l=2),(null==h||"object"!=typeof h&&"function"!=typeof h)&&(h={});l<p;++l)if(null!=(t=arguments[l]))for(i in t)u=n(h,i),h!==(o=n(t,i))&&(d&&o&&(a(o)||(c=r(o)))?s(h,{name:i,newValue:e(d,u=c?(c=!1,u&&r(u)?u:[]):u&&a(u)?u:{},o)}):void 0!==o&&s(h,{name:i,newValue:o}));return h}},function(e,t,i){"use strict";var r=i(458),a=i(8),s=i(40).Buffer;i="undefined"==typeof setImmediate?process.nextTick:setImmediate;t.paramsHaveRequestBody=function(e){return e.body||e.requestBodyStream||e.json&&"boolean"!=typeof e.json||e.multipart},t.safeStringify=function(e,t){var i;try{i=JSON.stringify(e,t)}catch(a){i=r(e,t)}return i},t.md5=function(e){return a.createHash("md5").update(e).digest("hex")},t.isReadStream=function(e){return e.readable&&e.path&&e.mode},t.toBase64=function(e){return s.from(e||"","utf8").toString("base64")},t.copy=function(e){var t={};return Object.keys(e).forEach((function(i){t[i]=e[i]})),t},t.version=function(){var e=process.version.replace("v","").split(".");return{major:parseInt(e[0],10),minor:parseInt(e[1],10),patch:parseInt(e[2],10)}},t.defer=i},function(e,t){e.exports=require("zlib")},function(e,t,i){var r=i(23),a=i(101),s=i(57),n=i(24),o=i(105),c=i(106);i=i(51);e.exports={Key:r,parseKey:r.parse,Fingerprint:a,parseFingerprint:a.parse,Signature:s,parseSignature:s.parse,PrivateKey:n,parsePrivateKey:n.parse,generatePrivateKey:n.generate,Certificate:o,parseCertificate:o.parse,createSelfSignedCertificate:o.createSelfSigned,createCertificate:o.create,Identity:c,identityFromDN:c.parseDN,identityForHost:c.forHost,identityForUser:c.forUser,identityForEmail:c.forEmail,identityFromArray:c.fromArray,FingerprintFormatError:i.FingerprintFormatError,InvalidAlgorithmError:i.InvalidAlgorithmError,KeyParseError:i.KeyParseError,SignatureParseError:i.SignatureParseError,KeyEncryptedError:i.KeyEncryptedError,CertificateParseError:i.CertificateParseError}},function(e,t){e.exports={newInvalidAsn1Error:function(e){var t=new Error;return t.name="InvalidAsn1Error",t.message=e||"",t}}},function(e,t){e.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}},function(e,t,i){e.exports={DiffieHellman:f,generateECDSA:function(e){var t,i,r,n=[];return l?(t={nistp256:"prime256v1",nistp384:"secp384r1",nistp521:"secp521r1"}[e],(t=a.createECDH(t)).generateKeys(),n.push({name:"curve",data:s.from(e)}),n.push({name:"Q",data:t.getPublicKey()}),n.push({name:"d",data:t.getPrivateKey()})):(r=(t=new m(e)).getN(),i=Math.ceil((r.bitLength()+64)/8),i=new d(a.randomBytes(i)),r=r.subtract(d.ONE),i=i.mod(r).add(d.ONE),r=t.getG().multiply(i),i=s.from(i.toByteArray()),r=s.from(t.getCurve().encodePointHex(r),"hex"),n.push({name:"curve",data:s.from(e)}),n.push({name:"Q",data:r}),n.push({name:"d",data:i})),new h({type:"ecdsa",curve:e,parts:n})},generateED25519:function(){var e=c.sign.keyPair(),t=s.from(e.secretKey),i=(e=s.from(e.publicKey),r.strictEqual(t.length,64),r.strictEqual(e.length,32),[]);return i.push({name:"A",data:e}),i.push({name:"k",data:t.slice(0,32)}),new h({type:"ed25519",parts:i})}};var r=i(10),a=i(8),s=i(12).Buffer,n=i(30),o=i(25),c=i(103),u=i(23),h=i(24),l=void 0!==a.createECDH,p=(i(468),i(134)),d=i(102).BigInteger;function f(e){if(o.assertCompatible(e,u,[1,4],"key"),this._isPriv=h.isPrivateKey(e,[1,3]),this._algo=e.type,this._curve=e.curve,"dsa"===(this._key=e).type){if(!l)throw new Error("Due to bugs in the node 0.10 crypto API, node 0.12.x or later is required to use DH");this._dh=a.createDiffieHellman(e.part.p.data,void 0,e.part.g.data,void 0),this._p=e.part.p,this._g=e.part.g,this._isPriv&&this._dh.setPrivateKey(e.part.x.data),this._dh.setPublicKey(e.part.y.data)}else if("ecdsa"===e.type){var t;l?(t={nistp256:"prime256v1",nistp384:"secp384r1",nistp521:"secp521r1"}[e.curve],this._dh=a.createECDH(t),"object"!=typeof this._dh||"function"!=typeof this._dh.setPrivateKey?(l=!1,f.call(this,e)):(this._isPriv&&this._dh.setPrivateKey(e.part.d.data),this._dh.setPublicKey(e.part.Q.data))):(this._ecParams=new m(this._curve),this._isPriv&&(this._priv=new v(this._ecParams,e.part.d.data)))}else{if("curve25519"!==e.type)throw new Error("DH not supported for "+e.type+" keys");this._isPriv&&(o.assertCompatible(e,h,[1,5],"key"),this._priv=e.part.k.data)}}function m(e){e=n.curves[e];var t=(r.object(e),new d(e.p)),i=new d(e.a),a=new d(e.b),s=new d(e.n),o=d.ONE;i=(t=new p.ECCurveFp(t,i,a)).decodePointHex(e.G.toString("hex"));this.curve=t,this.g=i,this.n=s,this.h=o}function g(e,t){this._params=e,0===t[0]&&(t=t.slice(1)),this._pub=e.getCurve().decodePointHex(t.toString("hex"))}function v(e,t){this._params=e,this._priv=new d(o.mpNormalize(t))}f.prototype.getPublicKey=function(){return this._isPriv?this._key.toPublic():this._key},f.prototype.getKey=f.prototype.getPrivateKey=function(){return this._isPriv?this._key:void 0},f.prototype._keyCheck=function(e,t){if(r.object(e,"key"),t||o.assertCompatible(e,h,[1,3],"key"),o.assertCompatible(e,u,[1,4],"key"),e.type!==this._algo)throw new Error("A "+e.type+" key cannot be used in "+this._algo+" Diffie-Hellman");if(e.curve!==this._curve)throw new Error("A key from the "+e.curve+" curve cannot be used with a "+this._curve+" Diffie-Hellman");"dsa"===e.type&&(r.deepEqual(e.part.p,this._p,"DSA key prime does not match"),r.deepEqual(e.part.g,this._g,"DSA key generator does not match"))},f.prototype.setPrivateKey=f.prototype.setKey=function(e){var t;this._keyCheck(e),"dsa"===e.type?(this._dh.setPrivateKey(e.part.x.data),this._dh.setPublicKey(e.part.y.data)):"ecdsa"===e.type?l?(this._dh.setPrivateKey(e.part.d.data),this._dh.setPublicKey(e.part.Q.data)):this._priv=new v(this._ecParams,e.part.d.data):"curve25519"===e.type&&(t=e.part.k,e.part.k||(t=e.part.r),this._priv=t.data,0===this._priv[0]&&(this._priv=this._priv.slice(1)),this._priv=this._priv.slice(0,32)),this._key=e,this._isPriv=!0},f.prototype.computeSecret=function(e){if(this._keyCheck(e,!0),!this._isPriv)throw new Error("DH exchange has not been initialized with a private key yet");var t;if("dsa"===this._algo)return this._dh.computeSecret(e.part.y.data);if("ecdsa"===this._algo)return l?this._dh.computeSecret(e.part.Q.data):(t=new g(this._ecParams,e.part.Q.data),this._priv.deriveSharedSecret(t));if("curve25519"!==this._algo)throw new Error("Invalid algorithm: "+this._algo);for(t=e.part.A.data;0===t[0]&&32<t.length;)t=t.slice(1);return e=this._priv,r.strictEqual(t.length,32),r.strictEqual(e.length,32),e=c.box.before(new Uint8Array(t),new Uint8Array(e)),s.from(e)},f.prototype.generateKeys=f.prototype.generateKey=function(){var e,t,i,n=[];if("dsa"===this._algo)return this._dh.generateKeys(),n.push({name:"p",data:this._p.data}),n.push({name:"q",data:this._key.part.q.data}),n.push({name:"g",data:this._g.data}),n.push({name:"y",data:this._dh.getPublicKey()}),n.push({name:"x",data:this._dh.getPrivateKey()}),this._key=new h({type:"dsa",parts:n}),this._isPriv=!0,this._key;if("ecdsa"===this._algo)return l?(this._dh.generateKeys(),n.push({name:"curve",data:s.from(this._curve)}),n.push({name:"Q",data:this._dh.getPublicKey()}),n.push({name:"d",data:this._dh.getPrivateKey()})):(t=this._ecParams.getN(),e=new d(a.randomBytes(t.bitLength())),t=t.subtract(d.ONE),e=e.mod(t).add(d.ONE),t=this._ecParams.getG().multiply(e),e=s.from(e.toByteArray()),t=s.from(this._ecParams.getCurve().encodePointHex(t),"hex"),this._priv=new v(this._ecParams,e),n.push({name:"curve",data:s.from(this._curve)}),n.push({name:"Q",data:t}),n.push({name:"d",data:e})),this._key=new h({type:"ecdsa",curve:this._curve,parts:n}),this._isPriv=!0,this._key;if("curve25519"===this._algo)return i=c.box.keyPair(),e=s.from(i.secretKey),t=s.from(i.publicKey),e=s.concat([e,t]),r.strictEqual(e.length,64),r.strictEqual(t.length,32),n.push({name:"A",data:t}),n.push({name:"k",data:e}),this._key=new h({type:"curve25519",parts:n}),this._isPriv=!0,this._key;throw new Error("Invalid algorithm: "+this._algo)},m.prototype.getCurve=function(){return this.curve},m.prototype.getG=function(){return this.g},m.prototype.getN=function(){return this.n},m.prototype.getH=function(){return this.h},v.prototype.deriveSharedSecret=function(e){return r.ok(e instanceof g),e=e._pub.multiply(this._priv),s.from(e.getX().toBigInteger().toByteArray())}},function(e,t,i){e.exports={read:function(e,t){return h.read(e,t,"pkcs1")},readPkcs1:function(e,t,i){switch(e){case"RSA":if("public"===t)return function(e){var t=p(e,"modulus");e=p(e,"exponent");return new c({type:"rsa",parts:[{name:"e",data:e},{name:"n",data:t}]})}(i);if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t[0],0),p(e,"modulus")),p(e,"public exponent")),a=p(e,"private exponent"),s=p(e,"prime1"),n=p(e,"prime2"),o=p(e,"exponent1"),c=p(e,"exponent2");e=p(e,"iqmp");return new u({type:"rsa",parts:[{name:"n",data:t},{name:"e",data:i},{name:"d",data:a},{name:"iqmp",data:e},{name:"p",data:s},{name:"q",data:n},{name:"dmodp",data:o},{name:"dmodq",data:c}]})}(i);throw new Error("Unknown key type: "+t);case"DSA":if("public"===t)return function(e){var t=p(e,"y"),i=p(e,"p"),r=p(e,"q");e=p(e,"g");return new c({type:"dsa",parts:[{name:"y",data:t},{name:"p",data:i},{name:"q",data:r},{name:"g",data:e}]})}(i);if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t.readUInt8(0),0),p(e,"p")),p(e,"q")),a=p(e,"g"),s=p(e,"y");e=p(e,"x");return new u({type:"dsa",parts:[{name:"p",data:t},{name:"q",data:i},{name:"g",data:a},{name:"y",data:s},{name:"x",data:e}]})}(i);throw new Error("Unknown key type: "+t);case"EC":case"ECDSA":if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t.readUInt8(0),1),e.readString(a.Ber.OctetString,!0)),e.readSequence(160),l(e));r.string(i,"a known elliptic curve"),e.readSequence(161),e=e.readString(a.Ber.BitString,!0),e=o.ecNormalize(e),i={type:"ecdsa",parts:[{name:"curve",data:s.from(i)},{name:"Q",data:e},{name:"d",data:t}]};return new u(i)}(i);if("public"===t)return function(e){e.readSequence();for(var t,i=e.readOID(),u=(r.strictEqual(i,"1.2.840.10045.2.1","must be ecPublicKey"),e.readOID()),h=Object.keys(n.curves),l=0;l<h.length;++l){var p=h[l];if(n.curves[p].pkcs8oid===u){t=p;break}}return r.string(t,"a known ECDSA named curve"),i=e.readString(a.Ber.BitString,!0),i=o.ecNormalize(i),e={type:"ecdsa",parts:[{name:"curve",data:s.from(t)},{name:"Q",data:i}]},new c(e)}(i);throw new Error("Unknown key type: "+t);case"EDDSA":case"EdDSA":if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t.readUInt8(0),1),e.readString(a.Ber.OctetString,!0)),e.readSequence(160),e.readOID());r.strictEqual(i,"1.3.101.112","the ed25519 curve identifier"),e.readSequence(161),i=o.readBitString(e),e={type:"ed25519",parts:[{name:"A",data:o.zeroPadToLength(i,32)},{name:"k",data:t}]};return new u(e)}(i);throw new Error(t+" keys not supported with EdDSA");default:throw new Error("Unknown key algo: "+e)}},write:function(e,t){return h.write(e,t,"pkcs1")},writePkcs1:function(e,t){switch(e.startSequence(),t.type){case"rsa":(u.isPrivateKey(t)?function(e,t){var i=s.from([0]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.n.data,a.Ber.Integer),e.writeBuffer(t.part.e.data,a.Ber.Integer),e.writeBuffer(t.part.d.data,a.Ber.Integer),e.writeBuffer(t.part.p.data,a.Ber.Integer),e.writeBuffer(t.part.q.data,a.Ber.Integer),t.part.dmodp&&t.part.dmodq||o.addRSAMissing(t),e.writeBuffer(t.part.dmodp.data,a.Ber.Integer),e.writeBuffer(t.part.dmodq.data,a.Ber.Integer),e.writeBuffer(t.part.iqmp.data,a.Ber.Integer)}:function(e,t){e.writeBuffer(t.part.n.data,a.Ber.Integer),e.writeBuffer(t.part.e.data,a.Ber.Integer)})(e,t);break;case"dsa":(u.isPrivateKey(t)?function(e,t){var i=s.from([0]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.p.data,a.Ber.Integer),e.writeBuffer(t.part.q.data,a.Ber.Integer),e.writeBuffer(t.part.g.data,a.Ber.Integer),e.writeBuffer(t.part.y.data,a.Ber.Integer),e.writeBuffer(t.part.x.data,a.Ber.Integer)}:function(e,t){e.writeBuffer(t.part.y.data,a.Ber.Integer),e.writeBuffer(t.part.p.data,a.Ber.Integer),e.writeBuffer(t.part.q.data,a.Ber.Integer),e.writeBuffer(t.part.g.data,a.Ber.Integer)})(e,t);break;case"ecdsa":(u.isPrivateKey(t)?function(e,t){var i=s.from([1]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.d.data,a.Ber.OctetString),e.startSequence(160),i=t.part.curve.data.toString(),i=n.curves[i].pkcs8oid,r.string(i,"a known ECDSA named curve"),e.writeOID(i),e.endSequence(),e.startSequence(161),i=o.ecNormalize(t.part.Q.data,!0);e.writeBuffer(i,a.Ber.BitString),e.endSequence()}:function(e,t){e.startSequence(),e.writeOID("1.2.840.10045.2.1");var i=t.part.curve.data.toString();i=n.curves[i].pkcs8oid,r.string(i,"a known ECDSA named curve"),e.writeOID(i),e.endSequence(),i=o.ecNormalize(t.part.Q.data,!0);e.writeBuffer(i,a.Ber.BitString)})(e,t);break;case"ed25519":u.isPrivateKey(t)?function(e,t){var i=s.from([1]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.k.data,a.Ber.OctetString),e.startSequence(160),e.writeOID("1.3.101.112"),e.endSequence(),e.startSequence(161),o.writeBitString(e,t.part.A.data),e.endSequence()}(e,t):function(){throw new Error("Public keys are not supported for EdDSA PKCS#1")}();break;default:throw new Error("Unknown key algo: "+t.type)}e.endSequence()}};var r=i(10),a=i(58),s=i(12).Buffer,n=i(30),o=i(25),c=i(23),u=i(24),h=i(66),l=i(104).readECDSACurve;function p(e,t){return r.strictEqual(e.peek(),a.Ber.Integer,t+" is not an Integer"),o.mpNormalize(e.readString(a.Ber.Integer,!0))}},function(e,t,i){e.exports={read:function(e,t){"string"!=typeof e&&(r.buffer(e,"buf"),e=e.toString("ascii"));var i=e.split("\n");if(i[0].match(/^Private-key-format\: v1/)){e=i[1].split(" ");var c=parseInt(e[1],10);e=e[2];if(u[c])return function(e,t){if(u[e].match(/^RSA-/))return function(e){var t={};e.forEach((function(e){"Modulus:"===e.split(" ")[0]?t.n=h(e):"PublicExponent:"===e.split(" ")[0]?t.e=h(e):"PrivateExponent:"===e.split(" ")[0]?t.d=h(e):"Prime1:"===e.split(" ")[0]?t.p=h(e):"Prime2:"===e.split(" ")[0]?t.q=h(e):"Exponent1:"===e.split(" ")[0]?t.dmodp=h(e):"Exponent2:"===e.split(" ")[0]?t.dmodq=h(e):"Coefficient:"===e.split(" ")[0]&&(t.iqmp=h(e))})),e={type:"rsa",parts:[{name:"e",data:o.mpNormalize(t.e)},{name:"n",data:o.mpNormalize(t.n)},{name:"d",data:o.mpNormalize(t.d)},{name:"p",data:o.mpNormalize(t.p)},{name:"q",data:o.mpNormalize(t.q)},{name:"dmodp",data:o.mpNormalize(t.dmodp)},{name:"dmodq",data:o.mpNormalize(t.dmodq)},{name:"iqmp",data:o.mpNormalize(t.iqmp)}]};return new n(e)}(t);if("ECDSA-P384-SHA384"!==u[e]&&"ECDSA-P256-SHA256"!==u[e])throw new Error("Unsupported algorithm: "+u[e]);t=a.from(t[0].split(" ")[1],"base64");var i="nistp384",r=384;return"ECDSA-P256-SHA256"===u[e]&&(i="nistp256",r=256),e=o.publicFromPrivateECDSA(i,t).part.Q.data,r={type:"ecdsa",curve:i,size:r,parts:[{name:"curve",data:a.from(i)},{name:"d",data:t},{name:"Q",data:e}]},new n(r)}(c,i.slice(2));throw new Error("Unsupported algorithm: "+e)}for(var l=0;i[l].match(/^\;/);)l++;if(!i[l].match(/\. IN KEY /)&&!i[l].match(/\. IN DNSKEY /)||0!==i[l+1].length)throw new Error("Cannot parse dnssec key");return function(e){e=e.split(" ");var t=parseInt(e[5],10);if(!u[t])throw new Error("Unsupported algorithm: "+t);if(e=e.slice(6,e.length).join(),e=a.from(e,"base64"),u[t].match(/^RSA-/)){if(3!=(r=e.readUInt8(0))&&1!=r)throw new Error("Cannot parse dnssec key: unsupported exponent length");var i=e.slice(1,r+1),r=(i=o.mpNormalize(i),e.slice(1+r)),n=(r=o.mpNormalize(r),{type:"rsa",parts:[]});return n.parts.push({name:"e",data:i}),n.parts.push({name:"n",data:r}),new s(n)}if("ECDSA-P384-SHA384"!==u[t]&&"ECDSA-P256-SHA256"!==u[t])throw new Error("Unsupported algorithm: "+u[t]);return i="nistp384",r=384,u[t].match(/^ECDSA-P256-SHA256/)&&(i="nistp256",r=256),n={type:"ecdsa",curve:i,size:r,parts:[{name:"curve",data:a.from(i)},{name:"Q",data:o.ecNormalize(e)}]},new s(n)}(i[l])},write:function(e,t){if(n.isPrivateKey(e)){if("rsa"===e.type)return function(e,t){e.part.dmodp&&e.part.dmodq||o.addRSAMissing(e);var i="";i=(i+="Private-key-format: v1.3\n")+"Algorithm: "+function(e){if(e&&e.hashAlgo&&"sha1"!==e.hashAlgo){if("sha256"===e.hashAlgo)return"8 (RSASHA256)";if("sha512"===e.hashAlgo)return"10 (RSASHA512)";throw new Error("Unknown or unsupported hash: "+e.hashAlgo)}return"5 (RSASHA1)"}(t)+"\n",t=o.mpDenormalize(e.part.n.data),i+="Modulus: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.e.data),i+="PublicExponent: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.d.data),i+="PrivateExponent: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.p.data),i+="Prime1: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.q.data),i+="Prime2: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.dmodp.data),i+="Exponent1: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.dmodq.data),i+="Exponent2: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.iqmp.data),i+="Coefficient: "+t.toString("base64")+"\n",e=new Date;return i=(i=(i+="Created: "+l(e)+"\n")+"Publish: "+l(e)+"\n")+"Activate: "+l(e)+"\n",a.from(i,"ascii")}(e,t);if("ecdsa"===e.type)return function(e){var t="";if(t+="Private-key-format: v1.3\n","nistp256"===e.curve)t+="Algorithm: 13 (ECDSAP256SHA256)\n";else{if("nistp384"!==e.curve)throw new Error("Unsupported curve");t+="Algorithm: 14 (ECDSAP384SHA384)\n"}return t+="PrivateKey: "+(e=e.part.d.data.toString("base64"))+"\n",t=(t=(t+="Created: "+l(e=new Date)+"\n")+"Publish: "+l(e)+"\n")+"Activate: "+l(e)+"\n",a.from(t,"ascii")}(e);throw new Error("Unsupported algorithm: "+e.type)}throw s.isKey(e)?new Error('Format "dnssec" only supports writing private keys'):new Error("key is not a Key or PrivateKey")}};var r=i(10),a=i(12).Buffer,s=i(23),n=i(24),o=i(25),c=(i(91),i(178),{"rsa-sha1":5,"rsa-sha256":8,"rsa-sha512":10,"ecdsa-p256-sha256":13,"ecdsa-p384-sha384":14}),u={};function h(e){return a.from(e.split(" ")[1],"base64")}function l(e){var t=e.getFullYear()+""+(e.getMonth()+1)+e.getUTCDate();return(t+=""+e.getUTCHours()+e.getUTCMinutes())+e.getUTCSeconds()}Object.keys(c).forEach((function(e){u[c[e]]=e.toUpperCase()}))},function(e,t,i){e.exports={read:function(e,t){for(var i,n,p=e.toString("ascii").split(/[\r\n]+/),d=!1,f=0;f<p.length;)if((i=l(p[f++]))&&(n={"putty-user-key-file-2":2,"putty-user-key-file-3":3}[i[0].toLowerCase()])){d=!0;break}if(!d)throw new Error("No PuTTY format first line found");e=i[1];var m=(i=l(p[f++]),r.equal(i[0].toLowerCase(),"encryption"),i[1]),g=(i=l(p[f++]),r.equal(i[0].toLowerCase(),"comment"),i[1]),v=(i=l(p[f++]),r.equal(i[0].toLowerCase(),"public-lines"),parseInt(i[1],10));if(!isFinite(v)||v<0||v>p.length)throw new Error("Invalid public-lines count");var y,b=a.from(p.slice(f,f+v).join(""),"base64"),w=s.algToKeyType(e);if((b=s.read(b)).type!==w)throw new Error("Outer key algorithm mismatch");if(p[f+=v]){if(i=l(p[f++]),r.equal(i[0].toLowerCase(),"private-lines"),v=parseInt(i[1],10),!isFinite(v)||v<0||v>p.length)throw new Error("Invalid private-lines count");if(v=a.from(p.slice(f,f+v).join(""),"base64"),"none"!==m&&3===n)throw new Error("Encrypted keys arenot supported for PuTTY format version 3");if("aes256-cbc"===m){if(!t.passphrase)throw new h.KeyEncryptedError(t.filename,"PEM");m=a.alloc(16,0),(t=c.createDecipheriv("aes-256-cbc",function(e){var t=c.createHash("sha1").update(a.concat([a.from([0,0,0,0]),a.from(e)])).digest();e=c.createHash("sha1").update(a.concat([a.from([0,0,0,1]),a.from(e)])).digest();return a.concat([t,e]).slice(0,32)}(t.passphrase),m)).setAutoPadding(!1),v=a.concat([t.update(v),t.final()])}if((b=new u(b)).type!==w)throw new Error("Outer key algorithm mismatch");if(m=new o({buffer:v}),"ssh-dss"===e)y=[{name:"x",data:m.readBuffer()}];else if("ssh-rsa"===e)y=[{name:"d",data:m.readBuffer()},{name:"p",data:m.readBuffer()},{name:"q",data:m.readBuffer()},{name:"iqmp",data:m.readBuffer()}];else if(e.match(/^ecdsa-sha2-nistp/))y=[{name:"d",data:m.readBuffer()}];else{if("ssh-ed25519"!==e)throw new Error("Unsupported PPK key type: "+e);y=[{name:"k",data:m.readBuffer()}]}b=new u({type:b.type,parts:b.parts.concat(y)})}return b.comment=g,b},write:function(e,t){var i,o;if(r.object(e),n.isKey(e))return i=s.keyTypeToAlg(e),o=s.write(e),e=e.comment||"",(o=function(e){for(var t=[],i=0;i<e.length;)t.push(e.slice(i,i+64)),i+=64;return t}(o.toString("base64"))).unshift("Public-Lines: "+o.length),o.unshift("Comment: "+e),o.unshift("Encryption: none"),o.unshift("PuTTY-User-Key-File-2: "+i),a.from(o.join("\n")+"\n");throw new Error("Must be a public key")}};var r=i(10),a=i(12).Buffer,s=i(67),n=i(23),o=i(91),c=i(8),u=i(24),h=i(51);function l(e){var t=e.indexOf(":");if(-1===t)return null;var i=e.slice(0,t);for(++t;" "===e[t];)++t;return[i,e.slice(t)]}},function(e,t){function i(e){this.dict=e||{}}i.prototype.set=function(e,t,i){var r,a;if("object"!=typeof e)return void 0===i&&(i=!0),r=this.has(e),!i&&r?this.dict[r]=this.dict[r]+","+t:this.dict[r||e]=t,r;for(a in e)this.set(a,e[a],t)},i.prototype.has=function(e){for(var t=Object.keys(this.dict),i=(e=e.toLowerCase(),0);i<t.length;i++)if(t[i].toLowerCase()===e)return t[i];return!1},i.prototype.get=function(e){e=e.toLowerCase();var t,i,r=this.dict;return Object.keys(r).forEach((function(a){i=a.toLowerCase(),e===i&&(t=r[a])})),t},i.prototype.swap=function(e){var t=this.has(e);if(t!==e){if(!t)throw new Error('There is no header than matches "'+e+'"');this.dict[e]=this.dict[t],delete this.dict[t]}},i.prototype.del=function(e){var t=this.has(e);return delete this.dict[t||e]},e.exports=function(e){return new i(e)},e.exports.httpify=function(e,t){var r=new i(t);return e.setHeader=function(e,t,i){if(void 0!==t)return r.set(e,t,i)},e.hasHeader=function(e){return r.has(e)},e.getHeader=function(e){return r.get(e)},e.removeHeader=function(e){return r.del(e)},e.headers=r.dict,r}},function(e,t,i){"use strict";var r=i(496),a=i(184),s=i(92),n=i(289),o=i(498);function c(e,t,i){var r,a,s,o=this._refs[i];if("string"==typeof o){if(!this._refs[o])return c.call(this,e,t,o);o=this._refs[o]}return(o=o||this._schemas[i])instanceof n?d(o.schema,this._opts.inlineRefs)?o.schema:o.validate||this._compile(o):((o=u.call(this,t,i))&&(r=o.schema,t=o.root,s=o.baseId),r instanceof n?a=r.validate||e.call(this,r.schema,t,void 0,s):void 0!==r&&(a=d(r,this._opts.inlineRefs)?r:e.call(this,r,t,void 0,s)),a)}function u(e,t){var i=r.parse(t),a=m(i),s=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==s){a=v(a);var o=this._refs[a];if("string"==typeof o)return function(e,t,i){var r,a;if(t=u.call(this,e,t))return r=t.schema,a=t.baseId,e=t.root,(t=this._getId(r))&&(a=y(a,t)),l.call(this,i,a,r,e)}.call(this,e,o,i);if(o instanceof n)o.validate||this._compile(o);else{if(!((o=this._schemas[a])instanceof n))return;if(o.validate||this._compile(o),a==v(t))return{schema:o,root:e,baseId:s}}if(!(e=o).schema)return;s=f(this._getId(e.schema))}return l.call(this,i,s,e.schema,e)}(e.exports=c).normalizeId=v,c.fullPath=f,c.url=y,c.ids=function(e){var t=v(this._getId(e)),i={"":t},n={"":f(t,!1)},c={},u=this;return o(e,{allKeys:!0},(function(e,t,o,h,l,p,d){if(""!==t){var f=u._getId(e),m=i[h];h=n[h]+"/"+l;if(void 0!==d&&(h+="/"+("number"==typeof d?d:s.escapeFragment(d))),"string"==typeof f)if(f=m=v(m?r.resolve(m,f):f),(l="string"==typeof(l=u._refs[f])?u._refs[l]:l)&&l.schema){if(!a(e,l.schema))throw new Error('id "'+f+'" resolves to more than one schema')}else if(f!=v(h))if("#"==f[0]){if(c[f]&&!a(e,c[f]))throw new Error('id "'+f+'" resolves to more than one schema');c[f]=e}else u._refs[f]=h;i[t]=m,n[t]=h}})),c},c.inlineRef=d,c.schema=u;var h=s.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function l(e,t,i,r){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var a=e.fragment.split("/"),n=1;n<a.length;n++){var o=a[n];if(o){if(void 0===(i=i[o=s.unescapeFragment(o)]))break;h[o]||((o=this._getId(i))&&(t=y(t,o)),i.$ref&&(o=y(t,i.$ref),o=u.call(this,r,o))&&(i=o.schema,r=o.root,t=o.baseId))}}return void 0!==i&&i!==r.schema?{schema:i,root:r,baseId:t}:void 0}}var p=s.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function d(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var i;if(Array.isArray(t)){for(var r=0;r<t.length;r++)if("object"==typeof(i=t[r])&&!e(i))return!1}else for(var a in t){if("$ref"==a)return!1;if("object"==typeof(i=t[a])&&!e(i))return!1}return!0}(e):t?function e(t){var i,r=0;if(Array.isArray(t)){for(var a=0;a<t.length;a++)if("object"==typeof(i=t[a])&&(r+=e(i)),r==1/0)return 1/0}else for(var s in t){if("$ref"==s)return 1/0;if(p[s])r++;else if("object"==typeof(i=t[s])&&(r+=e(i)+1),r==1/0)return 1/0}return r}(e)<=t:void 0)}function f(e,t){return!1!==t&&(e=v(e)),m(r.parse(e))}function m(e){return r.serialize(e).split("#")[0]+"#"}var g=/#\/?$/;function v(e){return e?e.replace(g,""):""}function y(e,t){return t=v(t),r.resolve(e,t)}},function(e,t,i){"use strict";e.exports=function e(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;var r,a,s;if(Array.isArray(t)){if((r=t.length)!=i.length)return!1;for(a=r;0!=a--;)if(!e(t[a],i[a]))return!1}else{if(t.constructor===RegExp)return t.source===i.source&&t.flags===i.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===i.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===i.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(i).length)return!1;for(a=r;0!=a--;)if(!Object.prototype.hasOwnProperty.call(i,s[a]))return!1;for(a=r;0!=a--;){var n=s[a];if(!e(t[n],i[n]))return!1}}return!0}return t!=t&&i!=i}},function(e,t,i){"use strict";var r=i(183);function a(e,t,i){this.message=i||a.message(e,t),this.missingRef=r.url(e,t),this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function s(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}e.exports={Validation:s((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:s(a)},a.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},function(e,t,i){var r=i(297),a=i(298);e.exports=function(e,t,i){var s=t&&i||0,n=("string"==typeof e&&(t="binary"===e?new Array(16):null,e=null),(e=e||{}).random||(e.rng||r)());if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t)for(var o=0;o<16;++o)t[s+o]=n[o];return t||a(n)}},function(e,t,i){
409
+ */const r=i(0),a=i(99),s=i(2),n=i(19),o=i(1),c=i(4),u=n.opcodes,h=[];let l=null;class p{constructor(e,t){this.value=e||0,this.data=t||null}isMinimal(){if(this.data){if(1===this.data.length){if(129===this.data[0])return!1;if(1<=this.data[0]&&this.data[0]<=16)return!1}if(this.data.length<=75)return this.value===this.data.length;if(this.data.length<=255)return this.value===u.OP_PUSHDATA1;if(this.data.length<=65535)return this.value===u.OP_PUSHDATA2;r(this.value===u.OP_PUSHDATA4)}return!0}isDisabled(){switch(this.value){case u.OP_CAT:case u.OP_SUBSTR:case u.OP_LEFT:case u.OP_RIGHT:case u.OP_INVERT:case u.OP_AND:case u.OP_OR:case u.OP_XOR:case u.OP_2MUL:case u.OP_2DIV:case u.OP_MUL:case u.OP_DIV:case u.OP_MOD:case u.OP_LSHIFT:case u.OP_RSHIFT:return!0}return!1}isBranch(){return this.value>=u.OP_IF&&this.value<=u.OP_ENDIF}equals(e){return r(p.isOpcode(e)),this.value===e.value&&(this.data?(r(e.data),this.data.equals(e.data)):(r(!e.data),!0))}toOp(){return this.value}toData(){return this.data}toLength(){return this.data?this.data.length:-1}toPush(){return this.value===u.OP_0?n.small[1]:this.value===u.OP_1NEGATE?n.small[0]:this.value>=u.OP_1&&this.value<=u.OP_16?n.small[this.value-80+1]:this.toData()}toString(e){var t=this.toPush();return t?t.toString(e||"utf8"):null}toSmall(){return this.value===u.OP_0?0:this.value>=u.OP_1&&this.value<=u.OP_16?this.value-80:-1}toNum(e,t){return this.value===u.OP_0?a.fromInt(0):this.value===u.OP_1NEGATE?a.fromInt(-1):this.value>=u.OP_1&&this.value<=u.OP_16?a.fromInt(this.value-80):this.data?a.decode(this.data,e,t):null}toInt(e,t){return(e=this.toNum(e,t))?e.getInt():-1}toBool(){var e=this.toSmall();return-1!==e&&1===e}toSymbol(){return-1===this.value?"OP_INVALIDOPCODE":n.opcodesByVal[this.value]||"0x"+s.hex8(this.value)}getSize(){if(!this.data)return 1;switch(this.value){case u.OP_PUSHDATA1:return 2+this.data.length;case u.OP_PUSHDATA2:return 3+this.data.length;case u.OP_PUSHDATA4:return 5+this.data.length;default:return 1+this.data.length}}toWriter(e){if(-1===this.value)throw new Error("Cannot reserialize a parse error.");if(this.data)switch(this.value){case u.OP_PUSHDATA1:e.writeU8(this.value),e.writeU8(this.data.length),e.writeBytes(this.data);break;case u.OP_PUSHDATA2:e.writeU8(this.value),e.writeU16(this.data.length),e.writeBytes(this.data);break;case u.OP_PUSHDATA4:e.writeU8(this.value),e.writeU32(this.data.length),e.writeBytes(this.data);break;default:r(this.value===this.data.length),e.writeU8(this.value),e.writeBytes(this.data)}else e.writeU8(this.value);return e}toRaw(){var e=this.getSize();return this.toWriter(new c(e)).render()}toFormat(){if(-1===this.value)return"0x01";if(this.data){if(this.data.length<=4){var e=this.toNum();if(this.equals(p.fromNum(e)))return e.toString(10)}const t=n.opcodesByVal[this.value];if(e=this.data.toString("hex"),!t)return`0x${s.hex8(this.value)} 0x`+e;let i=this.data.length.toString(16);if(i.length%2!=0&&(i="0"+i),i=s.revHex(i),this.data.length<=75)return`${t} 0x${i} 0x`+e;if(this.data.length<=255)return`${t} 0x4c 0x${i} 0x`+e;if(this.data.length<=65535)return`${t} 0x4d 0x${i} 0x`+e;if(this.data.length<=4294967295)return`${t} 0x4e 0x${i} 0x`+e}return n.opcodesByVal[this.value]||"0x"+s.hex8(this.value)}toASM(e){return-1===this.value?"[error]":this.data?n.toASM(this.data,e):n.opcodesByVal[this.value]||"OP_UNKNOWN"}static fromOp(e){return r("number"==typeof e),e=h[e],r(e,"Bad opcode."),e}static fromData(e){if(r(Buffer.isBuffer(e)),1===e.length){if(129===e[0])return p.fromOp(u.OP_1NEGATE);if(1<=e[0]&&e[0]<=16)return p.fromOp(e[0]+80)}return p.fromPush(e)}static fromPush(e){if(r(Buffer.isBuffer(e)),0===e.length)return p.fromOp(u.OP_0);if(e.length<=75)return new p(e.length,e);if(e.length<=255)return new p(u.OP_PUSHDATA1,e);if(e.length<=65535)return new p(u.OP_PUSHDATA2,e);if(e.length<=4294967295)return new p(u.OP_PUSHDATA4,e);throw new Error("Pushdata size too large.")}static fromString(e,t){return r("string"==typeof e),e=Buffer.from(e,t||"utf8"),p.fromData(e)}static fromSmall(e){return r(s.isU8(e)&&0<=e&&e<=16),p.fromOp(0===e?0:e+80)}static fromNum(e){return r(a.isScriptNum(e)),p.fromData(e.encode())}static fromInt(e){return r(s.isInt(e)),0===e?p.fromOp(u.OP_0):-1===e?p.fromOp(u.OP_1NEGATE):1<=e&&e<=16?p.fromOp(e+80):p.fromNum(a.fromNumber(e))}static fromBool(e){return r("boolean"==typeof e),p.fromSmall(e?1:0)}static fromSymbol(e){r("string"==typeof e),r(0<e.length),s.isUpperCase(e)||(e=e.toUpperCase()),s.startsWith(e,"OP_")||(e="OP_"+e);var t=n.opcodes[e];return null!=t||(r(s.startsWith(e,"OP_0X"),"Unknown opcode."),r(7===e.length,"Unknown opcode."),t=parseInt(e.substring(5),16),r(s.isU8(t),"Unknown opcode.")),p.fromOp(t)}static fromReader(e){var t,i=e.readU8(),r=h[i];if(r)return r;switch(i){case u.OP_PUSHDATA1:return e.left()<1?l:(t=e.readU8(),e.left()<t?(e.seek(e.left()),l):(t=e.readBytes(t),new p(i,t)));case u.OP_PUSHDATA2:return e.left()<2?(e.seek(e.left()),l):(t=e.readU16(),e.left()<t?(e.seek(e.left()),l):(t=e.readBytes(t),new p(i,t)));case u.OP_PUSHDATA4:return e.left()<4?(e.seek(e.left()),l):(t=e.readU32(),e.left()<t?(e.seek(e.left()),l):(t=e.readBytes(t),new p(i,t)));default:return e.left()<i?(e.seek(e.left()),l):(t=e.readBytes(i),new p(i,t))}}static fromRaw(e){return p.fromReader(new o(e))}static isOpcode(e){return e instanceof p}}l=Object.freeze(new p(-1));for(let e=0;e<=255;e++){var d;1<=e&&e<=78?h.push(null):(d=new p(e),h.push(Object.freeze(d)))}e.exports=p},function(e,t,i){const r=i(5).ContractStatus;e.exports=class extends class{constructor(e){this.period=e.period}run(e){var t=this.getResult();if(t&&Array.isArray(t)&&t.length<=10)for(var i of t)e.pushInt(i)}getResult(){return[]}}{constructor(e,t){super(e),this.type=e.type,this.addr=e.addr,this.dst=e.dst,this.status=t}getResult(){return this.status===r.Expired||this.status===r.Backed?[1,2]:this.status===r.Confirmed||this.status===r.Exchanged?[2,1]:[]}}},function(e,t,i){"use strict";const r=i(0),a=i(325),s=i(326);function n(e){var t=(i=n.getBackend(e)).backend,i=i.location;return new a(t,i,e)}n.getName=function(e){let t,i;switch(e=e||"memory"){case"ldb":case"leveldb":case"leveldown":t="leveldown",i="ldb";break;case"rdb":case"rocksdb":case"rocksdown":t="rocksdown",i="rdb";break;case"mdb":case"lmdb":t="lmdb",i="mdb";break;case"mem":case"memory":case"rbt":t="memory",i="mem";break;default:t=e,i="db"}return[t,i]},n.getBackend=function(e){var[t,i]=n.getName(e.db),a=s.get(t);let o=e.location;return"string"!=typeof o&&(r("memory"===t,"Location required."),o="memory"),{backend:a,location:o+"."+i}},e.exports=n},function(e,t,i){"use strict";t.AbstractLevelDOWN=i(403),t.AbstractIterator=i(253),t.AbstractChainedBatch=i(254)},function(e,t,i){"use strict";e.exports=process.nextTick},function(e,t,i){e.exports=i(408)(__dirname)},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,i){"use strict";function r(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===c.call(e)}function a(e){if(e&&"[object Object]"===c.call(e)){var t,i=o.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&o.call(e.constructor.prototype,"isPrototypeOf");if(!e.constructor||i||r){for(t in e);return void 0===t||o.call(e,t)}}}function s(e,t){u&&"__proto__"===t.name?u(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue}function n(e,t){if("__proto__"===t){if(!o.call(e,t))return;if(h)return h(e,t).value}return e[t]}var o=Object.prototype.hasOwnProperty,c=Object.prototype.toString,u=Object.defineProperty,h=Object.getOwnPropertyDescriptor;e.exports=function e(){var t,i,o,c,u,h=arguments[0],l=1,p=arguments.length,d=!1;for("boolean"==typeof h&&(d=h,h=arguments[1]||{},l=2),(null==h||"object"!=typeof h&&"function"!=typeof h)&&(h={});l<p;++l)if(null!=(t=arguments[l]))for(i in t)u=n(h,i),h!==(o=n(t,i))&&(d&&o&&(a(o)||(c=r(o)))?s(h,{name:i,newValue:e(d,u=c?(c=!1,u&&r(u)?u:[]):u&&a(u)?u:{},o)}):void 0!==o&&s(h,{name:i,newValue:o}));return h}},function(e,t,i){"use strict";var r=i(458),a=i(8),s=i(40).Buffer;i="undefined"==typeof setImmediate?process.nextTick:setImmediate;t.paramsHaveRequestBody=function(e){return e.body||e.requestBodyStream||e.json&&"boolean"!=typeof e.json||e.multipart},t.safeStringify=function(e,t){var i;try{i=JSON.stringify(e,t)}catch(a){i=r(e,t)}return i},t.md5=function(e){return a.createHash("md5").update(e).digest("hex")},t.isReadStream=function(e){return e.readable&&e.path&&e.mode},t.toBase64=function(e){return s.from(e||"","utf8").toString("base64")},t.copy=function(e){var t={};return Object.keys(e).forEach((function(i){t[i]=e[i]})),t},t.version=function(){var e=process.version.replace("v","").split(".");return{major:parseInt(e[0],10),minor:parseInt(e[1],10),patch:parseInt(e[2],10)}},t.defer=i},function(e,t){e.exports=require("zlib")},function(e,t,i){var r=i(23),a=i(101),s=i(57),n=i(24),o=i(105),c=i(106);i=i(51);e.exports={Key:r,parseKey:r.parse,Fingerprint:a,parseFingerprint:a.parse,Signature:s,parseSignature:s.parse,PrivateKey:n,parsePrivateKey:n.parse,generatePrivateKey:n.generate,Certificate:o,parseCertificate:o.parse,createSelfSignedCertificate:o.createSelfSigned,createCertificate:o.create,Identity:c,identityFromDN:c.parseDN,identityForHost:c.forHost,identityForUser:c.forUser,identityForEmail:c.forEmail,identityFromArray:c.fromArray,FingerprintFormatError:i.FingerprintFormatError,InvalidAlgorithmError:i.InvalidAlgorithmError,KeyParseError:i.KeyParseError,SignatureParseError:i.SignatureParseError,KeyEncryptedError:i.KeyEncryptedError,CertificateParseError:i.CertificateParseError}},function(e,t){e.exports={newInvalidAsn1Error:function(e){var t=new Error;return t.name="InvalidAsn1Error",t.message=e||"",t}}},function(e,t){e.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}},function(e,t,i){e.exports={DiffieHellman:f,generateECDSA:function(e){var t,i,r,n=[];return l?(t={nistp256:"prime256v1",nistp384:"secp384r1",nistp521:"secp521r1"}[e],(t=a.createECDH(t)).generateKeys(),n.push({name:"curve",data:s.from(e)}),n.push({name:"Q",data:t.getPublicKey()}),n.push({name:"d",data:t.getPrivateKey()})):(r=(t=new m(e)).getN(),i=Math.ceil((r.bitLength()+64)/8),i=new d(a.randomBytes(i)),r=r.subtract(d.ONE),i=i.mod(r).add(d.ONE),r=t.getG().multiply(i),i=s.from(i.toByteArray()),r=s.from(t.getCurve().encodePointHex(r),"hex"),n.push({name:"curve",data:s.from(e)}),n.push({name:"Q",data:r}),n.push({name:"d",data:i})),new h({type:"ecdsa",curve:e,parts:n})},generateED25519:function(){var e=c.sign.keyPair(),t=s.from(e.secretKey),i=(e=s.from(e.publicKey),r.strictEqual(t.length,64),r.strictEqual(e.length,32),[]);return i.push({name:"A",data:e}),i.push({name:"k",data:t.slice(0,32)}),new h({type:"ed25519",parts:i})}};var r=i(10),a=i(8),s=i(12).Buffer,n=i(30),o=i(25),c=i(103),u=i(23),h=i(24),l=void 0!==a.createECDH,p=(i(468),i(134)),d=i(102).BigInteger;function f(e){if(o.assertCompatible(e,u,[1,4],"key"),this._isPriv=h.isPrivateKey(e,[1,3]),this._algo=e.type,this._curve=e.curve,"dsa"===(this._key=e).type){if(!l)throw new Error("Due to bugs in the node 0.10 crypto API, node 0.12.x or later is required to use DH");this._dh=a.createDiffieHellman(e.part.p.data,void 0,e.part.g.data,void 0),this._p=e.part.p,this._g=e.part.g,this._isPriv&&this._dh.setPrivateKey(e.part.x.data),this._dh.setPublicKey(e.part.y.data)}else if("ecdsa"===e.type){var t;l?(t={nistp256:"prime256v1",nistp384:"secp384r1",nistp521:"secp521r1"}[e.curve],this._dh=a.createECDH(t),"object"!=typeof this._dh||"function"!=typeof this._dh.setPrivateKey?(l=!1,f.call(this,e)):(this._isPriv&&this._dh.setPrivateKey(e.part.d.data),this._dh.setPublicKey(e.part.Q.data))):(this._ecParams=new m(this._curve),this._isPriv&&(this._priv=new v(this._ecParams,e.part.d.data)))}else{if("curve25519"!==e.type)throw new Error("DH not supported for "+e.type+" keys");this._isPriv&&(o.assertCompatible(e,h,[1,5],"key"),this._priv=e.part.k.data)}}function m(e){e=n.curves[e];var t=(r.object(e),new d(e.p)),i=new d(e.a),a=new d(e.b),s=new d(e.n),o=d.ONE;i=(t=new p.ECCurveFp(t,i,a)).decodePointHex(e.G.toString("hex"));this.curve=t,this.g=i,this.n=s,this.h=o}function g(e,t){this._params=e,0===t[0]&&(t=t.slice(1)),this._pub=e.getCurve().decodePointHex(t.toString("hex"))}function v(e,t){this._params=e,this._priv=new d(o.mpNormalize(t))}f.prototype.getPublicKey=function(){return this._isPriv?this._key.toPublic():this._key},f.prototype.getKey=f.prototype.getPrivateKey=function(){return this._isPriv?this._key:void 0},f.prototype._keyCheck=function(e,t){if(r.object(e,"key"),t||o.assertCompatible(e,h,[1,3],"key"),o.assertCompatible(e,u,[1,4],"key"),e.type!==this._algo)throw new Error("A "+e.type+" key cannot be used in "+this._algo+" Diffie-Hellman");if(e.curve!==this._curve)throw new Error("A key from the "+e.curve+" curve cannot be used with a "+this._curve+" Diffie-Hellman");"dsa"===e.type&&(r.deepEqual(e.part.p,this._p,"DSA key prime does not match"),r.deepEqual(e.part.g,this._g,"DSA key generator does not match"))},f.prototype.setPrivateKey=f.prototype.setKey=function(e){var t;this._keyCheck(e),"dsa"===e.type?(this._dh.setPrivateKey(e.part.x.data),this._dh.setPublicKey(e.part.y.data)):"ecdsa"===e.type?l?(this._dh.setPrivateKey(e.part.d.data),this._dh.setPublicKey(e.part.Q.data)):this._priv=new v(this._ecParams,e.part.d.data):"curve25519"===e.type&&(t=e.part.k,e.part.k||(t=e.part.r),this._priv=t.data,0===this._priv[0]&&(this._priv=this._priv.slice(1)),this._priv=this._priv.slice(0,32)),this._key=e,this._isPriv=!0},f.prototype.computeSecret=function(e){if(this._keyCheck(e,!0),!this._isPriv)throw new Error("DH exchange has not been initialized with a private key yet");var t;if("dsa"===this._algo)return this._dh.computeSecret(e.part.y.data);if("ecdsa"===this._algo)return l?this._dh.computeSecret(e.part.Q.data):(t=new g(this._ecParams,e.part.Q.data),this._priv.deriveSharedSecret(t));if("curve25519"!==this._algo)throw new Error("Invalid algorithm: "+this._algo);for(t=e.part.A.data;0===t[0]&&32<t.length;)t=t.slice(1);return e=this._priv,r.strictEqual(t.length,32),r.strictEqual(e.length,32),e=c.box.before(new Uint8Array(t),new Uint8Array(e)),s.from(e)},f.prototype.generateKeys=f.prototype.generateKey=function(){var e,t,i,n=[];if("dsa"===this._algo)return this._dh.generateKeys(),n.push({name:"p",data:this._p.data}),n.push({name:"q",data:this._key.part.q.data}),n.push({name:"g",data:this._g.data}),n.push({name:"y",data:this._dh.getPublicKey()}),n.push({name:"x",data:this._dh.getPrivateKey()}),this._key=new h({type:"dsa",parts:n}),this._isPriv=!0,this._key;if("ecdsa"===this._algo)return l?(this._dh.generateKeys(),n.push({name:"curve",data:s.from(this._curve)}),n.push({name:"Q",data:this._dh.getPublicKey()}),n.push({name:"d",data:this._dh.getPrivateKey()})):(t=this._ecParams.getN(),e=new d(a.randomBytes(t.bitLength())),t=t.subtract(d.ONE),e=e.mod(t).add(d.ONE),t=this._ecParams.getG().multiply(e),e=s.from(e.toByteArray()),t=s.from(this._ecParams.getCurve().encodePointHex(t),"hex"),this._priv=new v(this._ecParams,e),n.push({name:"curve",data:s.from(this._curve)}),n.push({name:"Q",data:t}),n.push({name:"d",data:e})),this._key=new h({type:"ecdsa",curve:this._curve,parts:n}),this._isPriv=!0,this._key;if("curve25519"===this._algo)return i=c.box.keyPair(),e=s.from(i.secretKey),t=s.from(i.publicKey),e=s.concat([e,t]),r.strictEqual(e.length,64),r.strictEqual(t.length,32),n.push({name:"A",data:t}),n.push({name:"k",data:e}),this._key=new h({type:"curve25519",parts:n}),this._isPriv=!0,this._key;throw new Error("Invalid algorithm: "+this._algo)},m.prototype.getCurve=function(){return this.curve},m.prototype.getG=function(){return this.g},m.prototype.getN=function(){return this.n},m.prototype.getH=function(){return this.h},v.prototype.deriveSharedSecret=function(e){return r.ok(e instanceof g),e=e._pub.multiply(this._priv),s.from(e.getX().toBigInteger().toByteArray())}},function(e,t,i){e.exports={read:function(e,t){return h.read(e,t,"pkcs1")},readPkcs1:function(e,t,i){switch(e){case"RSA":if("public"===t)return function(e){var t=p(e,"modulus");e=p(e,"exponent");return new c({type:"rsa",parts:[{name:"e",data:e},{name:"n",data:t}]})}(i);if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t[0],0),p(e,"modulus")),p(e,"public exponent")),a=p(e,"private exponent"),s=p(e,"prime1"),n=p(e,"prime2"),o=p(e,"exponent1"),c=p(e,"exponent2");e=p(e,"iqmp");return new u({type:"rsa",parts:[{name:"n",data:t},{name:"e",data:i},{name:"d",data:a},{name:"iqmp",data:e},{name:"p",data:s},{name:"q",data:n},{name:"dmodp",data:o},{name:"dmodq",data:c}]})}(i);throw new Error("Unknown key type: "+t);case"DSA":if("public"===t)return function(e){var t=p(e,"y"),i=p(e,"p"),r=p(e,"q");e=p(e,"g");return new c({type:"dsa",parts:[{name:"y",data:t},{name:"p",data:i},{name:"q",data:r},{name:"g",data:e}]})}(i);if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t.readUInt8(0),0),p(e,"p")),p(e,"q")),a=p(e,"g"),s=p(e,"y");e=p(e,"x");return new u({type:"dsa",parts:[{name:"p",data:t},{name:"q",data:i},{name:"g",data:a},{name:"y",data:s},{name:"x",data:e}]})}(i);throw new Error("Unknown key type: "+t);case"EC":case"ECDSA":if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t.readUInt8(0),1),e.readString(a.Ber.OctetString,!0)),e.readSequence(160),l(e));r.string(i,"a known elliptic curve"),e.readSequence(161),e=e.readString(a.Ber.BitString,!0),e=o.ecNormalize(e),i={type:"ecdsa",parts:[{name:"curve",data:s.from(i)},{name:"Q",data:e},{name:"d",data:t}]};return new u(i)}(i);if("public"===t)return function(e){e.readSequence();for(var t,i=e.readOID(),u=(r.strictEqual(i,"1.2.840.10045.2.1","must be ecPublicKey"),e.readOID()),h=Object.keys(n.curves),l=0;l<h.length;++l){var p=h[l];if(n.curves[p].pkcs8oid===u){t=p;break}}return r.string(t,"a known ECDSA named curve"),i=e.readString(a.Ber.BitString,!0),i=o.ecNormalize(i),e={type:"ecdsa",parts:[{name:"curve",data:s.from(t)},{name:"Q",data:i}]},new c(e)}(i);throw new Error("Unknown key type: "+t);case"EDDSA":case"EdDSA":if("private"===t)return function(e){var t=p(e,"version"),i=(t=(r.strictEqual(t.readUInt8(0),1),e.readString(a.Ber.OctetString,!0)),e.readSequence(160),e.readOID());r.strictEqual(i,"1.3.101.112","the ed25519 curve identifier"),e.readSequence(161),i=o.readBitString(e),e={type:"ed25519",parts:[{name:"A",data:o.zeroPadToLength(i,32)},{name:"k",data:t}]};return new u(e)}(i);throw new Error(t+" keys not supported with EdDSA");default:throw new Error("Unknown key algo: "+e)}},write:function(e,t){return h.write(e,t,"pkcs1")},writePkcs1:function(e,t){switch(e.startSequence(),t.type){case"rsa":(u.isPrivateKey(t)?function(e,t){var i=s.from([0]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.n.data,a.Ber.Integer),e.writeBuffer(t.part.e.data,a.Ber.Integer),e.writeBuffer(t.part.d.data,a.Ber.Integer),e.writeBuffer(t.part.p.data,a.Ber.Integer),e.writeBuffer(t.part.q.data,a.Ber.Integer),t.part.dmodp&&t.part.dmodq||o.addRSAMissing(t),e.writeBuffer(t.part.dmodp.data,a.Ber.Integer),e.writeBuffer(t.part.dmodq.data,a.Ber.Integer),e.writeBuffer(t.part.iqmp.data,a.Ber.Integer)}:function(e,t){e.writeBuffer(t.part.n.data,a.Ber.Integer),e.writeBuffer(t.part.e.data,a.Ber.Integer)})(e,t);break;case"dsa":(u.isPrivateKey(t)?function(e,t){var i=s.from([0]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.p.data,a.Ber.Integer),e.writeBuffer(t.part.q.data,a.Ber.Integer),e.writeBuffer(t.part.g.data,a.Ber.Integer),e.writeBuffer(t.part.y.data,a.Ber.Integer),e.writeBuffer(t.part.x.data,a.Ber.Integer)}:function(e,t){e.writeBuffer(t.part.y.data,a.Ber.Integer),e.writeBuffer(t.part.p.data,a.Ber.Integer),e.writeBuffer(t.part.q.data,a.Ber.Integer),e.writeBuffer(t.part.g.data,a.Ber.Integer)})(e,t);break;case"ecdsa":(u.isPrivateKey(t)?function(e,t){var i=s.from([1]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.d.data,a.Ber.OctetString),e.startSequence(160),i=t.part.curve.data.toString(),i=n.curves[i].pkcs8oid,r.string(i,"a known ECDSA named curve"),e.writeOID(i),e.endSequence(),e.startSequence(161),i=o.ecNormalize(t.part.Q.data,!0);e.writeBuffer(i,a.Ber.BitString),e.endSequence()}:function(e,t){e.startSequence(),e.writeOID("1.2.840.10045.2.1");var i=t.part.curve.data.toString();i=n.curves[i].pkcs8oid,r.string(i,"a known ECDSA named curve"),e.writeOID(i),e.endSequence(),i=o.ecNormalize(t.part.Q.data,!0);e.writeBuffer(i,a.Ber.BitString)})(e,t);break;case"ed25519":u.isPrivateKey(t)?function(e,t){var i=s.from([1]);e.writeBuffer(i,a.Ber.Integer),e.writeBuffer(t.part.k.data,a.Ber.OctetString),e.startSequence(160),e.writeOID("1.3.101.112"),e.endSequence(),e.startSequence(161),o.writeBitString(e,t.part.A.data),e.endSequence()}(e,t):function(){throw new Error("Public keys are not supported for EdDSA PKCS#1")}();break;default:throw new Error("Unknown key algo: "+t.type)}e.endSequence()}};var r=i(10),a=i(58),s=i(12).Buffer,n=i(30),o=i(25),c=i(23),u=i(24),h=i(66),l=i(104).readECDSACurve;function p(e,t){return r.strictEqual(e.peek(),a.Ber.Integer,t+" is not an Integer"),o.mpNormalize(e.readString(a.Ber.Integer,!0))}},function(e,t,i){e.exports={read:function(e,t){"string"!=typeof e&&(r.buffer(e,"buf"),e=e.toString("ascii"));var i=e.split("\n");if(i[0].match(/^Private-key-format\: v1/)){e=i[1].split(" ");var c=parseInt(e[1],10);e=e[2];if(u[c])return function(e,t){if(u[e].match(/^RSA-/))return function(e){var t={};e.forEach((function(e){"Modulus:"===e.split(" ")[0]?t.n=h(e):"PublicExponent:"===e.split(" ")[0]?t.e=h(e):"PrivateExponent:"===e.split(" ")[0]?t.d=h(e):"Prime1:"===e.split(" ")[0]?t.p=h(e):"Prime2:"===e.split(" ")[0]?t.q=h(e):"Exponent1:"===e.split(" ")[0]?t.dmodp=h(e):"Exponent2:"===e.split(" ")[0]?t.dmodq=h(e):"Coefficient:"===e.split(" ")[0]&&(t.iqmp=h(e))})),e={type:"rsa",parts:[{name:"e",data:o.mpNormalize(t.e)},{name:"n",data:o.mpNormalize(t.n)},{name:"d",data:o.mpNormalize(t.d)},{name:"p",data:o.mpNormalize(t.p)},{name:"q",data:o.mpNormalize(t.q)},{name:"dmodp",data:o.mpNormalize(t.dmodp)},{name:"dmodq",data:o.mpNormalize(t.dmodq)},{name:"iqmp",data:o.mpNormalize(t.iqmp)}]};return new n(e)}(t);if("ECDSA-P384-SHA384"!==u[e]&&"ECDSA-P256-SHA256"!==u[e])throw new Error("Unsupported algorithm: "+u[e]);t=a.from(t[0].split(" ")[1],"base64");var i="nistp384",r=384;return"ECDSA-P256-SHA256"===u[e]&&(i="nistp256",r=256),e=o.publicFromPrivateECDSA(i,t).part.Q.data,r={type:"ecdsa",curve:i,size:r,parts:[{name:"curve",data:a.from(i)},{name:"d",data:t},{name:"Q",data:e}]},new n(r)}(c,i.slice(2));throw new Error("Unsupported algorithm: "+e)}for(var l=0;i[l].match(/^\;/);)l++;if(!i[l].match(/\. IN KEY /)&&!i[l].match(/\. IN DNSKEY /)||0!==i[l+1].length)throw new Error("Cannot parse dnssec key");return function(e){e=e.split(" ");var t=parseInt(e[5],10);if(!u[t])throw new Error("Unsupported algorithm: "+t);if(e=e.slice(6,e.length).join(),e=a.from(e,"base64"),u[t].match(/^RSA-/)){if(3!=(r=e.readUInt8(0))&&1!=r)throw new Error("Cannot parse dnssec key: unsupported exponent length");var i=e.slice(1,r+1),r=(i=o.mpNormalize(i),e.slice(1+r)),n=(r=o.mpNormalize(r),{type:"rsa",parts:[]});return n.parts.push({name:"e",data:i}),n.parts.push({name:"n",data:r}),new s(n)}if("ECDSA-P384-SHA384"!==u[t]&&"ECDSA-P256-SHA256"!==u[t])throw new Error("Unsupported algorithm: "+u[t]);return i="nistp384",r=384,u[t].match(/^ECDSA-P256-SHA256/)&&(i="nistp256",r=256),n={type:"ecdsa",curve:i,size:r,parts:[{name:"curve",data:a.from(i)},{name:"Q",data:o.ecNormalize(e)}]},new s(n)}(i[l])},write:function(e,t){if(n.isPrivateKey(e)){if("rsa"===e.type)return function(e,t){e.part.dmodp&&e.part.dmodq||o.addRSAMissing(e);var i="";i=(i+="Private-key-format: v1.3\n")+"Algorithm: "+function(e){if(e&&e.hashAlgo&&"sha1"!==e.hashAlgo){if("sha256"===e.hashAlgo)return"8 (RSASHA256)";if("sha512"===e.hashAlgo)return"10 (RSASHA512)";throw new Error("Unknown or unsupported hash: "+e.hashAlgo)}return"5 (RSASHA1)"}(t)+"\n",t=o.mpDenormalize(e.part.n.data),i+="Modulus: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.e.data),i+="PublicExponent: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.d.data),i+="PrivateExponent: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.p.data),i+="Prime1: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.q.data),i+="Prime2: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.dmodp.data),i+="Exponent1: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.dmodq.data),i+="Exponent2: "+t.toString("base64")+"\n",t=o.mpDenormalize(e.part.iqmp.data),i+="Coefficient: "+t.toString("base64")+"\n",e=new Date;return i=(i=(i+="Created: "+l(e)+"\n")+"Publish: "+l(e)+"\n")+"Activate: "+l(e)+"\n",a.from(i,"ascii")}(e,t);if("ecdsa"===e.type)return function(e){var t="";if(t+="Private-key-format: v1.3\n","nistp256"===e.curve)t+="Algorithm: 13 (ECDSAP256SHA256)\n";else{if("nistp384"!==e.curve)throw new Error("Unsupported curve");t+="Algorithm: 14 (ECDSAP384SHA384)\n"}return t+="PrivateKey: "+(e=e.part.d.data.toString("base64"))+"\n",t=(t=(t+="Created: "+l(e=new Date)+"\n")+"Publish: "+l(e)+"\n")+"Activate: "+l(e)+"\n",a.from(t,"ascii")}(e);throw new Error("Unsupported algorithm: "+e.type)}throw s.isKey(e)?new Error('Format "dnssec" only supports writing private keys'):new Error("key is not a Key or PrivateKey")}};var r=i(10),a=i(12).Buffer,s=i(23),n=i(24),o=i(25),c=(i(91),i(178),{"rsa-sha1":5,"rsa-sha256":8,"rsa-sha512":10,"ecdsa-p256-sha256":13,"ecdsa-p384-sha384":14}),u={};function h(e){return a.from(e.split(" ")[1],"base64")}function l(e){var t=e.getFullYear()+""+(e.getMonth()+1)+e.getUTCDate();return(t+=""+e.getUTCHours()+e.getUTCMinutes())+e.getUTCSeconds()}Object.keys(c).forEach((function(e){u[c[e]]=e.toUpperCase()}))},function(e,t,i){e.exports={read:function(e,t){for(var i,n,p=e.toString("ascii").split(/[\r\n]+/),d=!1,f=0;f<p.length;)if((i=l(p[f++]))&&(n={"putty-user-key-file-2":2,"putty-user-key-file-3":3}[i[0].toLowerCase()])){d=!0;break}if(!d)throw new Error("No PuTTY format first line found");e=i[1];var m=(i=l(p[f++]),r.equal(i[0].toLowerCase(),"encryption"),i[1]),g=(i=l(p[f++]),r.equal(i[0].toLowerCase(),"comment"),i[1]),v=(i=l(p[f++]),r.equal(i[0].toLowerCase(),"public-lines"),parseInt(i[1],10));if(!isFinite(v)||v<0||v>p.length)throw new Error("Invalid public-lines count");var y,b=a.from(p.slice(f,f+v).join(""),"base64"),w=s.algToKeyType(e);if((b=s.read(b)).type!==w)throw new Error("Outer key algorithm mismatch");if(p[f+=v]){if(i=l(p[f++]),r.equal(i[0].toLowerCase(),"private-lines"),v=parseInt(i[1],10),!isFinite(v)||v<0||v>p.length)throw new Error("Invalid private-lines count");if(v=a.from(p.slice(f,f+v).join(""),"base64"),"none"!==m&&3===n)throw new Error("Encrypted keys arenot supported for PuTTY format version 3");if("aes256-cbc"===m){if(!t.passphrase)throw new h.KeyEncryptedError(t.filename,"PEM");m=a.alloc(16,0),(t=c.createDecipheriv("aes-256-cbc",function(e){var t=c.createHash("sha1").update(a.concat([a.from([0,0,0,0]),a.from(e)])).digest();e=c.createHash("sha1").update(a.concat([a.from([0,0,0,1]),a.from(e)])).digest();return a.concat([t,e]).slice(0,32)}(t.passphrase),m)).setAutoPadding(!1),v=a.concat([t.update(v),t.final()])}if((b=new u(b)).type!==w)throw new Error("Outer key algorithm mismatch");if(m=new o({buffer:v}),"ssh-dss"===e)y=[{name:"x",data:m.readBuffer()}];else if("ssh-rsa"===e)y=[{name:"d",data:m.readBuffer()},{name:"p",data:m.readBuffer()},{name:"q",data:m.readBuffer()},{name:"iqmp",data:m.readBuffer()}];else if(e.match(/^ecdsa-sha2-nistp/))y=[{name:"d",data:m.readBuffer()}];else{if("ssh-ed25519"!==e)throw new Error("Unsupported PPK key type: "+e);y=[{name:"k",data:m.readBuffer()}]}b=new u({type:b.type,parts:b.parts.concat(y)})}return b.comment=g,b},write:function(e,t){var i,o;if(r.object(e),n.isKey(e))return i=s.keyTypeToAlg(e),o=s.write(e),e=e.comment||"",(o=function(e){for(var t=[],i=0;i<e.length;)t.push(e.slice(i,i+64)),i+=64;return t}(o.toString("base64"))).unshift("Public-Lines: "+o.length),o.unshift("Comment: "+e),o.unshift("Encryption: none"),o.unshift("PuTTY-User-Key-File-2: "+i),a.from(o.join("\n")+"\n");throw new Error("Must be a public key")}};var r=i(10),a=i(12).Buffer,s=i(67),n=i(23),o=i(91),c=i(8),u=i(24),h=i(51);function l(e){var t=e.indexOf(":");if(-1===t)return null;var i=e.slice(0,t);for(++t;" "===e[t];)++t;return[i,e.slice(t)]}},function(e,t){function i(e){this.dict=e||{}}i.prototype.set=function(e,t,i){var r,a;if("object"!=typeof e)return void 0===i&&(i=!0),r=this.has(e),!i&&r?this.dict[r]=this.dict[r]+","+t:this.dict[r||e]=t,r;for(a in e)this.set(a,e[a],t)},i.prototype.has=function(e){for(var t=Object.keys(this.dict),i=(e=e.toLowerCase(),0);i<t.length;i++)if(t[i].toLowerCase()===e)return t[i];return!1},i.prototype.get=function(e){e=e.toLowerCase();var t,i,r=this.dict;return Object.keys(r).forEach((function(a){i=a.toLowerCase(),e===i&&(t=r[a])})),t},i.prototype.swap=function(e){var t=this.has(e);if(t!==e){if(!t)throw new Error('There is no header than matches "'+e+'"');this.dict[e]=this.dict[t],delete this.dict[t]}},i.prototype.del=function(e){var t=this.has(e);return delete this.dict[t||e]},e.exports=function(e){return new i(e)},e.exports.httpify=function(e,t){var r=new i(t);return e.setHeader=function(e,t,i){if(void 0!==t)return r.set(e,t,i)},e.hasHeader=function(e){return r.has(e)},e.getHeader=function(e){return r.get(e)},e.removeHeader=function(e){return r.del(e)},e.headers=r.dict,r}},function(e,t,i){"use strict";var r=i(496),a=i(184),s=i(92),n=i(289),o=i(498);function c(e,t,i){var r,a,s,o=this._refs[i];if("string"==typeof o){if(!this._refs[o])return c.call(this,e,t,o);o=this._refs[o]}return(o=o||this._schemas[i])instanceof n?d(o.schema,this._opts.inlineRefs)?o.schema:o.validate||this._compile(o):((o=u.call(this,t,i))&&(r=o.schema,t=o.root,s=o.baseId),r instanceof n?a=r.validate||e.call(this,r.schema,t,void 0,s):void 0!==r&&(a=d(r,this._opts.inlineRefs)?r:e.call(this,r,t,void 0,s)),a)}function u(e,t){var i=r.parse(t),a=m(i),s=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||a!==s){a=v(a);var o=this._refs[a];if("string"==typeof o)return function(e,t,i){var r,a;if(t=u.call(this,e,t))return r=t.schema,a=t.baseId,e=t.root,(t=this._getId(r))&&(a=y(a,t)),l.call(this,i,a,r,e)}.call(this,e,o,i);if(o instanceof n)o.validate||this._compile(o);else{if(!((o=this._schemas[a])instanceof n))return;if(o.validate||this._compile(o),a==v(t))return{schema:o,root:e,baseId:s}}if(!(e=o).schema)return;s=f(this._getId(e.schema))}return l.call(this,i,s,e.schema,e)}(e.exports=c).normalizeId=v,c.fullPath=f,c.url=y,c.ids=function(e){var t=v(this._getId(e)),i={"":t},n={"":f(t,!1)},c={},u=this;return o(e,{allKeys:!0},(function(e,t,o,h,l,p,d){if(""!==t){var f=u._getId(e),m=i[h];h=n[h]+"/"+l;if(void 0!==d&&(h+="/"+("number"==typeof d?d:s.escapeFragment(d))),"string"==typeof f)if(f=m=v(m?r.resolve(m,f):f),(l="string"==typeof(l=u._refs[f])?u._refs[l]:l)&&l.schema){if(!a(e,l.schema))throw new Error('id "'+f+'" resolves to more than one schema')}else if(f!=v(h))if("#"==f[0]){if(c[f]&&!a(e,c[f]))throw new Error('id "'+f+'" resolves to more than one schema');c[f]=e}else u._refs[f]=h;i[t]=m,n[t]=h}})),c},c.inlineRef=d,c.schema=u;var h=s.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function l(e,t,i,r){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var a=e.fragment.split("/"),n=1;n<a.length;n++){var o=a[n];if(o){if(void 0===(i=i[o=s.unescapeFragment(o)]))break;h[o]||((o=this._getId(i))&&(t=y(t,o)),i.$ref&&(o=y(t,i.$ref),o=u.call(this,r,o))&&(i=o.schema,r=o.root,t=o.baseId))}}return void 0!==i&&i!==r.schema?{schema:i,root:r,baseId:t}:void 0}}var p=s.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function d(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var i;if(Array.isArray(t)){for(var r=0;r<t.length;r++)if("object"==typeof(i=t[r])&&!e(i))return!1}else for(var a in t){if("$ref"==a)return!1;if("object"==typeof(i=t[a])&&!e(i))return!1}return!0}(e):t?function e(t){var i,r=0;if(Array.isArray(t)){for(var a=0;a<t.length;a++)if("object"==typeof(i=t[a])&&(r+=e(i)),r==1/0)return 1/0}else for(var s in t){if("$ref"==s)return 1/0;if(p[s])r++;else if("object"==typeof(i=t[s])&&(r+=e(i)+1),r==1/0)return 1/0}return r}(e)<=t:void 0)}function f(e,t){return!1!==t&&(e=v(e)),m(r.parse(e))}function m(e){return r.serialize(e).split("#")[0]+"#"}var g=/#\/?$/;function v(e){return e?e.replace(g,""):""}function y(e,t){return t=v(t),r.resolve(e,t)}},function(e,t,i){"use strict";e.exports=function e(t,i){if(t===i)return!0;if(t&&i&&"object"==typeof t&&"object"==typeof i){if(t.constructor!==i.constructor)return!1;var r,a,s;if(Array.isArray(t)){if((r=t.length)!=i.length)return!1;for(a=r;0!=a--;)if(!e(t[a],i[a]))return!1}else{if(t.constructor===RegExp)return t.source===i.source&&t.flags===i.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===i.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===i.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(i).length)return!1;for(a=r;0!=a--;)if(!Object.prototype.hasOwnProperty.call(i,s[a]))return!1;for(a=r;0!=a--;){var n=s[a];if(!e(t[n],i[n]))return!1}}return!0}return t!=t&&i!=i}},function(e,t,i){"use strict";var r=i(183);function a(e,t,i){this.message=i||a.message(e,t),this.missingRef=r.url(e,t),this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function s(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e}e.exports={Validation:s((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:s(a)},a.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},function(e,t,i){var r=i(297),a=i(298);e.exports=function(e,t,i){var s=t&&i||0,n=("string"==typeof e&&(t="binary"===e?new Array(16):null,e=null),(e=e||{}).random||(e.rng||r)());if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t)for(var o=0;o<16;++o)t[s+o]=n[o];return t||a(n)}},function(e,t,i){
410
410
  /*!
411
411
  * selector.js
412
412
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -552,7 +552,7 @@ const r=i(5).ContractType;e.exports=function(e){if(!e)return i(188);switch(e.ope
552
552
  * program.js - program object for vallnet
553
553
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
554
554
  * https://github.com/bookmansoft/gamegold
555
- */const r=i(0),a=i(2),s=i(19),n=s.types;e.exports=class{constructor(e,t){r(a.isU8(e)),r(0<=e&&e<=16),r(Buffer.isBuffer(t)),r(2<=t.length&&t.length<=40),this.version=e,this.data=t}getType(){return 0===this.version?20===this.data.length?n.WITNESSPUBKEYHASH:32===this.data.length?n.WITNESSSCRIPTHASH:n.WITNESSMALFORMED:1===this.version?32===this.data.length?n.WITNESSMASTHASH:n.WITNESSMALFORMED:n.NONSTANDARD}isUnknown(){var e=this.getType();return e===n.WITNESSMALFORMED||e===n.NONSTANDARD}isMalformed(){return this.getType()===n.WITNESSMALFORMED}inspect(){var e=this.data.toString("hex"),t=s.typesByVal[this.getType()].toLowerCase();return`<Program: version=${this.version} data=${e} type=${t}>`}}},function(e){e.exports=JSON.parse('{"COMPRESSED_TYPE_INVALID":"compressed should be a boolean","EC_PRIVATE_KEY_TYPE_INVALID":"private key should be a Buffer","EC_PRIVATE_KEY_LENGTH_INVALID":"private key length is invalid","EC_PRIVATE_KEY_RANGE_INVALID":"private key range is invalid","EC_PRIVATE_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting private key is invalid","EC_PRIVATE_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PRIVATE_KEY_EXPORT_DER_FAIL":"couldn\'t export to DER format","EC_PRIVATE_KEY_IMPORT_DER_FAIL":"couldn\'t import from DER format","EC_PUBLIC_KEYS_TYPE_INVALID":"public keys should be an Array","EC_PUBLIC_KEYS_LENGTH_INVALID":"public keys Array should have at least 1 element","EC_PUBLIC_KEY_TYPE_INVALID":"public key should be a Buffer","EC_PUBLIC_KEY_LENGTH_INVALID":"public key length is invalid","EC_PUBLIC_KEY_PARSE_FAIL":"the public key could not be parsed or is invalid","EC_PUBLIC_KEY_CREATE_FAIL":"private was invalid, try again","EC_PUBLIC_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting public key is invalid","EC_PUBLIC_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PUBLIC_KEY_COMBINE_FAIL":"the sum of the public keys is not valid","ECDH_FAIL":"scalar was invalid (zero or overflow)","ECDSA_SIGNATURE_TYPE_INVALID":"signature should be a Buffer","ECDSA_SIGNATURE_LENGTH_INVALID":"signature length is invalid","ECDSA_SIGNATURE_PARSE_FAIL":"couldn\'t parse signature","ECDSA_SIGNATURE_PARSE_DER_FAIL":"couldn\'t parse DER signature","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL":"couldn\'t serialize signature to DER format","ECDSA_SIGN_FAIL":"nonce generation function failed or private key is invalid","ECDSA_RECOVER_FAIL":"couldn\'t recover public key from signature","MSG32_TYPE_INVALID":"message should be a Buffer","MSG32_LENGTH_INVALID":"message length is invalid","OPTIONS_TYPE_INVALID":"options should be an Object","OPTIONS_DATA_TYPE_INVALID":"options.data should be a Buffer","OPTIONS_DATA_LENGTH_INVALID":"options.data length is invalid","OPTIONS_NONCEFN_TYPE_INVALID":"options.noncefn should be a Function","RECOVERY_ID_TYPE_INVALID":"recovery should be a Number","RECOVERY_ID_VALUE_INVALID":"recovery should have value between -1 and 4","TWEAK_TYPE_INVALID":"tweak should be a Buffer","TWEAK_LENGTH_INVALID":"tweak length is invalid"}')},function(e,t,i){"use strict";function r(e){return 1===e.length?"0"+e:e}function a(e){for(var t="",i=0;i<e.length;i++)t+=r(e[i].toString(16));return t}t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var i=[];if("string"!=typeof e)for(var r=0;r<e.length;r++)i[r]=0|e[r];else if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r<e.length;r+=2)i.push(parseInt(e[r]+e[r+1],16));else for(r=0;r<e.length;r++){var a=(s=e.charCodeAt(r))>>8,s=255&s;a?i.push(a,s):i.push(s)}return i},t.zero2=r,t.toHex=a,t.encode=function(e,t){return"hex"===t?a(e):e}},function(e,t,i){var r;function a(e){this.rand=e}if(e.exports=function(e){return(r=r||new a(null)).generate(e)},(e.exports.Rand=a).prototype.generate=function(e){return this._rand(e)},a.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),i=0;i<t.length;i++)t[i]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?a.prototype._rand=function(e){return e=new Uint8Array(e),self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?a.prototype._rand=function(e){return e=new Uint8Array(e),self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(a.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var s=i(8);if("function"!=typeof s.randomBytes)throw new Error("Not supported");a.prototype._rand=function(e){return s.randomBytes(e)}}catch(e){}},function(e,t,i){"use strict";t.base=i(127),t.short=i(375),t.mont=i(377),t.edwards=i(378)},function(e,t,i){"use strict";var r=i(49).rotr32;function a(e,t,i){return e&t^~e&i}function s(e,t,i){return e&t^e&i^t&i}t.ft_1=function(e,t,i,r){return 0===e?a(t,i,r):1===e||3===e?t^i^r:2===e?s(t,i,r):void 0},t.ch32=a,t.maj32=s,t.p32=function(e,t,i){return e^t^i},t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,i){"use strict";var r=i(49),a=i(98),s=i(242),n=i(74),o=r.sum32,c=r.sum32_4,u=r.sum32_5,h=s.ch32,l=s.maj32,p=s.s0_256,d=s.s1_256,f=s.g0_256,m=s.g1_256,g=a.BlockHash,v=[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];function y(){if(!(this instanceof y))return new y;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}r.inherits(y,g),(e.exports=y).blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r<i.length;r++)i[r]=c(m(i[r-2]),i[r-7],f(i[r-15]),i[r-16]);var a=this.h[0],s=this.h[1],g=this.h[2],v=this.h[3],y=this.h[4],b=this.h[5],w=this.h[6],x=this.h[7];for(n(this.k.length===i.length),r=0;r<i.length;r++){var k=u(x,d(y),h(y,b,w),this.k[r],i[r]),S=o(p(a),l(a,s,g));x=w,w=b,b=y,y=o(v,k),v=g,g=s,s=a,a=o(k,S)}this.h[0]=o(this.h[0],a),this.h[1]=o(this.h[1],s),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],v),this.h[4]=o(this.h[4],y),this.h[5]=o(this.h[5],b),this.h[6]=o(this.h[6],w),this.h[7]=o(this.h[7],x)},y.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,i){"use strict";var r=i(49),a=i(98),s=i(74),n=r.rotr64_hi,o=r.rotr64_lo,c=r.shr64_hi,u=r.shr64_lo,h=r.sum64,l=r.sum64_hi,p=r.sum64_lo,d=r.sum64_4_hi,f=r.sum64_4_lo,m=r.sum64_5_hi,g=r.sum64_5_lo,v=a.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;v.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}r.inherits(b,v),(e.exports=b).blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var i=this.W,r=0;r<32;r++)i[r]=e[t+r];for(;r<i.length;r+=2){var a=function(e,t){return(t=n(e,t,19)^n(t,e,29)^(e=c(e,t,6)))<0&&(t+=4294967296),t}(i[r-4],i[r-3]),s=function(e,t){return(t=o(e,t,19)^o(t,e,29)^(e=u(e,t,6)))<0&&(t+=4294967296),t}(i[r-4],i[r-3]),h=i[r-14],l=i[r-13],p=function(e,t){return(t=n(e,t,1)^n(e,t,8)^(e=c(e,t,7)))<0&&(t+=4294967296),t}(i[r-30],i[r-29]),m=function(e,t){return(t=o(e,t,1)^o(e,t,8)^(e=u(e,t,7)))<0&&(t+=4294967296),t}(i[r-30],i[r-29]),g=i[r-32],v=i[r-31];i[r]=d(a,s,h,l,p,m,g,v),i[r+1]=f(a,s,h,l,p,m,g,v)}},b.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,r=this.h[0],a=this.h[1],c=this.h[2],u=this.h[3],d=this.h[4],f=this.h[5],v=this.h[6],y=this.h[7],b=this.h[8],w=this.h[9],x=this.h[10],k=this.h[11],S=this.h[12],_=this.h[13],E=this.h[14],j=this.h[15];s(this.k.length===i.length);for(var A=0;A<i.length;A+=2){var R=E,I=j,O=function(e,t){return(e=n(e,t,14)^n(e,t,18)^(t=n(t,e,9)))<0&&(e+=4294967296),e}(b,w),C=function(e,t){return(e=o(e,t,14)^o(e,t,18)^(t=o(t,e,9)))<0&&(e+=4294967296),e}(b,w),P=function(e,t,i){return(t=e&t^~e&i)<0&&(t+=4294967296),t}(b,x,S),T=function(e,t,i){return(t=e&t^~e&i)<0&&(t+=4294967296),t}(w,k,_),B=this.k[A],N=this.k[A+1],z=i[A],F=i[A+1],L=m(R,I,O,C,P,T,B,N,z,F);P=g(R,I,O,C,P,T,B,N,z,F),R=function(e,t){return(e=n(e,t,28)^n(t,e,2)^(t=n(t,e,7)))<0&&(e+=4294967296),e}(r,a),I=function(e,t){return(e=o(e,t,28)^o(t,e,2)^(t=o(t,e,7)))<0&&(e+=4294967296),e}(r,a),O=function(e,t,i){return(e=e&t^e&i^t&i)<0&&(e+=4294967296),e}(r,c,d),C=function(e,t,i){return(e=e&t^e&i^t&i)<0&&(e+=4294967296),e}(a,u,f),T=l(R,I,O,C),B=p(R,I,O,C),E=S,j=_,S=x,_=k,x=b,k=w,b=l(v,y,L,P),w=p(y,y,L,P),v=d,y=f,d=c,f=u,c=r,u=a,r=l(L,P,T,B),a=p(L,P,T,B)}h(this.h,0,r,a),h(this.h,2,c,u),h(this.h,4,d,f),h(this.h,6,v,y),h(this.h,8,b,w),h(this.h,10,x,k),h(this.h,12,S,_),h(this.h,14,E,j)},b.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,i){"use strict";
555
+ */const r=i(0),a=i(2),s=i(19),n=s.types;e.exports=class{constructor(e,t){r(a.isU8(e)),r(0<=e&&e<=16),r(Buffer.isBuffer(t)),r(2<=t.length&&t.length<=40),this.version=e,this.data=t}getType(){return 0===this.version?20===this.data.length?n.WITNESSPUBKEYHASH:32===this.data.length?n.WITNESSSCRIPTHASH:n.WITNESSMALFORMED:1===this.version?32===this.data.length?n.WITNESSMASTHASH:n.WITNESSMALFORMED:n.NONSTANDARD}isUnknown(){var e=this.getType();return e===n.WITNESSMALFORMED||e===n.NONSTANDARD}isMalformed(){return this.getType()===n.WITNESSMALFORMED}inspect(){var e=this.data.toString("hex"),t=s.typesByVal[this.getType()].toLowerCase();return`<Program: version=${this.version} data=${e} type=${t}>`}}},function(e){e.exports=JSON.parse('{"COMPRESSED_TYPE_INVALID":"compressed should be a boolean","EC_PRIVATE_KEY_TYPE_INVALID":"private key should be a Buffer","EC_PRIVATE_KEY_LENGTH_INVALID":"private key length is invalid","EC_PRIVATE_KEY_RANGE_INVALID":"private key range is invalid","EC_PRIVATE_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting private key is invalid","EC_PRIVATE_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PRIVATE_KEY_EXPORT_DER_FAIL":"couldn\'t export to DER format","EC_PRIVATE_KEY_IMPORT_DER_FAIL":"couldn\'t import from DER format","EC_PUBLIC_KEYS_TYPE_INVALID":"public keys should be an Array","EC_PUBLIC_KEYS_LENGTH_INVALID":"public keys Array should have at least 1 element","EC_PUBLIC_KEY_TYPE_INVALID":"public key should be a Buffer","EC_PUBLIC_KEY_LENGTH_INVALID":"public key length is invalid","EC_PUBLIC_KEY_PARSE_FAIL":"the public key could not be parsed or is invalid","EC_PUBLIC_KEY_CREATE_FAIL":"private was invalid, try again","EC_PUBLIC_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting public key is invalid","EC_PUBLIC_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PUBLIC_KEY_COMBINE_FAIL":"the sum of the public keys is not valid","ECDH_FAIL":"scalar was invalid (zero or overflow)","ECDSA_SIGNATURE_TYPE_INVALID":"signature should be a Buffer","ECDSA_SIGNATURE_LENGTH_INVALID":"signature length is invalid","ECDSA_SIGNATURE_PARSE_FAIL":"couldn\'t parse signature","ECDSA_SIGNATURE_PARSE_DER_FAIL":"couldn\'t parse DER signature","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL":"couldn\'t serialize signature to DER format","ECDSA_SIGN_FAIL":"nonce generation function failed or private key is invalid","ECDSA_RECOVER_FAIL":"couldn\'t recover public key from signature","MSG32_TYPE_INVALID":"message should be a Buffer","MSG32_LENGTH_INVALID":"message length is invalid","OPTIONS_TYPE_INVALID":"options should be an Object","OPTIONS_DATA_TYPE_INVALID":"options.data should be a Buffer","OPTIONS_DATA_LENGTH_INVALID":"options.data length is invalid","OPTIONS_NONCEFN_TYPE_INVALID":"options.noncefn should be a Function","RECOVERY_ID_TYPE_INVALID":"recovery should be a Number","RECOVERY_ID_VALUE_INVALID":"recovery should have value between -1 and 4","TWEAK_TYPE_INVALID":"tweak should be a Buffer","TWEAK_LENGTH_INVALID":"tweak length is invalid"}')},function(e,t,i){"use strict";function r(e){return 1===e.length?"0"+e:e}function a(e){for(var t="",i=0;i<e.length;i++)t+=r(e[i].toString(16));return t}t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var i=[];if("string"!=typeof e)for(var r=0;r<e.length;r++)i[r]=0|e[r];else if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r<e.length;r+=2)i.push(parseInt(e[r]+e[r+1],16));else for(r=0;r<e.length;r++){var a=(s=e.charCodeAt(r))>>8,s=255&s;a?i.push(a,s):i.push(s)}return i},t.zero2=r,t.toHex=a,t.encode=function(e,t){return"hex"===t?a(e):e}},function(e,t,i){var r;function a(e){this.rand=e}if(e.exports=function(e){return(r=r||new a(null)).generate(e)},(e.exports.Rand=a).prototype.generate=function(e){return this._rand(e)},a.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),i=0;i<t.length;i++)t[i]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?a.prototype._rand=function(e){return e=new Uint8Array(e),self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?a.prototype._rand=function(e){return e=new Uint8Array(e),self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(a.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var s=i(8);if("function"!=typeof s.randomBytes)throw new Error("Not supported");a.prototype._rand=function(e){return s.randomBytes(e)}}catch(e){}},function(e,t,i){"use strict";t.base=i(127),t.short=i(376),t.mont=i(378),t.edwards=i(379)},function(e,t,i){"use strict";var r=i(49).rotr32;function a(e,t,i){return e&t^~e&i}function s(e,t,i){return e&t^e&i^t&i}t.ft_1=function(e,t,i,r){return 0===e?a(t,i,r):1===e||3===e?t^i^r:2===e?s(t,i,r):void 0},t.ch32=a,t.maj32=s,t.p32=function(e,t,i){return e^t^i},t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,i){"use strict";var r=i(49),a=i(98),s=i(242),n=i(74),o=r.sum32,c=r.sum32_4,u=r.sum32_5,h=s.ch32,l=s.maj32,p=s.s0_256,d=s.s1_256,f=s.g0_256,m=s.g1_256,g=a.BlockHash,v=[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];function y(){if(!(this instanceof y))return new y;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=v,this.W=new Array(64)}r.inherits(y,g),(e.exports=y).blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r<i.length;r++)i[r]=c(m(i[r-2]),i[r-7],f(i[r-15]),i[r-16]);var a=this.h[0],s=this.h[1],g=this.h[2],v=this.h[3],y=this.h[4],b=this.h[5],w=this.h[6],x=this.h[7];for(n(this.k.length===i.length),r=0;r<i.length;r++){var k=u(x,d(y),h(y,b,w),this.k[r],i[r]),S=o(p(a),l(a,s,g));x=w,w=b,b=y,y=o(v,k),v=g,g=s,s=a,a=o(k,S)}this.h[0]=o(this.h[0],a),this.h[1]=o(this.h[1],s),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],v),this.h[4]=o(this.h[4],y),this.h[5]=o(this.h[5],b),this.h[6]=o(this.h[6],w),this.h[7]=o(this.h[7],x)},y.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,i){"use strict";var r=i(49),a=i(98),s=i(74),n=r.rotr64_hi,o=r.rotr64_lo,c=r.shr64_hi,u=r.shr64_lo,h=r.sum64,l=r.sum64_hi,p=r.sum64_lo,d=r.sum64_4_hi,f=r.sum64_4_lo,m=r.sum64_5_hi,g=r.sum64_5_lo,v=a.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;v.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}r.inherits(b,v),(e.exports=b).blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var i=this.W,r=0;r<32;r++)i[r]=e[t+r];for(;r<i.length;r+=2){var a=function(e,t){return(t=n(e,t,19)^n(t,e,29)^(e=c(e,t,6)))<0&&(t+=4294967296),t}(i[r-4],i[r-3]),s=function(e,t){return(t=o(e,t,19)^o(t,e,29)^(e=u(e,t,6)))<0&&(t+=4294967296),t}(i[r-4],i[r-3]),h=i[r-14],l=i[r-13],p=function(e,t){return(t=n(e,t,1)^n(e,t,8)^(e=c(e,t,7)))<0&&(t+=4294967296),t}(i[r-30],i[r-29]),m=function(e,t){return(t=o(e,t,1)^o(e,t,8)^(e=u(e,t,7)))<0&&(t+=4294967296),t}(i[r-30],i[r-29]),g=i[r-32],v=i[r-31];i[r]=d(a,s,h,l,p,m,g,v),i[r+1]=f(a,s,h,l,p,m,g,v)}},b.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,r=this.h[0],a=this.h[1],c=this.h[2],u=this.h[3],d=this.h[4],f=this.h[5],v=this.h[6],y=this.h[7],b=this.h[8],w=this.h[9],x=this.h[10],k=this.h[11],S=this.h[12],_=this.h[13],E=this.h[14],j=this.h[15];s(this.k.length===i.length);for(var A=0;A<i.length;A+=2){var R=E,I=j,O=function(e,t){return(e=n(e,t,14)^n(e,t,18)^(t=n(t,e,9)))<0&&(e+=4294967296),e}(b,w),C=function(e,t){return(e=o(e,t,14)^o(e,t,18)^(t=o(t,e,9)))<0&&(e+=4294967296),e}(b,w),P=function(e,t,i){return(t=e&t^~e&i)<0&&(t+=4294967296),t}(b,x,S),T=function(e,t,i){return(t=e&t^~e&i)<0&&(t+=4294967296),t}(w,k,_),B=this.k[A],N=this.k[A+1],z=i[A],F=i[A+1],L=m(R,I,O,C,P,T,B,N,z,F);P=g(R,I,O,C,P,T,B,N,z,F),R=function(e,t){return(e=n(e,t,28)^n(t,e,2)^(t=n(t,e,7)))<0&&(e+=4294967296),e}(r,a),I=function(e,t){return(e=o(e,t,28)^o(t,e,2)^(t=o(t,e,7)))<0&&(e+=4294967296),e}(r,a),O=function(e,t,i){return(e=e&t^e&i^t&i)<0&&(e+=4294967296),e}(r,c,d),C=function(e,t,i){return(e=e&t^e&i^t&i)<0&&(e+=4294967296),e}(a,u,f),T=l(R,I,O,C),B=p(R,I,O,C),E=S,j=_,S=x,_=k,x=b,k=w,b=l(v,y,L,P),w=p(y,y,L,P),v=d,y=f,d=c,f=u,c=r,u=a,r=l(L,P,T,B),a=p(L,P,T,B)}h(this.h,0,r,a),h(this.h,2,c,u),h(this.h,4,d,f),h(this.h,6,v,y),h(this.h,8,b,w),h(this.h,10,x,k),h(this.h,12,S,_),h(this.h,14,E,j)},b.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,i){"use strict";
556
556
  /*!
557
557
  * secp256k1-elliptic.js - wrapper for elliptic
558
558
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -561,7 +561,7 @@ const r=i(5).ContractType;e.exports=function(e){if(!e)return i(188);switch(e.ope
561
561
  /*!
562
562
  * undocoins.js - undocoins object for vallnet
563
563
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
564
- */const r=i(0),a=i(1),s=i(4),n=i(146);function o(){if(!(this instanceof o))return new o;this.items=[]}o.prototype.push=function(e){return this.items.push(e)},o.prototype.getSize=function(){let e=0;e+=4;for(const t of this.items)e+=t.getSize();return e},o.prototype.toRaw=function(){var e=this.getSize(),t=new s(e);t.writeU32(this.items.length);for(const e of this.items)e.toWriter(t);return t.render()},o.prototype.fromRaw=function(e){var t=new a(e),i=t.readU32();for(let e=0;e<i;e++)this.items.push(n.fromReader(t));return this},o.fromRaw=function(e){return(new o).fromRaw(e)},o.prototype.isEmpty=function(){return 0===this.items.length},o.prototype.commit=function(){var e=this.toRaw();return this.items.length=0,e},o.prototype.apply=function(e,t){var i=this.items.pop();r(i),e.addEntry(t,i)},e.exports=o},function(e,t,i){"use strict";function r(e,t){return e.listeners(t).length}var a,s,n=i(130),o=(e.exports=g,i(397)),c=(g.ReadableState=m,i(16).EventEmitter,i(248)),u=i(40).Buffer,h=global.Uint8Array||function(){},l=((e=Object.create(i(86))).inherits=i(48),i(9)),p=void 0,d=(p=l&&l.debuglog?l.debuglog("stream"):function(){},i(398)),f=(l=i(249),e.inherits(g,c),["error","close","destroy","pause","resume"]);function m(e,t){e=e||{};t=t instanceof(a=a||i(87));var r=(this.objectMode=!!e.objectMode,t&&(this.objectMode=this.objectMode||!!e.readableObjectMode),e.highWaterMark),n=e.readableHighWaterMark,o=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:t&&(n||0===n)?n:o,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(s=s||i(251).StringDecoder,this.decoder=new s(e.encoding),this.encoding=e.encoding)}function g(e){if(a=a||i(87),!(this instanceof g))return new g(e);this._readableState=new m(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy)&&(this._destroy=e.destroy),c.call(this)}function v(e,t,i,r,a){var s,n,o,c,l=e._readableState;return null===t?(l.reading=!1,n=e,(c=l).ended||(c.decoder&&(o=c.decoder.end())&&o.length&&(c.buffer.push(o),c.length+=c.objectMode?1:o.length),c.ended=!0,x(n))):(s=a?s:function(e,t){var i;return!function(e){return u.isBuffer(e)||e instanceof h}(t)&&"string"!=typeof t&&void 0!==t&&!e.objectMode&&(i=new TypeError("Invalid non-string/buffer chunk")),i}(l,t))?e.emit("error",s):l.objectMode||t&&0<t.length?("string"==typeof t||l.objectMode||Object.getPrototypeOf(t)===u.prototype||(o=t,t=u.from(o)),r?l.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):y(e,l,t,!0):l.ended?e.emit("error",new Error("stream.push() after EOF")):(l.reading=!1,!l.decoder||i||(t=l.decoder.write(t),l.objectMode)||0!==t.length?y(e,l,t,!1):S(e,l))):r||(l.reading=!1),!(c=l).ended&&(c.needReadable||c.length<c.highWaterMark||0===c.length)}function y(e,t,i,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",i),e.read(0)):(t.length+=t.objectMode?1:i.length,r?t.buffer.unshift(i):t.buffer.push(i),t.needReadable&&x(e)),S(e,t)}Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),g.prototype.destroy=l.destroy,g.prototype._undestroy=l.undestroy,g.prototype._destroy=function(e,t){this.push(null),t(e)},g.prototype.push=function(e,t){var i,r=this._readableState;return r.objectMode?i=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=u.from(e,t),t=""),i=!0),v(this,e,t,!1,i)},g.prototype.unshift=function(e){return v(this,e,null,!0,!1)},g.prototype.isPaused=function(){return!1===this._readableState.flowing},g.prototype.setEncoding=function(e){return s=s||i(251).StringDecoder,this._readableState.decoder=new s(e),this._readableState.encoding=e,this};var b=8388608;function w(e,t){var i;return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?(t.flowing&&t.length?t.buffer.head.data:t).length:(e>t.highWaterMark&&(t.highWaterMark=(b<=(i=e)?i=b:(i--,i=(i=(i=(i=(i|=i>>>1)|i>>>2)|i>>>4)|i>>>8)|i>>>16,i++),i)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(p("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?n.nextTick(k,e):k(e))}function k(e){p("emit readable"),e.emit("readable"),A(e)}function S(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(_,e,t))}function _(e,t){for(var i=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(p("maybeReadMore read 0"),e.read(0),i!==t.length);)i=t.length;t.readingMore=!1}function E(e){p("readable nexttick read 0"),e.read(0)}function j(e,t){t.reading||(p("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),A(e),t.flowing&&!t.reading&&e.read(0)}function A(e){var t=e._readableState;for(p("flow",t.flowing);t.flowing&&null!==e.read(););}function R(e,t){var i;return 0===t.length?null:(t.objectMode?i=t.buffer.shift():!e||e>=t.length?(i=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):i=function(e,t,i){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():(i?function(e,t){var i=t.head,r=1,a=i.data;for(e-=a.length;i=i.next;){var s=i.data,n=e>s.length?s.length:e;if(n===s.length?a+=s:a+=s.slice(0,e),0==(e-=n)){n===s.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i).data=s.slice(n);break}++r}return t.length-=r,a}:function(e,t){var i=u.allocUnsafe(e),r=t.head,a=1;for(r.data.copy(i),e-=r.data.length;r=r.next;){var s=r.data,n=e>s.length?s.length:e;if(s.copy(i,i.length-e,0,n),0==(e-=n)){n===s.length?(++a,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r).data=s.slice(n);break}++a}return t.length-=a,i})(e,t),r}(e,t.buffer,t.decoder),i)}function I(e){var t=e._readableState;if(0<t.length)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,n.nextTick(O,t,e))}function O(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function C(e,t){for(var i=0,r=e.length;i<r;i++)if(e[i]===t)return i;return-1}g.prototype.read=function(e){p("read",e),e=parseInt(e,10);var t,i=this._readableState,r=e;return 0!==e&&(i.emittedReadable=!1),0===e&&i.needReadable&&(i.length>=i.highWaterMark||i.ended)?(p("read: emitReadable",i.length,i.ended),(0===i.length&&i.ended?I:x)(this),null):0===(e=w(e,i))&&i.ended?(0===i.length&&I(this),null):(t=i.needReadable,p("need readable",t),(0===i.length||i.length-e<i.highWaterMark)&&p("length less than watermark",t=!0),i.ended||i.reading?p("reading or ended",t=!1):t&&(p("do read"),i.reading=!0,i.sync=!0,0===i.length&&(i.needReadable=!0),this._read(i.highWaterMark),i.sync=!1,i.reading||(e=w(r,i))),null===(t=0<e?R(e,i):null)?(i.needReadable=!0,e=0):i.length-=e,0===i.length&&(i.ended||(i.needReadable=!0),r!==e)&&i.ended&&I(this),null!==t&&this.emit("data",t),t)},g.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},g.prototype.pipe=function(e,t){var i=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}function s(){p("onend"),e.end()}a.pipesCount+=1,p("pipe count=%d opts=%j",a.pipesCount,t),t=t&&!1===t.end||e===process.stdout||e===process.stderr?v:s,a.endEmitted?n.nextTick(t):i.once("end",t),e.on("unpipe",(function t(r,n){p("onunpipe"),r===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,p("cleanup"),e.removeListener("close",m),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",f),e.removeListener("unpipe",t),i.removeListener("end",s),i.removeListener("end",v),i.removeListener("data",d),h=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||u())})),c=i;var c,u=function(){var e=c._readableState;p("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&r(c,"data")&&(e.flowing=!0,A(c))},h=(e.on("drain",u),!1),l=!1;function d(t){p("ondata"),(l=!1)!==e.write(t)||l||((1===a.pipesCount&&a.pipes===e||1<a.pipesCount&&-1!==C(a.pipes,e))&&!h&&(p("false write response, pause",i._readableState.awaitDrain),i._readableState.awaitDrain++,l=!0),i.pause())}function f(t){p("onerror",t),v(),e.removeListener("error",f),0===r(e,"error")&&e.emit("error",t)}function m(){e.removeListener("finish",g),v()}function g(){p("onfinish"),e.removeListener("close",m),v()}function v(){p("unpipe"),i.unpipe(e)}return i.on("data",d),function(e,t,i){if("function"==typeof e.prependListener)return e.prependListener(t,i);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(i):e._events[t]=[i,e._events[t]]:e.on(t,i)}(e,"error",f),e.once("close",m),e.once("finish",g),e.emit("pipe",i),a.flowing||(p("pipe resume"),i.resume()),e},g.prototype.unpipe=function(e){var t=this._readableState,i={hasUnpiped:!1};if(0!==t.pipesCount)if(1===t.pipesCount)e&&e!==t.pipes||(e=e||t.pipes,t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,i));else if(e){var r=C(t.pipes,e);-1!==r&&(t.pipes.splice(r,1),--t.pipesCount,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,i))}else{var a=t.pipes,s=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<s;n++)a[n].emit("unpipe",this,i)}return this},g.prototype.addListener=g.prototype.on=function(e,t){return t=c.prototype.on.call(this,e,t),"data"===e?!1!==this._readableState.flowing&&this.resume():"readable"!==e||(e=this._readableState).endEmitted||e.readableListening||(e.readableListening=e.needReadable=!0,e.emittedReadable=!1,e.reading?e.length&&x(this):n.nextTick(E,this)),t},g.prototype.resume=function(){var e,t=this._readableState;return t.flowing||(p("resume"),t.flowing=!0,e=this,(t=t).resumeScheduled)||(t.resumeScheduled=!0,n.nextTick(j,e,t)),this},g.prototype.pause=function(){return p("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(p("pause"),this._readableState.flowing=!1,this.emit("pause")),this},g.prototype.wrap=function(e){var t,i=this,r=this._readableState,a=!1;for(t in e.on("end",(function(){var e;p("wrapped end"),r.decoder&&!r.ended&&(e=r.decoder.end())&&e.length&&i.push(e),i.push(null)})),e.on("data",(function(t){p("wrapped data"),r.decoder&&(t=r.decoder.write(t)),r.objectMode&&null==t||(r.objectMode||t&&t.length)&&!i.push(t)&&(a=!0,e.pause())})),e)void 0===this[t]&&"function"==typeof e[t]&&(this[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t));for(var s=0;s<f.length;s++)e.on(f[s],this.emit.bind(this,f[s]));return this._read=function(t){p("wrapped _read",t),a&&(a=!1,e.resume())},this},Object.defineProperty(g.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),g._fromList=R},function(e,t,i){e.exports=i(46)},function(e,t,i){"use strict";var r=i(130);function a(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var i=this,s=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return s||n?t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(a,this,e):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(r.nextTick(a,i,e),i._writableState&&(i._writableState.errorEmitted=!0)):t&&t(e)}))),this},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,i){"use strict";var r=i(130);function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){var i=t,r=e,a=i.entry;for(i.entry=null;a;){var s=a.callback;r.pendingcb--,s(void 0),a=a.next}r.corkedRequestsFree?r.corkedRequestsFree.next=i:r.corkedRequestsFree=i}}e.exports=m;var s,n,o=!process.browser&&-1<["v0.10","v0.9."].indexOf(process.version.slice(0,5))?setImmediate:r.nextTick,c=((e=(m.WritableState=f,Object.create(i(86)))).inherits=i(48),{deprecate:i(399)}),u=i(248),h=i(40).Buffer,l=global.Uint8Array||function(){},p=i(249);function d(){}function f(e,t){s=s||i(87),e=e||{};var n=t instanceof s,c=(this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode),e.highWaterMark),u=e.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=c||0===c?c:n&&(u||0===u)?u:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,c=(this.destroyed=!1)===e.decodeStrings;this.decodeStrings=!c,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){e=e,s=(a=(i=t)._writableState).sync,n=a.writecb;var i,a,s,n,c,u,h,l,p=a;p.writing=!1,p.writecb=null,p.length-=p.writelen,p.writelen=0,e?(p=i,u=s,h=e,l=n,--(c=a).pendingcb,u?(r.nextTick(l,h),r.nextTick(x,p,c),p._writableState.errorEmitted=!0,p.emit("error",h)):(l(h),p._writableState.errorEmitted=!0,p.emit("error",h),x(p,c))):((e=b(a))||a.corked||a.bufferProcessing||!a.bufferedRequest||y(i,a),s?o(v,i,a,e,n):v(i,a,e,n))},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}e.inherits(m,u),f.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};try{Object.defineProperty(f.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}function m(e){if(s=s||i(87),!(n.call(m,this)||this instanceof s))return new m(e);this._writableState=new f(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final)&&(this._final=e.final),u.call(this)}function g(e,t,i,r,a,s,n){t.writelen=r,t.writecb=n,t.writing=!0,t.sync=!0,i?e._writev(a,t.onwrite):e._write(a,s,t.onwrite),t.sync=!1}function v(e,t,i,r){var a;i||(i=e,0===(a=t).length&&a.needDrain&&(a.needDrain=!1,i.emit("drain"))),t.pendingcb--,r(),x(e,t)}function y(e,t){t.bufferProcessing=!0;var i=t.bufferedRequest;if(e._writev&&i&&i.next){for(var r=t.bufferedRequestCount,s=new Array(r),n=((r=t.corkedRequestsFree).entry=i,0),o=!0;i;)(s[n]=i).isBuf||(o=!1),i=i.next,n+=1;s.allBuffers=o,g(e,t,!0,t.length,s,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new a(t),t.bufferedRequestCount=0}else{for(;i;){var c=i.chunk,u=i.encoding,h=i.callback;if(g(e,t,!1,t.objectMode?1:c.length,c,u,h),i=i.next,t.bufferedRequestCount--,t.writing)break}null===i&&(t.lastBufferedRequest=null)}t.bufferedRequest=i,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function w(e,t){e._final((function(i){t.pendingcb--,i&&e.emit("error",i),t.prefinished=!0,e.emit("prefinish"),x(e,t)}))}function x(e,t){var i,a,s=b(t);return s&&(i=e,(a=t).prefinished||a.finalCalled||("function"==typeof i._final?(a.pendingcb++,a.finalCalled=!0,r.nextTick(w,i,a)):(a.prefinished=!0,i.emit("prefinish"))),0===t.pendingcb)&&(t.finished=!0,e.emit("finish")),s}"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(n=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(e){return!!n.call(this,e)||this===m&&e&&e._writableState instanceof f}})):n=function(e){return e instanceof this},m.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},m.prototype.write=function(e,t,i){var a,s,n,o,c,u,p,f=this._writableState,m=!1,v=!f.objectMode&&(v=e,h.isBuffer(v)||v instanceof l);return v&&!h.isBuffer(e)&&(c=e,e=h.from(c)),"function"==typeof t&&(i=t,t=null),t=v?"buffer":t||f.defaultEncoding,"function"!=typeof i&&(i=d),f.ended?(c=this,u=i,p=new Error("write after end"),c.emit("error",p),r.nextTick(u,p)):(v||(u=this,p=f,s=i,o=!(n=!0),null===(a=e)?o=new TypeError("May not write null values to stream"):"string"==typeof a||void 0===a||p.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(u.emit("error",o),r.nextTick(s,o),n=!1),n))&&(f.pendingcb++,m=function(e,t,i,r,a,s){i||r!==(o=function(e,t,i){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=h.from(t,i)),t}(t,r,a))&&(i=!0,a="buffer",r=o);var n,o=t.objectMode?1:r.length,c=(t.length+=o,t.length<t.highWaterMark);return c||(t.needDrain=!0),t.writing||t.corked?(n=t.lastBufferedRequest,t.lastBufferedRequest={chunk:r,encoding:a,isBuf:i,callback:s,next:null},n?n.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1):g(e,t,!1,o,r,a,s),c}(this,f,v,e,t,i)),m},m.prototype.cork=function(){this._writableState.corked++},m.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||y(this,e))},m.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),-1<["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase()))return this._writableState.defaultEncoding=e,this;throw new TypeError("Unknown encoding: "+e)},Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(e,t,i){i(new Error("_write() is not implemented"))},m.prototype._writev=null,m.prototype.end=function(e,t,i){var a=this._writableState;"function"==typeof e?(i=e,t=e=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),a.corked&&(a.corked=1,this.uncork()),a.ending||a.finished||(e=this,t=i,(i=a).ending=!0,x(e,i),t&&(i.finished?r.nextTick(t):e.once("finish",t)),i.ended=!0,e.writable=!1)},Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),m.prototype.destroy=p.destroy,m.prototype._undestroy=p.undestroy,m.prototype._destroy=function(e,t){this.end(),t(e)}},function(e,t,i){"use strict";var r=i(40).Buffer,a=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"==typeof t||r.isEncoding!==a&&a(e))return t||e;throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf16le":this.text=c,this.end=u,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=h,this.end=l,t=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function n(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t,i=this.lastTotal-this.lastNeed,r=(t=this,128!=(192&(r=e)[0])?(t.lastNeed=0,"�"):1<t.lastNeed&&1<r.length?128!=(192&r[1])?(t.lastNeed=1,"�"):2<t.lastNeed&&2<r.length&&128!=(192&r[2])?(t.lastNeed=2,"�"):void 0:void 0);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,i,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,i,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2!=0)return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1);if(t=e.toString("utf16le",t)){var i=t.charCodeAt(t.length-1);if(55296<=i&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],t.slice(0,-1)}return t}function u(e){var t;e=e&&e.length?this.write(e):"";return this.lastNeed?(t=this.lastTotal-this.lastNeed,e+this.lastChar.toString("utf16le",0,t)):e}function h(e,t){var i=(e.length-t)%3;return 0==i?e.toString("base64",t):(this.lastNeed=3-i,this.lastTotal=3,1==i?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-i))}function l(e){return e=e&&e.length?this.write(e):"",this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):""}(t.StringDecoder=s).prototype.write=function(e){if(0===e.length)return"";var t,i;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i<e.length?t?t+this.text(e,i):this.text(e,i):t||""},s.prototype.end=function(e){return e=e&&e.length?this.write(e):"",this.lastNeed?e+"�":e},s.prototype.text=function(e,t){var i=function(e,t,i){var r=t.length-1;if(!(r<i)){var a=n(t[r]);if(0<=a)return 0<a&&(e.lastNeed=a-1),a;if(!(--r<i||-2===a)){if(0<=(a=n(t[r])))return 0<a&&(e.lastNeed=a-2),a;if(!(--r<i||-2===a)&&0<=(a=n(t[r])))return 0<a&&(2===a?a=0:e.lastNeed=a-3),a}}return 0}(this,e,t);return this.lastNeed?(this.lastTotal=i,i=e.length-(i-this.lastNeed),e.copy(this.lastChar,0,i),e.toString("utf8",t,i)):e.toString("utf8",t)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,i){"use strict";e.exports=a;var r=i(87);function a(e){if(!(this instanceof a))return new a(e);r.call(this,e),this._transformState={afterTransform:function(e,t){var i=this._transformState,r=(i.transforming=!1,i.writecb);if(!r)return this.emit("error",new Error("write callback called multiple times"));i.writechunk=null,(i.writecb=null)!=t&&this.push(t),r(e),(i=this._readableState).reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush)&&(this._flush=e.flush),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush((function(t,i){n(e,t,i)})):n(this,null,null)}function n(e,t,i){if(t)return e.emit("error",t);if(null!=i&&e.push(i),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");e.push(null)}(e=Object.create(i(86))).inherits=i(48),e.inherits(a,r),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,i){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,i){var r=this._transformState;r.writecb=i,r.writechunk=e,r.writeencoding=t,!r.transforming&&(i=this._readableState,r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var i=this;r.prototype._destroy.call(this,e,(function(e){t(e),i.emit("close")}))}},function(e,t,i){"use strict";function r(e){if("object"!=typeof e||null===e)throw new TypeError("First argument must be an abstract-leveldown compliant store");this.db=e,this._ended=!1,this._nexting=!1}r.prototype.next=function(e){let t=this;if(void 0===e)t=new Promise((function(t,i){e=function(e,r,a){e?i(e):void 0===r&&void 0===a?t():t([r,a])}}));else if("function"!=typeof e)throw new Error("next() requires a callback argument");return this._ended?this._nextTick(e,new Error("cannot call next() after end()")):this._nexting?this._nextTick(e,new Error("cannot call next() before previous next() has completed")):(this._nexting=!0,this._next((t,...i)=>{this._nexting=!1,e(t,...i)})),t},r.prototype._next=function(e){this._nextTick(e)},r.prototype.seek=function(e){if(this._ended)throw new Error("cannot call seek() after end()");if(this._nexting)throw new Error("cannot call seek() before next() has completed");e=this.db._serializeKey(e),this._seek(e)},r.prototype._seek=function(e){},r.prototype.end=function(e){let t;if(void 0===e)t=new Promise((function(t,i){e=function(e){e?i(e):t()}}));else if("function"!=typeof e)throw new Error("end() requires a callback argument");return this._ended?this._nextTick(e,new Error("end() already called on iterator")):(this._ended=!0,this._end(e)),t},r.prototype._end=function(e){this._nextTick(e)},r.prototype[Symbol.asyncIterator]=async function*(){try{for(var e;void 0!==(e=await this.next());)yield e}finally{this._ended||await this.end()}},r.prototype._nextTick=i(169),e.exports=r},function(e,t,i){"use strict";const r=Object.freeze({});function a(e){if("object"!=typeof e||null===e)throw new TypeError("First argument must be an abstract-leveldown compliant store");this.db=e,this._operations=[],this._written=!1}a.prototype._checkWritten=function(){if(this._written)throw new Error("write() already called on this batch")},a.prototype.put=function(e,t,i){this._checkWritten();var a=this.db._checkKey(e)||this.db._checkValue(t);if(a)throw a;return e=this.db._serializeKey(e),t=this.db._serializeValue(t),this._put(e,t,null!=i?i:r),this},a.prototype._put=function(e,t,i){this._operations.push({...i,type:"put",key:e,value:t})},a.prototype.del=function(e,t){this._checkWritten();var i=this.db._checkKey(e);if(i)throw i;return e=this.db._serializeKey(e),this._del(e,null!=t?t:r),this},a.prototype._del=function(e,t){this._operations.push({...t,type:"del",key:e})},a.prototype.clear=function(){return this._checkWritten(),this._clear(),this},a.prototype._clear=function(){this._operations=[]},a.prototype.write=function(e,t){if(this._checkWritten(),"function"!=typeof(t="function"==typeof e?e:t))throw new Error("write() requires a callback argument");"object"==typeof e&&null!==e||(e={}),this._written=!0,this._write(e,t)},a.prototype._write=function(e,t){this.db._batch(this._operations,e,t)},a.prototype._nextTick=i(169),e.exports=a},function(e,t,i){"use strict";t.getCallback=function(e,t){return"function"==typeof e?e:t},t.getOptions=function(e){return"object"==typeof e&&null!==e?e:{}}},function(e,t,i){"use strict";
564
+ */const r=i(0),a=i(1),s=i(4),n=i(146);function o(){if(!(this instanceof o))return new o;this.items=[]}o.prototype.push=function(e){return this.items.push(e)},o.prototype.getSize=function(){let e=0;e+=4;for(const t of this.items)e+=t.getSize();return e},o.prototype.toRaw=function(){var e=this.getSize(),t=new s(e);t.writeU32(this.items.length);for(const e of this.items)e.toWriter(t);return t.render()},o.prototype.fromRaw=function(e){var t=new a(e),i=t.readU32();for(let e=0;e<i;e++)this.items.push(n.fromReader(t));return this},o.fromRaw=function(e){return(new o).fromRaw(e)},o.prototype.isEmpty=function(){return 0===this.items.length},o.prototype.commit=function(){var e=this.toRaw();return this.items.length=0,e},o.prototype.apply=function(e,t){var i=this.items.pop();r(i),e.addEntry(t,i)},e.exports=o},function(e,t,i){"use strict";function r(e,t){return e.listeners(t).length}var a,s,n=i(130),o=(e.exports=g,i(398)),c=(g.ReadableState=m,i(16).EventEmitter,i(248)),u=i(40).Buffer,h=global.Uint8Array||function(){},l=((e=Object.create(i(86))).inherits=i(48),i(9)),p=void 0,d=(p=l&&l.debuglog?l.debuglog("stream"):function(){},i(399)),f=(l=i(249),e.inherits(g,c),["error","close","destroy","pause","resume"]);function m(e,t){e=e||{};t=t instanceof(a=a||i(87));var r=(this.objectMode=!!e.objectMode,t&&(this.objectMode=this.objectMode||!!e.readableObjectMode),e.highWaterMark),n=e.readableHighWaterMark,o=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:t&&(n||0===n)?n:o,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(s=s||i(251).StringDecoder,this.decoder=new s(e.encoding),this.encoding=e.encoding)}function g(e){if(a=a||i(87),!(this instanceof g))return new g(e);this._readableState=new m(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy)&&(this._destroy=e.destroy),c.call(this)}function v(e,t,i,r,a){var s,n,o,c,l=e._readableState;return null===t?(l.reading=!1,n=e,(c=l).ended||(c.decoder&&(o=c.decoder.end())&&o.length&&(c.buffer.push(o),c.length+=c.objectMode?1:o.length),c.ended=!0,x(n))):(s=a?s:function(e,t){var i;return!function(e){return u.isBuffer(e)||e instanceof h}(t)&&"string"!=typeof t&&void 0!==t&&!e.objectMode&&(i=new TypeError("Invalid non-string/buffer chunk")),i}(l,t))?e.emit("error",s):l.objectMode||t&&0<t.length?("string"==typeof t||l.objectMode||Object.getPrototypeOf(t)===u.prototype||(o=t,t=u.from(o)),r?l.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):y(e,l,t,!0):l.ended?e.emit("error",new Error("stream.push() after EOF")):(l.reading=!1,!l.decoder||i||(t=l.decoder.write(t),l.objectMode)||0!==t.length?y(e,l,t,!1):S(e,l))):r||(l.reading=!1),!(c=l).ended&&(c.needReadable||c.length<c.highWaterMark||0===c.length)}function y(e,t,i,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",i),e.read(0)):(t.length+=t.objectMode?1:i.length,r?t.buffer.unshift(i):t.buffer.push(i),t.needReadable&&x(e)),S(e,t)}Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),g.prototype.destroy=l.destroy,g.prototype._undestroy=l.undestroy,g.prototype._destroy=function(e,t){this.push(null),t(e)},g.prototype.push=function(e,t){var i,r=this._readableState;return r.objectMode?i=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=u.from(e,t),t=""),i=!0),v(this,e,t,!1,i)},g.prototype.unshift=function(e){return v(this,e,null,!0,!1)},g.prototype.isPaused=function(){return!1===this._readableState.flowing},g.prototype.setEncoding=function(e){return s=s||i(251).StringDecoder,this._readableState.decoder=new s(e),this._readableState.encoding=e,this};var b=8388608;function w(e,t){var i;return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?(t.flowing&&t.length?t.buffer.head.data:t).length:(e>t.highWaterMark&&(t.highWaterMark=(b<=(i=e)?i=b:(i--,i=(i=(i=(i=(i|=i>>>1)|i>>>2)|i>>>4)|i>>>8)|i>>>16,i++),i)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(p("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?n.nextTick(k,e):k(e))}function k(e){p("emit readable"),e.emit("readable"),A(e)}function S(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(_,e,t))}function _(e,t){for(var i=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(p("maybeReadMore read 0"),e.read(0),i!==t.length);)i=t.length;t.readingMore=!1}function E(e){p("readable nexttick read 0"),e.read(0)}function j(e,t){t.reading||(p("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),A(e),t.flowing&&!t.reading&&e.read(0)}function A(e){var t=e._readableState;for(p("flow",t.flowing);t.flowing&&null!==e.read(););}function R(e,t){var i;return 0===t.length?null:(t.objectMode?i=t.buffer.shift():!e||e>=t.length?(i=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):i=function(e,t,i){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():(i?function(e,t){var i=t.head,r=1,a=i.data;for(e-=a.length;i=i.next;){var s=i.data,n=e>s.length?s.length:e;if(n===s.length?a+=s:a+=s.slice(0,e),0==(e-=n)){n===s.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i).data=s.slice(n);break}++r}return t.length-=r,a}:function(e,t){var i=u.allocUnsafe(e),r=t.head,a=1;for(r.data.copy(i),e-=r.data.length;r=r.next;){var s=r.data,n=e>s.length?s.length:e;if(s.copy(i,i.length-e,0,n),0==(e-=n)){n===s.length?(++a,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r).data=s.slice(n);break}++a}return t.length-=a,i})(e,t),r}(e,t.buffer,t.decoder),i)}function I(e){var t=e._readableState;if(0<t.length)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,n.nextTick(O,t,e))}function O(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function C(e,t){for(var i=0,r=e.length;i<r;i++)if(e[i]===t)return i;return-1}g.prototype.read=function(e){p("read",e),e=parseInt(e,10);var t,i=this._readableState,r=e;return 0!==e&&(i.emittedReadable=!1),0===e&&i.needReadable&&(i.length>=i.highWaterMark||i.ended)?(p("read: emitReadable",i.length,i.ended),(0===i.length&&i.ended?I:x)(this),null):0===(e=w(e,i))&&i.ended?(0===i.length&&I(this),null):(t=i.needReadable,p("need readable",t),(0===i.length||i.length-e<i.highWaterMark)&&p("length less than watermark",t=!0),i.ended||i.reading?p("reading or ended",t=!1):t&&(p("do read"),i.reading=!0,i.sync=!0,0===i.length&&(i.needReadable=!0),this._read(i.highWaterMark),i.sync=!1,i.reading||(e=w(r,i))),null===(t=0<e?R(e,i):null)?(i.needReadable=!0,e=0):i.length-=e,0===i.length&&(i.ended||(i.needReadable=!0),r!==e)&&i.ended&&I(this),null!==t&&this.emit("data",t),t)},g.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},g.prototype.pipe=function(e,t){var i=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}function s(){p("onend"),e.end()}a.pipesCount+=1,p("pipe count=%d opts=%j",a.pipesCount,t),t=t&&!1===t.end||e===process.stdout||e===process.stderr?v:s,a.endEmitted?n.nextTick(t):i.once("end",t),e.on("unpipe",(function t(r,n){p("onunpipe"),r===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,p("cleanup"),e.removeListener("close",m),e.removeListener("finish",g),e.removeListener("drain",u),e.removeListener("error",f),e.removeListener("unpipe",t),i.removeListener("end",s),i.removeListener("end",v),i.removeListener("data",d),h=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||u())})),c=i;var c,u=function(){var e=c._readableState;p("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&r(c,"data")&&(e.flowing=!0,A(c))},h=(e.on("drain",u),!1),l=!1;function d(t){p("ondata"),(l=!1)!==e.write(t)||l||((1===a.pipesCount&&a.pipes===e||1<a.pipesCount&&-1!==C(a.pipes,e))&&!h&&(p("false write response, pause",i._readableState.awaitDrain),i._readableState.awaitDrain++,l=!0),i.pause())}function f(t){p("onerror",t),v(),e.removeListener("error",f),0===r(e,"error")&&e.emit("error",t)}function m(){e.removeListener("finish",g),v()}function g(){p("onfinish"),e.removeListener("close",m),v()}function v(){p("unpipe"),i.unpipe(e)}return i.on("data",d),function(e,t,i){if("function"==typeof e.prependListener)return e.prependListener(t,i);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(i):e._events[t]=[i,e._events[t]]:e.on(t,i)}(e,"error",f),e.once("close",m),e.once("finish",g),e.emit("pipe",i),a.flowing||(p("pipe resume"),i.resume()),e},g.prototype.unpipe=function(e){var t=this._readableState,i={hasUnpiped:!1};if(0!==t.pipesCount)if(1===t.pipesCount)e&&e!==t.pipes||(e=e||t.pipes,t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,i));else if(e){var r=C(t.pipes,e);-1!==r&&(t.pipes.splice(r,1),--t.pipesCount,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,i))}else{var a=t.pipes,s=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n<s;n++)a[n].emit("unpipe",this,i)}return this},g.prototype.addListener=g.prototype.on=function(e,t){return t=c.prototype.on.call(this,e,t),"data"===e?!1!==this._readableState.flowing&&this.resume():"readable"!==e||(e=this._readableState).endEmitted||e.readableListening||(e.readableListening=e.needReadable=!0,e.emittedReadable=!1,e.reading?e.length&&x(this):n.nextTick(E,this)),t},g.prototype.resume=function(){var e,t=this._readableState;return t.flowing||(p("resume"),t.flowing=!0,e=this,(t=t).resumeScheduled)||(t.resumeScheduled=!0,n.nextTick(j,e,t)),this},g.prototype.pause=function(){return p("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(p("pause"),this._readableState.flowing=!1,this.emit("pause")),this},g.prototype.wrap=function(e){var t,i=this,r=this._readableState,a=!1;for(t in e.on("end",(function(){var e;p("wrapped end"),r.decoder&&!r.ended&&(e=r.decoder.end())&&e.length&&i.push(e),i.push(null)})),e.on("data",(function(t){p("wrapped data"),r.decoder&&(t=r.decoder.write(t)),r.objectMode&&null==t||(r.objectMode||t&&t.length)&&!i.push(t)&&(a=!0,e.pause())})),e)void 0===this[t]&&"function"==typeof e[t]&&(this[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t));for(var s=0;s<f.length;s++)e.on(f[s],this.emit.bind(this,f[s]));return this._read=function(t){p("wrapped _read",t),a&&(a=!1,e.resume())},this},Object.defineProperty(g.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),g._fromList=R},function(e,t,i){e.exports=i(46)},function(e,t,i){"use strict";var r=i(130);function a(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var i=this,s=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return s||n?t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(a,this,e):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(r.nextTick(a,i,e),i._writableState&&(i._writableState.errorEmitted=!0)):t&&t(e)}))),this},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,i){"use strict";var r=i(130);function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){var i=t,r=e,a=i.entry;for(i.entry=null;a;){var s=a.callback;r.pendingcb--,s(void 0),a=a.next}r.corkedRequestsFree?r.corkedRequestsFree.next=i:r.corkedRequestsFree=i}}e.exports=m;var s,n,o=!process.browser&&-1<["v0.10","v0.9."].indexOf(process.version.slice(0,5))?setImmediate:r.nextTick,c=((e=(m.WritableState=f,Object.create(i(86)))).inherits=i(48),{deprecate:i(400)}),u=i(248),h=i(40).Buffer,l=global.Uint8Array||function(){},p=i(249);function d(){}function f(e,t){s=s||i(87),e=e||{};var n=t instanceof s,c=(this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode),e.highWaterMark),u=e.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=c||0===c?c:n&&(u||0===u)?u:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,c=(this.destroyed=!1)===e.decodeStrings;this.decodeStrings=!c,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){e=e,s=(a=(i=t)._writableState).sync,n=a.writecb;var i,a,s,n,c,u,h,l,p=a;p.writing=!1,p.writecb=null,p.length-=p.writelen,p.writelen=0,e?(p=i,u=s,h=e,l=n,--(c=a).pendingcb,u?(r.nextTick(l,h),r.nextTick(x,p,c),p._writableState.errorEmitted=!0,p.emit("error",h)):(l(h),p._writableState.errorEmitted=!0,p.emit("error",h),x(p,c))):((e=b(a))||a.corked||a.bufferProcessing||!a.bufferedRequest||y(i,a),s?o(v,i,a,e,n):v(i,a,e,n))},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}e.inherits(m,u),f.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};try{Object.defineProperty(f.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}function m(e){if(s=s||i(87),!(n.call(m,this)||this instanceof s))return new m(e);this._writableState=new f(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final)&&(this._final=e.final),u.call(this)}function g(e,t,i,r,a,s,n){t.writelen=r,t.writecb=n,t.writing=!0,t.sync=!0,i?e._writev(a,t.onwrite):e._write(a,s,t.onwrite),t.sync=!1}function v(e,t,i,r){var a;i||(i=e,0===(a=t).length&&a.needDrain&&(a.needDrain=!1,i.emit("drain"))),t.pendingcb--,r(),x(e,t)}function y(e,t){t.bufferProcessing=!0;var i=t.bufferedRequest;if(e._writev&&i&&i.next){for(var r=t.bufferedRequestCount,s=new Array(r),n=((r=t.corkedRequestsFree).entry=i,0),o=!0;i;)(s[n]=i).isBuf||(o=!1),i=i.next,n+=1;s.allBuffers=o,g(e,t,!0,t.length,s,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new a(t),t.bufferedRequestCount=0}else{for(;i;){var c=i.chunk,u=i.encoding,h=i.callback;if(g(e,t,!1,t.objectMode?1:c.length,c,u,h),i=i.next,t.bufferedRequestCount--,t.writing)break}null===i&&(t.lastBufferedRequest=null)}t.bufferedRequest=i,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function w(e,t){e._final((function(i){t.pendingcb--,i&&e.emit("error",i),t.prefinished=!0,e.emit("prefinish"),x(e,t)}))}function x(e,t){var i,a,s=b(t);return s&&(i=e,(a=t).prefinished||a.finalCalled||("function"==typeof i._final?(a.pendingcb++,a.finalCalled=!0,r.nextTick(w,i,a)):(a.prefinished=!0,i.emit("prefinish"))),0===t.pendingcb)&&(t.finished=!0,e.emit("finish")),s}"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(n=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(e){return!!n.call(this,e)||this===m&&e&&e._writableState instanceof f}})):n=function(e){return e instanceof this},m.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},m.prototype.write=function(e,t,i){var a,s,n,o,c,u,p,f=this._writableState,m=!1,v=!f.objectMode&&(v=e,h.isBuffer(v)||v instanceof l);return v&&!h.isBuffer(e)&&(c=e,e=h.from(c)),"function"==typeof t&&(i=t,t=null),t=v?"buffer":t||f.defaultEncoding,"function"!=typeof i&&(i=d),f.ended?(c=this,u=i,p=new Error("write after end"),c.emit("error",p),r.nextTick(u,p)):(v||(u=this,p=f,s=i,o=!(n=!0),null===(a=e)?o=new TypeError("May not write null values to stream"):"string"==typeof a||void 0===a||p.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(u.emit("error",o),r.nextTick(s,o),n=!1),n))&&(f.pendingcb++,m=function(e,t,i,r,a,s){i||r!==(o=function(e,t,i){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=h.from(t,i)),t}(t,r,a))&&(i=!0,a="buffer",r=o);var n,o=t.objectMode?1:r.length,c=(t.length+=o,t.length<t.highWaterMark);return c||(t.needDrain=!0),t.writing||t.corked?(n=t.lastBufferedRequest,t.lastBufferedRequest={chunk:r,encoding:a,isBuf:i,callback:s,next:null},n?n.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1):g(e,t,!1,o,r,a,s),c}(this,f,v,e,t,i)),m},m.prototype.cork=function(){this._writableState.corked++},m.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||y(this,e))},m.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),-1<["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase()))return this._writableState.defaultEncoding=e,this;throw new TypeError("Unknown encoding: "+e)},Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(e,t,i){i(new Error("_write() is not implemented"))},m.prototype._writev=null,m.prototype.end=function(e,t,i){var a=this._writableState;"function"==typeof e?(i=e,t=e=null):"function"==typeof t&&(i=t,t=null),null!=e&&this.write(e,t),a.corked&&(a.corked=1,this.uncork()),a.ending||a.finished||(e=this,t=i,(i=a).ending=!0,x(e,i),t&&(i.finished?r.nextTick(t):e.once("finish",t)),i.ended=!0,e.writable=!1)},Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),m.prototype.destroy=p.destroy,m.prototype._undestroy=p.undestroy,m.prototype._destroy=function(e,t){this.end(),t(e)}},function(e,t,i){"use strict";var r=i(40).Buffer,a=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"==typeof t||r.isEncoding!==a&&a(e))return t||e;throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf16le":this.text=c,this.end=u,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=h,this.end=l,t=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function n(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t,i=this.lastTotal-this.lastNeed,r=(t=this,128!=(192&(r=e)[0])?(t.lastNeed=0,"�"):1<t.lastNeed&&1<r.length?128!=(192&r[1])?(t.lastNeed=1,"�"):2<t.lastNeed&&2<r.length&&128!=(192&r[2])?(t.lastNeed=2,"�"):void 0:void 0);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,i,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,i,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2!=0)return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1);if(t=e.toString("utf16le",t)){var i=t.charCodeAt(t.length-1);if(55296<=i&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],t.slice(0,-1)}return t}function u(e){var t;e=e&&e.length?this.write(e):"";return this.lastNeed?(t=this.lastTotal-this.lastNeed,e+this.lastChar.toString("utf16le",0,t)):e}function h(e,t){var i=(e.length-t)%3;return 0==i?e.toString("base64",t):(this.lastNeed=3-i,this.lastTotal=3,1==i?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-i))}function l(e){return e=e&&e.length?this.write(e):"",this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(e){return e.toString(this.encoding)}function d(e){return e&&e.length?this.write(e):""}(t.StringDecoder=s).prototype.write=function(e){if(0===e.length)return"";var t,i;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i<e.length?t?t+this.text(e,i):this.text(e,i):t||""},s.prototype.end=function(e){return e=e&&e.length?this.write(e):"",this.lastNeed?e+"�":e},s.prototype.text=function(e,t){var i=function(e,t,i){var r=t.length-1;if(!(r<i)){var a=n(t[r]);if(0<=a)return 0<a&&(e.lastNeed=a-1),a;if(!(--r<i||-2===a)){if(0<=(a=n(t[r])))return 0<a&&(e.lastNeed=a-2),a;if(!(--r<i||-2===a)&&0<=(a=n(t[r])))return 0<a&&(2===a?a=0:e.lastNeed=a-3),a}}return 0}(this,e,t);return this.lastNeed?(this.lastTotal=i,i=e.length-(i-this.lastNeed),e.copy(this.lastChar,0,i),e.toString("utf8",t,i)):e.toString("utf8",t)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,i){"use strict";e.exports=a;var r=i(87);function a(e){if(!(this instanceof a))return new a(e);r.call(this,e),this._transformState={afterTransform:function(e,t){var i=this._transformState,r=(i.transforming=!1,i.writecb);if(!r)return this.emit("error",new Error("write callback called multiple times"));i.writechunk=null,(i.writecb=null)!=t&&this.push(t),r(e),(i=this._readableState).reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush)&&(this._flush=e.flush),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush((function(t,i){n(e,t,i)})):n(this,null,null)}function n(e,t,i){if(t)return e.emit("error",t);if(null!=i&&e.push(i),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");e.push(null)}(e=Object.create(i(86))).inherits=i(48),e.inherits(a,r),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,i){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,i){var r=this._transformState;r.writecb=i,r.writechunk=e,r.writeencoding=t,!r.transforming&&(i=this._readableState,r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var i=this;r.prototype._destroy.call(this,e,(function(e){t(e),i.emit("close")}))}},function(e,t,i){"use strict";function r(e){if("object"!=typeof e||null===e)throw new TypeError("First argument must be an abstract-leveldown compliant store");this.db=e,this._ended=!1,this._nexting=!1}r.prototype.next=function(e){let t=this;if(void 0===e)t=new Promise((function(t,i){e=function(e,r,a){e?i(e):void 0===r&&void 0===a?t():t([r,a])}}));else if("function"!=typeof e)throw new Error("next() requires a callback argument");return this._ended?this._nextTick(e,new Error("cannot call next() after end()")):this._nexting?this._nextTick(e,new Error("cannot call next() before previous next() has completed")):(this._nexting=!0,this._next((t,...i)=>{this._nexting=!1,e(t,...i)})),t},r.prototype._next=function(e){this._nextTick(e)},r.prototype.seek=function(e){if(this._ended)throw new Error("cannot call seek() after end()");if(this._nexting)throw new Error("cannot call seek() before next() has completed");e=this.db._serializeKey(e),this._seek(e)},r.prototype._seek=function(e){},r.prototype.end=function(e){let t;if(void 0===e)t=new Promise((function(t,i){e=function(e){e?i(e):t()}}));else if("function"!=typeof e)throw new Error("end() requires a callback argument");return this._ended?this._nextTick(e,new Error("end() already called on iterator")):(this._ended=!0,this._end(e)),t},r.prototype._end=function(e){this._nextTick(e)},r.prototype[Symbol.asyncIterator]=async function*(){try{for(var e;void 0!==(e=await this.next());)yield e}finally{this._ended||await this.end()}},r.prototype._nextTick=i(169),e.exports=r},function(e,t,i){"use strict";const r=Object.freeze({});function a(e){if("object"!=typeof e||null===e)throw new TypeError("First argument must be an abstract-leveldown compliant store");this.db=e,this._operations=[],this._written=!1}a.prototype._checkWritten=function(){if(this._written)throw new Error("write() already called on this batch")},a.prototype.put=function(e,t,i){this._checkWritten();var a=this.db._checkKey(e)||this.db._checkValue(t);if(a)throw a;return e=this.db._serializeKey(e),t=this.db._serializeValue(t),this._put(e,t,null!=i?i:r),this},a.prototype._put=function(e,t,i){this._operations.push({...i,type:"put",key:e,value:t})},a.prototype.del=function(e,t){this._checkWritten();var i=this.db._checkKey(e);if(i)throw i;return e=this.db._serializeKey(e),this._del(e,null!=t?t:r),this},a.prototype._del=function(e,t){this._operations.push({...t,type:"del",key:e})},a.prototype.clear=function(){return this._checkWritten(),this._clear(),this},a.prototype._clear=function(){this._operations=[]},a.prototype.write=function(e,t){if(this._checkWritten(),"function"!=typeof(t="function"==typeof e?e:t))throw new Error("write() requires a callback argument");"object"==typeof e&&null!==e||(e={}),this._written=!0,this._write(e,t)},a.prototype._write=function(e,t){this.db._batch(this._operations,e,t)},a.prototype._nextTick=i(169),e.exports=a},function(e,t,i){"use strict";t.getCallback=function(e,t){return"function"==typeof e?e:t},t.getOptions=function(e){return"object"==typeof e&&null!==e?e:{}}},function(e,t,i){"use strict";
565
565
  /*!
566
566
  * rbt.js - iterative red black tree for vallnet
567
567
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -821,16 +821,16 @@ const r=i(5).ContractType;e.exports=function(e){if(!e)return i(188);switch(e.ope
821
821
  * lowlevelup.js - LevelUP module for vallnet
822
822
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
823
823
  * https://github.com/bookmansoft/gamegold
824
- */var r=i(394),a=i(395);const s=i(0),n=i(35),o=i(36),c=Buffer.from([0]),u=Buffer.from([255]);let h;function l(e,t,i){if(!(this instanceof l))return new l(e,t,i);s("function"==typeof e,"Backend is required."),s("string"==typeof t,"Filename is required."),this.options=new m(i),this.backend=e,this.location=t,this.locker=new n,this.loading=!1,this.closing=!1,this.loaded=!1,this.db=null,this.binding=null,this.init()}l.prototype.init=function(){let e=new this.backend(this.location),t=e;for(;e.db&&"function"==typeof e.db.put&&e.db!==e;)e=e.db,t=e;e.binding&&(t=e.binding),this.db=e,this.binding=t},l.prototype.open=async function(){var e=await this.locker.lock();try{return await this._open()}finally{e()}},l.prototype._open=async function(){if(this.loaded)throw new Error("Database is already open.");s(!this.loading),s(!this.closing),this.loading=!0;try{await this.load()}catch(e){throw this.loading=!1,e}this.loading=!1,this.loaded=!0},l.prototype.close=async function(){var e=await this.locker.lock();try{return await this._close()}finally{e()}},l.prototype.isClosed=function(){return!this.loaded},l.prototype.readStream=l.prototype.createReadStream=function(e){return"number"!=typeof(e=r({keys:!0,values:!0},e)).limit&&(e.limit=-1),new a(this.db.iterator(e),e)},l.prototype.keyStream=l.prototype.createKeyStream=function(e){return this.createReadStream(r(e,{keys:!0,values:!1}))},l.prototype.valueStream=l.prototype.createValueStream=function(e){return this.createReadStream(r(e,{keys:!1,values:!0}))},l.prototype._close=async function(){if(!this.loaded)throw new Error("Database is already closed.");s(!this.loading),s(!this.closing),this.loaded=!1,this.closing=!0;try{await this.unload()}catch(e){throw this.loaded=!0,this.closing=!1,e}this.closing=!1},l.prototype.load=function(){return new Promise((e,t)=>{this.binding.open(this.options,o.wrap(e,t))})},l.prototype.unload=function(){return new Promise((e,t)=>{this.binding.close(o.wrap(e,t))})},l.prototype.destroy=function(){return new Promise((e,t)=>{this.loaded||this.closing?t(new Error("Cannot destroy open database.")):this.backend.destroy?this.backend.destroy(this.location,o.wrap(e,t)):t(new Error("Cannot destroy (method not available)."))})},l.prototype.repair=function(){return new Promise((e,t)=>{this.loaded||this.closing?t(new Error("Cannot repair open database.")):this.backend.repair?this.backend.repair(this.location,o.wrap(e,t)):t(new Error("Cannot repair (method not available)."))})},l.prototype.backup=function(e){return this.binding.backup?new Promise((t,i)=>{this.loaded?this.binding.backup(e,o.wrap(t,i)):i(new Error("Database is closed."))}):this.clone(e)},l.prototype.get=function(e){return new Promise((t,i)=>{this.loaded?this.binding.get(e,(e,r)=>{if(e)return(a=e)&&(a.notFound||"NotFoundError"===a.type||/not\s*found/i.test(a.message))?void t(null):void i(e);var a;t(r)}):i(new Error("Database is closed."))})},l.prototype.put=function(e,t){return t=t||c,new Promise((i,r)=>{this.loaded?this.binding.put(e,t,o.wrap(i,r)):r(new Error("Database is closed."))})},l.prototype.del=function(e){return new Promise((t,i)=>{this.loaded?this.binding.del(e,o.wrap(t,i)):i(new Error("Database is closed."))})},l.prototype.batch=function(e){if(e)return new Promise((t,i)=>{this.loaded?this.binding.batch(e,o.wrap(t,i)):i(new Error("Database is closed."))});if(this.loaded)return new p(this);throw new Error("Database is closed.")},l.prototype.iterator=function(e){if(this.loaded)return new d(this,e);throw new Error("Database is closed.")},l.prototype.getProperty=function(e){if(this.loaded)return this.binding.getProperty?this.binding.getProperty(e):"";throw new Error("Database is closed.")},l.prototype.approximateSize=function(e,t){return new Promise((i,r)=>{this.loaded?this.binding.approximateSize?this.binding.approximateSize(e,t,o.wrap(i,r)):r(new Error("Cannot get size.")):r(new Error("Database is closed."))})},l.prototype.compactRange=function(e,t){return e=e||c,t=t||u,new Promise((i,r)=>{this.loaded?this.binding.compactRange?this.binding.compactRange(e,t,o.wrap(i,r)):i():r(new Error("Database is closed."))})},l.prototype.has=async function(e){return null!=await this.get(e)},l.prototype.range=async function(e){for(var t=[],i=e.parse,r=this.iterator({gte:e.gte,lte:e.lte,keys:!0,values:!0});;){let a=await r.next();if(!a)break;if(i)try{a=i(a.key,a.value)}catch(e){throw await r.end(),e}a&&t.push(a)}return t},l.prototype.keys=async function(e){for(var t=[],i=e.parse,r=this.iterator({gte:e.gte,lte:e.lte,keys:!0,values:!1});;){var a=await r.next();if(!a)break;let s=a.key;if(i)try{s=i(s)}catch(e){throw await r.end(),e}if(s&&t.push(s),e.limit&&t.length>=e.limit)break}return t},l.prototype.values=async function(e){for(var t=[],i=e.parse,r=this.iterator({gte:e.gte,lte:e.lte,keys:!1,values:!0});;){var a=await r.next();if(!a)break;let s=a.value;if(i)try{s=i(s)}catch(e){throw await r.end(),e}s&&t.push(s)}return t},l.prototype.dump=async function(){var e=Object.create(null);for(const r of await this.range({gte:c,lte:u})){var t=r.key.toString("hex"),i=r.value.toString("hex");e[t]=i}return e},l.prototype.checkVersion=async function(e,t){var i=await this.get(e.CV);if(!i)return await this.put(e.CV,e.version(t)),"new";if(e.equalVersion(i,t))return"exist";throw new Error(h)},l.prototype.clone=async function(e){if(!this.loaded)throw new Error("Database is closed.");var t=new m(this.options),i=(t.createIfMissing=!0,t.errorIfExists=!0,new l(this.backend,e,t));await i.open();let r=i.batch(),a=0;for(var s=this.iterator({keys:!0,values:!0});;){var n=await s.next();if(!n)break;if(r.put(n.key,n.value),(a+=n.value.length)>=256<<20){a=0;try{await r.write()}catch(e){throw await s.end(),await i.close(),e}r=i.batch()}}try{await r.write()}finally{await i.close()}};class p{constructor(e){this.batch=e.binding.batch()}put(e,t){return t=t||c,this.batch.put(e,t),this}del(e){return this.batch.del(e),this}write(){return new Promise((e,t)=>{this.batch.write(o.wrap(e,t))})}clear(){return this.batch.clear(),this}}function d(e,t){(t=new g(t)).keyAsBuffer=e.options.bufferKeys,this.iter=e.db.iterator(t)}function f(e,t){this.key=e,this.value=t}function m(e){this.createIfMissing=!0,this.errorIfExists=!1,this.compression=!0,this.cacheSize=8<<20,this.writeBufferSize=4<<20,this.maxOpenFiles=64,this.maxFileSize=2<<20,this.paranoidChecks=!1,this.memory=!1,this.sync=!1,this.mapSize=274877906944,this.writeMap=!1,this.noSubdir=!0,this.bufferKeys=!0,e&&this.fromOptions(e)}function g(e){this.gte=null,this.lte=null,this.keys=!0,this.values=!1,this.fillCache=!1,this.keyAsBuffer=!0,this.valueAsBuffer=!0,this.reverse=!1,this.highWaterMark=16384,e&&this.fromOptions(e)}d.prototype.next=function(){return new Promise((e,t)=>{this.iter.next((i,r,a)=>{i?this.iter.end(()=>t(i)):void 0===r&&void 0===a?this.iter.end(o.wrap(e,t)):e(new f(r,a))})})},d.prototype.seek=function(e){this.iter.seek(e)},d.prototype.end=function(){return new Promise((e,t)=>{this.iter.end(o.wrap(e,t))})},m.prototype.fromOptions=function(e){return s(e,"Options are required."),null!=e.createIfMissing&&(s("boolean"==typeof e.createIfMissing,"`createIfMissing` must be a boolean."),this.createIfMissing=e.createIfMissing),null!=e.errorIfExists&&(s("boolean"==typeof e.errorIfExists,"`errorIfExists` must be a boolean."),this.errorIfExists=e.errorIfExists),null!=e.compression&&(s("boolean"==typeof e.compression,"`compression` must be a boolean."),this.compression=e.compression),null!=e.cacheSize&&(s("number"==typeof e.cacheSize,"`cacheSize` must be a number."),s(0<=e.cacheSize),this.cacheSize=Math.floor(e.cacheSize/2),this.writeBufferSize=Math.floor(e.cacheSize/4)),null!=e.maxFiles&&(s("number"==typeof e.maxFiles,"`maxFiles` must be a number."),s(0<=e.maxFiles),this.maxOpenFiles=e.maxFiles),null!=e.maxFileSize&&(s("number"==typeof e.maxFileSize,"`maxFileSize` must be a number."),s(0<=e.maxFileSize),this.maxFileSize=e.maxFileSize),null!=e.paranoidChecks&&(s("boolean"==typeof e.paranoidChecks,"`paranoidChecks` must be a boolean."),this.paranoidChecks=e.paranoidChecks),null!=e.memory&&(s("boolean"==typeof e.memory,"`memory` must be a boolean."),this.memory=e.memory),null!=e.sync&&(s("boolean"==typeof e.sync,"`sync` must be a boolean."),this.sync=e.sync),null!=e.mapSize&&(s("number"==typeof e.mapSize,"`mapSize` must be a number."),s(0<=e.mapSize),this.mapSize=e.mapSize),null!=e.writeMap&&(s("boolean"==typeof e.writeMap,"`writeMap` must be a boolean."),this.writeMap=e.writeMap),null!=e.noSubdir&&(s("boolean"==typeof e.noSubdir,"`noSubdir` must be a boolean."),this.noSubdir=e.noSubdir),null!=e.bufferKeys&&(s("boolean"==typeof e.bufferKeys,"`bufferKeys` must be a boolean."),this.bufferKeys=e.bufferKeys),this},g.prototype.fromOptions=function(e){if(s(e,"Options are required."),null!=e.gte&&(s(Buffer.isBuffer(e.gte)||"string"==typeof e.gte),this.gte=e.gte),null!=e.lte&&(s(Buffer.isBuffer(e.lte)||"string"==typeof e.lte),this.lte=e.lte),null!=e.keys&&(s("boolean"==typeof e.keys),this.keys=e.keys),null!=e.values&&(s("boolean"==typeof e.values),this.values=e.values),null!=e.fillCache&&(s("boolean"==typeof e.fillCache),this.fillCache=e.fillCache),null!=e.keyAsBuffer&&(s("boolean"==typeof e.keyAsBuffer),this.keyAsBuffer=e.keyAsBuffer),null!=e.valueAsBuffer&&(s("boolean"==typeof e.valueAsBuffer),this.valueAsBuffer=e.valueAsBuffer),null!=e.reverse&&(s("boolean"==typeof e.reverse),this.reverse=e.reverse),null!=e.limit&&(s("number"==typeof e.limit),s(0<=e.limit),this.limit=e.limit),this.keys||this.values)return this;throw new Error("Keys and/or values must be chosen.")},h="Warning: Your database does not match the current database version. This is likely because the database layout or serialization format has changed drastically. If you want to dump your data, downgrade to your previous version first. If you do not think you should be seeing this error, post an issue on the repo.",e.exports=l},function(e,t,i){"use strict";t.get=function(e){try{switch(e){case"leveldown":return i(401);case"memory":return i(327);default:throw new Error(`Database backend "${e}" not found.`)}}catch(t){if("MODULE_NOT_FOUND"===t.code)throw new Error(`Database backend "${e}" not found.`);throw t}}},function(e,t,i){"use strict";
824
+ */var r=i(395),a=i(396);const s=i(0),n=i(35),o=i(36),c=Buffer.from([0]),u=Buffer.from([255]);let h;function l(e,t,i){if(!(this instanceof l))return new l(e,t,i);s("function"==typeof e,"Backend is required."),s("string"==typeof t,"Filename is required."),this.options=new m(i),this.backend=e,this.location=t,this.locker=new n,this.loading=!1,this.closing=!1,this.loaded=!1,this.db=null,this.binding=null,this.init()}l.prototype.init=function(){let e=new this.backend(this.location),t=e;for(;e.db&&"function"==typeof e.db.put&&e.db!==e;)e=e.db,t=e;e.binding&&(t=e.binding),this.db=e,this.binding=t},l.prototype.open=async function(){var e=await this.locker.lock();try{return await this._open()}finally{e()}},l.prototype._open=async function(){if(this.loaded)throw new Error("Database is already open.");s(!this.loading),s(!this.closing),this.loading=!0;try{await this.load()}catch(e){throw this.loading=!1,e}this.loading=!1,this.loaded=!0},l.prototype.close=async function(){var e=await this.locker.lock();try{return await this._close()}finally{e()}},l.prototype.isClosed=function(){return!this.loaded},l.prototype.readStream=l.prototype.createReadStream=function(e){return"number"!=typeof(e=r({keys:!0,values:!0},e)).limit&&(e.limit=-1),new a(this.db.iterator(e),e)},l.prototype.keyStream=l.prototype.createKeyStream=function(e){return this.createReadStream(r(e,{keys:!0,values:!1}))},l.prototype.valueStream=l.prototype.createValueStream=function(e){return this.createReadStream(r(e,{keys:!1,values:!0}))},l.prototype._close=async function(){if(!this.loaded)throw new Error("Database is already closed.");s(!this.loading),s(!this.closing),this.loaded=!1,this.closing=!0;try{await this.unload()}catch(e){throw this.loaded=!0,this.closing=!1,e}this.closing=!1},l.prototype.load=function(){return new Promise((e,t)=>{this.binding.open(this.options,o.wrap(e,t))})},l.prototype.unload=function(){return new Promise((e,t)=>{this.binding.close(o.wrap(e,t))})},l.prototype.destroy=function(){return new Promise((e,t)=>{this.loaded||this.closing?t(new Error("Cannot destroy open database.")):this.backend.destroy?this.backend.destroy(this.location,o.wrap(e,t)):t(new Error("Cannot destroy (method not available)."))})},l.prototype.repair=function(){return new Promise((e,t)=>{this.loaded||this.closing?t(new Error("Cannot repair open database.")):this.backend.repair?this.backend.repair(this.location,o.wrap(e,t)):t(new Error("Cannot repair (method not available)."))})},l.prototype.backup=function(e){return this.binding.backup?new Promise((t,i)=>{this.loaded?this.binding.backup(e,o.wrap(t,i)):i(new Error("Database is closed."))}):this.clone(e)},l.prototype.get=function(e){return new Promise((t,i)=>{this.loaded?this.binding.get(e,(e,r)=>{if(e)return(a=e)&&(a.notFound||"NotFoundError"===a.type||/not\s*found/i.test(a.message))?void t(null):void i(e);var a;t(r)}):i(new Error("Database is closed."))})},l.prototype.put=function(e,t){return t=t||c,new Promise((i,r)=>{this.loaded?this.binding.put(e,t,o.wrap(i,r)):r(new Error("Database is closed."))})},l.prototype.del=function(e){return new Promise((t,i)=>{this.loaded?this.binding.del(e,o.wrap(t,i)):i(new Error("Database is closed."))})},l.prototype.batch=function(e){if(e)return new Promise((t,i)=>{this.loaded?this.binding.batch(e,o.wrap(t,i)):i(new Error("Database is closed."))});if(this.loaded)return new p(this);throw new Error("Database is closed.")},l.prototype.iterator=function(e){if(this.loaded)return new d(this,e);throw new Error("Database is closed.")},l.prototype.getProperty=function(e){if(this.loaded)return this.binding.getProperty?this.binding.getProperty(e):"";throw new Error("Database is closed.")},l.prototype.approximateSize=function(e,t){return new Promise((i,r)=>{this.loaded?this.binding.approximateSize?this.binding.approximateSize(e,t,o.wrap(i,r)):r(new Error("Cannot get size.")):r(new Error("Database is closed."))})},l.prototype.compactRange=function(e,t){return e=e||c,t=t||u,new Promise((i,r)=>{this.loaded?this.binding.compactRange?this.binding.compactRange(e,t,o.wrap(i,r)):i():r(new Error("Database is closed."))})},l.prototype.has=async function(e){return null!=await this.get(e)},l.prototype.range=async function(e){for(var t=[],i=e.parse,r=this.iterator({gte:e.gte,lte:e.lte,keys:!0,values:!0});;){let a=await r.next();if(!a)break;if(i)try{a=i(a.key,a.value)}catch(e){throw await r.end(),e}a&&t.push(a)}return t},l.prototype.keys=async function(e){for(var t=[],i=e.parse,r=this.iterator({gte:e.gte,lte:e.lte,keys:!0,values:!1});;){var a=await r.next();if(!a)break;let s=a.key;if(i)try{s=i(s)}catch(e){throw await r.end(),e}if(s&&t.push(s),e.limit&&t.length>=e.limit)break}return t},l.prototype.values=async function(e){for(var t=[],i=e.parse,r=this.iterator({gte:e.gte,lte:e.lte,keys:!1,values:!0});;){var a=await r.next();if(!a)break;let s=a.value;if(i)try{s=i(s)}catch(e){throw await r.end(),e}s&&t.push(s)}return t},l.prototype.dump=async function(){var e=Object.create(null);for(const r of await this.range({gte:c,lte:u})){var t=r.key.toString("hex"),i=r.value.toString("hex");e[t]=i}return e},l.prototype.checkVersion=async function(e,t){var i=await this.get(e.CV);if(!i)return await this.put(e.CV,e.version(t)),"new";if(e.equalVersion(i,t))return"exist";throw new Error(h)},l.prototype.clone=async function(e){if(!this.loaded)throw new Error("Database is closed.");var t=new m(this.options),i=(t.createIfMissing=!0,t.errorIfExists=!0,new l(this.backend,e,t));await i.open();let r=i.batch(),a=0;for(var s=this.iterator({keys:!0,values:!0});;){var n=await s.next();if(!n)break;if(r.put(n.key,n.value),(a+=n.value.length)>=256<<20){a=0;try{await r.write()}catch(e){throw await s.end(),await i.close(),e}r=i.batch()}}try{await r.write()}finally{await i.close()}};class p{constructor(e){this.batch=e.binding.batch()}put(e,t){return t=t||c,this.batch.put(e,t),this}del(e){return this.batch.del(e),this}write(){return new Promise((e,t)=>{this.batch.write(o.wrap(e,t))})}clear(){return this.batch.clear(),this}}function d(e,t){(t=new g(t)).keyAsBuffer=e.options.bufferKeys,this.iter=e.db.iterator(t)}function f(e,t){this.key=e,this.value=t}function m(e){this.createIfMissing=!0,this.errorIfExists=!1,this.compression=!0,this.cacheSize=8<<20,this.writeBufferSize=4<<20,this.maxOpenFiles=64,this.maxFileSize=2<<20,this.paranoidChecks=!1,this.memory=!1,this.sync=!1,this.mapSize=274877906944,this.writeMap=!1,this.noSubdir=!0,this.bufferKeys=!0,e&&this.fromOptions(e)}function g(e){this.gte=null,this.lte=null,this.keys=!0,this.values=!1,this.fillCache=!1,this.keyAsBuffer=!0,this.valueAsBuffer=!0,this.reverse=!1,this.highWaterMark=16384,e&&this.fromOptions(e)}d.prototype.next=function(){return new Promise((e,t)=>{this.iter.next((i,r,a)=>{i?this.iter.end(()=>t(i)):void 0===r&&void 0===a?this.iter.end(o.wrap(e,t)):e(new f(r,a))})})},d.prototype.seek=function(e){this.iter.seek(e)},d.prototype.end=function(){return new Promise((e,t)=>{this.iter.end(o.wrap(e,t))})},m.prototype.fromOptions=function(e){return s(e,"Options are required."),null!=e.createIfMissing&&(s("boolean"==typeof e.createIfMissing,"`createIfMissing` must be a boolean."),this.createIfMissing=e.createIfMissing),null!=e.errorIfExists&&(s("boolean"==typeof e.errorIfExists,"`errorIfExists` must be a boolean."),this.errorIfExists=e.errorIfExists),null!=e.compression&&(s("boolean"==typeof e.compression,"`compression` must be a boolean."),this.compression=e.compression),null!=e.cacheSize&&(s("number"==typeof e.cacheSize,"`cacheSize` must be a number."),s(0<=e.cacheSize),this.cacheSize=Math.floor(e.cacheSize/2),this.writeBufferSize=Math.floor(e.cacheSize/4)),null!=e.maxFiles&&(s("number"==typeof e.maxFiles,"`maxFiles` must be a number."),s(0<=e.maxFiles),this.maxOpenFiles=e.maxFiles),null!=e.maxFileSize&&(s("number"==typeof e.maxFileSize,"`maxFileSize` must be a number."),s(0<=e.maxFileSize),this.maxFileSize=e.maxFileSize),null!=e.paranoidChecks&&(s("boolean"==typeof e.paranoidChecks,"`paranoidChecks` must be a boolean."),this.paranoidChecks=e.paranoidChecks),null!=e.memory&&(s("boolean"==typeof e.memory,"`memory` must be a boolean."),this.memory=e.memory),null!=e.sync&&(s("boolean"==typeof e.sync,"`sync` must be a boolean."),this.sync=e.sync),null!=e.mapSize&&(s("number"==typeof e.mapSize,"`mapSize` must be a number."),s(0<=e.mapSize),this.mapSize=e.mapSize),null!=e.writeMap&&(s("boolean"==typeof e.writeMap,"`writeMap` must be a boolean."),this.writeMap=e.writeMap),null!=e.noSubdir&&(s("boolean"==typeof e.noSubdir,"`noSubdir` must be a boolean."),this.noSubdir=e.noSubdir),null!=e.bufferKeys&&(s("boolean"==typeof e.bufferKeys,"`bufferKeys` must be a boolean."),this.bufferKeys=e.bufferKeys),this},g.prototype.fromOptions=function(e){if(s(e,"Options are required."),null!=e.gte&&(s(Buffer.isBuffer(e.gte)||"string"==typeof e.gte),this.gte=e.gte),null!=e.lte&&(s(Buffer.isBuffer(e.lte)||"string"==typeof e.lte),this.lte=e.lte),null!=e.keys&&(s("boolean"==typeof e.keys),this.keys=e.keys),null!=e.values&&(s("boolean"==typeof e.values),this.values=e.values),null!=e.fillCache&&(s("boolean"==typeof e.fillCache),this.fillCache=e.fillCache),null!=e.keyAsBuffer&&(s("boolean"==typeof e.keyAsBuffer),this.keyAsBuffer=e.keyAsBuffer),null!=e.valueAsBuffer&&(s("boolean"==typeof e.valueAsBuffer),this.valueAsBuffer=e.valueAsBuffer),null!=e.reverse&&(s("boolean"==typeof e.reverse),this.reverse=e.reverse),null!=e.limit&&(s("number"==typeof e.limit),s(0<=e.limit),this.limit=e.limit),this.keys||this.values)return this;throw new Error("Keys and/or values must be chosen.")},h="Warning: Your database does not match the current database version. This is likely because the database layout or serialization format has changed drastically. If you want to dump your data, downgrade to your previous version first. If you do not think you should be seeing this error, post an issue on the repo.",e.exports=l},function(e,t,i){"use strict";t.get=function(e){try{switch(e){case"leveldown":return i(402);case"memory":return i(327);default:throw new Error(`Database backend "${e}" not found.`)}}catch(t){if("MODULE_NOT_FOUND"===t.code)throw new Error(`Database backend "${e}" not found.`);throw t}}},function(e,t,i){"use strict";
825
825
  /*!
826
826
  * memdb.js - in-memory database for vallnet
827
827
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
828
828
  * https://github.com/bookmansoft/gamegold
829
- */const r=i(0),a=i(256),s=Buffer.alloc(0);function n(e){if(!(this instanceof n))return new n(e);this.location=e||"memory",this.options={},this.tree=new a(l,!0)}function o(e,t){this.options=t||{},this.ops=[],this.db=e,this.written=!1}function c(e,t,i){this.type=e,this.key=t,this.value=i}function u(e,t){this.db=e,this.options=new h(t),this.iter=null,this.ended=!1,this.total=0,this.init()}function h(e){this.keys=!0,this.values=!0,this.start=null,this.end=null,this.gt=!1,this.lt=!1,this.keyAsBuffer=!0,this.valueAsBuffer=!0,this.reverse=!1,this.limit=-1,e&&this.fromOptions(e)}function l(e,t){return e.compare(t)}n.prototype.search=function(e){if("string"==typeof e&&(e=Buffer.from(e,"utf8")),r(Buffer.isBuffer(e),"Key must be a Buffer."),e=this.tree.search(e))return e.value},n.prototype.insert=function(e,t){return"string"==typeof e&&(e=Buffer.from(e,"utf8")),null==(t="string"==typeof t?Buffer.from(t,"utf8"):t)&&(t=s),r(Buffer.isBuffer(e),"Key must be a Buffer."),r(Buffer.isBuffer(t),"Value must be a Buffer."),null!=this.tree.insert(e,t)},n.prototype.remove=function(e){return"string"==typeof e&&(e=Buffer.from(e,"utf8")),r(Buffer.isBuffer(e),"Key must be a Buffer."),null!=this.tree.remove(e)},n.prototype.range=function(e,t){return"string"==typeof e&&(e=Buffer.from(e,"utf8")),"string"==typeof t&&(t=Buffer.from(t,"utf8")),r(!e||Buffer.isBuffer(e),"Key must be a Buffer."),r(!t||Buffer.isBuffer(t),"Key must be a Buffer."),this.tree.range(e,t)},n.prototype.open=function(e,t){t||(t=e,e=null),this.options=e=e||{},setImmediate(t)},n.prototype.close=function(e){setImmediate(e)},n.prototype.get=function(e,t,i){i||(i=t,t=null),t=t||{};let r=this.search(e);if(r)!1===t.asBuffer&&(r=r.toString("utf8")),setImmediate(()=>i(null,r));else{const e=new Error("MEMDB_NOTFOUND: Key not found.");e.notFound=!0,e.type="NotFoundError",setImmediate(()=>i(e))}},n.prototype.put=function(e,t,i,r){r||(r=i,i=null),this.insert(e,t),setImmediate(r)},n.prototype.del=function(e,t,i){i||(i=t,t=null),this.remove(e),setImmediate(i)},n.prototype.batch=function(e,t,i){if(i||(i=t,t=null),t=new o(this,t),!e)return t;t.ops=e,t.write(i)},n.prototype.iterator=function(e){return new u(this,e)},n.prototype.getProperty=function(e){return""},n.prototype.approximateSize=function(e,t,i){e=this.range(e,t);let r=0;for(const t of e)r=(r+=t.key.length)+t.value.length;setImmediate(()=>i(null,r))},n.destroy=function(e,t){setImmediate(t)},n.repair=function(e,t){setImmediate(t)},o.prototype.put=function(e,t){return r(!this.written,"Already written."),this.ops.push(new c("put",e,t)),this},o.prototype.del=function(e){return r(!this.written,"Already written."),this.ops.push(new c("del",e)),this},o.prototype.write=function(e){if(this.written)setImmediate(()=>e(new Error("Already written.")));else{for(const t of this.ops)switch(t.type){case"put":this.db.insert(t.key,t.value);break;case"del":this.db.remove(t.key);break;default:return setImmediate(()=>e(new Error("Bad op."))),this}this.ops=[],this.written=!0,setImmediate(e)}return this},o.prototype.clear=function(){return r(!this.written,"Already written."),this.ops=[],this},u.prototype.init=function(){var e=this.db.tree.snapshot();e=this.db.tree.iterator(e);this.options.reverse?this.options.end?(e.seekMax(this.options.end),this.options.lt&&e.valid()&&0===e.compare(this.options.end)&&e.prev()):e.seekLast():this.options.start?(e.seekMin(this.options.start),this.options.gt&&e.valid()&&0===e.compare(this.options.start)&&e.next()):e.seekFirst(),this.iter=e},u.prototype.next=function(e){var t=this.options,i=this.iter;if(this.iter){let r;if(t.reverse?(r=i.prev())&&t.start&&(t.gt?i.compare(t.start)<=0&&(r=!1):i.compare(t.start)<0&&(r=!1)):(r=i.next())&&t.end&&(t.lt?0<=i.compare(t.end)&&(r=!1):0<i.compare(t.end)&&(r=!1)),r){if(-1!==t.limit){if(this.total>=t.limit)return this.iter=null,void setImmediate(e);this.total+=1}let r=i.key,a=i.value;t.keys||(r=s),t.values||(a=s),t.keyAsBuffer||(r=r.toString("utf8")),t.valueAsBuffer||(a=a.toString("utf8")),setImmediate(()=>e(null,r,a))}else this.iter=null,setImmediate(e)}else setImmediate(()=>e(new Error("Cannot call next.")))},u.prototype.seek=function(e){r(this.iter,"Already ended."),"string"==typeof e&&(e=Buffer.from(e,"utf8")),r(Buffer.isBuffer(e),"Key must be a Buffer."),this.options.reverse?this.iter.seekMax(e):this.iter.seekMin(e)},u.prototype.end=function(e){this.ended?setImmediate(()=>e(new Error("Already ended."))):(this.ended=!0,this.iter=null,setImmediate(e))},h.prototype.fromOptions=function(e){return null!=e.keys&&(r("boolean"==typeof e.keys),this.keys=e.keys),null!=e.values&&(r("boolean"==typeof e.values),this.values=e.values),null!=e.start&&(this.start=e.start),null!=e.end&&(this.end=e.end),null!=e.gte&&(this.start=e.gte),null!=e.lte&&(this.end=e.lte),null!=e.gt&&(this.gt=!0,this.start=e.gt),null!=e.lt&&(this.lt=!0,this.end=e.lt),null!=this.start&&("string"==typeof this.start&&(this.start=Buffer.from(this.start,"utf8")),r(Buffer.isBuffer(this.start),"`start` must be a Buffer.")),null!=this.end&&("string"==typeof this.end&&(this.end=Buffer.from(this.end,"utf8")),r(Buffer.isBuffer(this.end),"`end` must be a Buffer.")),null!=e.keyAsBuffer&&(r("boolean"==typeof e.keyAsBuffer),this.keyAsBuffer=e.keyAsBuffer),null!=e.valueAsBuffer&&(r("boolean"==typeof e.valueAsBuffer),this.valueAsBuffer=e.valueAsBuffer),null!=e.reverse&&(r("boolean"==typeof e.reverse),this.reverse=e.reverse),null!=e.limit&&(r("number"==typeof e.limit),this.limit=e.limit),this},e.exports=n},,,function(e,t,i){"use strict";var r=i(172),a=i(265),s=i(173).paramsHaveRequestBody;function n(e,t,i){"function"==typeof t&&(i=t);var a={};return null!==t&&"object"==typeof t?r(a,t,{uri:e}):r(a,"string"==typeof e?{uri:e}:e),a.callback=i||a.callback,a}function o(e,t,i){if(void 0===e)throw new Error("undefined is not a valid uri or options object.");if("HEAD"===(e=n(e,t,i)).method&&s(e))throw new Error("HTTP HEAD requests MUST NOT include a request body.");return new o.Request(e)}function c(e){var t=e.toUpperCase();return function(e,i,r){return(e=n(e,i,r)).method=t,o(e,e.callback)}}function u(e,t,i,a){return function(s,o,c){return s=n(s,o,c),r(!0,o={},t,s),o.pool=s.pool||t.pool,a&&(o.method=a.toUpperCase()),(e="function"==typeof i?i:e)(o,o.callback)}}o.get=c("get"),o.head=c("head"),o.options=c("options"),o.post=c("post"),o.put=c("put"),o.patch=c("patch"),o.del=c("delete"),o.delete=c("delete"),o.jar=function(e){return a.jar(e)},o.cookie=function(e){return a.parse(e)},o.defaults=function(e,t){var i=this,r=("function"==typeof(e=e||{})&&(t=e,e={}),u(i,e,t));return["get","head","post","put","patch","del","delete"].forEach((function(a){r[a]=u(i[a],e,t,a)})),r.cookie=u(i.cookie,e,t),r.jar=i.jar,r.defaults=i.defaults,r},o.forever=function(e,t){var i={};return t&&r(i,t),e&&(i.agentOptions=e),i.forever=!0,o.defaults(i)},(e.exports=o).Request=i(459),o.initParams=n,Object.defineProperty(o,"debug",{enumerable:!0,get:function(){return o.Request.debug},set:function(e){o.Request.debug=e}})},function(e,t){e.exports=function(e){this.next=null,this.prev=null,this.value=e}},function(e,t,i){"use strict";
829
+ */const r=i(0),a=i(256),s=Buffer.alloc(0);function n(e){if(!(this instanceof n))return new n(e);this.location=e||"memory",this.options={},this.tree=new a(l,!0)}function o(e,t){this.options=t||{},this.ops=[],this.db=e,this.written=!1}function c(e,t,i){this.type=e,this.key=t,this.value=i}function u(e,t){this.db=e,this.options=new h(t),this.iter=null,this.ended=!1,this.total=0,this.init()}function h(e){this.keys=!0,this.values=!0,this.start=null,this.end=null,this.gt=!1,this.lt=!1,this.keyAsBuffer=!0,this.valueAsBuffer=!0,this.reverse=!1,this.limit=-1,e&&this.fromOptions(e)}function l(e,t){return e.compare(t)}n.prototype.search=function(e){if("string"==typeof e&&(e=Buffer.from(e,"utf8")),r(Buffer.isBuffer(e),"Key must be a Buffer."),e=this.tree.search(e))return e.value},n.prototype.insert=function(e,t){return"string"==typeof e&&(e=Buffer.from(e,"utf8")),null==(t="string"==typeof t?Buffer.from(t,"utf8"):t)&&(t=s),r(Buffer.isBuffer(e),"Key must be a Buffer."),r(Buffer.isBuffer(t),"Value must be a Buffer."),null!=this.tree.insert(e,t)},n.prototype.remove=function(e){return"string"==typeof e&&(e=Buffer.from(e,"utf8")),r(Buffer.isBuffer(e),"Key must be a Buffer."),null!=this.tree.remove(e)},n.prototype.range=function(e,t){return"string"==typeof e&&(e=Buffer.from(e,"utf8")),"string"==typeof t&&(t=Buffer.from(t,"utf8")),r(!e||Buffer.isBuffer(e),"Key must be a Buffer."),r(!t||Buffer.isBuffer(t),"Key must be a Buffer."),this.tree.range(e,t)},n.prototype.open=function(e,t){t||(t=e,e=null),this.options=e=e||{},setImmediate(t)},n.prototype.close=function(e){setImmediate(e)},n.prototype.get=function(e,t,i){i||(i=t,t=null),t=t||{};let r=this.search(e);if(r)!1===t.asBuffer&&(r=r.toString("utf8")),setImmediate(()=>i(null,r));else{const e=new Error("MEMDB_NOTFOUND: Key not found.");e.notFound=!0,e.type="NotFoundError",setImmediate(()=>i(e))}},n.prototype.put=function(e,t,i,r){r||(r=i,i=null),this.insert(e,t),setImmediate(r)},n.prototype.del=function(e,t,i){i||(i=t,t=null),this.remove(e),setImmediate(i)},n.prototype.batch=function(e,t,i){if(i||(i=t,t=null),t=new o(this,t),!e)return t;t.ops=e,t.write(i)},n.prototype.iterator=function(e){return new u(this,e)},n.prototype.getProperty=function(e){return""},n.prototype.approximateSize=function(e,t,i){e=this.range(e,t);let r=0;for(const t of e)r=(r+=t.key.length)+t.value.length;setImmediate(()=>i(null,r))},n.destroy=function(e,t){setImmediate(t)},n.repair=function(e,t){setImmediate(t)},o.prototype.put=function(e,t){return r(!this.written,"Already written."),this.ops.push(new c("put",e,t)),this},o.prototype.del=function(e){return r(!this.written,"Already written."),this.ops.push(new c("del",e)),this},o.prototype.write=function(e){if(this.written)setImmediate(()=>e(new Error("Already written.")));else{for(const t of this.ops)switch(t.type){case"put":this.db.insert(t.key,t.value);break;case"del":this.db.remove(t.key);break;default:return setImmediate(()=>e(new Error("Bad op."))),this}this.ops=[],this.written=!0,setImmediate(e)}return this},o.prototype.clear=function(){return r(!this.written,"Already written."),this.ops=[],this},u.prototype.init=function(){var e=this.db.tree.snapshot();e=this.db.tree.iterator(e);this.options.reverse?this.options.end?(e.seekMax(this.options.end),this.options.lt&&e.valid()&&0===e.compare(this.options.end)&&e.prev()):e.seekLast():this.options.start?(e.seekMin(this.options.start),this.options.gt&&e.valid()&&0===e.compare(this.options.start)&&e.next()):e.seekFirst(),this.iter=e},u.prototype.next=function(e){var t=this.options,i=this.iter;if(this.iter){let r;if(t.reverse?(r=i.prev())&&t.start&&(t.gt?i.compare(t.start)<=0&&(r=!1):i.compare(t.start)<0&&(r=!1)):(r=i.next())&&t.end&&(t.lt?0<=i.compare(t.end)&&(r=!1):0<i.compare(t.end)&&(r=!1)),r){if(-1!==t.limit){if(this.total>=t.limit)return this.iter=null,void setImmediate(e);this.total+=1}let r=i.key,a=i.value;t.keys||(r=s),t.values||(a=s),t.keyAsBuffer||(r=r.toString("utf8")),t.valueAsBuffer||(a=a.toString("utf8")),setImmediate(()=>e(null,r,a))}else this.iter=null,setImmediate(e)}else setImmediate(()=>e(new Error("Cannot call next.")))},u.prototype.seek=function(e){r(this.iter,"Already ended."),"string"==typeof e&&(e=Buffer.from(e,"utf8")),r(Buffer.isBuffer(e),"Key must be a Buffer."),this.options.reverse?this.iter.seekMax(e):this.iter.seekMin(e)},u.prototype.end=function(e){this.ended?setImmediate(()=>e(new Error("Already ended."))):(this.ended=!0,this.iter=null,setImmediate(e))},h.prototype.fromOptions=function(e){return null!=e.keys&&(r("boolean"==typeof e.keys),this.keys=e.keys),null!=e.values&&(r("boolean"==typeof e.values),this.values=e.values),null!=e.start&&(this.start=e.start),null!=e.end&&(this.end=e.end),null!=e.gte&&(this.start=e.gte),null!=e.lte&&(this.end=e.lte),null!=e.gt&&(this.gt=!0,this.start=e.gt),null!=e.lt&&(this.lt=!0,this.end=e.lt),null!=this.start&&("string"==typeof this.start&&(this.start=Buffer.from(this.start,"utf8")),r(Buffer.isBuffer(this.start),"`start` must be a Buffer.")),null!=this.end&&("string"==typeof this.end&&(this.end=Buffer.from(this.end,"utf8")),r(Buffer.isBuffer(this.end),"`end` must be a Buffer.")),null!=e.keyAsBuffer&&(r("boolean"==typeof e.keyAsBuffer),this.keyAsBuffer=e.keyAsBuffer),null!=e.valueAsBuffer&&(r("boolean"==typeof e.valueAsBuffer),this.valueAsBuffer=e.valueAsBuffer),null!=e.reverse&&(r("boolean"==typeof e.reverse),this.reverse=e.reverse),null!=e.limit&&(r("number"==typeof e.limit),this.limit=e.limit),this},e.exports=n},,,,function(e,t,i){"use strict";var r=i(172),a=i(265),s=i(173).paramsHaveRequestBody;function n(e,t,i){"function"==typeof t&&(i=t);var a={};return null!==t&&"object"==typeof t?r(a,t,{uri:e}):r(a,"string"==typeof e?{uri:e}:e),a.callback=i||a.callback,a}function o(e,t,i){if(void 0===e)throw new Error("undefined is not a valid uri or options object.");if("HEAD"===(e=n(e,t,i)).method&&s(e))throw new Error("HTTP HEAD requests MUST NOT include a request body.");return new o.Request(e)}function c(e){var t=e.toUpperCase();return function(e,i,r){return(e=n(e,i,r)).method=t,o(e,e.callback)}}function u(e,t,i,a){return function(s,o,c){return s=n(s,o,c),r(!0,o={},t,s),o.pool=s.pool||t.pool,a&&(o.method=a.toUpperCase()),(e="function"==typeof i?i:e)(o,o.callback)}}o.get=c("get"),o.head=c("head"),o.options=c("options"),o.post=c("post"),o.put=c("put"),o.patch=c("patch"),o.del=c("delete"),o.delete=c("delete"),o.jar=function(e){return a.jar(e)},o.cookie=function(e){return a.parse(e)},o.defaults=function(e,t){var i=this,r=("function"==typeof(e=e||{})&&(t=e,e={}),u(i,e,t));return["get","head","post","put","patch","del","delete"].forEach((function(a){r[a]=u(i[a],e,t,a)})),r.cookie=u(i.cookie,e,t),r.jar=i.jar,r.defaults=i.defaults,r},o.forever=function(e,t){var i={};return t&&r(i,t),e&&(i.agentOptions=e),i.forever=!0,o.defaults(i)},(e.exports=o).Request=i(459),o.initParams=n,Object.defineProperty(o,"debug",{enumerable:!0,get:function(){return o.Request.debug},set:function(e){o.Request.debug=e}})},function(e,t){e.exports=function(e){this.next=null,this.prev=null,this.value=e}},function(e,t,i){"use strict";
830
830
  /*!
831
831
  * accountdb.js - storage for account management
832
832
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
833
- */const r=i(8),a=i(0),s=i(73),n=i(119),o=i(157),c=i(610),u=i(85),h=u.walletdb,l=i(6),p=i(158),d=i(125),f=i(167);var{}=i(32);const m=i(45),g=i(13);i(20),i(69);const v=i(197),y=i(68),b=i(50),{BlockFinalType:w,ContractEnvType:x}=i(5),k=i(159),S=i(612),_=i(37);var E=i(72);const j=i(2),A=i(141).sortWithSeq,R=i(35),I=i(198),O=i(64),C=i(100),P=i(3),T=P.U32,B=i(337),N=i(338),z=i(339),F=z.vpItem,L=i(617),M=L.vpItem,D=i(312);i(618);const H=D.cpItem,U=i(154),q=U.ErAbolishItem,V=i(38).broadcast,K=i(132),W=K.vpItem,$=i(153),Y=$.ErItem,G=i(619),X=G.AuditItem,J=i(305),Q=i(109),Z=i(620),ee=i(306),te=i(120),ie=i(621),re=i(217),ae=i(39),se=i(36),ne=i(59),oe=i(78),ce=oe.errors,ue=i(77);class he extends E{constructor(e){super(),this.readyLoad=!1,this.options=new c(e),this.network=this.options.network,this.logger=this.options.logger.context("wallet"),this.workers=this.options.workers,this.keys={hmacSalt:P.DefaultChainCode},e.keys&&e.keys.hmacSalt&&(a(Buffer.isBuffer(e.keys.hmacSalt)),this.keys.hmacSalt=e.keys.hmacSalt),this.client=this.options.client,this.client&&(this.client.wdb=this),this.jsonp=this.options.jsonp,this.jsonp&&(this.jsonp.wdb=this),this.spv=this.options.spv,this.feeRate=this.options.feeRate,this.db=f(this.options),this.rpc=new B(this),this.primary=null,this.state=new Z,this.wallets=new Map,this.depth=0,this.rescanning=!1,this.bound=!1,this.newRecord=!0,this.readLock=new I,this.writeLock=new R,this.txLock=new R,this.scanLock=new R,this.widCache=new O(1e4),this.pathMapCache=new O(1e5),this.filter=new C,this.middleHashMem=new Set,this.middleHashChain=new Set,this.autoTaskMgr=new k(this),this.transactionList=new N(this),this.htlcList=new z(this),this.commentList=new L(this),this.NotifyList=new _,this.propList=new K(this),this.$contacts=new _,this.cpList=new D(this),this.cpMemList=new D(this),this.auditList=new G(this),this.erList=new $(this),this.erAbList=new U(this),this.hmacConnection=[],this._init()}async logAudit(e){e.height=this.curHeight,e.time=j.now(),e.erid=l.sha256(j.stringify(e)).toString("hex"),e=new X(e),await this.auditList.setAudit(e)}async getAccountByAddress(e,t){if(e){let a=null;if(a=t?await this.getWalletsByTX(t):await this.getWallets())for(const t of a){var i=await this.get(t);if(i){var r=await i.getPath(e);if(r)return[i.wid,r.name,i.id]}}}return[0,"",""]}_init(){let e=1e6,t=-1;this.spv&&(e=2e4,t=C.flags.ALL),this.filter=C.fromRate(e,.001,t)}get mode(){return x.Wallet}async getTXFromAll(e){return this.getTXFromDb(e)}async checkNewRecord(){var e={createIfMissing:this.db.options.createIfMissing,errorIfExists:this.db.options.errorIfExists};this.db.options.createIfMissing=!1,this.db.options.errorIfExists=!0;try{await this.db.open();var t=await this.db.checkVersion(h,6);this.newRecord="new"==t}catch(e){if(-1!=e.message.indexOf("does not exist (create_if_missing is false)"))this.newRecord=!0;else{if(-1==e.message.indexOf("exists (error_if_exists is true)"))throw e;this.newRecord=!1}}try{await this.db.close()}catch(e){}this.db.options.createIfMissing=e.createIfMissing,this.db.options.errorIfExists=e.errorIfExists}async isNewRecord(){return await this.checkNewRecord(),this.newRecord}setmnemonic(e){if(this.options.mnemonic=this.options.mnemonic||{},e.bits)this.options.mnemonic={bits:e.bits};else if(e.entropy)this.options.mnemonic={entropy:Buffer.from(e.entropy,"hex")};else if(e.phrase){var t=this.testmnemonic(e.phrase);if(0!=t.code)throw t.msg;this.options.mnemonic={phrase:e.phrase}}e.passphrase&&(this.options.mnemonic.passphrase=e.passphrase),e.language&&(this.options.mnemonic.language=e.language)}testmnemonic(e){try{return new v(e),{code:0}}catch(e){return{code:-1,msg:e.message}}}async getContracts(e){var t=await this.db.values({gte:u.txdb.tx(P.NULL_HASH),lte:u.txdb.tx(P.HIGH_HASH),parse:e=>j.parseJson(e.toString())});return e?t.filter(t=>t.srcact==e||t.dstact==e):t}isFull(){return this.spv||this.synced||!1}async _open(e){}async handleNotify(e,t=!1){if(!t){let i=e.body.content;if("string"==typeof i)try{i=JSON.parse(e.body.content)}catch(e){return}"object"==typeof i&&"secret"===i.type&&(t={contact:e.body.src,messenger:e.body.dst},i.init&&(t.init=Buffer.from(i.init,"hex")),i.packet&&(t.packet=Buffer.from(i.packet)),await this.handleSecret(t))}}async handleSecret(e){if(e.contact&&e.messenger&&e.contact!=e.messenger){try{g.fromString(e.contact,this.network.type),g.fromString(e.messenger,this.network.type)}catch(e){return}var t=await this.ensureContact(e);t&&await t.ensureMessenger(e).answer(e)}}async scanContact(e,t=-1){var i=async e=>{var t;e.witness&&"witnesspubkeyhash"==e.getType()&&(t=e.witness.getPubkeyhashInput()[1],e=g.fromWitness(e.witness).toString(),t)&&e&&await this.ensureContact({contact:e,publicKey:t})};if(0<=t&&t<e.inputs.length)await i(e.inputs[t]);else for(var r of e.inputs)await i(r)}async ensureContact(e){if(!e.contact||e.contact==e.messenger)return null;try{g.fromString(e.contact,this.network.type),e.messenger&&g.fromString(e.messenger,this.network.type)}catch(e){return null}e.network=this.network.type,this.$contacts.get(e.contact)||this.$contacts.set(e.contact,new S(e));var t=this.$contacts.get(e.contact);if(e.messenger&&!(e=t.ensureMessenger(e)).wallet){var i,[i,r]=await this.getAccountByAddress(e.address);if(!(i=await this.get(i)))return;e.wallet=i,e.account=r}return t}getCps(){return this.db.values({gte:u.txdb.cp(P.ZERO_CID,"hex"),lte:u.txdb.cp(P.MAX_CID,"hex"),parse:e=>H.fromRaw(e)})}async _close(){await this.disconnect(),this.http&&this.options.listen&&await this.http.close();for(const e of this.wallets.values())await e.destroy();await this.db.close(),this.options.listen&&await this.logger.close()}async destroy(){await this.db.destroy(),this.widCache.reset(),this.pathMapCache.reset()}async load(e){if(this.readyLoad){var t=await this.ensure({id:"primary",witness:!0,mnemonic:this.options.mnemonic}),i=await this.txLock.lock();try{await this.init(e),await this.watch(),await t.createReceive(0,1,t.master,this.network.type),await t.ensureNotifyKey(),await this.sync()}finally{i()}setTimeout(()=>{this.resend()},5e3)}}async disconnect(){this.client&&await this.client._close(),this.jsonp&&await this.jsonp._close()}async flushCP(e,t=!1){this.client&&(e=e||[],t||(e=this.cpList.excludeCids(e),t=t||0<e.length),t)&&await this.client.execute("cp.remoteQuery",[[["cid","include",e]]])}async watch(){let e=this.db.iterator({gte:h.p(P.NULL_HASH),lte:h.p(P.HIGH_HASH)}),t=0,i=0;for(;;){var r=await e.next();if(!r)break;try{var a=h.pp(r.key);this.addHash(a,!1)}catch(t){throw await e.end(),t}t++}for(e=this.db.iterator({gte:h.o(P.NULL_HASH,0),lte:h.o(P.HIGH_HASH,4294967295)});;){var s=await e.next();if(!s)break;try{var[n,o]=h.oo(s.key);this.addOutpoint(n,o)}catch(t){throw await e.end(),t}i++}this.logger.info("Filter: Added %d hashes to AccountDB filter.",t),this.logger.info("Filter: Added %d outpoints to AccountDB filter.",i),await this.setFilter()}async sync(){if(this.client){let t,i=this.curHeight;for(;0<=i;){var e=await this.getBlock(i);if(!e)break;if(t=await this.client.getEntry(e.hash))break;i--}t||(i=this.state.startHeight,t=await this.client.getEntry(this.state.startHash))||(i=0),await this.cpList.loadHistory(),await this.cpMemList.loadHistory(),await this.propList.loadHistory(),await this.htlcList.loadHistory(),await this.commentList.loadHistory(),await this.transactionList.loadHistory(),await this.loadContact(),await this.erList.loadHistory(),await this.auditList.loadHistory(),await this.erAbList.loadHistory(),await this._rescan(i,!1)}}async _rescan(e,t=!0){if(this.client){null==e&&(e=this.state.startHeight),a(e>>>0===e,"WDB: Must pass in a height.");var i=this.curHeight;t=(await this.rollback(e,t),this.logger.info("AccountDB is scanning %d blocks.",i-e+1),await this.getTip());try{this.rescanning=!0,await this.client.rescan(t.hash,this.eid)}finally{this.rescanning=!1}}}async rescan(e){var t=await this.txLock.lock();try{return await this._rescan(e,!1)}finally{t()}}async send(e){return this.client?this.client.send(e):(this.emit("send",e),Promise.resolve())}async getTX(e){for(const i of this.wallets.values()){var t=await i.getTX(e);if(t)return t.tx}return null}async getTXFromDb(e){for(const i of this.wallets.values()){var t=await i.getTX(e);if(t)return t.tx}return null}async getExtendTX(e){for(const i of this.wallets.values()){var t=await i.getTX(e);if(t)return t}return null}async removeTX(e){this.client?await this.client.removeTX(e):this.emit("remove",e)}async estimateFee(e){return 0<this.feeRate?this.feeRate:!this.client||(e=await this.client.estimateFee(e))<this.network.feeRate?this.network.feeRate:e>this.network.maxFeeRate?this.network.maxFeeRate:e}setFilter(){return this.client?this.client.setFilter(this.filter):(this.emit("filter.set",this.filter),Promise.resolve())}resetFilter(){return this.client?this.client.resetFilter():(this.emit("filter.reset"),Promise.resolve())}backup(e){return this.db.backup(e)}async wipe(){this.logger.warning("Wiping AccountDB TXDB..."),this.logger.warning("I hope you know what you're doing.");var e=this.db.iterator({gte:Buffer.from([0]),lte:Buffer.from([255])}),t=this.db.batch();let i=0;for(;;){var r=await e.next();if(!r)break;try{switch(r.key[0]){case 98:case 99:case 101:case 116:case 111:case 104:case 82:t.del(r.key),i++}}catch(t){throw await e.end(),t}}this.logger.warning("Wiped %d txdb records.",i),await t.write()}async getDepth(){var e=this.db.iterator({gte:h.w(0),lte:h.w(4294967295),reverse:!0,limit:1}),t=await e.next();return t?(await e.end(),h.ww(t.key)+1):1}start(e){return a(!e.current,"WDB: Batch already started."),e.current=this.db.batch(),e.accountCache.start(),e.pathCache.start(),e.current}drop(e){var t=this.batch(e);e.current=null,e.accountCache.drop(),e.pathCache.drop(),t.clear()}clear(e){var t=this.batch(e);e.accountCache.clear(),e.pathCache.clear(),t.clear()}batch(e){return a(e.current,"WDB: Batch does not exist."),e.current}async commit(e){var t=this.batch(e);try{await t.write()}catch(e){throw this.drop(),e}e.current=null,e.accountCache.commit(),e.pathCache.commit()}testFilter(e){return this.filter.test(e,"hex")}addHash(e,t=!0){this.filter.add(e,"hex"),t&&(t=Buffer.from(e,"hex"),this.client?this.client.addFilter(t):this.emit("filter.add",t))}addOutpoint(e,t){e=new m(e,t),this.filter.add(e.toRaw())}dump(){return this.db.dump()}register(e){a(!this.wallets.has(e.wid)),this.wallets.set(e.wid,e)}unregister(e){a(this.wallets.has(e.wid)),this.wallets.delete(e.wid)}async getWalletID(e){var t;return e?"number"==typeof e?e:this.widCache.get(e)||((t=await this.db.get(h.l(e)))?(t=t.readUInt32LE(0,!0),this.widCache.set(e,t),t):null):null}async get(e){if(!(e=await this.getWalletID(e)))return null;var t=await this.readLock.lock(e);try{return await this._get(e)}finally{t()}}async _get(e){var t=this.wallets.get(e);return t||((t=await this.db.get(h.w(e)))?(await(e=n.fromRaw(this,t)).open(),this.register(e),e):null)}async loadBackup(e){if(ne.unsupported)throw new ue(ce.INTERNAL_ERROR,"FS not available.");let t=null;var i;for(i of(await ne.readFile(e,"utf8")).split(/\n+/))if(0!==(i=i.trim()).length&&!/^\s*#/.test(i)){var r=i.split(/\s+/);if(r.length<4)throw new ue(ce.DESERIALIZATION_ERROR,"Malformed wallet Data File.");switch(r[0]){case"W":var s=Buffer.from(r[1],"base64");s=n.fromRaw(this,s);await this.replace(s),t=await this.get(s.id),this.logger.info("Import Wallet %s(%s)",t.id,t.wid);break;case"C":s=Buffer.from(r[1],"base64");(c=((u=o.fromRaw(this,s)).wallet=t,u.wid=t.wid,u.id=t.id,u.initialized=!0,u.watchOnly=t.watchOnly,u.receive=u.deriveReceive(u.receiveDepth-1),u.change=u.deriveChange(u.changeDepth-1),u.witness&&(u.nested=u.deriveNested(u.nestedDepth-1)),t.master.key.deriveAccount(44,u.accountIndex))).publicKey.toString("hex")!==u.accountKey.publicKey.toString("hex")&&a(c.publicKey.toString("hex")==u.accountKey.publicKey.toString("hex")),await t.saveAccount(u),this.logger.info("Import Account %s(%s)",u.name,u.accountIndex);break;case"A":var c=oe.parseSecret(r[1],this.network),u=parseInt(r[5]),h=parseInt(r[7]),l=parseInt(r[9]),p=r[11].trim();if(h<0||l<0)try{await t.importKey(u,c)}catch(e){this.logger.error(`loadBackup: ${e.message} account/secret: ${u}/`+p)}else{var d=await t.deriveKey(u,h,l),f=await t.deriveKey(u,h,l,t.master);d.getAddress("string")!==f.getAddress("string")&&this.logger.error(`loadBackup: not-equal-1: ${d.getAddress("string")} != `+f.getAddress("string")),d.getAddress("string")!==p&&this.logger.error(`loadBackup: not-equal-2: ${d.getAddress("string")} != `+p)}this.logger.info("Import Address %s %s %s %s",u,h,l,p)}}return t.accountCache.reset(),t}save(e){var t=e.wid,i=e.id,r=this.batch(e);this.widCache.set(i,t),r.put(h.w(t),e.toRaw()),r.put(h.l(i),T(t))}async rename(e,t){var i=await this.writeLock.lock();try{return await this._rename(e,t)}finally{i()}}async _rename(e,t){var i=e.id;if(!s.isName(t))throw new Error("WDB: Bad wallet ID.");if(await this.has(t))throw new Error("WDB: ID not available.");this.start(e).del(h.l(i)),e.id=t,this.save(e),await this.commit(e),this.widCache.remove(i),i=e.pathCache.values();for(const e of i)e.id=t}async replace(e){var t=await this.writeLock.lock();try{return await this._replace(e)}finally{t()}}async _replace(e){var t=this.start(e);t.del(h.l(e.id)),t.del(h.w(e.wid)),this.save(e),await this.commit(e),this.widCache.remove(e.id),this.wallets.delete(e.wid)}renameAccount(e,t){var i=e.wallet;this.batch(i).del(h.i(e.wid,e.name)),e.name=t,this.saveAccount(e)}async auth(e,t){if("string"==typeof t){if(!j.isHex256(t))throw new Error("WDB Authentication: Invalid Token.");t=Buffer.from(t,"hex")}e=y.getHmac(e.toString(),this.keys.hmacSalt);var i=r.createHmac("sha256",e.random);i=Buffer.from(i.update(e.token).digest("hex"),"hex");if(!p(t,i))throw new Error("WDB Authentication: CRC Error.")}async create(e){var t=await this.writeLock.lock();e=e||{};try{return await this._create(e)}finally{t()}}async _create(e){if(await this.has(e.id))throw new Error("WDB: Wallet already exists.");"string"==typeof e.mnemonic&&(e.mnemonic={phrase:e.mnemonic}),e.mnemonic=e.mnemonic||{},!e.mnemonic.language&&this.options.mnemonic&&this.options.mnemonic.language&&(e.mnemonic.language=this.options.mnemonic.language);var t=n.fromOptions(this,e);return t.wid=this.depth++,await t.init(e),this.register(t),this.logger.info("Created wallet %s in AccountDB.",t.id),t}async has(e){return null!=await this.getWalletID(e)}async ensure(e){return await this.get(e.id)||this.create(e)}async getAccount(e,t){return(e=await this.db.get(h.a(e,t)))?o.fromRaw(this,e):null}getAccounts(e){return this.db.values({gte:h.n(e,0),lte:h.n(e,4294967295),parse:e=>e.toString("ascii")})}async getAccountMap(e){for(var t={},i=this.db.iterator({gte:h.n(e,0),lte:h.n(e,4294967295),values:!0});;){var r=await i.next();if(!r)break;try{var[,a]=h.nn(r.key);t[a]=r.value.toString("ascii")}catch(e){throw await i.end(),e}}return t}async getAccountIndex(e,t){return(e=await this.db.get(h.i(e,t)))?e.readUInt32LE(0,!0):-1}async getAccountName(e,t){return(e=await this.db.get(h.n(e,t)))?e.toString("ascii"):null}saveAccount(e){var t=e.wid,i=e.wallet,r=e.accountIndex,a=e.name,s=this.batch(i);s.put(h.a(t,r),e.toRaw()),s.put(h.i(t,a),T(r)),s.put(h.n(t,r),Buffer.from(a,"ascii")),i.accountCache.push(r,e)}hasAccount(e,t){return"number"==typeof e&&"number"==typeof t&&this.db.has(h.a(e,t))}async getPathMap(e){var t=this.pathMapCache.get(e);return t||((t=await this.db.get(h.p(e)))?(t=ie.fromRaw(e,t),this.pathMapCache.set(e,t),t):null)}saveKey(e,t){return this.savePath(e,t.toPath())}async savePath(e,t){var i=e.wid,r=t.hash,a=this.batch(e);this.addHash(r);let s=await this.getPathMap(r);(s=s||new ie(r)).add(i)&&(this.pathMapCache.set(r,s),e.pathCache.push(r,t),a.put(h.p(r),s.toRaw()),a.put(h.P(i,r),t.toRaw()),a.put(h.r(i,t.account,r),null))}async getPath(e,t){var i=await this.db.get(h.P(e,t));return i?((i=Q.fromRaw(i)).wid=e,i.hash=t,i):null}hasPath(e,t){return this.db.has(h.P(e,t))}getHashes(){return this.db.keys({gte:h.p(P.NULL_HASH),lte:h.p(P.HIGH_HASH),parse:h.pp})}getOutpoints(){return this.db.keys({gte:h.o(P.NULL_HASH,0),lte:h.o(P.HIGH_HASH,4294967295),parse:e=>{var[e,t]=h.oo(e);return new m(e,t)}})}getWalletHashes(e){return this.db.keys({gte:h.P(e,P.NULL_HASH),lte:h.P(e,P.HIGH_HASH),parse:h.Pp})}getAccountHashes(e,t){return this.db.keys({gte:h.r(e,t,P.NULL_HASH),lte:h.r(e,t,P.HIGH_HASH),parse:h.rr})}async getWalletPaths(e){var t=[];for(const a of await this.db.range({gte:h.P(e,P.NULL_HASH),lte:h.P(e,P.HIGH_HASH)})){var i=h.Pp(a.key),r=Q.fromRaw(a.value);r.hash=i,r.wid=e,t.push(r)}return t}async encryptKeys(e,t){var i,r,s=e.wid,n=await e.getPaths(),o=this.batch(e);for(i of n)i.data&&(a(!i.encrypted),r=Buffer.from(i.hash,"hex").slice(0,16),(i=i.clone()).data=d.encipher(i.data,t,r),i.encrypted=!0,e.pathCache.push(i.hash,i),o.put(h.P(s,i.hash),i.toRaw()))}async decryptKeys(e,t){var i,r,s=e.wid,n=await e.getPaths(),o=this.batch(e);for(i of n)i.data&&(a(i.encrypted),r=Buffer.from(i.hash,"hex").slice(0,16),(i=i.clone()).data=d.decipher(i.data,t,r),i.encrypted=!1,e.pathCache.push(i.hash,i),o.put(h.P(s,i.hash),i.toRaw()))}async resend(){var e,t={};for(const e of await this.db.keys({gte:h.w(0),lte:h.w(4294967295)})){var i=h.ww(e),r=await this.resendPending(i);r&&Array.isArray(r)&&(t[i]=r)}for(e of Object.keys(t))if(await this.get(parseInt(e)))for(const i of t[e]){try{await this.send(i)}catch(e){this.logger.warning("wdb resend:",e.message)}await se.timeout(50)}}async resendPending(e){var t=await this.get(e),i=await this.db.keys({gte:u.txdb.prefix(e,u.txdb.p(P.NULL_HASH)),lte:u.txdb.prefix(e,u.txdb.p(P.HIGH_HASH))});if(0!==i.length){this.logger.info("Rebroadcasting %d transactions for %d.",i.length,e);var r=[];for(const o of i){var a=u.txdb.pp(o),s=u.txdb.prefix(e,u.txdb.t(a));if((s=await this.db.get(s))&&!(s=re.fromRaw(s)).tx.isCoinbase())try{var n=await b.FactoryOfContract({tx:s.tx,env:this});await n.isBlockFinal()==w.Expired?t&&(await this.removeTX(s.tx),await t.remove(a),await n.erase()):"notify"!=n.oper&&r.push(s.tx)}catch(e){this.logger.error("TX(%s) Smart Contract Error: %s",s.tx.txid(),e.message)}}return A(r)}}getWallets(){return this.db.keys({gte:h.l("\0"),lte:h.l("ÿ"),parse:h.ll})}async getWalletsByTX(e){var t=new Set;if(!e.isCoinbase())for(const r of e.inputs){var i=r.prevout;if(this.testFilter(i.toRaw())&&(i=await this.getOutpointMap(i.hash,i.index)))for(const e of i.wids)t.add(e)}for(const i of e.getOutputHashes("hex"))if(this.testFilter(i)){var r=await this.getPathMap(i);if(r)for(const e of r.wids)t.add(e)}return 0===t.size?null:t}async getState(){var e=await this.db.get(h.R);return e?Z.fromRaw(e):null}async init(e){var t=this.options.startHeight;let i;if(this.client){if(null!=t){if(!(i=await this.client.getEntry(t)))throw new Error("WDB: Could not find start block.")}else i=await this.client.getTip();i=te.fromEntry(i)}else i=te.fromEntry(this.network.genesis);this.logger.info("Initializing AccountDB chain state (height %d).",i.height),(t=await this.getState())?this.state=t:await this.resetState(i,!1),await this.ensure({id:"primary",witness:!0,mnemonic:this.options.mnemonic}),e&&e.backup&&await this.loadBackup(e.backup)}async resetState(e,t){for(var i=this.state.clone(),r=(i.startHeight=e.height,i.startHash=e.hash,i.height=e.height,i.marked=t,this.db.batch()),a=this.db.iterator({gte:h.h(e.height),lte:h.h(4294967295),values:!1});;){var s=await a.next();if(!s)break;try{r.del(s.key)}catch(e){throw await a.end(),e}}r.put(h.h(e.height),e.toHash()),r.put(h.R,i.toRaw()),await r.write(),this.state=i}async syncState(e){var t=this.state.clone(),i=this.db.batch();if(e.height<t.height){let a=t.height;var r=a-e.height;for(let e=0;e<r;e++)i.del(h.h(a--))}else e.height>t.height&&a(e.height===t.height+1,`Bad chain sync tip ${e.height} while state `+t.height);t.height=e.height,i.put(h.h(e.height),e.toHash()),i.put(h.R,t.toRaw()),await i.write(),this.state=t,V("block/tips",t)}get curHeight(){return this.state.height}get tidCreator(){return u.txdb.tx}get finder(){return this.getTXFromDb.bind(this)}rpcExecute(){return this.rpc.execute.apply(this.rpc,arguments)}async getBlockMap(e){var t=await this.db.get(h.b(e));return t?ee.fromRaw(e,t):null}writeBlockMap(e,t,i){this.batch(e).put(h.b(t),i.toRaw())}unwriteBlockMap(e,t){this.batch(e).del(h.b(t))}async getOutpointMap(e,t){var i=await this.db.get(h.o(e,t));return i?J.fromRaw(e,t,i):null}writeOutpointMap(e,t,i,r){e=this.batch(e),this.addOutpoint(t,i),e.put(h.o(t,i),r.toRaw())}unwriteOutpointMap(e,t,i){this.batch(e).del(h.o(t,i))}async writeBalanceLog(e,t){var i=h.log(e.wid,t.aidx,t.height,t.hash),r=(t=Buffer.from(JSON.stringify(t)),await this.writeLock.lock());try{this.start(e).put(i,t),await this.commit(e)}finally{r()}}async queryBalanceLog(e,t,i=0){return this.db.values({gte:h.log(e,t,i,P.NULL_HASH),lte:h.log(e,t,this.curHeight,P.HIGH_HASH),parse:e=>JSON.parse(e.toString())})}async getBlock(e){var t,i=await this.db.get(h.h(e));return i?((t=new te).hash=i.toString("hex"),t.height=e,t):null}async getTip(){var e=await this.getBlock(this.curHeight);if(e)return e;throw new Error("WDB: Tip not found!")}async rollback(e,t=!0){if(e>this.curHeight)throw new Error("WDB: Cannot rollback to the future.");if(e===this.curHeight)return this.logger.debug("Rolled back to same height (%d).",e),!0;this.logger.info("Rolling back %d AccountDB blocks to height %d.",this.curHeight-e,e);var i=await this.getBlock(e);let r=!1;return i?(await this.revert(i.height),await this.syncState(i),t):(i=new te,e>=this.state.startHeight?(i.height=this.state.startHeight,i.hash=this.state.startHash,r=this.state.marked,this.logger.warning("Rolling back AccountDB to start block (%d).",i.height)):(i.height=0,i.hash=this.network.genesis.hash,r=!1,this.logger.warning("Rolling back AccountDB to genesis block.")),await this.revert(i.height),await this.resetState(i,r),!1)}async revert(e){var t=this.db.iterator({gte:h.b(e+1),lte:h.b(4294967295),reverse:!0,values:!0});let i=0;for(;;){var r=await t.next();if(!r)break;try{var a=h.bb(r.key),s=ee.fromRaw(a,r.value).toArray();i+=s.length;for(let e=s.length-1;0<=e;e--)await this._unconfirm(s[e])}catch(e){throw await t.end(),e}}this.logger.info("Rolled back %d AccountDB transactions.",i)}async addBlock(e,t){var i=await this.txLock.lock();try{return await this._addBlock(e,t)}finally{i()}}async _addBlock(e,t){var i=te.fromEntry(e);let r=0;if(i.height<this.curHeight)this.logger.warning("AccountDB is connecting low blocks (%d).",i.height);else{if(i.height===this.curHeight)this.logger.warning("Already saw AccountDB block (%d).",i.height);else if(i.height!==this.curHeight+1)throw new Error(`WDB(addBlock): Bad disconnection (height mismatch, tip ${i.height} while state ${this.curHeight})`);if(await this.syncState(i),await this.propList.save(),!(this.options.checkpoints&&i.height<=this.network.lastCheckpoint)){for(const e of t)await this._insert(e,i)&&r++;0<r&&this.logger.info("Connected AccountDB block %s (tx=%d).",j.revHex(i.hash),r)}}return r}async removeBlock(e,t){var i=await this.txLock.lock();try{return await this._removeBlock(e,t)}finally{i()}}async _removeBlock(e,t){if((e=te.fromEntry(e)).height>this.curHeight)return this.logger.warning("AccountDB is disconnecting high blocks (%d).",e.height),0;if(e.height!==this.curHeight)throw new Error(`WDB(removeBlock): Bad disconnection (height mismatch, tip ${e.height} / ${j.revHex(e.hash)} while state ${this.curHeight})`);var i=await this.getBlock(e.height-1);if(!i)throw new Error(`WDB(removeBlock): Bad disconnection (no previous block of ${e.height} / ${j.revHex(e.hash)}).`);var r=await this.getBlockMap(e.height);if(r){for(let e=t.length-1;0<=e;e--){var a=t[e];await this._unconfirm(a,r)}this.logger.warning("Disconnected wallet block %s (tx=%d).",j.revHex(e.hash),r.txs.size)}return await this.syncState(i),await this.propList.save(),r?r.txs.size:0}async rescanBlock(e,t){if(this.rescanning){var i=await this.scanLock.lock();try{await this._addBlock(e,t)}catch(e){throw this.emit("error",e),e}finally{i()}}else this.logger.warning("Unsolicited rescan block: %s.",e.height)}async addTX(e,t,i){var r=await this.txLock.lock();try{return await this._insert(e,t,i)}finally{r()}}listNotify(e){return this.NotifyList.deletes([["h","<",this.curHeight-12]]),this.NotifyList.query(e)}listContact(e,t,i){return this.$contacts.query(e,t,i)}async setCp(e){await this.batchPut(u.txdb.cp(e.cid),e.toRaw())}async delCp(e){await this.batchDel(u.txdb.cp(e))}async delVp(e){var t=this.db.batch();t.del(u.txdb.VP(e.pid)),await t.write()}async setVp(e,t){var i=this.db.batch();i.put(u.txdb.VP(e.pid),e.toRaw()),await i.write()}async getVp(e){return(e=await this.db.get(u.txdb.VP(e)))?W.fromRaw(e):null}async getVpByAddress(e){return{list:[],count:0}}async getVpByOid(e){return{list:[],count:0}}async loadVpList(){return this.db.values({gte:u.txdb.VP(P.ZERO_CID,"hex"),lte:u.txdb.VP(P.MAX_CID,"hex"),parse:e=>W.fromRaw(e)})}async saveContact(e){var t=this.db.batch();t.put(u.txdb.CT(e.getAddress()),e.toRaw()),await t.write()}async loadContact(e){var t;for(t of await this.db.values({gte:u.txdb.CT(P.ZERO_HASH160_HEX),lte:u.txdb.CT(P.MAX_HASH160_HEX),parse:e=>S.fromRaw(e,this)}))t.sender&&(t.sender.wallet=await this.get(t.sender.wid)),this.$contacts.set(t.address,t)}async delHtlc(e){var t;(e=new F(e)).id&&(this.htlcList.delete(e.id),this.htlcList.delAccount(e),(t=this.db.batch()).del(u.txdb.VH(e.shash,e.sidx)),await t.write())}async setSuggest(e){e=new F(e);var t,[t,i]=(this.htlcList.set(e.id,e),await this.getAccountByAddress(e.aa)),[t,i]=(t&&this.htlcList.setAccount(e,t,i),await this.getAccountByAddress(e.ba));(t=(t&&this.htlcList.setAccount(e,t,i),this.db.batch())).put(u.txdb.VH(e.shash,e.sidx),e.toRaw()),await t.write()}async setAssent(e){e=new F(e);var t,[t,i]=(this.htlcList.set(e.id,e),await this.getAccountByAddress(e.ab)),[t,i]=(t&&this.htlcList.setAccount(e,t,i),await this.getAccountByAddress(e.bb));(t=(t&&this.htlcList.setAccount(e,t,i),this.db.batch())).put(u.txdb.VH(e.shash,e.sidx),e.toRaw()),await t.write()}async loadHtlcList(){return this.db.values({gte:u.txdb.VH(P.ZERO_CID,0),lte:u.txdb.VH(P.MAX_CID,4294967295),parse:e=>F.fromRaw(e)})}async delComment(e){var t;(e=new M(e)).id&&(this.commentList.delete(e.id),this.commentList.delAccount(e),(t=this.db.batch()).del(u.txdb.VC(e.shash,e.sidx)),await t.write())}async setComment(e){e=new M(e);var t,[t,i]=(this.commentList.set(e.id,e),await this.getAccountByAddress(e.bob));(t=(t&&(this.commentList.setAccount(e,t,i),this.emit("comm.comment",e)),this.db.batch())).put(u.txdb.VC(e.shash,e.sidx),e.toRaw()),await t.write()}async loadCommentList(){return this.db.values({gte:u.txdb.VC(P.ZERO_CID,0),lte:u.txdb.VC(P.MAX_CID,4294967295),parse:e=>M.fromRaw(e)})}async delEr(e){var t=this.db.batch();t.del(u.txdb.ER(e.erid)),t.del(u.txdb.ERR(e.witness,e.erid,e.txid)),await t.write()}async setEr(e,t){t&&e.source&&(i=g.fromWitnessPubkeyhash(l.hash160(Buffer.from(e.source.pubkey,"hex")),this.network),[i,t]=await this.getAccountByAddress(i,t),e.wid=i,e.account=t);var i=this.db.batch();t=u.txdb.ERR(e.witness,e.erid,e.txid);i.put(t,e.toRaw()),i.put(u.txdb.ER(e.erid),t),await i.write()}async getEr(e){var t;return(e=await this.db.get(u.txdb.ER(e)))&&([,,t]=u.txdb.ERRR(e),e=await this.db.get(e))?((e=Y.fromRaw(e)).txid=t,e):null}async byPubkey(e,t,i=!1){var r,a=new _;e=await this.db.values({gte:u.txdb.ERR(e,P.NULL_HASH,P.NULL_HASH),lte:u.txdb.ERR(e,P.HIGH_HASH,P.HIGH_HASH),parse:e=>Y.fromRaw(e)});let s=[],n=new Map;if(i){for(var o of e)(!n.get(o.source.cluster)||o.startHeight>n.get(o.source.cluster).startHeight)&&n.set(o.source.cluster,await this.caVerifyObj(o));s=n.values()}else s=e;for(r of s)a.set(r.erid,r);return a.query(t)}async caVerifyObj(e){var t={verify:!1};if(!e||e.validHeight<=this.curHeight)return t;var i=await this.erAbList.getErAb(e.erid);return i&&i.abolishHeight<this.curHeight?t:(i=ae.fromPublic(Buffer.from(e.witness,"hex"),this.network.type),e.verify(i)?(e.verify=!0,0<(i=this.cpList.query([["pubKey",e.witness]])).list.length&&(e.cpid=i.list[0].cid),e):t)}async delErAbolish(e){var t=this.db.batch();t.del(u.txdb.ERA(e.erid)),await t.write()}async setErAbolish(e){var t=this.db.batch();t.put(u.txdb.ERA(e.erid),e.toRaw()),await t.write()}async getErAbolish(e){return(e=await this.db.get(u.txdb.ERA(e)))?q.fromRaw(e):null}loadErAbolishList(){return this.db.values({gte:u.txdb.ERA(P.ZERO_CID),lte:u.txdb.ERA(P.MAX_CID),parse:e=>q.fromRaw(e)})}async delAudit(e){var t=this.db.batch();t.del(u.txdb.AU(e.erid)),await t.write()}async setAudit(e){var t=this.db.batch();t.put(u.txdb.AU(e.erid),e.toRaw()),await t.write()}async getAudit(e){return(e=await this.db.get(u.txdb.AU(e)))?X.fromRaw(e):null}async loadAuditList(){return this.db.values({gte:u.txdb.AU(P.NULL_HASH),lte:u.txdb.AU(P.HIGH_HASH),parse:e=>X.fromRaw(e)})}async batchPut(e,t){var i=this.db.batch();i.put(e,t),await i.write()}async batchDel(e){var t=this.db.batch();t.del(e),await t.write()}async _insert(e,t,i){a(!e.mutable,"WDB: Cannot add mutable TX.");let r=await this.getWalletsByTX(e);if(r){this.logger.info("Incoming transaction for %d wallets in AccountDB (%s).",r.size,e.txid()),!t||this.state.marked||(this.logger.info("Marking AccountDB start block at %s (%d).",j.revHex(t.hash),t.height),await this.resetState(t,!0));let n=!1;for(const o of r){var s=await this.get(o);a(s),await s.add(e,t,i)&&(this.logger.info("Added transaction to wallet in AccountDB: %s (%d).",s.id,o),n=!0)}n||(r=null)}try{var n=await b.FactoryOfContract({env:this,block:t,tx:e});t?await n.confirm():await n.insert()}catch(n){t?this.logger.error("TX(%s) Smart Contract Confirm Error: %s",e.txid(),n.message):this.logger.error("TX(%s) Smart Contract Insert Error: %s",e.txid(),n.message)}return r}async _unconfirm(e,t){if(t)try{await(await b.FactoryOfContract({env:this,block:t,tx:e})).unconfirm()}catch(t){this.logger.error("TX(%s) Smart Contract Unconfirm Error: %s",e.txid(),t.message)}let i,r=null;if(i=e.wids?(r=e.wids,e.hash):(r=await this.getWalletsByTX(e),e.hash("hex")),!r)return null;for(const e of r){var s=await this.get(e);a(s),await s.unconfirm(i)}}async resetChain(e){var t=await this.txLock.lock();try{return await this._resetChain(e)}finally{t()}}async _resetChain(e){if(e.height>this.curHeight)throw new Error(`WDB: Bad reset height ${e.height} while curHeight `+this.curHeight);var t;for(t of(await this.rollback(e.height)||await this._rescan(),await this.getWallets())){var i=await this.get(t);for(const t of await i.getPending())try{await i.abandon(t.hash)}catch(e){}}}async saveMSTrans(e){var t=await this.writeLock.lock();try{return await this._saveMSTrans(e)}finally{t()}}async _saveMSTrans(e){var t=this.db.batch();t.put(h.ms(g.getHash(e.addr,"hex"),e.txid),Buffer.from(JSON.stringify(e))),await t.write()}async listMSTrans(e){return e=g.getHash(e,"hex"),this.db.values({gte:h.ms(e,P.NULL_HASH),lte:h.ms(e,P.HIGH_HASH),parse:e=>JSON.parse(e.toString())})}async delMSTrans(e,t){var i=await this.writeLock.lock();try{return await this._delMSTrans(e,t)}finally{i()}}async _delMSTrans(e,t){e=g.getHash(e,"hex");var i=this.db.batch();i.del(h.ms(e,t)),await i.write()}}he.layout=h,e.exports=he},function(e,t,i){"use strict";
833
+ */const r=i(8),a=i(0),s=i(73),n=i(119),o=i(157),c=i(610),u=i(85),h=u.walletdb,l=i(6),p=i(158),d=i(125),f=i(167);var{}=i(32);const m=i(45),g=i(13);i(20),i(69);const v=i(197),y=i(68),b=i(50),{BlockFinalType:w,ContractEnvType:x}=i(5),k=i(159),S=i(612),_=i(37);var E=i(72);const j=i(2),A=i(141).sortWithSeq,R=i(35),I=i(198),O=i(64),C=i(100),P=i(3),T=P.U32,B=i(338),N=i(339),z=i(340),F=z.vpItem,L=i(617),M=L.vpItem,D=i(312);i(618);const H=D.cpItem,U=i(154),q=U.ErAbolishItem,V=i(38).broadcast,K=i(132),W=K.vpItem,$=i(153),Y=$.ErItem,G=i(619),X=G.AuditItem,J=i(305),Q=i(109),Z=i(620),ee=i(306),te=i(120),ie=i(621),re=i(217),ae=i(39),se=i(36),ne=i(59),oe=i(78),ce=oe.errors,ue=i(77);class he extends E{constructor(e){super(),this.readyLoad=!1,this.options=new c(e),this.network=this.options.network,this.logger=this.options.logger.context("wallet"),this.workers=this.options.workers,this.keys={hmacSalt:P.DefaultChainCode},e.keys&&e.keys.hmacSalt&&(a(Buffer.isBuffer(e.keys.hmacSalt)),this.keys.hmacSalt=e.keys.hmacSalt),this.client=this.options.client,this.client&&(this.client.wdb=this),this.jsonp=this.options.jsonp,this.jsonp&&(this.jsonp.wdb=this),this.spv=this.options.spv,this.feeRate=this.options.feeRate,this.db=f(this.options),this.rpc=new B(this),this.primary=null,this.state=new Z,this.wallets=new Map,this.depth=0,this.rescanning=!1,this.bound=!1,this.newRecord=!0,this.readLock=new I,this.writeLock=new R,this.txLock=new R,this.scanLock=new R,this.widCache=new O(1e4),this.pathMapCache=new O(1e5),this.filter=new C,this.middleHashMem=new Set,this.middleHashChain=new Set,this.autoTaskMgr=new k(this),this.transactionList=new N(this),this.htlcList=new z(this),this.commentList=new L(this),this.NotifyList=new _,this.propList=new K(this),this.$contacts=new _,this.cpList=new D(this),this.cpMemList=new D(this),this.auditList=new G(this),this.erList=new $(this),this.erAbList=new U(this),this.hmacConnection=[],this._init()}async logAudit(e){e.height=this.curHeight,e.time=j.now(),e.erid=l.sha256(j.stringify(e)).toString("hex"),e=new X(e),await this.auditList.setAudit(e)}async getAccountByAddress(e,t){if(e){let a=null;if(a=t?await this.getWalletsByTX(t):await this.getWallets())for(const t of a){var i=await this.get(t);if(i){var r=await i.getPath(e);if(r)return[i.wid,r.name,i.id]}}}return[0,"",""]}_init(){let e=1e6,t=-1;this.spv&&(e=2e4,t=C.flags.ALL),this.filter=C.fromRate(e,.001,t)}get mode(){return x.Wallet}async getTXFromAll(e){return this.getTXFromDb(e)}async checkNewRecord(){var e={createIfMissing:this.db.options.createIfMissing,errorIfExists:this.db.options.errorIfExists};this.db.options.createIfMissing=!1,this.db.options.errorIfExists=!0;try{await this.db.open();var t=await this.db.checkVersion(h,6);this.newRecord="new"==t}catch(e){if(-1!=e.message.indexOf("does not exist (create_if_missing is false)"))this.newRecord=!0;else{if(-1==e.message.indexOf("exists (error_if_exists is true)"))throw e;this.newRecord=!1}}try{await this.db.close()}catch(e){}this.db.options.createIfMissing=e.createIfMissing,this.db.options.errorIfExists=e.errorIfExists}async isNewRecord(){return await this.checkNewRecord(),this.newRecord}setmnemonic(e){if(this.options.mnemonic=this.options.mnemonic||{},e.bits)this.options.mnemonic={bits:e.bits};else if(e.entropy)this.options.mnemonic={entropy:Buffer.from(e.entropy,"hex")};else if(e.phrase){var t=this.testmnemonic(e.phrase);if(0!=t.code)throw t.msg;this.options.mnemonic={phrase:e.phrase}}e.passphrase&&(this.options.mnemonic.passphrase=e.passphrase),e.language&&(this.options.mnemonic.language=e.language)}testmnemonic(e){try{return new v(e),{code:0}}catch(e){return{code:-1,msg:e.message}}}async getContracts(e){var t=await this.db.values({gte:u.txdb.tx(P.NULL_HASH),lte:u.txdb.tx(P.HIGH_HASH),parse:e=>j.parseJson(e.toString())});return e?t.filter(t=>t.srcact==e||t.dstact==e):t}isFull(){return this.spv||this.synced||!1}async _open(e){}async handleNotify(e,t=!1){if(!t){let i=e.body.content;if("string"==typeof i)try{i=JSON.parse(e.body.content)}catch(e){return}"object"==typeof i&&"secret"===i.type&&(t={contact:e.body.src,messenger:e.body.dst},i.init&&(t.init=Buffer.from(i.init,"hex")),i.packet&&(t.packet=Buffer.from(i.packet)),await this.handleSecret(t))}}async handleSecret(e){if(e.contact&&e.messenger&&e.contact!=e.messenger){try{g.fromString(e.contact,this.network.type),g.fromString(e.messenger,this.network.type)}catch(e){return}var t=await this.ensureContact(e);t&&await t.ensureMessenger(e).answer(e)}}async scanContact(e,t=-1){var i=async e=>{var t;e.witness&&"witnesspubkeyhash"==e.getType()&&(t=e.witness.getPubkeyhashInput()[1],e=g.fromWitness(e.witness).toString(),t)&&e&&await this.ensureContact({contact:e,publicKey:t})};if(0<=t&&t<e.inputs.length)await i(e.inputs[t]);else for(var r of e.inputs)await i(r)}async ensureContact(e){if(!e.contact||e.contact==e.messenger)return null;try{g.fromString(e.contact,this.network.type),e.messenger&&g.fromString(e.messenger,this.network.type)}catch(e){return null}e.network=this.network.type,this.$contacts.get(e.contact)||this.$contacts.set(e.contact,new S(e));var t=this.$contacts.get(e.contact);if(e.messenger&&!(e=t.ensureMessenger(e)).wallet){var i,[i,r]=await this.getAccountByAddress(e.address);if(!(i=await this.get(i)))return;e.wallet=i,e.account=r}return t}getCps(){return this.db.values({gte:u.txdb.cp(P.ZERO_CID,"hex"),lte:u.txdb.cp(P.MAX_CID,"hex"),parse:e=>H.fromRaw(e)})}async _close(){await this.disconnect(),this.http&&this.options.listen&&await this.http.close();for(const e of this.wallets.values())await e.destroy();await this.db.close(),this.options.listen&&await this.logger.close()}async destroy(){await this.db.destroy(),this.widCache.reset(),this.pathMapCache.reset()}async load(e){if(this.readyLoad){var t=await this.ensure({id:"primary",witness:!0,mnemonic:this.options.mnemonic}),i=await this.txLock.lock();try{await this.init(e),await this.watch(),await t.createReceive(0,1,t.master,this.network.type),await t.ensureNotifyKey(),await this.sync()}finally{i()}setTimeout(()=>{this.resend()},5e3)}}async disconnect(){this.client&&await this.client._close(),this.jsonp&&await this.jsonp._close()}async flushCP(e,t=!1){this.client&&(e=e||[],t||(e=this.cpList.excludeCids(e),t=t||0<e.length),t)&&await this.client.execute("cp.remoteQuery",[[["cid","include",e]]])}async watch(){let e=this.db.iterator({gte:h.p(P.NULL_HASH),lte:h.p(P.HIGH_HASH)}),t=0,i=0;for(;;){var r=await e.next();if(!r)break;try{var a=h.pp(r.key);this.addHash(a,!1)}catch(t){throw await e.end(),t}t++}for(e=this.db.iterator({gte:h.o(P.NULL_HASH,0),lte:h.o(P.HIGH_HASH,4294967295)});;){var s=await e.next();if(!s)break;try{var[n,o]=h.oo(s.key);this.addOutpoint(n,o)}catch(t){throw await e.end(),t}i++}this.logger.info("Filter: Added %d hashes to AccountDB filter.",t),this.logger.info("Filter: Added %d outpoints to AccountDB filter.",i),await this.setFilter()}async sync(){if(this.client){let t,i=this.curHeight;for(;0<=i;){var e=await this.getBlock(i);if(!e)break;if(t=await this.client.getEntry(e.hash))break;i--}t||(i=this.state.startHeight,t=await this.client.getEntry(this.state.startHash))||(i=0),await this.cpList.loadHistory(),await this.cpMemList.loadHistory(),await this.propList.loadHistory(),await this.htlcList.loadHistory(),await this.commentList.loadHistory(),await this.transactionList.loadHistory(),await this.loadContact(),await this.erList.loadHistory(),await this.auditList.loadHistory(),await this.erAbList.loadHistory(),await this._rescan(i,!1)}}async _rescan(e,t=!0){if(this.client){null==e&&(e=this.state.startHeight),a(e>>>0===e,"WDB: Must pass in a height.");var i=this.curHeight;t=(await this.rollback(e,t),this.logger.info("AccountDB is scanning %d blocks.",i-e+1),await this.getTip());try{this.rescanning=!0,await this.client.rescan(t.hash,this.eid)}finally{this.rescanning=!1}}}async rescan(e){var t=await this.txLock.lock();try{return await this._rescan(e,!1)}finally{t()}}async send(e){return this.client?this.client.send(e):(this.emit("send",e),Promise.resolve())}async getTX(e){for(const i of this.wallets.values()){var t=await i.getTX(e);if(t)return t.tx}return null}async getTXFromDb(e){for(const i of this.wallets.values()){var t=await i.getTX(e);if(t)return t.tx}return null}async getExtendTX(e){for(const i of this.wallets.values()){var t=await i.getTX(e);if(t)return t}return null}async removeTX(e){this.client?await this.client.removeTX(e):this.emit("remove",e)}async estimateFee(e){return 0<this.feeRate?this.feeRate:!this.client||(e=await this.client.estimateFee(e))<this.network.feeRate?this.network.feeRate:e>this.network.maxFeeRate?this.network.maxFeeRate:e}setFilter(){return this.client?this.client.setFilter(this.filter):(this.emit("filter.set",this.filter),Promise.resolve())}resetFilter(){return this.client?this.client.resetFilter():(this.emit("filter.reset"),Promise.resolve())}backup(e){return this.db.backup(e)}async wipe(){this.logger.warning("Wiping AccountDB TXDB..."),this.logger.warning("I hope you know what you're doing.");var e=this.db.iterator({gte:Buffer.from([0]),lte:Buffer.from([255])}),t=this.db.batch();let i=0;for(;;){var r=await e.next();if(!r)break;try{switch(r.key[0]){case 98:case 99:case 101:case 116:case 111:case 104:case 82:t.del(r.key),i++}}catch(t){throw await e.end(),t}}this.logger.warning("Wiped %d txdb records.",i),await t.write()}async getDepth(){var e=this.db.iterator({gte:h.w(0),lte:h.w(4294967295),reverse:!0,limit:1}),t=await e.next();return t?(await e.end(),h.ww(t.key)+1):1}start(e){return a(!e.current,"WDB: Batch already started."),e.current=this.db.batch(),e.accountCache.start(),e.pathCache.start(),e.current}drop(e){var t=this.batch(e);e.current=null,e.accountCache.drop(),e.pathCache.drop(),t.clear()}clear(e){var t=this.batch(e);e.accountCache.clear(),e.pathCache.clear(),t.clear()}batch(e){return a(e.current,"WDB: Batch does not exist."),e.current}async commit(e){var t=this.batch(e);try{await t.write()}catch(e){throw this.drop(),e}e.current=null,e.accountCache.commit(),e.pathCache.commit()}testFilter(e){return this.filter.test(e,"hex")}addHash(e,t=!0){this.filter.add(e,"hex"),t&&(t=Buffer.from(e,"hex"),this.client?this.client.addFilter(t):this.emit("filter.add",t))}addOutpoint(e,t){e=new m(e,t),this.filter.add(e.toRaw())}dump(){return this.db.dump()}register(e){a(!this.wallets.has(e.wid)),this.wallets.set(e.wid,e)}unregister(e){a(this.wallets.has(e.wid)),this.wallets.delete(e.wid)}async getWalletID(e){var t;return e?"number"==typeof e?e:this.widCache.get(e)||((t=await this.db.get(h.l(e)))?(t=t.readUInt32LE(0,!0),this.widCache.set(e,t),t):null):null}async get(e){if(!(e=await this.getWalletID(e)))return null;var t=await this.readLock.lock(e);try{return await this._get(e)}finally{t()}}async _get(e){var t=this.wallets.get(e);return t||((t=await this.db.get(h.w(e)))?(await(e=n.fromRaw(this,t)).open(),this.register(e),e):null)}async loadBackup(e){if(ne.unsupported)throw new ue(ce.INTERNAL_ERROR,"FS not available.");let t=null;var i;for(i of(await ne.readFile(e,"utf8")).split(/\n+/))if(0!==(i=i.trim()).length&&!/^\s*#/.test(i)){var r=i.split(/\s+/);if(r.length<4)throw new ue(ce.DESERIALIZATION_ERROR,"Malformed wallet Data File.");switch(r[0]){case"W":var s=Buffer.from(r[1],"base64");s=n.fromRaw(this,s);await this.replace(s),t=await this.get(s.id),this.logger.info("Import Wallet %s(%s)",t.id,t.wid);break;case"C":s=Buffer.from(r[1],"base64");(c=((u=o.fromRaw(this,s)).wallet=t,u.wid=t.wid,u.id=t.id,u.initialized=!0,u.watchOnly=t.watchOnly,u.receive=u.deriveReceive(u.receiveDepth-1),u.change=u.deriveChange(u.changeDepth-1),u.witness&&(u.nested=u.deriveNested(u.nestedDepth-1)),t.master.key.deriveAccount(44,u.accountIndex))).publicKey.toString("hex")!==u.accountKey.publicKey.toString("hex")&&a(c.publicKey.toString("hex")==u.accountKey.publicKey.toString("hex")),await t.saveAccount(u),this.logger.info("Import Account %s(%s)",u.name,u.accountIndex);break;case"A":var c=oe.parseSecret(r[1],this.network),u=parseInt(r[5]),h=parseInt(r[7]),l=parseInt(r[9]),p=r[11].trim();if(h<0||l<0)try{await t.importKey(u,c)}catch(e){this.logger.error(`loadBackup: ${e.message} account/secret: ${u}/`+p)}else{var d=await t.deriveKey(u,h,l),f=await t.deriveKey(u,h,l,t.master);d.getAddress("string")!==f.getAddress("string")&&this.logger.error(`loadBackup: not-equal-1: ${d.getAddress("string")} != `+f.getAddress("string")),d.getAddress("string")!==p&&this.logger.error(`loadBackup: not-equal-2: ${d.getAddress("string")} != `+p)}this.logger.info("Import Address %s %s %s %s",u,h,l,p)}}return t.accountCache.reset(),t}save(e){var t=e.wid,i=e.id,r=this.batch(e);this.widCache.set(i,t),r.put(h.w(t),e.toRaw()),r.put(h.l(i),T(t))}async rename(e,t){var i=await this.writeLock.lock();try{return await this._rename(e,t)}finally{i()}}async _rename(e,t){var i=e.id;if(!s.isName(t))throw new Error("WDB: Bad wallet ID.");if(await this.has(t))throw new Error("WDB: ID not available.");this.start(e).del(h.l(i)),e.id=t,this.save(e),await this.commit(e),this.widCache.remove(i),i=e.pathCache.values();for(const e of i)e.id=t}async replace(e){var t=await this.writeLock.lock();try{return await this._replace(e)}finally{t()}}async _replace(e){var t=this.start(e);t.del(h.l(e.id)),t.del(h.w(e.wid)),this.save(e),await this.commit(e),this.widCache.remove(e.id),this.wallets.delete(e.wid)}renameAccount(e,t){var i=e.wallet;this.batch(i).del(h.i(e.wid,e.name)),e.name=t,this.saveAccount(e)}async auth(e,t){if("string"==typeof t){if(!j.isHex256(t))throw new Error("WDB Authentication: Invalid Token.");t=Buffer.from(t,"hex")}e=y.getHmac(e.toString(),this.keys.hmacSalt);var i=r.createHmac("sha256",e.random);i=Buffer.from(i.update(e.token).digest("hex"),"hex");if(!p(t,i))throw new Error("WDB Authentication: CRC Error.")}async create(e){var t=await this.writeLock.lock();e=e||{};try{return await this._create(e)}finally{t()}}async _create(e){if(await this.has(e.id))throw new Error("WDB: Wallet already exists.");"string"==typeof e.mnemonic&&(e.mnemonic={phrase:e.mnemonic}),e.mnemonic=e.mnemonic||{},!e.mnemonic.language&&this.options.mnemonic&&this.options.mnemonic.language&&(e.mnemonic.language=this.options.mnemonic.language);var t=n.fromOptions(this,e);return t.wid=this.depth++,await t.init(e),this.register(t),this.logger.info("Created wallet %s in AccountDB.",t.id),t}async has(e){return null!=await this.getWalletID(e)}async ensure(e){return await this.get(e.id)||this.create(e)}async getAccount(e,t){return(e=await this.db.get(h.a(e,t)))?o.fromRaw(this,e):null}getAccounts(e){return this.db.values({gte:h.n(e,0),lte:h.n(e,4294967295),parse:e=>e.toString("ascii")})}async getAccountMap(e){for(var t={},i=this.db.iterator({gte:h.n(e,0),lte:h.n(e,4294967295),values:!0});;){var r=await i.next();if(!r)break;try{var[,a]=h.nn(r.key);t[a]=r.value.toString("ascii")}catch(e){throw await i.end(),e}}return t}async getAccountIndex(e,t){return(e=await this.db.get(h.i(e,t)))?e.readUInt32LE(0,!0):-1}async getAccountName(e,t){return(e=await this.db.get(h.n(e,t)))?e.toString("ascii"):null}saveAccount(e){var t=e.wid,i=e.wallet,r=e.accountIndex,a=e.name,s=this.batch(i);s.put(h.a(t,r),e.toRaw()),s.put(h.i(t,a),T(r)),s.put(h.n(t,r),Buffer.from(a,"ascii")),i.accountCache.push(r,e)}hasAccount(e,t){return"number"==typeof e&&"number"==typeof t&&this.db.has(h.a(e,t))}async getPathMap(e){var t=this.pathMapCache.get(e);return t||((t=await this.db.get(h.p(e)))?(t=ie.fromRaw(e,t),this.pathMapCache.set(e,t),t):null)}saveKey(e,t){return this.savePath(e,t.toPath())}async savePath(e,t){var i=e.wid,r=t.hash,a=this.batch(e);this.addHash(r);let s=await this.getPathMap(r);(s=s||new ie(r)).add(i)&&(this.pathMapCache.set(r,s),e.pathCache.push(r,t),a.put(h.p(r),s.toRaw()),a.put(h.P(i,r),t.toRaw()),a.put(h.r(i,t.account,r),null))}async getPath(e,t){var i=await this.db.get(h.P(e,t));return i?((i=Q.fromRaw(i)).wid=e,i.hash=t,i):null}hasPath(e,t){return this.db.has(h.P(e,t))}getHashes(){return this.db.keys({gte:h.p(P.NULL_HASH),lte:h.p(P.HIGH_HASH),parse:h.pp})}getOutpoints(){return this.db.keys({gte:h.o(P.NULL_HASH,0),lte:h.o(P.HIGH_HASH,4294967295),parse:e=>{var[e,t]=h.oo(e);return new m(e,t)}})}getWalletHashes(e){return this.db.keys({gte:h.P(e,P.NULL_HASH),lte:h.P(e,P.HIGH_HASH),parse:h.Pp})}getAccountHashes(e,t){return this.db.keys({gte:h.r(e,t,P.NULL_HASH),lte:h.r(e,t,P.HIGH_HASH),parse:h.rr})}async getWalletPaths(e){var t=[];for(const a of await this.db.range({gte:h.P(e,P.NULL_HASH),lte:h.P(e,P.HIGH_HASH)})){var i=h.Pp(a.key),r=Q.fromRaw(a.value);r.hash=i,r.wid=e,t.push(r)}return t}async encryptKeys(e,t){var i,r,s=e.wid,n=await e.getPaths(),o=this.batch(e);for(i of n)i.data&&(a(!i.encrypted),r=Buffer.from(i.hash,"hex").slice(0,16),(i=i.clone()).data=d.encipher(i.data,t,r),i.encrypted=!0,e.pathCache.push(i.hash,i),o.put(h.P(s,i.hash),i.toRaw()))}async decryptKeys(e,t){var i,r,s=e.wid,n=await e.getPaths(),o=this.batch(e);for(i of n)i.data&&(a(i.encrypted),r=Buffer.from(i.hash,"hex").slice(0,16),(i=i.clone()).data=d.decipher(i.data,t,r),i.encrypted=!1,e.pathCache.push(i.hash,i),o.put(h.P(s,i.hash),i.toRaw()))}async resend(){var e,t={};for(const e of await this.db.keys({gte:h.w(0),lte:h.w(4294967295)})){var i=h.ww(e),r=await this.resendPending(i);r&&Array.isArray(r)&&(t[i]=r)}for(e of Object.keys(t))if(await this.get(parseInt(e)))for(const i of t[e]){try{await this.send(i)}catch(e){this.logger.warning("wdb resend:",e.message)}await se.timeout(50)}}async resendPending(e){var t=await this.get(e),i=await this.db.keys({gte:u.txdb.prefix(e,u.txdb.p(P.NULL_HASH)),lte:u.txdb.prefix(e,u.txdb.p(P.HIGH_HASH))});if(0!==i.length){this.logger.info("Rebroadcasting %d transactions for %d.",i.length,e);var r=[];for(const o of i){var a=u.txdb.pp(o),s=u.txdb.prefix(e,u.txdb.t(a));if((s=await this.db.get(s))&&!(s=re.fromRaw(s)).tx.isCoinbase())try{var n=await b.FactoryOfContract({tx:s.tx,env:this});await n.isBlockFinal()==w.Expired?t&&(await this.removeTX(s.tx),await t.remove(a),await n.erase()):"notify"!=n.oper&&r.push(s.tx)}catch(e){this.logger.error("TX(%s) Smart Contract Error: %s",s.tx.txid(),e.message)}}return A(r)}}getWallets(){return this.db.keys({gte:h.l("\0"),lte:h.l("ÿ"),parse:h.ll})}async getWalletsByTX(e){var t=new Set;if(!e.isCoinbase())for(const r of e.inputs){var i=r.prevout;if(this.testFilter(i.toRaw())&&(i=await this.getOutpointMap(i.hash,i.index)))for(const e of i.wids)t.add(e)}for(const i of e.getOutputHashes("hex"))if(this.testFilter(i)){var r=await this.getPathMap(i);if(r)for(const e of r.wids)t.add(e)}return 0===t.size?null:t}async getState(){var e=await this.db.get(h.R);return e?Z.fromRaw(e):null}async init(e){var t=this.options.startHeight;let i;if(this.client){if(null!=t){if(!(i=await this.client.getEntry(t)))throw new Error("WDB: Could not find start block.")}else i=await this.client.getTip();i=te.fromEntry(i)}else i=te.fromEntry(this.network.genesis);this.logger.info("Initializing AccountDB chain state (height %d).",i.height),(t=await this.getState())?this.state=t:await this.resetState(i,!1),await this.ensure({id:"primary",witness:!0,mnemonic:this.options.mnemonic}),e&&e.backup&&await this.loadBackup(e.backup)}async resetState(e,t){for(var i=this.state.clone(),r=(i.startHeight=e.height,i.startHash=e.hash,i.height=e.height,i.marked=t,this.db.batch()),a=this.db.iterator({gte:h.h(e.height),lte:h.h(4294967295),values:!1});;){var s=await a.next();if(!s)break;try{r.del(s.key)}catch(e){throw await a.end(),e}}r.put(h.h(e.height),e.toHash()),r.put(h.R,i.toRaw()),await r.write(),this.state=i}async syncState(e){var t=this.state.clone(),i=this.db.batch();if(e.height<t.height){let a=t.height;var r=a-e.height;for(let e=0;e<r;e++)i.del(h.h(a--))}else e.height>t.height&&a(e.height===t.height+1,`Bad chain sync tip ${e.height} while state `+t.height);t.height=e.height,i.put(h.h(e.height),e.toHash()),i.put(h.R,t.toRaw()),await i.write(),this.state=t,V("block/tips",t)}get curHeight(){return this.state.height}get tidCreator(){return u.txdb.tx}get finder(){return this.getTXFromDb.bind(this)}rpcExecute(){return this.rpc.execute.apply(this.rpc,arguments)}async getBlockMap(e){var t=await this.db.get(h.b(e));return t?ee.fromRaw(e,t):null}writeBlockMap(e,t,i){this.batch(e).put(h.b(t),i.toRaw())}unwriteBlockMap(e,t){this.batch(e).del(h.b(t))}async getOutpointMap(e,t){var i=await this.db.get(h.o(e,t));return i?J.fromRaw(e,t,i):null}writeOutpointMap(e,t,i,r){e=this.batch(e),this.addOutpoint(t,i),e.put(h.o(t,i),r.toRaw())}unwriteOutpointMap(e,t,i){this.batch(e).del(h.o(t,i))}async writeBalanceLog(e,t){var i=h.log(e.wid,t.aidx,t.height,t.hash),r=(t=Buffer.from(JSON.stringify(t)),await this.writeLock.lock());try{this.start(e).put(i,t),await this.commit(e)}finally{r()}}async queryBalanceLog(e,t,i=0){return this.db.values({gte:h.log(e,t,i,P.NULL_HASH),lte:h.log(e,t,this.curHeight,P.HIGH_HASH),parse:e=>JSON.parse(e.toString())})}async getBlock(e){var t,i=await this.db.get(h.h(e));return i?((t=new te).hash=i.toString("hex"),t.height=e,t):null}async getTip(){var e=await this.getBlock(this.curHeight);if(e)return e;throw new Error("WDB: Tip not found!")}async rollback(e,t=!0){if(e>this.curHeight)throw new Error("WDB: Cannot rollback to the future.");if(e===this.curHeight)return this.logger.debug("Rolled back to same height (%d).",e),!0;this.logger.info("Rolling back %d AccountDB blocks to height %d.",this.curHeight-e,e);var i=await this.getBlock(e);let r=!1;return i?(await this.revert(i.height),await this.syncState(i),t):(i=new te,e>=this.state.startHeight?(i.height=this.state.startHeight,i.hash=this.state.startHash,r=this.state.marked,this.logger.warning("Rolling back AccountDB to start block (%d).",i.height)):(i.height=0,i.hash=this.network.genesis.hash,r=!1,this.logger.warning("Rolling back AccountDB to genesis block.")),await this.revert(i.height),await this.resetState(i,r),!1)}async revert(e){var t=this.db.iterator({gte:h.b(e+1),lte:h.b(4294967295),reverse:!0,values:!0});let i=0;for(;;){var r=await t.next();if(!r)break;try{var a=h.bb(r.key),s=ee.fromRaw(a,r.value).toArray();i+=s.length;for(let e=s.length-1;0<=e;e--)await this._unconfirm(s[e])}catch(e){throw await t.end(),e}}this.logger.info("Rolled back %d AccountDB transactions.",i)}async addBlock(e,t){var i=await this.txLock.lock();try{return await this._addBlock(e,t)}finally{i()}}async _addBlock(e,t){var i=te.fromEntry(e);let r=0;if(i.height<this.curHeight)this.logger.warning("AccountDB is connecting low blocks (%d).",i.height);else{if(i.height===this.curHeight)this.logger.warning("Already saw AccountDB block (%d).",i.height);else if(i.height!==this.curHeight+1)throw new Error(`WDB(addBlock): Bad disconnection (height mismatch, tip ${i.height} while state ${this.curHeight})`);if(await this.syncState(i),await this.propList.save(),!(this.options.checkpoints&&i.height<=this.network.lastCheckpoint)){for(const e of t)await this._insert(e,i)&&r++;0<r&&this.logger.info("Connected AccountDB block %s (tx=%d).",j.revHex(i.hash),r)}}return r}async removeBlock(e,t){var i=await this.txLock.lock();try{return await this._removeBlock(e,t)}finally{i()}}async _removeBlock(e,t){if((e=te.fromEntry(e)).height>this.curHeight)return this.logger.warning("AccountDB is disconnecting high blocks (%d).",e.height),0;if(e.height!==this.curHeight)throw new Error(`WDB(removeBlock): Bad disconnection (height mismatch, tip ${e.height} / ${j.revHex(e.hash)} while state ${this.curHeight})`);var i=await this.getBlock(e.height-1);if(!i)throw new Error(`WDB(removeBlock): Bad disconnection (no previous block of ${e.height} / ${j.revHex(e.hash)}).`);var r=await this.getBlockMap(e.height);if(r){for(let e=t.length-1;0<=e;e--){var a=t[e];await this._unconfirm(a,r)}this.logger.warning("Disconnected wallet block %s (tx=%d).",j.revHex(e.hash),r.txs.size)}return await this.syncState(i),await this.propList.save(),r?r.txs.size:0}async rescanBlock(e,t){if(this.rescanning){var i=await this.scanLock.lock();try{await this._addBlock(e,t)}catch(e){throw this.emit("error",e),e}finally{i()}}else this.logger.warning("Unsolicited rescan block: %s.",e.height)}async addTX(e,t,i){var r=await this.txLock.lock();try{return await this._insert(e,t,i)}finally{r()}}listNotify(e){return this.NotifyList.deletes([["h","<",this.curHeight-12]]),this.NotifyList.query(e)}listContact(e,t,i){return this.$contacts.query(e,t,i)}async setCp(e){await this.batchPut(u.txdb.cp(e.cid),e.toRaw())}async delCp(e){await this.batchDel(u.txdb.cp(e))}async delVp(e){var t=this.db.batch();t.del(u.txdb.VP(e.pid)),await t.write()}async setVp(e,t){var i=this.db.batch();i.put(u.txdb.VP(e.pid),e.toRaw()),await i.write()}async getVp(e){return(e=await this.db.get(u.txdb.VP(e)))?W.fromRaw(e):null}async getVpByAddress(e){return{list:[],count:0}}async getVpByOid(e){return{list:[],count:0}}async loadVpList(){return this.db.values({gte:u.txdb.VP(P.ZERO_CID,"hex"),lte:u.txdb.VP(P.MAX_CID,"hex"),parse:e=>W.fromRaw(e)})}async saveContact(e){var t=this.db.batch();t.put(u.txdb.CT(e.getAddress()),e.toRaw()),await t.write()}async loadContact(e){var t;for(t of await this.db.values({gte:u.txdb.CT(P.ZERO_HASH160_HEX),lte:u.txdb.CT(P.MAX_HASH160_HEX),parse:e=>S.fromRaw(e,this)}))t.sender&&(t.sender.wallet=await this.get(t.sender.wid)),this.$contacts.set(t.address,t)}async delHtlc(e){var t;(e=new F(e)).id&&(this.htlcList.delete(e.id),this.htlcList.delAccount(e),(t=this.db.batch()).del(u.txdb.VH(e.shash,e.sidx)),await t.write())}async setSuggest(e){e=new F(e);var t,[t,i]=(this.htlcList.set(e.id,e),await this.getAccountByAddress(e.aa)),[t,i]=(t&&this.htlcList.setAccount(e,t,i),await this.getAccountByAddress(e.ba));(t=(t&&this.htlcList.setAccount(e,t,i),this.db.batch())).put(u.txdb.VH(e.shash,e.sidx),e.toRaw()),await t.write()}async setAssent(e){e=new F(e);var t,[t,i]=(this.htlcList.set(e.id,e),await this.getAccountByAddress(e.ab)),[t,i]=(t&&this.htlcList.setAccount(e,t,i),await this.getAccountByAddress(e.bb));(t=(t&&this.htlcList.setAccount(e,t,i),this.db.batch())).put(u.txdb.VH(e.shash,e.sidx),e.toRaw()),await t.write()}async loadHtlcList(){return this.db.values({gte:u.txdb.VH(P.ZERO_CID,0),lte:u.txdb.VH(P.MAX_CID,4294967295),parse:e=>F.fromRaw(e)})}async delComment(e){var t;(e=new M(e)).id&&(this.commentList.delete(e.id),this.commentList.delAccount(e),(t=this.db.batch()).del(u.txdb.VC(e.shash,e.sidx)),await t.write())}async setComment(e){e=new M(e);var t,[t,i]=(this.commentList.set(e.id,e),await this.getAccountByAddress(e.bob));(t=(t&&(this.commentList.setAccount(e,t,i),this.emit("comm.comment",e)),this.db.batch())).put(u.txdb.VC(e.shash,e.sidx),e.toRaw()),await t.write()}async loadCommentList(){return this.db.values({gte:u.txdb.VC(P.ZERO_CID,0),lte:u.txdb.VC(P.MAX_CID,4294967295),parse:e=>M.fromRaw(e)})}async delEr(e){var t=this.db.batch();t.del(u.txdb.ER(e.erid)),t.del(u.txdb.ERR(e.witness,e.erid,e.txid)),await t.write()}async setEr(e,t){t&&e.source&&(i=g.fromWitnessPubkeyhash(l.hash160(Buffer.from(e.source.pubkey,"hex")),this.network),[i,t]=await this.getAccountByAddress(i,t),e.wid=i,e.account=t);var i=this.db.batch();t=u.txdb.ERR(e.witness,e.erid,e.txid);i.put(t,e.toRaw()),i.put(u.txdb.ER(e.erid),t),await i.write()}async getEr(e){var t;return(e=await this.db.get(u.txdb.ER(e)))&&([,,t]=u.txdb.ERRR(e),e=await this.db.get(e))?((e=Y.fromRaw(e)).txid=t,e):null}async byPubkey(e,t,i=!1){var r,a=new _;e=await this.db.values({gte:u.txdb.ERR(e,P.NULL_HASH,P.NULL_HASH),lte:u.txdb.ERR(e,P.HIGH_HASH,P.HIGH_HASH),parse:e=>Y.fromRaw(e)});let s=[],n=new Map;if(i){for(var o of e)(!n.get(o.source.cluster)||o.startHeight>n.get(o.source.cluster).startHeight)&&n.set(o.source.cluster,await this.caVerifyObj(o));s=n.values()}else s=e;for(r of s)a.set(r.erid,r);return a.query(t)}async caVerifyObj(e){var t={verify:!1};if(!e||e.validHeight<=this.curHeight)return t;var i=await this.erAbList.getErAb(e.erid);return i&&i.abolishHeight<this.curHeight?t:(i=ae.fromPublic(Buffer.from(e.witness,"hex"),this.network.type),e.verify(i)?(e.verify=!0,0<(i=this.cpList.query([["pubKey",e.witness]])).list.length&&(e.cpid=i.list[0].cid),e):t)}async delErAbolish(e){var t=this.db.batch();t.del(u.txdb.ERA(e.erid)),await t.write()}async setErAbolish(e){var t=this.db.batch();t.put(u.txdb.ERA(e.erid),e.toRaw()),await t.write()}async getErAbolish(e){return(e=await this.db.get(u.txdb.ERA(e)))?q.fromRaw(e):null}loadErAbolishList(){return this.db.values({gte:u.txdb.ERA(P.ZERO_CID),lte:u.txdb.ERA(P.MAX_CID),parse:e=>q.fromRaw(e)})}async delAudit(e){var t=this.db.batch();t.del(u.txdb.AU(e.erid)),await t.write()}async setAudit(e){var t=this.db.batch();t.put(u.txdb.AU(e.erid),e.toRaw()),await t.write()}async getAudit(e){return(e=await this.db.get(u.txdb.AU(e)))?X.fromRaw(e):null}async loadAuditList(){return this.db.values({gte:u.txdb.AU(P.NULL_HASH),lte:u.txdb.AU(P.HIGH_HASH),parse:e=>X.fromRaw(e)})}async batchPut(e,t){var i=this.db.batch();i.put(e,t),await i.write()}async batchDel(e){var t=this.db.batch();t.del(e),await t.write()}async _insert(e,t,i){a(!e.mutable,"WDB: Cannot add mutable TX.");let r=await this.getWalletsByTX(e);if(r){this.logger.info("Incoming transaction for %d wallets in AccountDB (%s).",r.size,e.txid()),!t||this.state.marked||(this.logger.info("Marking AccountDB start block at %s (%d).",j.revHex(t.hash),t.height),await this.resetState(t,!0));let n=!1;for(const o of r){var s=await this.get(o);a(s),await s.add(e,t,i)&&(this.logger.info("Added transaction to wallet in AccountDB: %s (%d).",s.id,o),n=!0)}n||(r=null)}try{var n=await b.FactoryOfContract({env:this,block:t,tx:e});t?await n.confirm():await n.insert()}catch(n){t?this.logger.error("TX(%s) Smart Contract Confirm Error: %s",e.txid(),n.message):this.logger.error("TX(%s) Smart Contract Insert Error: %s",e.txid(),n.message)}return r}async _unconfirm(e,t){if(t)try{await(await b.FactoryOfContract({env:this,block:t,tx:e})).unconfirm()}catch(t){this.logger.error("TX(%s) Smart Contract Unconfirm Error: %s",e.txid(),t.message)}let i,r=null;if(i=e.wids?(r=e.wids,e.hash):(r=await this.getWalletsByTX(e),e.hash("hex")),!r)return null;for(const e of r){var s=await this.get(e);a(s),await s.unconfirm(i)}}async resetChain(e){var t=await this.txLock.lock();try{return await this._resetChain(e)}finally{t()}}async _resetChain(e){if(e.height>this.curHeight)throw new Error(`WDB: Bad reset height ${e.height} while curHeight `+this.curHeight);var t;for(t of(await this.rollback(e.height)||await this._rescan(),await this.getWallets())){var i=await this.get(t);for(const t of await i.getPending())try{await i.abandon(t.hash)}catch(e){}}}async saveMSTrans(e){var t=await this.writeLock.lock();try{return await this._saveMSTrans(e)}finally{t()}}async _saveMSTrans(e){var t=this.db.batch();t.put(h.ms(g.getHash(e.addr,"hex"),e.txid),Buffer.from(JSON.stringify(e))),await t.write()}async listMSTrans(e){return e=g.getHash(e,"hex"),this.db.values({gte:h.ms(e,P.NULL_HASH),lte:h.ms(e,P.HIGH_HASH),parse:e=>JSON.parse(e.toString())})}async delMSTrans(e,t){var i=await this.writeLock.lock();try{return await this._delMSTrans(e,t)}finally{i()}}async _delMSTrans(e,t){e=g.getHash(e,"hex");var i=this.db.batch();i.del(h.ms(e,t)),await i.write()}}he.layout=h,e.exports=he},function(e,t,i){"use strict";
834
834
  /*!
835
835
  * txdb.js - persistent transaction pool
836
836
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -883,14 +883,14 @@ const r=i(5).ContractType;e.exports=function(e){if(!e)return i(188);switch(e.ope
883
883
  * secp256k1-native.js - wrapper for secp256k1-node
884
884
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
885
885
  * https://github.com/bookmansoft/gamegold
886
- */const r=i(0),a=i(362),s=i(71);i=t;const n=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),o=Buffer.from("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0","hex");i.binding=!0,i.generatePrivateKey=function(){let e;for(;e=s.randomBytes(32),!a.privateKeyVerify(e););return e},i.publicKeyCreate=function(e,t){return r(Buffer.isBuffer(e)),a.publicKeyCreate(e,t)},i.publicKeyConvert=function(e,t){return a.publicKeyConvert(e,t)},i.privateKeyTweakAdd=function(e,t){return a.privateKeyTweakAdd(e,t)},i.publicKeyTweakAdd=function(e,t,i){return a.publicKeyTweakAdd(e,t,i)},i.ecdh=function(e,t){return a.ecdhUnsafe(e,t,!0).slice(1,33)},i.recover=function(e,t,i,r){i=i||0;try{t=a.signatureImport(t)}catch(e){return null}let s;try{s=a.recover(e,t,i,r)}catch(e){return null}return s},i.verify=function(e,t,i){if(r(Buffer.isBuffer(e)),r(Buffer.isBuffer(t)),r(Buffer.isBuffer(i)),0===t.length)return!1;if(0===i.length)return!1;try{return t=a.signatureImportLax(t),t=a.signatureNormalize(t),a.verify(e,t,i)}catch(e){return!1}},i.publicKeyVerify=function(e){return a.publicKeyVerify(e)},i.privateKeyVerify=function(e){return a.privateKeyVerify(e)},i.sign=function(e,t){return r(Buffer.isBuffer(e)),r(Buffer.isBuffer(t)),e=a.sign(e,t),e=a.signatureNormalize(e.signature),a.signatureExport(e)},i.fromDER=function(e){return r(Buffer.isBuffer(e)),a.signatureImport(e)},i.toDER=function(e){return r(Buffer.isBuffer(e)),a.signatureExport(e)},i.isLowS=function(e){let t;try{t=a.signatureImport(e).slice(32,64)}catch(e){return!1}return!(t.equals(n)||0<t.compare(o))}},function(e,t,i){"use strict";try{e.exports=i(363)}catch(t){process.env.DEBUG&&console.error("Secp256k1 bindings are not compiled. Pure JS implementation will be used."),e.exports=i(367)}},function(e,t,i){"use strict";e.exports=i(364)("secp256k1")},function(e,t,i){"use strict";e.exports=function(e){switch(e){case"leveldown":return i(365);case"secp256k1":return i(366)}throw new Error(`Cannot find module "${e}".`)}},function(e,t,i){(function(e){try{process.dlopen(e,__dirname+i(34).sep+i.p+"87a0128e6559f243a06ff10dd595d4ba.node")}catch(e){throw new Error("node-loader:\n"+e)}}).call(this,i(111)(e))},function(e,t,i){(function(e){try{process.dlopen(e,__dirname+i(34).sep+i.p+"6640b882f1e672106cbb384d69632698.node")}catch(e){throw new Error("node-loader:\n"+e)}}).call(this,i(111)(e))},function(e,t,i){"use strict";e.exports=i(368)(i(372))},function(e,t,i){"use strict";var r=i(369),a=i(370),s=i(238);function n(e,t){return void 0===e?t:(r.isBoolean(e,s.COMPRESSED_TYPE_INVALID),e)}e.exports=function(e){return{privateKeyVerify:function(t){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),32===t.length&&e.privateKeyVerify(t)},privateKeyExport:function(t,i){r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),i=n(i,!0);var o=e.privateKeyExport(t,i);return a.privateKeyExport(t,o,i)},privateKeyImport:function(t){if(r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),(t=a.privateKeyImport(t))&&32===t.length&&e.privateKeyVerify(t))return t;throw new Error(s.EC_PRIVATE_KEY_IMPORT_DER_FAIL)},privateKeyNegate:function(t){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),e.privateKeyNegate(t)},privateKeyModInverse:function(t){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),e.privateKeyModInverse(t)},privateKeyTweakAdd:function(t,i){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),e.privateKeyTweakAdd(t,i)},privateKeyTweakMul:function(t,i){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),e.privateKeyTweakMul(t,i)},publicKeyCreate:function(t,i){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),i=n(i,!0),e.publicKeyCreate(t,i)},publicKeyConvert:function(t,i){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),i=n(i,!0),e.publicKeyConvert(t,i)},publicKeyVerify:function(t){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),e.publicKeyVerify(t)},publicKeyTweakAdd:function(t,i,a){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),a=n(a,!0),e.publicKeyTweakAdd(t,i,a)},publicKeyTweakMul:function(t,i,a){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),a=n(a,!0),e.publicKeyTweakMul(t,i,a)},publicKeyCombine:function(t,i){r.isArray(t,s.EC_PUBLIC_KEYS_TYPE_INVALID),r.isLengthGTZero(t,s.EC_PUBLIC_KEYS_LENGTH_INVALID);for(var a=0;a<t.length;++a)r.isBuffer(t[a],s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t[a],33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID);return i=n(i,!0),e.publicKeyCombine(t,i)},signatureNormalize:function(t){return r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(t,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),e.signatureNormalize(t)},signatureExport:function(t){return r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(t,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),t=e.signatureExport(t),a.signatureExport(t)},signatureImport:function(t){if(r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isLengthGTZero(t,s.ECDSA_SIGNATURE_LENGTH_INVALID),t=a.signatureImport(t))return e.signatureImport(t);throw new Error(s.ECDSA_SIGNATURE_PARSE_DER_FAIL)},signatureImportLax:function(t){if(r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isLengthGTZero(t,s.ECDSA_SIGNATURE_LENGTH_INVALID),t=a.signatureImportLax(t))return e.signatureImport(t);throw new Error(s.ECDSA_SIGNATURE_PARSE_DER_FAIL)},sign:function(t,i,a){r.isBuffer(t,s.MSG32_TYPE_INVALID),r.isBufferLength(t,32,s.MSG32_LENGTH_INVALID),r.isBuffer(i,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(i,32,s.EC_PRIVATE_KEY_LENGTH_INVALID);var n=null,o=null;return void 0!==a&&(r.isObject(a,s.OPTIONS_TYPE_INVALID),void 0!==a.data&&(r.isBuffer(a.data,s.OPTIONS_DATA_TYPE_INVALID),r.isBufferLength(a.data,32,s.OPTIONS_DATA_LENGTH_INVALID),n=a.data),void 0!==a.noncefn)&&(r.isFunction(a.noncefn,s.OPTIONS_NONCEFN_TYPE_INVALID),o=a.noncefn),e.sign(t,i,o,n)},verify:function(t,i,a){return r.isBuffer(t,s.MSG32_TYPE_INVALID),r.isBufferLength(t,32,s.MSG32_LENGTH_INVALID),r.isBuffer(i,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(i,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),r.isBuffer(a,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(a,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),e.verify(t,i,a)},recover:function(t,i,a,o){return r.isBuffer(t,s.MSG32_TYPE_INVALID),r.isBufferLength(t,32,s.MSG32_LENGTH_INVALID),r.isBuffer(i,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(i,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),r.isNumber(a,s.RECOVERY_ID_TYPE_INVALID),r.isNumberInInterval(a,-1,4,s.RECOVERY_ID_VALUE_INVALID),o=n(o,!0),e.recover(t,i,a,o)},ecdh:function(t,i){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(i,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),e.ecdh(t,i)},ecdhUnsafe:function(t,i,a){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(i,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),a=n(a,!0),e.ecdhUnsafe(t,i,a)}}}},function(e,t,i){"use strict";var r=Object.prototype.toString;t.isArray=function(e,t){if(!Array.isArray(e))throw TypeError(t)},t.isBoolean=function(e,t){if("[object Boolean]"!==r.call(e))throw TypeError(t)},t.isBuffer=function(e,t){if(!Buffer.isBuffer(e))throw TypeError(t)},t.isFunction=function(e,t){if("[object Function]"!==r.call(e))throw TypeError(t)},t.isNumber=function(e,t){if("[object Number]"!==r.call(e))throw TypeError(t)},t.isObject=function(e,t){if("[object Object]"!==r.call(e))throw TypeError(t)},t.isBufferLength=function(e,t,i){if(e.length!==t)throw RangeError(i)},t.isBufferLength2=function(e,t,i,r){if(e.length!==t&&e.length!==i)throw RangeError(r)},t.isLengthGTZero=function(e,t){if(0===e.length)throw RangeError(t)},t.isNumberInInterval=function(e,t,i,r){if(e<=t||i<=e)throw RangeError(r)}},function(e,t,i){"use strict";var r=i(40).Buffer,a=i(371),s=r.from([48,129,211,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,133,48,129,130,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,33,2,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,36,3,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),n=r.from([48,130,1,19,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,165,48,129,162,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,65,4,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,72,58,218,119,38,163,196,101,93,164,251,252,14,17,8,168,253,23,180,72,166,133,84,25,156,71,208,143,251,16,212,184,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,68,3,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);t.privateKeyExport=function(e,t,i){var a=r.from(i?s:n);return e.copy(a,i?8:9),t.copy(a,i?181:214),a},t.privateKeyImport=function(e){var t=e.length,i=0;if(!(t<1||48!==e[0])&&(++i,!(t<2))&&128&e[1]){var r=127&e[1];if(++i,!(r<1||2<r||t<2+r))if(!(t<(i+=r)+(e[2+r-1]|(1<r?e[2+r-2]<<8:0))||t<3+i||2!==e[i]||1!==e[1+i]||1!==e[2+i]||t<2+(i+=3)||4!==e[i]||32<e[1+i]||t<2+i+e[1+i]))return e.slice(2+i,2+i+e[1+i])}},t.signatureExport=function(e){for(var t=r.concat([r.from([0]),e.r]),i=33,s=0;1<i&&0===t[s]&&!(128&t[s+1]);--i,++s);for(var n=r.concat([r.from([0]),e.s]),o=33,c=0;1<o&&0===n[c]&&!(128&n[c+1]);--o,++c);return a.encode(t.slice(s),n.slice(c))},t.signatureImport=function(e){var t=r.alloc(32,0),i=r.alloc(32,0);try{var s=a.decode(e);if(33===s.r.length&&0===s.r[0]&&(s.r=s.r.slice(1)),32<s.r.length)throw new Error("R length is too long");if(33===s.s.length&&0===s.s[0]&&(s.s=s.s.slice(1)),32<s.s.length)throw new Error("S length is too long")}catch(e){return}return s.r.copy(t,32-s.r.length),s.s.copy(i,32-s.s.length),{r:t,s:i}},t.signatureImportLax=function(e){var t=r.alloc(32,0),i=r.alloc(32,0),a=e.length,s=0;if(48===e[s++]){var n=e[s++];if(!(128&n&&a<(s+=n-128))&&2===e[s++]){var o=e[s++];if(128&o){if(a<s+(n=o-128))return;for(;0<n&&0===e[s];s+=1,--n);for(o=0;0<n;s+=1,--n)o=(o<<8)+e[s]}if(!(a-s<o)){var c=s;if(s+=o,2===e[s++]){var u=e[s++];if(128&u){if(a<s+(n=u-128))return;for(;0<n&&0===e[s];s+=1,--n);for(u=0;0<n;s+=1,--n)u=(u<<8)+e[s]}if(!(a-s<u)){var h=s;for(s+=u;0<o&&0===e[c];--o,c+=1);if(!(32<o)){for((a=e.slice(c,c+o)).copy(t,32-a.length);0<u&&0===e[h];--u,h+=1);if(!(32<u))return(a=e.slice(h,h+u)).copy(i,32-a.length),{r:t,s:i}}}}}}}}},function(e,t,i){var r=i(40).Buffer;e.exports={check:function(e){var t,i;return!(e.length<8||72<e.length||48!==e[0]||e[1]!==e.length-2||2!==e[2]||0===(t=e[3])||5+t>=e.length||2!==e[4+t]||0===(i=e[5+t])||6+t+i!==e.length||128&e[4]||1<t&&0===e[4]&&!(128&e[5])||128&e[t+6]||1<i&&0===e[t+6]&&!(128&e[t+7]))},decode:function(e){if(e.length<8)throw new Error("DER sequence length is too short");if(72<e.length)throw new Error("DER sequence length is too long");if(48!==e[0])throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(2!==e[2])throw new Error("Expected DER integer");var t=e[3];if(0===t)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(2!==e[4+t])throw new Error("Expected DER integer (2)");var i=e[5+t];if(0===i)throw new Error("S length is zero");if(6+t+i!==e.length)throw new Error("S length is invalid");if(128&e[4])throw new Error("R value is negative");if(1<t&&0===e[4]&&!(128&e[5]))throw new Error("R value excessively padded");if(128&e[t+6])throw new Error("S value is negative");if(1<i&&0===e[t+6]&&!(128&e[t+7]))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}},encode:function(e,t){var i=e.length,a=t.length;if(0===i)throw new Error("R length is zero");if(0===a)throw new Error("S length is zero");if(33<i)throw new Error("R length is too long");if(33<a)throw new Error("S length is too long");if(128&e[0])throw new Error("R value is negative");if(128&t[0])throw new Error("S value is negative");if(1<i&&0===e[0]&&!(128&e[1]))throw new Error("R value excessively padded");if(1<a&&0===t[0]&&!(128&t[1]))throw new Error("S value excessively padded");return(a=r.allocUnsafe(6+i+a))[0]=48,a[1]=a.length-2,a[2]=2,a[3]=e.length,e.copy(a,4),a[4+i]=2,a[5+i]=t.length,t.copy(a,6+i),a}}},function(e,t,i){"use strict";var r=i(40).Buffer,a=i(373),s=i(44),n=i(162).ec,o=i(238),c=new n("secp256k1"),u=c.curve;function h(e){var t,i,r,a=e[0];switch(a){case 2:case 3:return 33!==e.length?null:(i=a,r=e.slice(1,33),0<=(r=new s(r)).cmp(u.p)?null:(3===i!==(i=(r=r.toRed(u.red)).redSqr().redIMul(r).redIAdd(u.b).redSqrt()).isOdd()&&(i=i.redNeg()),c.keyPair({pub:{x:r,y:i}})));case 4:case 6:case 7:return 65!==e.length?null:(r=a,i=e.slice(1,33),t=e.slice(33,65),i=new s(i),t=new s(t),!(0<=i.cmp(u.p)||0<=t.cmp(u.p))&&(i=i.toRed(u.red),t=t.toRed(u.red),6!==r&&7!==r||t.isOdd()===(7===r))&&(r=i.redSqr().redIMul(i),t.redSqr().redISub(r.redIAdd(u.b)).isZero())?c.keyPair({pub:{x:i,y:t}}):null);default:return null}}t.privateKeyVerify=function(e){return(e=new s(e)).cmp(u.n)<0&&!e.isZero()},t.privateKeyExport=function(e,t){var i=new s(e);if(0<=i.cmp(u.n)||i.isZero())throw new Error(o.EC_PRIVATE_KEY_EXPORT_DER_FAIL);return r.from(c.keyFromPrivate(e).getPublic(t,!0))},t.privateKeyNegate=function(e){return(e=new s(e)).isZero()?r.alloc(32):u.n.sub(e).umod(u.n).toArrayLike(r,"be",32)},t.privateKeyModInverse=function(e){if(0<=(e=new s(e)).cmp(u.n)||e.isZero())throw new Error(o.EC_PRIVATE_KEY_RANGE_INVALID);return e.invm(u.n).toArrayLike(r,"be",32)},t.privateKeyTweakAdd=function(e,t){if(0<=(t=new s(t)).cmp(u.n))throw new Error(o.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);if(t.iadd(new s(e)),0<=t.cmp(u.n)&&t.isub(u.n),t.isZero())throw new Error(o.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);return t.toArrayLike(r,"be",32)},t.privateKeyTweakMul=function(e,t){if(0<=(t=new s(t)).cmp(u.n)||t.isZero())throw new Error(o.EC_PRIVATE_KEY_TWEAK_MUL_FAIL);return t.imul(new s(e)),(t=t.cmp(u.n)?t.umod(u.n):t).toArrayLike(r,"be",32)},t.publicKeyCreate=function(e,t){var i=new s(e);if(0<=i.cmp(u.n)||i.isZero())throw new Error(o.EC_PUBLIC_KEY_CREATE_FAIL);return r.from(c.keyFromPrivate(e).getPublic(t,!0))},t.publicKeyConvert=function(e,t){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);return r.from(e.getPublic(t,!0))},t.publicKeyVerify=function(e){return null!==h(e)},t.publicKeyTweakAdd=function(e,t,i){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new s(t)).cmp(u.n))throw new Error(o.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);if((t=u.g.mul(t).add(e.pub)).isInfinity())throw new Error(o.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);return r.from(t.encode(!0,i))},t.publicKeyTweakMul=function(e,t,i){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new s(t)).cmp(u.n)||t.isZero())throw new Error(o.EC_PUBLIC_KEY_TWEAK_MUL_FAIL);return r.from(e.pub.mul(t).encode(!0,i))},t.publicKeyCombine=function(e,t){for(var i=new Array(e.length),a=0;a<e.length;++a)if(i[a]=h(e[a]),null===i[a])throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);for(var s=i[0].pub,n=1;n<i.length;++n)s=s.add(i[n].pub);if(s.isInfinity())throw new Error(o.EC_PUBLIC_KEY_COMBINE_FAIL);return r.from(s.encode(!0,t))},t.signatureNormalize=function(e){var t=new s(e.slice(0,32)),i=new s(e.slice(32,64));if(0<=t.cmp(u.n)||0<=i.cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);return t=r.from(e),1===i.cmp(c.nh)&&u.n.sub(i).toArrayLike(r,"be",32).copy(t,32),t},t.signatureExport=function(e){var t=e.slice(0,32);e=e.slice(32,64);if(0<=new s(t).cmp(u.n)||0<=new s(e).cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);return{r:t,s:e}},t.signatureImport=function(e){var t=new s(e.r);return 0<=(e=(0<=t.cmp(u.n)&&(t=new s(0)),new s(e.s))).cmp(u.n)&&(e=new s(0)),r.concat([t.toArrayLike(r,"be",32),e.toArrayLike(r,"be",32)])},t.sign=function(e,t,i,a){"function"==typeof i&&(n=i,i=function(i){if(i=n(e,t,null,a,i),r.isBuffer(i)&&32===i.length)return new s(i);throw new Error(o.ECDSA_SIGN_FAIL)});var n,h=new s(t);if(0<=h.cmp(u.n)||h.isZero())throw new Error(o.ECDSA_SIGN_FAIL);return h=c.sign(e,t,{canonical:!0,k:i,pers:a}),{signature:r.concat([h.r.toArrayLike(r,"be",32),h.s.toArrayLike(r,"be",32)]),recovery:h.recoveryParam}},t.verify=function(e,t,i){t={r:t.slice(0,32),s:t.slice(32,64)};var r=new s(t.r),a=new s(t.s);if(0<=r.cmp(u.n)||0<=a.cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);if(1===a.cmp(c.nh)||r.isZero()||a.isZero())return!1;if(null===(r=h(i)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);return c.verify(e,t,{x:r.pub.x,y:r.pub.y})},t.recover=function(e,t,i,a){t={r:t.slice(0,32),s:t.slice(32,64)};var n=new s(t.r),h=new s(t.s);if(0<=n.cmp(u.n)||0<=h.cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);try{if(n.isZero()||h.isZero())throw new Error;var l=c.recoverPubKey(e,t,i);return r.from(l.encode(!0,a))}catch(e){throw new Error(o.ECDSA_RECOVER_FAIL)}},t.ecdh=function(e,i){return e=t.ecdhUnsafe(e,i,!0),a("sha256").update(e).digest()},t.ecdhUnsafe=function(e,t,i){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new s(t)).cmp(u.n)||t.isZero())throw new Error(o.ECDH_FAIL);return r.from(e.pub.mul(t).encode(!0,i))}},function(e,t,i){e.exports=i(8).createHash},function(e){e.exports=JSON.parse('{"_from":"elliptic@6.5.4","_id":"elliptic@6.5.4","_inBundle":false,"_integrity":"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"elliptic@6.5.4","name":"elliptic","escapedName":"elliptic","rawSpec":"6.5.4","saveSpec":null,"fetchSpec":"6.5.4"},"_requiredBy":["#USER","/","/browserify-sign","/create-ecdh","/gamerpc"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz","_shasum":"da37cebd31e79a1367e941b592ed1fbebd58abbb","_spec":"elliptic@6.5.4","_where":"C:\\\\Users\\\\ceo\\\\vallnet","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"bundleDependencies":false,"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},"deprecated":false,"description":"EC cryptography","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.4"}')},function(e,t,i){"use strict";var r=i(41),a=i(44),s=i(48),n=i(127),o=r.assert;function c(e){n.call(this,"short",e),this.a=new a(e.a,16).toRed(this.red),this.b=new a(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(e,t,i,r){n.BasePoint.call(this,e,"affine"),null===t&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new a(t,16),this.y=new a(i,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(e,t,i,r){n.BasePoint.call(this,e,"jacobian"),null===t&&null===i&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new a(0)):(this.x=new a(t,16),this.y=new a(i,16),this.z=new a(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(c,n),(e.exports=c).prototype._getEndomorphism=function(e){var t,i,r;if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3))return i=(e.beta?new a(e.beta,16):i=(i=this._getEndoRoots(this.p))[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red),e.lambda?t=new a(e.lambda,16):(r=this._getEndoRoots(this.n),0===this.g.mul(r[0]).x.cmp(this.g.x.redMul(i))?t=r[0]:(t=r[1],o(0===this.g.mul(t).x.cmp(this.g.x.redMul(i))))),{beta:i,lambda:t,basis:e.basis?e.basis.map((function(e){return{a:new a(e.a,16),b:new a(e.b,16)}})):this._getEndoBasis(t)}},c.prototype._getEndoRoots=function(e){e=e===this.p?this.red:a.mont(e);var t=new a(2).toRed(e).redInvm(),i=t.redNeg();e=new a(3).toRed(e).redNeg().redSqrt().redMul(t);return[i.redAdd(e).fromRed(),i.redSub(e).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,i,r,s,n,o=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=e,u=this.n.clone(),h=new a(1),l=new a(0),p=new a(0),d=new a(1),f=0;0!==c.cmpn(0);){var m=u.div(c),g=u.sub(m.mul(c)),v=p.sub(m.mul(h));m=d.sub(m.mul(l));if(!r&&g.cmp(o)<0)t=n.neg(),i=h,r=g.neg(),s=v;else if(r&&2==++f)break;u=c,c=n=g,p=h,h=v,d=l,l=m}e=g.neg();var y=v,b=r.sqr().add(s.sqr());return 0<=e.sqr().add(y.sqr()).cmp(b)&&(e=t,y=i),r.negative&&(r=r.neg(),s=s.neg()),e.negative&&(e=e.neg(),y=y.neg()),[{a:r,b:s},{a:e,b:y}]},c.prototype._endoSplit=function(e){var t,i=(t=this.endo.basis)[0],r=(t=t[1]).b.mul(e).divRound(this.n),a=i.b.neg().mul(e).divRound(this.n),s=r.mul(i.a),n=a.mul(t.a);r=r.mul(i.b),i=a.mul(t.b);return{k1:e.sub(s).sub(n),k2:r.add(i).neg()}},c.prototype.pointFromX=function(e,t){var i=(e=(e=new a(e,16)).red?e:e.toRed(this.red)).redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=i.redSqrt();if(0!==r.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");return i=r.fromRed().isOdd(),(t&&!i||!t&&i)&&(r=r.redNeg()),this.point(e,r)},c.prototype.validate=function(e){var t,i;return!!e.inf||(i=e.x,e=e.y,t=this.a.redMul(i),i=i.redSqr().redMul(i).redIAdd(t).redIAdd(this.b),0===e.redSqr().redISub(i).cmpn(0))},c.prototype._endoWnafMulAdd=function(e,t,i){for(var r=this._endoWnafT1,a=this._endoWnafT2,s=0;s<e.length;s++){var n=this._endoSplit(t[s]),o=e[s],c=o._getBeta();n.k1.negative&&(n.k1.ineg(),o=o.neg(!0)),n.k2.negative&&(n.k2.ineg(),c=c.neg(!0)),r[2*s]=o,r[2*s+1]=c,a[2*s]=n.k1,a[2*s+1]=n.k2}i=this._wnafMulAdd(1,r,a,2*s,i);for(var u=0;u<2*s;u++)r[u]=null,a[u]=null;return i},s(u,n.BasePoint),c.prototype.point=function(e,t,i){return new u(this,e,t,i)},c.prototype.pointFromJSON=function(e,t){return u.fromJSON(this,e,t)},u.prototype._getBeta=function(){var e,t,i,r;if(this.curve.endo)return(e=this.precomputed)&&e.beta?e.beta:(t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y),e&&(i=this.curve,r=function(e){return i.point(e.x.redMul(i.endo.beta),e.y)},(e.beta=t).precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}),t)},u.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},u.fromJSON=function(e,t,i){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],i);return t[2]&&(t=t[2],r.precomputed={beta:null,doubles:t.doubles&&{step:t.doubles.step,points:[r].concat(t.doubles.points.map(a))},naf:t.naf&&{wnd:t.naf.wnd,points:[r].concat(t.naf.points.map(a))}}),r;function a(t){return e.point(t[0],t[1],i)}},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(e){var t;return this.inf?e:e.inf?this:this.eq(e)?this.dbl():this.neg().eq(e)||0===this.x.cmp(e.x)?this.curve.point(null,null):(e=(t=0!==(t=this.y.redSub(e.y)).cmpn(0)?t.redMul(this.x.redSub(e.x).redInvm()):t).redSqr().redISub(this.x).redISub(e.x),t=t.redMul(this.x.redSub(e)).redISub(this.y),this.curve.point(e,t))},u.prototype.dbl=function(){var e,t,i;return this.inf?this:0===(i=this.y.redAdd(this.y)).cmpn(0)?this.curve.point(null,null):(t=this.curve.a,e=this.x.redSqr(),i=i.redInvm(),t=(e=e.redAdd(e).redIAdd(e).redIAdd(t).redMul(i)).redSqr().redISub(this.x.redAdd(this.x)),i=e.redMul(this.x.redSub(t)).redISub(this.y),this.curve.point(t,i))},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(e){return e=new a(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},u.prototype.mulAdd=function(e,t,i){return t=[this,t],e=[e,i],this.curve.endo?this.curve._endoWnafMulAdd(t,e):this.curve._wnafMulAdd(1,t,e,2)},u.prototype.jmulAdd=function(e,t,i){return t=[this,t],e=[e,i],this.curve.endo?this.curve._endoWnafMulAdd(t,e,!0):this.curve._wnafMulAdd(1,t,e,2,!0)},u.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},u.prototype.neg=function(e){var t,i;return this.inf?this:(t=this.curve.point(this.x,this.y.redNeg()),e&&this.precomputed&&(e=this.precomputed,i=function(e){return e.neg()},t.precomputed={naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}),t)},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(h,n.BasePoint),c.prototype.jpoint=function(e,t,i){return new h(this,e,t,i)},h.prototype.toP=function(){var e,t,i;return this.isInfinity()?this.curve.point(null,null):(i=(e=this.z.redInvm()).redSqr(),t=this.x.redMul(i),i=this.y.redMul(i).redMul(e),this.curve.point(t,i))},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(e){var t,i,r,a,s,n;return this.isInfinity()?e:e.isInfinity()?this:(t=e.z.redSqr(),s=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(s),t=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(s.redMul(this.z)),i=n.redSub(i),s=t.redSub(s),0===i.cmpn(0)?0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl():(r=(a=i.redSqr()).redMul(i),n=n.redMul(a),a=s.redSqr().redIAdd(r).redISub(n).redISub(n),s=s.redMul(n.redISub(a)).redISub(t.redMul(r)),n=this.z.redMul(e.z).redMul(i),this.curve.jpoint(a,s,n)))},h.prototype.mixedAdd=function(e){var t,i,r,a,s;return this.isInfinity()?e.toJ():e.isInfinity()?this:(i=this.z.redSqr(),s=this.x,a=e.x.redMul(i),t=this.y,e=e.y.redMul(i).redMul(this.z),i=s.redSub(a),a=t.redSub(e),0===i.cmpn(0)?0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl():(r=(e=i.redSqr()).redMul(i),s=s.redMul(e),e=a.redSqr().redIAdd(r).redISub(s).redISub(s),a=a.redMul(s.redISub(e)).redISub(t.redMul(r)),s=this.z.redMul(i),this.curve.jpoint(e,a,s)))},h.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,i=0;i<e;i++)t=t.dbl();return t}var r=this.curve.a,a=this.curve.tinv,s=this.x,n=this.y,o=this.z,c=o.redSqr().redSqr(),u=n.redAdd(n);for(i=0;i<e;i++){var h=s.redSqr(),l=(p=u.redSqr()).redSqr(),p=(h=h.redAdd(h).redIAdd(h).redIAdd(r.redMul(c)),s.redMul(p)),d=h.redSqr().redISub(p.redAdd(p));p=p.redISub(d),h=(h=h.redMul(p)).redIAdd(h).redISub(l),p=u.redMul(o);i+1<e&&(c=c.redMul(l)),s=d,o=p,u=h}return this.curve.jpoint(s,u.redMul(a),o)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},h.prototype._zeroDbl=function(){var e,t,i,r,a,s=this.zOne?(t=this.x.redSqr(),i=(e=this.y.redSqr()).redSqr(),e=(e=this.x.redAdd(e).redSqr().redISub(t).redISub(i)).redIAdd(e),r=(t=t.redAdd(t).redIAdd(t)).redSqr().redISub(e).redISub(e),i=(i=(i=i.redIAdd(i)).redIAdd(i)).redIAdd(i),e=t.redMul(e.redISub(t=r)).redISub(i),this.y.redAdd(this.y)):(r=this.x.redSqr(),a=(i=this.y.redSqr()).redSqr(),i=(i=this.x.redAdd(i).redSqr().redISub(r).redISub(a)).redIAdd(i),s=(r=r.redAdd(r).redIAdd(r)).redSqr(),a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a),t=s.redISub(i).redISub(i),e=r.redMul(i.redISub(t)).redISub(a),(s=this.y.redMul(this.z)).redIAdd(s));return this.curve.jpoint(t,e,s)},h.prototype._threeDbl=function(){var e,t,i,r,a,s,n,o;return this.zOne?(t=this.x.redSqr(),a=(e=this.y.redSqr()).redSqr(),e=(e=this.x.redAdd(e).redSqr().redISub(t).redISub(a)).redIAdd(e),i=r=(t=t.redAdd(t).redIAdd(t).redIAdd(this.curve.a)).redSqr().redISub(e).redISub(e),a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a),t=t.redMul(e.redISub(r)).redISub(a),e=this.y.redAdd(this.y)):(r=this.z.redSqr(),a=this.y.redSqr(),n=this.x.redMul(a),s=(s=this.x.redSub(r).redMul(this.x.redAdd(r))).redAdd(s).redIAdd(s),o=(n=(n=n.redIAdd(n)).redIAdd(n)).redAdd(n),i=s.redSqr().redISub(o),e=this.y.redAdd(this.z).redSqr().redISub(a).redISub(r),o=(o=(o=(o=a.redSqr()).redIAdd(o)).redIAdd(o)).redIAdd(o),t=s.redMul(n.redISub(i)).redISub(o)),this.curve.jpoint(i,t,e)},h.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,r=this.z,a=r.redSqr().redSqr(),s=t.redSqr(),n=i.redSqr();s=s.redAdd(s).redIAdd(s).redIAdd(e.redMul(a)),a=(e=(e=t.redAdd(t)).redIAdd(e)).redMul(n),t=s.redSqr().redISub(a.redAdd(a)),e=a.redISub(t),a=(a=(a=(a=n.redSqr()).redIAdd(a)).redIAdd(a)).redIAdd(a),n=s.redMul(e).redISub(a),s=i.redAdd(i).redMul(r);return this.curve.jpoint(t,n,s)},h.prototype.trpl=function(){var e,t,i,r,a,s,n;return this.curve.zeroA?(t=this.x.redSqr(),a=this.y.redSqr(),e=this.z.redSqr(),n=a.redSqr(),s=(r=t.redAdd(t).redIAdd(t)).redSqr(),i=(t=(t=(t=(t=this.x.redAdd(a).redSqr().redISub(t).redISub(n)).redIAdd(t)).redAdd(t).redIAdd(t)).redISub(s)).redSqr(),n=(n=(n=(n=n.redIAdd(n)).redIAdd(n)).redIAdd(n)).redIAdd(n),r=r.redIAdd(t).redSqr().redISub(s).redISub(i).redISub(n),s=(s=(s=a.redMul(r)).redIAdd(s)).redIAdd(s),a=(a=(a=this.x.redMul(i).redISub(s)).redIAdd(a)).redIAdd(a),s=(s=(s=(s=this.y.redMul(r.redMul(n.redISub(r)).redISub(t.redMul(i)))).redIAdd(s)).redIAdd(s)).redIAdd(s),n=this.z.redAdd(t).redSqr().redISub(e).redISub(i),this.curve.jpoint(a,s,n)):this.dbl().add(this)},h.prototype.mul=function(e,t){return e=new a(e,t),this.curve._wnafMul(this,e)},h.prototype.eq=function(e){var t,i;return"affine"===e.type?this.eq(e.toJ()):this===e||(t=this.z.redSqr(),i=e.z.redSqr(),0===this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0)&&(t=t.redMul(this.z),i=i.redMul(e.z),0===this.y.redMul(i).redISub(e.y.redMul(t)).cmpn(0)))},h.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(i))return!0;for(var r=e.clone(),a=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),0<=r.cmp(this.curve.p))return!1;if(i.redIAdd(a),0===this.x.cmp(i))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){var i;t&&(e.super_=t,(i=function(){}).prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e)}},function(e,t,i){"use strict";var r=i(44),a=i(48),s=i(127),n=i(41);function o(e){s.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,i){s.BasePoint.call(this,e,"projective"),null===t&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}a(o,s),(e.exports=o).prototype.validate=function(e){var t;return 0===(t=(t=(e=e.normalize().x).redSqr()).redMul(e).redAdd(t.redMul(this.a)).redAdd(e)).redSqrt().redSqr().cmp(t)},a(c,s.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(n.toArray(e,t),1)},o.prototype.point=function(e,t){return new c(this,e,t)},o.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),i=e.redSub(t);e=e.redMul(t),t=i.redMul(t.redAdd(this.curve.a24.redMul(i)));return this.curve.point(e,t)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),r=this.x.redSub(this.z),a=e.x.redAdd(e.z);e=e.x.redSub(e.z).redMul(i),i=a.redMul(r),a=t.z.redMul(e.redAdd(i).redSqr()),r=t.x.redMul(e.redISub(i).redSqr());return this.curve.point(a,r)},c.prototype.mul=function(e){for(var t=e.clone(),i=this,r=this.curve.point(null,null),a=[];0!==t.cmpn(0);t.iushrn(1))a.push(t.andln(1));for(var s=a.length-1;0<=s;s--)0===a[s]?(i=i.diffAdd(r,this),r=r.dbl()):(r=i.diffAdd(r,this),i=i.dbl());return r},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,i){"use strict";var r=i(41),a=i(44),s=i(48),n=i(127),o=r.assert;function c(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,n.call(this,"edwards",e),this.a=new a(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new a(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new a(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function u(e,t,i,r,s){n.BasePoint.call(this,e,"projective"),null===t&&null===i&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new a(t,16),this.y=new a(i,16),this.z=r?new a(r,16):this.curve.one,this.t=s&&new a(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(c,n),(e.exports=c).prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},c.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},c.prototype.jpoint=function(e,t,i,r){return this.point(e,t,i,r)},c.prototype.pointFromX=function(e,t){var i=(e=(e=new a(e,16)).red?e:e.toRed(this.red)).redSqr(),r=this.c2.redSub(this.a.redMul(i));i=this.one.redSub(this.c2.redMul(this.d).redMul(i)),r=r.redMul(i.redInvm());if(0!==(i=r.redSqrt()).redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");return r=i.fromRed().isOdd(),(t&&!r||!t&&r)&&(i=i.redNeg()),this.point(e,i)},c.prototype.pointFromY=function(e,t){var i=(r=(e=(e=new a(e,16)).red?e:e.toRed(this.red)).redSqr()).redSub(this.c2),r=r.redMul(this.d).redMul(this.c2).redSub(this.a);if(0===(i=i.redMul(r.redInvm())).cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}if(0!==(r=i.redSqrt()).redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");return r.fromRed().isOdd()!==t&&(r=r.redNeg()),this.point(r,e)},c.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),i=(e=e.y.redSqr(),t.redMul(this.a).redAdd(e));t=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(e)));return 0===i.cmp(t)},s(u,n.BasePoint),c.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},c.prototype.point=function(e,t,i,r){return new u(this,e,t,i,r)},u.fromJSON=function(e,t){return new u(e,t[0],t[1],t[2])},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=(i=this.z.redSqr()).redIAdd(i),r=this.curve._mulA(e),a=(e=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),r.redAdd(t)),s=(i=a.redSub(i),r=r.redSub(t),t=e.redMul(i),a.redMul(r));e=e.redMul(r),r=i.redMul(a);return this.curve.point(t,s,r,e)},u.prototype._projDbl=function(){var e,t,i,r,a,s,n=this.x.redAdd(this.y).redSqr(),o=this.x.redSqr(),c=this.y.redSqr();return s=this.curve.twisted?(s=(a=this.curve._mulA(o)).redAdd(c),this.zOne?(e=n.redSub(o).redSub(c).redMul(s.redSub(this.curve.two)),t=s.redMul(a.redSub(c)),s.redSqr().redSub(s).redSub(s)):(i=this.z.redSqr(),r=s.redSub(i).redISub(i),e=n.redSub(o).redISub(c).redMul(r),t=s.redMul(a.redSub(c)),s.redMul(r))):(a=o.redAdd(c),i=this.curve._mulC(this.z).redSqr(),r=a.redSub(i).redSub(i),e=this.curve._mulC(n.redISub(a)).redMul(r),t=this.curve._mulC(a).redMul(o.redISub(c)),a.redMul(r)),this.curve.point(e,t,s)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),a=(e=this.z.redMul(e.z.redAdd(e.z)),i.redSub(t)),s=e.redSub(r);e=e.redAdd(r),r=i.redAdd(t),i=a.redMul(s),t=e.redMul(r),a=a.redMul(r),r=s.redMul(e);return this.curve.point(i,t,r,a)},u.prototype._projAdd=function(e){var t,i=this.z.redMul(e.z),r=i.redSqr(),a=this.x.redMul(e.x),s=this.y.redMul(e.y),n=this.curve.d.redMul(a).redMul(s),o=r.redSub(n);r=r.redAdd(n),n=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(s),e=i.redMul(o).redMul(n),n=(this.curve.twisted?(t=i.redMul(r).redMul(s.redSub(this.curve._mulA(a))),o):(t=i.redMul(r).redMul(s.redSub(a)),this.curve._mulC(o))).redMul(r);return this.curve.point(e,t,n)},u.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},u.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},u.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},u.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},u.prototype.normalize=function(){var e;return this.zOne||(e=this.z.redInvm(),this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0),this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},u.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var i=e.clone(),r=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),0<=i.cmp(this.curve.p))return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},function(e,t,i){"use strict";t.sha1=i(380),t.sha224=i(381),t.sha256=i(243),t.sha384=i(382),t.sha512=i(244)},function(e,t,i){"use strict";var r=i(49),a=i(98),s=(i=i(242),r.rotl32),n=r.sum32,o=r.sum32_5,c=i.ft_1,u=a.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function l(){if(!(this instanceof l))return new l;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(l,u),(e.exports=l).blockSize=512,l.outSize=160,l.hmacStrength=80,l.padLength=64,l.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r<i.length;r++)i[r]=s(i[r-3]^i[r-8]^i[r-14]^i[r-16],1);var a=this.h[0],u=this.h[1],l=this.h[2],p=this.h[3],d=this.h[4];for(r=0;r<i.length;r++){var f=~~(r/20);f=o(s(a,5),c(f,u,l,p),d,i[r],h[f]),d=p,p=l,l=s(u,30),u=a,a=f}this.h[0]=n(this.h[0],a),this.h[1]=n(this.h[1],u),this.h[2]=n(this.h[2],l),this.h[3]=n(this.h[3],p),this.h[4]=n(this.h[4],d)},l.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,i){"use strict";var r=i(49),a=i(243);function s(){if(!(this instanceof s))return new s;a.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(s,a),(e.exports=s).blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},function(e,t,i){"use strict";var r=i(49),a=i(244);function s(){if(!(this instanceof s))return new s;a.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(s,a),(e.exports=s).blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},function(e,t,i){"use strict";var r=i(49),a=(i=i(98),r.rotl32),s=r.sum32,n=r.sum32_3,o=r.sum32_4,c=i.BlockHash;function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function h(e,t,i,r){return e<=15?t^i^r:e<=31?t&i|~t&r:e<=47?(t|~i)^r:e<=63?t&r|i&~r:t^(i|~r)}r.inherits(u,c),(t.ripemd160=u).blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var i,r=b=this.h[0],c=S=this.h[1],u=k=this.h[2],m=x=this.h[3],g=w=this.h[4],v=0;v<80;v++){var y=s(a(o(b,h(v,S,k,x),e[l[v]+t],(i=v)<=15?0:i<=31?1518500249:i<=47?1859775393:i<=63?2400959708:2840853838),d[v]),w),b=w,w=x,x=a(k,10),k=S,S=y;y=s(a(o(r,h(79-v,c,u,m),e[p[v]+t],(i=v)<=15?1352829926:i<=31?1548603684:i<=47?1836072691:i<=63?2053994217:0),f[v]),g),r=g,g=m,m=a(u,10),u=c,c=y}y=n(this.h[1],k,m),this.h[1]=n(this.h[2],x,g),this.h[2]=n(this.h[3],w,r),this.h[3]=n(this.h[4],b,c),this.h[4]=n(this.h[0],S,u),this.h[0]=y},u.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var l=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],d=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],f=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,i){"use strict";var r=i(49),a=i(74);function s(e,t,i){if(!(this instanceof s))return new s(e,t,i);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,i))}(e.exports=s).prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),a(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},s.prototype.update=function(e,t){return this.inner.update(e,t),this},s.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,t,i){"use strict";var r=i(44),a=i(387),s=i(41),n=i(163),o=i(240),c=s.assert,u=i(388),h=i(221);function l(e){if(!(this instanceof l))return new l(e);"string"==typeof e&&(c(Object.prototype.hasOwnProperty.call(n,e),"Unknown curve "+e),e=n[e]),e instanceof n.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}(e.exports=l).prototype.keyPair=function(e){return new u(this,e)},l.prototype.keyFromPrivate=function(e,t){return u.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return u.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){for(var t=new a({hash:this.hash,pers:(e=e||{}).pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),s=this.n.sub(new r(2));;){var n=new r(t.generate(i));if(!(0<n.cmp(s)))return n.iaddn(1),this.keyFromPrivate(n)}},l.prototype._truncateToN=function(e,t){var i=8*e.byteLength()-this.n.bitLength();return 0<i&&(e=e.ushrn(i)),!t&&0<=e.cmp(this.n)?e.sub(this.n):e},l.prototype.sign=function(e,t,i,s){"object"==typeof i&&(s=i,i=null),s=s||{},t=this.keyFromPrivate(t,i),e=this._truncateToN(new r(e,16));i=this.n.byteLength();for(var n=t.getPrivate().toArray("be",i),o=(i=e.toArray("be",i),new a({hash:this.hash,entropy:n,nonce:i,pers:s.pers,persEnc:s.persEnc||"utf8"})),c=this.n.sub(new r(1)),u=0;;u++){var l=s.k?s.k(u):new r(o.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||0<=l.cmp(c))){var p=this.g.mul(l);if(!p.isInfinity()){var d=p.getX(),f=d.umod(this.n);if(0!==f.cmpn(0)&&0!==(l=(l=l.invm(this.n).mul(f.mul(t.getPrivate()).iadd(e))).umod(this.n)).cmpn(0))return p=(p.getY().isOdd()?1:0)|(0!==d.cmp(f)?2:0),s.canonical&&0<l.cmp(this.nh)&&(l=this.n.sub(l),p^=1),new h({r:f,s:l,recoveryParam:p})}}}},l.prototype.verify=function(e,t,i,a){e=this._truncateToN(new r(e,16)),i=this.keyFromPublic(i,a);var s;a=(t=new h(t,"hex")).r,t=t.s;return!(a.cmpn(1)<0||0<=a.cmp(this.n)||t.cmpn(1)<0||0<=t.cmp(this.n))&&(e=(t=t.invm(this.n)).mul(e).umod(this.n),t=t.mul(a).umod(this.n),this.curve._maxwellTrick?!(s=this.g.jmulAdd(e,i.getPublic(),t)).isInfinity()&&s.eqXToP(a):!(s=this.g.mulAdd(e,i.getPublic(),t)).isInfinity()&&0===s.getX().umod(this.n).cmp(a))},l.prototype.recoverPubKey=function(e,t,i,a){c((3&i)===i,"The recovery param is more than two bits"),t=new h(t,a);a=this.n,e=new r(e);var s=t.r,n=t.s,o=1&i;i>>=1;if(0<=s.cmp(this.curve.p.umod(this.curve.n))&&i)throw new Error("Unable to find sencond key candinate");return s=i?this.curve.pointFromX(s.add(this.curve.n),o):this.curve.pointFromX(s,o),i=t.r.invm(a),o=a.sub(e).mul(i).umod(a),t=n.mul(i).umod(a),this.g.mulAdd(o,s,t)},l.prototype.getKeyRecoveryParam=function(e,t,i,r){if(null!==(t=new h(t,r)).recoveryParam)return t.recoveryParam;for(var a,s=0;s<4;s++){try{a=this.recoverPubKey(e,t,s)}catch(e){continue}if(a.eq(i))return s}throw new Error("Unable to find valid recovery factor")}},function(e,t,i){"use strict";var r=i(164),a=i(239),s=i(74);function n(e){if(!(this instanceof n))return new n(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=a.toArray(e.entropy,e.entropyEnc||"hex"),i=a.toArray(e.nonce,e.nonceEnc||"hex");e=a.toArray(e.pers,e.persEnc||"hex");s(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,i,e)}(e.exports=n).prototype._init=function(e,t,i){e=e.concat(t).concat(i),this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r<this.V.length;r++)this.K[r]=0,this.V[r]=1;this._update(e),this._reseed=1,this.reseedInterval=281474976710656},n.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},n.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},n.prototype.reseed=function(e,t,i,r){"string"!=typeof t&&(r=i,i=t,t=null),e=a.toArray(e,t),i=a.toArray(i,r),s(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},n.prototype.generate=function(e,t,i,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=i,i=t,t=null),i&&(i=a.toArray(i,r||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);return r=s.slice(0,e),this._update(i),this._reseed++,a.encode(r,t)}},function(e,t,i){"use strict";var r=i(44),a=i(41).assert;function s(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}(e.exports=s).fromPublic=function(e,t,i){return t instanceof s?t:new s(e,{pub:t,pubEnc:i})},s.fromPrivate=function(e,t,i){return t instanceof s?t:new s(e,{priv:t,privEnc:i})},s.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},s.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},s.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(e,t){e.x||e.y?("mont"===this.ec.curve.type?a(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||a(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y)):this.pub=this.ec.curve.decodePoint(e,t)},s.prototype.derive=function(e){return e.validate()||a(e.validate(),"public point not validated"),e.mul(this.priv).getX()},s.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},s.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},s.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,i){"use strict";var r=i(164),a=i(163),s=i(41),n=s.assert,o=s.parseBytes,c=i(390),u=i(391);function h(e){if(n("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof h))return new h(e);e=a[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}(e.exports=h).prototype.sign=function(e,t){e=o(e);t=this.keyFromSecret(t);var i=this.hashInt(t.messagePrefix(),e),r=this.g.mul(i),a=this.encodePoint(r);e=this.hashInt(a,t.pubBytes(),e).mul(t.priv()),t=i.add(e).umod(this.curve.n);return this.makeSignature({R:r,S:t,Rencoded:a})},h.prototype.verify=function(e,t,i){e=o(e),t=this.makeSignature(t);i=this.keyFromPublic(i),e=this.hashInt(t.Rencoded(),i.pubBytes(),e);var r=this.g.mul(t.S());return t.R().add(i.pub().mul(e)).eq(r)},h.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return s.intFromLE(e.digest()).umod(this.curve.n)},h.prototype.keyFromPublic=function(e){return c.fromPublic(this,e)},h.prototype.keyFromSecret=function(e){return c.fromSecret(this,e)},h.prototype.makeSignature=function(e){return e instanceof u?e:new u(this,e)},h.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},h.prototype.decodePoint=function(e){var t=(e=s.parseBytes(e)).length-1,i=e.slice(0,t).concat(-129&e[t]);e=0!=(128&e[t]),t=s.intFromLE(i);return this.curve.pointFromY(t,e)},h.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},h.prototype.decodeInt=function(e){return s.intFromLE(e)},h.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,i){"use strict";var r=i(41),a=r.assert,s=r.parseBytes;i=r.cachedProperty;function n(e,t){this.eddsa=e,this._secret=s(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=s(t.pub)}n.fromPublic=function(e,t){return t instanceof n?t:new n(e,{pub:t})},n.fromSecret=function(e,t){return t instanceof n?t:new n(e,{secret:t})},n.prototype.secret=function(){return this._secret},i(n,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),i(n,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),i(n,"privBytes",(function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1;return(t=t.slice(0,e.encodingLength))[0]&=248,t[i]&=127,t[i]|=64,t})),i(n,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),i(n,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),i(n,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),n.prototype.sign=function(e){return a(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},n.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},n.prototype.getSecret=function(e){return a(this._secret,"KeyPair is public only"),r.encode(this.secret(),e)},n.prototype.getPublic=function(e){return r.encode(this.pubBytes(),e)},e.exports=n},function(e,t,i){"use strict";var r=i(44),a=i(41),s=a.assert,n=(i=a.cachedProperty,a.parseBytes);function o(e,t){this.eddsa=e,"object"!=typeof t&&(t=n(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),s(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof r&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}i(o,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),i(o,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),i(o,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),i(o,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),o.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},o.prototype.toHex=function(){return a.encode(this.toBytes(),"hex").toUpperCase()},e.exports=o},function(e){e.exports=JSON.parse('{"0":"Failed","1":"Success","1001":"Stock Offering","1002":"Stock Cooling","1003":"Wrong Price","1004":"Wrong Fee","1005":"Wrong Publisher","1006":"Wrong Sum","1007":"Wrong Bonus","1008":"StockSnap Null","1009":"SignFailed","1010":"WrongHeight","1011":"WrongFormat","1012":"StockAccountNotExist","1013":"StockAccountNotEnoughSum","1014":"StockOfferExpired","1015":"FundNotEnough","1016":"Stock Circle Dependence","1017":"Wrong Account Sequence","1018":"Not Exist Cp","1019":"Not Exist Electric Right","1020":"Signature Not Match","1021":"Duplicate Electric Right","1022":"Issuse ErItem Error","1023":"Creadit ErItem Error","1025":"Abolish Time Can Not Change Later","1026":"Abolish Root Certificate Error","false":"Failed","true":"Success"}')},,function(e,t){e.exports=function(){for(var e={},t=0;t<arguments.length;t++){var i,r=arguments[t];for(i in r)r.hasOwnProperty(i)&&(e[i]=r[i])}return e}},function(e,t,i){"use strict";var r=i(48);const a=i(396).Readable;function s(e,t){if(!(this instanceof s))return new s(e,t);t=t||{},a.call(this,Object.assign({},t,{objectMode:!0})),this._iterator=e,this._options=t,this.on("end",this.destroy.bind(this,null,null))}r(e.exports=s,a),s.prototype._read=function(){this.destroyed||this._iterator.next((e,t,i)=>{if(!this.destroyed)return e?this.destroy(e):void(void 0===t&&void 0===i?this.push(null):!1!==this._options.keys&&!1===this._options.values?this.push(t):!1===this._options.keys&&!1!==this._options.values?this.push(i):this.push({key:t,value:i}))})},s.prototype._destroy=function(e,t){this._iterator.end((function(i){t(e||i)}))}},function(e,t,i){var r=i(46);"disable"===process.env.READABLE_STREAM&&r?(e.exports=r,(t=e.exports=r.Readable).Readable=r.Readable,t.Writable=r.Writable,t.Duplex=r.Duplex,t.Transform=r.Transform,t.PassThrough=r.PassThrough,t.Stream=r):((t=e.exports=i(247)).Stream=r||t,(t.Readable=t).Writable=i(250),t.Duplex=i(87),t.Transform=i(252),t.PassThrough=i(400))},function(e,t){var i={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},function(e,t,i){"use strict";var r=i(40).Buffer,a=i(9);function s(){if(!(this instanceof s))throw new TypeError("Cannot call a class as a function");this.head=null,this.tail=null,this.length=0}e.exports=(s.prototype.push=function(e){e={data:e,next:null},0<this.length?this.tail.next=e:this.head=e,this.tail=e,++this.length},s.prototype.unshift=function(e){e={data:e,next:this.head},0===this.length&&(this.tail=e),this.head=e,++this.length},s.prototype.shift=function(){var e;if(0!==this.length)return e=this.head.data,1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e},s.prototype.clear=function(){this.head=this.tail=null,this.length=0},s.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,i=""+t.data;t=t.next;)i+=e+t.data;return i},s.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,i=r.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=s,a.data.copy(i,t),s+=a.data.length,a=a.next;return i},s),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=function(){var e=a.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t,i){e.exports=i(9).deprecate},function(e,t,i){"use strict";e.exports=a;var r=i(252);function a(e){if(!(this instanceof a))return new a(e);r.call(this,e)}(e=Object.create(i(86))).inherits=i(48),e.inherits(a,r),a.prototype._transform=function(e,t,i){i(null,e)}},function(e,t,i){"use strict";var r=i(9);const a=i(168).AbstractLevelDOWN,s=i(170),n=i(408),o=i(409);function c(e){if(!(this instanceof c))return new c(e);if("string"!=typeof e)throw new Error("constructor requires a location string argument");a.call(this,{bufferKeys:!0,snapshots:!0,permanence:!0,seek:!0,clear:!0,getMany:!0,createIfMissing:!0,errorIfExists:!0,additionalMethods:{approximateSize:!0,compactRange:!0}}),this.location=e,this.context=s.db_init()}r.inherits(c,a),c.prototype._open=function(e,t){s.db_open(this.context,this.location,e,t)},c.prototype._close=function(e){s.db_close(this.context,e)},c.prototype._serializeKey=function(e){return Buffer.isBuffer(e)?e:String(e)},c.prototype._serializeValue=function(e){return Buffer.isBuffer(e)?e:String(e)},c.prototype._put=function(e,t,i,r){s.db_put(this.context,e,t,i,r)},c.prototype._get=function(e,t,i){s.db_get(this.context,e,t,i)},c.prototype._getMany=function(e,t,i){s.db_get_many(this.context,e,t,i)},c.prototype._del=function(e,t,i){s.db_del(this.context,e,t,i)},c.prototype._clear=function(e,t){s.db_clear(this.context,e,t)},c.prototype._chainedBatch=function(){return new n(this)},c.prototype._batch=function(e,t,i){s.batch_do(this.context,e,t,i)},c.prototype.approximateSize=function(e,t,i){if(null==e||null==t||"function"==typeof e||"function"==typeof t)throw new Error("approximateSize() requires valid `start` and `end` arguments");if("function"!=typeof i)throw new Error("approximateSize() requires a callback argument");e=this._serializeKey(e),t=this._serializeKey(t),s.db_approximate_size(this.context,e,t,i)},c.prototype.compactRange=function(e,t,i){if(null==e||null==t||"function"==typeof e||"function"==typeof t)throw new Error("compactRange() requires valid `start` and `end` arguments");if("function"!=typeof i)throw new Error("compactRange() requires a callback argument");e=this._serializeKey(e),t=this._serializeKey(t),s.db_compact_range(this.context,e,t,i)},c.prototype.getProperty=function(e){if("string"!=typeof e)throw new Error("getProperty() requires a valid `property` argument");return s.db_get_property(this.context,e)},c.prototype._iterator=function(e){if("open"!==this.status)throw new Error("cannot call iterator() before open()");return new o(this,e)},c.destroy=function(e,t){if(arguments.length<2)throw new Error("destroy() requires `location` and `callback` arguments");if("string"!=typeof e)throw new Error("destroy() requires a location string argument");if("function"!=typeof t)throw new Error("destroy() requires a callback function argument");s.destroy_db(e,t)},c.repair=function(e,t){if(arguments.length<2)throw new Error("repair() requires `location` and `callback` arguments");if("string"!=typeof e)throw new Error("repair() requires a location string argument");if("function"!=typeof t)throw new Error("repair() requires a callback function argument");s.repair_db(e,t)},e.exports=c},function(e,t,i){"use strict";const r=i(403),a=i(404),s=i(405),n=i(253),o=i(254),c=i(255).getCallback,u=i(255).getOptions,h=Object.prototype.hasOwnProperty,l=["lt","lte","gt","gte"];function p(e){this.status="new",this.supports=r(e,{status:!0})}function d(e,t){var i,r={};for(const a in t)if(h.call(t,a)){if("start"===a||"end"===a)throw new Error('Legacy range options ("start" and "end") have been removed');let s=t[a];i=a,-1!==l.indexOf(i)&&(s=e._serializeKey(s)),r[a]=s}return r}p.prototype.open=function(e,t){const i=this.status;if("function"!=typeof(t="function"==typeof e?e:t))throw new Error("open() requires a callback argument");(e="object"==typeof e&&null!==e?e:{}).createIfMissing=!1!==e.createIfMissing,e.errorIfExists=!!e.errorIfExists,this.status="opening",this._open(e,e=>{if(e)return this.status=i,t(e);this.status="open",t()})},p.prototype._open=function(e,t){this._nextTick(t)},p.prototype.close=function(e){const t=this.status;if("function"!=typeof e)throw new Error("close() requires a callback argument");this.status="closing",this._close(i=>{if(i)return this.status=t,e(i);this.status="closed",e()})},p.prototype._close=function(e){this._nextTick(e)},p.prototype.get=function(e,t,i){if("function"!=typeof(i="function"==typeof t?t:i))throw new Error("get() requires a callback argument");var r=this._checkKey(e);if(r)return this._nextTick(i,r);e=this._serializeKey(e),(t="object"==typeof t&&null!==t?t:{}).asBuffer=!1!==t.asBuffer,this._get(e,t,i)},p.prototype._get=function(e,t,i){this._nextTick((function(){i(new Error("NotFound"))}))},p.prototype.getMany=function(e,t,i){var r,a;if(i=c(t,i),i=s.fromCallback(i),t=u(t),a=i,(r=this).isOperational()||(r._nextTick(a,new Error("Database is not open")),0))if(Array.isArray(e))if(0===e.length)this._nextTick(i,null,[]);else{"boolean"!=typeof t.asBuffer&&(t={...t,asBuffer:!0});var n=new Array(e.length);for(let t=0;t<e.length;t++){var o=e[t],h=this._checkKey(o);if(h)return this._nextTick(i,h),i.promise;n[t]=this._serializeKey(o)}this._getMany(n,t,i)}else this._nextTick(i,new Error("getMany() requires an array argument"));return i.promise},p.prototype._getMany=function(e,t,i){this._nextTick(i,null,new Array(e.length).fill(void 0))},p.prototype.put=function(e,t,i,r){if("function"!=typeof(r="function"==typeof i?i:r))throw new Error("put() requires a callback argument");var a=this._checkKey(e)||this._checkValue(t);if(a)return this._nextTick(r,a);e=this._serializeKey(e),t=this._serializeValue(t),this._put(e,t,i="object"==typeof i&&null!==i?i:{},r)},p.prototype._put=function(e,t,i,r){this._nextTick(r)},p.prototype.del=function(e,t,i){if("function"!=typeof(i="function"==typeof t?t:i))throw new Error("del() requires a callback argument");var r=this._checkKey(e);if(r)return this._nextTick(i,r);e=this._serializeKey(e),this._del(e,t="object"==typeof t&&null!==t?t:{},i)},p.prototype._del=function(e,t,i){this._nextTick(i)},p.prototype.batch=function(e,t,i){if(!arguments.length)return this._chainedBatch();if("function"==typeof t&&(i=t),"function"!=typeof(i="function"==typeof e?e:i))throw new Error("batch(array) requires a callback argument");if(!Array.isArray(e))return this._nextTick(i,new Error("batch(array) requires an array argument"));if(0===e.length)return this._nextTick(i);"object"==typeof t&&null!==t||(t={});var r=new Array(e.length);for(let t=0;t<e.length;t++){if("object"!=typeof e[t]||null===e[t])return this._nextTick(i,new Error("batch(array) element must be an object and not `null`"));var a=Object.assign({},e[t]);if("put"!==a.type&&"del"!==a.type)return this._nextTick(i,new Error("`type` must be 'put' or 'del'"));var s=this._checkKey(a.key);if(s)return this._nextTick(i,s);if(a.key=this._serializeKey(a.key),"put"===a.type){if(s=this._checkValue(a.value))return this._nextTick(i,s);a.value=this._serializeValue(a.value)}r[t]=a}this._batch(r,t,i)},p.prototype._batch=function(e,t,i){this._nextTick(i)},p.prototype.clear=function(e,t){if("function"==typeof e)t=e;else if("function"!=typeof t)throw new Error("clear() requires a callback argument");(e=d(this,e)).reverse=!!e.reverse,e.limit="limit"in e?e.limit:-1,this._clear(e,t)},p.prototype._clear=function(e,t){e.keys=!0,e.values=!1,e.keyAsBuffer=!0,e.valueAsBuffer=!0;const i=this._iterator(e),r={},a=e=>{if(e)return i.end((function(){t(e)}));i.next((e,s)=>e?a(e):void 0===s?i.end(t):void this._del(s,r,a))};a()},p.prototype._setupIteratorOptions=function(e){return(e=d(this,e)).reverse=!!e.reverse,e.keys=!1!==e.keys,e.values=!1!==e.values,e.limit="limit"in e?e.limit:-1,e.keyAsBuffer=!1!==e.keyAsBuffer,e.valueAsBuffer=!1!==e.valueAsBuffer,e},p.prototype.iterator=function(e){return e=this._setupIteratorOptions(e="object"==typeof e&&null!==e?e:{}),this._iterator(e)},p.prototype._iterator=function(e){return new n(this)},p.prototype._chainedBatch=function(){return new o(this)},p.prototype._serializeKey=function(e){return e},p.prototype._serializeValue=function(e){return e},p.prototype._checkKey=function(e){return null==e?new Error("key cannot be `null` or `undefined`"):a(e)&&0===e.length?new Error("key cannot be an empty Buffer"):""===e?new Error("key cannot be an empty String"):Array.isArray(e)&&0===e.length?new Error("key cannot be an empty Array"):void 0},p.prototype._checkValue=function(e){if(null==e)return new Error("value cannot be `null` or `undefined`")},p.prototype.isOperational=function(){return"open"===this.status||this._isOperational()},p.prototype._isOperational=function(){return!1},p.prototype._nextTick=i(169),e.exports=p},function(e,t,i){"use strict";function r(e){return!!e&&Object.assign({},e)}e.exports=function(...e){return e=e.reduce((e,t)=>Object.assign(e,t),{}),Object.assign(e,{bufferKeys:e.bufferKeys||!1,snapshots:e.snapshots||!1,permanence:e.permanence||!1,seek:e.seek||!1,clear:e.clear||!1,getMany:e.getMany||!1,keyIterator:e.keyIterator||!1,valueIterator:e.valueIterator||!1,iteratorNextv:e.iteratorNextv||!1,iteratorAll:e.iteratorAll||!1,status:e.status||!1,idempotentOpen:e.idempotentOpen||!1,passiveOpen:e.passiveOpen||!1,serialize:e.serialize||!1,createIfMissing:e.createIfMissing||!1,errorIfExists:e.errorIfExists||!1,deferredOpen:e.deferredOpen||!1,openCallback:e.openCallback||!1,promises:e.promises||!1,streams:e.streams||!1,encodings:r(e.encodings),events:r(e.events),additionalMethods:Object.assign({},e.additionalMethods)})}},function(e,t){
886
+ */const r=i(0),a=i(363),s=i(71);i=t;const n=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),o=Buffer.from("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0","hex");i.binding=!0,i.generatePrivateKey=function(){let e;for(;e=s.randomBytes(32),!a.privateKeyVerify(e););return e},i.publicKeyCreate=function(e,t){return r(Buffer.isBuffer(e)),a.publicKeyCreate(e,t)},i.publicKeyConvert=function(e,t){return a.publicKeyConvert(e,t)},i.privateKeyTweakAdd=function(e,t){return a.privateKeyTweakAdd(e,t)},i.publicKeyTweakAdd=function(e,t,i){return a.publicKeyTweakAdd(e,t,i)},i.ecdh=function(e,t){return a.ecdhUnsafe(e,t,!0).slice(1,33)},i.recover=function(e,t,i,r){i=i||0;try{t=a.signatureImport(t)}catch(e){return null}let s;try{s=a.recover(e,t,i,r)}catch(e){return null}return s},i.verify=function(e,t,i){if(r(Buffer.isBuffer(e)),r(Buffer.isBuffer(t)),r(Buffer.isBuffer(i)),0===t.length)return!1;if(0===i.length)return!1;try{return t=a.signatureImportLax(t),t=a.signatureNormalize(t),a.verify(e,t,i)}catch(e){return!1}},i.publicKeyVerify=function(e){return a.publicKeyVerify(e)},i.privateKeyVerify=function(e){return a.privateKeyVerify(e)},i.sign=function(e,t){return r(Buffer.isBuffer(e)),r(Buffer.isBuffer(t)),e=a.sign(e,t),e=a.signatureNormalize(e.signature),a.signatureExport(e)},i.fromDER=function(e){return r(Buffer.isBuffer(e)),a.signatureImport(e)},i.toDER=function(e){return r(Buffer.isBuffer(e)),a.signatureExport(e)},i.isLowS=function(e){let t;try{t=a.signatureImport(e).slice(32,64)}catch(e){return!1}return!(t.equals(n)||0<t.compare(o))}},function(e,t,i){"use strict";try{e.exports=i(364)}catch(t){process.env.DEBUG&&console.error("Secp256k1 bindings are not compiled. Pure JS implementation will be used."),e.exports=i(368)}},function(e,t,i){"use strict";e.exports=i(365)("secp256k1")},function(e,t,i){"use strict";e.exports=function(e){switch(e){case"leveldown":return i(366);case"secp256k1":return i(367)}throw new Error(`Cannot find module "${e}".`)}},function(e,t,i){(function(e){try{process.dlopen(e,__dirname+i(34).sep+i.p+"87a0128e6559f243a06ff10dd595d4ba.node")}catch(e){throw new Error("node-loader:\n"+e)}}).call(this,i(111)(e))},function(e,t,i){(function(e){try{process.dlopen(e,__dirname+i(34).sep+i.p+"6640b882f1e672106cbb384d69632698.node")}catch(e){throw new Error("node-loader:\n"+e)}}).call(this,i(111)(e))},function(e,t,i){"use strict";e.exports=i(369)(i(373))},function(e,t,i){"use strict";var r=i(370),a=i(371),s=i(238);function n(e,t){return void 0===e?t:(r.isBoolean(e,s.COMPRESSED_TYPE_INVALID),e)}e.exports=function(e){return{privateKeyVerify:function(t){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),32===t.length&&e.privateKeyVerify(t)},privateKeyExport:function(t,i){r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),i=n(i,!0);var o=e.privateKeyExport(t,i);return a.privateKeyExport(t,o,i)},privateKeyImport:function(t){if(r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),(t=a.privateKeyImport(t))&&32===t.length&&e.privateKeyVerify(t))return t;throw new Error(s.EC_PRIVATE_KEY_IMPORT_DER_FAIL)},privateKeyNegate:function(t){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),e.privateKeyNegate(t)},privateKeyModInverse:function(t){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),e.privateKeyModInverse(t)},privateKeyTweakAdd:function(t,i){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),e.privateKeyTweakAdd(t,i)},privateKeyTweakMul:function(t,i){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),e.privateKeyTweakMul(t,i)},publicKeyCreate:function(t,i){return r.isBuffer(t,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(t,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),i=n(i,!0),e.publicKeyCreate(t,i)},publicKeyConvert:function(t,i){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),i=n(i,!0),e.publicKeyConvert(t,i)},publicKeyVerify:function(t){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),e.publicKeyVerify(t)},publicKeyTweakAdd:function(t,i,a){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),a=n(a,!0),e.publicKeyTweakAdd(t,i,a)},publicKeyTweakMul:function(t,i,a){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.TWEAK_TYPE_INVALID),r.isBufferLength(i,32,s.TWEAK_LENGTH_INVALID),a=n(a,!0),e.publicKeyTweakMul(t,i,a)},publicKeyCombine:function(t,i){r.isArray(t,s.EC_PUBLIC_KEYS_TYPE_INVALID),r.isLengthGTZero(t,s.EC_PUBLIC_KEYS_LENGTH_INVALID);for(var a=0;a<t.length;++a)r.isBuffer(t[a],s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t[a],33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID);return i=n(i,!0),e.publicKeyCombine(t,i)},signatureNormalize:function(t){return r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(t,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),e.signatureNormalize(t)},signatureExport:function(t){return r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(t,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),t=e.signatureExport(t),a.signatureExport(t)},signatureImport:function(t){if(r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isLengthGTZero(t,s.ECDSA_SIGNATURE_LENGTH_INVALID),t=a.signatureImport(t))return e.signatureImport(t);throw new Error(s.ECDSA_SIGNATURE_PARSE_DER_FAIL)},signatureImportLax:function(t){if(r.isBuffer(t,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isLengthGTZero(t,s.ECDSA_SIGNATURE_LENGTH_INVALID),t=a.signatureImportLax(t))return e.signatureImport(t);throw new Error(s.ECDSA_SIGNATURE_PARSE_DER_FAIL)},sign:function(t,i,a){r.isBuffer(t,s.MSG32_TYPE_INVALID),r.isBufferLength(t,32,s.MSG32_LENGTH_INVALID),r.isBuffer(i,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(i,32,s.EC_PRIVATE_KEY_LENGTH_INVALID);var n=null,o=null;return void 0!==a&&(r.isObject(a,s.OPTIONS_TYPE_INVALID),void 0!==a.data&&(r.isBuffer(a.data,s.OPTIONS_DATA_TYPE_INVALID),r.isBufferLength(a.data,32,s.OPTIONS_DATA_LENGTH_INVALID),n=a.data),void 0!==a.noncefn)&&(r.isFunction(a.noncefn,s.OPTIONS_NONCEFN_TYPE_INVALID),o=a.noncefn),e.sign(t,i,o,n)},verify:function(t,i,a){return r.isBuffer(t,s.MSG32_TYPE_INVALID),r.isBufferLength(t,32,s.MSG32_LENGTH_INVALID),r.isBuffer(i,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(i,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),r.isBuffer(a,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(a,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),e.verify(t,i,a)},recover:function(t,i,a,o){return r.isBuffer(t,s.MSG32_TYPE_INVALID),r.isBufferLength(t,32,s.MSG32_LENGTH_INVALID),r.isBuffer(i,s.ECDSA_SIGNATURE_TYPE_INVALID),r.isBufferLength(i,64,s.ECDSA_SIGNATURE_LENGTH_INVALID),r.isNumber(a,s.RECOVERY_ID_TYPE_INVALID),r.isNumberInInterval(a,-1,4,s.RECOVERY_ID_VALUE_INVALID),o=n(o,!0),e.recover(t,i,a,o)},ecdh:function(t,i){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(i,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),e.ecdh(t,i)},ecdhUnsafe:function(t,i,a){return r.isBuffer(t,s.EC_PUBLIC_KEY_TYPE_INVALID),r.isBufferLength2(t,33,65,s.EC_PUBLIC_KEY_LENGTH_INVALID),r.isBuffer(i,s.EC_PRIVATE_KEY_TYPE_INVALID),r.isBufferLength(i,32,s.EC_PRIVATE_KEY_LENGTH_INVALID),a=n(a,!0),e.ecdhUnsafe(t,i,a)}}}},function(e,t,i){"use strict";var r=Object.prototype.toString;t.isArray=function(e,t){if(!Array.isArray(e))throw TypeError(t)},t.isBoolean=function(e,t){if("[object Boolean]"!==r.call(e))throw TypeError(t)},t.isBuffer=function(e,t){if(!Buffer.isBuffer(e))throw TypeError(t)},t.isFunction=function(e,t){if("[object Function]"!==r.call(e))throw TypeError(t)},t.isNumber=function(e,t){if("[object Number]"!==r.call(e))throw TypeError(t)},t.isObject=function(e,t){if("[object Object]"!==r.call(e))throw TypeError(t)},t.isBufferLength=function(e,t,i){if(e.length!==t)throw RangeError(i)},t.isBufferLength2=function(e,t,i,r){if(e.length!==t&&e.length!==i)throw RangeError(r)},t.isLengthGTZero=function(e,t){if(0===e.length)throw RangeError(t)},t.isNumberInInterval=function(e,t,i,r){if(e<=t||i<=e)throw RangeError(r)}},function(e,t,i){"use strict";var r=i(40).Buffer,a=i(372),s=r.from([48,129,211,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,133,48,129,130,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,33,2,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,36,3,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),n=r.from([48,130,1,19,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,165,48,129,162,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,65,4,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,72,58,218,119,38,163,196,101,93,164,251,252,14,17,8,168,253,23,180,72,166,133,84,25,156,71,208,143,251,16,212,184,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,68,3,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);t.privateKeyExport=function(e,t,i){var a=r.from(i?s:n);return e.copy(a,i?8:9),t.copy(a,i?181:214),a},t.privateKeyImport=function(e){var t=e.length,i=0;if(!(t<1||48!==e[0])&&(++i,!(t<2))&&128&e[1]){var r=127&e[1];if(++i,!(r<1||2<r||t<2+r))if(!(t<(i+=r)+(e[2+r-1]|(1<r?e[2+r-2]<<8:0))||t<3+i||2!==e[i]||1!==e[1+i]||1!==e[2+i]||t<2+(i+=3)||4!==e[i]||32<e[1+i]||t<2+i+e[1+i]))return e.slice(2+i,2+i+e[1+i])}},t.signatureExport=function(e){for(var t=r.concat([r.from([0]),e.r]),i=33,s=0;1<i&&0===t[s]&&!(128&t[s+1]);--i,++s);for(var n=r.concat([r.from([0]),e.s]),o=33,c=0;1<o&&0===n[c]&&!(128&n[c+1]);--o,++c);return a.encode(t.slice(s),n.slice(c))},t.signatureImport=function(e){var t=r.alloc(32,0),i=r.alloc(32,0);try{var s=a.decode(e);if(33===s.r.length&&0===s.r[0]&&(s.r=s.r.slice(1)),32<s.r.length)throw new Error("R length is too long");if(33===s.s.length&&0===s.s[0]&&(s.s=s.s.slice(1)),32<s.s.length)throw new Error("S length is too long")}catch(e){return}return s.r.copy(t,32-s.r.length),s.s.copy(i,32-s.s.length),{r:t,s:i}},t.signatureImportLax=function(e){var t=r.alloc(32,0),i=r.alloc(32,0),a=e.length,s=0;if(48===e[s++]){var n=e[s++];if(!(128&n&&a<(s+=n-128))&&2===e[s++]){var o=e[s++];if(128&o){if(a<s+(n=o-128))return;for(;0<n&&0===e[s];s+=1,--n);for(o=0;0<n;s+=1,--n)o=(o<<8)+e[s]}if(!(a-s<o)){var c=s;if(s+=o,2===e[s++]){var u=e[s++];if(128&u){if(a<s+(n=u-128))return;for(;0<n&&0===e[s];s+=1,--n);for(u=0;0<n;s+=1,--n)u=(u<<8)+e[s]}if(!(a-s<u)){var h=s;for(s+=u;0<o&&0===e[c];--o,c+=1);if(!(32<o)){for((a=e.slice(c,c+o)).copy(t,32-a.length);0<u&&0===e[h];--u,h+=1);if(!(32<u))return(a=e.slice(h,h+u)).copy(i,32-a.length),{r:t,s:i}}}}}}}}},function(e,t,i){var r=i(40).Buffer;e.exports={check:function(e){var t,i;return!(e.length<8||72<e.length||48!==e[0]||e[1]!==e.length-2||2!==e[2]||0===(t=e[3])||5+t>=e.length||2!==e[4+t]||0===(i=e[5+t])||6+t+i!==e.length||128&e[4]||1<t&&0===e[4]&&!(128&e[5])||128&e[t+6]||1<i&&0===e[t+6]&&!(128&e[t+7]))},decode:function(e){if(e.length<8)throw new Error("DER sequence length is too short");if(72<e.length)throw new Error("DER sequence length is too long");if(48!==e[0])throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(2!==e[2])throw new Error("Expected DER integer");var t=e[3];if(0===t)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(2!==e[4+t])throw new Error("Expected DER integer (2)");var i=e[5+t];if(0===i)throw new Error("S length is zero");if(6+t+i!==e.length)throw new Error("S length is invalid");if(128&e[4])throw new Error("R value is negative");if(1<t&&0===e[4]&&!(128&e[5]))throw new Error("R value excessively padded");if(128&e[t+6])throw new Error("S value is negative");if(1<i&&0===e[t+6]&&!(128&e[t+7]))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}},encode:function(e,t){var i=e.length,a=t.length;if(0===i)throw new Error("R length is zero");if(0===a)throw new Error("S length is zero");if(33<i)throw new Error("R length is too long");if(33<a)throw new Error("S length is too long");if(128&e[0])throw new Error("R value is negative");if(128&t[0])throw new Error("S value is negative");if(1<i&&0===e[0]&&!(128&e[1]))throw new Error("R value excessively padded");if(1<a&&0===t[0]&&!(128&t[1]))throw new Error("S value excessively padded");return(a=r.allocUnsafe(6+i+a))[0]=48,a[1]=a.length-2,a[2]=2,a[3]=e.length,e.copy(a,4),a[4+i]=2,a[5+i]=t.length,t.copy(a,6+i),a}}},function(e,t,i){"use strict";var r=i(40).Buffer,a=i(374),s=i(44),n=i(162).ec,o=i(238),c=new n("secp256k1"),u=c.curve;function h(e){var t,i,r,a=e[0];switch(a){case 2:case 3:return 33!==e.length?null:(i=a,r=e.slice(1,33),0<=(r=new s(r)).cmp(u.p)?null:(3===i!==(i=(r=r.toRed(u.red)).redSqr().redIMul(r).redIAdd(u.b).redSqrt()).isOdd()&&(i=i.redNeg()),c.keyPair({pub:{x:r,y:i}})));case 4:case 6:case 7:return 65!==e.length?null:(r=a,i=e.slice(1,33),t=e.slice(33,65),i=new s(i),t=new s(t),!(0<=i.cmp(u.p)||0<=t.cmp(u.p))&&(i=i.toRed(u.red),t=t.toRed(u.red),6!==r&&7!==r||t.isOdd()===(7===r))&&(r=i.redSqr().redIMul(i),t.redSqr().redISub(r.redIAdd(u.b)).isZero())?c.keyPair({pub:{x:i,y:t}}):null);default:return null}}t.privateKeyVerify=function(e){return(e=new s(e)).cmp(u.n)<0&&!e.isZero()},t.privateKeyExport=function(e,t){var i=new s(e);if(0<=i.cmp(u.n)||i.isZero())throw new Error(o.EC_PRIVATE_KEY_EXPORT_DER_FAIL);return r.from(c.keyFromPrivate(e).getPublic(t,!0))},t.privateKeyNegate=function(e){return(e=new s(e)).isZero()?r.alloc(32):u.n.sub(e).umod(u.n).toArrayLike(r,"be",32)},t.privateKeyModInverse=function(e){if(0<=(e=new s(e)).cmp(u.n)||e.isZero())throw new Error(o.EC_PRIVATE_KEY_RANGE_INVALID);return e.invm(u.n).toArrayLike(r,"be",32)},t.privateKeyTweakAdd=function(e,t){if(0<=(t=new s(t)).cmp(u.n))throw new Error(o.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);if(t.iadd(new s(e)),0<=t.cmp(u.n)&&t.isub(u.n),t.isZero())throw new Error(o.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);return t.toArrayLike(r,"be",32)},t.privateKeyTweakMul=function(e,t){if(0<=(t=new s(t)).cmp(u.n)||t.isZero())throw new Error(o.EC_PRIVATE_KEY_TWEAK_MUL_FAIL);return t.imul(new s(e)),(t=t.cmp(u.n)?t.umod(u.n):t).toArrayLike(r,"be",32)},t.publicKeyCreate=function(e,t){var i=new s(e);if(0<=i.cmp(u.n)||i.isZero())throw new Error(o.EC_PUBLIC_KEY_CREATE_FAIL);return r.from(c.keyFromPrivate(e).getPublic(t,!0))},t.publicKeyConvert=function(e,t){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);return r.from(e.getPublic(t,!0))},t.publicKeyVerify=function(e){return null!==h(e)},t.publicKeyTweakAdd=function(e,t,i){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new s(t)).cmp(u.n))throw new Error(o.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);if((t=u.g.mul(t).add(e.pub)).isInfinity())throw new Error(o.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);return r.from(t.encode(!0,i))},t.publicKeyTweakMul=function(e,t,i){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new s(t)).cmp(u.n)||t.isZero())throw new Error(o.EC_PUBLIC_KEY_TWEAK_MUL_FAIL);return r.from(e.pub.mul(t).encode(!0,i))},t.publicKeyCombine=function(e,t){for(var i=new Array(e.length),a=0;a<e.length;++a)if(i[a]=h(e[a]),null===i[a])throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);for(var s=i[0].pub,n=1;n<i.length;++n)s=s.add(i[n].pub);if(s.isInfinity())throw new Error(o.EC_PUBLIC_KEY_COMBINE_FAIL);return r.from(s.encode(!0,t))},t.signatureNormalize=function(e){var t=new s(e.slice(0,32)),i=new s(e.slice(32,64));if(0<=t.cmp(u.n)||0<=i.cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);return t=r.from(e),1===i.cmp(c.nh)&&u.n.sub(i).toArrayLike(r,"be",32).copy(t,32),t},t.signatureExport=function(e){var t=e.slice(0,32);e=e.slice(32,64);if(0<=new s(t).cmp(u.n)||0<=new s(e).cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);return{r:t,s:e}},t.signatureImport=function(e){var t=new s(e.r);return 0<=(e=(0<=t.cmp(u.n)&&(t=new s(0)),new s(e.s))).cmp(u.n)&&(e=new s(0)),r.concat([t.toArrayLike(r,"be",32),e.toArrayLike(r,"be",32)])},t.sign=function(e,t,i,a){"function"==typeof i&&(n=i,i=function(i){if(i=n(e,t,null,a,i),r.isBuffer(i)&&32===i.length)return new s(i);throw new Error(o.ECDSA_SIGN_FAIL)});var n,h=new s(t);if(0<=h.cmp(u.n)||h.isZero())throw new Error(o.ECDSA_SIGN_FAIL);return h=c.sign(e,t,{canonical:!0,k:i,pers:a}),{signature:r.concat([h.r.toArrayLike(r,"be",32),h.s.toArrayLike(r,"be",32)]),recovery:h.recoveryParam}},t.verify=function(e,t,i){t={r:t.slice(0,32),s:t.slice(32,64)};var r=new s(t.r),a=new s(t.s);if(0<=r.cmp(u.n)||0<=a.cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);if(1===a.cmp(c.nh)||r.isZero()||a.isZero())return!1;if(null===(r=h(i)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);return c.verify(e,t,{x:r.pub.x,y:r.pub.y})},t.recover=function(e,t,i,a){t={r:t.slice(0,32),s:t.slice(32,64)};var n=new s(t.r),h=new s(t.s);if(0<=n.cmp(u.n)||0<=h.cmp(u.n))throw new Error(o.ECDSA_SIGNATURE_PARSE_FAIL);try{if(n.isZero()||h.isZero())throw new Error;var l=c.recoverPubKey(e,t,i);return r.from(l.encode(!0,a))}catch(e){throw new Error(o.ECDSA_RECOVER_FAIL)}},t.ecdh=function(e,i){return e=t.ecdhUnsafe(e,i,!0),a("sha256").update(e).digest()},t.ecdhUnsafe=function(e,t,i){if(null===(e=h(e)))throw new Error(o.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new s(t)).cmp(u.n)||t.isZero())throw new Error(o.ECDH_FAIL);return r.from(e.pub.mul(t).encode(!0,i))}},function(e,t,i){e.exports=i(8).createHash},function(e){e.exports=JSON.parse('{"_from":"elliptic@6.5.4","_id":"elliptic@6.5.4","_inBundle":false,"_integrity":"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"elliptic@6.5.4","name":"elliptic","escapedName":"elliptic","rawSpec":"6.5.4","saveSpec":null,"fetchSpec":"6.5.4"},"_requiredBy":["#USER","/","/browserify-sign","/create-ecdh","/gamerpc"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz","_shasum":"da37cebd31e79a1367e941b592ed1fbebd58abbb","_spec":"elliptic@6.5.4","_where":"C:\\\\Users\\\\ceo\\\\vallnet","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"bundleDependencies":false,"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},"deprecated":false,"description":"EC cryptography","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.4"}')},function(e,t,i){"use strict";var r=i(41),a=i(44),s=i(48),n=i(127),o=r.assert;function c(e){n.call(this,"short",e),this.a=new a(e.a,16).toRed(this.red),this.b=new a(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(e,t,i,r){n.BasePoint.call(this,e,"affine"),null===t&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new a(t,16),this.y=new a(i,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(e,t,i,r){n.BasePoint.call(this,e,"jacobian"),null===t&&null===i&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new a(0)):(this.x=new a(t,16),this.y=new a(i,16),this.z=new a(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(c,n),(e.exports=c).prototype._getEndomorphism=function(e){var t,i,r;if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3))return i=(e.beta?new a(e.beta,16):i=(i=this._getEndoRoots(this.p))[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red),e.lambda?t=new a(e.lambda,16):(r=this._getEndoRoots(this.n),0===this.g.mul(r[0]).x.cmp(this.g.x.redMul(i))?t=r[0]:(t=r[1],o(0===this.g.mul(t).x.cmp(this.g.x.redMul(i))))),{beta:i,lambda:t,basis:e.basis?e.basis.map((function(e){return{a:new a(e.a,16),b:new a(e.b,16)}})):this._getEndoBasis(t)}},c.prototype._getEndoRoots=function(e){e=e===this.p?this.red:a.mont(e);var t=new a(2).toRed(e).redInvm(),i=t.redNeg();e=new a(3).toRed(e).redNeg().redSqrt().redMul(t);return[i.redAdd(e).fromRed(),i.redSub(e).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,i,r,s,n,o=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=e,u=this.n.clone(),h=new a(1),l=new a(0),p=new a(0),d=new a(1),f=0;0!==c.cmpn(0);){var m=u.div(c),g=u.sub(m.mul(c)),v=p.sub(m.mul(h));m=d.sub(m.mul(l));if(!r&&g.cmp(o)<0)t=n.neg(),i=h,r=g.neg(),s=v;else if(r&&2==++f)break;u=c,c=n=g,p=h,h=v,d=l,l=m}e=g.neg();var y=v,b=r.sqr().add(s.sqr());return 0<=e.sqr().add(y.sqr()).cmp(b)&&(e=t,y=i),r.negative&&(r=r.neg(),s=s.neg()),e.negative&&(e=e.neg(),y=y.neg()),[{a:r,b:s},{a:e,b:y}]},c.prototype._endoSplit=function(e){var t,i=(t=this.endo.basis)[0],r=(t=t[1]).b.mul(e).divRound(this.n),a=i.b.neg().mul(e).divRound(this.n),s=r.mul(i.a),n=a.mul(t.a);r=r.mul(i.b),i=a.mul(t.b);return{k1:e.sub(s).sub(n),k2:r.add(i).neg()}},c.prototype.pointFromX=function(e,t){var i=(e=(e=new a(e,16)).red?e:e.toRed(this.red)).redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=i.redSqrt();if(0!==r.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");return i=r.fromRed().isOdd(),(t&&!i||!t&&i)&&(r=r.redNeg()),this.point(e,r)},c.prototype.validate=function(e){var t,i;return!!e.inf||(i=e.x,e=e.y,t=this.a.redMul(i),i=i.redSqr().redMul(i).redIAdd(t).redIAdd(this.b),0===e.redSqr().redISub(i).cmpn(0))},c.prototype._endoWnafMulAdd=function(e,t,i){for(var r=this._endoWnafT1,a=this._endoWnafT2,s=0;s<e.length;s++){var n=this._endoSplit(t[s]),o=e[s],c=o._getBeta();n.k1.negative&&(n.k1.ineg(),o=o.neg(!0)),n.k2.negative&&(n.k2.ineg(),c=c.neg(!0)),r[2*s]=o,r[2*s+1]=c,a[2*s]=n.k1,a[2*s+1]=n.k2}i=this._wnafMulAdd(1,r,a,2*s,i);for(var u=0;u<2*s;u++)r[u]=null,a[u]=null;return i},s(u,n.BasePoint),c.prototype.point=function(e,t,i){return new u(this,e,t,i)},c.prototype.pointFromJSON=function(e,t){return u.fromJSON(this,e,t)},u.prototype._getBeta=function(){var e,t,i,r;if(this.curve.endo)return(e=this.precomputed)&&e.beta?e.beta:(t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y),e&&(i=this.curve,r=function(e){return i.point(e.x.redMul(i.endo.beta),e.y)},(e.beta=t).precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}),t)},u.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},u.fromJSON=function(e,t,i){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],i);return t[2]&&(t=t[2],r.precomputed={beta:null,doubles:t.doubles&&{step:t.doubles.step,points:[r].concat(t.doubles.points.map(a))},naf:t.naf&&{wnd:t.naf.wnd,points:[r].concat(t.naf.points.map(a))}}),r;function a(t){return e.point(t[0],t[1],i)}},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(e){var t;return this.inf?e:e.inf?this:this.eq(e)?this.dbl():this.neg().eq(e)||0===this.x.cmp(e.x)?this.curve.point(null,null):(e=(t=0!==(t=this.y.redSub(e.y)).cmpn(0)?t.redMul(this.x.redSub(e.x).redInvm()):t).redSqr().redISub(this.x).redISub(e.x),t=t.redMul(this.x.redSub(e)).redISub(this.y),this.curve.point(e,t))},u.prototype.dbl=function(){var e,t,i;return this.inf?this:0===(i=this.y.redAdd(this.y)).cmpn(0)?this.curve.point(null,null):(t=this.curve.a,e=this.x.redSqr(),i=i.redInvm(),t=(e=e.redAdd(e).redIAdd(e).redIAdd(t).redMul(i)).redSqr().redISub(this.x.redAdd(this.x)),i=e.redMul(this.x.redSub(t)).redISub(this.y),this.curve.point(t,i))},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(e){return e=new a(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},u.prototype.mulAdd=function(e,t,i){return t=[this,t],e=[e,i],this.curve.endo?this.curve._endoWnafMulAdd(t,e):this.curve._wnafMulAdd(1,t,e,2)},u.prototype.jmulAdd=function(e,t,i){return t=[this,t],e=[e,i],this.curve.endo?this.curve._endoWnafMulAdd(t,e,!0):this.curve._wnafMulAdd(1,t,e,2,!0)},u.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},u.prototype.neg=function(e){var t,i;return this.inf?this:(t=this.curve.point(this.x,this.y.redNeg()),e&&this.precomputed&&(e=this.precomputed,i=function(e){return e.neg()},t.precomputed={naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}),t)},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(h,n.BasePoint),c.prototype.jpoint=function(e,t,i){return new h(this,e,t,i)},h.prototype.toP=function(){var e,t,i;return this.isInfinity()?this.curve.point(null,null):(i=(e=this.z.redInvm()).redSqr(),t=this.x.redMul(i),i=this.y.redMul(i).redMul(e),this.curve.point(t,i))},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(e){var t,i,r,a,s,n;return this.isInfinity()?e:e.isInfinity()?this:(t=e.z.redSqr(),s=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(s),t=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(s.redMul(this.z)),i=n.redSub(i),s=t.redSub(s),0===i.cmpn(0)?0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl():(r=(a=i.redSqr()).redMul(i),n=n.redMul(a),a=s.redSqr().redIAdd(r).redISub(n).redISub(n),s=s.redMul(n.redISub(a)).redISub(t.redMul(r)),n=this.z.redMul(e.z).redMul(i),this.curve.jpoint(a,s,n)))},h.prototype.mixedAdd=function(e){var t,i,r,a,s;return this.isInfinity()?e.toJ():e.isInfinity()?this:(i=this.z.redSqr(),s=this.x,a=e.x.redMul(i),t=this.y,e=e.y.redMul(i).redMul(this.z),i=s.redSub(a),a=t.redSub(e),0===i.cmpn(0)?0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl():(r=(e=i.redSqr()).redMul(i),s=s.redMul(e),e=a.redSqr().redIAdd(r).redISub(s).redISub(s),a=a.redMul(s.redISub(e)).redISub(t.redMul(r)),s=this.z.redMul(i),this.curve.jpoint(e,a,s)))},h.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,i=0;i<e;i++)t=t.dbl();return t}var r=this.curve.a,a=this.curve.tinv,s=this.x,n=this.y,o=this.z,c=o.redSqr().redSqr(),u=n.redAdd(n);for(i=0;i<e;i++){var h=s.redSqr(),l=(p=u.redSqr()).redSqr(),p=(h=h.redAdd(h).redIAdd(h).redIAdd(r.redMul(c)),s.redMul(p)),d=h.redSqr().redISub(p.redAdd(p));p=p.redISub(d),h=(h=h.redMul(p)).redIAdd(h).redISub(l),p=u.redMul(o);i+1<e&&(c=c.redMul(l)),s=d,o=p,u=h}return this.curve.jpoint(s,u.redMul(a),o)},h.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},h.prototype._zeroDbl=function(){var e,t,i,r,a,s=this.zOne?(t=this.x.redSqr(),i=(e=this.y.redSqr()).redSqr(),e=(e=this.x.redAdd(e).redSqr().redISub(t).redISub(i)).redIAdd(e),r=(t=t.redAdd(t).redIAdd(t)).redSqr().redISub(e).redISub(e),i=(i=(i=i.redIAdd(i)).redIAdd(i)).redIAdd(i),e=t.redMul(e.redISub(t=r)).redISub(i),this.y.redAdd(this.y)):(r=this.x.redSqr(),a=(i=this.y.redSqr()).redSqr(),i=(i=this.x.redAdd(i).redSqr().redISub(r).redISub(a)).redIAdd(i),s=(r=r.redAdd(r).redIAdd(r)).redSqr(),a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a),t=s.redISub(i).redISub(i),e=r.redMul(i.redISub(t)).redISub(a),(s=this.y.redMul(this.z)).redIAdd(s));return this.curve.jpoint(t,e,s)},h.prototype._threeDbl=function(){var e,t,i,r,a,s,n,o;return this.zOne?(t=this.x.redSqr(),a=(e=this.y.redSqr()).redSqr(),e=(e=this.x.redAdd(e).redSqr().redISub(t).redISub(a)).redIAdd(e),i=r=(t=t.redAdd(t).redIAdd(t).redIAdd(this.curve.a)).redSqr().redISub(e).redISub(e),a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a),t=t.redMul(e.redISub(r)).redISub(a),e=this.y.redAdd(this.y)):(r=this.z.redSqr(),a=this.y.redSqr(),n=this.x.redMul(a),s=(s=this.x.redSub(r).redMul(this.x.redAdd(r))).redAdd(s).redIAdd(s),o=(n=(n=n.redIAdd(n)).redIAdd(n)).redAdd(n),i=s.redSqr().redISub(o),e=this.y.redAdd(this.z).redSqr().redISub(a).redISub(r),o=(o=(o=(o=a.redSqr()).redIAdd(o)).redIAdd(o)).redIAdd(o),t=s.redMul(n.redISub(i)).redISub(o)),this.curve.jpoint(i,t,e)},h.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,r=this.z,a=r.redSqr().redSqr(),s=t.redSqr(),n=i.redSqr();s=s.redAdd(s).redIAdd(s).redIAdd(e.redMul(a)),a=(e=(e=t.redAdd(t)).redIAdd(e)).redMul(n),t=s.redSqr().redISub(a.redAdd(a)),e=a.redISub(t),a=(a=(a=(a=n.redSqr()).redIAdd(a)).redIAdd(a)).redIAdd(a),n=s.redMul(e).redISub(a),s=i.redAdd(i).redMul(r);return this.curve.jpoint(t,n,s)},h.prototype.trpl=function(){var e,t,i,r,a,s,n;return this.curve.zeroA?(t=this.x.redSqr(),a=this.y.redSqr(),e=this.z.redSqr(),n=a.redSqr(),s=(r=t.redAdd(t).redIAdd(t)).redSqr(),i=(t=(t=(t=(t=this.x.redAdd(a).redSqr().redISub(t).redISub(n)).redIAdd(t)).redAdd(t).redIAdd(t)).redISub(s)).redSqr(),n=(n=(n=(n=n.redIAdd(n)).redIAdd(n)).redIAdd(n)).redIAdd(n),r=r.redIAdd(t).redSqr().redISub(s).redISub(i).redISub(n),s=(s=(s=a.redMul(r)).redIAdd(s)).redIAdd(s),a=(a=(a=this.x.redMul(i).redISub(s)).redIAdd(a)).redIAdd(a),s=(s=(s=(s=this.y.redMul(r.redMul(n.redISub(r)).redISub(t.redMul(i)))).redIAdd(s)).redIAdd(s)).redIAdd(s),n=this.z.redAdd(t).redSqr().redISub(e).redISub(i),this.curve.jpoint(a,s,n)):this.dbl().add(this)},h.prototype.mul=function(e,t){return e=new a(e,t),this.curve._wnafMul(this,e)},h.prototype.eq=function(e){var t,i;return"affine"===e.type?this.eq(e.toJ()):this===e||(t=this.z.redSqr(),i=e.z.redSqr(),0===this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0)&&(t=t.redMul(this.z),i=i.redMul(e.z),0===this.y.redMul(i).redISub(e.y.redMul(t)).cmpn(0)))},h.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(i))return!0;for(var r=e.clone(),a=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),0<=r.cmp(this.curve.p))return!1;if(i.redIAdd(a),0===this.x.cmp(i))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){var i;t&&(e.super_=t,(i=function(){}).prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e)}},function(e,t,i){"use strict";var r=i(44),a=i(48),s=i(127),n=i(41);function o(e){s.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,i){s.BasePoint.call(this,e,"projective"),null===t&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}a(o,s),(e.exports=o).prototype.validate=function(e){var t;return 0===(t=(t=(e=e.normalize().x).redSqr()).redMul(e).redAdd(t.redMul(this.a)).redAdd(e)).redSqrt().redSqr().cmp(t)},a(c,s.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(n.toArray(e,t),1)},o.prototype.point=function(e,t){return new c(this,e,t)},o.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),i=e.redSub(t);e=e.redMul(t),t=i.redMul(t.redAdd(this.curve.a24.redMul(i)));return this.curve.point(e,t)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),r=this.x.redSub(this.z),a=e.x.redAdd(e.z);e=e.x.redSub(e.z).redMul(i),i=a.redMul(r),a=t.z.redMul(e.redAdd(i).redSqr()),r=t.x.redMul(e.redISub(i).redSqr());return this.curve.point(a,r)},c.prototype.mul=function(e){for(var t=e.clone(),i=this,r=this.curve.point(null,null),a=[];0!==t.cmpn(0);t.iushrn(1))a.push(t.andln(1));for(var s=a.length-1;0<=s;s--)0===a[s]?(i=i.diffAdd(r,this),r=r.dbl()):(r=i.diffAdd(r,this),i=i.dbl());return r},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,i){"use strict";var r=i(41),a=i(44),s=i(48),n=i(127),o=r.assert;function c(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,n.call(this,"edwards",e),this.a=new a(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new a(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new a(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function u(e,t,i,r,s){n.BasePoint.call(this,e,"projective"),null===t&&null===i&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new a(t,16),this.y=new a(i,16),this.z=r?new a(r,16):this.curve.one,this.t=s&&new a(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(c,n),(e.exports=c).prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},c.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},c.prototype.jpoint=function(e,t,i,r){return this.point(e,t,i,r)},c.prototype.pointFromX=function(e,t){var i=(e=(e=new a(e,16)).red?e:e.toRed(this.red)).redSqr(),r=this.c2.redSub(this.a.redMul(i));i=this.one.redSub(this.c2.redMul(this.d).redMul(i)),r=r.redMul(i.redInvm());if(0!==(i=r.redSqrt()).redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");return r=i.fromRed().isOdd(),(t&&!r||!t&&r)&&(i=i.redNeg()),this.point(e,i)},c.prototype.pointFromY=function(e,t){var i=(r=(e=(e=new a(e,16)).red?e:e.toRed(this.red)).redSqr()).redSub(this.c2),r=r.redMul(this.d).redMul(this.c2).redSub(this.a);if(0===(i=i.redMul(r.redInvm())).cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}if(0!==(r=i.redSqrt()).redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");return r.fromRed().isOdd()!==t&&(r=r.redNeg()),this.point(r,e)},c.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),i=(e=e.y.redSqr(),t.redMul(this.a).redAdd(e));t=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(e)));return 0===i.cmp(t)},s(u,n.BasePoint),c.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},c.prototype.point=function(e,t,i,r){return new u(this,e,t,i,r)},u.fromJSON=function(e,t){return new u(e,t[0],t[1],t[2])},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=(i=this.z.redSqr()).redIAdd(i),r=this.curve._mulA(e),a=(e=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),r.redAdd(t)),s=(i=a.redSub(i),r=r.redSub(t),t=e.redMul(i),a.redMul(r));e=e.redMul(r),r=i.redMul(a);return this.curve.point(t,s,r,e)},u.prototype._projDbl=function(){var e,t,i,r,a,s,n=this.x.redAdd(this.y).redSqr(),o=this.x.redSqr(),c=this.y.redSqr();return s=this.curve.twisted?(s=(a=this.curve._mulA(o)).redAdd(c),this.zOne?(e=n.redSub(o).redSub(c).redMul(s.redSub(this.curve.two)),t=s.redMul(a.redSub(c)),s.redSqr().redSub(s).redSub(s)):(i=this.z.redSqr(),r=s.redSub(i).redISub(i),e=n.redSub(o).redISub(c).redMul(r),t=s.redMul(a.redSub(c)),s.redMul(r))):(a=o.redAdd(c),i=this.curve._mulC(this.z).redSqr(),r=a.redSub(i).redSub(i),e=this.curve._mulC(n.redISub(a)).redMul(r),t=this.curve._mulC(a).redMul(o.redISub(c)),a.redMul(r)),this.curve.point(e,t,s)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),a=(e=this.z.redMul(e.z.redAdd(e.z)),i.redSub(t)),s=e.redSub(r);e=e.redAdd(r),r=i.redAdd(t),i=a.redMul(s),t=e.redMul(r),a=a.redMul(r),r=s.redMul(e);return this.curve.point(i,t,r,a)},u.prototype._projAdd=function(e){var t,i=this.z.redMul(e.z),r=i.redSqr(),a=this.x.redMul(e.x),s=this.y.redMul(e.y),n=this.curve.d.redMul(a).redMul(s),o=r.redSub(n);r=r.redAdd(n),n=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(s),e=i.redMul(o).redMul(n),n=(this.curve.twisted?(t=i.redMul(r).redMul(s.redSub(this.curve._mulA(a))),o):(t=i.redMul(r).redMul(s.redSub(a)),this.curve._mulC(o))).redMul(r);return this.curve.point(e,t,n)},u.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},u.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},u.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},u.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},u.prototype.normalize=function(){var e;return this.zOne||(e=this.z.redInvm(),this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0),this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},u.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var i=e.clone(),r=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),0<=i.cmp(this.curve.p))return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},function(e,t,i){"use strict";t.sha1=i(381),t.sha224=i(382),t.sha256=i(243),t.sha384=i(383),t.sha512=i(244)},function(e,t,i){"use strict";var r=i(49),a=i(98),s=(i=i(242),r.rotl32),n=r.sum32,o=r.sum32_5,c=i.ft_1,u=a.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function l(){if(!(this instanceof l))return new l;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(l,u),(e.exports=l).blockSize=512,l.outSize=160,l.hmacStrength=80,l.padLength=64,l.prototype._update=function(e,t){for(var i=this.W,r=0;r<16;r++)i[r]=e[t+r];for(;r<i.length;r++)i[r]=s(i[r-3]^i[r-8]^i[r-14]^i[r-16],1);var a=this.h[0],u=this.h[1],l=this.h[2],p=this.h[3],d=this.h[4];for(r=0;r<i.length;r++){var f=~~(r/20);f=o(s(a,5),c(f,u,l,p),d,i[r],h[f]),d=p,p=l,l=s(u,30),u=a,a=f}this.h[0]=n(this.h[0],a),this.h[1]=n(this.h[1],u),this.h[2]=n(this.h[2],l),this.h[3]=n(this.h[3],p),this.h[4]=n(this.h[4],d)},l.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,i){"use strict";var r=i(49),a=i(243);function s(){if(!(this instanceof s))return new s;a.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(s,a),(e.exports=s).blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},function(e,t,i){"use strict";var r=i(49),a=i(244);function s(){if(!(this instanceof s))return new s;a.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(s,a),(e.exports=s).blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},function(e,t,i){"use strict";var r=i(49),a=(i=i(98),r.rotl32),s=r.sum32,n=r.sum32_3,o=r.sum32_4,c=i.BlockHash;function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function h(e,t,i,r){return e<=15?t^i^r:e<=31?t&i|~t&r:e<=47?(t|~i)^r:e<=63?t&r|i&~r:t^(i|~r)}r.inherits(u,c),(t.ripemd160=u).blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var i,r=b=this.h[0],c=S=this.h[1],u=k=this.h[2],m=x=this.h[3],g=w=this.h[4],v=0;v<80;v++){var y=s(a(o(b,h(v,S,k,x),e[l[v]+t],(i=v)<=15?0:i<=31?1518500249:i<=47?1859775393:i<=63?2400959708:2840853838),d[v]),w),b=w,w=x,x=a(k,10),k=S,S=y;y=s(a(o(r,h(79-v,c,u,m),e[p[v]+t],(i=v)<=15?1352829926:i<=31?1548603684:i<=47?1836072691:i<=63?2053994217:0),f[v]),g),r=g,g=m,m=a(u,10),u=c,c=y}y=n(this.h[1],k,m),this.h[1]=n(this.h[2],x,g),this.h[2]=n(this.h[3],w,r),this.h[3]=n(this.h[4],b,c),this.h[4]=n(this.h[0],S,u),this.h[0]=y},u.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var l=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],d=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],f=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,i){"use strict";var r=i(49),a=i(74);function s(e,t,i){if(!(this instanceof s))return new s(e,t,i);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,i))}(e.exports=s).prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),a(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},s.prototype.update=function(e,t){return this.inner.update(e,t),this},s.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,t,i){"use strict";var r=i(44),a=i(388),s=i(41),n=i(163),o=i(240),c=s.assert,u=i(389),h=i(221);function l(e){if(!(this instanceof l))return new l(e);"string"==typeof e&&(c(Object.prototype.hasOwnProperty.call(n,e),"Unknown curve "+e),e=n[e]),e instanceof n.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}(e.exports=l).prototype.keyPair=function(e){return new u(this,e)},l.prototype.keyFromPrivate=function(e,t){return u.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return u.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){for(var t=new a({hash:this.hash,pers:(e=e||{}).pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),s=this.n.sub(new r(2));;){var n=new r(t.generate(i));if(!(0<n.cmp(s)))return n.iaddn(1),this.keyFromPrivate(n)}},l.prototype._truncateToN=function(e,t){var i=8*e.byteLength()-this.n.bitLength();return 0<i&&(e=e.ushrn(i)),!t&&0<=e.cmp(this.n)?e.sub(this.n):e},l.prototype.sign=function(e,t,i,s){"object"==typeof i&&(s=i,i=null),s=s||{},t=this.keyFromPrivate(t,i),e=this._truncateToN(new r(e,16));i=this.n.byteLength();for(var n=t.getPrivate().toArray("be",i),o=(i=e.toArray("be",i),new a({hash:this.hash,entropy:n,nonce:i,pers:s.pers,persEnc:s.persEnc||"utf8"})),c=this.n.sub(new r(1)),u=0;;u++){var l=s.k?s.k(u):new r(o.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||0<=l.cmp(c))){var p=this.g.mul(l);if(!p.isInfinity()){var d=p.getX(),f=d.umod(this.n);if(0!==f.cmpn(0)&&0!==(l=(l=l.invm(this.n).mul(f.mul(t.getPrivate()).iadd(e))).umod(this.n)).cmpn(0))return p=(p.getY().isOdd()?1:0)|(0!==d.cmp(f)?2:0),s.canonical&&0<l.cmp(this.nh)&&(l=this.n.sub(l),p^=1),new h({r:f,s:l,recoveryParam:p})}}}},l.prototype.verify=function(e,t,i,a){e=this._truncateToN(new r(e,16)),i=this.keyFromPublic(i,a);var s;a=(t=new h(t,"hex")).r,t=t.s;return!(a.cmpn(1)<0||0<=a.cmp(this.n)||t.cmpn(1)<0||0<=t.cmp(this.n))&&(e=(t=t.invm(this.n)).mul(e).umod(this.n),t=t.mul(a).umod(this.n),this.curve._maxwellTrick?!(s=this.g.jmulAdd(e,i.getPublic(),t)).isInfinity()&&s.eqXToP(a):!(s=this.g.mulAdd(e,i.getPublic(),t)).isInfinity()&&0===s.getX().umod(this.n).cmp(a))},l.prototype.recoverPubKey=function(e,t,i,a){c((3&i)===i,"The recovery param is more than two bits"),t=new h(t,a);a=this.n,e=new r(e);var s=t.r,n=t.s,o=1&i;i>>=1;if(0<=s.cmp(this.curve.p.umod(this.curve.n))&&i)throw new Error("Unable to find sencond key candinate");return s=i?this.curve.pointFromX(s.add(this.curve.n),o):this.curve.pointFromX(s,o),i=t.r.invm(a),o=a.sub(e).mul(i).umod(a),t=n.mul(i).umod(a),this.g.mulAdd(o,s,t)},l.prototype.getKeyRecoveryParam=function(e,t,i,r){if(null!==(t=new h(t,r)).recoveryParam)return t.recoveryParam;for(var a,s=0;s<4;s++){try{a=this.recoverPubKey(e,t,s)}catch(e){continue}if(a.eq(i))return s}throw new Error("Unable to find valid recovery factor")}},function(e,t,i){"use strict";var r=i(164),a=i(239),s=i(74);function n(e){if(!(this instanceof n))return new n(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=a.toArray(e.entropy,e.entropyEnc||"hex"),i=a.toArray(e.nonce,e.nonceEnc||"hex");e=a.toArray(e.pers,e.persEnc||"hex");s(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,i,e)}(e.exports=n).prototype._init=function(e,t,i){e=e.concat(t).concat(i),this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r<this.V.length;r++)this.K[r]=0,this.V[r]=1;this._update(e),this._reseed=1,this.reseedInterval=281474976710656},n.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},n.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},n.prototype.reseed=function(e,t,i,r){"string"!=typeof t&&(r=i,i=t,t=null),e=a.toArray(e,t),i=a.toArray(i,r),s(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},n.prototype.generate=function(e,t,i,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=i,i=t,t=null),i&&(i=a.toArray(i,r||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);return r=s.slice(0,e),this._update(i),this._reseed++,a.encode(r,t)}},function(e,t,i){"use strict";var r=i(44),a=i(41).assert;function s(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}(e.exports=s).fromPublic=function(e,t,i){return t instanceof s?t:new s(e,{pub:t,pubEnc:i})},s.fromPrivate=function(e,t,i){return t instanceof s?t:new s(e,{priv:t,privEnc:i})},s.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},s.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},s.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(e,t){e.x||e.y?("mont"===this.ec.curve.type?a(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||a(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y)):this.pub=this.ec.curve.decodePoint(e,t)},s.prototype.derive=function(e){return e.validate()||a(e.validate(),"public point not validated"),e.mul(this.priv).getX()},s.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},s.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},s.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,i){"use strict";var r=i(164),a=i(163),s=i(41),n=s.assert,o=s.parseBytes,c=i(391),u=i(392);function h(e){if(n("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof h))return new h(e);e=a[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}(e.exports=h).prototype.sign=function(e,t){e=o(e);t=this.keyFromSecret(t);var i=this.hashInt(t.messagePrefix(),e),r=this.g.mul(i),a=this.encodePoint(r);e=this.hashInt(a,t.pubBytes(),e).mul(t.priv()),t=i.add(e).umod(this.curve.n);return this.makeSignature({R:r,S:t,Rencoded:a})},h.prototype.verify=function(e,t,i){e=o(e),t=this.makeSignature(t);i=this.keyFromPublic(i),e=this.hashInt(t.Rencoded(),i.pubBytes(),e);var r=this.g.mul(t.S());return t.R().add(i.pub().mul(e)).eq(r)},h.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return s.intFromLE(e.digest()).umod(this.curve.n)},h.prototype.keyFromPublic=function(e){return c.fromPublic(this,e)},h.prototype.keyFromSecret=function(e){return c.fromSecret(this,e)},h.prototype.makeSignature=function(e){return e instanceof u?e:new u(this,e)},h.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},h.prototype.decodePoint=function(e){var t=(e=s.parseBytes(e)).length-1,i=e.slice(0,t).concat(-129&e[t]);e=0!=(128&e[t]),t=s.intFromLE(i);return this.curve.pointFromY(t,e)},h.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},h.prototype.decodeInt=function(e){return s.intFromLE(e)},h.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,i){"use strict";var r=i(41),a=r.assert,s=r.parseBytes;i=r.cachedProperty;function n(e,t){this.eddsa=e,this._secret=s(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=s(t.pub)}n.fromPublic=function(e,t){return t instanceof n?t:new n(e,{pub:t})},n.fromSecret=function(e,t){return t instanceof n?t:new n(e,{secret:t})},n.prototype.secret=function(){return this._secret},i(n,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),i(n,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),i(n,"privBytes",(function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1;return(t=t.slice(0,e.encodingLength))[0]&=248,t[i]&=127,t[i]|=64,t})),i(n,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),i(n,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),i(n,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),n.prototype.sign=function(e){return a(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},n.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},n.prototype.getSecret=function(e){return a(this._secret,"KeyPair is public only"),r.encode(this.secret(),e)},n.prototype.getPublic=function(e){return r.encode(this.pubBytes(),e)},e.exports=n},function(e,t,i){"use strict";var r=i(44),a=i(41),s=a.assert,n=(i=a.cachedProperty,a.parseBytes);function o(e,t){this.eddsa=e,"object"!=typeof t&&(t=n(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),s(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof r&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}i(o,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),i(o,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),i(o,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),i(o,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),o.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},o.prototype.toHex=function(){return a.encode(this.toBytes(),"hex").toUpperCase()},e.exports=o},function(e){e.exports=JSON.parse('{"0":"Failed","1":"Success","1001":"Stock Offering","1002":"Stock Cooling","1003":"Wrong Price","1004":"Wrong Fee","1005":"Wrong Publisher","1006":"Wrong Sum","1007":"Wrong Bonus","1008":"StockSnap Null","1009":"SignFailed","1010":"WrongHeight","1011":"WrongFormat","1012":"StockAccountNotExist","1013":"StockAccountNotEnoughSum","1014":"StockOfferExpired","1015":"FundNotEnough","1016":"Stock Circle Dependence","1017":"Wrong Account Sequence","1018":"Not Exist Cp","1019":"Not Exist Electric Right","1020":"Signature Not Match","1021":"Duplicate Electric Right","1022":"Issuse ErItem Error","1023":"Creadit ErItem Error","1025":"Abolish Time Can Not Change Later","1026":"Abolish Root Certificate Error","false":"Failed","true":"Success"}')},,function(e,t){e.exports=function(){for(var e={},t=0;t<arguments.length;t++){var i,r=arguments[t];for(i in r)r.hasOwnProperty(i)&&(e[i]=r[i])}return e}},function(e,t,i){"use strict";var r=i(48);const a=i(397).Readable;function s(e,t){if(!(this instanceof s))return new s(e,t);t=t||{},a.call(this,Object.assign({},t,{objectMode:!0})),this._iterator=e,this._options=t,this.on("end",this.destroy.bind(this,null,null))}r(e.exports=s,a),s.prototype._read=function(){this.destroyed||this._iterator.next((e,t,i)=>{if(!this.destroyed)return e?this.destroy(e):void(void 0===t&&void 0===i?this.push(null):!1!==this._options.keys&&!1===this._options.values?this.push(t):!1===this._options.keys&&!1!==this._options.values?this.push(i):this.push({key:t,value:i}))})},s.prototype._destroy=function(e,t){this._iterator.end((function(i){t(e||i)}))}},function(e,t,i){var r=i(46);"disable"===process.env.READABLE_STREAM&&r?(e.exports=r,(t=e.exports=r.Readable).Readable=r.Readable,t.Writable=r.Writable,t.Duplex=r.Duplex,t.Transform=r.Transform,t.PassThrough=r.PassThrough,t.Stream=r):((t=e.exports=i(247)).Stream=r||t,(t.Readable=t).Writable=i(250),t.Duplex=i(87),t.Transform=i(252),t.PassThrough=i(401))},function(e,t){var i={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},function(e,t,i){"use strict";var r=i(40).Buffer,a=i(9);function s(){if(!(this instanceof s))throw new TypeError("Cannot call a class as a function");this.head=null,this.tail=null,this.length=0}e.exports=(s.prototype.push=function(e){e={data:e,next:null},0<this.length?this.tail.next=e:this.head=e,this.tail=e,++this.length},s.prototype.unshift=function(e){e={data:e,next:this.head},0===this.length&&(this.tail=e),this.head=e,++this.length},s.prototype.shift=function(){var e;if(0!==this.length)return e=this.head.data,1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e},s.prototype.clear=function(){this.head=this.tail=null,this.length=0},s.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,i=""+t.data;t=t.next;)i+=e+t.data;return i},s.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,i=r.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=s,a.data.copy(i,t),s+=a.data.length,a=a.next;return i},s),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=function(){var e=a.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t,i){e.exports=i(9).deprecate},function(e,t,i){"use strict";e.exports=a;var r=i(252);function a(e){if(!(this instanceof a))return new a(e);r.call(this,e)}(e=Object.create(i(86))).inherits=i(48),e.inherits(a,r),a.prototype._transform=function(e,t,i){i(null,e)}},function(e,t,i){"use strict";var r=i(9);const a=i(168).AbstractLevelDOWN,s=i(170),n=i(409),o=i(410);function c(e){if(!(this instanceof c))return new c(e);if("string"!=typeof e)throw new Error("constructor requires a location string argument");a.call(this,{bufferKeys:!0,snapshots:!0,permanence:!0,seek:!0,clear:!0,getMany:!0,createIfMissing:!0,errorIfExists:!0,additionalMethods:{approximateSize:!0,compactRange:!0}}),this.location=e,this.context=s.db_init()}r.inherits(c,a),c.prototype._open=function(e,t){s.db_open(this.context,this.location,e,t)},c.prototype._close=function(e){s.db_close(this.context,e)},c.prototype._serializeKey=function(e){return Buffer.isBuffer(e)?e:String(e)},c.prototype._serializeValue=function(e){return Buffer.isBuffer(e)?e:String(e)},c.prototype._put=function(e,t,i,r){s.db_put(this.context,e,t,i,r)},c.prototype._get=function(e,t,i){s.db_get(this.context,e,t,i)},c.prototype._getMany=function(e,t,i){s.db_get_many(this.context,e,t,i)},c.prototype._del=function(e,t,i){s.db_del(this.context,e,t,i)},c.prototype._clear=function(e,t){s.db_clear(this.context,e,t)},c.prototype._chainedBatch=function(){return new n(this)},c.prototype._batch=function(e,t,i){s.batch_do(this.context,e,t,i)},c.prototype.approximateSize=function(e,t,i){if(null==e||null==t||"function"==typeof e||"function"==typeof t)throw new Error("approximateSize() requires valid `start` and `end` arguments");if("function"!=typeof i)throw new Error("approximateSize() requires a callback argument");e=this._serializeKey(e),t=this._serializeKey(t),s.db_approximate_size(this.context,e,t,i)},c.prototype.compactRange=function(e,t,i){if(null==e||null==t||"function"==typeof e||"function"==typeof t)throw new Error("compactRange() requires valid `start` and `end` arguments");if("function"!=typeof i)throw new Error("compactRange() requires a callback argument");e=this._serializeKey(e),t=this._serializeKey(t),s.db_compact_range(this.context,e,t,i)},c.prototype.getProperty=function(e){if("string"!=typeof e)throw new Error("getProperty() requires a valid `property` argument");return s.db_get_property(this.context,e)},c.prototype._iterator=function(e){if("open"!==this.status)throw new Error("cannot call iterator() before open()");return new o(this,e)},c.destroy=function(e,t){if(arguments.length<2)throw new Error("destroy() requires `location` and `callback` arguments");if("string"!=typeof e)throw new Error("destroy() requires a location string argument");if("function"!=typeof t)throw new Error("destroy() requires a callback function argument");s.destroy_db(e,t)},c.repair=function(e,t){if(arguments.length<2)throw new Error("repair() requires `location` and `callback` arguments");if("string"!=typeof e)throw new Error("repair() requires a location string argument");if("function"!=typeof t)throw new Error("repair() requires a callback function argument");s.repair_db(e,t)},e.exports=c},function(e,t,i){"use strict";const r=i(404),a=i(405),s=i(406),n=i(253),o=i(254),c=i(255).getCallback,u=i(255).getOptions,h=Object.prototype.hasOwnProperty,l=["lt","lte","gt","gte"];function p(e){this.status="new",this.supports=r(e,{status:!0})}function d(e,t){var i,r={};for(const a in t)if(h.call(t,a)){if("start"===a||"end"===a)throw new Error('Legacy range options ("start" and "end") have been removed');let s=t[a];i=a,-1!==l.indexOf(i)&&(s=e._serializeKey(s)),r[a]=s}return r}p.prototype.open=function(e,t){const i=this.status;if("function"!=typeof(t="function"==typeof e?e:t))throw new Error("open() requires a callback argument");(e="object"==typeof e&&null!==e?e:{}).createIfMissing=!1!==e.createIfMissing,e.errorIfExists=!!e.errorIfExists,this.status="opening",this._open(e,e=>{if(e)return this.status=i,t(e);this.status="open",t()})},p.prototype._open=function(e,t){this._nextTick(t)},p.prototype.close=function(e){const t=this.status;if("function"!=typeof e)throw new Error("close() requires a callback argument");this.status="closing",this._close(i=>{if(i)return this.status=t,e(i);this.status="closed",e()})},p.prototype._close=function(e){this._nextTick(e)},p.prototype.get=function(e,t,i){if("function"!=typeof(i="function"==typeof t?t:i))throw new Error("get() requires a callback argument");var r=this._checkKey(e);if(r)return this._nextTick(i,r);e=this._serializeKey(e),(t="object"==typeof t&&null!==t?t:{}).asBuffer=!1!==t.asBuffer,this._get(e,t,i)},p.prototype._get=function(e,t,i){this._nextTick((function(){i(new Error("NotFound"))}))},p.prototype.getMany=function(e,t,i){var r,a;if(i=c(t,i),i=s.fromCallback(i),t=u(t),a=i,(r=this).isOperational()||(r._nextTick(a,new Error("Database is not open")),0))if(Array.isArray(e))if(0===e.length)this._nextTick(i,null,[]);else{"boolean"!=typeof t.asBuffer&&(t={...t,asBuffer:!0});var n=new Array(e.length);for(let t=0;t<e.length;t++){var o=e[t],h=this._checkKey(o);if(h)return this._nextTick(i,h),i.promise;n[t]=this._serializeKey(o)}this._getMany(n,t,i)}else this._nextTick(i,new Error("getMany() requires an array argument"));return i.promise},p.prototype._getMany=function(e,t,i){this._nextTick(i,null,new Array(e.length).fill(void 0))},p.prototype.put=function(e,t,i,r){if("function"!=typeof(r="function"==typeof i?i:r))throw new Error("put() requires a callback argument");var a=this._checkKey(e)||this._checkValue(t);if(a)return this._nextTick(r,a);e=this._serializeKey(e),t=this._serializeValue(t),this._put(e,t,i="object"==typeof i&&null!==i?i:{},r)},p.prototype._put=function(e,t,i,r){this._nextTick(r)},p.prototype.del=function(e,t,i){if("function"!=typeof(i="function"==typeof t?t:i))throw new Error("del() requires a callback argument");var r=this._checkKey(e);if(r)return this._nextTick(i,r);e=this._serializeKey(e),this._del(e,t="object"==typeof t&&null!==t?t:{},i)},p.prototype._del=function(e,t,i){this._nextTick(i)},p.prototype.batch=function(e,t,i){if(!arguments.length)return this._chainedBatch();if("function"==typeof t&&(i=t),"function"!=typeof(i="function"==typeof e?e:i))throw new Error("batch(array) requires a callback argument");if(!Array.isArray(e))return this._nextTick(i,new Error("batch(array) requires an array argument"));if(0===e.length)return this._nextTick(i);"object"==typeof t&&null!==t||(t={});var r=new Array(e.length);for(let t=0;t<e.length;t++){if("object"!=typeof e[t]||null===e[t])return this._nextTick(i,new Error("batch(array) element must be an object and not `null`"));var a=Object.assign({},e[t]);if("put"!==a.type&&"del"!==a.type)return this._nextTick(i,new Error("`type` must be 'put' or 'del'"));var s=this._checkKey(a.key);if(s)return this._nextTick(i,s);if(a.key=this._serializeKey(a.key),"put"===a.type){if(s=this._checkValue(a.value))return this._nextTick(i,s);a.value=this._serializeValue(a.value)}r[t]=a}this._batch(r,t,i)},p.prototype._batch=function(e,t,i){this._nextTick(i)},p.prototype.clear=function(e,t){if("function"==typeof e)t=e;else if("function"!=typeof t)throw new Error("clear() requires a callback argument");(e=d(this,e)).reverse=!!e.reverse,e.limit="limit"in e?e.limit:-1,this._clear(e,t)},p.prototype._clear=function(e,t){e.keys=!0,e.values=!1,e.keyAsBuffer=!0,e.valueAsBuffer=!0;const i=this._iterator(e),r={},a=e=>{if(e)return i.end((function(){t(e)}));i.next((e,s)=>e?a(e):void 0===s?i.end(t):void this._del(s,r,a))};a()},p.prototype._setupIteratorOptions=function(e){return(e=d(this,e)).reverse=!!e.reverse,e.keys=!1!==e.keys,e.values=!1!==e.values,e.limit="limit"in e?e.limit:-1,e.keyAsBuffer=!1!==e.keyAsBuffer,e.valueAsBuffer=!1!==e.valueAsBuffer,e},p.prototype.iterator=function(e){return e=this._setupIteratorOptions(e="object"==typeof e&&null!==e?e:{}),this._iterator(e)},p.prototype._iterator=function(e){return new n(this)},p.prototype._chainedBatch=function(){return new o(this)},p.prototype._serializeKey=function(e){return e},p.prototype._serializeValue=function(e){return e},p.prototype._checkKey=function(e){return null==e?new Error("key cannot be `null` or `undefined`"):a(e)&&0===e.length?new Error("key cannot be an empty Buffer"):""===e?new Error("key cannot be an empty String"):Array.isArray(e)&&0===e.length?new Error("key cannot be an empty Array"):void 0},p.prototype._checkValue=function(e){if(null==e)return new Error("value cannot be `null` or `undefined`")},p.prototype.isOperational=function(){return"open"===this.status||this._isOperational()},p.prototype._isOperational=function(){return!1},p.prototype._nextTick=i(169),e.exports=p},function(e,t,i){"use strict";function r(e){return!!e&&Object.assign({},e)}e.exports=function(...e){return e=e.reduce((e,t)=>Object.assign(e,t),{}),Object.assign(e,{bufferKeys:e.bufferKeys||!1,snapshots:e.snapshots||!1,permanence:e.permanence||!1,seek:e.seek||!1,clear:e.clear||!1,getMany:e.getMany||!1,keyIterator:e.keyIterator||!1,valueIterator:e.valueIterator||!1,iteratorNextv:e.iteratorNextv||!1,iteratorAll:e.iteratorAll||!1,status:e.status||!1,idempotentOpen:e.idempotentOpen||!1,passiveOpen:e.passiveOpen||!1,serialize:e.serialize||!1,createIfMissing:e.createIfMissing||!1,errorIfExists:e.errorIfExists||!1,deferredOpen:e.deferredOpen||!1,openCallback:e.openCallback||!1,promises:e.promises||!1,streams:e.streams||!1,encodings:r(e.encodings),events:r(e.events),additionalMethods:Object.assign({},e.additionalMethods)})}},function(e,t){
887
887
  /*!
888
888
  * Determine if an object is a Buffer
889
889
  *
890
890
  * @author Feross Aboukhadijeh <https://feross.org>
891
891
  * @license MIT
892
892
  */
893
- e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,t,i){"use strict";var r=i(406);t.fromCallback=function(e,t){if(void 0===e){var i=new Promise((function(t,i){e=function(e,r){e?i(e):t(r)}}));e[void 0!==t?t:"promise"]=i}else if("function"!=typeof e)throw new TypeError("Callback must be a function");return e},t.fromPromise=function(e,t){if(void 0===t)return e;e.then((function(e){r(()=>t(null,e))})).catch((function(e){r(()=>t(e))}))}},function(e,t){e.exports=process.nextTick.bind(process)},function(e,t,i){var r=i(88),a=i(34),s=(i=i(114),require),n=process.config&&process.config.variables||{},o=!!process.env.PREBUILDS_ONLY,c=process.versions.modules,u=process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE||"undefined"!=typeof window&&window.process&&"renderer"===window.process.type?"electron":process.versions&&process.versions.nw?"node-webkit":"node",h=process.env.npm_config_arch||i.arch(),l=process.env.npm_config_platform||i.platform(),p=process.env.LIBC||("linux"===l&&r.existsSync("/etc/alpine-release")?"musl":"glibc"),d=process.env.ARM_VERSION||("arm64"===h?"8":n.arm_version)||"",f=(process.versions.uv||"").split(".")[0];function m(e){return s(m.path(e))}function g(e){try{return r.readdirSync(e)}catch(e){return[]}}function v(e,t){return(t=g(e).filter(t))[0]&&a.join(e,t[0])}function y(e){return/\.node$/.test(e)}function b(e){if(2===(i=e.split("-")).length){var t=i[0],i=i[1].split("+");if(t&&i.length&&i.every(Boolean))return{name:e,platform:t,architectures:i}}}function w(e,t){return function(i){return null!=i&&i.platform===e&&i.architectures.includes(t)}}function x(e,t){return e.architectures.length-t.architectures.length}function k(e){var t=e.split("."),i={file:e,specificity:0};if("node"===t.pop()){for(var r=0;r<t.length;r++){var a=t[r];if("node"===a||"electron"===a||"node-webkit"===a)i.runtime=a;else if("napi"===a)i.napi=!0;else if("abi"===a.slice(0,3))i.abi=a.slice(3);else if("uv"===a.slice(0,2))i.uv=a.slice(2);else if("armv"===a.slice(0,4))i.armv=a.slice(4);else{if("glibc"!==a&&"musl"!==a)continue;i.libc=a}i.specificity++}return i}}function S(e,t){return function(i){var r;return null!=i&&!!(i.runtime===e||"node"===(r=i).runtime&&r.napi)&&!(i.abi!==t&&!i.napi||i.uv&&i.uv!==f||i.armv&&i.armv!==d||i.libc&&i.libc!==p)}}function _(e){return function(t,i){return t.runtime!==i.runtime?t.runtime===e?-1:1:t.abi!==i.abi?t.abi?-1:1:t.specificity!==i.specificity?t.specificity>i.specificity?-1:1:0}}(e.exports=m).path=function(e){e=a.resolve(e||".");try{var t=s(a.join(e,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[t+"_PREBUILD"]&&(e=process.env[t+"_PREBUILD"])}catch(e){}if(!o){if(t=v(a.join(e,"build/Release"),y))return t;if(t=v(a.join(e,"build/Debug"),y))return t}if(t=i(e))return t;if(t=i(a.dirname(process.execPath)))return t;throw t=["platform="+l,"arch="+h,"runtime="+u,"abi="+c,"uv="+f,d?"armv="+d:"","libc="+p,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"","webpack=true"].filter(Boolean).join(" "),new Error("No native build was found for "+t+"\n loaded from: "+e+"\n");function i(e){var t=g(a.join(e,"prebuilds")).map(b).filter(w(l,h)).sort(x)[0];return(t=t&&g(e=a.join(e,"prebuilds",t.name)).map(k).filter(S(u,c)).sort(_(u))[0])?a.join(e,t.file):void 0}},m.parseTags=k,m.matchTags=S,m.compareTags=_,m.parseTuple=b,m.matchTuple=w,m.compareTuples=x},function(e,t,i){"use strict";var r=i(9);const a=i(168).AbstractChainedBatch,s=i(170);function n(e){a.call(this,e),this.context=s.batch_init(e.context)}n.prototype._put=function(e,t){s.batch_put(this.context,e,t)},n.prototype._del=function(e){s.batch_del(this.context,e)},n.prototype._clear=function(){s.batch_clear(this.context)},n.prototype._write=function(e,t){s.batch_write(this.context,e,t)},r.inherits(n,a),e.exports=n},function(e,t,i){"use strict";var r=i(9);const a=i(168).AbstractIterator,s=i(170);function n(e,t){a.call(this,e),this.context=s.iterator_init(e.context,t),this.cache=null,this.finished=!1}r.inherits(n,a),n.prototype._seek=function(e){if(0===e.length)throw new Error("cannot seek() to an empty target");this.cache=null,s.iterator_seek(this.context,e),this.finished=!1},n.prototype._next=function(e){return this.cache&&this.cache.length?process.nextTick(e,null,this.cache.pop(),this.cache.pop()):this.finished?process.nextTick(e):s.iterator_next(this.context,(t,i,r)=>{if(t)return e(t);this.cache=i,this.finished=r,this._next(e)}),this},n.prototype._end=function(e){delete this.cache,s.iterator_end(this.context,e)},e.exports=n},,function(e,t,i){"use strict";(function(e){var t=i(412).getNewLibraryCopy(),r=i(443),a=i(453);try{var s=a(i.c,(function(){return i(330)}),(function(){i(266)}),e)}catch(e){throw a=i(114).EOL,console.error(a+"###"+a+'### The "request" library is not installed automatically anymore.'+a+'### But required by "request-promise".'+a+"###"+a+"### npm install request --save"+a+"###"+a),e}t.config({cancellation:!0}),r({request:s,PromiseImpl:t,expose:["then","catch","finally","cancel","promise"],constructorMixin:function(e,t,i){var r=this;i((function(){r.abort()}))}}),s.bindCLS=function(){throw new Error("CLS support was dropped. To get it back read: https://github.com/request/request-promise/wiki/Getting-Back-Support-for-Continuation-Local-Storage")},e.exports=s}).call(this,i(111)(e))},function(e,t,i){"use strict";var r;"undefined"!=typeof Promise&&(r=Promise);var a=i(413)();a.noConflict=function(){try{Promise===a&&(Promise=r)}catch(e){}return a},e.exports=a},function(e,t,i){"use strict";e.exports=function(){function t(){return new v("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")}function r(){return new C.PromiseInspection(this._target())}function a(e){return C.reject(new v(e))}function s(){}function n(){return{domain:h(),async:null}}function o(){return{domain:h(),async:new l("Bluebird::Promise")}}var c={},u=i(11),h=(u.setReflectHandler(r),function(){var e=process.domain;return void 0===e?null:e}),l=u.isNode&&u.nodeSupportsAsyncResource?i(258).AsyncResource:null,p=u.isNode?n:function(){return null},d=(u.notEnumerableProp(C,"_getContext",p),i(76)),f=i(414),m=new f,g=(d.defineProperty(C,"_async",{value:m}),i(65)),v=C.TypeError=g.TypeError,y=(C.RangeError=g.RangeError,C.CancellationError=g.CancellationError),b=(C.TimeoutError=g.TimeoutError,C.OperationalError=g.OperationalError,C.RejectionError=g.OperationalError,C.AggregateError=g.AggregateError,function(){}),w={},x={},k=i(417)(C,b),S=i(418)(C,b,k,a,s),_=(g=i(419)(C)).create,E=i(420)(C,g,(function(){p=o,u.notEnumerableProp(C,"_getContext",o)}),(function(){p=n,u.notEnumerableProp(C,"_getContext",n)})),j=(E.CapturedTrace,i(421)(C,k,x)),A=i(259)(x),R=i(260),I=u.errorObj,O=u.tryCatch;function C(e){if(e!==b){var t=e;if(null==this||this.constructor!==C)throw new v("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n");if("function"!=typeof t)throw new v("expecting a function but got "+u.classString(t))}this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(e),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function P(e){this.promise._resolveCallback(e)}function T(e){this.promise._rejectCallback(e,!1)}function B(e){var t=new C(b);t._fulfillmentHandler0=e,t._rejectionHandler0=e,t._promise0=e,t._receiver0=e}return C.prototype.toString=function(){return"[object Promise]"},C.prototype.caught=C.prototype.catch=function(e){var t=arguments.length;if(1<t){for(var i=new Array(t-1),r=0,s=0;s<t-1;++s){var n=arguments[s];if(!u.isObject(n))return a("Catch statement predicate: expecting an object but got "+u.classString(n));i[r++]=n}if(i.length=r,"function"!=typeof(e=arguments[s]))throw new v("The last argument to .catch() must be a function, got "+u.toString(e));return this.then(void 0,A(i,e,this))}return this.then(void 0,e)},C.prototype.reflect=function(){return this._then(r,r,void 0,this,void 0)},C.prototype.then=function(e,t){var i;return E.warnings()&&0<arguments.length&&"function"!=typeof e&&"function"!=typeof t&&(i=".then() only accepts functions but was passed: "+u.classString(e),1<arguments.length&&(i+=", "+u.classString(t)),this._warn(i)),this._then(e,t,void 0,void 0,void 0)},C.prototype.done=function(e,t){this._then(e,t,void 0,void 0,void 0)._setIsFinal()},C.prototype.spread=function(e){return"function"!=typeof e?a("expecting a function but got "+u.classString(e)):this.all()._then(e,void 0,void 0,w,void 0)},C.prototype.toJSON=function(){var e={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(e.fulfillmentValue=this.value(),e.isFulfilled=!0):this.isRejected()&&(e.rejectionReason=this.reason(),e.isRejected=!0),e},C.prototype.all=function(){return 0<arguments.length&&this._warn(".all() was passed arguments but it does not take any"),new S(this).promise()},C.prototype.error=function(e){return this.caught(u.originatesFromRejection,e)},C.getNewLibraryCopy=e.exports,C.is=function(e){return e instanceof C},C.fromNode=C.fromCallback=function(e){var t=new C(b),i=(t._captureStackTrace(),1<arguments.length&&!!Object(arguments[1]).multiArgs);return(e=O(e)(R(t,i)))===I&&t._rejectCallback(e.e,!0),t._isFateSealed()||t._setAsyncGuaranteed(),t},C.all=function(e){return new S(e).promise()},C.resolve=C.fulfilled=C.cast=function(e){var t=k(e);return t instanceof C||((t=new C(b))._captureStackTrace(),t._setFulfilled(),t._rejectionHandler0=e),t},C.reject=C.rejected=function(e){var t=new C(b);return t._captureStackTrace(),t._rejectCallback(e,!0),t},C.setScheduler=function(e){if("function"!=typeof e)throw new v("expecting a function but got "+u.classString(e));return m.setScheduler(e)},C.prototype._then=function(e,t,i,r,a){a=(l=void 0!==a)?a:new C(b);var s,n,o,c=this._target(),h=c._bitField,l=(l||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&h)?this._boundValue():c===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a)),p());return 0!=(50397184&h)?(o=c._settlePromiseCtx,0!=(33554432&h)?(n=c._rejectionHandler0,s=e):0!=(16777216&h)?(n=c._fulfillmentHandler0,s=t,c._unsetRejectionIsUnhandled()):(o=c._settlePromiseLateCancellationObserver,n=new y("late cancellation observer"),c._attachExtraTrace(n),s=t),m.invoke(o,c,{handler:u.contextBind(l,s),promise:a,receiver:r,value:n})):c._addCallbacks(e,t,a,r,l),a},C.prototype._length=function(){return 65535&this._bitField},C.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},C.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},C.prototype._setLength=function(e){this._bitField=-65536&this._bitField|65535&e},C.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},C.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},C.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},C.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},C.prototype._isFinal=function(){return 0<(4194304&this._bitField)},C.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},C.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},C.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},C.prototype._setAsyncGuaranteed=function(){var e;m.hasCustomScheduler()||(e=this._bitField,this._bitField=e|(536870912&e)>>2^134217728)},C.prototype._setNoAsyncGuarantee=function(){this._bitField=-134217729&(536870912|this._bitField)},C.prototype._receiverAt=function(e){if((e=0===e?this._receiver0:this[4*e-4+3])!==c)return void 0===e&&this._isBound()?this._boundValue():e},C.prototype._promiseAt=function(e){return this[4*e-4+2]},C.prototype._fulfillmentHandlerAt=function(e){return this[4*e-4]},C.prototype._rejectionHandlerAt=function(e){return this[4*e-4+1]},C.prototype._boundValue=function(){},C.prototype._migrateCallback0=function(e){e._bitField;var t=e._fulfillmentHandler0,i=e._rejectionHandler0,r=e._promise0;e=e._receiverAt(0);this._addCallbacks(t,i,r,e=void 0===e?c:e,null)},C.prototype._migrateCallbackAt=function(e,t){var i=e._fulfillmentHandlerAt(t),r=e._rejectionHandlerAt(t),a=e._promiseAt(t);e=e._receiverAt(t);this._addCallbacks(i,r,a,e=void 0===e?c:e,null)},C.prototype._addCallbacks=function(e,t,i,r,a){var s,n=this._length();return 65531<=n&&this._setLength(n=0),0===n?(this._promise0=i,this._receiver0=r,"function"==typeof e&&(this._fulfillmentHandler0=u.contextBind(a,e)),"function"==typeof t&&(this._rejectionHandler0=u.contextBind(a,t))):(this[2+(s=4*n-4)]=i,this[3+s]=r,"function"==typeof e&&(this[s]=u.contextBind(a,e)),"function"==typeof t&&(this[1+s]=u.contextBind(a,t))),this._setLength(n+1),n},C.prototype._proxy=function(e,t){this._addCallbacks(void 0,void 0,t,e,null)},C.prototype._resolveCallback=function(e,i){if(0==(117506048&this._bitField)){if(e===this)return this._rejectCallback(t(),!1);var r=k(e,this);if(!(r instanceof C))return this._fulfill(e);i&&this._propagateFrom(r,2);var a=r._target();if(a===this)this._reject(t());else if(0==(50397184&(e=a._bitField))){var s=this._length();0<s&&a._migrateCallback0(this);for(var n=1;n<s;++n)a._migrateCallbackAt(this,n);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else 0!=(33554432&e)?this._fulfill(a._value()):0!=(16777216&e)?this._reject(a._reason()):(i=new y("late cancellation observer"),a._attachExtraTrace(i),this._reject(i))}},C.prototype._rejectCallback=function(e,t,i){var r=u.ensureErrorObject(e),a=r===e;a||i||!E.warnings()||(i="a promise was rejected with a non-error: "+u.classString(e),this._warn(i,!0)),this._attachExtraTrace(r,!!t&&a),this._reject(e)},C.prototype._resolveFromExecutor=function(e){var t,i;e!==b&&((t=this)._captureStackTrace(),this._pushContext(),i=!0,e=this._execute(e,(function(e){t._resolveCallback(e)}),(function(e){t._rejectCallback(e,i)})),i=!1,this._popContext(),void 0!==e)&&t._rejectCallback(e,!0)},C.prototype._settlePromiseFromHandler=function(e,t,i,r){var a;0==(65536&r._bitField)&&(r._pushContext(),t===w?i&&"number"==typeof i.length?a=O(e).apply(this._boundValue(),i):(a=I).e=new v("cannot .spread() a non-array: "+u.classString(i)):a=O(e).call(t,i),e=r._popContext(),0==(65536&r._bitField))&&(a===x?r._reject(i):a===I?r._rejectCallback(a.e,!1):(E.checkForgottenReturns(a,e,"",r,this),r._resolveCallback(a)))},C.prototype._target=function(){for(var e=this;e._isFollowing();)e=e._followee();return e},C.prototype._followee=function(){return this._rejectionHandler0},C.prototype._setFollowee=function(e){this._rejectionHandler0=e},C.prototype._settlePromise=function(e,t,i,a){var n=e instanceof C,o=this._bitField,c=0!=(134217728&o);0!=(65536&o)?(n&&e._invokeInternalOnCancel(),i instanceof j&&i.isFinallyHandler()?(i.cancelPromise=e,O(t).call(i,a)===I&&e._reject(I.e)):t===r?e._fulfill(r.call(i)):i instanceof s?i._promiseCancelled(e):n||e instanceof S?e._cancel():i.cancel()):"function"==typeof t?n?(c&&e._setAsyncGuaranteed(),this._settlePromiseFromHandler(t,i,a,e)):t.call(i,a,e):i instanceof s?i._isResolved()||(0!=(33554432&o)?i._promiseFulfilled(a,e):i._promiseRejected(a,e)):n&&(c&&e._setAsyncGuaranteed(),0!=(33554432&o)?e._fulfill(a):e._reject(a))},C.prototype._settlePromiseLateCancellationObserver=function(e){var t=e.handler,i=e.promise,r=e.receiver;e=e.value;"function"==typeof t?i instanceof C?this._settlePromiseFromHandler(t,r,e,i):t.call(r,e,i):i instanceof C&&i._reject(e)},C.prototype._settlePromiseCtx=function(e){this._settlePromise(e.promise,e.handler,e.receiver,e.value)},C.prototype._settlePromise0=function(e,t,i){var r=this._promise0,a=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,e,a,t)},C.prototype._clearCallbackDataAtIndex=function(e){this[2+(e=4*e-4)]=this[3+e]=this[e]=this[1+e]=void 0},C.prototype._fulfill=function(e){var i,r=this._bitField;if(!((117506048&r)>>>16)){if(e===this)return i=t(),this._attachExtraTrace(i),this._reject(i);this._setFulfilled(),this._rejectionHandler0=e,0<(65535&r)&&(0!=(134217728&r)?this._settlePromises():m.settlePromises(this),this._dereferenceTrace())}},C.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=e,this._isFinal())return m.fatalError(e,u.isNode);0<(65535&t)?m.settlePromises(this):this._ensurePossibleRejectionHandled()}},C.prototype._fulfillPromises=function(e,t){for(var i=1;i<e;i++){var r=this._fulfillmentHandlerAt(i),a=this._promiseAt(i),s=this._receiverAt(i);this._clearCallbackDataAtIndex(i),this._settlePromise(a,r,s,t)}},C.prototype._rejectPromises=function(e,t){for(var i=1;i<e;i++){var r=this._rejectionHandlerAt(i),a=this._promiseAt(i),s=this._receiverAt(i);this._clearCallbackDataAtIndex(i),this._settlePromise(a,r,s,t)}},C.prototype._settlePromises=function(){var e,t=this._bitField,i=65535&t;0<i&&(0!=(16842752&t)?(e=this._fulfillmentHandler0,this._settlePromise0(this._rejectionHandler0,e,t),this._rejectPromises(i,e)):(e=this._rejectionHandler0,this._settlePromise0(this._fulfillmentHandler0,e,t),this._fulfillPromises(i,e)),this._setLength(0)),this._clearCancellationData()},C.prototype._settledValue=function(){var e=this._bitField;return 0!=(33554432&e)?this._rejectionHandler0:0!=(16777216&e)?this._fulfillmentHandler0:void 0},"undefined"!=typeof Symbol&&Symbol.toStringTag&&d.defineProperty(C.prototype,Symbol.toStringTag,{get:function(){return"Object"}}),C.defer=C.pending=function(){return E.deprecated("Promise.defer","new Promise"),{promise:new C(b),resolve:P,reject:T}},u.notEnumerableProp(C,"_makeSelfResolutionError",t),i(422)(C,b,k,a,E),i(423)(C,b,k,E),i(424)(C,S,a,E),i(425)(C),i(426)(C),i(427)(C,S,k,b,m),(C.Promise=C).version="3.7.2",i(428)(C),i(429)(C,a,b,k,s,E),i(430)(C,S,a,k,b,E),i(431)(C),i(432)(C,b),i(433)(C,S,k,a),i(434)(C,b,k,a),i(435)(C,S,a,k,b,E),i(436)(C,S,E),i(437)(C,S,a),i(438)(C,b,E),i(439)(C,a,k,_,b,E),i(440)(C),i(441)(C,b),i(442)(C,b),u.toFastProperties(C),u.toFastProperties(C.prototype),B({a:1}),B({b:2}),B({c:3}),B(1),B((function(){})),B(void 0),B(!1),B(new C(b)),E.setBounds(f.firstLineError,u.lastLineError),C}},function(e,t,i){"use strict";var r;try{throw new Error}catch(e){r=e}var a=i(415),s=i(416);function n(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new s(16),this._normalQueue=new s(16),this._haveDrainedQueues=!1;var e=this;this.drainQueues=function(){e._drainQueues()},this._schedule=a}function o(e){for(;0<e.length();){t=r=i=void 0;var t,i=e,r=i.shift();"function"!=typeof r?r._settlePromises():(t=i.shift(),i=i.shift(),r.call(t,i))}}n.prototype.setScheduler=function(e){var t=this._schedule;return this._schedule=e,this._customScheduler=!0,t},n.prototype.hasCustomScheduler=function(){return this._customScheduler},n.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},n.prototype.fatalError=function(e,t){t?(process.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n"),process.exit(2)):this.throwLater(e)},n.prototype.throwLater=function(e,t){if(1===arguments.length&&(t=e,e=function(){throw t}),"undefined"!=typeof setTimeout)setTimeout((function(){e(t)}),0);else try{this._schedule((function(){e(t)}))}catch(e){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},n.prototype.invokeLater=function(e,t,i){this._lateQueue.push(e,t,i),this._queueTick()},n.prototype.invoke=function(e,t,i){this._normalQueue.push(e,t,i),this._queueTick()},n.prototype.settlePromises=function(e){this._normalQueue._pushOne(e),this._queueTick()},n.prototype._drainQueues=function(){o(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,o(this._lateQueue)},n.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},n.prototype._reset=function(){this._isTickUsed=!1},e.exports=n,e.exports.firstLineError=r},function(e,t,i){"use strict";var r,a,s,n=(i=i(11)).getNativePromise();i=i.isNode&&"undefined"==typeof MutationObserver?(r=global.setImmediate,a=process.nextTick,i.isRecentNode?function(e){r.call(global,e)}:function(e){a.call(process,e)}):"function"==typeof n&&"function"==typeof n.resolve?(s=n.resolve(),function(e){s.then(e)}):"undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)||!("classList"in document.documentElement)?"undefined"!=typeof setImmediate?function(e){setImmediate(e)}:"undefined"!=typeof setTimeout?function(e){setTimeout(e,0)}:function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}:function(){var e=document.createElement("div"),t={attributes:!0},i=!1,r=document.createElement("div");return new MutationObserver((function(){e.classList.toggle("foo"),i=!1})).observe(r,t),function(a){var s=new MutationObserver((function(){s.disconnect(),a()}));s.observe(e,t),i||(i=!0,r.classList.toggle("foo"))}}(),e.exports=i},function(e,t,i){"use strict";function r(e){this._capacity=e,this._length=0,this._front=0}r.prototype._willBeOverCapacity=function(e){return this._capacity<e},r.prototype._pushOne=function(e){var t=this.length();this[(this._checkCapacity(t+1),this._front+t&this._capacity-1)]=e,this._length=t+1},r.prototype.push=function(e,t,i){var r,a,s=this.length()+3;this._willBeOverCapacity(s)?(this._pushOne(e),this._pushOne(t),this._pushOne(i)):(r=this._front+s-3,this._checkCapacity(s),this[r&(a=this._capacity-1)]=e,this[1+r&a]=t,this[2+r&a]=i,this._length=s)},r.prototype.shift=function(){var e=this._front,t=this[e];return this[e]=void 0,this._front=e+1&this._capacity-1,this._length--,t},r.prototype.length=function(){return this._length},r.prototype._checkCapacity=function(e){this._capacity<e&&this._resizeTo(this._capacity<<1)},r.prototype._resizeTo=function(e){var t=this._capacity;this._capacity=e;for(var i=t,r=e=this._front+this._length&t-1,a=0;a<r;++a)this[a+i]=this[a+0],this[a+0]=void 0},e.exports=r},function(e,t,i){"use strict";e.exports=function(e,t){var r=i(11),a=r.errorObj,s=r.isObject,n={}.hasOwnProperty;return function(i,o){if(s(i)){if(i instanceof e)return i;var c,u,h,l,p=function(e){try{return e.then}catch(e){return a.e=e,a}}(i);if(p===a)return o&&o._pushContext(),c=e.reject(p.e),o&&o._popContext(),c;if("function"==typeof p)return function(e){try{return n.call(e,"_promise0")}catch(e){}}(i)?(c=new e(t),i._then(c._fulfill,c._reject,void 0,c,null),c):(c=i,p=p,o=o,h=u=new e(t),o&&o._pushContext(),u._captureStackTrace(),o&&o._popContext(),l=!0,o=r.tryCatch(p).call(c,(function(e){u&&(u._resolveCallback(e),u=null)}),(function(e){u&&(u._rejectCallback(e,l,!0),u=null)})),l=!1,u&&o===a&&(u._rejectCallback(o.e,!0,!0),u=null),h)}return i}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s){var n=i(11);function o(i){var r=this._promise=new e(t);i instanceof e&&(r._propagateFrom(i,3),i.suppressUnhandledRejections()),r._setOnCancel(this),this._values=i,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return n.isArray,n.inherits(o,s),o.prototype.length=function(){return this._length},o.prototype.promise=function(){return this._promise},o.prototype._init=function t(i,s){if((o=r(this._values,this._promise))instanceof e){var o,c=(o=o._target())._bitField;if(this._values=o,0==(50397184&c))return this._promise._setAsyncGuaranteed(),o._then(t,this._reject,void 0,this,s);if(0==(33554432&c))return 0!=(16777216&c)?this._reject(o._reason()):this._cancel();o=o._value()}null===(o=n.asArray(o))?(c=a("expecting an array or an iterable object but got "+n.classString(o)).reason(),this._promise._rejectCallback(c,!1)):0===o.length?-5===s?this._resolveEmptyArray():this._resolve(function(e){switch(e){case-2:return[];case-3:return{};case-6:return new Map}}(s)):this._iterate(o)},o.prototype._iterate=function(t){for(var i=this.getActualLength(t.length),a=(this._length=i,this._values=this.shouldCopyValues()?new Array(i):this._values,this._promise),s=!1,n=null,o=0;o<i;++o){var c=r(t[o],a);n=c instanceof e?(c=c._target())._bitField:null;s?null!==n&&c.suppressUnhandledRejections():null!==n?0==(50397184&n)?(c._proxy(this,o),this._values[o]=c):s=0!=(33554432&n)?this._promiseFulfilled(c._value(),o):0!=(16777216&n)?this._promiseRejected(c._reason(),o):this._promiseCancelled(o):s=this._promiseFulfilled(c,o)}s||a._setAsyncGuaranteed()},o.prototype._isResolved=function(){return null===this._values},o.prototype._resolve=function(e){this._values=null,this._promise._fulfill(e)},o.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},o.prototype._reject=function(e){this._values=null,this._promise._rejectCallback(e,!1)},o.prototype._promiseFulfilled=function(e,t){return this._values[t]=e,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},o.prototype._promiseCancelled=function(){return this._cancel(),!0},o.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},o.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var i=0;i<t.length;++i)t[i]instanceof e&&t[i].cancel()}},o.prototype.shouldCopyValues=function(){return!0},o.prototype.getActualLength=function(e){return e},o}},function(e,t,i){"use strict";e.exports=function(e){var t=!1,i=[];function r(){this._trace=new r.CapturedTrace(a())}function a(){var e=i.length-1;if(0<=e)return i[e]}return e.prototype._promiseCreated=function(){},e.prototype._pushContext=function(){},e.prototype._popContext=function(){return null},e._peekContext=e.prototype._peekContext=function(){},r.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,i.push(this._trace))},r.prototype._popContext=function(){var e,t;return void 0!==this._trace?(t=(e=i.pop())._promiseCreated,e._promiseCreated=null,t):null},r.CapturedTrace=null,r.create=function(){if(t)return new r},r.deactivateLongStackTraces=function(){},r.activateLongStackTraces=function(){var i=e.prototype._pushContext,s=e.prototype._popContext,n=e._peekContext,o=e.prototype._peekContext,c=e.prototype._promiseCreated;r.deactivateLongStackTraces=function(){e.prototype._pushContext=i,e.prototype._popContext=s,e._peekContext=n,e.prototype._peekContext=o,e.prototype._promiseCreated=c,t=!1},t=!0,e.prototype._pushContext=r.prototype._pushContext,e.prototype._popContext=r.prototype._popContext,e._peekContext=e.prototype._peekContext=a,e.prototype._promiseCreated=function(){var e=this._peekContext();e&&null==e._promiseCreated&&(e._promiseCreated=this)}},r}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){var s,n,o,c,u,h=e._async,l=i(65).Warning,p=i(11),d=i(76),f=p.canAttachTrace,m=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,g=/\((?:timers\.js):\d+:\d+\)/,v=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,y=null,b=null,w=!1,x=!(0==p.env("BLUEBIRD_DEBUG")||!p.env("BLUEBIRD_DEBUG")&&"development"!==p.env("NODE_ENV")),k=!(0==p.env("BLUEBIRD_WARNINGS")||!x&&!p.env("BLUEBIRD_WARNINGS")),S=(x=!(0==p.env("BLUEBIRD_LONG_STACK_TRACES")||!x&&!p.env("BLUEBIRD_LONG_STACK_TRACES")),0!=p.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(k||!!p.env("BLUEBIRD_W_FORGOTTEN_RETURN")));function _(){for(var e=0;e<u.length;++e)u[e]._notifyUnhandledRejection();E()}function E(){u.length=0}u=[],c=function(e){u.push(e),setTimeout(_,1)},d.defineProperty(e,"_unhandledRejectionCheck",{value:_}),d.defineProperty(e,"_unhandledRejectionClear",{value:E}),e.prototype.suppressUnhandledRejections=function(){var e=this._target();e._bitField=-1048577&e._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),c(this))},e.prototype._notifyUnhandledRejectionIsHandled=function(){G("rejectionHandled",s,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){var e;this._isRejectionUnhandled()&&(e=this._settledValue(),this._setUnhandledRejectionIsNotified(),G("unhandledRejection",n,e,this))},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return 0<(262144&this._bitField)},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return 0<(1048576&this._bitField)},e.prototype._warn=function(e,t,i){return K(e,t,i||this)},e.onPossiblyUnhandledRejection=function(t){var i=e._getContext();n=p.contextBind(i,t)},e.onUnhandledRejectionHandled=function(t){var i=e._getContext();s=p.contextBind(i,t)};var j=function(){},A=(e.longStackTraces=function(){if(h.haveItemsQueued()&&!re.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");var i,r,a;!re.longStackTraces&&J()&&(i=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace,a=e.prototype._dereferenceTrace,re.longStackTraces=!0,j=function(){if(h.haveItemsQueued()&&!re.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=i,e.prototype._attachExtraTrace=r,e.prototype._dereferenceTrace=a,t.deactivateLongStackTraces(),re.longStackTraces=!1},e.prototype._captureStackTrace=U,e.prototype._attachExtraTrace=q,e.prototype._dereferenceTrace=V,t.activateLongStackTraces())},e.hasLongStackTraces=function(){return re.longStackTraces&&J()},{unhandledrejection:{before:function(){var e=p.global.onunhandledrejection;return p.global.onunhandledrejection=null,e},after:function(e){p.global.onunhandledrejection=e}},rejectionhandled:{before:function(){var e=p.global.onrejectionhandled;return p.global.onrejectionhandled=null,e},after:function(e){p.global.onrejectionhandled=e}}}),R=function(){function e(e,t){if(!e)return!p.global.dispatchEvent(t);var i;try{return i=e.before(),!p.global.dispatchEvent(t)}finally{e.after(i)}}var t;try{return"function"==typeof CustomEvent?(t=new CustomEvent("CustomEvent"),p.global.dispatchEvent(t),function(t,i){t=t.toLowerCase();var r=new CustomEvent(t,{detail:i,cancelable:!0});return d.defineProperty(r,"promise",{value:i.promise}),d.defineProperty(r,"reason",{value:i.reason}),e(A[t],r)}):"function"==typeof Event?(t=new Event("CustomEvent"),p.global.dispatchEvent(t),function(t,i){t=t.toLowerCase();var r=new Event(t,{cancelable:!0});return r.detail=i,d.defineProperty(r,"promise",{value:i.promise}),d.defineProperty(r,"reason",{value:i.reason}),e(A[t],r)}):((t=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),p.global.dispatchEvent(t),function(t,i){t=t.toLowerCase();var r=document.createEvent("CustomEvent");return r.initCustomEvent(t,!1,!0,i),e(A[t],r)})}catch(t){}return function(){return!1}}(),I=p.isNode?function(){return process.emit.apply(process,arguments)}:p.global?function(e){return e="on"+e.toLowerCase(),!!(e=p.global[e])&&(e.apply(p.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function O(e,t){return{promise:t}}var C={promiseCreated:O,promiseFulfilled:O,promiseRejected:O,promiseResolved:O,promiseCancelled:O,promiseChained:function(e,t,i){return{promise:t,child:i}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,i){return{reason:t,promise:i}},rejectionHandled:O},P=function(e){var t=!1;try{t=I.apply(null,arguments)}catch(e){h.throwLater(e),t=!0}var i=!1;try{i=R(e,C[e].apply(null,arguments))}catch(e){h.throwLater(e),i=!0}return i||t};function T(){return!1}function B(e,t,i){var r=this;try{e(t,i,(function(e){if("function"!=typeof e)throw new TypeError("onCancel must be a function, got: "+p.toString(e));r._attachCancellationCallback(e)}))}catch(e){return e}}function N(e){if(!this._isCancellable())return this;var t=this._onCancel();void 0!==t?p.isArray(t)?t.push(e):this._setOnCancel([t,e]):this._setOnCancel(e)}function z(){return this._onCancelField}function F(e){this._onCancelField=e}function L(){this._cancellationParent=void 0,this._onCancelField=void 0}function M(e,t){var i;0!=(1&t)&&(i=(this._cancellationParent=e)._branchesRemainingToCancel,e._branchesRemainingToCancel=(i=void 0===i?0:i)+1),0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}e.config=function(t){var i;if("longStackTraces"in(t=Object(t))&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&j()),"warnings"in t&&(i=t.warnings,re.warnings=!!i,S=re.warnings,p.isObject(i))&&"wForgottenReturn"in i&&(S=!!i.wForgottenReturn),"cancellation"in t&&t.cancellation&&!re.cancellation){if(h.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=L,e.prototype._propagateFrom=M,e.prototype._onCancel=z,e.prototype._setOnCancel=F,e.prototype._attachCancellationCallback=N,e.prototype._execute=B,D=M,re.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!re.monitoring?(re.monitoring=!0,e.prototype._fireEvent=P):!t.monitoring&&re.monitoring&&(re.monitoring=!1,e.prototype._fireEvent=T)),"asyncHooks"in t&&p.nodeSupportsAsyncResource&&re.asyncHooks!==(i=!!t.asyncHooks)&&((re.asyncHooks=i)?r:a)(),e},e.prototype._fireEvent=T,e.prototype._execute=function(e,t,i){try{e(t,i)}catch(e){return e}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(e){},e.prototype._attachCancellationCallback=function(e){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._dereferenceTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(e,t){};var D=function(e,t){0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)};function H(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function U(){this._trace=new te(this._peekContext())}function q(e,t){var i;f(e)&&(void 0!==(i=void 0!==(i=this._trace)&&t?i._parent:i)?i.attachExtraTrace(e):e.__stackCleaned__||(t=$(e),p.notEnumerableProp(e,"stack",t.message+"\n"+t.stack.join("\n")),p.notEnumerableProp(e,"__stackCleaned__",!0)))}function V(){this._trace=void 0}function K(t,i,r){re.warnings&&(t=new l(t),i?r._attachExtraTrace(t):re.longStackTraces&&(i=e._peekContext())?i.attachExtraTrace(t):(r=$(t),t.stack=r.message+"\n"+r.stack.join("\n")),P("warning",t)||Y(t,"",!0))}function W(e){for(var t=[],i=0;i<e.length;++i){var r=e[i],a=" (No stack trace)"===r||y.test(r),s=a&&Q(r);a&&!s&&(w&&" "!==r.charAt(0)&&(r=" "+r),t.push(r))}return t}function $(e){var t=e.stack,i=e.toString();t="string"==typeof t&&0<t.length?function(e){for(var t=e.stack.replace(/\s+$/g,"").split("\n"),i=0;i<t.length;++i){var r=t[i];if(" (No stack trace)"===r||y.test(r))break}return 0<i&&"SyntaxError"!=e.name?t.slice(i):t}(e):[" (No stack trace)"];return{message:i,stack:"SyntaxError"==e.name?t:W(t)}}function Y(e,t,i){var r;"undefined"!=typeof console&&(r=p.isObject(e)?(r=e.stack,t+b(r,e)):t+String(e),"function"==typeof o?o(r,i):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r))}function G(e,t,i,r){var a=!1;try{"function"==typeof t&&(a=!0,"rejectionHandled"===e?t(r):t(i,r))}catch(e){h.throwLater(e)}"unhandledRejection"===e?P(e,i,r)||a||Y(i,"Unhandled rejection "):P(e,r)}function X(e){if("function"==typeof e)t="[function "+(e.name||"anonymous")+"]";else{if(t=e&&"function"==typeof e.toString?e.toString():p.toString(e),/\[object [a-zA-Z0-9$_]+\]/.test(t))try{var t=JSON.stringify(e)}catch(e){}0===t.length&&(t="(empty array)")}return"(<"+function(e){return e.length<41?e:e.substr(0,38)+"..."}(t)+">, no stack trace)"}function J(){return"function"==typeof ie}var Q=function(){return!1},Z=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;function ee(e){if(e=e.match(Z))return{fileName:e[1],line:parseInt(e[2],10)}}function te(e){this._parent=e,this._promisesCreated=0,e=this._length=1+(void 0===e?0:e._length),ie(this,te),32<e&&this.uncycle()}p.inherits(te,Error),(t.CapturedTrace=te).prototype.uncycle=function(){var e=this._length;if(!(e<2)){for(var t=[],i={},r=0,a=this;void 0!==a;++r)t.push(a),a=a._parent;for(r=(e=this._length=r)-1;0<=r;--r){var s=t[r].stack;void 0===i[s]&&(i[s]=r)}for(r=0;r<e;++r){var n=i[t[r].stack];if(void 0!==n&&n!==r){0<n&&(t[n-1]._parent=void 0,t[n-1]._length=1),t[r]._parent=void 0,t[r]._length=1;for(var o=0<r?t[r-1]:this,c=(n<e-1?(o._parent=t[n+1],o._parent.uncycle(),o._length=o._parent._length+1):(o._parent=void 0,o._length=1),o._length+1),u=r-2;0<=u;--u)t[u]._length=c,c++;return}}}},te.prototype.attachExtraTrace=function(e){if(!e.__stackCleaned__){this.uncycle();for(var t=$(e),i=t.message,r=[t.stack],a=this;void 0!==a;)r.push(W(a.stack.split("\n"))),a=a._parent;for(var s=r,n=s[0],o=1;o<s.length;++o){for(var c=s[o],u=n.length-1,h=n[u],l=-1,d=c.length-1;0<=d;--d)if(c[d]===h){l=d;break}for(d=l;0<=d;--d){var f=c[d];if(n[u]!==f)break;n.pop(),u--}n=c}for(var m=r,g=0;g<m.length;++g)(0===m[g].length||g+1<m.length&&m[g][0]===m[g+1][0])&&(m.splice(g,1),g--);p.notEnumerableProp(e,"stack",function(e,t){for(var i=0;i<t.length-1;++i)t[i].push("From previous event:"),t[i]=t[i].join("\n");return i<t.length&&(t[i]=t[i].join("\n")),e+"\n"+t.join("\n")}(i,r)),p.notEnumerableProp(e,"__stackCleaned__",!0)}};var ie=function(){function e(e,t){return"string"==typeof e?e:void 0!==t.name&&void 0!==t.message?t.toString():X(t)}var t,i=/^\s*at\s*/;if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace)return Error.stackTraceLimit+=6,y=i,b=e,t=Error.captureStackTrace,Q=function(e){return m.test(e)},function(e,i){Error.stackTraceLimit+=6,t(e,i),Error.stackTraceLimit-=6};var r,a=new Error;if("string"==typeof a.stack&&0<=a.stack.split("\n")[0].indexOf("stackDetection@"))return y=/@/,b=e,w=!0,function(e){e.stack=(new Error).stack};try{throw new Error}catch(e){r="stack"in e}return"stack"in a||!r||"number"!=typeof Error.stackTraceLimit?(b=function(e,t){return"string"==typeof e?e:"object"!=typeof t&&"function"!=typeof t||void 0===t.name||void 0===t.message?X(t):t.toString()},null):(y=i,b=e,function(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6})}(),re=("undefined"!=typeof console&&void 0!==console.warn&&(o=function(e){console.warn(e)},p.isNode&&process.stderr.isTTY?o=function(e,t){console.warn((t?"":"")+e+"\n")}:p.isNode||"string"!=typeof(new Error).stack||(o=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")})),{warnings:k,longStackTraces:!1,cancellation:!1,monitoring:!1,asyncHooks:!1});return x&&e.longStackTraces(),{asyncHooks:function(){return re.asyncHooks},longStackTraces:function(){return re.longStackTraces},warnings:function(){return re.warnings},cancellation:function(){return re.cancellation},monitoring:function(){return re.monitoring},propagateFromFunction:function(){return D},boundValueFunction:function(){return H},checkForgottenReturns:function(e,t,i,r,a){if(void 0===e&&null!==t&&S&&(void 0===a||!a._returnedNonUndefined())&&0!=(65535&r._bitField)){i&&(i+=" ");var s="",n="";if(t._trace){for(var o=t._trace.stack.split("\n"),c=W(o),u=c.length-1;0<=u;--u){var h=c[u];if(!g.test(h)){(h=h.match(v))&&(s="at "+h[1]+":"+h[2]+":"+h[3]+" ");break}}if(0<c.length){var l=c[0];for(u=0;u<o.length;++u)if(o[u]===l){0<u&&(n="\n"+o[u-1]);break}}}r._warn("a promise was created in a "+i+"handler "+s+"but was not returned from it, see http://goo.gl/rRqMUw"+n,!0,t)}},setBounds:function(e,t){if(J()){for(var i,r,a=(e.stack||"").split("\n"),s=(t.stack||"").split("\n"),n=-1,o=-1,c=0;c<a.length;++c)if(u=ee(a[c])){i=u.fileName,n=u.line;break}var u;for(c=0;c<s.length;++c)if(u=ee(s[c])){r=u.fileName,o=u.line;break}n<0||o<0||!i||!r||i!==r||o<=n||(Q=function(e){return!!m.test(e)||!!((e=ee(e))&&e.fileName===i&&n<=e.line&&e.line<=o)})}},warn:K,deprecated:function(e,t){return e+=" is deprecated and will be removed in a future version.",t&&(e+=" Use "+t+" instead."),K(e)},CapturedTrace:te,fireDomEvent:R,fireGlobalEvent:I}}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=i(11),s=e.CancellationError,n=a.errorObj,o=i(259)(r);function c(e,t,i){this.promise=e,this.type=t,this.handler=i,this.called=!1,this.cancelPromise=null}function u(e){this.finallyHandler=e}function h(e,t){return null!=e.cancelPromise&&(1<arguments.length?e.cancelPromise._reject(t):e.cancelPromise._cancel(),e.cancelPromise=null,1)}function l(){return d.call(this,this.promise._target()._settledValue())}function p(e){if(!h(this,e))return n.e=e,n}function d(i){var a=this.promise,o=this.handler;if(!this.called){if(this.called=!0,(o=this.isFinallyHandler()?o.call(a._boundValue()):o.call(a._boundValue(),i))===r)return o;var c;if(void 0!==o)if(a._setReturnedNonUndefined(),(o=t(o,a))instanceof e){if(null!=this.cancelPromise){if(o._isCancelled())return c=new s("late cancellation observer"),a._attachExtraTrace(c),n.e=c,n;o.isPending()&&o._attachCancellationCallback(new u(this))}return o._then(l,p,void 0,this,void 0)}}return a.isRejected()?(h(this),n.e=i,n):(h(this),i)}return c.prototype.isFinallyHandler=function(){return 0===this.type},u.prototype._resultCancelled=function(){h(this.finallyHandler)},e.prototype._passThrough=function(e,t,i,r){return"function"!=typeof e?this.then():this._then(i,r,void 0,new c(this,t,e),void 0)},e.prototype.lastly=e.prototype.finally=function(e){return this._passThrough(e,0,d,d)},e.prototype.tap=function(e){return this._passThrough(e,1,d)},e.prototype.tapCatch=function(t){var i=arguments.length;if(1===i)return this._passThrough(t,1,void 0,d);for(var r=new Array(i-1),s=0,n=0;n<i-1;++n){var c=arguments[n];if(!a.isObject(c))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+a.classString(c)));r[s++]=c}return r.length=s,this._passThrough(o(r,arguments[n],this),1,void 0,d)},c}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s){var n=i(11),o=n.tryCatch;e.method=function(i){if("function"!=typeof i)throw new e.TypeError("expecting a function but got "+n.classString(i));return function(){var r=new e(t),a=(r._captureStackTrace(),r._pushContext(),o(i).apply(this,arguments)),n=r._popContext();return s.checkForgottenReturns(a,n,"Promise.method",r),r._resolveFromSyncValue(a),r}},e.attempt=e.try=function(i){var r,c,u;return"function"!=typeof i?a("expecting a function but got "+n.classString(i)):((r=new e(t))._captureStackTrace(),r._pushContext(),c=1<arguments.length?(s.deprecated("calling Promise.try with more than 1 argument"),u=arguments[1],c=arguments[2],n.isArray(u)?o(i).apply(c,u):o(i).call(c,u)):o(i)(),u=r._popContext(),s.checkForgottenReturns(c,u,"Promise.try",r),r._resolveFromSyncValue(c),r)},e.prototype._resolveFromSyncValue=function(e){e===n.errorObj?this._rejectCallback(e.e,!1):this._resolveCallback(e,!0)}}},function(e,t,i){"use strict";e.exports=function(e,t,i,r){function a(e,t){this._reject(t)}function s(e,t){t.promiseRejectionQueued=!0,t.bindingPromise._then(a,a,null,this,e)}function n(e,t){0==(50397184&this._bitField)&&this._resolveCallback(t.target)}function o(e,t){t.promiseRejectionQueued||this._reject(e)}var c=!1;e.prototype.bind=function(a){c||(c=!0,e.prototype._propagateFrom=r.propagateFromFunction(),e.prototype._boundValue=r.boundValueFunction());a=i(a);var u,h=new e(t),l=(h._propagateFrom(this,1),this._target());return h._setBoundTo(a),a instanceof e?(l._then(t,s,void 0,h,u={promiseRejectionQueued:!1,promise:h,target:l,bindingPromise:a}),a._then(n,o,void 0,h,u),h._setOnCancel(a)):h._resolveCallback(l),h},e.prototype._setBoundTo=function(e){void 0!==e?(this._bitField=2097152|this._bitField,this._boundTo=e):this._bitField=-2097153&this._bitField},e.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},e.bind=function(t,i){return e.resolve(i).bind(t)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){var s=i(11),n=s.tryCatch,o=s.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!a.cancellation())return this._warn("cancellation is disabled");for(var e=this,t=e;e._isCancellable();){if(!e._cancelBy(t)){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}var i=e._cancellationParent;if(null==i||!i._isCancellable()){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}e._isFollowing()&&e._followee().cancel(),e._setWillBeCancelled(),t=e,e=i}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(e){return e===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){0<this._length()&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(e,t){var i;if(s.isArray(e))for(var r=0;r<e.length;++r)this._doInvokeOnCancel(e[r],t);else void 0!==e&&("function"==typeof e?t||(i=n(e).call(this._boundValue()))===o&&(this._attachExtraTrace(i.e),c.throwLater(i.e)):e._resultCancelled(this))},e.prototype._invokeOnCancel=function(){var e=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,e)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},function(e,t,i){"use strict";e.exports=function(e){function t(){return this.value}function i(){throw this.reason}e.prototype.return=e.prototype.thenReturn=function(i){return i instanceof e&&i.suppressUnhandledRejections(),this._then(t,void 0,void 0,{value:i},void 0)},e.prototype.throw=e.prototype.thenThrow=function(e){return this._then(i,void 0,void 0,{reason:e},void 0)},e.prototype.catchThrow=function(e){var t;return arguments.length<=1?this._then(void 0,i,void 0,{reason:e},void 0):(t=arguments[1],this.caught(e,(function(){throw t})))},e.prototype.catchReturn=function(i){var r;return arguments.length<=1?(i instanceof e&&i.suppressUnhandledRejections(),this._then(void 0,t,void 0,{value:i},void 0)):((r=arguments[1])instanceof e&&r.suppressUnhandledRejections(),this.caught(i,(function(){return r})))}}},function(e,t,i){"use strict";e.exports=function(e){function t(e){void 0!==e?(e=e._target(),this._bitField=e._bitField,this._settledValueField=e._isFateSealed()?e._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}t.prototype._settledValue=function(){return this._settledValueField};var i=t.prototype.value=function(){if(this.isFulfilled())return this._settledValue();throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n")},r=t.prototype.error=t.prototype.reason=function(){if(this.isRejected())return this._settledValue();throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n")},a=t.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},s=t.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},n=t.prototype.isPending=function(){return 0==(50397184&this._bitField)},o=t.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};t.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},e.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},e.prototype._isCancelled=function(){return this._target().__isCancelled()},e.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},e.prototype.isPending=function(){return n.call(this._target())},e.prototype.isRejected=function(){return s.call(this._target())},e.prototype.isFulfilled=function(){return a.call(this._target())},e.prototype.isResolved=function(){return o.call(this._target())},e.prototype.value=function(){return i.call(this._target())},e.prototype.reason=function(){var e=this._target();return e._unsetRejectionIsUnhandled(),r.call(e)},e.prototype._value=function(){return this._settledValue()},e.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},e.PromiseInspection=t}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s){var n,o=i(11),c=o.canEvaluate,u=o.tryCatch,h=o.errorObj;if(c){for(var l=[],p=[],d=[],f=0;f<8;++f)l.push(function(t){for(var i=new Array(t),r=0;r<i.length;++r)i[r]="this.p"+(r+1);var a=i.join(" = ")+" = null;",n="var promise;\n"+i.map((function(e){return" \n promise = "+e+"; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n "})).join("\n"),o=i.join(", ");t="return function(tryCatch, errorObj, Promise, async) { \n 'use strict'; \n function [TheName](fn) { \n [TheProperties] \n this.fn = fn; \n this.asyncNeeded = true; \n this.now = 0; \n } \n \n [TheName].prototype._callFunction = function(promise) { \n promise._pushContext(); \n var ret = tryCatch(this.fn)([ThePassedArguments]); \n promise._popContext(); \n if (ret === errorObj) { \n promise._rejectCallback(ret.e, false); \n } else { \n promise._resolveCallback(ret); \n } \n }; \n \n [TheName].prototype.checkFulfillment = function(promise) { \n var now = ++this.now; \n if (now === [TheTotal]) { \n if (this.asyncNeeded) { \n async.invoke(this._callFunction, this, promise); \n } else { \n this._callFunction(promise); \n } \n \n } \n }; \n \n [TheName].prototype._resultCancelled = function() { \n [CancellationCode] \n }; \n \n return [TheName]; \n }(tryCatch, errorObj, Promise, async); \n ".replace(/\[TheName\]/g,"Holder$"+t).replace(/\[TheTotal\]/g,t).replace(/\[ThePassedArguments\]/g,o).replace(/\[TheProperties\]/g,a).replace(/\[CancellationCode\]/g,n);return new Function("tryCatch","errorObj","Promise","async",t)(u,h,e,s)}(f+1)),p.push(new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,f+1))),d.push(new Function("promise","holder"," \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g,f+1)));n=function(e){this._reject(e)}}e.join=function(){var i,s=arguments.length-1;if(0<s&&"function"==typeof arguments[s]&&(i=arguments[s],s<=8)&&c){(x=new e(a))._captureStackTrace();for(var u,h=new l[s-1](i),f=p,m=0;m<s;++m){var g,v=r(arguments[m],x);v instanceof e?0==(50397184&(g=(v=v._target())._bitField))?(v._then(f[m],n,void 0,x,h),d[m](v,h),h.asyncNeeded=!1):0!=(33554432&g)?f[m].call(x,v._value(),h):0!=(16777216&g)?x._reject(v._reason()):x._cancel():f[m].call(x,v,h)}return x._isFateSealed()||(h.asyncNeeded&&(u=e._getContext(),h.fn=o.contextBind(u,h.fn)),x._setAsyncGuaranteed(),x._setOnCancel(h)),x}for(var y=arguments.length,b=new Array(y),w=0;w<y;++w)b[w]=arguments[w];i&&b.pop();var x=new t(b).promise();return void 0!==i?x.spread(i):x}}},function(e,t,i){"use strict";var r,a,s=Object.create;s&&(r=s(null),a=s(null),r[" size"]=a[" size"]=0),e.exports=function(e){function t(e){return new Function("ensureMethod"," \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g,e))(l)}function s(e){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",e))}function n(e,t,i){var r=i[e];if("function"!=typeof r){if(!u(e))return null;if(r=t(e),i[e]=r,i[" size"]++,512<i[" size"]){for(var a=Object.keys(i),s=0;s<256;++s)delete i[a[s]];i[" size"]=a.length-256}}return r}var o=i(11),c=o.canEvaluate,u=o.isIdentifier,h=function(e){return n(e,t,r)};function l(t,i){var r;if("function"!=typeof(r=null!=t?t[i]:r))throw t="Object "+o.classString(t)+" has no method '"+o.toString(i)+"'",new e.TypeError(t);return r}function p(e){return l(e,this.pop()).apply(e,this)}function d(e){return e[this]}function f(e){var t=+this;return e[t=t<0?Math.max(0,t+e.length):t]}e.prototype.call=function(e){for(var t=arguments.length,i=new Array(Math.max(t-1,0)),r=1;r<t;++r)i[r-1]=arguments[r];if(c){var a=h(e);if(null!==a)return this._then(a,void 0,void 0,i,void 0)}return i.push(e),this._then(p,void 0,void 0,i,void 0)},e.prototype.get=function(e){var t;return t="number"==typeof e?f:c&&null!==(t=function(e){return n(e,s,a)}(e))?t:d,this._then(t,void 0,void 0,e,void 0)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(65).TypeError,c=i(11),u=c.errorObj,h=c.tryCatch,l=[];function p(t,i,a,s){var o,c;n.cancellation()?(o=new e(r),c=this._finallyPromise=new e(r),this._promise=o.lastly((function(){return c})),o._captureStackTrace(),o._setOnCancel(this)):(this._promise=new e(r))._captureStackTrace(),this._stack=s,this._generatorFunction=t,this._receiver=i,this._generator=void 0,this._yieldHandlers="function"==typeof a?[a].concat(l):l,this._yieldedPromise=null,this._cancellationPhase=!1}c.inherits(p,s),p.prototype._isResolved=function(){return null===this._promise},p.prototype._cleanup=function(){this._promise=this._generator=null,n.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},p.prototype._promiseCancelled=function(){var t;this._isResolved()||(t=void 0!==this._generator.return?(this._promise._pushContext(),h(this._generator.return).call(this._generator,void 0)):(t=new e.CancellationError("generator .return() sentinel"),e.coroutine.returnSentinel=t,this._promise._attachExtraTrace(t),this._promise._pushContext(),h(this._generator.throw).call(this._generator,t)),this._promise._popContext(),this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t))},p.prototype._promiseFulfilled=function(e){this._yieldedPromise=null,this._promise._pushContext(),e=h(this._generator.next).call(this._generator,e),this._promise._popContext(),this._continue(e)},p.prototype._promiseRejected=function(e){this._yieldedPromise=null,this._promise._attachExtraTrace(e),this._promise._pushContext(),e=h(this._generator.throw).call(this._generator,e),this._promise._popContext(),this._continue(e)},p.prototype._resultCancelled=function(){var t;this._yieldedPromise instanceof e&&(t=this._yieldedPromise,this._yieldedPromise=null,t.cancel())},p.prototype.promise=function(){return this._promise},p.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},p.prototype._continue=function(t){var i,r=this._promise;return t===u?(this._cleanup(),this._cancellationPhase?r.cancel():r._rejectCallback(t.e,!1)):(i=t.value,!0===t.done?(this._cleanup(),this._cancellationPhase?r.cancel():r._resolveCallback(i)):void((t=a(i,this._promise))instanceof e||null!==(t=function(t,i,r){for(var s=0;s<i.length;++s){r._pushContext();var n=h(i[s])(t);if(r._popContext(),n===u)return r._pushContext(),o=e.reject(u.e),r._popContext(),o;var o=a(n,r);if(o instanceof e)return o}return null}(t,this._yieldHandlers,this._promise))?0==(50397184&(r=(t=t._target())._bitField))?(this._yieldedPromise=t)._proxy(this,null):0!=(33554432&r)?e._async.invoke(this._promiseFulfilled,this,t._value()):0!=(16777216&r)?e._async.invoke(this._promiseRejected,this,t._reason()):this._promiseCancelled():this._promiseRejected(new o("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",String(i))+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")))))},e.coroutine=function(e,t){if("function"!=typeof e)throw new o("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var i=Object(t).yieldHandler,r=p,a=(new Error).stack;return function(){var t=e.apply(this,arguments),s=new r(void 0,void 0,i,a),n=s.promise();return s._generator=t,s._promiseFulfilled(void 0),n}},e.coroutine.addYieldHandler=function(e){if("function"!=typeof e)throw new o("expecting a function but got "+c.classString(e));l.push(e)},e.spawn=function(i){var r;return n.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof i?t("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n"):(r=(i=new p(i,this)).promise(),i._run(e.spawn),r)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(11),c=o.tryCatch,u=o.errorObj,h=e._async;function l(t,i,r,a){this.constructor$(t),this._promise._captureStackTrace();var n=e._getContext();if(this._callback=o.contextBind(n,i),this._preservedValues=a===s?new Array(this.length()):null,this._limit=r,this._inFlight=0,this._queue=[],h.invoke(this._asyncInit,this,void 0),o.isArray(t))for(var c=0;c<t.length;++c){var u=t[c];u instanceof e&&u.suppressUnhandledRejections()}}function p(t,i,a,s){if("function"!=typeof i)return r("expecting a function but got "+o.classString(i));var n=0;if(void 0!==a){if("object"!=typeof a||null===a)return e.reject(new TypeError("options argument must be an object but it is "+o.classString(a)));if("number"!=typeof a.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+o.classString(a.concurrency)));n=a.concurrency}return new l(t,i,n="number"==typeof n&&isFinite(n)&&1<=n?n:0,s).promise()}o.inherits(l,t),l.prototype._asyncInit=function(){this._init$(void 0,-2)},l.prototype._init=function(){},l.prototype._promiseFulfilled=function(t,i){var r=this._values,s=this.length(),o=this._preservedValues,h=this._limit;if(i<0){if(r[i=-1*i-1]=t,1<=h&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(1<=h&&this._inFlight>=h)return r[i]=t,this._queue.push(i),!1;null!==o&&(o[i]=t);var l=this._promise,p=this._callback,d=l._boundValue();p=(l._pushContext(),c(p).call(d,t,i,s)),d=l._popContext();if(n.checkForgottenReturns(p,d,null!==o?"Promise.filter":"Promise.map",l),p===u)return this._reject(p.e),!0;if((t=a(p,this._promise))instanceof e){if(0==(50397184&(d=(t=t._target())._bitField)))return 1<=h&&this._inFlight++,(r[i]=t)._proxy(this,-1*(i+1)),!1;if(0==(33554432&d))return 0!=(16777216&d)?this._reject(t._reason()):this._cancel(),!0;p=t._value()}r[i]=p}return s<=++this._totalResolved&&(null!==o?this._filter(r,o):this._resolve(r),!0)},l.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,i=this._values;0<e.length&&this._inFlight<t;){if(this._isResolved())return;var r=e.pop();this._promiseFulfilled(i[r],r)}},l.prototype._filter=function(e,t){for(var i=t.length,r=new Array(i),a=0,s=0;s<i;++s)e[s]&&(r[a++]=t[s]);r.length=a,this._resolve(r)},l.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(e,t){return p(this,e,t,null)},e.map=p}},function(e,t,i){"use strict";e.exports=function(e){var t=i(11),r=e._async,a=t.tryCatch,s=t.errorObj;function n(e,i){if(!t.isArray(e))return o.call(this,e,i);(i=a(i).apply(this._boundValue(),[null].concat(e)))===s&&r.throwLater(i.e)}function o(e,t){var i=this._boundValue();(t=void 0===e?a(t).call(i,null):a(t).call(i,null,e))===s&&r.throwLater(t.e)}function c(e,t){e||((i=new Error(e+"")).cause=e,e=i);var i=a(t).call(this._boundValue(),e);i===s&&r.throwLater(i.e)}e.prototype.asCallback=e.prototype.nodeify=function(e,t){var i;return"function"==typeof e&&(i=o,void 0!==t&&Object(t).spread&&(i=n),this._then(i,c,void 0,this,e)),this}}},function(e,t,i){"use strict";e.exports=function(e,t){var r={},a=i(11),s=i(260),n=a.withAppended,o=a.maybeWrapAsError,c=a.canEvaluate,u=i(65).TypeError,h={__isPromisified__:!0},l=new RegExp("^(?:"+["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"].join("|")+")$"),p=function(e){return a.isIdentifier(e)&&"_"!==e.charAt(0)&&"constructor"!==e};function d(e){return!l.test(e)}function f(e){try{return!0===e.__isPromisified__}catch(e){return!1}}var m=c?function(i,c,u,h,l,p){var d=Math.max(0,("number"==typeof(d=h).length?Math.max(Math.min(d.length,1024),0):0)-1),f=function(e){for(var t=[e],i=Math.max(0,e-1-3),r=e-1;i<=r;--r)t.push(r);for(r=e+1;r<=3;++r)t.push(r);return t}(d),m="string"==typeof i||c===r;function g(e){var t=a.filledRange(e,"_arg","").join(", ");e=0<e?", ":"";return(m?"ret = callback.call(this, {{args}}, nodeback); break;\n":void 0===c?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n").replace("{{args}}",t).replace(", ",e)}return i="string"==typeof i?"this != null ? this['"+i+"'] : fn":"fn",p=(p="'use strict'; \n var ret = function (Parameters) { \n 'use strict'; \n var len = arguments.length; \n var promise = new Promise(INTERNAL); \n promise._captureStackTrace(); \n var nodeback = nodebackForPromise(promise, "+p+"); \n var ret; \n var callback = tryCatch([GetFunctionCode]); \n switch(len) { \n [CodeForSwitchCase] \n } \n if (ret === errorObj) { \n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n } \n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n return promise; \n }; \n notEnumerableProp(ret, '__isPromisified__', true); \n return ret; \n ".replace("[CodeForSwitchCase]",function(){for(var e="",t=0;t<f.length;++t)e+="case "+f[t]+":"+g(f[t]);return e+" \n default: \n var args = new Array(len + 1); \n var i = 0; \n for (var i = 0; i < len; ++i) { \n args[i] = arguments[i]; \n } \n args[i] = nodeback; \n [CodeForCall] \n break; \n ".replace("[CodeForCall]",m?"ret = callback.apply(this, args);\n":"ret = callback.apply(receiver, args);\n")}()).replace("[GetFunctionCode]",i)).replace("Parameters",a.filledRange(Math.max(d,3),"_arg","")),new Function("Promise","fn","receiver","withAppended","maybeWrapAsError","nodebackForPromise","tryCatch","errorObj","notEnumerableProp","INTERNAL",p)(e,h,c,n,o,s,a.tryCatch,a.errorObj,a.notEnumerableProp,t)}:function(i,c,u,h,l,p){var d=function(){return this}(),f=i;function m(){var a=c,u=(c===r&&(a=this),new e(t)),h=(u._captureStackTrace(),"string"==typeof f&&this!==d?this[f]:i),l=s(u,p);try{h.apply(a,n(arguments,l))}catch(a){u._rejectCallback(o(a),!0,!0)}return u._isFateSealed()||u._setAsyncGuaranteed(),u}return"string"==typeof f&&(i=h),a.notEnumerableProp(m,"__isPromisified__",!0),m};function g(e,t,i,s,n){for(var o=new RegExp(t.replace(/([$])/,"\\$")+"$"),c=function(e,t,i,r){for(var s,n=a.inheritedDataKeys(e),o=[],c=0;c<n.length;++c){var l=n[c],d=e[l],m=r===p||p(l);"function"!=typeof d||f(d)||(s=e,(s=a.getDataPropertyOrDefault(s,l+t,h))&&f(s))||!r(l,d,e,m)||o.push(l,d)}for(var g=o,v=t,y=i,b=0;b<g.length;b+=2){var w=g[b];if(y.test(w))for(var x=w.replace(y,""),k=0;k<g.length;k+=2)if(g[k]===x)throw new u("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",v))}return o}(e,t,o,i),l=0,d=c.length;l<d;l+=2){var g,v=c[l],y=c[l+1],b=v+t;s===m?e[b]=m(v,r,v,y,t,n):(g=s(y,(function(){return m(v,r,v,y,t,n)})),a.notEnumerableProp(g,"__isPromisified__",!0),e[b]=g)}return a.toFastProperties(e),e}e.promisify=function(e,t){if("function"!=typeof e)throw new u("expecting a function but got "+a.classString(e));var i;return f(e)?e:(i=void 0===(t=Object(t)).context?r:t.context,t=!!t.multiArgs,i=m(e,i,void 0,e,null,t),a.copyDescriptors(e,i,d),i)},e.promisifyAll=function(e,t){if("function"!=typeof e&&"object"!=typeof e)throw new u("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");var i=!!(t=Object(t)).multiArgs,r=t.suffix,s=t.filter,n=("function"!=typeof s&&(s=p),t.promisifier);if("function"!=typeof n&&(n=m),!a.isIdentifier(r="string"!=typeof r?"Async":r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var o=a.inheritedDataKeys(e),c=0;c<o.length;++c){var h=e[o[c]];"constructor"!==o[c]&&a.isClass(h)&&(g(h.prototype,r,s,n,i),g(h,r,s,n,i))}return g(e,r,s,n,i)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){var s,n,o,c=i(11),u=c.isObject,h=i(76),l=("function"==typeof Map&&(s=Map),o=0,function(e){n=e.size,o=0;var t=new Array(2*e.size);return e.forEach(p,t),t});function p(e,t){this[o]=e,this[o+n]=t,o++}function d(e){var t=!1;if(void 0!==s&&e instanceof s)a=l(e),t=!0;else for(var i=h.keys(e),r=i.length,a=new Array(2*r),n=0;n<r;++n){var o=i[n];a[n]=e[o],a[n+r]=o}this.constructor$(a),this._isMap=t,this._init$(void 0,t?-6:-3)}function f(t){var i;t=r(t);return u(t)?(i=t instanceof e?t._then(e.props,void 0,void 0,void 0,void 0):new d(t).promise(),t instanceof e&&i._propagateFrom(t,2),i):a("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}c.inherits(d,t),d.prototype._init=function(){},d.prototype._promiseFulfilled=function(e,t){if(this._values[t]=e,++this._totalResolved>=this._length){if(this._isMap)i=function(e){for(var t=new s,i=e.length/2|0,r=0;r<i;++r){var a=e[i+r],n=e[r];t.set(a,n)}return t}(this._values);else for(var i={},r=this.length(),a=0,n=this.length();a<n;++a)i[this._values[a+r]]=this._values[a];return this._resolve(i),!0}return!1},d.prototype.shouldCopyValues=function(){return!1},d.prototype.getActualLength=function(e){return e>>1},e.prototype.props=function(){return f(this)},e.props=f}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){function s(e){return e.then((function(t){return o(t,e)}))}var n=i(11);function o(i,o){var c=r(i);if(c instanceof e)return s(c);if(null===(i=n.asArray(i)))return a("expecting an array or an iterable object but got "+n.classString(i));for(var u=new e(t),h=(void 0!==o&&u._propagateFrom(o,3),u._fulfill),l=u._reject,p=0,d=i.length;p<d;++p){var f=i[p];(void 0!==f||p in i)&&e.cast(f)._then(h,l,void 0,u,null)}return u}e.race=function(e){return o(e,void 0)},e.prototype.race=function(){return o(this,void 0)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(11),c=o.tryCatch;function u(t,i,r,a){this.constructor$(t),t=e._getContext(),this._fn=o.contextBind(t,i),void 0!==r&&(r=e.resolve(r))._attachCancellationCallback(this),this._initialValue=r,this._currentCancellable=null,this._eachValues=a===s?Array(this._length):0===a?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function h(e,t){this.isFulfilled()?t._resolve(e):t._reject(e)}function l(e,t,i,a){return"function"!=typeof t?r("expecting a function but got "+o.classString(t)):new u(e,t,i,a).promise()}function p(t){return this.accum=t,this.array._gotAccum(t),(t=a(this.value,this.array._promise))instanceof e?(this.array._currentCancellable=t)._then(d,void 0,void 0,this,void 0):d.call(this,t)}function d(t){var i=this.array,r=i._promise,a=c(i._fn);r._pushContext(),(a=void 0!==i._eachValues?a.call(r._boundValue(),t,this.index,this.length):a.call(r._boundValue(),this.accum,t,this.index,this.length))instanceof e&&(i._currentCancellable=a),t=r._popContext();return n.checkForgottenReturns(a,t,void 0!==i._eachValues?"Promise.each":"Promise.reduce",r),a}o.inherits(u,t),u.prototype._gotAccum=function(e){void 0!==this._eachValues&&null!==this._eachValues&&e!==s&&this._eachValues.push(e)},u.prototype._eachComplete=function(e){return null!==this._eachValues&&this._eachValues.push(e),this._eachValues},u.prototype._init=function(){},u.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},u.prototype.shouldCopyValues=function(){return!1},u.prototype._resolve=function(e){this._promise._resolveCallback(e),this._values=null},u.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel())},u.prototype._iterate=function(t){var i=(this._values=t).length,r=void 0!==this._initialValue?(o=this._initialValue,0):(o=e.resolve(t[0]),1);this._currentCancellable=o;for(var a=r;a<i;++a){var s=t[a];s instanceof e&&s.suppressUnhandledRejections()}if(!o.isRejected())for(;r<i;++r){var n={accum:null,value:t[r],index:r,length:i,array:this},o=o._then(p,void 0,void 0,n,void 0);0==(127&r)&&o._setNoAsyncGuarantee()}(o=void 0!==this._eachValues?o._then(this._eachComplete,void 0,void 0,this,void 0):o)._then(h,h,void 0,o,this)},e.prototype.reduce=function(e,t){return l(this,e,t,null)},e.reduce=l}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=e.PromiseInspection;function s(e){this.constructor$(e)}i(11).inherits(s,t),s.prototype._promiseResolved=function(e,t){return this._values[e]=t,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},s.prototype._promiseFulfilled=function(e,t){var i=new a;return i._bitField=33554432,i._settledValueField=e,this._promiseResolved(t,i)},s.prototype._promiseRejected=function(e,t){var i=new a;return i._bitField=16777216,i._settledValueField=e,this._promiseResolved(t,i)},e.settle=function(e){return r.deprecated(".settle()",".reflect()"),new s(e).promise()},e.allSettled=function(e){return new s(e).promise()},e.prototype.settle=function(){return e.settle(this)}}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=i(11),s=i(65).RangeError,n=i(65).AggregateError,o=a.isArray,c={};function u(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function h(e,t){var i;return(0|t)!==t||t<0?r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n"):(i=(e=new u(e)).promise(),e.setHowMany(t),e.init(),i)}a.inherits(u,t),u.prototype._init=function(){var e;this._initialized&&(0===this._howMany?this._resolve([]):(this._init$(void 0,-5),e=o(this._values),!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))))},u.prototype.init=function(){this._initialized=!0,this._init()},u.prototype.setUnwrap=function(){this._unwrap=!0},u.prototype.howMany=function(){return this._howMany},u.prototype.setHowMany=function(e){this._howMany=e},u.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},u.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},u.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(c),this._checkOutcome())},u.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new n,t=this.length();t<this._values.length;++t)this._values[t]!==c&&e.push(this._values[t]);return 0<e.length?this._reject(e):this._cancel(),!0}return!1},u.prototype._fulfilled=function(){return this._totalResolved},u.prototype._rejected=function(){return this._values.length-this.length()},u.prototype._addRejected=function(e){this._values.push(e)},u.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e},u.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},u.prototype._getRangeError=function(e){return e="Input array must contain at least "+this._howMany+" items but contains only "+e+" items",new s(e)},u.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=h,e.prototype.some=function(e){return h(this,e)},e._SomePromiseArray=u}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=i(11),s=e.TimeoutError;function n(e){this.handle=e}function o(e){return c(+this).thenReturn(e)}n.prototype._resultCancelled=function(){clearTimeout(this.handle)};var c=e.delay=function(i,a){var s;return void 0!==a?(s=e.resolve(a)._then(o,null,null,i,void 0),r.cancellation()&&a instanceof e&&s._setOnCancel(a)):(s=new e(t),a=setTimeout((function(){s._fulfill()}),+i),r.cancellation()&&s._setOnCancel(new n(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};function u(e){return clearTimeout(this.handle),e}function h(e){throw clearTimeout(this.handle),e}e.prototype.delay=function(e){return c(e,this)},e.prototype.timeout=function(e,t){e=+e;var i,o;e=new n(setTimeout((function(){var e,r,n;i.isPending()&&(e=i,n=o,r="string"!=typeof(r=t)?r instanceof Error?r:new s("operation timed out"):new s(r),a.markAsOriginatingFromRejection(r),e._attachExtraTrace(r),e._reject(r),null!=n)&&n.cancel()}),e));return r.cancellation()?(o=this.then(),(i=o._then(u,h,void 0,e,void 0))._setOnCancel(e)):i=this._then(u,h,void 0,e,void 0),i}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(11),c=i(65).TypeError,u=i(11).inherits,h=o.errorObj,l=o.tryCatch,p={};function d(e){setTimeout((function(){throw e}),0)}function f(t,i){var a=0,n=t.length,o=new e(s);return function s(){if(n<=a)return o._fulfill();u=t[a++],(c=r(u))!==u&&"function"==typeof u._isDisposable&&"function"==typeof u._getDisposer&&u._isDisposable()&&c._setDisposable(u._getDisposer());var c,u=c;if(u instanceof e&&u._isDisposable()){try{u=r(u._getDisposer().tryDispose(i),t.promise)}catch(s){return d(s)}if(u instanceof e)return u._then(s,d,null,null,null)}s()}(),o}function m(e,t,i){this._data=e,this._promise=t,this._context=i}function g(e,t,i){this.constructor$(e,t,i)}function v(e){return m.isDisposer(e)?(this.resources[this.index]._setDisposable(e),e.promise()):e}function y(e){this.length=e,this.promise=null,this[e-1]=null}m.prototype.data=function(){return this._data},m.prototype.promise=function(){return this._promise},m.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():p},m.prototype.tryDispose=function(e){var t=this.resource(),i=this._context;void 0!==i&&i._pushContext(),t=t!==p?this.doDispose(t,e):null;return void 0!==i&&i._popContext(),this._promise._unsetDisposable(),this._data=null,t},m.isDisposer=function(e){return null!=e&&"function"==typeof e.resource&&"function"==typeof e.tryDispose},u(g,m),g.prototype.doDispose=function(e,t){return this.data().call(e,e,t)},y.prototype._resultCancelled=function(){for(var t=this.length,i=0;i<t;++i){var r=this[i];r instanceof e&&r.cancel()}},e.using=function(){var i=arguments.length;if(i<2)return t("you must pass at least 2 arguments to Promise.using");var a,s=arguments[i-1];if("function"!=typeof s)return t("expecting a function but got "+o.classString(s));for(var c=!0,u=(2===i&&Array.isArray(arguments[0])?(i=(a=arguments[0]).length,c=!1):(a=arguments,i--),new y(i)),p=0;p<i;++p){var d,g=a[p];m.isDisposer(g)?(g=(d=g).promise())._setDisposable(d):(d=r(g))instanceof e&&(g=d._then(v,null,null,{resources:u,index:p},void 0)),u[p]=g}var b=new Array(u.length);for(p=0;p<b.length;++p)b[p]=e.resolve(u[p]).reflect();var w=e.all(b).then((function(e){for(var t=0;t<e.length;++t){var i=e[t];if(i.isRejected())return h.e=i.error(),h;if(!i.isFulfilled())return void w.cancel();e[t]=i.value()}x._pushContext(),s=l(s);var r=c?s.apply(void 0,e):s(e),a=x._popContext();return n.checkForgottenReturns(r,a,"Promise.using",x),r})),x=w.lastly((function(){var t=new e.PromiseInspection(w);return f(u,t)}));return(u.promise=x)._setOnCancel(u),x},e.prototype._setDisposable=function(e){this._bitField=131072|this._bitField,this._disposer=e},e.prototype._isDisposable=function(){return 0<(131072&this._bitField)},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(e){if("function"==typeof e)return new g(e,this,a());throw new c}}},function(e,t,i){"use strict";e.exports=function(e){var t=e._SomePromiseArray;function i(e){var i=(e=new t(e)).promise();return e.setHowMany(1),e.setUnwrap(),e.init(),i}e.any=i,e.prototype.any=function(){return i(this)}}},function(e,t,i){"use strict";e.exports=function(e,t){var i=e.reduce,r=e.all;function a(){return r(this)}e.prototype.each=function(e){return i(this,e,t,0)._then(a,void 0,void 0,this,void 0)},e.prototype.mapSeries=function(e){return i(this,e,t,t)},e.each=function(e,r){return i(e,r,t,0)._then(a,void 0,void 0,e,void 0)},e.mapSeries=function(e,r){return i(e,r,t,t)}}},function(e,t,i){"use strict";e.exports=function(e,t){var i=e.map;e.prototype.filter=function(e,r){return i(this,e,r,t)},e.filter=function(e,r,a){return i(e,r,a,t)}}},function(e,t,i){"use strict";var r=i(444),a=i(264),s=i(261),n=i(171);e.exports=function(e){var t="Please verify options";if(!n(e))throw new TypeError(t);if(!s(e.request))throw new TypeError(t+".request");if(!a(e.expose)||0===e.expose.length)throw new TypeError(t+".expose");for(var i=r({PromiseImpl:e.PromiseImpl,constructorMixin:e.constructorMixin}),o=e.request.Request.prototype.init,c=!(e.request.Request.prototype.init=function(e){return!n(e)||this._callback||this._rp_promise||i.init.call(this,e),o.apply(this,arguments)}),u=0;u<e.expose.length;u+=1){var h=e.expose[u];i["promise"===h?"exposePromise":"exposePromiseMethod"](e.request.Request.prototype,null,"_rp_promise",h),"then"===h&&(c=!0)}if(!c)throw new Error('Please expose "then"')}},function(e,t,i){"use strict";var r=i(445),a=i(261),s=i(171),n=i(451),o=i(452);e.exports=function(e){var t,i,c,u="Please verify options";if(!s(e))throw new TypeError(u);if(a(e.PromiseImpl)&&(o(e.constructorMixin)||a(e.constructorMixin)))return t=e.PromiseImpl,i=e.constructorMixin,c={init:function(e){var r=this;r._rp_promise=new t((function(e,t){r._rp_resolve=e,r._rp_reject=t,i&&i.apply(r,arguments)})),r._rp_callbackOrig=e.callback,e.callback=r.callback=function(e,t,i){c.callback.call(r,e,t,i)},n(e.method)&&(e.method=e.method.toUpperCase()),e.transform=e.transform||c.defaultTransformations[e.method],r._rp_options=e,r._rp_options.simple=!1!==e.simple,r._rp_options.resolveWithFullResponse=!0===e.resolveWithFullResponse,r._rp_options.transform2xxOnly=!0===e.transform2xxOnly},defaultTransformations:{HEAD:function(e,t,i){return i?t:t.headers}},callback:function(e,i,s){var n=this,o=!1,c=null;if(a(n._rp_callbackOrig))try{n._rp_callbackOrig.apply(n,arguments)}catch(e){o=!0,c=e}var u=!e&&/^2/.test(""+i.statusCode);if(e?n._rp_reject(new r.RequestError(e,n._rp_options,i)):n._rp_options.simple&&!u?a(n._rp_options.transform)&&!1===n._rp_options.transform2xxOnly?new t((function(e){e(n._rp_options.transform(s,i,n._rp_options.resolveWithFullResponse))})).then((function(e){n._rp_reject(new r.StatusCodeError(i.statusCode,s,n._rp_options,e))})).catch((function(e){n._rp_reject(new r.TransformError(e,n._rp_options,i))})):n._rp_reject(new r.StatusCodeError(i.statusCode,s,n._rp_options,i)):a(n._rp_options.transform)&&(u||!1===n._rp_options.transform2xxOnly)?new t((function(e){e(n._rp_options.transform(s,i,n._rp_options.resolveWithFullResponse))})).then((function(e){n._rp_resolve(e)})).catch((function(e){n._rp_reject(new r.TransformError(e,n._rp_options,i))})):n._rp_options.resolveWithFullResponse?n._rp_resolve(i):n._rp_resolve(s),o)throw c},exposePromiseMethod:function(e,t,i,r,a){if((a=a||r)in e)throw new Error('Unable to expose method "'+a+'"');e[a]=function(){var e=t||this;return e[i][r].apply(e[i],arguments)}},exposePromise:function(e,t,i,r){if((r=r||"promise")in e)throw new Error('Unable to expose method "'+r+'"');e[r]=function(){return(t||this)[i]}}};throw new TypeError(u+".PromiseImpl")}},function(e,t,i){"use strict";function r(e,t,i){this.name="RequestError",this.message=String(e),this.cause=e,this.error=e,this.options=t,this.response=i,Error.captureStackTrace&&Error.captureStackTrace(this)}function a(e,t,i,r){this.name="StatusCodeError",this.statusCode=e,this.message=e+" - "+(JSON&&JSON.stringify?JSON.stringify(t):t),this.error=t,this.options=i,this.response=r,Error.captureStackTrace&&Error.captureStackTrace(this)}function s(e,t,i){this.name="TransformError",this.message=String(e),this.cause=e,this.error=e,this.options=t,this.response=i,Error.captureStackTrace&&Error.captureStackTrace(this)}(r.prototype=Object.create(Error.prototype)).constructor=r,(a.prototype=Object.create(Error.prototype)).constructor=a,s.prototype=Object.create(Error.prototype),e.exports={RequestError:r,StatusCodeError:a,TransformError:s.prototype.constructor=s}},function(e,t,i){i=i(447);var r="object"==typeof self&&self&&self.Object===Object&&self;i=i||r||Function("return this")();e.exports=i},function(e,t){var i="object"==typeof global&&global&&global.Object===Object&&global;e.exports=i},function(e,t,i){i=i(263);var r=Object.prototype,a=r.hasOwnProperty,s=r.toString,n=i?i.toStringTag:void 0;e.exports=function(e){var t=a.call(e,n),i=e[n];try{var r=!(e[n]=void 0)}catch(e){}var o=s.call(e);return r&&(t?e[n]=i:delete e[n]),o}},function(e,t){var i=Object.prototype.toString;e.exports=function(e){return i.call(e)}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,i){var r=i(262),a=i(264),s=i(171);e.exports=function(e){return"string"==typeof e||!a(e)&&s(e)&&"[object String]"==r(e)}},function(e,t){e.exports=function(e){return void 0===e}},function(e,t,i){"use strict";var r=/\.node$/;function a(e,t){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t(i)}function s(e,t){return a(t,(function(i){e[i]=t[i]})),e}function n(e){a(e,(function(t){r.test(t)||delete e[t]}))}e.exports=function(e,t,i,r){var o=s({},e);if(n(e),i){var c=!!r.children&&r.children.slice(),u=(i(),[]);a(e,(function(e){u.push(e)})),n(e),r.children&&(r.children=c);for(var h=0;h<u.length;h+=1)o[u[h]]&&(e[u[h]]=o[u[h]])}r=t();var l=!!i&&s({},e);if(n(e),i)for(var p=0;p<u.length;p+=1)l[u[p]]&&(e[u[p]]=l[u[p]]);return s(e,o),r}},function(e,t,i){"use strict";var r=i(268),a={};a.rules=i(455).map((function(e){return{rule:e,suffix:e.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:"*"===e.charAt(0),exception:"!"===e.charAt(0)}})),a.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},a.findRule=function(e){var t=r.toASCII(e);return a.rules.reduce((function(e,i){return-1===i.punySuffix&&(i.punySuffix=r.toASCII(i.suffix)),a.endsWith(t,"."+i.punySuffix)||t===i.punySuffix?i:e}),null)},t.errorCodes={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},a.validate=function(e){if((e=r.toASCII(e)).length<1)return"DOMAIN_TOO_SHORT";if(255<e.length)return"DOMAIN_TOO_LONG";for(var t,i=e.split("."),a=0;a<i.length;++a){if(!(t=i[a]).length)return"LABEL_TOO_SHORT";if(63<t.length)return"LABEL_TOO_LONG";if("-"===t.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===t.charAt(t.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-]+$/.test(t))return"LABEL_INVALID_CHARS"}},t.parse=function(e){if("string"!=typeof e)throw new TypeError("Domain name must be a string.");var i=e.slice(0).toLowerCase();if(c=("."===i.charAt(i.length-1)&&(i=i.slice(0,i.length-1)),a.validate(i)))return{input:e,error:{message:t.errorCodes[c],code:c}};var s={input:e,tld:null,sld:null,domain:null,subdomain:null,listed:!1};if("local"===(c=i.split("."))[c.length-1])return s;function n(){return/xn--/.test(i)&&(s.domain&&(s.domain=r.toASCII(s.domain)),s.subdomain)&&(s.subdomain=r.toASCII(s.subdomain)),s}if(!(e=a.findRule(i)))return c.length<2?s:(s.tld=c.pop(),s.sld=c.pop(),s.domain=[s.sld,s.tld].join("."),c.length&&(s.subdomain=c.pop()),n());s.listed=!0;var o=e.suffix.split("."),c=c.slice(0,c.length-o.length);return e.exception&&c.push(o.shift()),s.tld=o.join("."),c.length&&(e.wildcard&&(o.unshift(c.pop()),s.tld=o.join(".")),c.length)&&(s.sld=c.pop(),s.domain=[s.sld,s.tld].join("."),c.length)&&(s.subdomain=c.join(".")),n()},t.get=function(e){return e&&t.parse(e).domain||null},t.isValid=function(e){return e=t.parse(e),Boolean(e.domain&&e.listed)}},function(e){e.exports=JSON.parse('["ac","com.ac","edu.ac","gov.ac","net.ac","mil.ac","org.ac","ad","nom.ad","ae","co.ae","net.ae","org.ae","sch.ae","ac.ae","gov.ae","mil.ae","aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","aircraft.aero","airline.aero","airport.aero","air-surveillance.aero","airtraffic.aero","air-traffic-control.aero","ambulance.aero","amusement.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","gov.af","com.af","org.af","net.af","edu.af","ag","com.ag","org.ag","net.ag","co.ag","nom.ag","ai","off.ai","com.ai","net.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","ed.ao","gv.ao","og.ao","co.ao","pb.ao","it.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","co.at","gv.at","or.at","sth.ac.at","au","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","com.az","net.az","int.az","gov.az","org.az","edu.az","info.az","pp.az","mil.az","name.az","pro.az","biz.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","bh","com.bh","edu.bh","net.bh","org.bh","gov.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","asso.bj","barreau.bj","gouv.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","org.bo","net.bo","mil.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","politica.bo","profesional.bo","plurinacional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","net.bs","org.bs","edu.bs","gov.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","com.bz","net.bz","org.bz","edu.bz","gov.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","org.ci","or.ci","com.ci","co.ci","edu.ci","ed.ci","ac.ci","net.ci","go.ci","asso.ci","aéroport.ci","int.ci","presse.ci","md.ci","gouv.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","net.cn","org.cn","mil.cn","公司.cn","网络.cn","網絡.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","hk.cn","mo.cn","tw.cn","co","arts.co","com.co","edu.co","firm.co","gov.co","info.co","int.co","mil.co","net.co","nom.co","org.co","rec.co","web.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","org.cu","net.cu","gov.cu","inf.cu","cv","com.cv","edu.cv","int.cv","nome.cv","org.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","com.dm","net.dm","org.dm","edu.dm","gov.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","org.dz","net.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","info.ec","net.ec","fin.ec","k12.ec","med.ec","pro.ec","org.ec","edu.ec","gov.ec","gob.ec","mil.ec","edu","ee","edu.ee","gov.ee","riik.ee","lib.ee","med.ee","com.ee","pri.ee","aip.ee","org.ee","fie.ee","eg","com.eg","edu.eg","eun.eg","gov.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","*.er","es","com.es","nom.es","org.es","gob.es","edu.es","et","com.et","gov.et","org.et","edu.et","biz.et","name.et","info.et","net.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","com.fm","edu.fm","net.fm","org.fm","fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","aeroport.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","ga","gb","edu.gd","gov.gd","gd","ge","com.ge","edu.ge","gov.ge","org.ge","mil.ge","net.ge","pvt.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","org.gh","mil.gh","gi","com.gi","ltd.gi","gov.gi","mod.gi","edu.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","org.gn","net.gn","gov","gp","com.gp","net.gp","mobi.gp","edu.gp","org.gp","asso.gp","gq","gr","com.gr","edu.gr","net.gr","org.gr","gov.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","公司.hk","教育.hk","敎育.hk","政府.hk","個人.hk","个��.hk","箇人.hk","網络.hk","网络.hk","组織.hk","網絡.hk","网絡.hk","组织.hk","組織.hk","組织.hk","hm","hn","com.hn","edu.hn","org.hn","net.hn","mil.hn","gob.hn","hr","iz.hr","from.hr","name.hr","com.hr","ht","com.ht","shop.ht","firm.ht","info.ht","adult.ht","net.ht","pro.ht","org.ht","med.ht","art.ht","coop.ht","pol.ht","asso.ht","edu.ht","rel.ht","gouv.ht","perso.ht","hu","co.hu","info.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","im","ac.im","co.im","com.im","ltd.co.im","net.im","org.im","plc.co.im","tt.im","tv.im","in","co.in","firm.in","net.in","org.in","gen.in","ind.in","nic.in","ac.in","edu.in","res.in","gov.in","mil.in","info","int","eu.int","io","com.io","iq","gov.iq","edu.iq","mil.iq","com.iq","org.iq","net.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","net.is","com.is","edu.is","gov.is","org.is","int.is","it","gov.it","edu.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentino.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","balsan.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano-altoadige.it","bolzano.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","bozen.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bulsan.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza-brianza.it","monza-e-della-brianza.it","monza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","suedtirol.it","südtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","com.jo","org.jo","net.jo","edu.jo","sch.jo","gov.jo","mil.jo","name.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","栃木.jp","愛知.jp","愛媛.jp","兵庫.jp","熊本.jp","茨城.jp","北海道.jp","千葉.jp","和歌山.jp","長崎.jp","長野.jp","新潟.jp","青森.jp","静岡.jp","東京.jp","石川.jp","埼玉.jp","三重.jp","京都.jp","佐賀.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岩手.jp","岐阜.jp","岡山.jp","島根.jp","広島.jp","徳島.jp","沖縄.jp","滋賀.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","!city.kawasaki.jp","!city.kitakyushu.jp","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","org.kg","net.kg","com.kg","edu.kg","gov.kg","mil.kg","*.kh","ki","edu.ki","biz.ki","net.ki","org.ki","gov.ki","info.ki","com.ki","km","org.km","nom.km","gov.km","prd.km","tm.km","edu.km","mil.km","ass.km","com.km","coop.km","asso.km","presse.km","medecin.km","notaires.km","pharmaciens.km","veterinaire.km","gouv.km","kn","net.kn","org.kn","edu.kn","gov.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","org.kz","edu.kz","net.kz","gov.kz","mil.kz","com.kz","la","int.la","net.la","info.la","edu.la","gov.la","per.la","com.la","org.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","com.lc","net.lc","co.lc","org.lc","edu.lc","gov.lc","li","lk","gov.lk","sch.lk","net.lk","int.lk","com.lk","org.lk","edu.lk","ngo.lk","soc.lk","web.lk","ltd.lk","assn.lk","grp.lk","hotel.lk","ac.lk","lr","com.lr","edu.lr","gov.lr","org.lr","net.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","com.lv","edu.lv","gov.lv","org.lv","mil.lv","id.lv","net.lv","asn.lv","conf.lv","ly","com.ly","net.ly","gov.ly","plc.ly","edu.ly","sch.ly","med.ly","org.ly","id.ly","ma","co.ma","net.ma","gov.ma","org.ma","ac.ma","press.ma","mc","tm.mc","asso.mc","md","me","co.me","net.me","org.me","edu.me","ac.me","gov.me","its.me","priv.me","mg","org.mg","nom.mg","gov.mg","prd.mg","tm.mg","edu.mg","mil.mg","com.mg","co.mg","mh","mil","mk","com.mk","org.mk","net.mk","edu.mk","gov.mk","inf.mk","name.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","gov.mn","edu.mn","org.mn","mo","com.mo","net.mo","org.mo","edu.mo","gov.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","com.mu","net.mu","org.mu","gov.mu","ac.mu","co.mu","or.mu","museum","academy.museum","agriculture.museum","air.museum","airguard.museum","alabama.museum","alaska.museum","amber.museum","ambulance.museum","american.museum","americana.museum","americanantiques.museum","americanart.museum","amsterdam.museum","and.museum","annefrank.museum","anthro.museum","anthropology.museum","antiques.museum","aquarium.museum","arboretum.museum","archaeological.museum","archaeology.museum","architecture.museum","art.museum","artanddesign.museum","artcenter.museum","artdeco.museum","arteducation.museum","artgallery.museum","arts.museum","artsandcrafts.museum","asmatart.museum","assassination.museum","assisi.museum","association.museum","astronomy.museum","atlanta.museum","austin.museum","australia.museum","automotive.museum","aviation.museum","axis.museum","badajoz.museum","baghdad.museum","bahn.museum","bale.museum","baltimore.museum","barcelona.museum","baseball.museum","basel.museum","baths.museum","bauern.museum","beauxarts.museum","beeldengeluid.museum","bellevue.museum","bergbau.museum","berkeley.museum","berlin.museum","bern.museum","bible.museum","bilbao.museum","bill.museum","birdart.museum","birthplace.museum","bonn.museum","boston.museum","botanical.museum","botanicalgarden.museum","botanicgarden.museum","botany.museum","brandywinevalley.museum","brasil.museum","bristol.museum","british.museum","britishcolumbia.museum","broadcast.museum","brunel.museum","brussel.museum","brussels.museum","bruxelles.museum","building.museum","burghof.museum","bus.museum","bushey.museum","cadaques.museum","california.museum","cambridge.museum","can.museum","canada.museum","capebreton.museum","carrier.museum","cartoonart.museum","casadelamoneda.museum","castle.museum","castres.museum","celtic.museum","center.museum","chattanooga.museum","cheltenham.museum","chesapeakebay.museum","chicago.museum","children.museum","childrens.museum","childrensgarden.museum","chiropractic.museum","chocolate.museum","christiansburg.museum","cincinnati.museum","cinema.museum","circus.museum","civilisation.museum","civilization.museum","civilwar.museum","clinton.museum","clock.museum","coal.museum","coastaldefence.museum","cody.museum","coldwar.museum","collection.museum","colonialwilliamsburg.museum","coloradoplateau.museum","columbia.museum","columbus.museum","communication.museum","communications.museum","community.museum","computer.museum","computerhistory.museum","comunicações.museum","contemporary.museum","contemporaryart.museum","convent.museum","copenhagen.museum","corporation.museum","correios-e-telecomunicações.museum","corvette.museum","costume.museum","countryestate.museum","county.museum","crafts.museum","cranbrook.museum","creation.museum","cultural.museum","culturalcenter.museum","culture.museum","cyber.museum","cymru.museum","dali.museum","dallas.museum","database.museum","ddr.museum","decorativearts.museum","delaware.museum","delmenhorst.museum","denmark.museum","depot.museum","design.museum","detroit.museum","dinosaur.museum","discovery.museum","dolls.museum","donostia.museum","durham.museum","eastafrica.museum","eastcoast.museum","education.museum","educational.museum","egyptian.museum","eisenbahn.museum","elburg.museum","elvendrell.museum","embroidery.museum","encyclopedic.museum","england.museum","entomology.museum","environment.museum","environmentalconservation.museum","epilepsy.museum","essex.museum","estate.museum","ethnology.museum","exeter.museum","exhibition.museum","family.museum","farm.museum","farmequipment.museum","farmers.museum","farmstead.museum","field.museum","figueres.museum","filatelia.museum","film.museum","fineart.museum","finearts.museum","finland.museum","flanders.museum","florida.museum","force.museum","fortmissoula.museum","fortworth.museum","foundation.museum","francaise.museum","frankfurt.museum","franziskaner.museum","freemasonry.museum","freiburg.museum","fribourg.museum","frog.museum","fundacio.museum","furniture.museum","gallery.museum","garden.museum","gateway.museum","geelvinck.museum","gemological.museum","geology.museum","georgia.museum","giessen.museum","glas.museum","glass.museum","gorge.museum","grandrapids.museum","graz.museum","guernsey.museum","halloffame.museum","hamburg.museum","handson.museum","harvestcelebration.museum","hawaii.museum","health.museum","heimatunduhren.museum","hellas.museum","helsinki.museum","hembygdsforbund.museum","heritage.museum","histoire.museum","historical.museum","historicalsociety.museum","historichouses.museum","historisch.museum","historisches.museum","history.museum","historyofscience.museum","horology.museum","house.museum","humanities.museum","illustration.museum","imageandsound.museum","indian.museum","indiana.museum","indianapolis.museum","indianmarket.museum","intelligence.museum","interactive.museum","iraq.museum","iron.museum","isleofman.museum","jamison.museum","jefferson.museum","jerusalem.museum","jewelry.museum","jewish.museum","jewishart.museum","jfk.museum","journalism.museum","judaica.museum","judygarland.museum","juedisches.museum","juif.museum","karate.museum","karikatur.museum","kids.museum","koebenhavn.museum","koeln.museum","kunst.museum","kunstsammlung.museum","kunstunddesign.museum","labor.museum","labour.museum","lajolla.museum","lancashire.museum","landes.museum","lans.museum","läns.museum","larsson.museum","lewismiller.museum","lincoln.museum","linz.museum","living.museum","livinghistory.museum","localhistory.museum","london.museum","losangeles.museum","louvre.museum","loyalist.museum","lucerne.museum","luxembourg.museum","luzern.museum","mad.museum","madrid.museum","mallorca.museum","manchester.museum","mansion.museum","mansions.museum","manx.museum","marburg.museum","maritime.museum","maritimo.museum","maryland.museum","marylhurst.museum","media.museum","medical.museum","medizinhistorisches.museum","meeres.museum","memorial.museum","mesaverde.museum","michigan.museum","midatlantic.museum","military.museum","mill.museum","miners.museum","mining.museum","minnesota.museum","missile.museum","missoula.museum","modern.museum","moma.museum","money.museum","monmouth.museum","monticello.museum","montreal.museum","moscow.museum","motorcycle.museum","muenchen.museum","muenster.museum","mulhouse.museum","muncie.museum","museet.museum","museumcenter.museum","museumvereniging.museum","music.museum","national.museum","nationalfirearms.museum","nationalheritage.museum","nativeamerican.museum","naturalhistory.museum","naturalhistorymuseum.museum","naturalsciences.museum","nature.museum","naturhistorisches.museum","natuurwetenschappen.museum","naumburg.museum","naval.museum","nebraska.museum","neues.museum","newhampshire.museum","newjersey.museum","newmexico.museum","newport.museum","newspaper.museum","newyork.museum","niepce.museum","norfolk.museum","north.museum","nrw.museum","nyc.museum","nyny.museum","oceanographic.museum","oceanographique.museum","omaha.museum","online.museum","ontario.museum","openair.museum","oregon.museum","oregontrail.museum","otago.museum","oxford.museum","pacific.museum","paderborn.museum","palace.museum","paleo.museum","palmsprings.museum","panama.museum","paris.museum","pasadena.museum","pharmacy.museum","philadelphia.museum","philadelphiaarea.museum","philately.museum","phoenix.museum","photography.museum","pilots.museum","pittsburgh.museum","planetarium.museum","plantation.museum","plants.museum","plaza.museum","portal.museum","portland.museum","portlligat.museum","posts-and-telecommunications.museum","preservation.museum","presidio.museum","press.museum","project.museum","public.museum","pubol.museum","quebec.museum","railroad.museum","railway.museum","research.museum","resistance.museum","riodejaneiro.museum","rochester.museum","rockart.museum","roma.museum","russia.museum","saintlouis.museum","salem.museum","salvadordali.museum","salzburg.museum","sandiego.museum","sanfrancisco.museum","santabarbara.museum","santacruz.museum","santafe.museum","saskatchewan.museum","satx.museum","savannahga.museum","schlesisches.museum","schoenbrunn.museum","schokoladen.museum","school.museum","schweiz.museum","science.museum","scienceandhistory.museum","scienceandindustry.museum","sciencecenter.museum","sciencecenters.museum","science-fiction.museum","sciencehistory.museum","sciences.museum","sciencesnaturelles.museum","scotland.museum","seaport.museum","settlement.museum","settlers.museum","shell.museum","sherbrooke.museum","sibenik.museum","silk.museum","ski.museum","skole.museum","society.museum","sologne.museum","soundandvision.museum","southcarolina.museum","southwest.museum","space.museum","spy.museum","square.museum","stadt.museum","stalbans.museum","starnberg.museum","state.museum","stateofdelaware.museum","station.museum","steam.museum","steiermark.museum","stjohn.museum","stockholm.museum","stpetersburg.museum","stuttgart.museum","suisse.museum","surgeonshall.museum","surrey.museum","svizzera.museum","sweden.museum","sydney.museum","tank.museum","tcm.museum","technology.museum","telekommunikation.museum","television.museum","texas.museum","textile.museum","theater.museum","time.museum","timekeeping.museum","topology.museum","torino.museum","touch.museum","town.museum","transport.museum","tree.museum","trolley.museum","trust.museum","trustee.museum","uhren.museum","ulm.museum","undersea.museum","university.museum","usa.museum","usantiques.museum","usarts.museum","uscountryestate.museum","usculture.museum","usdecorativearts.museum","usgarden.museum","ushistory.museum","ushuaia.museum","uslivinghistory.museum","utah.museum","uvic.museum","valley.museum","vantaa.museum","versailles.museum","viking.museum","village.museum","virginia.museum","virtual.museum","virtuel.museum","vlaanderen.museum","volkenkunde.museum","wales.museum","wallonie.museum","war.museum","washingtondc.museum","watchandclock.museum","watch-and-clock.museum","western.museum","westfalen.museum","whaling.museum","wildlife.museum","williamsburg.museum","windmill.museum","workshop.museum","york.museum","yorkshire.museum","yosemite.museum","youth.museum","zoological.museum","zoology.museum","ירושלים.museum","иком.museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","museum.mw","net.mw","org.mw","mx","com.mx","org.mx","gob.mx","edu.mx","net.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","info.na","pro.na","name.na","school.na","or.na","dr.na","us.na","mx.na","ca.na","in.na","cc.na","tv.na","ws.na","mobi.na","co.na","com.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","com.nf","net.nf","per.nf","rec.nf","web.nf","arts.nf","firm.nf","info.nf","other.nf","store.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","vgs.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","stat.no","dep.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","brumunddal.no","bryne.no","bronnoysund.no","brønnøysund.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","afjord.no","åfjord.no","agdenes.no","al.no","ål.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alaheadju.no","álaheadju.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andebu.no","andoy.no","andøy.no","andasuolo.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askvoll.no","askoy.no","askøy.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","balestrand.no","ballangen.no","balat.no","bálát.no","balsfjord.no","bahccavuotna.no","báhccavuotna.no","bamble.no","bardu.no","beardu.no","beiarn.no","bajddar.no","bájddar.no","baidar.no","báidár.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bearalvahki.no","bearalváhki.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","badaddja.no","bådåddjå.no","budejju.no","bokn.no","bremanger.no","bronnoy.no","brønnøy.no","bygland.no","bykle.no","barum.no","bærum.no","bo.telemark.no","bø.telemark.no","bo.nordland.no","bø.nordland.no","bievat.no","bievát.no","bomlo.no","bømlo.no","batsfjord.no","båtsfjord.no","bahcavuotna.no","báhcavuotna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","donna.no","dønna.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenes.no","evenassi.no","evenášši.no","evje-og-hornnes.no","farsund.no","fauske.no","fuossko.no","fuoisku.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","fla.no","flå.no","folldal.no","forsand.no","fosnes.no","frei.no","frogn.no","froland.no","frosta.no","frana.no","fræna.no","froya.no","frøya.no","fusa.no","fyresdal.no","forde.no","førde.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","kraanghke.no","kråanghke.no","grue.no","gulen.no","hadsel.no","halden.no","halsa.no","hamar.no","hamaroy.no","habmer.no","hábmer.no","hapmir.no","hápmir.no","hammerfest.no","hammarfeasta.no","hámmárfeasta.no","haram.no","hareid.no","harstad.no","hasvik.no","aknoluokta.no","ákŋoluokta.no","hattfjelldal.no","aarborte.no","haugesund.no","hemne.no","hemnes.no","hemsedal.no","heroy.more-og-romsdal.no","herøy.møre-og-romsdal.no","heroy.nordland.no","herøy.nordland.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","hornindal.no","horten.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","hagebostad.no","hægebostad.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","ha.no","hå.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","jevnaker.no","jondal.no","jolster.no","jølster.no","karasjok.no","karasjohka.no","kárášjohka.no","karlsoy.no","galsa.no","gálsá.no","karmoy.no","karmøy.no","kautokeino.no","guovdageaidnu.no","klepp.no","klabu.no","klæbu.no","kongsberg.no","kongsvinger.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvalsund.no","rahkkeravju.no","ráhkkerávju.no","kvam.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","kvafjord.no","kvæfjord.no","giehtavuoatna.no","kvanangen.no","kvænangen.no","navuotna.no","návuotna.no","kafjord.no","kåfjord.no","gaivuotna.no","gáivuotna.no","larvik.no","lavangen.no","lavagis.no","loabat.no","loabát.no","lebesby.no","davvesiida.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","leangaviika.no","leaŋgaviika.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindesnes.no","lindas.no","lindås.no","lom.no","loppa.no","lahppi.no","láhppi.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","ivgu.no","lardal.no","lerdal.no","lærdal.no","lodingen.no","lødingen.no","lorenskog.no","lørenskog.no","loten.no","løten.no","malvik.no","masoy.no","måsøy.no","muosat.no","muosát.no","mandal.no","marker.no","marnardal.no","masfjorden.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","moareke.no","moåreke.no","midsund.no","midtre-gauldal.no","modalen.no","modum.no","molde.no","moskenes.no","moss.no","mosvik.no","malselv.no","målselv.no","malatvuopmi.no","málatvuopmi.no","namdalseid.no","aejrie.no","namsos.no","namsskogan.no","naamesjevuemie.no","nååmesjevuemie.no","laakesvuemie.no","nannestad.no","narvik.no","narviika.no","naustdal.no","nedre-eiker.no","nes.akershus.no","nes.buskerud.no","nesna.no","nesodden.no","nesseby.no","unjarga.no","unjárga.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","davvenjarga.no","davvenjárga.no","nordre-land.no","nordreisa.no","raisa.no","ráisa.no","nore-og-uvdal.no","notodden.no","naroy.no","nærøy.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","os.hedmark.no","os.hordaland.no","osen.no","osteroy.no","osterøy.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","radoy.no","radøy.no","rakkestad.no","rana.no","ruovat.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","rissa.no","risor.no","risør.no","roan.no","rollag.no","rygge.no","ralingen.no","rælingen.no","rodoy.no","rødøy.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","rade.no","råde.no","salangen.no","siellak.no","saltdal.no","salat.no","sálát.no","sálat.no","samnanger.no","sande.more-og-romsdal.no","sande.møre-og-romsdal.no","sande.vestfold.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","sigdal.no","siljan.no","sirdal.no","skaun.no","skedsmo.no","ski.no","skien.no","skiptvet.no","skjervoy.no","skjervøy.no","skierva.no","skiervá.no","skjak.no","skjåk.no","skodje.no","skanland.no","skånland.no","skanit.no","skánit.no","smola.no","smøla.no","snillfjord.no","snasa.no","snåsa.no","snoasa.no","snaase.no","snåase.no","sogndal.no","sokndal.no","sola.no","solund.no","songdalen.no","sortland.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","omasvuotna.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","sogne.no","søgne.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","matta-varjjat.no","mátta-várjjat.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sorum.no","sørum.no","tana.no","deatnu.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","dielddanuorri.no","tjome.no","tjøme.no","tokke.no","tolga.no","torsken.no","tranoy.no","tranøy.no","tromso.no","tromsø.no","tromsa.no","romsa.no","trondheim.no","troandin.no","trysil.no","trana.no","træna.no","trogstad.no","trøgstad.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","divtasvuodna.no","divttasvuotna.no","tysnes.no","tysvar.no","tysvær.no","tonsberg.no","tønsberg.no","ullensaker.no","ullensvang.no","ulvik.no","utsira.no","vadso.no","vadsø.no","cahcesuolo.no","čáhcesuolo.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","vefsn.no","vaapste.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","volda.no","voss.no","varoy.no","værøy.no","vagan.no","vågan.no","voagat.no","vagsoy.no","vågsøy.no","vaga.no","vågå.no","valer.ostfold.no","våler.østfold.no","valer.hedmark.no","våler.hedmark.no","*.np","nr","biz.nr","info.nr","gov.nr","edu.nr","org.nr","net.nr","com.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","mil.nz","māori.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","ac.pa","gob.pa","com.pa","org.pa","sld.pa","edu.pa","net.pa","ing.pa","abo.pa","med.pa","nom.pa","pe","edu.pe","gob.pe","nom.pe","mil.pe","org.pe","com.pe","net.pe","pf","com.pf","org.pf","edu.pf","*.pg","ph","com.ph","net.ph","org.ph","gov.ph","edu.ph","ngo.ph","mil.ph","i.ph","pk","com.pk","net.pk","edu.pk","org.pk","fam.pk","biz.pk","web.pk","gov.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","pl","com.pl","net.pl","org.pl","aid.pl","agro.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","miasta.pl","media.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","ic.gov.pl","is.gov.pl","us.gov.pl","kmpsp.gov.pl","kppsp.gov.pl","kwpsp.gov.pl","psp.gov.pl","wskr.gov.pl","kwp.gov.pl","mw.gov.pl","ug.gov.pl","um.gov.pl","umig.gov.pl","ugim.gov.pl","upow.gov.pl","uw.gov.pl","starostwo.gov.pl","pa.gov.pl","po.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","so.gov.pl","sr.gov.pl","wsa.gov.pl","sko.gov.pl","uzs.gov.pl","wiih.gov.pl","winb.gov.pl","pinb.gov.pl","wios.gov.pl","witd.gov.pl","wzmiuw.gov.pl","piw.gov.pl","wiw.gov.pl","griw.gov.pl","wif.gov.pl","oum.gov.pl","sdn.gov.pl","zp.gov.pl","uppo.gov.pl","mup.gov.pl","wuoz.gov.pl","konsulat.gov.pl","oirm.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","kazimierz-dolny.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorze.pl","pomorskie.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","skoczow.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","gov.pn","co.pn","org.pn","edu.pn","net.pn","post","pr","com.pr","net.pr","org.pr","gov.pr","edu.pr","isla.pr","pro.pr","biz.pr","info.pr","name.pr","est.pr","prof.pr","ac.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","edu.ps","gov.ps","sec.ps","plo.ps","com.ps","org.ps","net.ps","pt","net.pt","gov.pt","org.pt","edu.pt","int.pt","publ.pt","com.pt","nome.pt","pw","co.pw","ne.pw","or.pw","ed.pw","go.pw","belau.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","nom.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","net.sa","org.sa","gov.sa","med.sa","pub.sa","edu.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","gov.sc","net.sc","org.sc","edu.sc","sd","com.sd","net.sd","org.sd","edu.sd","med.sd","tv.sd","gov.sd","info.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","net.sg","org.sg","gov.sg","edu.sg","per.sg","sh","com.sh","net.sh","gov.sh","org.sh","mil.sh","si","sj","sk","sl","com.sl","net.sl","edu.sl","gov.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","edu.sy","gov.sy","net.sy","mil.sy","com.sy","org.sy","sz","co.sz","ac.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","com.tm","co.tm","org.tm","net.tm","nom.tm","gov.tm","mil.tm","edu.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","gov.to","net.to","org.to","edu.to","mil.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","mil.tr","k12.tr","kep.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","co.tt","com.tt","org.tt","net.tt","biz.tt","info.tt","pro.tt","int.tt","coop.tt","jobs.tt","mobi.tt","travel.tt","museum.tt","aero.tt","name.tt","gov.tt","edu.tt","tv","tw","edu.tw","gov.tw","mil.tw","com.tw","net.tw","org.tw","idv.tw","game.tw","ebiz.tw","club.tw","網路.tw","組織.tw","商業.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","co.ug","or.ug","ac.ug","sc.ug","go.ug","ne.ug","com.ug","org.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","vi.us","vt.us","va.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.de.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.vi.us","k12.vt.us","k12.va.us","k12.wa.us","k12.wi.us","k12.wy.us","cc.ak.us","cc.al.us","cc.ar.us","cc.as.us","cc.az.us","cc.ca.us","cc.co.us","cc.ct.us","cc.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.vi.us","cc.vt.us","cc.va.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","lib.ak.us","lib.al.us","lib.ar.us","lib.as.us","lib.az.us","lib.ca.us","lib.co.us","lib.ct.us","lib.dc.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.vi.us","lib.vt.us","lib.va.us","lib.wa.us","lib.wi.us","lib.wy.us","pvt.k12.ma.us","chtr.k12.ma.us","paroch.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","net.vc","org.vc","gov.vc","mil.vc","edu.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","net.ws","org.ws","gov.ws","edu.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","公司.香港","教育.香港","政府.香港","個人.香港","網絡.香港","組織.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","пр.срб","орг.срб","обр.срб","од.срб","упр.срб","ак.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ศึกษา.ไทย","ธุรกิจ.ไทย","รัฐบาล.ไทย","ทหาร.ไทย","เน็ต.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","net.ye","mil.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","adac","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aws","axa","azure","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","bugatti","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","cbs","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","etisalat","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","guardian","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kinder","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","mutual","nab","nagoya","natura","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","northwesternmutual","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocher","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volkswagen","volvo","vote","voting","voto","voyage","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","诺基亚","食品","飞利浦","手机","ارامكو","العليان","اتصالات","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","cc.ua","inf.ua","ltd.ua","611.to","graphox.us","*.devcdnaccesso.com","adobeaemcloud.com","*.dev.adobeaemcloud.com","hlx.live","adobeaemcloud.net","hlx.page","hlx3.page","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","cloudfront.net","*.compute.amazonaws.com","*.compute-1.amazonaws.com","*.compute.amazonaws.com.cn","us-east-1.amazonaws.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com","*.elb.amazonaws.com.cn","awsglobalaccelerator.com","s3.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3.ap-south-1.amazonaws.com","s3.cn-north-1.amazonaws.com.cn","s3.ca-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3.eu-west-2.amazonaws.com","s3.eu-west-3.amazonaws.com","s3.us-east-2.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3-website.us-east-2.amazonaws.com","t3l3p0rt.net","tele.amune.org","apigee.io","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","backplaneapp.io","balena-devices.com","rs.ba","*.banzai.cloud","app.banzaicloud.io","*.backyards.banzaicloud.io","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","*.beget.app","betainabox.com","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","shop.brendly.rs","browsersafetymark.io","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","mycd.eu","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","ae.org","br.com","cn.com","com.de","com.se","de.com","eu.com","gb.net","hu.net","jp.net","jpn.com","mex.com","ru.com","sa.com","se.net","uk.com","uk.net","us.com","za.bz","za.com","ar.com","hu.com","kr.com","no.com","qc.com","uy.com","africa.com","gr.com","in.net","web.in","us.org","co.com","aus.basketball","nz.basketball","radio.am","radio.fm","c.la","certmgr.org","cx.ua","discourse.group","discourse.team","cleverapps.io","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","clickrising.net","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","cloudcontrolled.com","cloudcontrolapp.com","*.cloudera.site","pages.dev","trycloudflare.com","workers.dev","wnext.app","co.ca","*.otap.co","co.cz","c.cdn77.org","cdn77-ssl.net","r.cdn77.net","rsc.cdn77.org","ssl.origin.cdn77-secure.org","cloudns.asia","cloudns.biz","cloudns.club","cloudns.cc","cloudns.eu","cloudns.in","cloudns.info","cloudns.org","cloudns.pro","cloudns.pw","cloudns.us","cnpy.gdn","codeberg.page","co.nl","co.no","webhosting.be","hosting-cluster.nl","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dynamisches-dns.de","dnsupdater.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","realm.cz","*.cryptonomic.net","cupcake.is","curv.dev","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","cyon.link","cyon.site","fnwk.site","folionetwork.site","platform0.app","daplie.me","localhost.daplie.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","*.dapps.earth","*.bzz.dapps.earth","builtwithdark.com","demo.datadetect.com","instance.datadetect.com","edgestack.me","ddns5.com","debian.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","*.rss.my.id","*.diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","mydrobo.com","drud.io","drud.us","duckdns.org","bip.sh","bitbridge.net","dy.fi","tunk.org","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","dyndns.biz","dyndns.info","dyndns.org","dyndns.tv","at-band-camp.net","ath.cx","barrel-of-knowledge.info","barrell-of-knowledge.info","better-than.tv","blogdns.com","blogdns.net","blogdns.org","blogsite.org","boldlygoingnowhere.org","broke-it.net","buyshouses.net","cechire.com","dnsalias.com","dnsalias.net","dnsalias.org","dnsdojo.com","dnsdojo.net","dnsdojo.org","does-it.net","doesntexist.com","doesntexist.org","dontexist.com","dontexist.net","dontexist.org","doomdns.com","doomdns.org","dvrdns.org","dyn-o-saur.com","dynalias.com","dynalias.net","dynalias.org","dynathome.net","dyndns.ws","endofinternet.net","endofinternet.org","endoftheinternet.org","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","for-better.biz","for-more.biz","for-our.info","for-some.biz","for-the.biz","forgot.her.name","forgot.his.name","from-ak.com","from-al.com","from-ar.com","from-az.net","from-ca.com","from-co.net","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-la.net","from-ma.com","from-md.com","from-me.org","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-ny.net","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","ftpaccess.cc","fuettertdasnetz.de","game-host.org","game-server.cc","getmyip.com","gets-it.net","go.dyndns.org","gotdns.com","gotdns.org","groks-the.info","groks-this.info","ham-radio-op.net","here-for-more.info","hobby-site.com","hobby-site.org","home.dyndns.org","homedns.org","homeftp.net","homeftp.org","homeip.net","homelinux.com","homelinux.net","homelinux.org","homeunix.com","homeunix.net","homeunix.org","iamallama.com","in-the-band.net","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bruinsfan.org","is-a-bulls-fan.com","is-a-candidate.org","is-a-caterer.com","is-a-celticsfan.org","is-a-chef.com","is-a-chef.net","is-a-chef.org","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-geek.net","is-a-geek.org","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-knight.org","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-linux-user.org","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-patsfan.org","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-soxfan.org","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-by.us","is-certified.com","is-found.org","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-lost.org","is-not-certified.com","is-saved.org","is-slick.com","is-uberleet.com","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","is-with-theband.com","isa-geek.com","isa-geek.net","isa-geek.org","isa-hockeynut.com","issmarterthanyou.com","isteingeek.de","istmein.de","kicks-ass.net","kicks-ass.org","knowsitall.info","land-4-sale.us","lebtimnetz.de","leitungsen.de","likes-pie.com","likescandy.com","merseine.nu","mine.nu","misconfused.org","mypets.ws","myphotos.cc","neat-url.com","office-on-the.net","on-the-web.tv","podzone.net","podzone.org","readmyblog.org","saves-the-whales.com","scrapper-site.net","scrapping.cc","selfip.biz","selfip.com","selfip.info","selfip.net","selfip.org","sells-for-less.com","sells-for-u.com","sells-it.net","sellsyourhome.org","servebbs.com","servebbs.net","servebbs.org","serveftp.net","serveftp.org","servegame.org","shacknet.nu","simple-url.com","space-to-rent.com","stuff-4-sale.org","stuff-4-sale.us","teaches-yoga.com","thruhere.net","traeumtgerade.de","webhop.biz","webhop.info","webhop.net","webhop.org","worse-than.tv","writesthisblog.com","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyndns1.de","dyn-ip24.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","definima.net","definima.io","ondigitalocean.app","*.digitaloceanspaces.com","bci.dnstrace.pro","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","blogsite.xyz","dynv6.net","e4.cz","eero.online","eero-stage.online","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","onred.one","staging.onred.one","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","mc.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","paris.eu.org","pl.eu.org","pt.eu.org","q-a.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","onfabrica.com","apps.fbsbx.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-terrarium.com","fastlylb.net","map.fastlylb.net","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","conn.uk","copro.uk","hosp.uk","mydobiss.com","fh-muenster.io","filegear.me","filegear-au.me","filegear-de.me","filegear-gb.me","filegear-ie.me","filegear-jp.me","filegear-sg.me","firebaseapp.com","fireweb.app","flap.id","onflashdrive.app","fldrv.com","fly.dev","edgeapp.net","shw.io","flynnhosting.net","forgeblocks.com","id.forgerock.io","framer.app","framercanvas.com","*.frusky.de","ravpage.co.il","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","wien.funkfeuer.at","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","campaign.gov.uk","service.gov.uk","api.gov.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","ghost.io","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","cloudapps.digital","london.cloudapps.digital","pymnt.uk","homeoffice.gov.uk","ro.im","goip.de","run.app","a.run.app","web.app","*.0emm.com","appspot.com","*.r.appspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","publishproxy.com","withgoogle.com","withyoutube.com","*.gateway.dev","cloud.goog","translate.goog","*.usercontent.goog","cloudfunctions.net","blogspot.ae","blogspot.al","blogspot.am","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.co.at","blogspot.co.id","blogspot.co.il","blogspot.co.ke","blogspot.co.nz","blogspot.co.uk","blogspot.co.za","blogspot.com","blogspot.com.ar","blogspot.com.au","blogspot.com.br","blogspot.com.by","blogspot.com.co","blogspot.com.cy","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.com.mt","blogspot.com.ng","blogspot.com.tr","blogspot.com.uy","blogspot.cv","blogspot.cz","blogspot.de","blogspot.dk","blogspot.fi","blogspot.fr","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.ie","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.mr","blogspot.mx","blogspot.my","blogspot.nl","blogspot.no","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.tw","blogspot.ug","blogspot.vn","goupile.fr","gov.nl","awsmppl.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","hs.zone","hs.run","hashbang.sh","hasura.app","hasura-app.io","pages.it.hs-heilbronn.de","hepforge.org","herokuapp.com","herokussl.com","ravendb.cloud","myravendb.com","ravendb.community","ravendb.me","development.run","ravendb.run","homesklep.pl","secaas.hk","hoplix.shop","orx.biz","biz.gl","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","edu.scot","sch.so","hostyhosting.io","häkkinen.fi","*.moonscale.io","moonscale.net","iki.fi","ibxos.it","iliadboxos.it","impertrixcdn.com","impertrix.com","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-dsl.net","in-dsl.org","in-vpn.de","in-vpn.net","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","iopsys.se","ipifony.net","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","iobb.net","mel.cloudlets.com.au","cloud.interhostsolutions.be","users.scale.virtualcloud.com.br","mycloud.by","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","amscompute.com","clicketcloud.com","dopaas.com","hidora.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","kilatiron.com","paas.massivegrid.com","jed.wafaicloud.com","lon.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","cloud-fr1.unispace.io","jc.neen.it","cloud.jelastic.open.tim.it","jcloud.kz","upaas.kazteleport.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","faststacks.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","jelastic.tsukaeru.net","sdscloud.pl","unicloud.pl","mircloud.ru","jelastic.regruhosting.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","*.triton.zone","*.cns.joyent.com","js.org","kaas.gg","khplay.nl","ktistory.com","kapsi.fi","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","oya.to","kuleuven.cloud","ezproxy.kuleuven.be","co.krd","edu.krd","krellian.net","webthings.io","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","app.lmpm.com","linkyard.cloud","linkyard-cloud.ch","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","*.user.localcert.dev","localzone.xyz","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","servers.run","lohmus.me","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.co.uk","barsyonline.co.uk","barsycenter.com","barsyonline.com","barsy.club","barsy.de","barsy.eu","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.shop","barsy.site","barsy.support","barsy.uk","*.magentosite.cloud","mayfirst.info","mayfirst.org","hb.cldmail.ru","cn.vu","mazeplay.com","mcpe.me","mcdir.me","mcdir.ru","mcpre.ru","vps.mcdir.ru","mediatech.by","mediatech.dev","hra.health","miniserver.com","memset.net","messerli.app","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azurewebsites.net","azure-mobile.net","cloudapp.net","azurestaticapps.net","1.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","csx.cc","mintere.site","forte.id","mozilla-iot.org","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","customer.mythic-beasts.com","caracal.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","pony.club","of.fashion","in.london","of.london","from.marketing","with.marketing","for.men","repair.men","and.mom","for.mom","for.one","under.one","for.sale","that.win","from.work","to.work","cloud.nospamproxy.com","netlify.app","4u.com","ngrok.io","nh-serv.co.uk","nfshost.com","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","dnsking.ch","mypi.co","n4t.co","001www.com","ddnslive.com","myiphost.com","forumz.info","16-b.it","32-b.it","64-b.it","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","crafting.xyz","zapto.xyz","nsupdate.info","nerdpol.ovh","blogsyte.com","brasilia.me","cable-modem.org","ciscofreak.com","collegefan.org","couchpotatofries.org","damnserver.com","ddns.me","ditchyourip.com","dnsfor.me","dnsiskinky.com","dvrcam.info","dynns.com","eating-organic.net","fantasyleague.cc","geekgalaxy.com","golffan.us","health-carereform.com","homesecuritymac.com","homesecuritypc.com","hopto.me","ilovecollege.info","loginto.me","mlbfan.org","mmafan.biz","myactivedirectory.com","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.com","mysecuritycamera.net","mysecuritycamera.org","net-freaks.com","nflfan.org","nhlfan.net","no-ip.ca","no-ip.co.uk","no-ip.net","noip.us","onthewifi.com","pgafan.net","point2this.com","pointto.us","privatizehealthinsurance.net","quicksytes.com","read-books.org","securitytactics.com","serveexchange.com","servehumour.com","servep2p.com","servesarcasm.com","stufftoread.com","ufcfan.org","unusualperson.com","workisboring.com","3utilities.com","bounceme.net","ddns.net","ddnsking.com","gotdns.ch","hopto.org","myftp.biz","myftp.org","myvnc.com","no-ip.biz","no-ip.info","no-ip.org","noip.me","redirectme.net","servebeer.com","serveblog.net","servecounterstrike.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","serveirc.com","serveminecraft.net","servemp3.com","servepics.com","servequake.com","sytes.net","webhop.me","zapto.org","stage.nodeart.io","pcloud.host","nyc.mn","static.observableusercontent.com","cya.gg","omg.lol","cloudycluster.net","omniwe.site","service.one","nid.io","opensocial.site","opencraft.hosting","orsites.com","operaunite.com","tech.orange","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.webpaas.ovh.net","*.hosting.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagefrontapp.com","pagexl.com","*.paywhirl.com","bar0.net","bar1.net","bar2.net","rdv.to","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","pantheonsite.io","gotpantheon.com","mypep.link","perspecta.cloud","lk3.ru","on-web.fr","bc.platform.sh","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pdns.page","plesk.page","pleskns.com","dyn53.io","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","prvcy.page","*.dweb.link","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qoto.io","qualifioapp.com","qbuser.com","cloudsite.builders","instances.spawn.cc","instantcloud.cn","ras.ru","qa2.com","qcx.io","*.sys.qcx.io","dev-myqnapcloud.com","alpha-myqnapcloud.com","myqnapcloud.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","g.vbrplsbx.io","*.on-k3s.io","*.on-rancher.cloud","*.on-rio.io","readthedocs.io","rhcloud.com","app.render.com","onrender.com","repl.co","id.repl.co","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","wellbeingzone.eu","wellbeingzone.co.uk","adimo.co.uk","itcouldbewor.se","git-pages.rit.edu","rocky.page","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","sandcats.io","logoip.de","logoip.com","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","senseering.net","minisite.ms","magnet.page","biz.ua","co.ua","pp.ua","shiftcrypto.dev","shiftcrypto.io","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","bounty-full.com","alpha.bounty-full.com","beta.bounty-full.com","small-web.org","vp4.me","try-snowplow.com","srht.site","stackhero-network.com","musician.io","novecore.site","static.land","dev.static.land","sites.static.land","storebase.store","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","playstation-cloud.com","apps.lair.io","*.stolos.io","spacekit.io","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","api.stdlib.com","storj.farm","utwente.io","soc.srcf.net","user.srcf.net","temp-dns.com","supabase.co","supabase.in","supabase.net","su.paba.se","*.s5y.io","*.sensiosite.cloud","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","vpnplus.to","direct.quickconnect.to","tabitorder.co.il","taifun-dns.de","beta.tailscale.net","ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","gwiddle.co.uk","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","cust.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.dev.thingdust.io","reservd.disrec.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","bloxcms.com","townnews-staging.com","tbits.me","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","*.transurl.nl","site.transip.me","tuxfamily.org","dd-dns.de","diskstation.eu","diskstation.org","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","typedream.app","pro.typeform.com","uber.space","*.uberspace.de","hk.com","hk.org","ltd.hk","inc.hk","name.pm","sch.tf","biz.wf","sch.wf","org.yt","virtualuser.de","virtual-user.de","upli.io","urown.cloud","dnsupdate.info","lib.de.us","2038.io","vercel.app","vercel.dev","now.sh","router.management","v-info.info","voorloper.cloud","neko.am","nyaa.am","be.ax","cat.ax","es.ax","eu.ax","gg.ax","mc.ax","us.ax","xy.ax","nl.ci","xx.gl","app.gp","blog.gt","de.gt","to.gt","be.gy","cc.hn","blog.kg","io.kg","jp.kg","tv.kg","uk.kg","us.kg","de.ls","at.md","de.md","jp.md","to.md","indie.porn","vxl.sh","ch.tc","me.tc","we.tc","nyan.to","at.vg","blog.vu","dev.vu","me.vu","v.ua","*.vultrobjects.com","wafflecell.com","*.webhare.dev","reserve-online.net","reserve-online.com","bookonline.app","hotelwithflight.com","wedeploy.io","wedeploy.me","wedeploy.sh","remotewd.com","pages.wiardweb.com","wmflabs.org","toolforge.org","wmcloud.org","panel.gg","daemon.panel.gg","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","wixsite.com","editorx.io","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","ybo.faith","yombo.me","homelink.one","ybo.party","ybo.review","ybo.science","ybo.trade","ynh.fr","nohost.me","noho.st","za.net","za.org","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"]')},function(e,t,i){"use strict";
893
+ e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,t,i){"use strict";var r=i(407);t.fromCallback=function(e,t){if(void 0===e){var i=new Promise((function(t,i){e=function(e,r){e?i(e):t(r)}}));e[void 0!==t?t:"promise"]=i}else if("function"!=typeof e)throw new TypeError("Callback must be a function");return e},t.fromPromise=function(e,t){if(void 0===t)return e;e.then((function(e){r(()=>t(null,e))})).catch((function(e){r(()=>t(e))}))}},function(e,t){e.exports=process.nextTick.bind(process)},function(e,t,i){var r=i(88),a=i(34),s=(i=i(114),require),n=process.config&&process.config.variables||{},o=!!process.env.PREBUILDS_ONLY,c=process.versions.modules,u=process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE||"undefined"!=typeof window&&window.process&&"renderer"===window.process.type?"electron":process.versions&&process.versions.nw?"node-webkit":"node",h=process.env.npm_config_arch||i.arch(),l=process.env.npm_config_platform||i.platform(),p=process.env.LIBC||("linux"===l&&r.existsSync("/etc/alpine-release")?"musl":"glibc"),d=process.env.ARM_VERSION||("arm64"===h?"8":n.arm_version)||"",f=(process.versions.uv||"").split(".")[0];function m(e){return s(m.path(e))}function g(e){try{return r.readdirSync(e)}catch(e){return[]}}function v(e,t){return(t=g(e).filter(t))[0]&&a.join(e,t[0])}function y(e){return/\.node$/.test(e)}function b(e){if(2===(i=e.split("-")).length){var t=i[0],i=i[1].split("+");if(t&&i.length&&i.every(Boolean))return{name:e,platform:t,architectures:i}}}function w(e,t){return function(i){return null!=i&&i.platform===e&&i.architectures.includes(t)}}function x(e,t){return e.architectures.length-t.architectures.length}function k(e){var t=e.split("."),i={file:e,specificity:0};if("node"===t.pop()){for(var r=0;r<t.length;r++){var a=t[r];if("node"===a||"electron"===a||"node-webkit"===a)i.runtime=a;else if("napi"===a)i.napi=!0;else if("abi"===a.slice(0,3))i.abi=a.slice(3);else if("uv"===a.slice(0,2))i.uv=a.slice(2);else if("armv"===a.slice(0,4))i.armv=a.slice(4);else{if("glibc"!==a&&"musl"!==a)continue;i.libc=a}i.specificity++}return i}}function S(e,t){return function(i){var r;return null!=i&&!!(i.runtime===e||"node"===(r=i).runtime&&r.napi)&&!(i.abi!==t&&!i.napi||i.uv&&i.uv!==f||i.armv&&i.armv!==d||i.libc&&i.libc!==p)}}function _(e){return function(t,i){return t.runtime!==i.runtime?t.runtime===e?-1:1:t.abi!==i.abi?t.abi?-1:1:t.specificity!==i.specificity?t.specificity>i.specificity?-1:1:0}}(e.exports=m).path=function(e){e=a.resolve(e||".");try{var t=s(a.join(e,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[t+"_PREBUILD"]&&(e=process.env[t+"_PREBUILD"])}catch(e){}if(!o){if(t=v(a.join(e,"build/Release"),y))return t;if(t=v(a.join(e,"build/Debug"),y))return t}if(t=i(e))return t;if(t=i(a.dirname(process.execPath)))return t;throw t=["platform="+l,"arch="+h,"runtime="+u,"abi="+c,"uv="+f,d?"armv="+d:"","libc="+p,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"","webpack=true"].filter(Boolean).join(" "),new Error("No native build was found for "+t+"\n loaded from: "+e+"\n");function i(e){var t=g(a.join(e,"prebuilds")).map(b).filter(w(l,h)).sort(x)[0];return(t=t&&g(e=a.join(e,"prebuilds",t.name)).map(k).filter(S(u,c)).sort(_(u))[0])?a.join(e,t.file):void 0}},m.parseTags=k,m.matchTags=S,m.compareTags=_,m.parseTuple=b,m.matchTuple=w,m.compareTuples=x},function(e,t,i){"use strict";var r=i(9);const a=i(168).AbstractChainedBatch,s=i(170);function n(e){a.call(this,e),this.context=s.batch_init(e.context)}n.prototype._put=function(e,t){s.batch_put(this.context,e,t)},n.prototype._del=function(e){s.batch_del(this.context,e)},n.prototype._clear=function(){s.batch_clear(this.context)},n.prototype._write=function(e,t){s.batch_write(this.context,e,t)},r.inherits(n,a),e.exports=n},function(e,t,i){"use strict";var r=i(9);const a=i(168).AbstractIterator,s=i(170);function n(e,t){a.call(this,e),this.context=s.iterator_init(e.context,t),this.cache=null,this.finished=!1}r.inherits(n,a),n.prototype._seek=function(e){if(0===e.length)throw new Error("cannot seek() to an empty target");this.cache=null,s.iterator_seek(this.context,e),this.finished=!1},n.prototype._next=function(e){return this.cache&&this.cache.length?process.nextTick(e,null,this.cache.pop(),this.cache.pop()):this.finished?process.nextTick(e):s.iterator_next(this.context,(t,i,r)=>{if(t)return e(t);this.cache=i,this.finished=r,this._next(e)}),this},n.prototype._end=function(e){delete this.cache,s.iterator_end(this.context,e)},e.exports=n},function(e,t,i){"use strict";(function(e){var t=i(412).getNewLibraryCopy(),r=i(443),a=i(453);try{var s=a(i.c,(function(){return i(331)}),(function(){i(266)}),e)}catch(e){throw a=i(114).EOL,console.error(a+"###"+a+'### The "request" library is not installed automatically anymore.'+a+'### But required by "request-promise".'+a+"###"+a+"### npm install request --save"+a+"###"+a),e}t.config({cancellation:!0}),r({request:s,PromiseImpl:t,expose:["then","catch","finally","cancel","promise"],constructorMixin:function(e,t,i){var r=this;i((function(){r.abort()}))}}),s.bindCLS=function(){throw new Error("CLS support was dropped. To get it back read: https://github.com/request/request-promise/wiki/Getting-Back-Support-for-Continuation-Local-Storage")},e.exports=s}).call(this,i(111)(e))},function(e,t,i){"use strict";var r;"undefined"!=typeof Promise&&(r=Promise);var a=i(413)();a.noConflict=function(){try{Promise===a&&(Promise=r)}catch(e){}return a},e.exports=a},function(e,t,i){"use strict";e.exports=function(){function t(){return new v("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")}function r(){return new C.PromiseInspection(this._target())}function a(e){return C.reject(new v(e))}function s(){}function n(){return{domain:h(),async:null}}function o(){return{domain:h(),async:new l("Bluebird::Promise")}}var c={},u=i(11),h=(u.setReflectHandler(r),function(){var e=process.domain;return void 0===e?null:e}),l=u.isNode&&u.nodeSupportsAsyncResource?i(258).AsyncResource:null,p=u.isNode?n:function(){return null},d=(u.notEnumerableProp(C,"_getContext",p),i(76)),f=i(414),m=new f,g=(d.defineProperty(C,"_async",{value:m}),i(65)),v=C.TypeError=g.TypeError,y=(C.RangeError=g.RangeError,C.CancellationError=g.CancellationError),b=(C.TimeoutError=g.TimeoutError,C.OperationalError=g.OperationalError,C.RejectionError=g.OperationalError,C.AggregateError=g.AggregateError,function(){}),w={},x={},k=i(417)(C,b),S=i(418)(C,b,k,a,s),_=(g=i(419)(C)).create,E=i(420)(C,g,(function(){p=o,u.notEnumerableProp(C,"_getContext",o)}),(function(){p=n,u.notEnumerableProp(C,"_getContext",n)})),j=(E.CapturedTrace,i(421)(C,k,x)),A=i(259)(x),R=i(260),I=u.errorObj,O=u.tryCatch;function C(e){if(e!==b){var t=e;if(null==this||this.constructor!==C)throw new v("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n");if("function"!=typeof t)throw new v("expecting a function but got "+u.classString(t))}this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(e),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function P(e){this.promise._resolveCallback(e)}function T(e){this.promise._rejectCallback(e,!1)}function B(e){var t=new C(b);t._fulfillmentHandler0=e,t._rejectionHandler0=e,t._promise0=e,t._receiver0=e}return C.prototype.toString=function(){return"[object Promise]"},C.prototype.caught=C.prototype.catch=function(e){var t=arguments.length;if(1<t){for(var i=new Array(t-1),r=0,s=0;s<t-1;++s){var n=arguments[s];if(!u.isObject(n))return a("Catch statement predicate: expecting an object but got "+u.classString(n));i[r++]=n}if(i.length=r,"function"!=typeof(e=arguments[s]))throw new v("The last argument to .catch() must be a function, got "+u.toString(e));return this.then(void 0,A(i,e,this))}return this.then(void 0,e)},C.prototype.reflect=function(){return this._then(r,r,void 0,this,void 0)},C.prototype.then=function(e,t){var i;return E.warnings()&&0<arguments.length&&"function"!=typeof e&&"function"!=typeof t&&(i=".then() only accepts functions but was passed: "+u.classString(e),1<arguments.length&&(i+=", "+u.classString(t)),this._warn(i)),this._then(e,t,void 0,void 0,void 0)},C.prototype.done=function(e,t){this._then(e,t,void 0,void 0,void 0)._setIsFinal()},C.prototype.spread=function(e){return"function"!=typeof e?a("expecting a function but got "+u.classString(e)):this.all()._then(e,void 0,void 0,w,void 0)},C.prototype.toJSON=function(){var e={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(e.fulfillmentValue=this.value(),e.isFulfilled=!0):this.isRejected()&&(e.rejectionReason=this.reason(),e.isRejected=!0),e},C.prototype.all=function(){return 0<arguments.length&&this._warn(".all() was passed arguments but it does not take any"),new S(this).promise()},C.prototype.error=function(e){return this.caught(u.originatesFromRejection,e)},C.getNewLibraryCopy=e.exports,C.is=function(e){return e instanceof C},C.fromNode=C.fromCallback=function(e){var t=new C(b),i=(t._captureStackTrace(),1<arguments.length&&!!Object(arguments[1]).multiArgs);return(e=O(e)(R(t,i)))===I&&t._rejectCallback(e.e,!0),t._isFateSealed()||t._setAsyncGuaranteed(),t},C.all=function(e){return new S(e).promise()},C.resolve=C.fulfilled=C.cast=function(e){var t=k(e);return t instanceof C||((t=new C(b))._captureStackTrace(),t._setFulfilled(),t._rejectionHandler0=e),t},C.reject=C.rejected=function(e){var t=new C(b);return t._captureStackTrace(),t._rejectCallback(e,!0),t},C.setScheduler=function(e){if("function"!=typeof e)throw new v("expecting a function but got "+u.classString(e));return m.setScheduler(e)},C.prototype._then=function(e,t,i,r,a){a=(l=void 0!==a)?a:new C(b);var s,n,o,c=this._target(),h=c._bitField,l=(l||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&h)?this._boundValue():c===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a)),p());return 0!=(50397184&h)?(o=c._settlePromiseCtx,0!=(33554432&h)?(n=c._rejectionHandler0,s=e):0!=(16777216&h)?(n=c._fulfillmentHandler0,s=t,c._unsetRejectionIsUnhandled()):(o=c._settlePromiseLateCancellationObserver,n=new y("late cancellation observer"),c._attachExtraTrace(n),s=t),m.invoke(o,c,{handler:u.contextBind(l,s),promise:a,receiver:r,value:n})):c._addCallbacks(e,t,a,r,l),a},C.prototype._length=function(){return 65535&this._bitField},C.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},C.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},C.prototype._setLength=function(e){this._bitField=-65536&this._bitField|65535&e},C.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},C.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},C.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},C.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},C.prototype._isFinal=function(){return 0<(4194304&this._bitField)},C.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},C.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},C.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},C.prototype._setAsyncGuaranteed=function(){var e;m.hasCustomScheduler()||(e=this._bitField,this._bitField=e|(536870912&e)>>2^134217728)},C.prototype._setNoAsyncGuarantee=function(){this._bitField=-134217729&(536870912|this._bitField)},C.prototype._receiverAt=function(e){if((e=0===e?this._receiver0:this[4*e-4+3])!==c)return void 0===e&&this._isBound()?this._boundValue():e},C.prototype._promiseAt=function(e){return this[4*e-4+2]},C.prototype._fulfillmentHandlerAt=function(e){return this[4*e-4]},C.prototype._rejectionHandlerAt=function(e){return this[4*e-4+1]},C.prototype._boundValue=function(){},C.prototype._migrateCallback0=function(e){e._bitField;var t=e._fulfillmentHandler0,i=e._rejectionHandler0,r=e._promise0;e=e._receiverAt(0);this._addCallbacks(t,i,r,e=void 0===e?c:e,null)},C.prototype._migrateCallbackAt=function(e,t){var i=e._fulfillmentHandlerAt(t),r=e._rejectionHandlerAt(t),a=e._promiseAt(t);e=e._receiverAt(t);this._addCallbacks(i,r,a,e=void 0===e?c:e,null)},C.prototype._addCallbacks=function(e,t,i,r,a){var s,n=this._length();return 65531<=n&&this._setLength(n=0),0===n?(this._promise0=i,this._receiver0=r,"function"==typeof e&&(this._fulfillmentHandler0=u.contextBind(a,e)),"function"==typeof t&&(this._rejectionHandler0=u.contextBind(a,t))):(this[2+(s=4*n-4)]=i,this[3+s]=r,"function"==typeof e&&(this[s]=u.contextBind(a,e)),"function"==typeof t&&(this[1+s]=u.contextBind(a,t))),this._setLength(n+1),n},C.prototype._proxy=function(e,t){this._addCallbacks(void 0,void 0,t,e,null)},C.prototype._resolveCallback=function(e,i){if(0==(117506048&this._bitField)){if(e===this)return this._rejectCallback(t(),!1);var r=k(e,this);if(!(r instanceof C))return this._fulfill(e);i&&this._propagateFrom(r,2);var a=r._target();if(a===this)this._reject(t());else if(0==(50397184&(e=a._bitField))){var s=this._length();0<s&&a._migrateCallback0(this);for(var n=1;n<s;++n)a._migrateCallbackAt(this,n);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else 0!=(33554432&e)?this._fulfill(a._value()):0!=(16777216&e)?this._reject(a._reason()):(i=new y("late cancellation observer"),a._attachExtraTrace(i),this._reject(i))}},C.prototype._rejectCallback=function(e,t,i){var r=u.ensureErrorObject(e),a=r===e;a||i||!E.warnings()||(i="a promise was rejected with a non-error: "+u.classString(e),this._warn(i,!0)),this._attachExtraTrace(r,!!t&&a),this._reject(e)},C.prototype._resolveFromExecutor=function(e){var t,i;e!==b&&((t=this)._captureStackTrace(),this._pushContext(),i=!0,e=this._execute(e,(function(e){t._resolveCallback(e)}),(function(e){t._rejectCallback(e,i)})),i=!1,this._popContext(),void 0!==e)&&t._rejectCallback(e,!0)},C.prototype._settlePromiseFromHandler=function(e,t,i,r){var a;0==(65536&r._bitField)&&(r._pushContext(),t===w?i&&"number"==typeof i.length?a=O(e).apply(this._boundValue(),i):(a=I).e=new v("cannot .spread() a non-array: "+u.classString(i)):a=O(e).call(t,i),e=r._popContext(),0==(65536&r._bitField))&&(a===x?r._reject(i):a===I?r._rejectCallback(a.e,!1):(E.checkForgottenReturns(a,e,"",r,this),r._resolveCallback(a)))},C.prototype._target=function(){for(var e=this;e._isFollowing();)e=e._followee();return e},C.prototype._followee=function(){return this._rejectionHandler0},C.prototype._setFollowee=function(e){this._rejectionHandler0=e},C.prototype._settlePromise=function(e,t,i,a){var n=e instanceof C,o=this._bitField,c=0!=(134217728&o);0!=(65536&o)?(n&&e._invokeInternalOnCancel(),i instanceof j&&i.isFinallyHandler()?(i.cancelPromise=e,O(t).call(i,a)===I&&e._reject(I.e)):t===r?e._fulfill(r.call(i)):i instanceof s?i._promiseCancelled(e):n||e instanceof S?e._cancel():i.cancel()):"function"==typeof t?n?(c&&e._setAsyncGuaranteed(),this._settlePromiseFromHandler(t,i,a,e)):t.call(i,a,e):i instanceof s?i._isResolved()||(0!=(33554432&o)?i._promiseFulfilled(a,e):i._promiseRejected(a,e)):n&&(c&&e._setAsyncGuaranteed(),0!=(33554432&o)?e._fulfill(a):e._reject(a))},C.prototype._settlePromiseLateCancellationObserver=function(e){var t=e.handler,i=e.promise,r=e.receiver;e=e.value;"function"==typeof t?i instanceof C?this._settlePromiseFromHandler(t,r,e,i):t.call(r,e,i):i instanceof C&&i._reject(e)},C.prototype._settlePromiseCtx=function(e){this._settlePromise(e.promise,e.handler,e.receiver,e.value)},C.prototype._settlePromise0=function(e,t,i){var r=this._promise0,a=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,e,a,t)},C.prototype._clearCallbackDataAtIndex=function(e){this[2+(e=4*e-4)]=this[3+e]=this[e]=this[1+e]=void 0},C.prototype._fulfill=function(e){var i,r=this._bitField;if(!((117506048&r)>>>16)){if(e===this)return i=t(),this._attachExtraTrace(i),this._reject(i);this._setFulfilled(),this._rejectionHandler0=e,0<(65535&r)&&(0!=(134217728&r)?this._settlePromises():m.settlePromises(this),this._dereferenceTrace())}},C.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=e,this._isFinal())return m.fatalError(e,u.isNode);0<(65535&t)?m.settlePromises(this):this._ensurePossibleRejectionHandled()}},C.prototype._fulfillPromises=function(e,t){for(var i=1;i<e;i++){var r=this._fulfillmentHandlerAt(i),a=this._promiseAt(i),s=this._receiverAt(i);this._clearCallbackDataAtIndex(i),this._settlePromise(a,r,s,t)}},C.prototype._rejectPromises=function(e,t){for(var i=1;i<e;i++){var r=this._rejectionHandlerAt(i),a=this._promiseAt(i),s=this._receiverAt(i);this._clearCallbackDataAtIndex(i),this._settlePromise(a,r,s,t)}},C.prototype._settlePromises=function(){var e,t=this._bitField,i=65535&t;0<i&&(0!=(16842752&t)?(e=this._fulfillmentHandler0,this._settlePromise0(this._rejectionHandler0,e,t),this._rejectPromises(i,e)):(e=this._rejectionHandler0,this._settlePromise0(this._fulfillmentHandler0,e,t),this._fulfillPromises(i,e)),this._setLength(0)),this._clearCancellationData()},C.prototype._settledValue=function(){var e=this._bitField;return 0!=(33554432&e)?this._rejectionHandler0:0!=(16777216&e)?this._fulfillmentHandler0:void 0},"undefined"!=typeof Symbol&&Symbol.toStringTag&&d.defineProperty(C.prototype,Symbol.toStringTag,{get:function(){return"Object"}}),C.defer=C.pending=function(){return E.deprecated("Promise.defer","new Promise"),{promise:new C(b),resolve:P,reject:T}},u.notEnumerableProp(C,"_makeSelfResolutionError",t),i(422)(C,b,k,a,E),i(423)(C,b,k,E),i(424)(C,S,a,E),i(425)(C),i(426)(C),i(427)(C,S,k,b,m),(C.Promise=C).version="3.7.2",i(428)(C),i(429)(C,a,b,k,s,E),i(430)(C,S,a,k,b,E),i(431)(C),i(432)(C,b),i(433)(C,S,k,a),i(434)(C,b,k,a),i(435)(C,S,a,k,b,E),i(436)(C,S,E),i(437)(C,S,a),i(438)(C,b,E),i(439)(C,a,k,_,b,E),i(440)(C),i(441)(C,b),i(442)(C,b),u.toFastProperties(C),u.toFastProperties(C.prototype),B({a:1}),B({b:2}),B({c:3}),B(1),B((function(){})),B(void 0),B(!1),B(new C(b)),E.setBounds(f.firstLineError,u.lastLineError),C}},function(e,t,i){"use strict";var r;try{throw new Error}catch(e){r=e}var a=i(415),s=i(416);function n(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new s(16),this._normalQueue=new s(16),this._haveDrainedQueues=!1;var e=this;this.drainQueues=function(){e._drainQueues()},this._schedule=a}function o(e){for(;0<e.length();){t=r=i=void 0;var t,i=e,r=i.shift();"function"!=typeof r?r._settlePromises():(t=i.shift(),i=i.shift(),r.call(t,i))}}n.prototype.setScheduler=function(e){var t=this._schedule;return this._schedule=e,this._customScheduler=!0,t},n.prototype.hasCustomScheduler=function(){return this._customScheduler},n.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},n.prototype.fatalError=function(e,t){t?(process.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n"),process.exit(2)):this.throwLater(e)},n.prototype.throwLater=function(e,t){if(1===arguments.length&&(t=e,e=function(){throw t}),"undefined"!=typeof setTimeout)setTimeout((function(){e(t)}),0);else try{this._schedule((function(){e(t)}))}catch(e){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},n.prototype.invokeLater=function(e,t,i){this._lateQueue.push(e,t,i),this._queueTick()},n.prototype.invoke=function(e,t,i){this._normalQueue.push(e,t,i),this._queueTick()},n.prototype.settlePromises=function(e){this._normalQueue._pushOne(e),this._queueTick()},n.prototype._drainQueues=function(){o(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,o(this._lateQueue)},n.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},n.prototype._reset=function(){this._isTickUsed=!1},e.exports=n,e.exports.firstLineError=r},function(e,t,i){"use strict";var r,a,s,n=(i=i(11)).getNativePromise();i=i.isNode&&"undefined"==typeof MutationObserver?(r=global.setImmediate,a=process.nextTick,i.isRecentNode?function(e){r.call(global,e)}:function(e){a.call(process,e)}):"function"==typeof n&&"function"==typeof n.resolve?(s=n.resolve(),function(e){s.then(e)}):"undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)||!("classList"in document.documentElement)?"undefined"!=typeof setImmediate?function(e){setImmediate(e)}:"undefined"!=typeof setTimeout?function(e){setTimeout(e,0)}:function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}:function(){var e=document.createElement("div"),t={attributes:!0},i=!1,r=document.createElement("div");return new MutationObserver((function(){e.classList.toggle("foo"),i=!1})).observe(r,t),function(a){var s=new MutationObserver((function(){s.disconnect(),a()}));s.observe(e,t),i||(i=!0,r.classList.toggle("foo"))}}(),e.exports=i},function(e,t,i){"use strict";function r(e){this._capacity=e,this._length=0,this._front=0}r.prototype._willBeOverCapacity=function(e){return this._capacity<e},r.prototype._pushOne=function(e){var t=this.length();this[(this._checkCapacity(t+1),this._front+t&this._capacity-1)]=e,this._length=t+1},r.prototype.push=function(e,t,i){var r,a,s=this.length()+3;this._willBeOverCapacity(s)?(this._pushOne(e),this._pushOne(t),this._pushOne(i)):(r=this._front+s-3,this._checkCapacity(s),this[r&(a=this._capacity-1)]=e,this[1+r&a]=t,this[2+r&a]=i,this._length=s)},r.prototype.shift=function(){var e=this._front,t=this[e];return this[e]=void 0,this._front=e+1&this._capacity-1,this._length--,t},r.prototype.length=function(){return this._length},r.prototype._checkCapacity=function(e){this._capacity<e&&this._resizeTo(this._capacity<<1)},r.prototype._resizeTo=function(e){var t=this._capacity;this._capacity=e;for(var i=t,r=e=this._front+this._length&t-1,a=0;a<r;++a)this[a+i]=this[a+0],this[a+0]=void 0},e.exports=r},function(e,t,i){"use strict";e.exports=function(e,t){var r=i(11),a=r.errorObj,s=r.isObject,n={}.hasOwnProperty;return function(i,o){if(s(i)){if(i instanceof e)return i;var c,u,h,l,p=function(e){try{return e.then}catch(e){return a.e=e,a}}(i);if(p===a)return o&&o._pushContext(),c=e.reject(p.e),o&&o._popContext(),c;if("function"==typeof p)return function(e){try{return n.call(e,"_promise0")}catch(e){}}(i)?(c=new e(t),i._then(c._fulfill,c._reject,void 0,c,null),c):(c=i,p=p,o=o,h=u=new e(t),o&&o._pushContext(),u._captureStackTrace(),o&&o._popContext(),l=!0,o=r.tryCatch(p).call(c,(function(e){u&&(u._resolveCallback(e),u=null)}),(function(e){u&&(u._rejectCallback(e,l,!0),u=null)})),l=!1,u&&o===a&&(u._rejectCallback(o.e,!0,!0),u=null),h)}return i}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s){var n=i(11);function o(i){var r=this._promise=new e(t);i instanceof e&&(r._propagateFrom(i,3),i.suppressUnhandledRejections()),r._setOnCancel(this),this._values=i,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return n.isArray,n.inherits(o,s),o.prototype.length=function(){return this._length},o.prototype.promise=function(){return this._promise},o.prototype._init=function t(i,s){if((o=r(this._values,this._promise))instanceof e){var o,c=(o=o._target())._bitField;if(this._values=o,0==(50397184&c))return this._promise._setAsyncGuaranteed(),o._then(t,this._reject,void 0,this,s);if(0==(33554432&c))return 0!=(16777216&c)?this._reject(o._reason()):this._cancel();o=o._value()}null===(o=n.asArray(o))?(c=a("expecting an array or an iterable object but got "+n.classString(o)).reason(),this._promise._rejectCallback(c,!1)):0===o.length?-5===s?this._resolveEmptyArray():this._resolve(function(e){switch(e){case-2:return[];case-3:return{};case-6:return new Map}}(s)):this._iterate(o)},o.prototype._iterate=function(t){for(var i=this.getActualLength(t.length),a=(this._length=i,this._values=this.shouldCopyValues()?new Array(i):this._values,this._promise),s=!1,n=null,o=0;o<i;++o){var c=r(t[o],a);n=c instanceof e?(c=c._target())._bitField:null;s?null!==n&&c.suppressUnhandledRejections():null!==n?0==(50397184&n)?(c._proxy(this,o),this._values[o]=c):s=0!=(33554432&n)?this._promiseFulfilled(c._value(),o):0!=(16777216&n)?this._promiseRejected(c._reason(),o):this._promiseCancelled(o):s=this._promiseFulfilled(c,o)}s||a._setAsyncGuaranteed()},o.prototype._isResolved=function(){return null===this._values},o.prototype._resolve=function(e){this._values=null,this._promise._fulfill(e)},o.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},o.prototype._reject=function(e){this._values=null,this._promise._rejectCallback(e,!1)},o.prototype._promiseFulfilled=function(e,t){return this._values[t]=e,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},o.prototype._promiseCancelled=function(){return this._cancel(),!0},o.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},o.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var i=0;i<t.length;++i)t[i]instanceof e&&t[i].cancel()}},o.prototype.shouldCopyValues=function(){return!0},o.prototype.getActualLength=function(e){return e},o}},function(e,t,i){"use strict";e.exports=function(e){var t=!1,i=[];function r(){this._trace=new r.CapturedTrace(a())}function a(){var e=i.length-1;if(0<=e)return i[e]}return e.prototype._promiseCreated=function(){},e.prototype._pushContext=function(){},e.prototype._popContext=function(){return null},e._peekContext=e.prototype._peekContext=function(){},r.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,i.push(this._trace))},r.prototype._popContext=function(){var e,t;return void 0!==this._trace?(t=(e=i.pop())._promiseCreated,e._promiseCreated=null,t):null},r.CapturedTrace=null,r.create=function(){if(t)return new r},r.deactivateLongStackTraces=function(){},r.activateLongStackTraces=function(){var i=e.prototype._pushContext,s=e.prototype._popContext,n=e._peekContext,o=e.prototype._peekContext,c=e.prototype._promiseCreated;r.deactivateLongStackTraces=function(){e.prototype._pushContext=i,e.prototype._popContext=s,e._peekContext=n,e.prototype._peekContext=o,e.prototype._promiseCreated=c,t=!1},t=!0,e.prototype._pushContext=r.prototype._pushContext,e.prototype._popContext=r.prototype._popContext,e._peekContext=e.prototype._peekContext=a,e.prototype._promiseCreated=function(){var e=this._peekContext();e&&null==e._promiseCreated&&(e._promiseCreated=this)}},r}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){var s,n,o,c,u,h=e._async,l=i(65).Warning,p=i(11),d=i(76),f=p.canAttachTrace,m=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,g=/\((?:timers\.js):\d+:\d+\)/,v=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,y=null,b=null,w=!1,x=!(0==p.env("BLUEBIRD_DEBUG")||!p.env("BLUEBIRD_DEBUG")&&"development"!==p.env("NODE_ENV")),k=!(0==p.env("BLUEBIRD_WARNINGS")||!x&&!p.env("BLUEBIRD_WARNINGS")),S=(x=!(0==p.env("BLUEBIRD_LONG_STACK_TRACES")||!x&&!p.env("BLUEBIRD_LONG_STACK_TRACES")),0!=p.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(k||!!p.env("BLUEBIRD_W_FORGOTTEN_RETURN")));function _(){for(var e=0;e<u.length;++e)u[e]._notifyUnhandledRejection();E()}function E(){u.length=0}u=[],c=function(e){u.push(e),setTimeout(_,1)},d.defineProperty(e,"_unhandledRejectionCheck",{value:_}),d.defineProperty(e,"_unhandledRejectionClear",{value:E}),e.prototype.suppressUnhandledRejections=function(){var e=this._target();e._bitField=-1048577&e._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0==(524288&this._bitField)&&(this._setRejectionIsUnhandled(),c(this))},e.prototype._notifyUnhandledRejectionIsHandled=function(){G("rejectionHandled",s,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){var e;this._isRejectionUnhandled()&&(e=this._settledValue(),this._setUnhandledRejectionIsNotified(),G("unhandledRejection",n,e,this))},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return 0<(262144&this._bitField)},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return 0<(1048576&this._bitField)},e.prototype._warn=function(e,t,i){return K(e,t,i||this)},e.onPossiblyUnhandledRejection=function(t){var i=e._getContext();n=p.contextBind(i,t)},e.onUnhandledRejectionHandled=function(t){var i=e._getContext();s=p.contextBind(i,t)};var j=function(){},A=(e.longStackTraces=function(){if(h.haveItemsQueued()&&!re.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");var i,r,a;!re.longStackTraces&&J()&&(i=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace,a=e.prototype._dereferenceTrace,re.longStackTraces=!0,j=function(){if(h.haveItemsQueued()&&!re.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=i,e.prototype._attachExtraTrace=r,e.prototype._dereferenceTrace=a,t.deactivateLongStackTraces(),re.longStackTraces=!1},e.prototype._captureStackTrace=U,e.prototype._attachExtraTrace=q,e.prototype._dereferenceTrace=V,t.activateLongStackTraces())},e.hasLongStackTraces=function(){return re.longStackTraces&&J()},{unhandledrejection:{before:function(){var e=p.global.onunhandledrejection;return p.global.onunhandledrejection=null,e},after:function(e){p.global.onunhandledrejection=e}},rejectionhandled:{before:function(){var e=p.global.onrejectionhandled;return p.global.onrejectionhandled=null,e},after:function(e){p.global.onrejectionhandled=e}}}),R=function(){function e(e,t){if(!e)return!p.global.dispatchEvent(t);var i;try{return i=e.before(),!p.global.dispatchEvent(t)}finally{e.after(i)}}var t;try{return"function"==typeof CustomEvent?(t=new CustomEvent("CustomEvent"),p.global.dispatchEvent(t),function(t,i){t=t.toLowerCase();var r=new CustomEvent(t,{detail:i,cancelable:!0});return d.defineProperty(r,"promise",{value:i.promise}),d.defineProperty(r,"reason",{value:i.reason}),e(A[t],r)}):"function"==typeof Event?(t=new Event("CustomEvent"),p.global.dispatchEvent(t),function(t,i){t=t.toLowerCase();var r=new Event(t,{cancelable:!0});return r.detail=i,d.defineProperty(r,"promise",{value:i.promise}),d.defineProperty(r,"reason",{value:i.reason}),e(A[t],r)}):((t=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),p.global.dispatchEvent(t),function(t,i){t=t.toLowerCase();var r=document.createEvent("CustomEvent");return r.initCustomEvent(t,!1,!0,i),e(A[t],r)})}catch(t){}return function(){return!1}}(),I=p.isNode?function(){return process.emit.apply(process,arguments)}:p.global?function(e){return e="on"+e.toLowerCase(),!!(e=p.global[e])&&(e.apply(p.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function O(e,t){return{promise:t}}var C={promiseCreated:O,promiseFulfilled:O,promiseRejected:O,promiseResolved:O,promiseCancelled:O,promiseChained:function(e,t,i){return{promise:t,child:i}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,i){return{reason:t,promise:i}},rejectionHandled:O},P=function(e){var t=!1;try{t=I.apply(null,arguments)}catch(e){h.throwLater(e),t=!0}var i=!1;try{i=R(e,C[e].apply(null,arguments))}catch(e){h.throwLater(e),i=!0}return i||t};function T(){return!1}function B(e,t,i){var r=this;try{e(t,i,(function(e){if("function"!=typeof e)throw new TypeError("onCancel must be a function, got: "+p.toString(e));r._attachCancellationCallback(e)}))}catch(e){return e}}function N(e){if(!this._isCancellable())return this;var t=this._onCancel();void 0!==t?p.isArray(t)?t.push(e):this._setOnCancel([t,e]):this._setOnCancel(e)}function z(){return this._onCancelField}function F(e){this._onCancelField=e}function L(){this._cancellationParent=void 0,this._onCancelField=void 0}function M(e,t){var i;0!=(1&t)&&(i=(this._cancellationParent=e)._branchesRemainingToCancel,e._branchesRemainingToCancel=(i=void 0===i?0:i)+1),0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}e.config=function(t){var i;if("longStackTraces"in(t=Object(t))&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&j()),"warnings"in t&&(i=t.warnings,re.warnings=!!i,S=re.warnings,p.isObject(i))&&"wForgottenReturn"in i&&(S=!!i.wForgottenReturn),"cancellation"in t&&t.cancellation&&!re.cancellation){if(h.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=L,e.prototype._propagateFrom=M,e.prototype._onCancel=z,e.prototype._setOnCancel=F,e.prototype._attachCancellationCallback=N,e.prototype._execute=B,D=M,re.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!re.monitoring?(re.monitoring=!0,e.prototype._fireEvent=P):!t.monitoring&&re.monitoring&&(re.monitoring=!1,e.prototype._fireEvent=T)),"asyncHooks"in t&&p.nodeSupportsAsyncResource&&re.asyncHooks!==(i=!!t.asyncHooks)&&((re.asyncHooks=i)?r:a)(),e},e.prototype._fireEvent=T,e.prototype._execute=function(e,t,i){try{e(t,i)}catch(e){return e}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(e){},e.prototype._attachCancellationCallback=function(e){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._dereferenceTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(e,t){};var D=function(e,t){0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)};function H(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function U(){this._trace=new te(this._peekContext())}function q(e,t){var i;f(e)&&(void 0!==(i=void 0!==(i=this._trace)&&t?i._parent:i)?i.attachExtraTrace(e):e.__stackCleaned__||(t=$(e),p.notEnumerableProp(e,"stack",t.message+"\n"+t.stack.join("\n")),p.notEnumerableProp(e,"__stackCleaned__",!0)))}function V(){this._trace=void 0}function K(t,i,r){re.warnings&&(t=new l(t),i?r._attachExtraTrace(t):re.longStackTraces&&(i=e._peekContext())?i.attachExtraTrace(t):(r=$(t),t.stack=r.message+"\n"+r.stack.join("\n")),P("warning",t)||Y(t,"",!0))}function W(e){for(var t=[],i=0;i<e.length;++i){var r=e[i],a=" (No stack trace)"===r||y.test(r),s=a&&Q(r);a&&!s&&(w&&" "!==r.charAt(0)&&(r=" "+r),t.push(r))}return t}function $(e){var t=e.stack,i=e.toString();t="string"==typeof t&&0<t.length?function(e){for(var t=e.stack.replace(/\s+$/g,"").split("\n"),i=0;i<t.length;++i){var r=t[i];if(" (No stack trace)"===r||y.test(r))break}return 0<i&&"SyntaxError"!=e.name?t.slice(i):t}(e):[" (No stack trace)"];return{message:i,stack:"SyntaxError"==e.name?t:W(t)}}function Y(e,t,i){var r;"undefined"!=typeof console&&(r=p.isObject(e)?(r=e.stack,t+b(r,e)):t+String(e),"function"==typeof o?o(r,i):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r))}function G(e,t,i,r){var a=!1;try{"function"==typeof t&&(a=!0,"rejectionHandled"===e?t(r):t(i,r))}catch(e){h.throwLater(e)}"unhandledRejection"===e?P(e,i,r)||a||Y(i,"Unhandled rejection "):P(e,r)}function X(e){if("function"==typeof e)t="[function "+(e.name||"anonymous")+"]";else{if(t=e&&"function"==typeof e.toString?e.toString():p.toString(e),/\[object [a-zA-Z0-9$_]+\]/.test(t))try{var t=JSON.stringify(e)}catch(e){}0===t.length&&(t="(empty array)")}return"(<"+function(e){return e.length<41?e:e.substr(0,38)+"..."}(t)+">, no stack trace)"}function J(){return"function"==typeof ie}var Q=function(){return!1},Z=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;function ee(e){if(e=e.match(Z))return{fileName:e[1],line:parseInt(e[2],10)}}function te(e){this._parent=e,this._promisesCreated=0,e=this._length=1+(void 0===e?0:e._length),ie(this,te),32<e&&this.uncycle()}p.inherits(te,Error),(t.CapturedTrace=te).prototype.uncycle=function(){var e=this._length;if(!(e<2)){for(var t=[],i={},r=0,a=this;void 0!==a;++r)t.push(a),a=a._parent;for(r=(e=this._length=r)-1;0<=r;--r){var s=t[r].stack;void 0===i[s]&&(i[s]=r)}for(r=0;r<e;++r){var n=i[t[r].stack];if(void 0!==n&&n!==r){0<n&&(t[n-1]._parent=void 0,t[n-1]._length=1),t[r]._parent=void 0,t[r]._length=1;for(var o=0<r?t[r-1]:this,c=(n<e-1?(o._parent=t[n+1],o._parent.uncycle(),o._length=o._parent._length+1):(o._parent=void 0,o._length=1),o._length+1),u=r-2;0<=u;--u)t[u]._length=c,c++;return}}}},te.prototype.attachExtraTrace=function(e){if(!e.__stackCleaned__){this.uncycle();for(var t=$(e),i=t.message,r=[t.stack],a=this;void 0!==a;)r.push(W(a.stack.split("\n"))),a=a._parent;for(var s=r,n=s[0],o=1;o<s.length;++o){for(var c=s[o],u=n.length-1,h=n[u],l=-1,d=c.length-1;0<=d;--d)if(c[d]===h){l=d;break}for(d=l;0<=d;--d){var f=c[d];if(n[u]!==f)break;n.pop(),u--}n=c}for(var m=r,g=0;g<m.length;++g)(0===m[g].length||g+1<m.length&&m[g][0]===m[g+1][0])&&(m.splice(g,1),g--);p.notEnumerableProp(e,"stack",function(e,t){for(var i=0;i<t.length-1;++i)t[i].push("From previous event:"),t[i]=t[i].join("\n");return i<t.length&&(t[i]=t[i].join("\n")),e+"\n"+t.join("\n")}(i,r)),p.notEnumerableProp(e,"__stackCleaned__",!0)}};var ie=function(){function e(e,t){return"string"==typeof e?e:void 0!==t.name&&void 0!==t.message?t.toString():X(t)}var t,i=/^\s*at\s*/;if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace)return Error.stackTraceLimit+=6,y=i,b=e,t=Error.captureStackTrace,Q=function(e){return m.test(e)},function(e,i){Error.stackTraceLimit+=6,t(e,i),Error.stackTraceLimit-=6};var r,a=new Error;if("string"==typeof a.stack&&0<=a.stack.split("\n")[0].indexOf("stackDetection@"))return y=/@/,b=e,w=!0,function(e){e.stack=(new Error).stack};try{throw new Error}catch(e){r="stack"in e}return"stack"in a||!r||"number"!=typeof Error.stackTraceLimit?(b=function(e,t){return"string"==typeof e?e:"object"!=typeof t&&"function"!=typeof t||void 0===t.name||void 0===t.message?X(t):t.toString()},null):(y=i,b=e,function(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6})}(),re=("undefined"!=typeof console&&void 0!==console.warn&&(o=function(e){console.warn(e)},p.isNode&&process.stderr.isTTY?o=function(e,t){console.warn((t?"":"")+e+"\n")}:p.isNode||"string"!=typeof(new Error).stack||(o=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")})),{warnings:k,longStackTraces:!1,cancellation:!1,monitoring:!1,asyncHooks:!1});return x&&e.longStackTraces(),{asyncHooks:function(){return re.asyncHooks},longStackTraces:function(){return re.longStackTraces},warnings:function(){return re.warnings},cancellation:function(){return re.cancellation},monitoring:function(){return re.monitoring},propagateFromFunction:function(){return D},boundValueFunction:function(){return H},checkForgottenReturns:function(e,t,i,r,a){if(void 0===e&&null!==t&&S&&(void 0===a||!a._returnedNonUndefined())&&0!=(65535&r._bitField)){i&&(i+=" ");var s="",n="";if(t._trace){for(var o=t._trace.stack.split("\n"),c=W(o),u=c.length-1;0<=u;--u){var h=c[u];if(!g.test(h)){(h=h.match(v))&&(s="at "+h[1]+":"+h[2]+":"+h[3]+" ");break}}if(0<c.length){var l=c[0];for(u=0;u<o.length;++u)if(o[u]===l){0<u&&(n="\n"+o[u-1]);break}}}r._warn("a promise was created in a "+i+"handler "+s+"but was not returned from it, see http://goo.gl/rRqMUw"+n,!0,t)}},setBounds:function(e,t){if(J()){for(var i,r,a=(e.stack||"").split("\n"),s=(t.stack||"").split("\n"),n=-1,o=-1,c=0;c<a.length;++c)if(u=ee(a[c])){i=u.fileName,n=u.line;break}var u;for(c=0;c<s.length;++c)if(u=ee(s[c])){r=u.fileName,o=u.line;break}n<0||o<0||!i||!r||i!==r||o<=n||(Q=function(e){return!!m.test(e)||!!((e=ee(e))&&e.fileName===i&&n<=e.line&&e.line<=o)})}},warn:K,deprecated:function(e,t){return e+=" is deprecated and will be removed in a future version.",t&&(e+=" Use "+t+" instead."),K(e)},CapturedTrace:te,fireDomEvent:R,fireGlobalEvent:I}}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=i(11),s=e.CancellationError,n=a.errorObj,o=i(259)(r);function c(e,t,i){this.promise=e,this.type=t,this.handler=i,this.called=!1,this.cancelPromise=null}function u(e){this.finallyHandler=e}function h(e,t){return null!=e.cancelPromise&&(1<arguments.length?e.cancelPromise._reject(t):e.cancelPromise._cancel(),e.cancelPromise=null,1)}function l(){return d.call(this,this.promise._target()._settledValue())}function p(e){if(!h(this,e))return n.e=e,n}function d(i){var a=this.promise,o=this.handler;if(!this.called){if(this.called=!0,(o=this.isFinallyHandler()?o.call(a._boundValue()):o.call(a._boundValue(),i))===r)return o;var c;if(void 0!==o)if(a._setReturnedNonUndefined(),(o=t(o,a))instanceof e){if(null!=this.cancelPromise){if(o._isCancelled())return c=new s("late cancellation observer"),a._attachExtraTrace(c),n.e=c,n;o.isPending()&&o._attachCancellationCallback(new u(this))}return o._then(l,p,void 0,this,void 0)}}return a.isRejected()?(h(this),n.e=i,n):(h(this),i)}return c.prototype.isFinallyHandler=function(){return 0===this.type},u.prototype._resultCancelled=function(){h(this.finallyHandler)},e.prototype._passThrough=function(e,t,i,r){return"function"!=typeof e?this.then():this._then(i,r,void 0,new c(this,t,e),void 0)},e.prototype.lastly=e.prototype.finally=function(e){return this._passThrough(e,0,d,d)},e.prototype.tap=function(e){return this._passThrough(e,1,d)},e.prototype.tapCatch=function(t){var i=arguments.length;if(1===i)return this._passThrough(t,1,void 0,d);for(var r=new Array(i-1),s=0,n=0;n<i-1;++n){var c=arguments[n];if(!a.isObject(c))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+a.classString(c)));r[s++]=c}return r.length=s,this._passThrough(o(r,arguments[n],this),1,void 0,d)},c}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s){var n=i(11),o=n.tryCatch;e.method=function(i){if("function"!=typeof i)throw new e.TypeError("expecting a function but got "+n.classString(i));return function(){var r=new e(t),a=(r._captureStackTrace(),r._pushContext(),o(i).apply(this,arguments)),n=r._popContext();return s.checkForgottenReturns(a,n,"Promise.method",r),r._resolveFromSyncValue(a),r}},e.attempt=e.try=function(i){var r,c,u;return"function"!=typeof i?a("expecting a function but got "+n.classString(i)):((r=new e(t))._captureStackTrace(),r._pushContext(),c=1<arguments.length?(s.deprecated("calling Promise.try with more than 1 argument"),u=arguments[1],c=arguments[2],n.isArray(u)?o(i).apply(c,u):o(i).call(c,u)):o(i)(),u=r._popContext(),s.checkForgottenReturns(c,u,"Promise.try",r),r._resolveFromSyncValue(c),r)},e.prototype._resolveFromSyncValue=function(e){e===n.errorObj?this._rejectCallback(e.e,!1):this._resolveCallback(e,!0)}}},function(e,t,i){"use strict";e.exports=function(e,t,i,r){function a(e,t){this._reject(t)}function s(e,t){t.promiseRejectionQueued=!0,t.bindingPromise._then(a,a,null,this,e)}function n(e,t){0==(50397184&this._bitField)&&this._resolveCallback(t.target)}function o(e,t){t.promiseRejectionQueued||this._reject(e)}var c=!1;e.prototype.bind=function(a){c||(c=!0,e.prototype._propagateFrom=r.propagateFromFunction(),e.prototype._boundValue=r.boundValueFunction());a=i(a);var u,h=new e(t),l=(h._propagateFrom(this,1),this._target());return h._setBoundTo(a),a instanceof e?(l._then(t,s,void 0,h,u={promiseRejectionQueued:!1,promise:h,target:l,bindingPromise:a}),a._then(n,o,void 0,h,u),h._setOnCancel(a)):h._resolveCallback(l),h},e.prototype._setBoundTo=function(e){void 0!==e?(this._bitField=2097152|this._bitField,this._boundTo=e):this._bitField=-2097153&this._bitField},e.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},e.bind=function(t,i){return e.resolve(i).bind(t)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){var s=i(11),n=s.tryCatch,o=s.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!a.cancellation())return this._warn("cancellation is disabled");for(var e=this,t=e;e._isCancellable();){if(!e._cancelBy(t)){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}var i=e._cancellationParent;if(null==i||!i._isCancellable()){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}e._isFollowing()&&e._followee().cancel(),e._setWillBeCancelled(),t=e,e=i}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(e){return e===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){0<this._length()&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(e,t){var i;if(s.isArray(e))for(var r=0;r<e.length;++r)this._doInvokeOnCancel(e[r],t);else void 0!==e&&("function"==typeof e?t||(i=n(e).call(this._boundValue()))===o&&(this._attachExtraTrace(i.e),c.throwLater(i.e)):e._resultCancelled(this))},e.prototype._invokeOnCancel=function(){var e=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,e)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},function(e,t,i){"use strict";e.exports=function(e){function t(){return this.value}function i(){throw this.reason}e.prototype.return=e.prototype.thenReturn=function(i){return i instanceof e&&i.suppressUnhandledRejections(),this._then(t,void 0,void 0,{value:i},void 0)},e.prototype.throw=e.prototype.thenThrow=function(e){return this._then(i,void 0,void 0,{reason:e},void 0)},e.prototype.catchThrow=function(e){var t;return arguments.length<=1?this._then(void 0,i,void 0,{reason:e},void 0):(t=arguments[1],this.caught(e,(function(){throw t})))},e.prototype.catchReturn=function(i){var r;return arguments.length<=1?(i instanceof e&&i.suppressUnhandledRejections(),this._then(void 0,t,void 0,{value:i},void 0)):((r=arguments[1])instanceof e&&r.suppressUnhandledRejections(),this.caught(i,(function(){return r})))}}},function(e,t,i){"use strict";e.exports=function(e){function t(e){void 0!==e?(e=e._target(),this._bitField=e._bitField,this._settledValueField=e._isFateSealed()?e._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}t.prototype._settledValue=function(){return this._settledValueField};var i=t.prototype.value=function(){if(this.isFulfilled())return this._settledValue();throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n")},r=t.prototype.error=t.prototype.reason=function(){if(this.isRejected())return this._settledValue();throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n")},a=t.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},s=t.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},n=t.prototype.isPending=function(){return 0==(50397184&this._bitField)},o=t.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};t.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},e.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},e.prototype._isCancelled=function(){return this._target().__isCancelled()},e.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},e.prototype.isPending=function(){return n.call(this._target())},e.prototype.isRejected=function(){return s.call(this._target())},e.prototype.isFulfilled=function(){return a.call(this._target())},e.prototype.isResolved=function(){return o.call(this._target())},e.prototype.value=function(){return i.call(this._target())},e.prototype.reason=function(){var e=this._target();return e._unsetRejectionIsUnhandled(),r.call(e)},e.prototype._value=function(){return this._settledValue()},e.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},e.PromiseInspection=t}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s){var n,o=i(11),c=o.canEvaluate,u=o.tryCatch,h=o.errorObj;if(c){for(var l=[],p=[],d=[],f=0;f<8;++f)l.push(function(t){for(var i=new Array(t),r=0;r<i.length;++r)i[r]="this.p"+(r+1);var a=i.join(" = ")+" = null;",n="var promise;\n"+i.map((function(e){return" \n promise = "+e+"; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n "})).join("\n"),o=i.join(", ");t="return function(tryCatch, errorObj, Promise, async) { \n 'use strict'; \n function [TheName](fn) { \n [TheProperties] \n this.fn = fn; \n this.asyncNeeded = true; \n this.now = 0; \n } \n \n [TheName].prototype._callFunction = function(promise) { \n promise._pushContext(); \n var ret = tryCatch(this.fn)([ThePassedArguments]); \n promise._popContext(); \n if (ret === errorObj) { \n promise._rejectCallback(ret.e, false); \n } else { \n promise._resolveCallback(ret); \n } \n }; \n \n [TheName].prototype.checkFulfillment = function(promise) { \n var now = ++this.now; \n if (now === [TheTotal]) { \n if (this.asyncNeeded) { \n async.invoke(this._callFunction, this, promise); \n } else { \n this._callFunction(promise); \n } \n \n } \n }; \n \n [TheName].prototype._resultCancelled = function() { \n [CancellationCode] \n }; \n \n return [TheName]; \n }(tryCatch, errorObj, Promise, async); \n ".replace(/\[TheName\]/g,"Holder$"+t).replace(/\[TheTotal\]/g,t).replace(/\[ThePassedArguments\]/g,o).replace(/\[TheProperties\]/g,a).replace(/\[CancellationCode\]/g,n);return new Function("tryCatch","errorObj","Promise","async",t)(u,h,e,s)}(f+1)),p.push(new Function("value","holder"," \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g,f+1))),d.push(new Function("promise","holder"," \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g,f+1)));n=function(e){this._reject(e)}}e.join=function(){var i,s=arguments.length-1;if(0<s&&"function"==typeof arguments[s]&&(i=arguments[s],s<=8)&&c){(x=new e(a))._captureStackTrace();for(var u,h=new l[s-1](i),f=p,m=0;m<s;++m){var g,v=r(arguments[m],x);v instanceof e?0==(50397184&(g=(v=v._target())._bitField))?(v._then(f[m],n,void 0,x,h),d[m](v,h),h.asyncNeeded=!1):0!=(33554432&g)?f[m].call(x,v._value(),h):0!=(16777216&g)?x._reject(v._reason()):x._cancel():f[m].call(x,v,h)}return x._isFateSealed()||(h.asyncNeeded&&(u=e._getContext(),h.fn=o.contextBind(u,h.fn)),x._setAsyncGuaranteed(),x._setOnCancel(h)),x}for(var y=arguments.length,b=new Array(y),w=0;w<y;++w)b[w]=arguments[w];i&&b.pop();var x=new t(b).promise();return void 0!==i?x.spread(i):x}}},function(e,t,i){"use strict";var r,a,s=Object.create;s&&(r=s(null),a=s(null),r[" size"]=a[" size"]=0),e.exports=function(e){function t(e){return new Function("ensureMethod"," \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g,e))(l)}function s(e){return new Function("obj"," \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName",e))}function n(e,t,i){var r=i[e];if("function"!=typeof r){if(!u(e))return null;if(r=t(e),i[e]=r,i[" size"]++,512<i[" size"]){for(var a=Object.keys(i),s=0;s<256;++s)delete i[a[s]];i[" size"]=a.length-256}}return r}var o=i(11),c=o.canEvaluate,u=o.isIdentifier,h=function(e){return n(e,t,r)};function l(t,i){var r;if("function"!=typeof(r=null!=t?t[i]:r))throw t="Object "+o.classString(t)+" has no method '"+o.toString(i)+"'",new e.TypeError(t);return r}function p(e){return l(e,this.pop()).apply(e,this)}function d(e){return e[this]}function f(e){var t=+this;return e[t=t<0?Math.max(0,t+e.length):t]}e.prototype.call=function(e){for(var t=arguments.length,i=new Array(Math.max(t-1,0)),r=1;r<t;++r)i[r-1]=arguments[r];if(c){var a=h(e);if(null!==a)return this._then(a,void 0,void 0,i,void 0)}return i.push(e),this._then(p,void 0,void 0,i,void 0)},e.prototype.get=function(e){var t;return t="number"==typeof e?f:c&&null!==(t=function(e){return n(e,s,a)}(e))?t:d,this._then(t,void 0,void 0,e,void 0)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(65).TypeError,c=i(11),u=c.errorObj,h=c.tryCatch,l=[];function p(t,i,a,s){var o,c;n.cancellation()?(o=new e(r),c=this._finallyPromise=new e(r),this._promise=o.lastly((function(){return c})),o._captureStackTrace(),o._setOnCancel(this)):(this._promise=new e(r))._captureStackTrace(),this._stack=s,this._generatorFunction=t,this._receiver=i,this._generator=void 0,this._yieldHandlers="function"==typeof a?[a].concat(l):l,this._yieldedPromise=null,this._cancellationPhase=!1}c.inherits(p,s),p.prototype._isResolved=function(){return null===this._promise},p.prototype._cleanup=function(){this._promise=this._generator=null,n.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},p.prototype._promiseCancelled=function(){var t;this._isResolved()||(t=void 0!==this._generator.return?(this._promise._pushContext(),h(this._generator.return).call(this._generator,void 0)):(t=new e.CancellationError("generator .return() sentinel"),e.coroutine.returnSentinel=t,this._promise._attachExtraTrace(t),this._promise._pushContext(),h(this._generator.throw).call(this._generator,t)),this._promise._popContext(),this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t))},p.prototype._promiseFulfilled=function(e){this._yieldedPromise=null,this._promise._pushContext(),e=h(this._generator.next).call(this._generator,e),this._promise._popContext(),this._continue(e)},p.prototype._promiseRejected=function(e){this._yieldedPromise=null,this._promise._attachExtraTrace(e),this._promise._pushContext(),e=h(this._generator.throw).call(this._generator,e),this._promise._popContext(),this._continue(e)},p.prototype._resultCancelled=function(){var t;this._yieldedPromise instanceof e&&(t=this._yieldedPromise,this._yieldedPromise=null,t.cancel())},p.prototype.promise=function(){return this._promise},p.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},p.prototype._continue=function(t){var i,r=this._promise;return t===u?(this._cleanup(),this._cancellationPhase?r.cancel():r._rejectCallback(t.e,!1)):(i=t.value,!0===t.done?(this._cleanup(),this._cancellationPhase?r.cancel():r._resolveCallback(i)):void((t=a(i,this._promise))instanceof e||null!==(t=function(t,i,r){for(var s=0;s<i.length;++s){r._pushContext();var n=h(i[s])(t);if(r._popContext(),n===u)return r._pushContext(),o=e.reject(u.e),r._popContext(),o;var o=a(n,r);if(o instanceof e)return o}return null}(t,this._yieldHandlers,this._promise))?0==(50397184&(r=(t=t._target())._bitField))?(this._yieldedPromise=t)._proxy(this,null):0!=(33554432&r)?e._async.invoke(this._promiseFulfilled,this,t._value()):0!=(16777216&r)?e._async.invoke(this._promiseRejected,this,t._reason()):this._promiseCancelled():this._promiseRejected(new o("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",String(i))+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")))))},e.coroutine=function(e,t){if("function"!=typeof e)throw new o("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var i=Object(t).yieldHandler,r=p,a=(new Error).stack;return function(){var t=e.apply(this,arguments),s=new r(void 0,void 0,i,a),n=s.promise();return s._generator=t,s._promiseFulfilled(void 0),n}},e.coroutine.addYieldHandler=function(e){if("function"!=typeof e)throw new o("expecting a function but got "+c.classString(e));l.push(e)},e.spawn=function(i){var r;return n.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof i?t("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n"):(r=(i=new p(i,this)).promise(),i._run(e.spawn),r)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(11),c=o.tryCatch,u=o.errorObj,h=e._async;function l(t,i,r,a){this.constructor$(t),this._promise._captureStackTrace();var n=e._getContext();if(this._callback=o.contextBind(n,i),this._preservedValues=a===s?new Array(this.length()):null,this._limit=r,this._inFlight=0,this._queue=[],h.invoke(this._asyncInit,this,void 0),o.isArray(t))for(var c=0;c<t.length;++c){var u=t[c];u instanceof e&&u.suppressUnhandledRejections()}}function p(t,i,a,s){if("function"!=typeof i)return r("expecting a function but got "+o.classString(i));var n=0;if(void 0!==a){if("object"!=typeof a||null===a)return e.reject(new TypeError("options argument must be an object but it is "+o.classString(a)));if("number"!=typeof a.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+o.classString(a.concurrency)));n=a.concurrency}return new l(t,i,n="number"==typeof n&&isFinite(n)&&1<=n?n:0,s).promise()}o.inherits(l,t),l.prototype._asyncInit=function(){this._init$(void 0,-2)},l.prototype._init=function(){},l.prototype._promiseFulfilled=function(t,i){var r=this._values,s=this.length(),o=this._preservedValues,h=this._limit;if(i<0){if(r[i=-1*i-1]=t,1<=h&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(1<=h&&this._inFlight>=h)return r[i]=t,this._queue.push(i),!1;null!==o&&(o[i]=t);var l=this._promise,p=this._callback,d=l._boundValue();p=(l._pushContext(),c(p).call(d,t,i,s)),d=l._popContext();if(n.checkForgottenReturns(p,d,null!==o?"Promise.filter":"Promise.map",l),p===u)return this._reject(p.e),!0;if((t=a(p,this._promise))instanceof e){if(0==(50397184&(d=(t=t._target())._bitField)))return 1<=h&&this._inFlight++,(r[i]=t)._proxy(this,-1*(i+1)),!1;if(0==(33554432&d))return 0!=(16777216&d)?this._reject(t._reason()):this._cancel(),!0;p=t._value()}r[i]=p}return s<=++this._totalResolved&&(null!==o?this._filter(r,o):this._resolve(r),!0)},l.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,i=this._values;0<e.length&&this._inFlight<t;){if(this._isResolved())return;var r=e.pop();this._promiseFulfilled(i[r],r)}},l.prototype._filter=function(e,t){for(var i=t.length,r=new Array(i),a=0,s=0;s<i;++s)e[s]&&(r[a++]=t[s]);r.length=a,this._resolve(r)},l.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(e,t){return p(this,e,t,null)},e.map=p}},function(e,t,i){"use strict";e.exports=function(e){var t=i(11),r=e._async,a=t.tryCatch,s=t.errorObj;function n(e,i){if(!t.isArray(e))return o.call(this,e,i);(i=a(i).apply(this._boundValue(),[null].concat(e)))===s&&r.throwLater(i.e)}function o(e,t){var i=this._boundValue();(t=void 0===e?a(t).call(i,null):a(t).call(i,null,e))===s&&r.throwLater(t.e)}function c(e,t){e||((i=new Error(e+"")).cause=e,e=i);var i=a(t).call(this._boundValue(),e);i===s&&r.throwLater(i.e)}e.prototype.asCallback=e.prototype.nodeify=function(e,t){var i;return"function"==typeof e&&(i=o,void 0!==t&&Object(t).spread&&(i=n),this._then(i,c,void 0,this,e)),this}}},function(e,t,i){"use strict";e.exports=function(e,t){var r={},a=i(11),s=i(260),n=a.withAppended,o=a.maybeWrapAsError,c=a.canEvaluate,u=i(65).TypeError,h={__isPromisified__:!0},l=new RegExp("^(?:"+["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"].join("|")+")$"),p=function(e){return a.isIdentifier(e)&&"_"!==e.charAt(0)&&"constructor"!==e};function d(e){return!l.test(e)}function f(e){try{return!0===e.__isPromisified__}catch(e){return!1}}var m=c?function(i,c,u,h,l,p){var d=Math.max(0,("number"==typeof(d=h).length?Math.max(Math.min(d.length,1024),0):0)-1),f=function(e){for(var t=[e],i=Math.max(0,e-1-3),r=e-1;i<=r;--r)t.push(r);for(r=e+1;r<=3;++r)t.push(r);return t}(d),m="string"==typeof i||c===r;function g(e){var t=a.filledRange(e,"_arg","").join(", ");e=0<e?", ":"";return(m?"ret = callback.call(this, {{args}}, nodeback); break;\n":void 0===c?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n").replace("{{args}}",t).replace(", ",e)}return i="string"==typeof i?"this != null ? this['"+i+"'] : fn":"fn",p=(p="'use strict'; \n var ret = function (Parameters) { \n 'use strict'; \n var len = arguments.length; \n var promise = new Promise(INTERNAL); \n promise._captureStackTrace(); \n var nodeback = nodebackForPromise(promise, "+p+"); \n var ret; \n var callback = tryCatch([GetFunctionCode]); \n switch(len) { \n [CodeForSwitchCase] \n } \n if (ret === errorObj) { \n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n } \n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n return promise; \n }; \n notEnumerableProp(ret, '__isPromisified__', true); \n return ret; \n ".replace("[CodeForSwitchCase]",function(){for(var e="",t=0;t<f.length;++t)e+="case "+f[t]+":"+g(f[t]);return e+" \n default: \n var args = new Array(len + 1); \n var i = 0; \n for (var i = 0; i < len; ++i) { \n args[i] = arguments[i]; \n } \n args[i] = nodeback; \n [CodeForCall] \n break; \n ".replace("[CodeForCall]",m?"ret = callback.apply(this, args);\n":"ret = callback.apply(receiver, args);\n")}()).replace("[GetFunctionCode]",i)).replace("Parameters",a.filledRange(Math.max(d,3),"_arg","")),new Function("Promise","fn","receiver","withAppended","maybeWrapAsError","nodebackForPromise","tryCatch","errorObj","notEnumerableProp","INTERNAL",p)(e,h,c,n,o,s,a.tryCatch,a.errorObj,a.notEnumerableProp,t)}:function(i,c,u,h,l,p){var d=function(){return this}(),f=i;function m(){var a=c,u=(c===r&&(a=this),new e(t)),h=(u._captureStackTrace(),"string"==typeof f&&this!==d?this[f]:i),l=s(u,p);try{h.apply(a,n(arguments,l))}catch(a){u._rejectCallback(o(a),!0,!0)}return u._isFateSealed()||u._setAsyncGuaranteed(),u}return"string"==typeof f&&(i=h),a.notEnumerableProp(m,"__isPromisified__",!0),m};function g(e,t,i,s,n){for(var o=new RegExp(t.replace(/([$])/,"\\$")+"$"),c=function(e,t,i,r){for(var s,n=a.inheritedDataKeys(e),o=[],c=0;c<n.length;++c){var l=n[c],d=e[l],m=r===p||p(l);"function"!=typeof d||f(d)||(s=e,(s=a.getDataPropertyOrDefault(s,l+t,h))&&f(s))||!r(l,d,e,m)||o.push(l,d)}for(var g=o,v=t,y=i,b=0;b<g.length;b+=2){var w=g[b];if(y.test(w))for(var x=w.replace(y,""),k=0;k<g.length;k+=2)if(g[k]===x)throw new u("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",v))}return o}(e,t,o,i),l=0,d=c.length;l<d;l+=2){var g,v=c[l],y=c[l+1],b=v+t;s===m?e[b]=m(v,r,v,y,t,n):(g=s(y,(function(){return m(v,r,v,y,t,n)})),a.notEnumerableProp(g,"__isPromisified__",!0),e[b]=g)}return a.toFastProperties(e),e}e.promisify=function(e,t){if("function"!=typeof e)throw new u("expecting a function but got "+a.classString(e));var i;return f(e)?e:(i=void 0===(t=Object(t)).context?r:t.context,t=!!t.multiArgs,i=m(e,i,void 0,e,null,t),a.copyDescriptors(e,i,d),i)},e.promisifyAll=function(e,t){if("function"!=typeof e&&"object"!=typeof e)throw new u("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");var i=!!(t=Object(t)).multiArgs,r=t.suffix,s=t.filter,n=("function"!=typeof s&&(s=p),t.promisifier);if("function"!=typeof n&&(n=m),!a.isIdentifier(r="string"!=typeof r?"Async":r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var o=a.inheritedDataKeys(e),c=0;c<o.length;++c){var h=e[o[c]];"constructor"!==o[c]&&a.isClass(h)&&(g(h.prototype,r,s,n,i),g(h,r,s,n,i))}return g(e,r,s,n,i)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){var s,n,o,c=i(11),u=c.isObject,h=i(76),l=("function"==typeof Map&&(s=Map),o=0,function(e){n=e.size,o=0;var t=new Array(2*e.size);return e.forEach(p,t),t});function p(e,t){this[o]=e,this[o+n]=t,o++}function d(e){var t=!1;if(void 0!==s&&e instanceof s)a=l(e),t=!0;else for(var i=h.keys(e),r=i.length,a=new Array(2*r),n=0;n<r;++n){var o=i[n];a[n]=e[o],a[n+r]=o}this.constructor$(a),this._isMap=t,this._init$(void 0,t?-6:-3)}function f(t){var i;t=r(t);return u(t)?(i=t instanceof e?t._then(e.props,void 0,void 0,void 0,void 0):new d(t).promise(),t instanceof e&&i._propagateFrom(t,2),i):a("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}c.inherits(d,t),d.prototype._init=function(){},d.prototype._promiseFulfilled=function(e,t){if(this._values[t]=e,++this._totalResolved>=this._length){if(this._isMap)i=function(e){for(var t=new s,i=e.length/2|0,r=0;r<i;++r){var a=e[i+r],n=e[r];t.set(a,n)}return t}(this._values);else for(var i={},r=this.length(),a=0,n=this.length();a<n;++a)i[this._values[a+r]]=this._values[a];return this._resolve(i),!0}return!1},d.prototype.shouldCopyValues=function(){return!1},d.prototype.getActualLength=function(e){return e>>1},e.prototype.props=function(){return f(this)},e.props=f}},function(e,t,i){"use strict";e.exports=function(e,t,r,a){function s(e){return e.then((function(t){return o(t,e)}))}var n=i(11);function o(i,o){var c=r(i);if(c instanceof e)return s(c);if(null===(i=n.asArray(i)))return a("expecting an array or an iterable object but got "+n.classString(i));for(var u=new e(t),h=(void 0!==o&&u._propagateFrom(o,3),u._fulfill),l=u._reject,p=0,d=i.length;p<d;++p){var f=i[p];(void 0!==f||p in i)&&e.cast(f)._then(h,l,void 0,u,null)}return u}e.race=function(e){return o(e,void 0)},e.prototype.race=function(){return o(this,void 0)}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(11),c=o.tryCatch;function u(t,i,r,a){this.constructor$(t),t=e._getContext(),this._fn=o.contextBind(t,i),void 0!==r&&(r=e.resolve(r))._attachCancellationCallback(this),this._initialValue=r,this._currentCancellable=null,this._eachValues=a===s?Array(this._length):0===a?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function h(e,t){this.isFulfilled()?t._resolve(e):t._reject(e)}function l(e,t,i,a){return"function"!=typeof t?r("expecting a function but got "+o.classString(t)):new u(e,t,i,a).promise()}function p(t){return this.accum=t,this.array._gotAccum(t),(t=a(this.value,this.array._promise))instanceof e?(this.array._currentCancellable=t)._then(d,void 0,void 0,this,void 0):d.call(this,t)}function d(t){var i=this.array,r=i._promise,a=c(i._fn);r._pushContext(),(a=void 0!==i._eachValues?a.call(r._boundValue(),t,this.index,this.length):a.call(r._boundValue(),this.accum,t,this.index,this.length))instanceof e&&(i._currentCancellable=a),t=r._popContext();return n.checkForgottenReturns(a,t,void 0!==i._eachValues?"Promise.each":"Promise.reduce",r),a}o.inherits(u,t),u.prototype._gotAccum=function(e){void 0!==this._eachValues&&null!==this._eachValues&&e!==s&&this._eachValues.push(e)},u.prototype._eachComplete=function(e){return null!==this._eachValues&&this._eachValues.push(e),this._eachValues},u.prototype._init=function(){},u.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},u.prototype.shouldCopyValues=function(){return!1},u.prototype._resolve=function(e){this._promise._resolveCallback(e),this._values=null},u.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel())},u.prototype._iterate=function(t){var i=(this._values=t).length,r=void 0!==this._initialValue?(o=this._initialValue,0):(o=e.resolve(t[0]),1);this._currentCancellable=o;for(var a=r;a<i;++a){var s=t[a];s instanceof e&&s.suppressUnhandledRejections()}if(!o.isRejected())for(;r<i;++r){var n={accum:null,value:t[r],index:r,length:i,array:this},o=o._then(p,void 0,void 0,n,void 0);0==(127&r)&&o._setNoAsyncGuarantee()}(o=void 0!==this._eachValues?o._then(this._eachComplete,void 0,void 0,this,void 0):o)._then(h,h,void 0,o,this)},e.prototype.reduce=function(e,t){return l(this,e,t,null)},e.reduce=l}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=e.PromiseInspection;function s(e){this.constructor$(e)}i(11).inherits(s,t),s.prototype._promiseResolved=function(e,t){return this._values[e]=t,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},s.prototype._promiseFulfilled=function(e,t){var i=new a;return i._bitField=33554432,i._settledValueField=e,this._promiseResolved(t,i)},s.prototype._promiseRejected=function(e,t){var i=new a;return i._bitField=16777216,i._settledValueField=e,this._promiseResolved(t,i)},e.settle=function(e){return r.deprecated(".settle()",".reflect()"),new s(e).promise()},e.allSettled=function(e){return new s(e).promise()},e.prototype.settle=function(){return e.settle(this)}}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=i(11),s=i(65).RangeError,n=i(65).AggregateError,o=a.isArray,c={};function u(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function h(e,t){var i;return(0|t)!==t||t<0?r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n"):(i=(e=new u(e)).promise(),e.setHowMany(t),e.init(),i)}a.inherits(u,t),u.prototype._init=function(){var e;this._initialized&&(0===this._howMany?this._resolve([]):(this._init$(void 0,-5),e=o(this._values),!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))))},u.prototype.init=function(){this._initialized=!0,this._init()},u.prototype.setUnwrap=function(){this._unwrap=!0},u.prototype.howMany=function(){return this._howMany},u.prototype.setHowMany=function(e){this._howMany=e},u.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},u.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},u.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(c),this._checkOutcome())},u.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new n,t=this.length();t<this._values.length;++t)this._values[t]!==c&&e.push(this._values[t]);return 0<e.length?this._reject(e):this._cancel(),!0}return!1},u.prototype._fulfilled=function(){return this._totalResolved},u.prototype._rejected=function(){return this._values.length-this.length()},u.prototype._addRejected=function(e){this._values.push(e)},u.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e},u.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},u.prototype._getRangeError=function(e){return e="Input array must contain at least "+this._howMany+" items but contains only "+e+" items",new s(e)},u.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=h,e.prototype.some=function(e){return h(this,e)},e._SomePromiseArray=u}},function(e,t,i){"use strict";e.exports=function(e,t,r){var a=i(11),s=e.TimeoutError;function n(e){this.handle=e}function o(e){return c(+this).thenReturn(e)}n.prototype._resultCancelled=function(){clearTimeout(this.handle)};var c=e.delay=function(i,a){var s;return void 0!==a?(s=e.resolve(a)._then(o,null,null,i,void 0),r.cancellation()&&a instanceof e&&s._setOnCancel(a)):(s=new e(t),a=setTimeout((function(){s._fulfill()}),+i),r.cancellation()&&s._setOnCancel(new n(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};function u(e){return clearTimeout(this.handle),e}function h(e){throw clearTimeout(this.handle),e}e.prototype.delay=function(e){return c(e,this)},e.prototype.timeout=function(e,t){e=+e;var i,o;e=new n(setTimeout((function(){var e,r,n;i.isPending()&&(e=i,n=o,r="string"!=typeof(r=t)?r instanceof Error?r:new s("operation timed out"):new s(r),a.markAsOriginatingFromRejection(r),e._attachExtraTrace(r),e._reject(r),null!=n)&&n.cancel()}),e));return r.cancellation()?(o=this.then(),(i=o._then(u,h,void 0,e,void 0))._setOnCancel(e)):i=this._then(u,h,void 0,e,void 0),i}}},function(e,t,i){"use strict";e.exports=function(e,t,r,a,s,n){var o=i(11),c=i(65).TypeError,u=i(11).inherits,h=o.errorObj,l=o.tryCatch,p={};function d(e){setTimeout((function(){throw e}),0)}function f(t,i){var a=0,n=t.length,o=new e(s);return function s(){if(n<=a)return o._fulfill();u=t[a++],(c=r(u))!==u&&"function"==typeof u._isDisposable&&"function"==typeof u._getDisposer&&u._isDisposable()&&c._setDisposable(u._getDisposer());var c,u=c;if(u instanceof e&&u._isDisposable()){try{u=r(u._getDisposer().tryDispose(i),t.promise)}catch(s){return d(s)}if(u instanceof e)return u._then(s,d,null,null,null)}s()}(),o}function m(e,t,i){this._data=e,this._promise=t,this._context=i}function g(e,t,i){this.constructor$(e,t,i)}function v(e){return m.isDisposer(e)?(this.resources[this.index]._setDisposable(e),e.promise()):e}function y(e){this.length=e,this.promise=null,this[e-1]=null}m.prototype.data=function(){return this._data},m.prototype.promise=function(){return this._promise},m.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():p},m.prototype.tryDispose=function(e){var t=this.resource(),i=this._context;void 0!==i&&i._pushContext(),t=t!==p?this.doDispose(t,e):null;return void 0!==i&&i._popContext(),this._promise._unsetDisposable(),this._data=null,t},m.isDisposer=function(e){return null!=e&&"function"==typeof e.resource&&"function"==typeof e.tryDispose},u(g,m),g.prototype.doDispose=function(e,t){return this.data().call(e,e,t)},y.prototype._resultCancelled=function(){for(var t=this.length,i=0;i<t;++i){var r=this[i];r instanceof e&&r.cancel()}},e.using=function(){var i=arguments.length;if(i<2)return t("you must pass at least 2 arguments to Promise.using");var a,s=arguments[i-1];if("function"!=typeof s)return t("expecting a function but got "+o.classString(s));for(var c=!0,u=(2===i&&Array.isArray(arguments[0])?(i=(a=arguments[0]).length,c=!1):(a=arguments,i--),new y(i)),p=0;p<i;++p){var d,g=a[p];m.isDisposer(g)?(g=(d=g).promise())._setDisposable(d):(d=r(g))instanceof e&&(g=d._then(v,null,null,{resources:u,index:p},void 0)),u[p]=g}var b=new Array(u.length);for(p=0;p<b.length;++p)b[p]=e.resolve(u[p]).reflect();var w=e.all(b).then((function(e){for(var t=0;t<e.length;++t){var i=e[t];if(i.isRejected())return h.e=i.error(),h;if(!i.isFulfilled())return void w.cancel();e[t]=i.value()}x._pushContext(),s=l(s);var r=c?s.apply(void 0,e):s(e),a=x._popContext();return n.checkForgottenReturns(r,a,"Promise.using",x),r})),x=w.lastly((function(){var t=new e.PromiseInspection(w);return f(u,t)}));return(u.promise=x)._setOnCancel(u),x},e.prototype._setDisposable=function(e){this._bitField=131072|this._bitField,this._disposer=e},e.prototype._isDisposable=function(){return 0<(131072&this._bitField)},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(e){if("function"==typeof e)return new g(e,this,a());throw new c}}},function(e,t,i){"use strict";e.exports=function(e){var t=e._SomePromiseArray;function i(e){var i=(e=new t(e)).promise();return e.setHowMany(1),e.setUnwrap(),e.init(),i}e.any=i,e.prototype.any=function(){return i(this)}}},function(e,t,i){"use strict";e.exports=function(e,t){var i=e.reduce,r=e.all;function a(){return r(this)}e.prototype.each=function(e){return i(this,e,t,0)._then(a,void 0,void 0,this,void 0)},e.prototype.mapSeries=function(e){return i(this,e,t,t)},e.each=function(e,r){return i(e,r,t,0)._then(a,void 0,void 0,e,void 0)},e.mapSeries=function(e,r){return i(e,r,t,t)}}},function(e,t,i){"use strict";e.exports=function(e,t){var i=e.map;e.prototype.filter=function(e,r){return i(this,e,r,t)},e.filter=function(e,r,a){return i(e,r,a,t)}}},function(e,t,i){"use strict";var r=i(444),a=i(264),s=i(261),n=i(171);e.exports=function(e){var t="Please verify options";if(!n(e))throw new TypeError(t);if(!s(e.request))throw new TypeError(t+".request");if(!a(e.expose)||0===e.expose.length)throw new TypeError(t+".expose");for(var i=r({PromiseImpl:e.PromiseImpl,constructorMixin:e.constructorMixin}),o=e.request.Request.prototype.init,c=!(e.request.Request.prototype.init=function(e){return!n(e)||this._callback||this._rp_promise||i.init.call(this,e),o.apply(this,arguments)}),u=0;u<e.expose.length;u+=1){var h=e.expose[u];i["promise"===h?"exposePromise":"exposePromiseMethod"](e.request.Request.prototype,null,"_rp_promise",h),"then"===h&&(c=!0)}if(!c)throw new Error('Please expose "then"')}},function(e,t,i){"use strict";var r=i(445),a=i(261),s=i(171),n=i(451),o=i(452);e.exports=function(e){var t,i,c,u="Please verify options";if(!s(e))throw new TypeError(u);if(a(e.PromiseImpl)&&(o(e.constructorMixin)||a(e.constructorMixin)))return t=e.PromiseImpl,i=e.constructorMixin,c={init:function(e){var r=this;r._rp_promise=new t((function(e,t){r._rp_resolve=e,r._rp_reject=t,i&&i.apply(r,arguments)})),r._rp_callbackOrig=e.callback,e.callback=r.callback=function(e,t,i){c.callback.call(r,e,t,i)},n(e.method)&&(e.method=e.method.toUpperCase()),e.transform=e.transform||c.defaultTransformations[e.method],r._rp_options=e,r._rp_options.simple=!1!==e.simple,r._rp_options.resolveWithFullResponse=!0===e.resolveWithFullResponse,r._rp_options.transform2xxOnly=!0===e.transform2xxOnly},defaultTransformations:{HEAD:function(e,t,i){return i?t:t.headers}},callback:function(e,i,s){var n=this,o=!1,c=null;if(a(n._rp_callbackOrig))try{n._rp_callbackOrig.apply(n,arguments)}catch(e){o=!0,c=e}var u=!e&&/^2/.test(""+i.statusCode);if(e?n._rp_reject(new r.RequestError(e,n._rp_options,i)):n._rp_options.simple&&!u?a(n._rp_options.transform)&&!1===n._rp_options.transform2xxOnly?new t((function(e){e(n._rp_options.transform(s,i,n._rp_options.resolveWithFullResponse))})).then((function(e){n._rp_reject(new r.StatusCodeError(i.statusCode,s,n._rp_options,e))})).catch((function(e){n._rp_reject(new r.TransformError(e,n._rp_options,i))})):n._rp_reject(new r.StatusCodeError(i.statusCode,s,n._rp_options,i)):a(n._rp_options.transform)&&(u||!1===n._rp_options.transform2xxOnly)?new t((function(e){e(n._rp_options.transform(s,i,n._rp_options.resolveWithFullResponse))})).then((function(e){n._rp_resolve(e)})).catch((function(e){n._rp_reject(new r.TransformError(e,n._rp_options,i))})):n._rp_options.resolveWithFullResponse?n._rp_resolve(i):n._rp_resolve(s),o)throw c},exposePromiseMethod:function(e,t,i,r,a){if((a=a||r)in e)throw new Error('Unable to expose method "'+a+'"');e[a]=function(){var e=t||this;return e[i][r].apply(e[i],arguments)}},exposePromise:function(e,t,i,r){if((r=r||"promise")in e)throw new Error('Unable to expose method "'+r+'"');e[r]=function(){return(t||this)[i]}}};throw new TypeError(u+".PromiseImpl")}},function(e,t,i){"use strict";function r(e,t,i){this.name="RequestError",this.message=String(e),this.cause=e,this.error=e,this.options=t,this.response=i,Error.captureStackTrace&&Error.captureStackTrace(this)}function a(e,t,i,r){this.name="StatusCodeError",this.statusCode=e,this.message=e+" - "+(JSON&&JSON.stringify?JSON.stringify(t):t),this.error=t,this.options=i,this.response=r,Error.captureStackTrace&&Error.captureStackTrace(this)}function s(e,t,i){this.name="TransformError",this.message=String(e),this.cause=e,this.error=e,this.options=t,this.response=i,Error.captureStackTrace&&Error.captureStackTrace(this)}(r.prototype=Object.create(Error.prototype)).constructor=r,(a.prototype=Object.create(Error.prototype)).constructor=a,s.prototype=Object.create(Error.prototype),e.exports={RequestError:r,StatusCodeError:a,TransformError:s.prototype.constructor=s}},function(e,t,i){i=i(447);var r="object"==typeof self&&self&&self.Object===Object&&self;i=i||r||Function("return this")();e.exports=i},function(e,t){var i="object"==typeof global&&global&&global.Object===Object&&global;e.exports=i},function(e,t,i){i=i(263);var r=Object.prototype,a=r.hasOwnProperty,s=r.toString,n=i?i.toStringTag:void 0;e.exports=function(e){var t=a.call(e,n),i=e[n];try{var r=!(e[n]=void 0)}catch(e){}var o=s.call(e);return r&&(t?e[n]=i:delete e[n]),o}},function(e,t){var i=Object.prototype.toString;e.exports=function(e){return i.call(e)}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,i){var r=i(262),a=i(264),s=i(171);e.exports=function(e){return"string"==typeof e||!a(e)&&s(e)&&"[object String]"==r(e)}},function(e,t){e.exports=function(e){return void 0===e}},function(e,t,i){"use strict";var r=/\.node$/;function a(e,t){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t(i)}function s(e,t){return a(t,(function(i){e[i]=t[i]})),e}function n(e){a(e,(function(t){r.test(t)||delete e[t]}))}e.exports=function(e,t,i,r){var o=s({},e);if(n(e),i){var c=!!r.children&&r.children.slice(),u=(i(),[]);a(e,(function(e){u.push(e)})),n(e),r.children&&(r.children=c);for(var h=0;h<u.length;h+=1)o[u[h]]&&(e[u[h]]=o[u[h]])}r=t();var l=!!i&&s({},e);if(n(e),i)for(var p=0;p<u.length;p+=1)l[u[p]]&&(e[u[p]]=l[u[p]]);return s(e,o),r}},function(e,t,i){"use strict";var r=i(268),a={};a.rules=i(455).map((function(e){return{rule:e,suffix:e.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:"*"===e.charAt(0),exception:"!"===e.charAt(0)}})),a.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},a.findRule=function(e){var t=r.toASCII(e);return a.rules.reduce((function(e,i){return-1===i.punySuffix&&(i.punySuffix=r.toASCII(i.suffix)),a.endsWith(t,"."+i.punySuffix)||t===i.punySuffix?i:e}),null)},t.errorCodes={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},a.validate=function(e){if((e=r.toASCII(e)).length<1)return"DOMAIN_TOO_SHORT";if(255<e.length)return"DOMAIN_TOO_LONG";for(var t,i=e.split("."),a=0;a<i.length;++a){if(!(t=i[a]).length)return"LABEL_TOO_SHORT";if(63<t.length)return"LABEL_TOO_LONG";if("-"===t.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===t.charAt(t.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-]+$/.test(t))return"LABEL_INVALID_CHARS"}},t.parse=function(e){if("string"!=typeof e)throw new TypeError("Domain name must be a string.");var i=e.slice(0).toLowerCase();if(c=("."===i.charAt(i.length-1)&&(i=i.slice(0,i.length-1)),a.validate(i)))return{input:e,error:{message:t.errorCodes[c],code:c}};var s={input:e,tld:null,sld:null,domain:null,subdomain:null,listed:!1};if("local"===(c=i.split("."))[c.length-1])return s;function n(){return/xn--/.test(i)&&(s.domain&&(s.domain=r.toASCII(s.domain)),s.subdomain)&&(s.subdomain=r.toASCII(s.subdomain)),s}if(!(e=a.findRule(i)))return c.length<2?s:(s.tld=c.pop(),s.sld=c.pop(),s.domain=[s.sld,s.tld].join("."),c.length&&(s.subdomain=c.pop()),n());s.listed=!0;var o=e.suffix.split("."),c=c.slice(0,c.length-o.length);return e.exception&&c.push(o.shift()),s.tld=o.join("."),c.length&&(e.wildcard&&(o.unshift(c.pop()),s.tld=o.join(".")),c.length)&&(s.sld=c.pop(),s.domain=[s.sld,s.tld].join("."),c.length)&&(s.subdomain=c.join(".")),n()},t.get=function(e){return e&&t.parse(e).domain||null},t.isValid=function(e){return e=t.parse(e),Boolean(e.domain&&e.listed)}},function(e){e.exports=JSON.parse('["ac","com.ac","edu.ac","gov.ac","net.ac","mil.ac","org.ac","ad","nom.ad","ae","co.ae","net.ae","org.ae","sch.ae","ac.ae","gov.ae","mil.ae","aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","aircraft.aero","airline.aero","airport.aero","air-surveillance.aero","airtraffic.aero","air-traffic-control.aero","ambulance.aero","amusement.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","gov.af","com.af","org.af","net.af","edu.af","ag","com.ag","org.ag","net.ag","co.ag","nom.ag","ai","off.ai","com.ai","net.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","ed.ao","gv.ao","og.ao","co.ao","pb.ao","it.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","co.at","gv.at","or.at","sth.ac.at","au","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","com.az","net.az","int.az","gov.az","org.az","edu.az","info.az","pp.az","mil.az","name.az","pro.az","biz.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","bh","com.bh","edu.bh","net.bh","org.bh","gov.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","asso.bj","barreau.bj","gouv.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","org.bo","net.bo","mil.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","politica.bo","profesional.bo","plurinacional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","net.bs","org.bs","edu.bs","gov.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","com.bz","net.bz","org.bz","edu.bz","gov.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","org.ci","or.ci","com.ci","co.ci","edu.ci","ed.ci","ac.ci","net.ci","go.ci","asso.ci","aéroport.ci","int.ci","presse.ci","md.ci","gouv.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","net.cn","org.cn","mil.cn","公司.cn","网络.cn","網絡.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","hk.cn","mo.cn","tw.cn","co","arts.co","com.co","edu.co","firm.co","gov.co","info.co","int.co","mil.co","net.co","nom.co","org.co","rec.co","web.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","org.cu","net.cu","gov.cu","inf.cu","cv","com.cv","edu.cv","int.cv","nome.cv","org.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","com.dm","net.dm","org.dm","edu.dm","gov.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","org.dz","net.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","info.ec","net.ec","fin.ec","k12.ec","med.ec","pro.ec","org.ec","edu.ec","gov.ec","gob.ec","mil.ec","edu","ee","edu.ee","gov.ee","riik.ee","lib.ee","med.ee","com.ee","pri.ee","aip.ee","org.ee","fie.ee","eg","com.eg","edu.eg","eun.eg","gov.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","*.er","es","com.es","nom.es","org.es","gob.es","edu.es","et","com.et","gov.et","org.et","edu.et","biz.et","name.et","info.et","net.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","com.fm","edu.fm","net.fm","org.fm","fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","aeroport.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","ga","gb","edu.gd","gov.gd","gd","ge","com.ge","edu.ge","gov.ge","org.ge","mil.ge","net.ge","pvt.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","org.gh","mil.gh","gi","com.gi","ltd.gi","gov.gi","mod.gi","edu.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","org.gn","net.gn","gov","gp","com.gp","net.gp","mobi.gp","edu.gp","org.gp","asso.gp","gq","gr","com.gr","edu.gr","net.gr","org.gr","gov.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","公司.hk","教育.hk","敎育.hk","政府.hk","個人.hk","个��.hk","箇人.hk","網络.hk","网络.hk","组織.hk","網絡.hk","网絡.hk","组织.hk","組織.hk","組织.hk","hm","hn","com.hn","edu.hn","org.hn","net.hn","mil.hn","gob.hn","hr","iz.hr","from.hr","name.hr","com.hr","ht","com.ht","shop.ht","firm.ht","info.ht","adult.ht","net.ht","pro.ht","org.ht","med.ht","art.ht","coop.ht","pol.ht","asso.ht","edu.ht","rel.ht","gouv.ht","perso.ht","hu","co.hu","info.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","im","ac.im","co.im","com.im","ltd.co.im","net.im","org.im","plc.co.im","tt.im","tv.im","in","co.in","firm.in","net.in","org.in","gen.in","ind.in","nic.in","ac.in","edu.in","res.in","gov.in","mil.in","info","int","eu.int","io","com.io","iq","gov.iq","edu.iq","mil.iq","com.iq","org.iq","net.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","net.is","com.is","edu.is","gov.is","org.is","int.is","it","gov.it","edu.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentino.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","balsan.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano-altoadige.it","bolzano.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","bozen.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bulsan.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza-brianza.it","monza-e-della-brianza.it","monza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","suedtirol.it","südtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","com.jo","org.jo","net.jo","edu.jo","sch.jo","gov.jo","mil.jo","name.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","栃木.jp","愛知.jp","愛媛.jp","兵庫.jp","熊本.jp","茨城.jp","北海道.jp","千葉.jp","和歌山.jp","長崎.jp","長野.jp","新潟.jp","青森.jp","静岡.jp","東京.jp","石川.jp","埼玉.jp","三重.jp","京都.jp","佐賀.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岩手.jp","岐阜.jp","岡山.jp","島根.jp","広島.jp","徳島.jp","沖縄.jp","滋賀.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","!city.kawasaki.jp","!city.kitakyushu.jp","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","org.kg","net.kg","com.kg","edu.kg","gov.kg","mil.kg","*.kh","ki","edu.ki","biz.ki","net.ki","org.ki","gov.ki","info.ki","com.ki","km","org.km","nom.km","gov.km","prd.km","tm.km","edu.km","mil.km","ass.km","com.km","coop.km","asso.km","presse.km","medecin.km","notaires.km","pharmaciens.km","veterinaire.km","gouv.km","kn","net.kn","org.kn","edu.kn","gov.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","org.kz","edu.kz","net.kz","gov.kz","mil.kz","com.kz","la","int.la","net.la","info.la","edu.la","gov.la","per.la","com.la","org.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","com.lc","net.lc","co.lc","org.lc","edu.lc","gov.lc","li","lk","gov.lk","sch.lk","net.lk","int.lk","com.lk","org.lk","edu.lk","ngo.lk","soc.lk","web.lk","ltd.lk","assn.lk","grp.lk","hotel.lk","ac.lk","lr","com.lr","edu.lr","gov.lr","org.lr","net.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","com.lv","edu.lv","gov.lv","org.lv","mil.lv","id.lv","net.lv","asn.lv","conf.lv","ly","com.ly","net.ly","gov.ly","plc.ly","edu.ly","sch.ly","med.ly","org.ly","id.ly","ma","co.ma","net.ma","gov.ma","org.ma","ac.ma","press.ma","mc","tm.mc","asso.mc","md","me","co.me","net.me","org.me","edu.me","ac.me","gov.me","its.me","priv.me","mg","org.mg","nom.mg","gov.mg","prd.mg","tm.mg","edu.mg","mil.mg","com.mg","co.mg","mh","mil","mk","com.mk","org.mk","net.mk","edu.mk","gov.mk","inf.mk","name.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","gov.mn","edu.mn","org.mn","mo","com.mo","net.mo","org.mo","edu.mo","gov.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","com.mu","net.mu","org.mu","gov.mu","ac.mu","co.mu","or.mu","museum","academy.museum","agriculture.museum","air.museum","airguard.museum","alabama.museum","alaska.museum","amber.museum","ambulance.museum","american.museum","americana.museum","americanantiques.museum","americanart.museum","amsterdam.museum","and.museum","annefrank.museum","anthro.museum","anthropology.museum","antiques.museum","aquarium.museum","arboretum.museum","archaeological.museum","archaeology.museum","architecture.museum","art.museum","artanddesign.museum","artcenter.museum","artdeco.museum","arteducation.museum","artgallery.museum","arts.museum","artsandcrafts.museum","asmatart.museum","assassination.museum","assisi.museum","association.museum","astronomy.museum","atlanta.museum","austin.museum","australia.museum","automotive.museum","aviation.museum","axis.museum","badajoz.museum","baghdad.museum","bahn.museum","bale.museum","baltimore.museum","barcelona.museum","baseball.museum","basel.museum","baths.museum","bauern.museum","beauxarts.museum","beeldengeluid.museum","bellevue.museum","bergbau.museum","berkeley.museum","berlin.museum","bern.museum","bible.museum","bilbao.museum","bill.museum","birdart.museum","birthplace.museum","bonn.museum","boston.museum","botanical.museum","botanicalgarden.museum","botanicgarden.museum","botany.museum","brandywinevalley.museum","brasil.museum","bristol.museum","british.museum","britishcolumbia.museum","broadcast.museum","brunel.museum","brussel.museum","brussels.museum","bruxelles.museum","building.museum","burghof.museum","bus.museum","bushey.museum","cadaques.museum","california.museum","cambridge.museum","can.museum","canada.museum","capebreton.museum","carrier.museum","cartoonart.museum","casadelamoneda.museum","castle.museum","castres.museum","celtic.museum","center.museum","chattanooga.museum","cheltenham.museum","chesapeakebay.museum","chicago.museum","children.museum","childrens.museum","childrensgarden.museum","chiropractic.museum","chocolate.museum","christiansburg.museum","cincinnati.museum","cinema.museum","circus.museum","civilisation.museum","civilization.museum","civilwar.museum","clinton.museum","clock.museum","coal.museum","coastaldefence.museum","cody.museum","coldwar.museum","collection.museum","colonialwilliamsburg.museum","coloradoplateau.museum","columbia.museum","columbus.museum","communication.museum","communications.museum","community.museum","computer.museum","computerhistory.museum","comunicações.museum","contemporary.museum","contemporaryart.museum","convent.museum","copenhagen.museum","corporation.museum","correios-e-telecomunicações.museum","corvette.museum","costume.museum","countryestate.museum","county.museum","crafts.museum","cranbrook.museum","creation.museum","cultural.museum","culturalcenter.museum","culture.museum","cyber.museum","cymru.museum","dali.museum","dallas.museum","database.museum","ddr.museum","decorativearts.museum","delaware.museum","delmenhorst.museum","denmark.museum","depot.museum","design.museum","detroit.museum","dinosaur.museum","discovery.museum","dolls.museum","donostia.museum","durham.museum","eastafrica.museum","eastcoast.museum","education.museum","educational.museum","egyptian.museum","eisenbahn.museum","elburg.museum","elvendrell.museum","embroidery.museum","encyclopedic.museum","england.museum","entomology.museum","environment.museum","environmentalconservation.museum","epilepsy.museum","essex.museum","estate.museum","ethnology.museum","exeter.museum","exhibition.museum","family.museum","farm.museum","farmequipment.museum","farmers.museum","farmstead.museum","field.museum","figueres.museum","filatelia.museum","film.museum","fineart.museum","finearts.museum","finland.museum","flanders.museum","florida.museum","force.museum","fortmissoula.museum","fortworth.museum","foundation.museum","francaise.museum","frankfurt.museum","franziskaner.museum","freemasonry.museum","freiburg.museum","fribourg.museum","frog.museum","fundacio.museum","furniture.museum","gallery.museum","garden.museum","gateway.museum","geelvinck.museum","gemological.museum","geology.museum","georgia.museum","giessen.museum","glas.museum","glass.museum","gorge.museum","grandrapids.museum","graz.museum","guernsey.museum","halloffame.museum","hamburg.museum","handson.museum","harvestcelebration.museum","hawaii.museum","health.museum","heimatunduhren.museum","hellas.museum","helsinki.museum","hembygdsforbund.museum","heritage.museum","histoire.museum","historical.museum","historicalsociety.museum","historichouses.museum","historisch.museum","historisches.museum","history.museum","historyofscience.museum","horology.museum","house.museum","humanities.museum","illustration.museum","imageandsound.museum","indian.museum","indiana.museum","indianapolis.museum","indianmarket.museum","intelligence.museum","interactive.museum","iraq.museum","iron.museum","isleofman.museum","jamison.museum","jefferson.museum","jerusalem.museum","jewelry.museum","jewish.museum","jewishart.museum","jfk.museum","journalism.museum","judaica.museum","judygarland.museum","juedisches.museum","juif.museum","karate.museum","karikatur.museum","kids.museum","koebenhavn.museum","koeln.museum","kunst.museum","kunstsammlung.museum","kunstunddesign.museum","labor.museum","labour.museum","lajolla.museum","lancashire.museum","landes.museum","lans.museum","läns.museum","larsson.museum","lewismiller.museum","lincoln.museum","linz.museum","living.museum","livinghistory.museum","localhistory.museum","london.museum","losangeles.museum","louvre.museum","loyalist.museum","lucerne.museum","luxembourg.museum","luzern.museum","mad.museum","madrid.museum","mallorca.museum","manchester.museum","mansion.museum","mansions.museum","manx.museum","marburg.museum","maritime.museum","maritimo.museum","maryland.museum","marylhurst.museum","media.museum","medical.museum","medizinhistorisches.museum","meeres.museum","memorial.museum","mesaverde.museum","michigan.museum","midatlantic.museum","military.museum","mill.museum","miners.museum","mining.museum","minnesota.museum","missile.museum","missoula.museum","modern.museum","moma.museum","money.museum","monmouth.museum","monticello.museum","montreal.museum","moscow.museum","motorcycle.museum","muenchen.museum","muenster.museum","mulhouse.museum","muncie.museum","museet.museum","museumcenter.museum","museumvereniging.museum","music.museum","national.museum","nationalfirearms.museum","nationalheritage.museum","nativeamerican.museum","naturalhistory.museum","naturalhistorymuseum.museum","naturalsciences.museum","nature.museum","naturhistorisches.museum","natuurwetenschappen.museum","naumburg.museum","naval.museum","nebraska.museum","neues.museum","newhampshire.museum","newjersey.museum","newmexico.museum","newport.museum","newspaper.museum","newyork.museum","niepce.museum","norfolk.museum","north.museum","nrw.museum","nyc.museum","nyny.museum","oceanographic.museum","oceanographique.museum","omaha.museum","online.museum","ontario.museum","openair.museum","oregon.museum","oregontrail.museum","otago.museum","oxford.museum","pacific.museum","paderborn.museum","palace.museum","paleo.museum","palmsprings.museum","panama.museum","paris.museum","pasadena.museum","pharmacy.museum","philadelphia.museum","philadelphiaarea.museum","philately.museum","phoenix.museum","photography.museum","pilots.museum","pittsburgh.museum","planetarium.museum","plantation.museum","plants.museum","plaza.museum","portal.museum","portland.museum","portlligat.museum","posts-and-telecommunications.museum","preservation.museum","presidio.museum","press.museum","project.museum","public.museum","pubol.museum","quebec.museum","railroad.museum","railway.museum","research.museum","resistance.museum","riodejaneiro.museum","rochester.museum","rockart.museum","roma.museum","russia.museum","saintlouis.museum","salem.museum","salvadordali.museum","salzburg.museum","sandiego.museum","sanfrancisco.museum","santabarbara.museum","santacruz.museum","santafe.museum","saskatchewan.museum","satx.museum","savannahga.museum","schlesisches.museum","schoenbrunn.museum","schokoladen.museum","school.museum","schweiz.museum","science.museum","scienceandhistory.museum","scienceandindustry.museum","sciencecenter.museum","sciencecenters.museum","science-fiction.museum","sciencehistory.museum","sciences.museum","sciencesnaturelles.museum","scotland.museum","seaport.museum","settlement.museum","settlers.museum","shell.museum","sherbrooke.museum","sibenik.museum","silk.museum","ski.museum","skole.museum","society.museum","sologne.museum","soundandvision.museum","southcarolina.museum","southwest.museum","space.museum","spy.museum","square.museum","stadt.museum","stalbans.museum","starnberg.museum","state.museum","stateofdelaware.museum","station.museum","steam.museum","steiermark.museum","stjohn.museum","stockholm.museum","stpetersburg.museum","stuttgart.museum","suisse.museum","surgeonshall.museum","surrey.museum","svizzera.museum","sweden.museum","sydney.museum","tank.museum","tcm.museum","technology.museum","telekommunikation.museum","television.museum","texas.museum","textile.museum","theater.museum","time.museum","timekeeping.museum","topology.museum","torino.museum","touch.museum","town.museum","transport.museum","tree.museum","trolley.museum","trust.museum","trustee.museum","uhren.museum","ulm.museum","undersea.museum","university.museum","usa.museum","usantiques.museum","usarts.museum","uscountryestate.museum","usculture.museum","usdecorativearts.museum","usgarden.museum","ushistory.museum","ushuaia.museum","uslivinghistory.museum","utah.museum","uvic.museum","valley.museum","vantaa.museum","versailles.museum","viking.museum","village.museum","virginia.museum","virtual.museum","virtuel.museum","vlaanderen.museum","volkenkunde.museum","wales.museum","wallonie.museum","war.museum","washingtondc.museum","watchandclock.museum","watch-and-clock.museum","western.museum","westfalen.museum","whaling.museum","wildlife.museum","williamsburg.museum","windmill.museum","workshop.museum","york.museum","yorkshire.museum","yosemite.museum","youth.museum","zoological.museum","zoology.museum","ירושלים.museum","иком.museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","museum.mw","net.mw","org.mw","mx","com.mx","org.mx","gob.mx","edu.mx","net.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","info.na","pro.na","name.na","school.na","or.na","dr.na","us.na","mx.na","ca.na","in.na","cc.na","tv.na","ws.na","mobi.na","co.na","com.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","com.nf","net.nf","per.nf","rec.nf","web.nf","arts.nf","firm.nf","info.nf","other.nf","store.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","vgs.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","stat.no","dep.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","brumunddal.no","bryne.no","bronnoysund.no","brønnøysund.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","afjord.no","åfjord.no","agdenes.no","al.no","ål.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alaheadju.no","álaheadju.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andebu.no","andoy.no","andøy.no","andasuolo.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askvoll.no","askoy.no","askøy.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","balestrand.no","ballangen.no","balat.no","bálát.no","balsfjord.no","bahccavuotna.no","báhccavuotna.no","bamble.no","bardu.no","beardu.no","beiarn.no","bajddar.no","bájddar.no","baidar.no","báidár.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bearalvahki.no","bearalváhki.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","badaddja.no","bådåddjå.no","budejju.no","bokn.no","bremanger.no","bronnoy.no","brønnøy.no","bygland.no","bykle.no","barum.no","bærum.no","bo.telemark.no","bø.telemark.no","bo.nordland.no","bø.nordland.no","bievat.no","bievát.no","bomlo.no","bømlo.no","batsfjord.no","båtsfjord.no","bahcavuotna.no","báhcavuotna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","donna.no","dønna.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenes.no","evenassi.no","evenášši.no","evje-og-hornnes.no","farsund.no","fauske.no","fuossko.no","fuoisku.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","fla.no","flå.no","folldal.no","forsand.no","fosnes.no","frei.no","frogn.no","froland.no","frosta.no","frana.no","fræna.no","froya.no","frøya.no","fusa.no","fyresdal.no","forde.no","førde.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","kraanghke.no","kråanghke.no","grue.no","gulen.no","hadsel.no","halden.no","halsa.no","hamar.no","hamaroy.no","habmer.no","hábmer.no","hapmir.no","hápmir.no","hammerfest.no","hammarfeasta.no","hámmárfeasta.no","haram.no","hareid.no","harstad.no","hasvik.no","aknoluokta.no","ákŋoluokta.no","hattfjelldal.no","aarborte.no","haugesund.no","hemne.no","hemnes.no","hemsedal.no","heroy.more-og-romsdal.no","herøy.møre-og-romsdal.no","heroy.nordland.no","herøy.nordland.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","hornindal.no","horten.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","hagebostad.no","hægebostad.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","ha.no","hå.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","jevnaker.no","jondal.no","jolster.no","jølster.no","karasjok.no","karasjohka.no","kárášjohka.no","karlsoy.no","galsa.no","gálsá.no","karmoy.no","karmøy.no","kautokeino.no","guovdageaidnu.no","klepp.no","klabu.no","klæbu.no","kongsberg.no","kongsvinger.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvalsund.no","rahkkeravju.no","ráhkkerávju.no","kvam.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","kvafjord.no","kvæfjord.no","giehtavuoatna.no","kvanangen.no","kvænangen.no","navuotna.no","návuotna.no","kafjord.no","kåfjord.no","gaivuotna.no","gáivuotna.no","larvik.no","lavangen.no","lavagis.no","loabat.no","loabát.no","lebesby.no","davvesiida.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","leangaviika.no","leaŋgaviika.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindesnes.no","lindas.no","lindås.no","lom.no","loppa.no","lahppi.no","láhppi.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","ivgu.no","lardal.no","lerdal.no","lærdal.no","lodingen.no","lødingen.no","lorenskog.no","lørenskog.no","loten.no","løten.no","malvik.no","masoy.no","måsøy.no","muosat.no","muosát.no","mandal.no","marker.no","marnardal.no","masfjorden.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","moareke.no","moåreke.no","midsund.no","midtre-gauldal.no","modalen.no","modum.no","molde.no","moskenes.no","moss.no","mosvik.no","malselv.no","målselv.no","malatvuopmi.no","málatvuopmi.no","namdalseid.no","aejrie.no","namsos.no","namsskogan.no","naamesjevuemie.no","nååmesjevuemie.no","laakesvuemie.no","nannestad.no","narvik.no","narviika.no","naustdal.no","nedre-eiker.no","nes.akershus.no","nes.buskerud.no","nesna.no","nesodden.no","nesseby.no","unjarga.no","unjárga.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","davvenjarga.no","davvenjárga.no","nordre-land.no","nordreisa.no","raisa.no","ráisa.no","nore-og-uvdal.no","notodden.no","naroy.no","nærøy.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","os.hedmark.no","os.hordaland.no","osen.no","osteroy.no","osterøy.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","radoy.no","radøy.no","rakkestad.no","rana.no","ruovat.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","rissa.no","risor.no","risør.no","roan.no","rollag.no","rygge.no","ralingen.no","rælingen.no","rodoy.no","rødøy.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","rade.no","råde.no","salangen.no","siellak.no","saltdal.no","salat.no","sálát.no","sálat.no","samnanger.no","sande.more-og-romsdal.no","sande.møre-og-romsdal.no","sande.vestfold.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","sigdal.no","siljan.no","sirdal.no","skaun.no","skedsmo.no","ski.no","skien.no","skiptvet.no","skjervoy.no","skjervøy.no","skierva.no","skiervá.no","skjak.no","skjåk.no","skodje.no","skanland.no","skånland.no","skanit.no","skánit.no","smola.no","smøla.no","snillfjord.no","snasa.no","snåsa.no","snoasa.no","snaase.no","snåase.no","sogndal.no","sokndal.no","sola.no","solund.no","songdalen.no","sortland.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","omasvuotna.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","sogne.no","søgne.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","matta-varjjat.no","mátta-várjjat.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sorum.no","sørum.no","tana.no","deatnu.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","dielddanuorri.no","tjome.no","tjøme.no","tokke.no","tolga.no","torsken.no","tranoy.no","tranøy.no","tromso.no","tromsø.no","tromsa.no","romsa.no","trondheim.no","troandin.no","trysil.no","trana.no","træna.no","trogstad.no","trøgstad.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","divtasvuodna.no","divttasvuotna.no","tysnes.no","tysvar.no","tysvær.no","tonsberg.no","tønsberg.no","ullensaker.no","ullensvang.no","ulvik.no","utsira.no","vadso.no","vadsø.no","cahcesuolo.no","čáhcesuolo.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","vefsn.no","vaapste.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","volda.no","voss.no","varoy.no","værøy.no","vagan.no","vågan.no","voagat.no","vagsoy.no","vågsøy.no","vaga.no","vågå.no","valer.ostfold.no","våler.østfold.no","valer.hedmark.no","våler.hedmark.no","*.np","nr","biz.nr","info.nr","gov.nr","edu.nr","org.nr","net.nr","com.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","mil.nz","māori.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","ac.pa","gob.pa","com.pa","org.pa","sld.pa","edu.pa","net.pa","ing.pa","abo.pa","med.pa","nom.pa","pe","edu.pe","gob.pe","nom.pe","mil.pe","org.pe","com.pe","net.pe","pf","com.pf","org.pf","edu.pf","*.pg","ph","com.ph","net.ph","org.ph","gov.ph","edu.ph","ngo.ph","mil.ph","i.ph","pk","com.pk","net.pk","edu.pk","org.pk","fam.pk","biz.pk","web.pk","gov.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","pl","com.pl","net.pl","org.pl","aid.pl","agro.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","miasta.pl","media.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","ic.gov.pl","is.gov.pl","us.gov.pl","kmpsp.gov.pl","kppsp.gov.pl","kwpsp.gov.pl","psp.gov.pl","wskr.gov.pl","kwp.gov.pl","mw.gov.pl","ug.gov.pl","um.gov.pl","umig.gov.pl","ugim.gov.pl","upow.gov.pl","uw.gov.pl","starostwo.gov.pl","pa.gov.pl","po.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","so.gov.pl","sr.gov.pl","wsa.gov.pl","sko.gov.pl","uzs.gov.pl","wiih.gov.pl","winb.gov.pl","pinb.gov.pl","wios.gov.pl","witd.gov.pl","wzmiuw.gov.pl","piw.gov.pl","wiw.gov.pl","griw.gov.pl","wif.gov.pl","oum.gov.pl","sdn.gov.pl","zp.gov.pl","uppo.gov.pl","mup.gov.pl","wuoz.gov.pl","konsulat.gov.pl","oirm.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","kazimierz-dolny.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorze.pl","pomorskie.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","skoczow.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","gov.pn","co.pn","org.pn","edu.pn","net.pn","post","pr","com.pr","net.pr","org.pr","gov.pr","edu.pr","isla.pr","pro.pr","biz.pr","info.pr","name.pr","est.pr","prof.pr","ac.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","edu.ps","gov.ps","sec.ps","plo.ps","com.ps","org.ps","net.ps","pt","net.pt","gov.pt","org.pt","edu.pt","int.pt","publ.pt","com.pt","nome.pt","pw","co.pw","ne.pw","or.pw","ed.pw","go.pw","belau.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","nom.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","net.sa","org.sa","gov.sa","med.sa","pub.sa","edu.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","gov.sc","net.sc","org.sc","edu.sc","sd","com.sd","net.sd","org.sd","edu.sd","med.sd","tv.sd","gov.sd","info.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","net.sg","org.sg","gov.sg","edu.sg","per.sg","sh","com.sh","net.sh","gov.sh","org.sh","mil.sh","si","sj","sk","sl","com.sl","net.sl","edu.sl","gov.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","edu.sy","gov.sy","net.sy","mil.sy","com.sy","org.sy","sz","co.sz","ac.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","com.tm","co.tm","org.tm","net.tm","nom.tm","gov.tm","mil.tm","edu.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","gov.to","net.to","org.to","edu.to","mil.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","mil.tr","k12.tr","kep.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","co.tt","com.tt","org.tt","net.tt","biz.tt","info.tt","pro.tt","int.tt","coop.tt","jobs.tt","mobi.tt","travel.tt","museum.tt","aero.tt","name.tt","gov.tt","edu.tt","tv","tw","edu.tw","gov.tw","mil.tw","com.tw","net.tw","org.tw","idv.tw","game.tw","ebiz.tw","club.tw","網路.tw","組織.tw","商業.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","co.ug","or.ug","ac.ug","sc.ug","go.ug","ne.ug","com.ug","org.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","vi.us","vt.us","va.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.de.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.vi.us","k12.vt.us","k12.va.us","k12.wa.us","k12.wi.us","k12.wy.us","cc.ak.us","cc.al.us","cc.ar.us","cc.as.us","cc.az.us","cc.ca.us","cc.co.us","cc.ct.us","cc.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.vi.us","cc.vt.us","cc.va.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","lib.ak.us","lib.al.us","lib.ar.us","lib.as.us","lib.az.us","lib.ca.us","lib.co.us","lib.ct.us","lib.dc.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.vi.us","lib.vt.us","lib.va.us","lib.wa.us","lib.wi.us","lib.wy.us","pvt.k12.ma.us","chtr.k12.ma.us","paroch.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","net.vc","org.vc","gov.vc","mil.vc","edu.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","net.ws","org.ws","gov.ws","edu.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","公司.香港","教育.香港","政府.香港","個人.香港","網絡.香港","組織.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","пр.срб","орг.срб","обр.срб","од.срб","упр.срб","ак.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ศึกษา.ไทย","ธุรกิจ.ไทย","รัฐบาล.ไทย","ทหาร.ไทย","เน็ต.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","net.ye","mil.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","adac","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aws","axa","azure","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","bugatti","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","cbs","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","etisalat","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","guardian","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kinder","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","mutual","nab","nagoya","natura","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","northwesternmutual","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocher","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volkswagen","volvo","vote","voting","voto","voyage","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","诺基亚","食品","飞利浦","手机","ارامكو","العليان","اتصالات","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","cc.ua","inf.ua","ltd.ua","611.to","graphox.us","*.devcdnaccesso.com","adobeaemcloud.com","*.dev.adobeaemcloud.com","hlx.live","adobeaemcloud.net","hlx.page","hlx3.page","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","cloudfront.net","*.compute.amazonaws.com","*.compute-1.amazonaws.com","*.compute.amazonaws.com.cn","us-east-1.amazonaws.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com","*.elb.amazonaws.com.cn","awsglobalaccelerator.com","s3.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3.ap-south-1.amazonaws.com","s3.cn-north-1.amazonaws.com.cn","s3.ca-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3.eu-west-2.amazonaws.com","s3.eu-west-3.amazonaws.com","s3.us-east-2.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3-website.us-east-2.amazonaws.com","t3l3p0rt.net","tele.amune.org","apigee.io","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","backplaneapp.io","balena-devices.com","rs.ba","*.banzai.cloud","app.banzaicloud.io","*.backyards.banzaicloud.io","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","*.beget.app","betainabox.com","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","shop.brendly.rs","browsersafetymark.io","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","mycd.eu","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","ae.org","br.com","cn.com","com.de","com.se","de.com","eu.com","gb.net","hu.net","jp.net","jpn.com","mex.com","ru.com","sa.com","se.net","uk.com","uk.net","us.com","za.bz","za.com","ar.com","hu.com","kr.com","no.com","qc.com","uy.com","africa.com","gr.com","in.net","web.in","us.org","co.com","aus.basketball","nz.basketball","radio.am","radio.fm","c.la","certmgr.org","cx.ua","discourse.group","discourse.team","cleverapps.io","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","clickrising.net","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","cloudcontrolled.com","cloudcontrolapp.com","*.cloudera.site","pages.dev","trycloudflare.com","workers.dev","wnext.app","co.ca","*.otap.co","co.cz","c.cdn77.org","cdn77-ssl.net","r.cdn77.net","rsc.cdn77.org","ssl.origin.cdn77-secure.org","cloudns.asia","cloudns.biz","cloudns.club","cloudns.cc","cloudns.eu","cloudns.in","cloudns.info","cloudns.org","cloudns.pro","cloudns.pw","cloudns.us","cnpy.gdn","codeberg.page","co.nl","co.no","webhosting.be","hosting-cluster.nl","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dynamisches-dns.de","dnsupdater.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","realm.cz","*.cryptonomic.net","cupcake.is","curv.dev","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","cyon.link","cyon.site","fnwk.site","folionetwork.site","platform0.app","daplie.me","localhost.daplie.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","*.dapps.earth","*.bzz.dapps.earth","builtwithdark.com","demo.datadetect.com","instance.datadetect.com","edgestack.me","ddns5.com","debian.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","*.rss.my.id","*.diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","mydrobo.com","drud.io","drud.us","duckdns.org","bip.sh","bitbridge.net","dy.fi","tunk.org","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","dyndns.biz","dyndns.info","dyndns.org","dyndns.tv","at-band-camp.net","ath.cx","barrel-of-knowledge.info","barrell-of-knowledge.info","better-than.tv","blogdns.com","blogdns.net","blogdns.org","blogsite.org","boldlygoingnowhere.org","broke-it.net","buyshouses.net","cechire.com","dnsalias.com","dnsalias.net","dnsalias.org","dnsdojo.com","dnsdojo.net","dnsdojo.org","does-it.net","doesntexist.com","doesntexist.org","dontexist.com","dontexist.net","dontexist.org","doomdns.com","doomdns.org","dvrdns.org","dyn-o-saur.com","dynalias.com","dynalias.net","dynalias.org","dynathome.net","dyndns.ws","endofinternet.net","endofinternet.org","endoftheinternet.org","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","for-better.biz","for-more.biz","for-our.info","for-some.biz","for-the.biz","forgot.her.name","forgot.his.name","from-ak.com","from-al.com","from-ar.com","from-az.net","from-ca.com","from-co.net","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-la.net","from-ma.com","from-md.com","from-me.org","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-ny.net","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","ftpaccess.cc","fuettertdasnetz.de","game-host.org","game-server.cc","getmyip.com","gets-it.net","go.dyndns.org","gotdns.com","gotdns.org","groks-the.info","groks-this.info","ham-radio-op.net","here-for-more.info","hobby-site.com","hobby-site.org","home.dyndns.org","homedns.org","homeftp.net","homeftp.org","homeip.net","homelinux.com","homelinux.net","homelinux.org","homeunix.com","homeunix.net","homeunix.org","iamallama.com","in-the-band.net","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bruinsfan.org","is-a-bulls-fan.com","is-a-candidate.org","is-a-caterer.com","is-a-celticsfan.org","is-a-chef.com","is-a-chef.net","is-a-chef.org","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-geek.net","is-a-geek.org","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-knight.org","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-linux-user.org","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-patsfan.org","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-soxfan.org","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-by.us","is-certified.com","is-found.org","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-lost.org","is-not-certified.com","is-saved.org","is-slick.com","is-uberleet.com","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","is-with-theband.com","isa-geek.com","isa-geek.net","isa-geek.org","isa-hockeynut.com","issmarterthanyou.com","isteingeek.de","istmein.de","kicks-ass.net","kicks-ass.org","knowsitall.info","land-4-sale.us","lebtimnetz.de","leitungsen.de","likes-pie.com","likescandy.com","merseine.nu","mine.nu","misconfused.org","mypets.ws","myphotos.cc","neat-url.com","office-on-the.net","on-the-web.tv","podzone.net","podzone.org","readmyblog.org","saves-the-whales.com","scrapper-site.net","scrapping.cc","selfip.biz","selfip.com","selfip.info","selfip.net","selfip.org","sells-for-less.com","sells-for-u.com","sells-it.net","sellsyourhome.org","servebbs.com","servebbs.net","servebbs.org","serveftp.net","serveftp.org","servegame.org","shacknet.nu","simple-url.com","space-to-rent.com","stuff-4-sale.org","stuff-4-sale.us","teaches-yoga.com","thruhere.net","traeumtgerade.de","webhop.biz","webhop.info","webhop.net","webhop.org","worse-than.tv","writesthisblog.com","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyndns1.de","dyn-ip24.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","definima.net","definima.io","ondigitalocean.app","*.digitaloceanspaces.com","bci.dnstrace.pro","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","blogsite.xyz","dynv6.net","e4.cz","eero.online","eero-stage.online","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","onred.one","staging.onred.one","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","mc.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","paris.eu.org","pl.eu.org","pt.eu.org","q-a.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","onfabrica.com","apps.fbsbx.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-terrarium.com","fastlylb.net","map.fastlylb.net","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","conn.uk","copro.uk","hosp.uk","mydobiss.com","fh-muenster.io","filegear.me","filegear-au.me","filegear-de.me","filegear-gb.me","filegear-ie.me","filegear-jp.me","filegear-sg.me","firebaseapp.com","fireweb.app","flap.id","onflashdrive.app","fldrv.com","fly.dev","edgeapp.net","shw.io","flynnhosting.net","forgeblocks.com","id.forgerock.io","framer.app","framercanvas.com","*.frusky.de","ravpage.co.il","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","wien.funkfeuer.at","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","campaign.gov.uk","service.gov.uk","api.gov.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","ghost.io","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","cloudapps.digital","london.cloudapps.digital","pymnt.uk","homeoffice.gov.uk","ro.im","goip.de","run.app","a.run.app","web.app","*.0emm.com","appspot.com","*.r.appspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","publishproxy.com","withgoogle.com","withyoutube.com","*.gateway.dev","cloud.goog","translate.goog","*.usercontent.goog","cloudfunctions.net","blogspot.ae","blogspot.al","blogspot.am","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.co.at","blogspot.co.id","blogspot.co.il","blogspot.co.ke","blogspot.co.nz","blogspot.co.uk","blogspot.co.za","blogspot.com","blogspot.com.ar","blogspot.com.au","blogspot.com.br","blogspot.com.by","blogspot.com.co","blogspot.com.cy","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.com.mt","blogspot.com.ng","blogspot.com.tr","blogspot.com.uy","blogspot.cv","blogspot.cz","blogspot.de","blogspot.dk","blogspot.fi","blogspot.fr","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.ie","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.mr","blogspot.mx","blogspot.my","blogspot.nl","blogspot.no","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.tw","blogspot.ug","blogspot.vn","goupile.fr","gov.nl","awsmppl.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","hs.zone","hs.run","hashbang.sh","hasura.app","hasura-app.io","pages.it.hs-heilbronn.de","hepforge.org","herokuapp.com","herokussl.com","ravendb.cloud","myravendb.com","ravendb.community","ravendb.me","development.run","ravendb.run","homesklep.pl","secaas.hk","hoplix.shop","orx.biz","biz.gl","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","edu.scot","sch.so","hostyhosting.io","häkkinen.fi","*.moonscale.io","moonscale.net","iki.fi","ibxos.it","iliadboxos.it","impertrixcdn.com","impertrix.com","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-dsl.net","in-dsl.org","in-vpn.de","in-vpn.net","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","iopsys.se","ipifony.net","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","iobb.net","mel.cloudlets.com.au","cloud.interhostsolutions.be","users.scale.virtualcloud.com.br","mycloud.by","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","amscompute.com","clicketcloud.com","dopaas.com","hidora.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","kilatiron.com","paas.massivegrid.com","jed.wafaicloud.com","lon.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","cloud-fr1.unispace.io","jc.neen.it","cloud.jelastic.open.tim.it","jcloud.kz","upaas.kazteleport.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","faststacks.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","jelastic.tsukaeru.net","sdscloud.pl","unicloud.pl","mircloud.ru","jelastic.regruhosting.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","*.triton.zone","*.cns.joyent.com","js.org","kaas.gg","khplay.nl","ktistory.com","kapsi.fi","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","oya.to","kuleuven.cloud","ezproxy.kuleuven.be","co.krd","edu.krd","krellian.net","webthings.io","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","app.lmpm.com","linkyard.cloud","linkyard-cloud.ch","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","*.user.localcert.dev","localzone.xyz","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","servers.run","lohmus.me","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.co.uk","barsyonline.co.uk","barsycenter.com","barsyonline.com","barsy.club","barsy.de","barsy.eu","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.shop","barsy.site","barsy.support","barsy.uk","*.magentosite.cloud","mayfirst.info","mayfirst.org","hb.cldmail.ru","cn.vu","mazeplay.com","mcpe.me","mcdir.me","mcdir.ru","mcpre.ru","vps.mcdir.ru","mediatech.by","mediatech.dev","hra.health","miniserver.com","memset.net","messerli.app","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azurewebsites.net","azure-mobile.net","cloudapp.net","azurestaticapps.net","1.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","csx.cc","mintere.site","forte.id","mozilla-iot.org","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","customer.mythic-beasts.com","caracal.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","pony.club","of.fashion","in.london","of.london","from.marketing","with.marketing","for.men","repair.men","and.mom","for.mom","for.one","under.one","for.sale","that.win","from.work","to.work","cloud.nospamproxy.com","netlify.app","4u.com","ngrok.io","nh-serv.co.uk","nfshost.com","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","dnsking.ch","mypi.co","n4t.co","001www.com","ddnslive.com","myiphost.com","forumz.info","16-b.it","32-b.it","64-b.it","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","crafting.xyz","zapto.xyz","nsupdate.info","nerdpol.ovh","blogsyte.com","brasilia.me","cable-modem.org","ciscofreak.com","collegefan.org","couchpotatofries.org","damnserver.com","ddns.me","ditchyourip.com","dnsfor.me","dnsiskinky.com","dvrcam.info","dynns.com","eating-organic.net","fantasyleague.cc","geekgalaxy.com","golffan.us","health-carereform.com","homesecuritymac.com","homesecuritypc.com","hopto.me","ilovecollege.info","loginto.me","mlbfan.org","mmafan.biz","myactivedirectory.com","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.com","mysecuritycamera.net","mysecuritycamera.org","net-freaks.com","nflfan.org","nhlfan.net","no-ip.ca","no-ip.co.uk","no-ip.net","noip.us","onthewifi.com","pgafan.net","point2this.com","pointto.us","privatizehealthinsurance.net","quicksytes.com","read-books.org","securitytactics.com","serveexchange.com","servehumour.com","servep2p.com","servesarcasm.com","stufftoread.com","ufcfan.org","unusualperson.com","workisboring.com","3utilities.com","bounceme.net","ddns.net","ddnsking.com","gotdns.ch","hopto.org","myftp.biz","myftp.org","myvnc.com","no-ip.biz","no-ip.info","no-ip.org","noip.me","redirectme.net","servebeer.com","serveblog.net","servecounterstrike.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","serveirc.com","serveminecraft.net","servemp3.com","servepics.com","servequake.com","sytes.net","webhop.me","zapto.org","stage.nodeart.io","pcloud.host","nyc.mn","static.observableusercontent.com","cya.gg","omg.lol","cloudycluster.net","omniwe.site","service.one","nid.io","opensocial.site","opencraft.hosting","orsites.com","operaunite.com","tech.orange","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.webpaas.ovh.net","*.hosting.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagefrontapp.com","pagexl.com","*.paywhirl.com","bar0.net","bar1.net","bar2.net","rdv.to","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","pantheonsite.io","gotpantheon.com","mypep.link","perspecta.cloud","lk3.ru","on-web.fr","bc.platform.sh","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pdns.page","plesk.page","pleskns.com","dyn53.io","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","prvcy.page","*.dweb.link","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qoto.io","qualifioapp.com","qbuser.com","cloudsite.builders","instances.spawn.cc","instantcloud.cn","ras.ru","qa2.com","qcx.io","*.sys.qcx.io","dev-myqnapcloud.com","alpha-myqnapcloud.com","myqnapcloud.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","g.vbrplsbx.io","*.on-k3s.io","*.on-rancher.cloud","*.on-rio.io","readthedocs.io","rhcloud.com","app.render.com","onrender.com","repl.co","id.repl.co","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","wellbeingzone.eu","wellbeingzone.co.uk","adimo.co.uk","itcouldbewor.se","git-pages.rit.edu","rocky.page","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","sandcats.io","logoip.de","logoip.com","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","senseering.net","minisite.ms","magnet.page","biz.ua","co.ua","pp.ua","shiftcrypto.dev","shiftcrypto.io","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","bounty-full.com","alpha.bounty-full.com","beta.bounty-full.com","small-web.org","vp4.me","try-snowplow.com","srht.site","stackhero-network.com","musician.io","novecore.site","static.land","dev.static.land","sites.static.land","storebase.store","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","playstation-cloud.com","apps.lair.io","*.stolos.io","spacekit.io","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","api.stdlib.com","storj.farm","utwente.io","soc.srcf.net","user.srcf.net","temp-dns.com","supabase.co","supabase.in","supabase.net","su.paba.se","*.s5y.io","*.sensiosite.cloud","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","vpnplus.to","direct.quickconnect.to","tabitorder.co.il","taifun-dns.de","beta.tailscale.net","ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","gwiddle.co.uk","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","cust.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.dev.thingdust.io","reservd.disrec.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","bloxcms.com","townnews-staging.com","tbits.me","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","*.transurl.nl","site.transip.me","tuxfamily.org","dd-dns.de","diskstation.eu","diskstation.org","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","typedream.app","pro.typeform.com","uber.space","*.uberspace.de","hk.com","hk.org","ltd.hk","inc.hk","name.pm","sch.tf","biz.wf","sch.wf","org.yt","virtualuser.de","virtual-user.de","upli.io","urown.cloud","dnsupdate.info","lib.de.us","2038.io","vercel.app","vercel.dev","now.sh","router.management","v-info.info","voorloper.cloud","neko.am","nyaa.am","be.ax","cat.ax","es.ax","eu.ax","gg.ax","mc.ax","us.ax","xy.ax","nl.ci","xx.gl","app.gp","blog.gt","de.gt","to.gt","be.gy","cc.hn","blog.kg","io.kg","jp.kg","tv.kg","uk.kg","us.kg","de.ls","at.md","de.md","jp.md","to.md","indie.porn","vxl.sh","ch.tc","me.tc","we.tc","nyan.to","at.vg","blog.vu","dev.vu","me.vu","v.ua","*.vultrobjects.com","wafflecell.com","*.webhare.dev","reserve-online.net","reserve-online.com","bookonline.app","hotelwithflight.com","wedeploy.io","wedeploy.me","wedeploy.sh","remotewd.com","pages.wiardweb.com","wmflabs.org","toolforge.org","wmcloud.org","panel.gg","daemon.panel.gg","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","wixsite.com","editorx.io","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","ybo.faith","yombo.me","homelink.one","ybo.party","ybo.review","ybo.science","ybo.trade","ynh.fr","nohost.me","noho.st","za.net","za.org","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"]')},function(e,t,i){"use strict";
894
894
  /*!
895
895
  * Copyright (c) 2015, Salesforce.com, Inc.
896
896
  * All rights reserved.
@@ -959,7 +959,7 @@ e.exports=i(478)},function(e){e.exports=JSON.parse('{"application/1d-interleaved
959
959
  /*!
960
960
  * contractdb.js - storage for SmartContract account management
961
961
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
962
- */var r=i(332);const a=i(85).walletdb,s=i(7);class n extends r{constructor(e){super(e),this.eid=e.eid||"contractdb"}async _open(){this.options.listen&&await this.logger.open(),await this.isNewRecord()&&(this.logger.info("new contract db to be created."),this.setmnemonic({phrase:s.SmartContractMnemonic.phrase,language:s.SmartContractMnemonic.language,passphrase:s.SmartContractMnemonic.passphrase})),await this.db.open();var e=await this.db.checkVersion(a,6),t=(this.depth=await this.getDepth(),this.options.wipeNoReally&&await this.wipe(),await this.setFilter(),this.readyLoad=!0,await this.load(),await this.ensure({id:"primary",witness:!0,mnemonic:this.options.mnemonic}));return this.logger.info("AccountDB loaded (depth=%d, height=%d, start=%d).",this.depth,this.curHeight,this.state.startHeight),this.logger.info("Loaded primary wallet (id=%s, wid=%d, address=%s)",t.id,t.wid,t.getAddress()),this.primary=t,this.on("notify/receive",async e=>{await this.handleNotify(e)}),this.on("notify/remove",async e=>{await this.handleNotify(e,!0)}),this.http&&this.options.listen&&await this.http.open(),e}bind(){!this.client||this.bound||(this.bound=!0,this.client.hook("htlcassent.cancel",e=>{this.setAssent(e),this.emit("htlcassent.cancel",e)}),this.client.hook("htlcassent.deal",e=>{this.setAssent(e),this.emit("htlcassent.deal",e)}),this.client.hook("htlcassent.receive",e=>{this.setAssent(e),this.emit("htlcassent.receive",e)}),this.client.hook("htlcsuggest.cancel",e=>{this.setSuggest(e),this.emit("htlcsuggest.cancel",e)}),this.client.hook("htlcsuggest.deal",e=>{this.setSuggest(e),this.emit("htlcsuggest.deal",e)}),this.client.hook("htlcsuggest.receive",e=>{this.setSuggest(e),this.emit("htlcsuggest.receive",e)}),this.on("mssendpubk/receive",async e=>{let t=await this.get(e.addr);var i,r,a;if(!t&&(t=await this.ensure({id:e.addr,type:"multisig",m:e.m,n:e.n,witness:!0}),[a,r]=await this.getAccountByAddress(e.addr),a=await this.get(a))&&await a.send({subtractFee:!1,sort:!1,outputs:[{address:e.contract,value:1e4}],comment:JSON.stringify({oper:"scrun",params:{oper:"pubk",addr:e.addr,puba:t.account.accountKey}})},r),t.account.keys.length<t.account.n-1){for(i of e.data.split(","))try{await t.addSharedKey(i)}catch(e){}t.account.keys.length==t.account.n-1&&([a,r]=await this.getAccountByAddress(e.addr),a=await this.get(a))&&await a.send({subtractFee:!1,sort:!1,outputs:[{address:e.contract,value:1e4}],comment:JSON.stringify({oper:"scrun",params:{oper:"puba",addr:e.addr,puba:t.account.receive.getAddress().toString()}})},r)}}),this.on("mssendtx/receive",async e=>{var t,i=await this.get(e.addr);i&&i.account.type==Account.types.MULTISIG&&((t=MTX.fromRaw(e.data,"hex")).view=await i.getCoinView(t),t.isSigned()||(e.txid=t.txid(),await this.saveMSTrans(e)))}),this.client.hook("onConnect",async()=>{await this.load()}),this.client.hook("error",e=>{this.emit("error",e)}),this.client.on("block.connect",async(e,t)=>{try{await this.addBlock(e,t)}catch(e){this.emit("error",e)}}),this.client.on("block.disconnect",async(e,t)=>{try{await this.removeBlock(e,t)}catch(e){this.emit("error",e)}}),this.client.on("chain.full",()=>{this.synced=!0}),this.client.hook("block.rescan.contractdb",async(e,t)=>{try{await this.rescanBlock(e,t)}catch(e){this.emit("error",e)}}),this.client.on("tx",async(e,t,i)=>{try{await this.addTX(e,null,i)}catch(e){this.emit("error",e)}}),this.client.on("entry.remove",async(e,t)=>{try{if(t){var i=e.tx.hash("hex"),r=await this.getWalletsByTX(e.tx);if(r)for(const t of r){var a=await this.get(t);assert(a),await a.remove(i),(await facade.FactoryOfContract({tx:e.tx,env:this})).erase()}}}catch(e){this.emit("error",e)}}),this.client.on("chain.reset",e=>{this.resetChain(e).catch(e=>{this.emit("error",e)})}),this.jsonp&&this.jsonp.hook("error",e=>{this.emit("error",e)}))}}n.layout=a,e.exports=n},function(e,t,i){"use strict";
962
+ */var r=i(333);const a=i(85).walletdb,s=i(7);class n extends r{constructor(e){super(e),this.eid=e.eid||"contractdb"}async _open(){this.options.listen&&await this.logger.open(),await this.isNewRecord()&&(this.logger.info("new contract db to be created."),this.setmnemonic({phrase:s.SmartContractMnemonic.phrase,language:s.SmartContractMnemonic.language,passphrase:s.SmartContractMnemonic.passphrase})),await this.db.open();var e=await this.db.checkVersion(a,6),t=(this.depth=await this.getDepth(),this.options.wipeNoReally&&await this.wipe(),await this.setFilter(),this.readyLoad=!0,await this.load(),await this.ensure({id:"primary",witness:!0,mnemonic:this.options.mnemonic}));return this.logger.info("AccountDB loaded (depth=%d, height=%d, start=%d).",this.depth,this.curHeight,this.state.startHeight),this.logger.info("Loaded primary wallet (id=%s, wid=%d, address=%s)",t.id,t.wid,t.getAddress()),this.primary=t,this.on("notify/receive",async e=>{await this.handleNotify(e)}),this.on("notify/remove",async e=>{await this.handleNotify(e,!0)}),this.http&&this.options.listen&&await this.http.open(),e}bind(){!this.client||this.bound||(this.bound=!0,this.client.hook("htlcassent.cancel",e=>{this.setAssent(e),this.emit("htlcassent.cancel",e)}),this.client.hook("htlcassent.deal",e=>{this.setAssent(e),this.emit("htlcassent.deal",e)}),this.client.hook("htlcassent.receive",e=>{this.setAssent(e),this.emit("htlcassent.receive",e)}),this.client.hook("htlcsuggest.cancel",e=>{this.setSuggest(e),this.emit("htlcsuggest.cancel",e)}),this.client.hook("htlcsuggest.deal",e=>{this.setSuggest(e),this.emit("htlcsuggest.deal",e)}),this.client.hook("htlcsuggest.receive",e=>{this.setSuggest(e),this.emit("htlcsuggest.receive",e)}),this.on("mssendpubk/receive",async e=>{let t=await this.get(e.addr);var i,r,a;if(!t&&(t=await this.ensure({id:e.addr,type:"multisig",m:e.m,n:e.n,witness:!0}),[a,r]=await this.getAccountByAddress(e.addr),a=await this.get(a))&&await a.send({subtractFee:!1,sort:!1,outputs:[{address:e.contract,value:1e4}],comment:JSON.stringify({oper:"scrun",params:{oper:"pubk",addr:e.addr,puba:t.account.accountKey}})},r),t.account.keys.length<t.account.n-1){for(i of e.data.split(","))try{await t.addSharedKey(i)}catch(e){}t.account.keys.length==t.account.n-1&&([a,r]=await this.getAccountByAddress(e.addr),a=await this.get(a))&&await a.send({subtractFee:!1,sort:!1,outputs:[{address:e.contract,value:1e4}],comment:JSON.stringify({oper:"scrun",params:{oper:"puba",addr:e.addr,puba:t.account.receive.getAddress().toString()}})},r)}}),this.on("mssendtx/receive",async e=>{var t,i=await this.get(e.addr);i&&i.account.type==Account.types.MULTISIG&&((t=MTX.fromRaw(e.data,"hex")).view=await i.getCoinView(t),t.isSigned()||(e.txid=t.txid(),await this.saveMSTrans(e)))}),this.client.hook("onConnect",async()=>{await this.load()}),this.client.hook("error",e=>{this.emit("error",e)}),this.client.on("block.connect",async(e,t)=>{try{await this.addBlock(e,t)}catch(e){this.emit("error",e)}}),this.client.on("block.disconnect",async(e,t)=>{try{await this.removeBlock(e,t)}catch(e){this.emit("error",e)}}),this.client.on("chain.full",()=>{this.synced=!0}),this.client.hook("block.rescan.contractdb",async(e,t)=>{try{await this.rescanBlock(e,t)}catch(e){this.emit("error",e)}}),this.client.on("tx",async(e,t,i)=>{try{await this.addTX(e,null,i)}catch(e){this.emit("error",e)}}),this.client.on("entry.remove",async(e,t)=>{try{if(t){var i=e.tx.hash("hex"),r=await this.getWalletsByTX(e.tx);if(r)for(const t of r){var a=await this.get(t);assert(a),await a.remove(i),(await facade.FactoryOfContract({tx:e.tx,env:this})).erase()}}}catch(e){this.emit("error",e)}}),this.client.on("chain.reset",e=>{this.resetChain(e).catch(e=>{this.emit("error",e)})}),this.jsonp&&this.jsonp.hook("error",e=>{this.emit("error",e)}))}}n.layout=a,e.exports=n},function(e,t,i){"use strict";
963
963
  /*!
964
964
  * TXMapWids.js - walletdb records
965
965
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -981,7 +981,7 @@ e.exports=i(478)},function(e){e.exports=JSON.parse('{"application/1d-interleaved
981
981
  * child.js - child processes for vallnet
982
982
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
983
983
  * https://github.com/bookmansoft/gamegold
984
- */const r=i(16),a=i(34),s=i(334),n=new Set;let o=!1;function c(e){if(!(this instanceof c))return new c(e);if(r.call(this),!o){o=!0;{const e=()=>{process.exit(129)},t=()=>{process.exit(130)},i=()=>{process.exit(143)},r=e=>{e&&e.stack?console.error(String(e.stack)):console.error(String(e)),process.exit(1)};process.once("exit",()=>{for(const e of n)e.destroy()}),0===process.listenerCount("SIGHUP")&&process.once("SIGHUP",e),0===process.listenerCount("SIGINT")&&process.once("SIGINT",t),0===process.listenerCount("SIGTERM")&&process.once("SIGTERM",i),0===process.listenerCount("uncaughtException")&&process.once("uncaughtException",r),process.on("newListener",a=>{switch(a){case"SIGHUP":process.removeListener(a,e);break;case"SIGINT":process.removeListener(a,t);break;case"SIGTERM":process.removeListener(a,i);break;case"uncaughtException":process.removeListener(a,r)}})}}n.add(this),this.init(e)}Object.setPrototypeOf(c.prototype,r.prototype),c.hasSupport=function(){return!0},c.prototype.init=function(e){var t=process.argv[0],i=(e=a.resolve(__dirname,e),{stdio:"pipe",env:process.env});this.child=s.spawn(t,[e],i),this.child.unref(),this.child.stdin.unref(),this.child.stdout.unref(),this.child.stderr.unref(),this.child.on("error",e=>{this.emit("error",e)}),this.child.once("exit",(e,t)=>{n.delete(this),this.emit("exit",null==e?-1:e,t)}),this.child.stdin.on("error",e=>{this.emit("error",e)}),this.child.stdout.on("error",e=>{this.emit("error",e)}),this.child.stderr.on("error",e=>{this.emit("error",e)}),this.child.stdout.on("data",e=>{this.emit("data",e)})},c.prototype.write=function(e){return this.child.stdin.write(e)},c.prototype.destroy=function(){this.child.kill("SIGTERM")},e.exports=c},function(e,t,i){"use strict";
984
+ */const r=i(16),a=i(34),s=i(335),n=new Set;let o=!1;function c(e){if(!(this instanceof c))return new c(e);if(r.call(this),!o){o=!0;{const e=()=>{process.exit(129)},t=()=>{process.exit(130)},i=()=>{process.exit(143)},r=e=>{e&&e.stack?console.error(String(e.stack)):console.error(String(e)),process.exit(1)};process.once("exit",()=>{for(const e of n)e.destroy()}),0===process.listenerCount("SIGHUP")&&process.once("SIGHUP",e),0===process.listenerCount("SIGINT")&&process.once("SIGINT",t),0===process.listenerCount("SIGTERM")&&process.once("SIGTERM",i),0===process.listenerCount("uncaughtException")&&process.once("uncaughtException",r),process.on("newListener",a=>{switch(a){case"SIGHUP":process.removeListener(a,e);break;case"SIGINT":process.removeListener(a,t);break;case"SIGTERM":process.removeListener(a,i);break;case"uncaughtException":process.removeListener(a,r)}})}}n.add(this),this.init(e)}Object.setPrototypeOf(c.prototype,r.prototype),c.hasSupport=function(){return!0},c.prototype.init=function(e){var t=process.argv[0],i=(e=a.resolve(__dirname,e),{stdio:"pipe",env:process.env});this.child=s.spawn(t,[e],i),this.child.unref(),this.child.stdin.unref(),this.child.stdout.unref(),this.child.stderr.unref(),this.child.on("error",e=>{this.emit("error",e)}),this.child.once("exit",(e,t)=>{n.delete(this),this.emit("exit",null==e?-1:e,t)}),this.child.stdin.on("error",e=>{this.emit("error",e)}),this.child.stdout.on("error",e=>{this.emit("error",e)}),this.child.stderr.on("error",e=>{this.emit("error",e)}),this.child.stdout.on("data",e=>{this.emit("data",e)})},c.prototype.write=function(e){return this.child.stdin.write(e)},c.prototype.destroy=function(){this.child.kill("SIGTERM")},e.exports=c},function(e,t,i){"use strict";
985
985
  /*!
986
986
  * EnvPacket.js - worker packets for vallnet
987
987
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
@@ -1099,4 +1099,4 @@ e.exports=i(478)},function(e){e.exports=JSON.parse('{"application/1d-interleaved
1099
1099
  /*!
1100
1100
  * worker.js - worker thread/process for vallnet
1101
1101
  * Copyright (c) 2019-2022, Bookman Software (MIT License).
1102
- */var r=i(335);i=i(2),r=new r;i.log=r.log.bind(r),i.error=i.log,r.listen()}]);;exports = module.exports; exports.setRelative = function(relative) { gpath = relative;}
1102
+ */var r=i(336);i=i(2),r=new r;i.log=r.log.bind(r),i.error=i.log,r.listen()}]);;exports = module.exports; exports.setRelative = function(relative) { gpath = relative;}