module.exports=function(e){var a={};function t(r){if(a[r])return a[r].exports;var i=a[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=a,t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var i in e)t.d(r,i,function(a){return e[a]}.bind(null,i));return r},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=125)}([function(e,a,t){var r=t(23),i=t(10).Stream,o=t(1),n=/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;function s(e){return e.charAt(0).toUpperCase()+e.slice(1)}function c(e,a,t,i,n){throw new r.AssertionError({message:o.format("%s (%s) is required",e,a),actual:void 0===n?typeof i:n(i),expected:a,operator:t||"===",stackStartFunction:c.caller})}function u(e){return Object.prototype.toString.call(e).slice(8,-1)}function p(){}var l={bool:{check:function(e){return"boolean"==typeof e}},func:{check:function(e){return"function"==typeof e}},string:{check:function(e){return"string"==typeof e}},object:{check:function(e){return"object"==typeof e&&null!==e}},number:{check:function(e){return"number"==typeof e&&!isNaN(e)}},finite:{check:function(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}},buffer:{check:function(e){return Buffer.isBuffer(e)},operator:"Buffer.isBuffer"},array:{check:function(e){return Array.isArray(e)},operator:"Array.isArray"},stream:{check:function(e){return e instanceof i},operator:"instanceof",actual:u},date:{check:function(e){return e instanceof Date},operator:"instanceof",actual:u},regexp:{check:function(e){return e instanceof RegExp},operator:"instanceof",actual:u},uuid:{check:function(e){return"string"==typeof e&&n.test(e)},operator:"isUUID"}};e.exports=function e(a){var t,i=Object.keys(l);return t=process.env.NODE_NDEBUG?p:function(e,a){e||c(a,"true",e)},i.forEach((function(e){if(a)t[e]=p;else{var r=l[e];t[e]=function(a,t){r.check(a)||c(t,e,r.operator,a,r.actual)}}})),i.forEach((function(e){var r="optional"+s(e);if(a)t[r]=p;else{var i=l[e];t[r]=function(a,t){null!=a&&(i.check(a)||c(t,e,i.operator,a,i.actual))}}})),i.forEach((function(e){var r="arrayOf"+s(e);if(a)t[r]=p;else{var i=l[e],o="["+e+"]";t[r]=function(e,a){var t;for(Array.isArray(e)||c(a,o,i.operator,e,i.actual),t=0;t=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var r=o(e);return a&&0!==a.length?"string"==typeof t?r.fill(a,t):r.fill(a):r.fill(0),r}),!n.kStringMaxLength)try{n.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(e){}n.constants||(n.constants={MAX_LENGTH:n.kMaxLength},n.kStringMaxLength&&(n.constants.MAX_STRING_LENGTH=n.kStringMaxLength)),e.exports=n},function(e,a){e.exports=require("crypto")},,function(e,a,t){e.exports=g;var r,i=t(0),o=t(8),n=t(3),s=t(24),c=t(12),u=t(47).DiffieHellman,p=t(11),l=t(6),m=t(7);try{r=t(77)}catch(e){}var h=p.InvalidAlgorithmError,d=p.KeyParseError,f={};function g(e){i.object(e,"options"),i.arrayOfObject(e.parts,"options.parts"),i.string(e.type,"options.type"),i.optionalString(e.comment,"options.comment");var a=o.info[e.type];if("object"!=typeof a)throw new h(e.type);for(var t,r={},n=0;n1024&&(e="sha256"),"ed25519"===this.type&&(e="sha512"),"ecdsa"===this.type&&(e=this.size<=256?"sha256":this.size<=384?"sha384":"sha512"),e},g.prototype.createVerify=function(e){if(void 0===e&&(e=this.defaultHashAlgorithm()),i.string(e,"hash algorithm"),"ed25519"===this.type&&void 0!==r)return new r.Verifier(this,e);if("curve25519"===this.type)throw new Error("Curve25519 keys are not suitable for signing or verification");var a,t,o;try{t=e.toUpperCase(),a=n.createVerify(t)}catch(e){o=e}(void 0===a||o instanceof Error&&o.message.match(/Unknown message digest/))&&(t="RSA-",t+=e.toUpperCase(),a=n.createVerify(t)),i.ok(a,"failed to create verifier");var s=a.verify.bind(a),u=this.toBuffer("pkcs8"),p=this.curve,l=this;return a.verify=function(a,t){if(c.isSignature(a,[2,0]))return a.type===l.type&&((!a.hashAlgorithm||a.hashAlgorithm===e)&&((!a.curve||"ecdsa"!==l.type||a.curve===p)&&s(u,a.toBuffer("asn1"))));if("string"==typeof a||Buffer.isBuffer(a))return s(u,a,t);throw c.isSignature(a,[1,0])?new Error("signature was created by too old a version of sshpk and cannot be verified"):new TypeError("signature must be a string, Buffer, or Signature object")},a},g.prototype.createDiffieHellman=function(){if("rsa"===this.type)throw new Error("RSA keys do not support Diffie-Hellman");return new u(this)},g.prototype.createDH=g.prototype.createDiffieHellman,g.parse=function(e,a,t){"string"!=typeof e&&i.buffer(e,"data"),void 0===a&&(a="auto"),i.string(a,"format"),"string"==typeof t&&(t={filename:t}),i.optionalObject(t,"options"),void 0===t&&(t={}),i.optionalString(t.filename,"options.filename"),void 0===t.filename&&(t.filename="(unnamed)"),i.object(f[a],"formats[format]");try{var r=f[a].read(e,t);return r instanceof m&&(r=r.toPublic()),r.comment||(r.comment=t.filename),r}catch(e){if("KeyEncryptedError"===e.name)throw e;throw new d(t.filename,a,e)}},g.isKey=function(e,a){return l.isCompatible(e,g,a)},g.prototype._sshpkApiVersion=[1,7],g._oldVersionDetect=function(e){return i.func(e.toBuffer),i.func(e.fingerprint),e.createDH?[1,4]:e.defaultHashAlgorithm?[1,3]:e.formats.auto?[1,2]:e.formats.pkcs1?[1,1]:[1,0]}},function(e,a,t){e.exports={bufferSplit:function(e,a){r.buffer(e),r.string(a);for(var t=[],i=0,o=0,n=0;n=a.length){var s=n+1;t.push(e.slice(i,s-o)),i=s,o=0}i<=e.length&&t.push(e.slice(i,e.length));return t},addRSAMissing:function(e){r.object(e),h(e,o,[1,1]);var a,t=new l(e.part.d.data);if(!e.part.dmodp){var i=new l(e.part.p.data),n=t.mod(i.subtract(1));a=g(n),e.part.dmodp={name:"dmodp",data:a},e.parts.push(e.part.dmodp)}if(!e.part.dmodq){var s=new l(e.part.q.data),c=t.mod(s.subtract(1));a=g(c),e.part.dmodq={name:"dmodq",data:a},e.parts.push(e.part.dmodq)}},calculateDSAPublic:function(e,a,t){return r.buffer(e),r.buffer(a),r.buffer(t),e=new l(e),a=new l(a),t=new l(t),g(e.modPow(t,a))},calculateED25519Public:function(e){r.buffer(e);var a=m.sign.keyPair.fromSeed(new Uint8Array(e));return i.from(a.publicKey)},calculateX25519Public:function(e){r.buffer(e);var a=m.box.keyPair.fromSeed(new Uint8Array(e));return i.from(a.publicKey)},mpNormalize:f,mpDenormalize:function(e){r.buffer(e);for(;e.length>1&&0===e[0];)e=e.slice(1);return e},ecNormalize:function(e,a){if(r.buffer(e),0===e[0]&&4===e[1])return a?e:e.slice(1);if(4===e[0]){if(!a)return e}else{for(;0===e[0];)e=e.slice(1);if(2===e[0]||3===e[0])throw new Error("Compressed elliptic curve points are not supported");if(4!==e[0])throw new Error("Not a valid elliptic curve point");if(!a)return e}var t=i.alloc(e.length+1);return t[0]=0,e.copy(t,1),t},countZeros:function(e){var a=0,t=8;for(;a3)return!1;if(r.constructor.name!==a.name)return!1;var o=r._sshpkApiVersion;void 0===o&&(o=a._oldVersionDetect(e));return!(o[0]!=t[0]||o[1]a;)r.equal(e[0],0),e=e.slice(1);for(;e.length=t[1],i+" must be compatible with "+a.name+" klass version "+t[0]+"."+t[1])}}var d={"des-ede3-cbc":{key:24,iv:8},"aes-128-cbc":{key:16,iv:16},"aes-256-cbc":{key:32,iv:16}};function f(e){for(r.buffer(e);e.length>1&&0===e[0]&&0==(128&e[1]);)e=e.slice(1);if(128==(128&e[0])){var a=i.alloc(e.length+1);a[0]=0,e.copy(a,1),e=a}return e}function g(e){var a=i.from(e.toByteArray());return a=f(a)}},function(e,a,t){e.exports=b;var r=t(0),i=t(2).Buffer,o=t(8),n=t(3),s=(t(24),t(12)),c=t(11),u=t(1),p=t(6),l=t(47),m=l.generateECDSA,h=l.generateED25519,d=t(77),f=t(26),g=t(5),v=(c.InvalidAlgorithmError,c.KeyParseError),y=(c.KeyEncryptedError,{});function b(e){r.object(e,"options"),g.call(this,e),this._pubCache=void 0}y.auto=t(78),y.pem=t(16),y.pkcs1=t(48),y.pkcs8=t(28),y.rfc4253=t(17),y["ssh-private"]=t(36),y.openssh=y["ssh-private"],y.ssh=y["ssh-private"],y.dnssec=t(49),u.inherits(b,g),b.formats=y,b.prototype.toBuffer=function(e,a){return void 0===e&&(e="pkcs1"),r.string(e,"format"),r.object(y[e],"formats[format]"),r.optionalObject(a,"options"),y[e].write(this,a)},b.prototype.hash=function(e,a){return this.toPublic().hash(e,a)},b.prototype.fingerprint=function(e,a){return this.toPublic().fingerprint(e,a)},b.prototype.toPublic=function(){if(this._pubCache)return this._pubCache;for(var e=o.info[this.type],a=[],t=0;t20&&0===o[0]&&(o=o.slice(1)),(u=this.part.s.data).length>20&&0===u[0]&&(u=u.slice(1)),this.hashAlgorithm&&"sha1"!==this.hashAlgorithm||o.length+u.length!==40)throw new Error("OpenSSH only supports DSA signatures with SHA1 hash");return a.writeBuffer(i.concat([o,u])),a.toBuffer()}if("ssh"===e&&"ecdsa"===this.type){var l,m=new c({});o=this.part.r.data,m.writeBuffer(o),m.writePart(this.part.s),a=new c({}),0===o[0]&&(o=o.slice(1));var h=8*o.length;return 256===h?l="nistp256":384===h?l="nistp384":528===h&&(l="nistp521"),a.writeString("ecdsa-sha2-"+l),a.writeBuffer(m.toBuffer()),a.toBuffer()}throw new Error("Invalid signature format");default:throw new Error("Invalid signature data")}},l.prototype.toString=function(e){return r.optionalString(e,"format"),this.toBuffer(e).toString("base64")},l.parse=function(e,a,t){"string"==typeof e&&(e=i.from(e,"base64")),r.buffer(e,"data"),r.string(t,"format"),r.string(a,"type");var o={};o.type=a.toLowerCase(),o.parts=[];try{switch(r.ok(e.length>0,"signature must not be empty"),o.type){case"rsa":case"ed25519":return m(e,a,t,o);case"dsa":case"ecdsa":return"asn1"===t?function(e,a,t,r){var i=new s.BerReader(e);i.readSequence();var o=i.readString(s.Ber.Integer,!0),c=i.readString(s.Ber.Integer,!0);return r.parts.push({name:"r",data:n.mpNormalize(o)}),r.parts.push({name:"s",data:n.mpNormalize(c)}),new l(r)}(e,0,0,o):"dsa"===o.type?function(e,a,t,i){if(40!=e.length){var o=new c({buffer:e}),n=o.readBuffer();"ssh-dss"===n.toString("ascii")&&(n=o.readBuffer()),r.ok(o.atEnd(),"extra trailing bytes"),r.strictEqual(n.length,40,"invalid inner length"),e=n}return i.parts.push({name:"r",data:e.slice(0,20)}),i.parts.push({name:"s",data:e.slice(20,40)}),new l(i)}(e,0,0,o):function(e,a,t,i){var o,n,s=new c({buffer:e}),u=s.readBuffer(),p=u.toString("ascii");if("ecdsa-"===p.slice(0,6)){var m=p.split("-");switch(r.strictEqual(m[0],"ecdsa"),r.strictEqual(m[1],"sha2"),i.curve=m[2],i.curve){case"nistp256":i.hashAlgo="sha256";break;case"nistp384":i.hashAlgo="sha384";break;case"nistp521":i.hashAlgo="sha512";break;default:throw new Error("Unsupported ECDSA curve: "+i.curve)}u=s.readBuffer(),r.ok(s.atEnd(),"extra trailing bytes on outer"),s=new c({buffer:u}),o=s.readPart()}else o={data:u};return n=s.readPart(),r.ok(s.atEnd(),"extra trailing bytes"),o.name="r",n.name="s",i.parts.push(o),i.parts.push(n),new l(i)}(e,0,0,o);default:throw new u(a)}}catch(e){if(e instanceof u)throw e;throw new p(a,t,e)}},l.isSignature=function(e,a){return n.isCompatible(e,l,a)},l.prototype._sshpkApiVersion=[2,1],l._oldVersionDetect=function(e){return r.func(e.toBuffer),e.hasOwnProperty("hashAlgorithm")?[2,0]:[1,0]}},function(e,a,t){var r=t(138);e.exports={Ber:r,BerReader:r.Reader,BerWriter:r.Writer}},,function(e,a){e.exports=require("url")},function(e,a,t){e.exports={read:function(e,a,t){var c=e;"string"!=typeof e&&(r.buffer(e,"buf"),e=e.toString("ascii"));var u,g,y=e.trim().split(/[\r\n]+/g),b=-1;for(;!u&&b0;)g=y[--k].match(/[-]+[ ]*END ([A-Z0-9][A-Za-z0-9]+ )?(PUBLIC|PRIVATE) KEY[ ]*[-]+/);r.ok(g,"invalid PEM footer"),r.equal(u[2],g[2]);var x,w=u[2].toLowerCase();u[1]&&(r.equal(u[1],g[1],"PEM header and footer mismatch"),x=u[1].trim());y=y.slice(b,k+1);var j,S,E,F={};for(;y=y.slice(1),u=y[0].match(/^([A-Za-z0-9-]+): (.+)$/);)F[u[1].toLowerCase()]=u[2];if(y=y.slice(0,-1).join(""),e=n.from(y,"base64"),F["proc-type"]){var z=F["proc-type"].split(",");if("4"===z[0]&&"ENCRYPTED"===z[1]){if("string"==typeof a.passphrase&&(a.passphrase=n.from(a.passphrase,"utf-8")),!n.isBuffer(a.passphrase))throw new d.KeyEncryptedError(a.filename,"PEM");z=F["dek-info"].split(","),r.ok(2===z.length),j=z[0].toLowerCase(),E=n.from(z[1],"hex"),S=s.opensslKeyDeriv(j,E,a.passphrase,1).key}}if(x&&"encrypted"===x.toLowerCase()){var _,P=new i.BerReader(e);P.readSequence(),P.readSequence(),_=P.offset+P.length;var A=P.readOID();if("1.2.840.113549.1.5.13"!==A)throw new Error("Unsupported PEM/PKCS8 encryption scheme: "+A);P.readSequence(),P.readSequence();var q=P.offset+P.length,O=P.readOID();if("1.2.840.113549.1.5.12"!==O)throw new Error("Unsupported PBES2 KDF: "+O);P.readSequence();var B=P.readString(i.Ber.OctetString,!0),C=P.readInt(),D="sha1";if(P.offseth.length&&(y=h.length),g+=f.write(h.slice(v,y),g),f[g++]=10,v=y}return g+=f.write("-----END "+o+"-----\n",g),f.slice(0,g)}};var r=t(0),i=t(13),o=t(3),n=t(2).Buffer,s=(t(8),t(6)),c=t(5),u=t(7),p=t(48),l=t(28),m=t(36),h=t(17),d=t(11),f={"1.2.840.113549.3.7":"3des-cbc","2.16.840.1.101.3.4.1.2":"aes128-cbc","2.16.840.1.101.3.4.1.42":"aes256-cbc"},g={};Object.keys(f).forEach((function(e){g[f[e]]=e}));var v={"1.2.840.113549.2.7":"sha1","1.2.840.113549.2.9":"sha256","1.2.840.113549.2.11":"sha512"},y={};Object.keys(v).forEach((function(e){y[v[e]]=e}))},function(e,a,t){e.exports={read:m.bind(void 0,!1,void 0),readType:m.bind(void 0,!1),write:function(e,a){r.object(e);var t,s=l(e),p=o.info[e.type];c.isPrivateKey(e)&&(p=o.privInfo[e.type]);var m=p.parts,h=new u({});for(h.writeString(s),t=0;t=1,"key must have at least one part"),r.ok(e||d.atEnd(),"leftover bytes at end of key");var v=s,y=o.info[m.type];if("private"!==a&&y.parts.length===h.length||(y=o.privInfo[m.type],v=c),r.strictEqual(y.parts.length,h.length),"ecdsa"===m.type){var b=/^ecdsa-sha2-(.+)$/.exec(f);r.ok(null!==b),r.strictEqual(b[1],h[0].data.toString())}for(var k=!0,x=0;x=a)throw new Error("Cannot access property/index "+r+" levels up, current level is "+a);return t[a-r]}if(r>a)throw new Error("Cannot access data "+r+" levels up, current level is "+a);if(o="data"+(a-r||""),!i)return o}for(var s=o,u=i.split("/"),p=0;p2){if(t="md5","md5"===u[0].toLowerCase()&&(u=u.slice(1)),u=(u=u.map((function(a){for(;a.length<2;)a="0"+a;if(a.length>2)throw new m(e);return a}))).join(""),!g.test(u)||u.length%2!=0)throw new m(e);try{n=i.from(u,"hex")}catch(a){throw new m(e)}}else{if(g.test(e))n=i.from(e,"hex");else{if(!f.test(e))throw new m(e);n=i.from(e,"base64")}switch(n.length){case 32:t="sha256";break;case 16:t="md5";break;case 20:t="sha1";break;case 64:t="sha512";break;default:throw new m(e)}void 0===a.hashType&&(c="spki")}if(void 0===t)throw new m(e);if(void 0===o.hashAlgs[t])throw new h(t);if(void 0!==s&&-1===(s=s.map((function(e){return e.toLowerCase()}))).indexOf(t))throw new h(t);return new d({algorithm:t,hash:n,type:a.type||"key",hashType:c})},d.isFingerprint=function(e,a){return l.isCompatible(e,d,a)},d.prototype._sshpkApiVersion=[1,2],d._oldVersionDetect=function(e){return r.func(e.toString),r.func(e.matches),[1,0]}},function(e,a,t){(function(){var a;function t(e,a,t){null!=e&&("number"==typeof e?this.fromNumber(e,a,t):null==a&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,a))}function r(){return new t(null)}var i="undefined"!=typeof navigator;i&&"Microsoft Internet Explorer"==navigator.appName?(t.prototype.am=function(e,a,t,r,i,o){for(var n=32767&a,s=a>>15;--o>=0;){var c=32767&this[e],u=this[e++]>>15,p=s*c+u*n;i=((c=n*c+((32767&p)<<15)+t[r]+(1073741823&i))>>>30)+(p>>>15)+s*u+(i>>>30),t[r++]=1073741823&c}return i},a=30):i&&"Netscape"!=navigator.appName?(t.prototype.am=function(e,a,t,r,i,o){for(;--o>=0;){var n=a*this[e++]+t[r]+i;i=Math.floor(n/67108864),t[r++]=67108863&n}return i},a=26):(t.prototype.am=function(e,a,t,r,i,o){for(var n=16383&a,s=a>>14;--o>=0;){var c=16383&this[e],u=this[e++]>>14,p=s*c+u*n;i=((c=n*c+((16383&p)<<14)+t[r]+i)>>28)+(p>>14)+s*u,t[r++]=268435455&c}return i},a=28),t.prototype.DB=a,t.prototype.DM=(1<>>16)&&(e=a,t+=16),0!=(a=e>>8)&&(e=a,t+=8),0!=(a=e>>4)&&(e=a,t+=4),0!=(a=e>>2)&&(e=a,t+=2),0!=(a=e>>1)&&(e=a,t+=1),t}function m(e){this.m=e}function h(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,a+=16),0==(255&e)&&(e>>=8,a+=8),0==(15&e)&&(e>>=4,a+=4),0==(3&e)&&(e>>=2,a+=2),0==(1&e)&&++a,a}function b(e){for(var a=0;0!=e;)e&=e-1,++a;return a}function k(){}function x(e){return e}function w(e){this.r2=r(),this.q3=r(),t.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}m.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},m.prototype.revert=function(e){return e},m.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},m.prototype.mulTo=function(e,a,t){e.multiplyTo(a,t),this.reduce(t)},m.prototype.sqrTo=function(e,a){e.squareTo(a),this.reduce(a)},h.prototype.convert=function(e){var a=r();return e.abs().dlShiftTo(this.m.t,a),a.divRemTo(this.m,null,a),e.s<0&&a.compareTo(t.ZERO)>0&&this.m.subTo(a,a),a},h.prototype.revert=function(e){var a=r();return e.copyTo(a),this.reduce(a),a},h.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var a=0;a>15)*this.mpl&this.um)<<15)&e.DM;for(e[t=a+this.m.t]+=this.m.am(0,r,e,a,0,this.m.t);e[t]>=e.DV;)e[t]-=e.DV,e[++t]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},h.prototype.mulTo=function(e,a,t){e.multiplyTo(a,t),this.reduce(t)},h.prototype.sqrTo=function(e,a){e.squareTo(a),this.reduce(a)},t.prototype.copyTo=function(e){for(var a=this.t-1;a>=0;--a)e[a]=this[a];e.t=this.t,e.s=this.s},t.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},t.prototype.fromString=function(e,a){var r;if(16==a)r=4;else if(8==a)r=3;else if(256==a)r=8;else if(2==a)r=1;else if(32==a)r=5;else{if(4!=a)return void this.fromRadix(e,a);r=2}this.t=0,this.s=0;for(var i=e.length,o=!1,n=0;--i>=0;){var s=8==r?255&e[i]:u(e,i);s<0?"-"==e.charAt(i)&&(o=!0):(o=!1,0==n?this[this.t++]=s:n+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-n):this[this.t-1]|=s<=this.DB&&(n-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,n>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t},t.prototype.dlShiftTo=function(e,a){var t;for(t=this.t-1;t>=0;--t)a[t+e]=this[t];for(t=e-1;t>=0;--t)a[t]=0;a.t=this.t+e,a.s=this.s},t.prototype.drShiftTo=function(e,a){for(var t=e;t=0;--t)a[t+n+1]=this[t]>>i|s,s=(this[t]&o)<=0;--t)a[t]=0;a[n]=s,a.t=this.t+n+1,a.s=this.s,a.clamp()},t.prototype.rShiftTo=function(e,a){a.s=this.s;var t=Math.floor(e/this.DB);if(t>=this.t)a.t=0;else{var r=e%this.DB,i=this.DB-r,o=(1<>r;for(var n=t+1;n>r;r>0&&(a[this.t-t-1]|=(this.s&o)<>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;t>=this.DB;r-=e.s}a.s=r<0?-1:0,r<-1?a[t++]=this.DV+r:r>0&&(a[t++]=r),a.t=t,a.clamp()},t.prototype.multiplyTo=function(e,a){var r=this.abs(),i=e.abs(),o=r.t;for(a.t=o+i.t;--o>=0;)a[o]=0;for(o=0;o=0;)e[t]=0;for(t=0;t=a.DV&&(e[t+a.t]-=a.DV,e[t+a.t+1]=1)}e.t>0&&(e[e.t-1]+=a.am(t,a[t],e,2*t,0,1)),e.s=0,e.clamp()},t.prototype.divRemTo=function(e,a,i){var o=e.abs();if(!(o.t<=0)){var n=this.abs();if(n.t0?(o.lShiftTo(p,s),n.lShiftTo(p,i)):(o.copyTo(s),n.copyTo(i));var m=s.t,h=s[m-1];if(0!=h){var d=h*(1<1?s[m-2]>>this.F2:0),f=this.FV/d,g=(1<=0&&(i[i.t++]=1,i.subTo(k,i)),t.ONE.dlShiftTo(m,k),k.subTo(s,s);s.t=0;){var x=i[--y]==h?this.DM:Math.floor(i[y]*f+(i[y-1]+v)*g);if((i[y]+=s.am(0,x,i,b,0,m))0&&i.rShiftTo(p,i),c<0&&t.ZERO.subTo(i,i)}}},t.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var a=3&e;return(a=(a=(a=(a=a*(2-(15&e)*a)&15)*(2-(255&e)*a)&255)*(2-((65535&e)*a&65535))&65535)*(2-e*a%this.DV)%this.DV)>0?this.DV-a:-a},t.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},t.prototype.exp=function(e,a){if(e>4294967295||e<1)return t.ONE;var i=r(),o=r(),n=a.convert(this),s=l(e)-1;for(n.copyTo(i);--s>=0;)if(a.sqrTo(i,o),(e&1<0)a.mulTo(o,n,i);else{var c=i;i=o,o=c}return a.revert(i)},t.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var a;if(16==e)a=4;else if(8==e)a=3;else if(2==e)a=1;else if(32==e)a=5;else{if(4!=e)return this.toRadix(e);a=2}var t,r=(1<0)for(s>s)>0&&(i=!0,o=c(t));n>=0;)s>(s+=this.DB-a)):(t=this[n]>>(s-=a)&r,s<=0&&(s+=this.DB,--n)),t>0&&(i=!0),i&&(o+=c(t));return i?o:"0"},t.prototype.negate=function(){var e=r();return t.ZERO.subTo(this,e),e},t.prototype.abs=function(){return this.s<0?this.negate():this},t.prototype.compareTo=function(e){var a=this.s-e.s;if(0!=a)return a;var t=this.t;if(0!=(a=t-e.t))return this.s<0?-a:a;for(;--t>=0;)if(0!=(a=this[t]-e[t]))return a;return 0},t.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+l(this[this.t-1]^this.s&this.DM)},t.prototype.mod=function(e){var a=r();return this.abs().divRemTo(e,null,a),this.s<0&&a.compareTo(t.ZERO)>0&&e.subTo(a,a),a},t.prototype.modPowInt=function(e,a){var t;return t=e<256||a.isEven()?new m(a):new h(a),this.exp(e,t)},t.ZERO=p(0),t.ONE=p(1),k.prototype.convert=x,k.prototype.revert=x,k.prototype.mulTo=function(e,a,t){e.multiplyTo(a,t)},k.prototype.sqrTo=function(e,a){e.squareTo(a)},w.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var a=r();return e.copyTo(a),this.reduce(a),a},w.prototype.revert=function(e){return e},w.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},w.prototype.mulTo=function(e,a,t){e.multiplyTo(a,t),this.reduce(t)},w.prototype.sqrTo=function(e,a){e.squareTo(a),this.reduce(a)};var j,S,E,F=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/F[F.length-1];function _(){var e;e=(new Date).getTime(),S[E++]^=255&e,S[E++]^=e>>8&255,S[E++]^=e>>16&255,S[E++]^=e>>24&255,E>=D&&(E-=D)}if(t.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},t.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var a=this.chunkSize(e),t=Math.pow(e,a),i=p(t),o=r(),n=r(),s="";for(this.divRemTo(i,o,n);o.signum()>0;)s=(t+n.intValue()).toString(e).substr(1)+s,o.divRemTo(i,o,n);return n.intValue().toString(e)+s},t.prototype.fromRadix=function(e,a){this.fromInt(0),null==a&&(a=10);for(var r=this.chunkSize(a),i=Math.pow(a,r),o=!1,n=0,s=0,c=0;c=r&&(this.dMultiply(i),this.dAddOffset(s,0),n=0,s=0))}n>0&&(this.dMultiply(Math.pow(a,n)),this.dAddOffset(s,0)),o&&t.ZERO.subTo(this,this)},t.prototype.fromNumber=function(e,a,r){if("number"==typeof a)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(t.ONE.shiftLeft(e-1),f,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(a);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(t.ONE.shiftLeft(e-1),this);else{var i=new Array,o=7&e;i.length=1+(e>>3),a.nextBytes(i),o>0?i[0]&=(1<>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;t>=this.DB;r+=e.s}a.s=r<0?-1:0,r>0?a[t++]=r:r<-1&&(a[t++]=this.DV+r),a.t=t,a.clamp()},t.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},t.prototype.dAddOffset=function(e,a){if(0!=e){for(;this.t<=a;)this[this.t++]=0;for(this[a]+=e;this[a]>=this.DV;)this[a]-=this.DV,++a>=this.t&&(this[this.t++]=0),++this[a]}},t.prototype.multiplyLowerTo=function(e,a,t){var r,i=Math.min(this.t+e.t,a);for(t.s=0,t.t=i;i>0;)t[--i]=0;for(r=t.t-this.t;i=0;)t[r]=0;for(r=Math.max(a-this.t,0);r0)if(0==a)t=this[0]%e;else for(var r=this.t-1;r>=0;--r)t=(a*t+this[r])%e;return t},t.prototype.millerRabin=function(e){var a=this.subtract(t.ONE),i=a.getLowestSetBit();if(i<=0)return!1;var o=a.shiftRight(i);(e=e+1>>1)>F.length&&(e=F.length);for(var n=r(),s=0;s>24},t.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},t.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},t.prototype.toByteArray=function(){var e=this.t,a=new Array;a[0]=this.s;var t,r=this.DB-e*this.DB%8,i=0;if(e-- >0)for(r>r)!=(this.s&this.DM)>>r&&(a[i++]=t|this.s<=0;)r<8?(t=(this[e]&(1<>(r+=this.DB-8)):(t=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),0!=(128&t)&&(t|=-256),0==i&&(128&this.s)!=(128&t)&&++i,(i>0||t!=this.s)&&(a[i++]=t);return a},t.prototype.equals=function(e){return 0==this.compareTo(e)},t.prototype.min=function(e){return this.compareTo(e)<0?this:e},t.prototype.max=function(e){return this.compareTo(e)>0?this:e},t.prototype.and=function(e){var a=r();return this.bitwiseTo(e,d,a),a},t.prototype.or=function(e){var a=r();return this.bitwiseTo(e,f,a),a},t.prototype.xor=function(e){var a=r();return this.bitwiseTo(e,g,a),a},t.prototype.andNot=function(e){var a=r();return this.bitwiseTo(e,v,a),a},t.prototype.not=function(){for(var e=r(),a=0;a=this.t?0!=this.s:0!=(this[a]&1<1){var f=r();for(i.sqrTo(s[1],f);c<=d;)s[c]=r(),i.mulTo(f,s[c-2],s[c]),c+=2}var g,v,y=e.t-1,b=!0,k=r();for(o=l(e[y])-1;y>=0;){for(o>=u?g=e[y]>>o-u&d:(g=(e[y]&(1<0&&(g|=e[y-1]>>this.DB+o-u)),c=t;0==(1&g);)g>>=1,--c;if((o-=c)<0&&(o+=this.DB,--y),b)s[g].copyTo(n),b=!1;else{for(;c>1;)i.sqrTo(n,k),i.sqrTo(k,n),c-=2;c>0?i.sqrTo(n,k):(v=n,n=k,k=v),i.mulTo(k,s[g],n)}for(;y>=0&&0==(e[y]&1<=0?(r.subTo(i,r),a&&o.subTo(s,o),n.subTo(c,n)):(i.subTo(r,i),a&&s.subTo(o,s),c.subTo(n,c))}return 0!=i.compareTo(t.ONE)?t.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c},t.prototype.pow=function(e){return this.exp(e,new k)},t.prototype.gcd=function(e){var a=this.s<0?this.negate():this.clone(),t=e.s<0?e.negate():e.clone();if(a.compareTo(t)<0){var r=a;a=t,t=r}var i=a.getLowestSetBit(),o=t.getLowestSetBit();if(o<0)return a;for(i0&&(a.rShiftTo(o,a),t.rShiftTo(o,t));a.signum()>0;)(i=a.getLowestSetBit())>0&&a.rShiftTo(i,a),(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),a.compareTo(t)>=0?(a.subTo(t,a),a.rShiftTo(1,a)):(t.subTo(a,t),t.rShiftTo(1,t));return o>0&&t.lShiftTo(o,t),t},t.prototype.isProbablePrime=function(e){var a,t=this.abs();if(1==t.t&&t[0]<=F[F.length-1]){for(a=0;a>>8,S[E++]=255&P;E=0,_()}function O(){if(null==j){for(_(),(j=new C).init(S),E=0;E>24&255,e[a+1]=t>>16&255,e[a+2]=t>>8&255,e[a+3]=255&t,e[a+4]=r>>24&255,e[a+5]=r>>16&255,e[a+6]=r>>8&255,e[a+7]=255&r}function f(e,a,t,r,i){var o,n=0;for(o=0;o>>8)-1}function g(e,a,t,r){return f(e,a,t,r,16)}function v(e,a,t,r){return f(e,a,t,r,32)}function y(e,a,t,r){!function(e,a,t,r){for(var i,o=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,n=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,s=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,c=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,u=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,p=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,l=255&a[0]|(255&a[1])<<8|(255&a[2])<<16|(255&a[3])<<24,m=255&a[4]|(255&a[5])<<8|(255&a[6])<<16|(255&a[7])<<24,h=255&a[8]|(255&a[9])<<8|(255&a[10])<<16|(255&a[11])<<24,d=255&a[12]|(255&a[13])<<8|(255&a[14])<<16|(255&a[15])<<24,f=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&t[16]|(255&t[17])<<8|(255&t[18])<<16|(255&t[19])<<24,v=255&t[20]|(255&t[21])<<8|(255&t[22])<<16|(255&t[23])<<24,y=255&t[24]|(255&t[25])<<8|(255&t[26])<<16|(255&t[27])<<24,b=255&t[28]|(255&t[29])<<8|(255&t[30])<<16|(255&t[31])<<24,k=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,x=o,w=n,j=s,S=c,E=u,F=p,z=l,_=m,P=h,A=d,q=f,O=g,B=v,C=y,D=b,T=k,I=0;I<20;I+=2)x^=(i=(B^=(i=(P^=(i=(E^=(i=x+B|0)<<7|i>>>25)+x|0)<<9|i>>>23)+E|0)<<13|i>>>19)+P|0)<<18|i>>>14,F^=(i=(w^=(i=(C^=(i=(A^=(i=F+w|0)<<7|i>>>25)+F|0)<<9|i>>>23)+A|0)<<13|i>>>19)+C|0)<<18|i>>>14,q^=(i=(z^=(i=(j^=(i=(D^=(i=q+z|0)<<7|i>>>25)+q|0)<<9|i>>>23)+D|0)<<13|i>>>19)+j|0)<<18|i>>>14,T^=(i=(O^=(i=(_^=(i=(S^=(i=T+O|0)<<7|i>>>25)+T|0)<<9|i>>>23)+S|0)<<13|i>>>19)+_|0)<<18|i>>>14,x^=(i=(S^=(i=(j^=(i=(w^=(i=x+S|0)<<7|i>>>25)+x|0)<<9|i>>>23)+w|0)<<13|i>>>19)+j|0)<<18|i>>>14,F^=(i=(E^=(i=(_^=(i=(z^=(i=F+E|0)<<7|i>>>25)+F|0)<<9|i>>>23)+z|0)<<13|i>>>19)+_|0)<<18|i>>>14,q^=(i=(A^=(i=(P^=(i=(O^=(i=q+A|0)<<7|i>>>25)+q|0)<<9|i>>>23)+O|0)<<13|i>>>19)+P|0)<<18|i>>>14,T^=(i=(D^=(i=(C^=(i=(B^=(i=T+D|0)<<7|i>>>25)+T|0)<<9|i>>>23)+B|0)<<13|i>>>19)+C|0)<<18|i>>>14;x=x+o|0,w=w+n|0,j=j+s|0,S=S+c|0,E=E+u|0,F=F+p|0,z=z+l|0,_=_+m|0,P=P+h|0,A=A+d|0,q=q+f|0,O=O+g|0,B=B+v|0,C=C+y|0,D=D+b|0,T=T+k|0,e[0]=x>>>0&255,e[1]=x>>>8&255,e[2]=x>>>16&255,e[3]=x>>>24&255,e[4]=w>>>0&255,e[5]=w>>>8&255,e[6]=w>>>16&255,e[7]=w>>>24&255,e[8]=j>>>0&255,e[9]=j>>>8&255,e[10]=j>>>16&255,e[11]=j>>>24&255,e[12]=S>>>0&255,e[13]=S>>>8&255,e[14]=S>>>16&255,e[15]=S>>>24&255,e[16]=E>>>0&255,e[17]=E>>>8&255,e[18]=E>>>16&255,e[19]=E>>>24&255,e[20]=F>>>0&255,e[21]=F>>>8&255,e[22]=F>>>16&255,e[23]=F>>>24&255,e[24]=z>>>0&255,e[25]=z>>>8&255,e[26]=z>>>16&255,e[27]=z>>>24&255,e[28]=_>>>0&255,e[29]=_>>>8&255,e[30]=_>>>16&255,e[31]=_>>>24&255,e[32]=P>>>0&255,e[33]=P>>>8&255,e[34]=P>>>16&255,e[35]=P>>>24&255,e[36]=A>>>0&255,e[37]=A>>>8&255,e[38]=A>>>16&255,e[39]=A>>>24&255,e[40]=q>>>0&255,e[41]=q>>>8&255,e[42]=q>>>16&255,e[43]=q>>>24&255,e[44]=O>>>0&255,e[45]=O>>>8&255,e[46]=O>>>16&255,e[47]=O>>>24&255,e[48]=B>>>0&255,e[49]=B>>>8&255,e[50]=B>>>16&255,e[51]=B>>>24&255,e[52]=C>>>0&255,e[53]=C>>>8&255,e[54]=C>>>16&255,e[55]=C>>>24&255,e[56]=D>>>0&255,e[57]=D>>>8&255,e[58]=D>>>16&255,e[59]=D>>>24&255,e[60]=T>>>0&255,e[61]=T>>>8&255,e[62]=T>>>16&255,e[63]=T>>>24&255}(e,a,t,r)}function b(e,a,t,r){!function(e,a,t,r){for(var i,o=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,n=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,s=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,c=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,u=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,p=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,l=255&a[0]|(255&a[1])<<8|(255&a[2])<<16|(255&a[3])<<24,m=255&a[4]|(255&a[5])<<8|(255&a[6])<<16|(255&a[7])<<24,h=255&a[8]|(255&a[9])<<8|(255&a[10])<<16|(255&a[11])<<24,d=255&a[12]|(255&a[13])<<8|(255&a[14])<<16|(255&a[15])<<24,f=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&t[16]|(255&t[17])<<8|(255&t[18])<<16|(255&t[19])<<24,v=255&t[20]|(255&t[21])<<8|(255&t[22])<<16|(255&t[23])<<24,y=255&t[24]|(255&t[25])<<8|(255&t[26])<<16|(255&t[27])<<24,b=255&t[28]|(255&t[29])<<8|(255&t[30])<<16|(255&t[31])<<24,k=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,x=0;x<20;x+=2)o^=(i=(v^=(i=(h^=(i=(u^=(i=o+v|0)<<7|i>>>25)+o|0)<<9|i>>>23)+u|0)<<13|i>>>19)+h|0)<<18|i>>>14,p^=(i=(n^=(i=(y^=(i=(d^=(i=p+n|0)<<7|i>>>25)+p|0)<<9|i>>>23)+d|0)<<13|i>>>19)+y|0)<<18|i>>>14,f^=(i=(l^=(i=(s^=(i=(b^=(i=f+l|0)<<7|i>>>25)+f|0)<<9|i>>>23)+b|0)<<13|i>>>19)+s|0)<<18|i>>>14,k^=(i=(g^=(i=(m^=(i=(c^=(i=k+g|0)<<7|i>>>25)+k|0)<<9|i>>>23)+c|0)<<13|i>>>19)+m|0)<<18|i>>>14,o^=(i=(c^=(i=(s^=(i=(n^=(i=o+c|0)<<7|i>>>25)+o|0)<<9|i>>>23)+n|0)<<13|i>>>19)+s|0)<<18|i>>>14,p^=(i=(u^=(i=(m^=(i=(l^=(i=p+u|0)<<7|i>>>25)+p|0)<<9|i>>>23)+l|0)<<13|i>>>19)+m|0)<<18|i>>>14,f^=(i=(d^=(i=(h^=(i=(g^=(i=f+d|0)<<7|i>>>25)+f|0)<<9|i>>>23)+g|0)<<13|i>>>19)+h|0)<<18|i>>>14,k^=(i=(b^=(i=(y^=(i=(v^=(i=k+b|0)<<7|i>>>25)+k|0)<<9|i>>>23)+v|0)<<13|i>>>19)+y|0)<<18|i>>>14;e[0]=o>>>0&255,e[1]=o>>>8&255,e[2]=o>>>16&255,e[3]=o>>>24&255,e[4]=p>>>0&255,e[5]=p>>>8&255,e[6]=p>>>16&255,e[7]=p>>>24&255,e[8]=f>>>0&255,e[9]=f>>>8&255,e[10]=f>>>16&255,e[11]=f>>>24&255,e[12]=k>>>0&255,e[13]=k>>>8&255,e[14]=k>>>16&255,e[15]=k>>>24&255,e[16]=l>>>0&255,e[17]=l>>>8&255,e[18]=l>>>16&255,e[19]=l>>>24&255,e[20]=m>>>0&255,e[21]=m>>>8&255,e[22]=m>>>16&255,e[23]=m>>>24&255,e[24]=h>>>0&255,e[25]=h>>>8&255,e[26]=h>>>16&255,e[27]=h>>>24&255,e[28]=d>>>0&255,e[29]=d>>>8&255,e[30]=d>>>16&255,e[31]=d>>>24&255}(e,a,t,r)}var k=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function x(e,a,t,r,i,o,n){var s,c,u=new Uint8Array(16),p=new Uint8Array(64);for(c=0;c<16;c++)u[c]=0;for(c=0;c<8;c++)u[c]=o[c];for(;i>=64;){for(y(p,u,n,k),c=0;c<64;c++)e[a+c]=t[r+c]^p[c];for(s=1,c=8;c<16;c++)s=s+(255&u[c])|0,u[c]=255&s,s>>>=8;i-=64,a+=64,r+=64}if(i>0)for(y(p,u,n,k),c=0;c=64;){for(y(c,s,i,k),n=0;n<64;n++)e[a+n]=c[n];for(o=1,n=8;n<16;n++)o=o+(255&s[n])|0,s[n]=255&o,o>>>=8;t-=64,a+=64}if(t>0)for(y(c,s,i,k),n=0;n>>13|t<<3),r=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(t>>>10|r<<6),i=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(r>>>7|i<<9),o=255&e[8]|(255&e[9])<<8,this.r[4]=255&(i>>>4|o<<12),this.r[5]=o>>>1&8190,n=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(o>>>14|n<<2),s=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(n>>>11|s<<5),c=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(s>>>8|c<<8),this.r[9]=c>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};function F(e,a,t,r,i,o){var n=new E(o);return n.update(t,r,i),n.finish(e,a),0}function z(e,a,t,r,i,o){var n=new Uint8Array(16);return F(n,0,t,r,i,o),g(e,a,n,0)}function _(e,a,t,r,i){var o;if(t<32)return-1;for(S(e,0,a,0,t,r,i),F(e,16,e,32,t-32,e),o=0;o<16;o++)e[o]=0;return 0}function P(e,a,t,r,i){var o,n=new Uint8Array(32);if(t<32)return-1;if(j(n,0,32,r,i),0!==z(a,16,a,32,t-32,n))return-1;for(S(e,0,a,0,t,r,i),o=0;o<32;o++)e[o]=0;return 0}function A(e,a){var t;for(t=0;t<16;t++)e[t]=0|a[t]}function q(e){var a,t,r=1;for(a=0;a<16;a++)t=e[a]+r+65535,r=Math.floor(t/65536),e[a]=t-65536*r;e[0]+=r-1+37*(r-1)}function O(e,a,t){for(var r,i=~(t-1),o=0;o<16;o++)r=i&(e[o]^a[o]),e[o]^=r,a[o]^=r}function B(e,t){var r,i,o,n=a(),s=a();for(r=0;r<16;r++)s[r]=t[r];for(q(s),q(s),q(s),i=0;i<2;i++){for(n[0]=s[0]-65517,r=1;r<15;r++)n[r]=s[r]-65535-(n[r-1]>>16&1),n[r-1]&=65535;n[15]=s[15]-32767-(n[14]>>16&1),o=n[15]>>16&1,n[14]&=65535,O(s,n,1-o)}for(r=0;r<16;r++)e[2*r]=255&s[r],e[2*r+1]=s[r]>>8}function C(e,a){var t=new Uint8Array(32),r=new Uint8Array(32);return B(t,e),B(r,a),v(t,0,r,0)}function D(e){var a=new Uint8Array(32);return B(a,e),1&a[0]}function T(e,a){var t;for(t=0;t<16;t++)e[t]=a[2*t]+(a[2*t+1]<<8);e[15]&=32767}function I(e,a,t){for(var r=0;r<16;r++)e[r]=a[r]+t[r]}function R(e,a,t){for(var r=0;r<16;r++)e[r]=a[r]-t[r]}function N(e,a,t){var r,i,o=0,n=0,s=0,c=0,u=0,p=0,l=0,m=0,h=0,d=0,f=0,g=0,v=0,y=0,b=0,k=0,x=0,w=0,j=0,S=0,E=0,F=0,z=0,_=0,P=0,A=0,q=0,O=0,B=0,C=0,D=0,T=t[0],I=t[1],R=t[2],N=t[3],L=t[4],U=t[5],H=t[6],$=t[7],M=t[8],K=t[9],V=t[10],Q=t[11],G=t[12],J=t[13],Z=t[14],Y=t[15];o+=(r=a[0])*T,n+=r*I,s+=r*R,c+=r*N,u+=r*L,p+=r*U,l+=r*H,m+=r*$,h+=r*M,d+=r*K,f+=r*V,g+=r*Q,v+=r*G,y+=r*J,b+=r*Z,k+=r*Y,n+=(r=a[1])*T,s+=r*I,c+=r*R,u+=r*N,p+=r*L,l+=r*U,m+=r*H,h+=r*$,d+=r*M,f+=r*K,g+=r*V,v+=r*Q,y+=r*G,b+=r*J,k+=r*Z,x+=r*Y,s+=(r=a[2])*T,c+=r*I,u+=r*R,p+=r*N,l+=r*L,m+=r*U,h+=r*H,d+=r*$,f+=r*M,g+=r*K,v+=r*V,y+=r*Q,b+=r*G,k+=r*J,x+=r*Z,w+=r*Y,c+=(r=a[3])*T,u+=r*I,p+=r*R,l+=r*N,m+=r*L,h+=r*U,d+=r*H,f+=r*$,g+=r*M,v+=r*K,y+=r*V,b+=r*Q,k+=r*G,x+=r*J,w+=r*Z,j+=r*Y,u+=(r=a[4])*T,p+=r*I,l+=r*R,m+=r*N,h+=r*L,d+=r*U,f+=r*H,g+=r*$,v+=r*M,y+=r*K,b+=r*V,k+=r*Q,x+=r*G,w+=r*J,j+=r*Z,S+=r*Y,p+=(r=a[5])*T,l+=r*I,m+=r*R,h+=r*N,d+=r*L,f+=r*U,g+=r*H,v+=r*$,y+=r*M,b+=r*K,k+=r*V,x+=r*Q,w+=r*G,j+=r*J,S+=r*Z,E+=r*Y,l+=(r=a[6])*T,m+=r*I,h+=r*R,d+=r*N,f+=r*L,g+=r*U,v+=r*H,y+=r*$,b+=r*M,k+=r*K,x+=r*V,w+=r*Q,j+=r*G,S+=r*J,E+=r*Z,F+=r*Y,m+=(r=a[7])*T,h+=r*I,d+=r*R,f+=r*N,g+=r*L,v+=r*U,y+=r*H,b+=r*$,k+=r*M,x+=r*K,w+=r*V,j+=r*Q,S+=r*G,E+=r*J,F+=r*Z,z+=r*Y,h+=(r=a[8])*T,d+=r*I,f+=r*R,g+=r*N,v+=r*L,y+=r*U,b+=r*H,k+=r*$,x+=r*M,w+=r*K,j+=r*V,S+=r*Q,E+=r*G,F+=r*J,z+=r*Z,_+=r*Y,d+=(r=a[9])*T,f+=r*I,g+=r*R,v+=r*N,y+=r*L,b+=r*U,k+=r*H,x+=r*$,w+=r*M,j+=r*K,S+=r*V,E+=r*Q,F+=r*G,z+=r*J,_+=r*Z,P+=r*Y,f+=(r=a[10])*T,g+=r*I,v+=r*R,y+=r*N,b+=r*L,k+=r*U,x+=r*H,w+=r*$,j+=r*M,S+=r*K,E+=r*V,F+=r*Q,z+=r*G,_+=r*J,P+=r*Z,A+=r*Y,g+=(r=a[11])*T,v+=r*I,y+=r*R,b+=r*N,k+=r*L,x+=r*U,w+=r*H,j+=r*$,S+=r*M,E+=r*K,F+=r*V,z+=r*Q,_+=r*G,P+=r*J,A+=r*Z,q+=r*Y,v+=(r=a[12])*T,y+=r*I,b+=r*R,k+=r*N,x+=r*L,w+=r*U,j+=r*H,S+=r*$,E+=r*M,F+=r*K,z+=r*V,_+=r*Q,P+=r*G,A+=r*J,q+=r*Z,O+=r*Y,y+=(r=a[13])*T,b+=r*I,k+=r*R,x+=r*N,w+=r*L,j+=r*U,S+=r*H,E+=r*$,F+=r*M,z+=r*K,_+=r*V,P+=r*Q,A+=r*G,q+=r*J,O+=r*Z,B+=r*Y,b+=(r=a[14])*T,k+=r*I,x+=r*R,w+=r*N,j+=r*L,S+=r*U,E+=r*H,F+=r*$,z+=r*M,_+=r*K,P+=r*V,A+=r*Q,q+=r*G,O+=r*J,B+=r*Z,C+=r*Y,k+=(r=a[15])*T,n+=38*(w+=r*R),s+=38*(j+=r*N),c+=38*(S+=r*L),u+=38*(E+=r*U),p+=38*(F+=r*H),l+=38*(z+=r*$),m+=38*(_+=r*M),h+=38*(P+=r*K),d+=38*(A+=r*V),f+=38*(q+=r*Q),g+=38*(O+=r*G),v+=38*(B+=r*J),y+=38*(C+=r*Z),b+=38*(D+=r*Y),o=(r=(o+=38*(x+=r*I))+(i=1)+65535)-65536*(i=Math.floor(r/65536)),n=(r=n+i+65535)-65536*(i=Math.floor(r/65536)),s=(r=s+i+65535)-65536*(i=Math.floor(r/65536)),c=(r=c+i+65535)-65536*(i=Math.floor(r/65536)),u=(r=u+i+65535)-65536*(i=Math.floor(r/65536)),p=(r=p+i+65535)-65536*(i=Math.floor(r/65536)),l=(r=l+i+65535)-65536*(i=Math.floor(r/65536)),m=(r=m+i+65535)-65536*(i=Math.floor(r/65536)),h=(r=h+i+65535)-65536*(i=Math.floor(r/65536)),d=(r=d+i+65535)-65536*(i=Math.floor(r/65536)),f=(r=f+i+65535)-65536*(i=Math.floor(r/65536)),g=(r=g+i+65535)-65536*(i=Math.floor(r/65536)),v=(r=v+i+65535)-65536*(i=Math.floor(r/65536)),y=(r=y+i+65535)-65536*(i=Math.floor(r/65536)),b=(r=b+i+65535)-65536*(i=Math.floor(r/65536)),k=(r=k+i+65535)-65536*(i=Math.floor(r/65536)),o=(r=(o+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(r/65536)),n=(r=n+i+65535)-65536*(i=Math.floor(r/65536)),s=(r=s+i+65535)-65536*(i=Math.floor(r/65536)),c=(r=c+i+65535)-65536*(i=Math.floor(r/65536)),u=(r=u+i+65535)-65536*(i=Math.floor(r/65536)),p=(r=p+i+65535)-65536*(i=Math.floor(r/65536)),l=(r=l+i+65535)-65536*(i=Math.floor(r/65536)),m=(r=m+i+65535)-65536*(i=Math.floor(r/65536)),h=(r=h+i+65535)-65536*(i=Math.floor(r/65536)),d=(r=d+i+65535)-65536*(i=Math.floor(r/65536)),f=(r=f+i+65535)-65536*(i=Math.floor(r/65536)),g=(r=g+i+65535)-65536*(i=Math.floor(r/65536)),v=(r=v+i+65535)-65536*(i=Math.floor(r/65536)),y=(r=y+i+65535)-65536*(i=Math.floor(r/65536)),b=(r=b+i+65535)-65536*(i=Math.floor(r/65536)),k=(r=k+i+65535)-65536*(i=Math.floor(r/65536)),o+=i-1+37*(i-1),e[0]=o,e[1]=n,e[2]=s,e[3]=c,e[4]=u,e[5]=p,e[6]=l,e[7]=m,e[8]=h,e[9]=d,e[10]=f,e[11]=g,e[12]=v,e[13]=y,e[14]=b,e[15]=k}function L(e,a){N(e,a,a)}function U(e,t){var r,i=a();for(r=0;r<16;r++)i[r]=t[r];for(r=253;r>=0;r--)L(i,i),2!==r&&4!==r&&N(i,i,t);for(r=0;r<16;r++)e[r]=i[r]}function H(e,t,r){var i,o,n=new Uint8Array(32),s=new Float64Array(80),u=a(),p=a(),l=a(),m=a(),h=a(),d=a();for(o=0;o<31;o++)n[o]=t[o];for(n[31]=127&t[31]|64,n[0]&=248,T(s,r),o=0;o<16;o++)p[o]=s[o],m[o]=u[o]=l[o]=0;for(u[0]=m[0]=1,o=254;o>=0;--o)O(u,p,i=n[o>>>3]>>>(7&o)&1),O(l,m,i),I(h,u,l),R(u,u,l),I(l,p,m),R(p,p,m),L(m,h),L(d,u),N(u,l,u),N(l,p,h),I(h,u,l),R(u,u,l),L(p,u),R(l,m,d),N(u,l,c),I(u,u,m),N(l,l,u),N(u,m,d),N(m,p,s),L(p,h),O(u,p,i),O(l,m,i);for(o=0;o<16;o++)s[o+16]=u[o],s[o+32]=l[o],s[o+48]=p[o],s[o+64]=m[o];var f=s.subarray(32),g=s.subarray(16);return U(f,f),N(g,g,f),B(e,g),0}function $(e,a){return H(e,a,o)}function M(e,a){return r(a,32),$(e,a)}function K(e,a,t){var r=new Uint8Array(32);return H(r,t,a),b(e,i,r,k)}E.prototype.blocks=function(e,a,t){for(var r,i,o,n,s,c,u,p,l,m,h,d,f,g,v,y,b,k,x,w=this.fin?0:2048,j=this.h[0],S=this.h[1],E=this.h[2],F=this.h[3],z=this.h[4],_=this.h[5],P=this.h[6],A=this.h[7],q=this.h[8],O=this.h[9],B=this.r[0],C=this.r[1],D=this.r[2],T=this.r[3],I=this.r[4],R=this.r[5],N=this.r[6],L=this.r[7],U=this.r[8],H=this.r[9];t>=16;)m=l=0,m+=(j+=8191&(r=255&e[a+0]|(255&e[a+1])<<8))*B,m+=(S+=8191&(r>>>13|(i=255&e[a+2]|(255&e[a+3])<<8)<<3))*(5*H),m+=(E+=8191&(i>>>10|(o=255&e[a+4]|(255&e[a+5])<<8)<<6))*(5*U),m+=(F+=8191&(o>>>7|(n=255&e[a+6]|(255&e[a+7])<<8)<<9))*(5*L),l=(m+=(z+=8191&(n>>>4|(s=255&e[a+8]|(255&e[a+9])<<8)<<12))*(5*N))>>>13,m&=8191,m+=(_+=s>>>1&8191)*(5*R),m+=(P+=8191&(s>>>14|(c=255&e[a+10]|(255&e[a+11])<<8)<<2))*(5*I),m+=(A+=8191&(c>>>11|(u=255&e[a+12]|(255&e[a+13])<<8)<<5))*(5*T),m+=(q+=8191&(u>>>8|(p=255&e[a+14]|(255&e[a+15])<<8)<<8))*(5*D),h=l+=(m+=(O+=p>>>5|w)*(5*C))>>>13,h+=j*C,h+=S*B,h+=E*(5*H),h+=F*(5*U),l=(h+=z*(5*L))>>>13,h&=8191,h+=_*(5*N),h+=P*(5*R),h+=A*(5*I),h+=q*(5*T),l+=(h+=O*(5*D))>>>13,h&=8191,d=l,d+=j*D,d+=S*C,d+=E*B,d+=F*(5*H),l=(d+=z*(5*U))>>>13,d&=8191,d+=_*(5*L),d+=P*(5*N),d+=A*(5*R),d+=q*(5*I),f=l+=(d+=O*(5*T))>>>13,f+=j*T,f+=S*D,f+=E*C,f+=F*B,l=(f+=z*(5*H))>>>13,f&=8191,f+=_*(5*U),f+=P*(5*L),f+=A*(5*N),f+=q*(5*R),g=l+=(f+=O*(5*I))>>>13,g+=j*I,g+=S*T,g+=E*D,g+=F*C,l=(g+=z*B)>>>13,g&=8191,g+=_*(5*H),g+=P*(5*U),g+=A*(5*L),g+=q*(5*N),v=l+=(g+=O*(5*R))>>>13,v+=j*R,v+=S*I,v+=E*T,v+=F*D,l=(v+=z*C)>>>13,v&=8191,v+=_*B,v+=P*(5*H),v+=A*(5*U),v+=q*(5*L),y=l+=(v+=O*(5*N))>>>13,y+=j*N,y+=S*R,y+=E*I,y+=F*T,l=(y+=z*D)>>>13,y&=8191,y+=_*C,y+=P*B,y+=A*(5*H),y+=q*(5*U),b=l+=(y+=O*(5*L))>>>13,b+=j*L,b+=S*N,b+=E*R,b+=F*I,l=(b+=z*T)>>>13,b&=8191,b+=_*D,b+=P*C,b+=A*B,b+=q*(5*H),k=l+=(b+=O*(5*U))>>>13,k+=j*U,k+=S*L,k+=E*N,k+=F*R,l=(k+=z*I)>>>13,k&=8191,k+=_*T,k+=P*D,k+=A*C,k+=q*B,x=l+=(k+=O*(5*H))>>>13,x+=j*H,x+=S*U,x+=E*L,x+=F*N,l=(x+=z*R)>>>13,x&=8191,x+=_*I,x+=P*T,x+=A*D,x+=q*C,j=m=8191&(l=(l=((l+=(x+=O*B)>>>13)<<2)+l|0)+(m&=8191)|0),S=h+=l>>>=13,E=d&=8191,F=f&=8191,z=g&=8191,_=v&=8191,P=y&=8191,A=b&=8191,q=k&=8191,O=x&=8191,a+=16,t-=16;this.h[0]=j,this.h[1]=S,this.h[2]=E,this.h[3]=F,this.h[4]=z,this.h[5]=_,this.h[6]=P,this.h[7]=A,this.h[8]=q,this.h[9]=O},E.prototype.finish=function(e,a){var t,r,i,o,n=new Uint16Array(10);if(this.leftover){for(o=this.leftover,this.buffer[o++]=1;o<16;o++)this.buffer[o]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(t=this.h[1]>>>13,this.h[1]&=8191,o=2;o<10;o++)this.h[o]+=t,t=this.h[o]>>>13,this.h[o]&=8191;for(this.h[0]+=5*t,t=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=t,t=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=t,n[0]=this.h[0]+5,t=n[0]>>>13,n[0]&=8191,o=1;o<10;o++)n[o]=this.h[o]+t,t=n[o]>>>13,n[o]&=8191;for(n[9]-=8192,r=(1^t)-1,o=0;o<10;o++)n[o]&=r;for(r=~r,o=0;o<10;o++)this.h[o]=this.h[o]&r|n[o];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),i=this.h[0]+this.pad[0],this.h[0]=65535&i,o=1;o<8;o++)i=(this.h[o]+this.pad[o]|0)+(i>>>16)|0,this.h[o]=65535&i;e[a+0]=this.h[0]>>>0&255,e[a+1]=this.h[0]>>>8&255,e[a+2]=this.h[1]>>>0&255,e[a+3]=this.h[1]>>>8&255,e[a+4]=this.h[2]>>>0&255,e[a+5]=this.h[2]>>>8&255,e[a+6]=this.h[3]>>>0&255,e[a+7]=this.h[3]>>>8&255,e[a+8]=this.h[4]>>>0&255,e[a+9]=this.h[4]>>>8&255,e[a+10]=this.h[5]>>>0&255,e[a+11]=this.h[5]>>>8&255,e[a+12]=this.h[6]>>>0&255,e[a+13]=this.h[6]>>>8&255,e[a+14]=this.h[7]>>>0&255,e[a+15]=this.h[7]>>>8&255},E.prototype.update=function(e,a,t){var r,i;if(this.leftover){for((i=16-this.leftover)>t&&(i=t),r=0;r=16&&(i=t-t%16,this.blocks(e,a,i),a+=i,t-=i),t){for(r=0;r=128;){for(w=0;w<16;w++)j=8*w+J,A[w]=t[j+0]<<24|t[j+1]<<16|t[j+2]<<8|t[j+3],q[w]=t[j+4]<<24|t[j+5]<<16|t[j+6]<<8|t[j+7];for(w=0;w<80;w++)if(i=O,o=B,n=C,s=D,c=T,u=I,p=R,N,m=L,h=U,d=H,f=$,g=M,v=K,y=V,Q,F=65535&(E=Q),z=E>>>16,_=65535&(S=N),P=S>>>16,F+=65535&(E=(M>>>14|T<<18)^(M>>>18|T<<14)^(T>>>9|M<<23)),z+=E>>>16,_+=65535&(S=(T>>>14|M<<18)^(T>>>18|M<<14)^(M>>>9|T<<23)),P+=S>>>16,F+=65535&(E=M&K^~M&V),z+=E>>>16,_+=65535&(S=T&I^~T&R),P+=S>>>16,F+=65535&(E=G[2*w+1]),z+=E>>>16,_+=65535&(S=G[2*w]),P+=S>>>16,S=A[w%16],z+=(E=q[w%16])>>>16,_+=65535&S,P+=S>>>16,_+=(z+=(F+=65535&E)>>>16)>>>16,F=65535&(E=x=65535&F|z<<16),z=E>>>16,_=65535&(S=k=65535&_|(P+=_>>>16)<<16),P=S>>>16,F+=65535&(E=(L>>>28|O<<4)^(O>>>2|L<<30)^(O>>>7|L<<25)),z+=E>>>16,_+=65535&(S=(O>>>28|L<<4)^(L>>>2|O<<30)^(L>>>7|O<<25)),P+=S>>>16,z+=(E=L&U^L&H^U&H)>>>16,_+=65535&(S=O&B^O&C^B&C),P+=S>>>16,l=65535&(_+=(z+=(F+=65535&E)>>>16)>>>16)|(P+=_>>>16)<<16,b=65535&F|z<<16,F=65535&(E=f),z=E>>>16,_=65535&(S=s),P=S>>>16,z+=(E=x)>>>16,_+=65535&(S=k),P+=S>>>16,B=i,C=o,D=n,T=s=65535&(_+=(z+=(F+=65535&E)>>>16)>>>16)|(P+=_>>>16)<<16,I=c,R=u,N=p,O=l,U=m,H=h,$=d,M=f=65535&F|z<<16,K=g,V=v,Q=y,L=b,w%16==15)for(j=0;j<16;j++)S=A[j],F=65535&(E=q[j]),z=E>>>16,_=65535&S,P=S>>>16,S=A[(j+9)%16],F+=65535&(E=q[(j+9)%16]),z+=E>>>16,_+=65535&S,P+=S>>>16,k=A[(j+1)%16],F+=65535&(E=((x=q[(j+1)%16])>>>1|k<<31)^(x>>>8|k<<24)^(x>>>7|k<<25)),z+=E>>>16,_+=65535&(S=(k>>>1|x<<31)^(k>>>8|x<<24)^k>>>7),P+=S>>>16,k=A[(j+14)%16],z+=(E=((x=q[(j+14)%16])>>>19|k<<13)^(k>>>29|x<<3)^(x>>>6|k<<26))>>>16,_+=65535&(S=(k>>>19|x<<13)^(x>>>29|k<<3)^k>>>6),P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,A[j]=65535&_|P<<16,q[j]=65535&F|z<<16;F=65535&(E=L),z=E>>>16,_=65535&(S=O),P=S>>>16,S=e[0],z+=(E=a[0])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[0]=O=65535&_|P<<16,a[0]=L=65535&F|z<<16,F=65535&(E=U),z=E>>>16,_=65535&(S=B),P=S>>>16,S=e[1],z+=(E=a[1])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[1]=B=65535&_|P<<16,a[1]=U=65535&F|z<<16,F=65535&(E=H),z=E>>>16,_=65535&(S=C),P=S>>>16,S=e[2],z+=(E=a[2])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[2]=C=65535&_|P<<16,a[2]=H=65535&F|z<<16,F=65535&(E=$),z=E>>>16,_=65535&(S=D),P=S>>>16,S=e[3],z+=(E=a[3])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[3]=D=65535&_|P<<16,a[3]=$=65535&F|z<<16,F=65535&(E=M),z=E>>>16,_=65535&(S=T),P=S>>>16,S=e[4],z+=(E=a[4])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[4]=T=65535&_|P<<16,a[4]=M=65535&F|z<<16,F=65535&(E=K),z=E>>>16,_=65535&(S=I),P=S>>>16,S=e[5],z+=(E=a[5])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[5]=I=65535&_|P<<16,a[5]=K=65535&F|z<<16,F=65535&(E=V),z=E>>>16,_=65535&(S=R),P=S>>>16,S=e[6],z+=(E=a[6])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[6]=R=65535&_|P<<16,a[6]=V=65535&F|z<<16,F=65535&(E=Q),z=E>>>16,_=65535&(S=N),P=S>>>16,S=e[7],z+=(E=a[7])>>>16,_+=65535&S,P+=S>>>16,P+=(_+=(z+=(F+=65535&E)>>>16)>>>16)>>>16,e[7]=N=65535&_|P<<16,a[7]=Q=65535&F|z<<16,J+=128,r-=128}return r}function Z(e,a,t){var r,i=new Int32Array(8),o=new Int32Array(8),n=new Uint8Array(256),s=t;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[7]=1541459225,o[0]=4089235720,o[1]=2227873595,o[2]=4271175723,o[3]=1595750129,o[4]=2917565137,o[5]=725511199,o[6]=4215389547,o[7]=327033209,J(i,o,a,t),t%=128,r=0;r=0;--i)W(e,a,r=t[i/8|0]>>(7&i)&1),Y(a,e),Y(e,e),W(e,a,r)}function ae(e,t){var r=[a(),a(),a(),a()];A(r[0],l),A(r[1],m),A(r[2],s),N(r[3],l,m),ee(e,r,t)}function te(e,t,i){var o,n=new Uint8Array(64),s=[a(),a(),a(),a()];for(i||r(t,32),Z(n,t,32),n[0]&=248,n[31]&=127,n[31]|=64,ae(s,n),X(e,s),o=0;o<32;o++)t[o+32]=e[o];return 0}var re=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ie(e,a){var t,r,i,o;for(r=63;r>=32;--r){for(t=0,i=r-32,o=r-12;i>8,a[i]-=256*t;a[i]+=t,a[r]=0}for(t=0,i=0;i<32;i++)a[i]+=t-(a[31]>>4)*re[i],t=a[i]>>8,a[i]&=255;for(i=0;i<32;i++)a[i]-=t*re[i];for(r=0;r<32;r++)a[r+1]+=a[r]>>8,e[r]=255&a[r]}function oe(e){var a,t=new Float64Array(64);for(a=0;a<64;a++)t[a]=e[a];for(a=0;a<64;a++)e[a]=0;ie(e,t)}function ne(e,t,r,i){var o,n,s=new Uint8Array(64),c=new Uint8Array(64),u=new Uint8Array(64),p=new Float64Array(64),l=[a(),a(),a(),a()];Z(s,i,32),s[0]&=248,s[31]&=127,s[31]|=64;var m=r+64;for(o=0;o=0;r--)L(i,i),1!==r&&N(i,i,t);for(r=0;r<16;r++)e[r]=i[r]}(r,r),N(r,r,o),N(r,r,c),N(r,r,c),N(e[0],r,c),L(i,e[0]),N(i,i,c),C(i,o)&&N(e[0],e[0],h),L(i,e[0]),N(i,i,c),C(i,o)?-1:(D(e[0])===t[31]>>7&&R(e[0],n,e[0]),N(e[3],e[0],e[1]),0)}function ce(e,t,r,i){var o,n=new Uint8Array(32),s=new Uint8Array(64),c=[a(),a(),a(),a()],u=[a(),a(),a(),a()];if(-1,r<64)return-1;if(se(u,i))return-1;for(o=0;o=0},e.sign.keyPair=function(){var e=new Uint8Array(32),a=new Uint8Array(64);return te(e,a),{publicKey:e,secretKey:a}},e.sign.keyPair.fromSecretKey=function(e){if(pe(e),64!==e.length)throw new Error("bad secret key size");for(var a=new Uint8Array(32),t=0;t=this._buffer.length},o.prototype.remainder=function(){return this._buffer.slice(this._offset)},o.prototype.skip=function(e){this._offset+=e},o.prototype.expand=function(){this._size*=2;var e=i.alloc(this._size);this._buffer.copy(e,0),this._buffer=e},o.prototype.readPart=function(){return{data:this.readBuffer()}},o.prototype.readBuffer=function(){var e=this._buffer.readUInt32BE(this._offset);this._offset+=4,r.ok(this._offset+e<=this._buffer.length,"length out of bounds at +0x"+this._offset.toString(16)+" (data truncated?)");var a=this._buffer.slice(this._offset,this._offset+e);return this._offset+=e,a},o.prototype.readString=function(){return this.readBuffer().toString()},o.prototype.readCString=function(){for(var e=this._offset;ethis._size;)this.expand();this._buffer.writeUInt32BE(e.length,this._offset),this._offset+=4,e.copy(this._buffer,this._offset),this._offset+=e.length},o.prototype.writeString=function(e){this.writeBuffer(i.from(e,"utf8"))},o.prototype.writeCString=function(e){for(;this._offset+1+e.length>this._size;)this.expand();this._buffer.write(e,this._offset),this._offset+=e.length,this._buffer[this._offset++]=0},o.prototype.writeInt=function(e){for(;this._offset+4>this._size;)this.expand();this._buffer.writeUInt32BE(e,this._offset),this._offset+=4},o.prototype.writeInt64=function(e){if(r.buffer(e,"value"),e.length>8){for(var a=e.slice(0,e.length-8),t=0;tthis._size;)this.expand();e.copy(this._buffer,this._offset),this._offset+=8},o.prototype.writeChar=function(e){for(;this._offset+1>this._size;)this.expand();this._buffer[this._offset++]=e},o.prototype.writePart=function(e){this.writeBuffer(e.data)},o.prototype.write=function(e){for(;this._offset+e.length>this._size;)this.expand();e.copy(this._buffer,this._offset),this._offset+=e.length}},function(e,a,t){e.exports={read:function(e,a){return p.read(e,a,"pkcs8")},readPkcs8:function(e,a,t){t.peek()===i.Ber.Integer&&(r.strictEqual(a,"private","unexpected Integer at start of public key"),t.readString(i.Ber.Integer,!0));t.readSequence();var n=t.offset+t.length,p=t.readOID();switch(p){case"1.2.840.113549.1.1.1":return t._offset=n,"public"===a?function(e){e.readSequence(i.Ber.BitString),e.readByte(),e.readSequence();var a=l(e,"modulus"),t=l(e,"exponent"),r={type:"rsa",source:e.originalInput,parts:[{name:"e",data:t},{name:"n",data:a}]};return new c(r)}(t):function(e){e.readSequence(i.Ber.OctetString),e.readSequence();var a=l(e,"version");r.equal(a[0],0,"unknown RSA private key version");var t=l(e,"modulus"),o=l(e,"public exponent"),n=l(e,"private exponent"),s=l(e,"prime1"),c=l(e,"prime2"),p=l(e,"exponent1"),m=l(e,"exponent2"),h=l(e,"iqmp");return new u({type:"rsa",parts:[{name:"n",data:t},{name:"e",data:o},{name:"d",data:n},{name:"iqmp",data:h},{name:"p",data:s},{name:"q",data:c},{name:"dmodp",data:p},{name:"dmodq",data:m}]})}(t);case"1.2.840.10040.4.1":return"public"===a?function(e){e.readSequence();var a=l(e,"p"),t=l(e,"q"),r=l(e,"g");e.readSequence(i.Ber.BitString),e.readByte();var o=l(e,"y");return new c({type:"dsa",parts:[{name:"p",data:a},{name:"q",data:t},{name:"g",data:r},{name:"y",data:o}]})}(t):function(e){e.readSequence();var a=l(e,"p"),t=l(e,"q"),r=l(e,"g");e.readSequence(i.Ber.OctetString);var o=l(e,"x"),n=s.calculateDSAPublic(r,a,o);return new u({type:"dsa",parts:[{name:"p",data:a},{name:"q",data:t},{name:"g",data:r},{name:"y",data:n},{name:"x",data:o}]})}(t);case"1.2.840.10045.2.1":return"public"===a?function(e){var a=m(e);r.string(a,"a known elliptic curve");var t=e.readString(i.Ber.BitString,!0);t=s.ecNormalize(t);var n={type:"ecdsa",parts:[{name:"curve",data:o.from(a)},{name:"Q",data:t}]};return new c(n)}(t):function(e){var a=m(e);r.string(a,"a known elliptic curve"),e.readSequence(i.Ber.OctetString),e.readSequence();var t=l(e,"version");r.equal(t[0],1,"unknown version of ECDSA key");var n,c=e.readString(i.Ber.OctetString,!0);160==e.peek()&&(e.readSequence(160),e._offset+=e.length);161==e.peek()&&(e.readSequence(161),n=e.readString(i.Ber.BitString,!0),n=s.ecNormalize(n));if(void 0===n){var p=s.publicFromPrivateECDSA(a,c);n=p.part.Q.data}var h={type:"ecdsa",parts:[{name:"curve",data:o.from(a)},{name:"Q",data:n},{name:"d",data:c}]};return new u(h)}(t);case"1.3.101.112":return"public"===a?function(e){0===e.peek()&&e.readByte();var a=s.readBitString(e),t={type:"ed25519",parts:[{name:"A",data:s.zeroPadToLength(a,32)}]};return new c(t)}(t):function(e){0===e.peek()&&e.readByte();e.readSequence(i.Ber.OctetString);var a,t=e.readString(i.Ber.OctetString,!0);t=s.zeroPadToLength(t,32),e.peek()===i.Ber.BitString?(a=s.readBitString(e),a=s.zeroPadToLength(a,32)):a=s.calculateED25519Public(t);var r={type:"ed25519",parts:[{name:"A",data:s.zeroPadToLength(a,32)},{name:"k",data:s.zeroPadToLength(t,32)}]};return new u(r)}(t);case"1.3.101.110":return"public"===a?function(e){var a=s.readBitString(e),t={type:"curve25519",parts:[{name:"A",data:s.zeroPadToLength(a,32)}]};return new c(t)}(t):function(e){0===e.peek()&&e.readByte();e.readSequence(i.Ber.OctetString);var a=e.readString(i.Ber.OctetString,!0);a=s.zeroPadToLength(a,32);var t=s.calculateX25519Public(a),r={type:"curve25519",parts:[{name:"A",data:s.zeroPadToLength(t,32)},{name:"k",data:s.zeroPadToLength(a,32)}]};return new u(r)}(t);default:throw new Error("Unknown key type OID "+p)}},write:function(e,a){return p.write(e,a,"pkcs8")},writePkcs8:h,pkcs8ToBuffer:function(e){var a=new i.BerWriter;return h(a,e),a.buffer},readECDSACurve:m,writeECDSACurve:d};var r=t(0),i=t(13),o=t(2).Buffer,n=t(8),s=t(6),c=t(5),u=t(7),p=t(16);function l(e,a){return r.strictEqual(e.peek(),i.Ber.Integer,a+" is not an Integer"),s.mpNormalize(e.readString(i.Ber.Integer,!0))}function m(e){var a,t,c,u,p;if(e.peek()===i.Ber.OID){var l=e.readOID();for(t=Object.keys(n.curves),c=0;c=this.validFrom.getTime()&&e.getTime()0&&-1===this.issuer.purposes.indexOf("ca"))&&this.isSignedByKey(e.subjectKey))},g.prototype.getExtension=function(e){return r.string(e,"keyOrOid"),this.getExtensions().filter((function(a){return"x509"===a.format?a.oid===e:"openssh"===a.format&&a.name===e}))[0]},g.prototype.getExtensions=function(){var e=[],a=this.signatures.x509;a&&a.extras&&a.extras.exts&&a.extras.exts.forEach((function(a){a.format="x509",e.push(a)}));var t=this.signatures.openssh;return t&&t.exts&&t.exts.forEach((function(a){a.format="openssh",e.push(a)})),e},g.prototype.isSignedByKey=function(e){if(u.assertCompatible(e,p,[1,2],"issuerKey"),void 0!==this.issuerKey)return this.issuerKey.fingerprint("sha512").matches(e);var a=Object.keys(this.signatures)[0],t=h[a].verify(this,e);return t&&(this.issuerKey=e),t},g.prototype.signWith=function(e){u.assertCompatible(e,l,[1,2],"key");for(var a=Object.keys(h),t=!1,r=0;r0&&-1===h.indexOf("serverAuth")&&h.push("serverAuth"),f.length>0&&-1===h.indexOf("clientAuth")&&h.push("clientAuth"),(f.length>0||d.length>0)&&(-1===h.indexOf("keyAgreement")&&h.push("keyAgreement"),"rsa"===a.type&&-1===h.indexOf("encryption")&&h.push("encryption"))}var v=new g({subjects:o,issuer:o[0],subjectKey:a.toPublic(),issuerKey:a.toPublic(),signatures:{},serial:p,validFrom:n,validUntil:s,purposes:h});return v.signWith(a),v},g.create=function(e,a,t,o,n){var s;s=Array.isArray(e)?e:[e],r.arrayOfObject(s),s.forEach((function(e){u.assertCompatible(e,m,[1,0],"subject")})),u.assertCompatible(a,p,[1,0],"key"),l.isPrivateKey(a)&&(a=a.toPublic()),u.assertCompatible(t,m,[1,0],"issuer"),u.assertCompatible(o,l,[1,2],"issuer key"),r.optionalObject(n,"options"),void 0===n&&(n={}),r.optionalObject(n.validFrom,"options.validFrom"),r.optionalObject(n.validUntil,"options.validUntil");var c=n.validFrom,h=n.validUntil;if(void 0===c&&(c=new Date),void 0===h){r.optionalNumber(n.lifetime,"options.lifetime");var d=n.lifetime;void 0===d&&(d=31536e4),(h=new Date).setTime(h.getTime()+1e3*d)}r.optionalBuffer(n.serial,"options.serial");var f=n.serial;void 0===f&&(f=i.from("0000000000000001","hex"));var v=n.purposes;void 0===v&&(v=[]),-1===v.indexOf("signature")&&v.push("signature"),!0===n.ca&&(-1===v.indexOf("ca")&&v.push("ca"),-1===v.indexOf("crl")&&v.push("crl"));var y=s.filter((function(e){return"host"===e.type})),b=s.filter((function(e){return"user"===e.type}));y.length>0&&-1===v.indexOf("serverAuth")&&v.push("serverAuth"),b.length>0&&-1===v.indexOf("clientAuth")&&v.push("clientAuth"),(b.length>0||y.length>0)&&(-1===v.indexOf("keyAgreement")&&v.push("keyAgreement"),"rsa"===a.type&&-1===v.indexOf("encryption")&&v.push("encryption"));var k=new g({subjects:s,issuer:t,subjectKey:a,issuerKey:o.toPublic(),signatures:{},serial:f,validFrom:c,validUntil:h,purposes:v});return k.signWith(o),k},g.parse=function(e,a,t){"string"!=typeof e&&r.buffer(e,"data"),void 0===a&&(a="auto"),r.string(a,"format"),"string"==typeof t&&(t={filename:t}),r.optionalObject(t,"options"),void 0===t&&(t={}),r.optionalString(t.filename,"options.filename"),void 0===t.filename&&(t.filename="(unnamed)"),r.object(h[a],"formats[format]");try{return h[a].read(e,t)}catch(e){throw new d(t.filename,a,e)}},g.isCertificate=function(e,a){return u.isCompatible(e,g,a)},g.prototype._sshpkApiVersion=[1,1],g._oldVersionDetect=function(e){return[1,0]}},function(e,a,t){e.exports=p;var r=t(0),i=(t(8),t(3),t(24),t(12),t(11),t(1),t(6)),o=t(13),n=t(2).Buffer,s=/^([*]|[a-z0-9][a-z0-9\-]{0,62})(?:\.([*]|[a-z0-9][a-z0-9\-]{0,62}))*$/i,c={cn:"2.5.4.3",o:"2.5.4.10",ou:"2.5.4.11",l:"2.5.4.7",s:"2.5.4.8",c:"2.5.4.6",sn:"2.5.4.4",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",street:"2.5.4.9",x500UniqueIdentifier:"2.5.4.45",role:"2.5.4.72",telephoneNumber:"2.5.4.20",description:"2.5.4.13",dc:"0.9.2342.19200300.100.1.25",uid:"0.9.2342.19200300.100.1.1",mail:"0.9.2342.19200300.100.1.3",title:"2.5.4.12",gn:"2.5.4.42",initials:"2.5.4.43",pseudonym:"2.5.4.65",emailAddress:"1.2.840.113549.1.9.1"},u={};function p(e){var a=this;if(r.object(e,"options"),r.arrayOfObject(e.components,"options.components"),this.components=e.components,this.componentLookup={},this.components.forEach((function(e){e.name&&!e.oid&&(e.oid=c[e.name]),e.oid&&!e.name&&(e.name=u[e.oid]),void 0===a.componentLookup[e.name]&&(a.componentLookup[e.name]=[]),a.componentLookup[e.name].push(e)})),this.componentLookup.cn&&this.componentLookup.cn.length>0&&(this.cn=this.componentLookup.cn[0].value),r.optionalString(e.type,"options.type"),void 0===e.type)1===this.components.length&&this.componentLookup.cn&&1===this.componentLookup.cn.length&&this.componentLookup.cn[0].value.match(s)?(this.type="host",this.hostname=this.componentLookup.cn[0].value):this.componentLookup.dc&&this.components.length===this.componentLookup.dc.length?(this.type="host",this.hostname=this.componentLookup.dc.map((function(e){return e.value})).join(".")):this.componentLookup.uid&&this.components.length===this.componentLookup.uid.length?(this.type="user",this.uid=this.componentLookup.uid[0].value):this.componentLookup.cn&&1===this.componentLookup.cn.length&&this.componentLookup.cn[0].value.match(s)?(this.type="host",this.hostname=this.componentLookup.cn[0].value):this.componentLookup.uid&&1===this.componentLookup.uid.length?(this.type="user",this.uid=this.componentLookup.uid[0].value):this.componentLookup.mail&&1===this.componentLookup.mail.length?(this.type="email",this.email=this.componentLookup.mail[0].value):this.componentLookup.cn&&1===this.componentLookup.cn.length?(this.type="user",this.uid=this.componentLookup.cn[0].value):this.type="unknown";else if(this.type=e.type,"host"===this.type)this.hostname=e.hostname;else if("user"===this.type)this.uid=e.uid;else{if("email"!==this.type)throw new Error("Unknown type "+this.type);this.email=e.email}}Object.keys(c).forEach((function(e){u[c[e]]=e})),p.prototype.toString=function(){return this.components.map((function(e){var a=e.name.toUpperCase();a=a.replace(/=/g,"\\=");var t=e.value;return a+"="+(t=t.replace(/,/g,"\\,"))})).join(", ")},p.prototype.get=function(e,a){r.string(e,"name");var t=this.componentLookup[e];if(void 0!==t&&0!==t.length){if(!a&&t.length>1)throw new Error("Multiple values for attribute "+e);return a?t.map((function(e){return e.value})):t[0].value}},p.prototype.toArray=function(e){return this.components.map((function(e){return{name:e.name,value:e.value}}))};var l=/[^a-zA-Z0-9 '(),+.\/:=?-]/,m=/[^\x00-\x7f]/;function h(e,a){if("**"===e||"**"===a)return!0;var t=e.split("."),r=a.split(".");if(t.length!==r.length)return!1;for(var i=0;i0;){var o;if(null!==(o=/^,/.exec(i)))a[++t]="",i=i.slice(o[0].length);else if(null!==(o=/^\\,/.exec(i)))a[t]+=",",i=i.slice(o[0].length);else if(null!==(o=/^\\./.exec(i)))a[t]+=o[0],i=i.slice(o[0].length);else{if(null===(o=/^[^\\,]+/.exec(i)))throw new Error("Failed to parse DN");a[t]+=o[0],i=i.slice(o[0].length)}}return new p({components:a.map((function(e){for(var a=(e=e.trim()).indexOf("=");a>0&&"\\"===e.charAt(a-1);)a=e.indexOf("=",a+1);if(-1===a)throw new Error("Failed to parse DN");return{name:e.slice(0,a).toLowerCase().replace(/\\=/g,"="),value:e.slice(a+1)}}))})},p.fromArray=function(e){return r.arrayOfObject(e,"components"),e.forEach((function(e){if(r.object(e,"component"),r.string(e.name,"component.name"),!n.isBuffer(e.value)&&"string"!=typeof e.value)throw new Error("Invalid component value")})),new p({components:e})},p.parseAsn1=function(e,a){var t=[];e.readSequence(a);for(var r=e.offset+e.length;e.offset0;--a){n=n.twice();var s=i.testBit(a);s!=t.testBit(a)&&(n=n.add(s?this:o))}return n},n.prototype.multiplyTwo=function(e,a,t){var r;r=e.bitLength()>t.bitLength()?e.bitLength()-1:t.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(a);r>=0;)i=i.twice(),e.testBit(r)?i=t.testBit(r)?i.add(o):i.add(this):t.testBit(r)&&(i=i.add(a)),--r;return i},s.prototype.getQ=function(){return this.q},s.prototype.getA=function(){return this.a},s.prototype.getB=function(){return this.b},s.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)},s.prototype.getInfinity=function(){return this.infinity},s.prototype.fromBigInteger=function(e){return new o(this.q,e)},s.prototype.reduce=function(e){this.reducer.reduce(e)},s.prototype.encodePointHex=function(e){if(e.isInfinity())return"00";var a=e.getX().toBigInteger().toString(16),t=e.getY().toBigInteger().toString(16),r=this.getQ().toString(16).length;for(r%2!=0&&r++;a.length128&&(-1==this.q.shiftRight(e-64).intValue()&&(this.r=r.ONE.shiftLeft(e).subtract(this.q)));return this.r},o.prototype.modMult=function(e,a){return this.modReduce(e.multiply(a))},o.prototype.modReduce=function(e){if(null!=this.getR()){for(var a=q.bitLength();e.bitLength()>a+1;){var t=e.shiftRight(a),i=e.subtract(t.shiftLeft(a));this.getR().equals(r.ONE)||(t=t.multiply(this.getR())),e=t.add(i)}for(;e.compareTo(q)>=0;)e=e.subtract(q)}else e=e.mod(q);return e},o.prototype.sqrt=function(){if(!this.q.testBit(0))throw"unsupported";if(this.q.testBit(1)){var e=new o(this.q,this.x.modPow(this.q.shiftRight(2).add(r.ONE),this.q));return e.square().equals(this)?e:null}var a=this.q.subtract(r.ONE),t=a.shiftRight(1);if(!this.x.modPow(t,this.q).equals(r.ONE))return null;var i,n,s=a.shiftRight(2).shiftLeft(1).add(r.ONE),c=this.x,u=modDouble(modDouble(c));do{var p;do{p=new r(this.q.bitLength(),new SecureRandom)}while(p.compareTo(this.q)>=0||!p.multiply(p).subtract(u).modPow(t,this.q).equals(a));var l=this.lucasSequence(p,c,s);if(i=l[0],n=l[1],this.modMult(n,n).equals(u))return n.testBit(0)&&(n=n.add(q)),n=n.shiftRight(1),new o(q,n)}while(i.equals(r.ONE)||i.equals(a));return null},o.prototype.lucasSequence=function(e,a,t){for(var i=t.bitLength(),o=t.getLowestSetBit(),n=r.ONE,s=r.TWO,c=e,u=r.ONE,p=r.ONE,l=i-1;l>=o+1;--l)u=this.modMult(u,p),t.testBit(l)?(p=this.modMult(u,a),n=this.modMult(n,c),s=this.modReduce(c.multiply(s).subtract(e.multiply(u))),c=this.modReduce(c.multiply(c).subtract(p.shiftLeft(1)))):(p=u,n=this.modReduce(n.multiply(s).subtract(u)),c=this.modReduce(c.multiply(s).subtract(e.multiply(u))),s=this.modReduce(s.multiply(s).subtract(u.shiftLeft(1))));u=this.modMult(u,p),p=this.modMult(u,a),n=this.modReduce(n.multiply(s).subtract(u)),s=this.modReduce(c.multiply(s).subtract(e.multiply(u))),u=this.modMult(u,p);for(l=1;l<=o;++l)n=this.modMult(n,s),s=this.modReduce(s.multiply(s).subtract(u.shiftLeft(1))),u=this.modMult(u,u);return[n,s]};a={ECCurveFp:s,ECPointFp:n,ECFieldElementFp:o};e.exports=a},function(e,a,t){e.exports={read:function(e,a){return u.read(e,a)},readSSHPrivate:function(e,a,c){var u=(a=new l({buffer:a})).readCString();i.strictEqual(u,"openssh-key-v1","bad magic string");var h=a.readString(),d=a.readString(),f=a.readBuffer();if(1!==a.readInt())throw new Error("OpenSSH-format key file contains multiple keys: this is unsupported.");var g=a.readBuffer();if("public"===e)return i.ok(a.atEnd(),"excess bytes left after key"),p.read(g);var v=a.readBuffer();i.ok(a.atEnd(),"excess bytes left after key");var y=new l({buffer:f});switch(d){case"none":if("none"!==h)throw new Error('OpenSSH-format key uses KDF "none" but specifies a cipher other than "none"');break;case"bcrypt":var b=y.readBuffer(),k=y.readInt(),x=n.opensshCipherInfo(h);if(void 0===r&&(r=t(79)),"string"==typeof c.passphrase&&(c.passphrase=o.from(c.passphrase,"utf-8")),!o.isBuffer(c.passphrase))throw new m.KeyEncryptedError(c.filename,"OpenSSH");var w=new Uint8Array(c.passphrase),j=new Uint8Array(b),S=new Uint8Array(x.keySize+x.blockSize);if(0!==r.pbkdf(w,w.length,j,j.length,S,S.length,k))throw new Error("bcrypt_pbkdf function returned failure, parameters invalid");var E=(S=o.from(S)).slice(0,x.keySize),F=S.slice(x.keySize,x.keySize+x.blockSize),z=s.createDecipheriv(x.opensslName,E,F);z.setAutoPadding(!1);var _,P=[];for(z.once("error",(function(e){if(-1!==e.toString().indexOf("bad decrypt"))throw new Error("Incorrect passphrase supplied, could not decrypt key");throw e})),z.write(v),z.end();null!==(_=z.read());)P.push(_);v=o.concat(P);break;default:throw new Error('OpenSSH-format key uses unknown KDF "'+d+'"')}var A=(a=new l({buffer:v})).readInt(),q=a.readInt();if(A!==q)throw new Error("Incorrect passphrase supplied, could not decrypt key");var O={},B=p.readInternal(O,"private",a.remainder());a.skip(O.consumed);var C=a.readString();return B.comment=C,B},write:function(e,a){var u;u=c.isPrivateKey(e)?e.toPublic():e;var p,m,h="none",d="none",f=o.alloc(0),g={blockSize:8};void 0!==a&&("string"==typeof(p=a.passphrase)&&(p=o.from(p,"utf-8")),void 0!==p&&(i.buffer(p,"options.passphrase"),i.optionalString(a.cipher,"options.cipher"),void 0===(h=a.cipher)&&(h="aes128-ctr"),g=n.opensshCipherInfo(h),d="bcrypt"));if(c.isPrivateKey(e)){m=new l({});var v=s.randomBytes(4).readUInt32BE(0);m.writeInt(v),m.writeInt(v),m.write(e.toBuffer("rfc4253")),m.writeString(e.comment||"");for(var y=1;m._offset%g.blockSize!=0;)m.writeChar(y++);m=m.toBuffer()}switch(d){case"none":break;case"bcrypt":var b=s.randomBytes(16),k=new l({});k.writeBuffer(b),k.writeInt(16),f=k.toBuffer(),void 0===r&&(r=t(79));var x=new Uint8Array(p),w=new Uint8Array(b),j=new Uint8Array(g.keySize+g.blockSize);if(0!==r.pbkdf(x,x.length,w,w.length,j,j.length,16))throw new Error("bcrypt_pbkdf function returned failure, parameters invalid");var S=(j=o.from(j)).slice(0,g.keySize),E=j.slice(g.keySize,g.keySize+g.blockSize),F=s.createCipheriv(g.opensslName,S,E);F.setAutoPadding(!1);var z,_=[];for(F.once("error",(function(e){throw e})),F.write(m),F.end();null!==(z=F.read());)_.push(z);m=o.concat(_);break;default:throw new Error("Unsupported kdf "+d)}var P,A=new l({});A.writeCString("openssh-key-v1"),A.writeString(h),A.writeString(d),A.writeBuffer(f),A.writeInt(1),A.writeBuffer(u.toBuffer("rfc4253")),m&&A.writeBuffer(m);A=A.toBuffer(),P=c.isPrivateKey(e)?"OPENSSH PRIVATE KEY":"OPENSSH PUBLIC KEY";var q=A.toString("base64"),O=q.length+q.length/70+18+16+2*P.length+10;A=o.alloc(O);var B=0;B+=A.write("-----BEGIN "+P+"-----\n",B);for(var C=0;Cq.length&&(D=q.length),B+=A.write(q.slice(C,D),B),A[B++]=10,C=D}return B+=A.write("-----END "+P+"-----\n",B),A.slice(0,B)}};var r,i=t(0),o=(t(13),t(2).Buffer),n=(t(8),t(6)),s=t(3),c=(t(5),t(7)),u=t(16),p=t(17),l=t(27),m=t(11)},,,function(e,a,t){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===i.call(e)},c=function(e){if(!e||"[object Object]"!==i.call(e))return!1;var a,t=r.call(e,"constructor"),o=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!o)return!1;for(a in e);return void 0===a||r.call(e,a)},u=function(e,a){o&&"__proto__"===a.name?o(e,a.name,{enumerable:!0,configurable:!0,value:a.newValue,writable:!0}):e[a.name]=a.newValue},p=function(e,a){if("__proto__"===a){if(!r.call(e,a))return;if(n)return n(e,a).value}return e[a]};e.exports=function e(){var a,t,r,i,o,n,l=arguments[0],m=1,h=arguments.length,d=!1;for("boolean"==typeof l&&(d=l,l=arguments[1]||{},m=2),(null==l||"object"!=typeof l&&"function"!=typeof l)&&(l={});m32;)a=a.slice(1);var t=this._priv;r.strictEqual(a.length,32),r.strictEqual(t.length,32);var i=c.box.before(new Uint8Array(a),new Uint8Array(t));return o.from(i)}throw new Error("Invalid algorithm: "+this._algo)},d.prototype.generateKey=function(){var e,a,t=[];if("dsa"===this._algo)return this._dh.generateKeys(),t.push({name:"p",data:this._p.data}),t.push({name:"q",data:this._key.part.q.data}),t.push({name:"g",data:this._g.data}),t.push({name:"y",data:this._dh.getPublicKey()}),t.push({name:"x",data:this._dh.getPrivateKey()}),this._key=new p({type:"dsa",parts:t}),this._isPriv=!0,this._key;if("ecdsa"===this._algo){if(l)return this._dh.generateKeys(),t.push({name:"curve",data:o.from(this._curve)}),t.push({name:"Q",data:this._dh.getPublicKey()}),t.push({name:"d",data:this._dh.getPrivateKey()}),this._key=new p({type:"ecdsa",curve:this._curve,parts:t}),this._isPriv=!0,this._key;var n=this._ecParams.getN(),s=new h(i.randomBytes(n.bitLength())),u=n.subtract(h.ONE);return e=s.mod(u).add(h.ONE),a=this._ecParams.getG().multiply(e),e=o.from(e.toByteArray()),a=o.from(this._ecParams.getCurve().encodePointHex(a),"hex"),this._priv=new v(this._ecParams,e),t.push({name:"curve",data:o.from(this._curve)}),t.push({name:"Q",data:a}),t.push({name:"d",data:e}),this._key=new p({type:"ecdsa",curve:this._curve,parts:t}),this._isPriv=!0,this._key}if("curve25519"===this._algo){var m=c.box.keyPair();return e=o.from(m.secretKey),a=o.from(m.publicKey),e=o.concat([e,a]),r.strictEqual(e.length,64),r.strictEqual(a.length,32),t.push({name:"A",data:a}),t.push({name:"k",data:e}),this._key=new p({type:"curve25519",parts:t}),this._isPriv=!0,this._key}throw new Error("Invalid algorithm: "+this._algo)},d.prototype.generateKeys=d.prototype.generateKey,f.prototype.getCurve=function(){return this.curve},f.prototype.getG=function(){return this.g},f.prototype.getN=function(){return this.n},f.prototype.getH=function(){return this.h},v.prototype.deriveSharedSecret=function(e){r.ok(e instanceof g);var a=e._pub.multiply(this._priv);return o.from(a.getX().toBigInteger().toByteArray())}},function(e,a,t){e.exports={read:function(e,a){return p.read(e,a,"pkcs1")},readPkcs1:function(e,a,t){switch(e){case"RSA":if("public"===a)return function(e){var a=m(e,"modulus"),t=m(e,"exponent");return new c({type:"rsa",parts:[{name:"e",data:t},{name:"n",data:a}]})}(t);if("private"===a)return function(e){var a=m(e,"version");r.strictEqual(a[0],0);var t=m(e,"modulus"),i=m(e,"public exponent"),o=m(e,"private exponent"),n=m(e,"prime1"),s=m(e,"prime2"),c=m(e,"exponent1"),p=m(e,"exponent2"),l=m(e,"iqmp");return new u({type:"rsa",parts:[{name:"n",data:t},{name:"e",data:i},{name:"d",data:o},{name:"iqmp",data:l},{name:"p",data:n},{name:"q",data:s},{name:"dmodp",data:c},{name:"dmodq",data:p}]})}(t);throw new Error("Unknown key type: "+a);case"DSA":if("public"===a)return function(e){var a=m(e,"y"),t=m(e,"p"),r=m(e,"q"),i=m(e,"g");return new c({type:"dsa",parts:[{name:"y",data:a},{name:"p",data:t},{name:"q",data:r},{name:"g",data:i}]})}(t);if("private"===a)return function(e){var a=m(e,"version");r.strictEqual(a.readUInt8(0),0);var t=m(e,"p"),i=m(e,"q"),o=m(e,"g"),n=m(e,"y"),s=m(e,"x");return new u({type:"dsa",parts:[{name:"p",data:t},{name:"q",data:i},{name:"g",data:o},{name:"y",data:n},{name:"x",data:s}]})}(t);throw new Error("Unknown key type: "+a);case"EC":case"ECDSA":if("private"===a)return function(e){var a=m(e,"version");r.strictEqual(a.readUInt8(0),1);var t=e.readString(i.Ber.OctetString,!0);e.readSequence(160);var n=l(e);r.string(n,"a known elliptic curve"),e.readSequence(161);var c=e.readString(i.Ber.BitString,!0);c=s.ecNormalize(c);var p={type:"ecdsa",parts:[{name:"curve",data:o.from(n)},{name:"Q",data:c},{name:"d",data:t}]};return new u(p)}(t);if("public"===a)return function(e){e.readSequence();var a=e.readOID();r.strictEqual(a,"1.2.840.10045.2.1","must be ecPublicKey");for(var t,u=e.readOID(),p=Object.keys(n.curves),l=0;le.length||"BEGIN"!==e.slice(a,a+5).toString("ascii"))}(e))return o.read(e,a);if(function(e){var a=0;for(;a=a&&(i=0),r=r<<8|e[i];return r}o.prototype.encipher=function(e,a){void 0===a&&(a=new Uint8Array(e.buffer),0!==e.byteOffset&&(a=a.subarray(e.byteOffset))),e[0]^=this.P[0];for(var t=1;t<16;t+=2)e[1]^=n(this.S,a,0)^this.P[t],e[0]^=n(this.S,a,4)^this.P[t+1];var r=e[0];e[0]=e[1]^this.P[17],e[1]=r},o.prototype.decipher=function(e){var a=new Uint8Array(e.buffer);0!==e.byteOffset&&(a=a.subarray(e.byteOffset)),e[0]^=this.P[17];for(var t=16;t>0;t-=2)e[1]^=n(this.S,a,0)^this.P[t],e[0]^=n(this.S,a,4)^this.P[t-1];var r=e[0];e[0]=e[1]^this.P[0],e[1]=r},o.prototype.expand0state=function(e,a){var t,r,o=new Uint32Array(2),n=new Uint8Array(o.buffer);for(t=0,i=0;t<18;t++)this.P[t]^=s(e,a);for(i=0,t=0;t<18;t+=2)this.encipher(o,n),this.P[t]=o[0],this.P[t+1]=o[1];for(t=0;t<4;t++)for(r=0;r<256;r+=2)this.encipher(o,n),this.S[t][r]=o[0],this.S[t][r+1]=o[1]},o.prototype.expandstate=function(e,a,t,r){var o,n,c=new Uint32Array(2);for(o=0,i=0;o<18;o++)this.P[o]^=s(t,r);for(o=0,i=0;o<18;o+=2)c[0]^=s(e,a),c[1]^=s(e,a),this.encipher(c),this.P[o]=c[0],this.P[o+1]=c[1];for(o=0;o<4;o++)for(n=0;n<256;n+=2)c[0]^=s(e,a),c[1]^=s(e,a),this.encipher(c),this.S[o][n]=c[0],this.S[o][n+1]=c[1];i=0},o.prototype.enc=function(e,a){for(var t=0;t>>24,t[4*r+2]=n[r]>>>16,t[4*r+1]=n[r]>>>8,t[4*r+0]=n[r]}e.exports={BLOCKS:8,HASHSIZE:32,hash:c,pbkdf:function(e,a,t,i,o,n,s){var u,p,l,m,h,d,f=new Uint8Array(64),g=new Uint8Array(64),v=new Uint8Array(32),y=new Uint8Array(32),b=new Uint8Array(i+4),k=n;if(s<1)return-1;if(0===a||0===i||0===n||n>v.byteLength*v.byteLength||i>1<<20)return-1;for(m=Math.floor((n+v.byteLength-1)/v.byteLength),l=Math.floor((n+m-1)/m),u=0;u0;d++){for(b[i+0]=d>>>24,b[i+1]=d>>>16,b[i+2]=d>>>8,b[i+3]=d,r(g,b,i+4),c(f,g,y),u=v.byteLength;u--;)v[u]=y[u];for(u=1;u=k);u++)o[h]=v[u];n-=u}return 0}}},function(e,a,t){e.exports={read:function(e,a){"string"!=typeof e&&(r.buffer(e,"buf"),e=e.toString("ascii"));var t=e.trim().replace(/[\\\r]/g,""),n=t.match(s);n||(n=t.match(c));r.ok(n,"key must match regex");var u,p=o.algToKeyType(n[1]),l=i.from(n[2],"base64"),m={};if(n[4])try{u=o.read(l)}catch(e){n=t.match(c),r.ok(n,"key must match regex"),l=i.from(n[2],"base64"),u=o.readInternal(m,"public",l)}else u=o.readInternal(m,"public",l);if(r.strictEqual(p,u.type),n[4]&&n[4].length>0)u.comment=n[4];else if(m.consumed){var h=n[2]+(n[3]?n[3]:""),d=4*Math.ceil(m.consumed/3);for(h=h.slice(0,d-2).replace(/[^a-zA-Z0-9+\/=]/g,"")+h.slice(d-2),m.consumed%3>0&&"="!==h.slice(d-1,d)&&d--;"="===h.slice(d,d+1);)d++;var f=h.slice(d);(f=f.replace(/[\r\n]/g," ").replace(/^\s+/,"")).match(/^[a-zA-Z0-9]/)&&(u.comment=f)}return u},write:function(e,a){if(r.object(e),!n.isKey(e))throw new Error("Must be a public key");var t=[],s=o.keyTypeToAlg(e);t.push(s);var c=o.write(e);t.push(c.toString("base64")),e.comment&&t.push(e.comment);return i.from(t.join(" "))}};var r=t(0),i=t(2).Buffer,o=t(17),n=(t(6),t(5)),s=(t(7),t(36),/^([a-z0-9-]+)[ \t]+([a-zA-Z0-9+\/]+[=]*)([ \t]+([^ \t][^\n]*[\n]*)?)?$/),c=/^([a-z0-9-]+)[ \t\n]+([a-zA-Z0-9+\/][a-zA-Z0-9+\/ \t\n=]*)([^a-zA-Z0-9+\/ \t\n=].*)?$/},function(e,a,t){e.exports={read:function(e,a){var t,n=e.toString("ascii").split(/[\r\n]+/),c=!1,u=0;for(;un.length)throw new Error("Invalid public-lines count");var h=i.from(n.slice(u,u+m).join(""),"base64"),d=o.algToKeyType(p),f=o.read(h);if(f.type!==d)throw new Error("Outer key algorithm mismatch");return f.comment=l,f},write:function(e,a){if(r.object(e),!n.isKey(e))throw new Error("Must be a public key");var t=o.keyTypeToAlg(e),s=o.write(e),c=e.comment||"",u=function(e,a){var t=[],r=0;for(;r1)throw new Error("DER sequence does not contain whole byte stream");var m=t.offset;t.readSequence();var d=t.offset+t.length,f=d;if(t.peek()===l(0)){t.readSequence(l(0));var g=t.readInt();r.ok(g<=3,"only x.509 versions up to v3 supported")}var v={signatures:{}},b=v.signatures.x509={};b.extras={},v.serial=function(e,a){return r.strictEqual(e.peek(),i.Ber.Integer,a+" is not an Integer"),n.mpNormalize(e.readString(i.Ber.Integer,!0))}(t,"serial"),t.readSequence();var k=t.offset+t.length,x=t.readOID();if(void 0===h[x])throw new Error("unknown signature algorithm "+x);t._offset=k,v.issuer=s.parseAsn1(t),t.readSequence(),v.validFrom=y(t),v.validUntil=y(t),v.subjects=[s.parseAsn1(t)],t.readSequence(),k=t.offset+t.length,v.subjectKey=p.readPkcs8(void 0,"public",t),t._offset=k,t.peek()===l(1)&&(t.readSequence(l(1)),b.extras.issuerUniqueID=e.slice(t.offset,t.offset+t.length),t._offset+=t.length);t.peek()===l(2)&&(t.readSequence(l(2)),b.extras.subjectUniqueID=e.slice(t.offset,t.offset+t.length),t._offset+=t.length);if(t.peek()===l(3)){t.readSequence(l(3));var w=t.offset+t.length;for(t.readSequence();t.offset=60?o-1:o;t.setUTCFullYear(n,parseInt(a[2],10)-1,parseInt(a[3],10)),t.setUTCHours(parseInt(a[4],10),parseInt(a[5],10)),a[6]&&a[6].length>0&&t.setUTCSeconds(parseInt(a[6],10));return t}(e.readString(i.Ber.UTCTime));if(e.peek()===i.Ber.GeneralizedTime)return function(e){var a=e.match(F);r.ok(a);var t=new Date;t.setUTCFullYear(parseInt(a[1],10),parseInt(a[2],10)-1,parseInt(a[3],10)),t.setUTCHours(parseInt(a[4],10),parseInt(a[5],10)),a[6]&&a[6].length>0&&t.setUTCSeconds(parseInt(a[6],10));return t}(e.readString(i.Ber.GeneralizedTime));throw new Error("Unsupported date format")}function b(e,a){var t,r;a.getUTCFullYear()>=2050||a.getUTCFullYear()<1950?e.writeString((r="",r+=z((t=a).getUTCFullYear(),4),r+=z(t.getUTCMonth()+1),r+=z(t.getUTCDate()),r+=z(t.getUTCHours()),r+=z(t.getUTCMinutes()),r+=z(t.getUTCSeconds()),r+="Z"),i.Ber.GeneralizedTime):e.writeString(function(e){var a="";return a+=z(e.getUTCFullYear()%100),a+=z(e.getUTCMonth()+1),a+=z(e.getUTCDate()),a+=z(e.getUTCHours()),a+=z(e.getUTCMinutes()),a+=z(e.getUTCSeconds()),a+="Z"}(a),i.Ber.UTCTime)}var k={OtherName:l(0),RFC822Name:m(1),DNSName:m(2),X400Address:l(3),DirectoryName:l(4),EDIPartyName:l(5),URI:m(6),IPAddress:m(7),OID:m(8)},x={serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",joyentDocker:"1.3.6.1.4.1.38678.1.4.1",joyentCmon:"1.3.6.1.4.1.38678.1.4.2"},w={};Object.keys(x).forEach((function(e){w[x[e]]=e}));var j=["signature","identity","keyEncryption","encryption","keyAgreement","ca","crl"];function S(e,a,t){t.readSequence();var r,o,n=t.offset+t.length,c=t.readOID(),u=e.signatures.x509;switch(u.extras.exts||(u.extras.exts=[]),t.peek()===i.Ber.Boolean&&(o=t.readBoolean()),c){case f:t.readSequence(i.Ber.OctetString),t.readSequence();var p=t.offset+t.length,l=!1;t.peek()===i.Ber.Boolean&&(l=t.readBoolean()),void 0===e.purposes&&(e.purposes=[]),!0===l&&e.purposes.push("ca");var m={oid:c,critical:o};t.offset0||"host"===o.type||void 0!==e.purposes&&e.purposes.length>0||t.extras&&t.extras.exts){a.startSequence(l(3)),a.startSequence();var c=[];void 0!==e.purposes&&e.purposes.length>0&&(c.push({oid:f,critical:!0}),c.push({oid:g,critical:!0}),c.push({oid:v,critical:!0})),c.push({oid:d}),t.extras&&t.extras.exts&&(c=t.extras.exts);for(var u=0;u0)throw new Error("non-zero precision not supported");switch(a.match(/-/)&&(u=!0),a.match(/0/)&&(p="0"),a.match(/\+/)&&(l=!0),n){case"s":if(null==m)throw new Error("argument "+y+": attempted to print undefined or null as a string");v+=s(p,t,u,m.toString());break;case"d":m=Math.floor(m);case"f":v+=(l=l&&m>0?"+":"")+s(p,t,u,m.toString());break;case"x":v+=s(p,t,u,m.toString(16));break;case"j":0===t&&(t=10),v+=i.inspect(m,!1,t);break;case"r":v+=c(m);break;default:throw new Error("unsupported conversion: "+n)}}else v+="%";return v+=e}function n(e){var a=Array.prototype.slice.call(arguments,1);return e.write(o.apply(this,a))}function s(e,a,t,r){for(var i=r;i.lengthp||u===p&&"application/"===i[c].substr(0,12)))continue}i[c]=e}}}))},function(e,a){e.exports=require("tls")},function(e,a,t){var r=t(1),i=t(10).Stream,o=t(155);function n(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}e.exports=n,r.inherits(n,i),n.create=function(e){var a=new this;for(var t in e=e||{})a[t]=e[t];return a},n.isStreamLike=function(e){return"function"!=typeof e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e&&!Buffer.isBuffer(e)},n.prototype.append=function(e){if(n.isStreamLike(e)){if(!(e instanceof o)){var a=o.create(e,{maxDataSize:1/0,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=a}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this},n.prototype.pipe=function(e,a){return i.prototype.pipe.call(this,e,a),this.resume(),e},n.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop)this._pendingNext=!0;else{this._insideLoop=!0;try{do{this._pendingNext=!1,this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=!1}}},n.prototype._realGetNext=function(){var e=this._streams.shift();void 0!==e?"function"==typeof e?e(function(e){n.isStreamLike(e)&&(e.on("data",this._checkDataSize.bind(this)),this._handleErrors(e)),this._pipeNext(e)}.bind(this)):this._pipeNext(e):this.end()},n.prototype._pipeNext=function(e){if(this._currentStream=e,n.isStreamLike(e))return e.on("end",this._getNext.bind(this)),void e.pipe(this,{end:!1});var a=e;this.write(a),this._getNext()},n.prototype._handleErrors=function(e){var a=this;e.on("error",(function(e){a._emitError(e)}))},n.prototype.write=function(e){this.emit("data",e)},n.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},n.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},n.prototype.end=function(){this._reset(),this.emit("end")},n.prototype.destroy=function(){this._reset(),this.emit("close")},n.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},n.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(e))}},n.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach((function(a){a.dataSize&&(e.dataSize+=a.dataSize)})),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},n.prototype._emitError=function(e){this._reset(),this.emit("error",e)}},function(e,a,t){var r=t(88),i=t(89);e.exports=function(e,a,t,o){var n=t.keyedList?t.keyedList[t.index]:t.index;t.jobs[n]=function(e,a,t,i){var o;o=2==e.length?e(t,r(i)):e(t,a,r(i));return o}(a,n,e[n],(function(e,a){n in t.jobs&&(delete t.jobs[n],e?i(t):t.results[n]=a,o(e,t.results))}))}},function(e,a,t){var r=t(158);e.exports=function(e){var a=!1;return r((function(){a=!0})),function(t,i){a?e(t,i):r((function(){e(t,i)}))}}},function(e,a){function t(e){"function"==typeof this.jobs[e]&&this.jobs[e]()}e.exports=function(e){Object.keys(e.jobs).forEach(t.bind(e)),e.jobs={}}},function(e,a){e.exports=function(e,a){var t=!Array.isArray(e),r={index:0,keyedList:t||a?Object.keys(e):null,jobs:{},results:t?{}:[],size:t?Object.keys(e).length:e.length};a&&r.keyedList.sort(t?a:function(t,r){return a(e[t],e[r])});return r}},function(e,a,t){var r=t(89),i=t(88);e.exports=function(e){if(!Object.keys(this.jobs).length)return;this.index=this.size,r(this),i(e)(null,this.results)}},function(e,a,t){var r=t(87),i=t(90),o=t(91);function n(e,a){return ea?1:0}e.exports=function(e,a,t,n){var s=i(e,t);return r(e,a,s,(function t(i,o){i?n(i,o):(s.index++,s.index<(s.keyedList||e).length?r(e,a,s,t):n(null,s.results))})),o.bind(s,n)},e.exports.ascending=n,e.exports.descending=function(e,a){return-1*n(e,a)}},function(e,a,t){var r=t(10);function i(e){return e instanceof r.Stream}function o(e){return i(e)&&"function"==typeof e._read&&"object"==typeof e._readableState}function n(e){return i(e)&&"function"==typeof e._write&&"object"==typeof e._writableState}e.exports=i,e.exports.isReadable=o,e.exports.isWritable=n,e.exports.isDuplex=function(e){return o(e)&&n(e)}},function(e,a,t){"use strict";var r=t(164),i=t(165),o=t(96);e.exports={formats:o,parse:i,stringify:r}},function(e,a,t){"use strict";var r=Object.prototype.hasOwnProperty,i=function(){for(var e=[],a=0;a<256;++a)e.push("%"+((a<16?"0":"")+a.toString(16)).toUpperCase());return e}(),o=function(e,a){for(var t=a&&a.plainObjects?Object.create(null):{},r=0;r=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?t+=a.charAt(r):o<128?t+=i[o]:o<2048?t+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?t+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&a.charCodeAt(r)),t+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return t},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(a,t,i){if(!t)return a;if("object"!=typeof t){if(Array.isArray(a))a.push(t);else{if("object"!=typeof a)return[a,t];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,t))&&(a[t]=!0)}return a}if("object"!=typeof a)return[a].concat(t);var n=a;return Array.isArray(a)&&!Array.isArray(t)&&(n=o(a,i)),Array.isArray(a)&&Array.isArray(t)?(t.forEach((function(t,o){r.call(a,o)?a[o]&&"object"==typeof a[o]?a[o]=e(a[o],t,i):a.push(t):a[o]=t})),a):Object.keys(t).reduce((function(a,o){var n=t[o];return r.call(a,o)?a[o]=e(a[o],n,i):a[o]=n,a}),n)}}},function(e,a,t){"use strict";var r=String.prototype.replace,i=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,a,t){"use strict";var r=t(20);e.exports=function(e){r.copy(e,this)}},function(e,a,t){"use strict";e.exports=function(e,a){a||(a={}),"function"==typeof a&&(a={cmp:a});var t,r="boolean"==typeof a.cycles&&a.cycles,i=a.cmp&&(t=a.cmp,function(e){return function(a,r){var i={key:a,value:e[a]},o={key:r,value:e[r]};return t(i,o)}}),o=[];return function e(a){if(a&&a.toJSON&&"function"==typeof a.toJSON&&(a=a.toJSON()),void 0!==a){if("number"==typeof a)return isFinite(a)?""+a:"null";if("object"!=typeof a)return JSON.stringify(a);var t,n;if(Array.isArray(a)){for(n="[",t=0;t",y=h?">":"<",b=void 0;if(!m&&"number"!=typeof s&&void 0!==s)throw new Error(a+" must be number");if(!g&&void 0!==f&&"number"!=typeof f&&"boolean"!=typeof f)throw new Error(d+" must be number or boolean");if(g){var k=e.util.getData(f.$data,n,e.dataPathArr),x="exclusive"+o,w="exclType"+o,j="exclIsNumber"+o,S="' + "+(z="op"+o)+" + '";i+=" var schemaExcl"+o+" = "+k+"; ",i+=" var "+x+"; var "+w+" = typeof "+(k="schemaExcl"+o)+"; if ("+w+" != 'boolean' && "+w+" != 'undefined' && "+w+" != 'number') { ";var E;b=d;(E=E||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(b||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+d+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var F=i;i=E.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+F+"]); ":i+=" validate.errors = ["+F+"]; return false; ":i+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+w+" == 'number' ? ( ("+x+" = "+r+" === undefined || "+k+" "+v+"= "+r+") ? "+l+" "+y+"= "+k+" : "+l+" "+y+" "+r+" ) : ( ("+x+" = "+k+" === true) ? "+l+" "+y+"= "+r+" : "+l+" "+y+" "+r+" ) || "+l+" !== "+l+") { var op"+o+" = "+x+" ? '"+v+"' : '"+v+"='; ",void 0===s&&(b=d,u=e.errSchemaPath+"/"+d,r=k,m=g)}else{S=v;if((j="number"==typeof f)&&m){var z="'"+S+"'";i+=" if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" ( "+r+" === undefined || "+f+" "+v+"= "+r+" ? "+l+" "+y+"= "+f+" : "+l+" "+y+" "+r+" ) || "+l+" !== "+l+") { "}else{j&&void 0===s?(x=!0,b=d,u=e.errSchemaPath+"/"+d,r=f,y+="="):(j&&(r=Math[h?"min":"max"](f,s)),f===(!j||r)?(x=!0,b=d,u=e.errSchemaPath+"/"+d,y+="="):(x=!1,S+="="));z="'"+S+"'";i+=" if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+l+" "+y+" "+r+" || "+l+" !== "+l+") { "}}b=b||a,(E=E||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(b||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+z+", limit: "+r+", exclusive: "+x+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+S+" ",i+=m?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+c:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";F=i;return i=E.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+F+"]); ":i+=" validate.errors = ["+F+"]; return false; ":i+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",p&&(i+=" else { "),i}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[a],c=e.schemaPath+e.util.getProperty(a),u=e.errSchemaPath+"/"+a,p=!e.opts.allErrors,l="data"+(n||""),m=e.opts.$data&&s&&s.$data;if(m?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!m&&"number"!=typeof s)throw new Error(a+" must be number");i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+l+".length "+("maxItems"==a?">":"<")+" "+r+") { ";var h=a,d=d||[];d.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==a?"more":"fewer",i+=" than ",i+=m?"' + "+r+" + '":""+s,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+c:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var f=i;return i=d.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[a],c=e.schemaPath+e.util.getProperty(a),u=e.errSchemaPath+"/"+a,p=!e.opts.allErrors,l="data"+(n||""),m=e.opts.$data&&s&&s.$data;if(m?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!m&&"number"!=typeof s)throw new Error(a+" must be number");var h="maxLength"==a?">":"<";i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),!1===e.opts.unicode?i+=" "+l+".length ":i+=" ucs2length("+l+") ",i+=" "+h+" "+r+") { ";var d=a,f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(d||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==a?"longer":"shorter",i+=" than ",i+=m?"' + "+r+" + '":""+s,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+c:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var g=i;return i=f.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[a],c=e.schemaPath+e.util.getProperty(a),u=e.errSchemaPath+"/"+a,p=!e.opts.allErrors,l="data"+(n||""),m=e.opts.$data&&s&&s.$data;if(m?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!m&&"number"!=typeof s)throw new Error(a+" must be number");i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" Object.keys("+l+").length "+("maxProperties"==a?">":"<")+" "+r+") { ";var h=a,d=d||[];d.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==a?"more":"fewer",i+=" than ",i+=m?"' + "+r+" + '":""+s,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+c:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var f=i;return i=d.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},,,,,,,,,,,,,,,,,,,,,function(e,a,t){"use strict";var r=t(39),i=t(70),o=t(41).paramsHaveRequestBody;function n(e,a,t){"function"==typeof a&&(t=a);var i={};return"object"==typeof a?r(i,a,{uri:e}):r(i,"string"==typeof e?{uri:e}:e),i.callback=t||i.callback,i}function s(e,a,t){if(void 0===e)throw new Error("undefined is not a valid uri or options object.");var r=n(e,a,t);if("HEAD"===r.method&&o(r))throw new Error("HTTP HEAD requests MUST NOT include a request body.");return new s.Request(r)}function c(e){var a=e.toUpperCase();return function(e,t,r){var i=n(e,t,r);return i.method=a,s(i,i.callback)}}function u(e,a,t,i){return function(o,s,c){var u=n(o,s,c),p={};return r(!0,p,a,u),p.pool=u.pool||a.pool,i&&(p.method=i.toUpperCase()),"function"==typeof t&&(e=t),e(p,p.callback)}}s.get=c("get"),s.head=c("head"),s.options=c("options"),s.post=c("post"),s.put=c("put"),s.patch=c("patch"),s.del=c("delete"),s.delete=c("delete"),s.jar=function(e){return i.jar(e)},s.cookie=function(e){return i.parse(e)},s.defaults=function(e,a){var t=this;"function"==typeof(e=e||{})&&(a=e,e={});var r=u(t,e,a);return["get","head","post","put","patch","del","delete"].forEach((function(i){r[i]=u(t[i],e,a,i)})),r.cookie=u(t.cookie,e,a),r.jar=t.jar,r.defaults=t.defaults,r},s.forever=function(e,a){var t={};return a&&r(t,a),e&&(t.agentOptions=e),t.forever=!0,s.defaults(t)},e.exports=s,s.Request=t(132),s.initParams=n,Object.defineProperty(s,"debug",{enumerable:!0,get:function(){return s.Request.debug},set:function(e){s.Request.debug=e}})},function(e,a,t){"use strict"; /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. Neither the name of Salesforce.com nor the names of its contributors may * be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */var r,i=t(40),o=t(15).parse,n=t(1),s=t(71),c=t(73).Store,u=t(129).MemoryCookieStore,p=t(75).pathMatch,l=t(130).version;try{r=t(72)}catch(e){console.warn("tough-cookie: can't load punycode; won't use punycode for domain normalization")}var m=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/,h=/[\x00-\x1F]/,d=["\n","\r","\0"],f=/[\x20-\x3A\x3C-\x7E]+/,g=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/,v={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},y=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],b=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function k(e,a,t,r){for(var i=0;i=58)break;i++}return it?null:r||i==e.length?parseInt(e.substr(0,i),10):null}function x(e){var a=e.split(":"),t=[0,0,0];if(3!==a.length)return null;for(var r=0;r<3;r++){var i=2==r,o=k(a[r],1,2,i);if(null===o)return null;t[r]=o}return t}function w(e){e=String(e).substr(0,3).toLowerCase();var a=v[e];return a>=0?a:null}function j(e){if(e){var a=e.split(g);if(a){for(var t=null,r=null,i=null,o=null,n=null,s=null,c=0;c=70&&s<=99?s+=1900:s>=0&&s<=69&&(s+=2e3)):n=u:o=u}if(!(null===o||null===n||null===s||null===i||o<1||o>31||s<1601||t>23||r>59||i>59))return new Date(Date.UTC(s,n,o,t,r,i))}}}function S(e){var a=e.getUTCDate();a=a>=10?a:"0"+a;var t=e.getUTCHours();t=t>=10?t:"0"+t;var r=e.getUTCMinutes();r=r>=10?r:"0"+r;var i=e.getUTCSeconds();return i=i>=10?i:"0"+i,b[e.getUTCDay()]+", "+a+" "+y[e.getUTCMonth()]+" "+e.getUTCFullYear()+" "+t+":"+r+":"+i+" GMT"}function E(e){return null==e?null:(e=e.trim().replace(/^\./,""),r&&/[^\u0001-\u007f]/.test(e)&&(e=r.toASCII(e)),e.toLowerCase())}function F(e,a,t){if(null==e||null==a)return null;if(!1!==t&&(e=E(e),a=E(a)),e==a)return!0;if(i.isIP(e))return!1;var r=e.indexOf(a);return!(r<=0)&&(e.length===a.length+r&&"."===e.substr(r-1,1))}function z(e){if(!e||"/"!==e.substr(0,1))return"/";if("/"===e)return e;var a=e.lastIndexOf("/");return 0===a?"/":e.slice(0,a)}function _(e,a){var t,r,i=(e=function(e){for(var a=0;a1;){var t=e.lastIndexOf("/");if(0===t)break;e=e.substr(0,t),a.push(e)}return a.push("/"),a},a.canonicalDomain=E},function(e,a,t){"use strict";var r=t(72),i={};i.rules=t(128).map((function(e){return{rule:e,suffix:e.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:"*"===e.charAt(0),exception:"!"===e.charAt(0)}})),i.endsWith=function(e,a){return-1!==e.indexOf(a,e.length-a.length)},i.findRule=function(e){var a=r.toASCII(e);return i.rules.reduce((function(e,t){return-1===t.punySuffix&&(t.punySuffix=r.toASCII(t.suffix)),i.endsWith(a,"."+t.punySuffix)||a===t.punySuffix?t:e}),null)},a.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."},i.validate=function(e){var a=r.toASCII(e);if(a.length<1)return"DOMAIN_TOO_SHORT";if(a.length>255)return"DOMAIN_TOO_LONG";for(var t,i=a.split("."),o=0;o63)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"}},a.parse=function(e){if("string"!=typeof e)throw new TypeError("Domain name must be a string.");var t=e.slice(0).toLowerCase();"."===t.charAt(t.length-1)&&(t=t.slice(0,t.length-1));var o=i.validate(t);if(o)return{input:e,error:{message:a.errorCodes[o],code:o}};var n={input:e,tld:null,sld:null,domain:null,subdomain:null,listed:!1},s=t.split(".");if("local"===s[s.length-1])return n;var c=function(){return/xn--/.test(t)?(n.domain&&(n.domain=r.toASCII(n.domain)),n.subdomain&&(n.subdomain=r.toASCII(n.subdomain)),n):n},u=i.findRule(t);if(!u)return s.length<2?n:(n.tld=s.pop(),n.sld=s.pop(),n.domain=[n.sld,n.tld].join("."),s.length&&(n.subdomain=s.pop()),c());n.listed=!0;var p=u.suffix.split("."),l=s.slice(0,s.length-p.length);return u.exception&&l.push(p.shift()),n.tld=p.join("."),l.length?(u.wildcard&&(p.unshift(l.pop()),n.tld=p.join(".")),l.length?(n.sld=l.pop(),n.domain=[n.sld,n.tld].join("."),l.length&&(n.subdomain=l.join(".")),c()):c()):c()},a.get=function(e){return e&&a.parse(e).domain||null},a.isValid=function(e){var t=a.parse(e);return Boolean(t.domain&&t.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","com.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","net.ar","org.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","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bhz.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","cri.br","cuiaba.br","curitiba.br","def.br","ecn.br","eco.br","edu.br","emp.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","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","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","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.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","aprendemas.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","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","name.cy","net.cy","org.cy","parliament.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","com.dz","org.dz","net.dz","gov.dz","edu.dz","asso.dz","pol.dz","art.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","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","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","edu.ky","gov.ky","com.ky","org.ky","net.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","com.my","net.my","org.my","gov.my","edu.my","mil.my","name.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","net.ss","org.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","gov.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","intl.tn","nat.tn","net.tn","org.tn","info.tn","perso.tn","tourism.tn","edunet.tn","rnrt.tn","rns.tn","rnu.tn","mincom.tn","agrinet.tn","defense.tn","turen.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","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","org.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","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","afamilycompany","afl","africa","agakhan","agency","aig","aigo","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","budapest","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","caseih","cash","casino","catering","catholic","cba","cbn","cbre","cbs","ceb","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","csc","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","duck","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","fujixerox","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","glade","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","intel","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","iveco","jaguar","java","jcb","jcp","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","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","lixil","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","lupin","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","metlife","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","mutual","nab","nagoya","nationwide","natura","navy","nba","nec","netbank","netflix","network","neustar","new","newholland","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","off","office","okinawa","olayan","olayangroup","oldnavy","ollo","omega","one","ong","onl","online","onyourside","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","qvc","racing","radio","raid","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","rightathome","ril","rio","rip","rmit","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","scjohnson","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","shriram","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","spreadbetting","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiftcover","swiss","sydney","symantec","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","wed","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","adobeaemcloud.com","adobeaemcloud.net","*.dev.adobeaemcloud.com","beep.pl","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","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","amsw.nl","t3l3p0rt.net","tele.amune.org","apigee.io","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","myfritz.net","*.awdev.ca","*.advisor.ws","b-data.io","backplaneapp.io","balena-devices.com","*.banzai.cloud","app.banzaicloud.io","*.backyards.banzaicloud.io","betainabox.com","bnr.la","blackbaudcdn.net","boomla.net","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","browsersafetymark.io","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","mycd.eu","carrd.co","crd.co","uwu.ai","ae.org","ar.com","br.com","cn.com","com.de","com.se","de.com","eu.com","gb.com","gb.net","hu.com","hu.net","jp.net","jpn.com","kr.com","mex.com","no.com","qc.com","ru.com","sa.com","se.net","uk.com","uk.net","us.com","uy.com","za.bz","za.com","africa.com","gr.com","in.net","us.org","co.com","c.la","certmgr.org","xenapponazure.com","discourse.group","discourse.team","virtueeldomein.nl","cleverapps.io","*.lcl.dev","*.stg.dev","clic2000.net","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","cloudcontrolled.com","cloudcontrolapp.com","cloudera.site","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","cloudeity.net","cnpy.gdn","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","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","edgestack.me","debian.net","dedyn.io","dnshome.de","online.th","shop.th","drayddns.com","dreamhosters.com","mydrobo.com","drud.io","drud.us","duckdns.org","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","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","en-root.fr","mytuleap.com","onred.one","staging.onred.one","enonic.io","customer.enonic.io","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","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","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","fhapp.xyz","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","conn.uk","copro.uk","couk.me","ukco.me","mydobiss.com","filegear.me","filegear-au.me","filegear-de.me","filegear-gb.me","filegear-ie.me","filegear-jp.me","filegear-sg.me","firebaseapp.com","fly.dev","edgeapp.net","shw.io","flynnhosting.net","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","wien.funkfeuer.at","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","service.gov.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","github.io","githubusercontent.com","gitlab.io","gitpage.si","glitch.me","lolipop.io","cloudapps.digital","london.cloudapps.digital","homeoffice.gov.uk","ro.im","shop.ro","goip.de","run.app","a.run.app","web.app","*.0emm.com","appspot.com","*.r.appspot.com","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","cloudfunctions.net","cloud.goog","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","publishproxy.com","withgoogle.com","withyoutube.com","graphox.us","awsmppl.com","fin.ci","free.hr","caa.li","ua.rs","conf.se","hs.zone","hs.run","hashbang.sh","hasura.app","hasura-app.io","hepforge.org","herokuapp.com","herokussl.com","myravendb.com","ravendb.community","ravendb.me","development.run","ravendb.run","bpl.biz","orx.biz","ng.city","biz.gl","ng.ink","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","ng.school","sch.so","hostyhosting.io","häkkinen.fi","*.moonscale.io","moonscale.net","iki.fi","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","ipifony.net","mein-iserv.de","schulserver.de","test-iserv.de","iserv.dev","iobb.net","hidora.com","demo.jelastic.com","j.scaleforce.com.cy","mircloud.host","jls-sto1.elastx.net","j.layershift.co.uk","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","*.triton.zone","*.cns.joyent.com","js.org","kaas.gg","khplay.nl","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","oya.to","co.krd","edu.krd","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","linkitools.space","linkyard.cloud","linkyard-cloud.ch","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","we.bs","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","uklugs.org","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.shop","barsy.site","barsy.support","barsy.uk","*.magentosite.cloud","mayfirst.info","mayfirst.org","hb.cldmail.ru","miniserver.com","memset.net","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","mozilla-iot.org","bmoattachments.org","net.ru","org.ru","pp.ru","ui.nabu.casa","pony.club","of.fashion","on.fashion","of.football","in.london","of.london","for.men","and.mom","for.mom","for.one","for.sale","of.work","to.work","nctu.me","netlify.app","4u.com","ngrok.io","nh-serv.co.uk","nfshost.com","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","nodum.co","nodum.io","pcloud.host","nyc.mn","nom.ae","nom.af","nom.ai","nom.al","nym.by","nom.bz","nym.bz","nom.cl","nym.ec","nom.gd","nom.ge","nom.gl","nym.gr","nom.gt","nym.gy","nym.hk","nom.hn","nym.ie","nom.im","nom.ke","nym.kz","nym.la","nym.lc","nom.li","nym.li","nym.lt","nym.lu","nom.lv","nym.me","nom.mk","nym.mn","nym.mx","nom.nu","nym.nz","nym.pe","nym.pt","nom.pw","nom.qa","nym.ro","nom.rs","nom.si","nym.sk","nom.st","nym.su","nym.sx","nom.tj","nym.tw","nom.ug","nom.uy","nom.vc","nom.vg","static.observableusercontent.com","cya.gg","cloudycluster.net","nid.io","opencraft.hosting","operaunite.com","skygearapp.com","outsystemscloud.com","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagefrontapp.com","pagexl.com","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","pantheonsite.io","gotpantheon.com","mypep.link","perspecta.cloud","on-web.fr","*.platform.sh","*.platformsh.site","platter-app.com","platter-app.dev","platterp.us","pdns.page","plesk.page","pleskns.com","dyn53.io","co.bn","xen.prgmr.com","priv.at","prvcy.page","*.dweb.link","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","qualifioapp.com","qbuser.com","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","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","wellbeingzone.eu","ptplus.fit","wellbeingzone.co.uk","git-pages.rit.edu","sandcats.io","logoip.de","logoip.com","schokokeks.net","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","senseering.net","biz.ua","co.ua","pp.ua","shiftedit.io","myshopblocks.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","stackhero-network.com","static.land","dev.static.land","sites.static.land","playstation-cloud.com","apps.lair.io","*.stolos.io","spacekit.io","customer.speedpartner.de","api.stdlib.com","storj.farm","utwente.io","soc.srcf.net","user.srcf.net","temp-dns.com","applicationcloud.io","scapp.io","*.s5y.io","*.sensiosite.cloud","syncloud.it","diskstation.me","dscloud.biz","dscloud.me","dscloud.mobi","dsmynas.com","dsmynas.net","dsmynas.org","familyds.com","familyds.net","familyds.org","i234.me","myds.me","synology.me","vpnplus.to","direct.quickconnect.to","taifun-dns.de","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","edugit.org","telebit.app","telebit.io","*.telebit.xyz","gwiddle.co.uk","thingdustdata.com","cust.dev.thingdust.io","cust.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","arvo.network","azimuth.network","bloxcms.com","townnews-staging.com","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","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","uber.space","*.uberspace.de","hk.com","hk.org","ltd.hk","inc.hk","virtualuser.de","virtual-user.de","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","uwu.nu","indie.porn","vxl.sh","ch.tc","me.tc","we.tc","nyan.to","at.vg","blog.vu","dev.vu","me.vu","v.ua","wafflecell.com","*.webhare.dev","wedeploy.io","wedeploy.me","wedeploy.sh","remotewd.com","wmflabs.org","toolforge.org","wmcloud.org","panel.gg","daemon.panel.gg","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","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","nohost.me","noho.st","za.net","za.org","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu","mintere.site"]')},function(e,a,t){"use strict"; /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. Neither the name of Salesforce.com nor the names of its contributors may * be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */var r=t(73).Store,i=t(74).permuteDomain,o=t(75).pathMatch,n=t(1);function s(){r.call(this),this.idx={}}n.inherits(s,r),a.MemoryCookieStore=s,s.prototype.idx=null,s.prototype.synchronous=!0,s.prototype.inspect=function(){return"{ idx: "+n.inspect(this.idx,!1,2)+" }"},n.inspect.custom&&(s.prototype[n.inspect.custom]=s.prototype.inspect),s.prototype.findCookie=function(e,a,t,r){return this.idx[e]&&this.idx[e][a]?r(null,this.idx[e][a][t]||null):r(null,void 0)},s.prototype.findCookies=function(e,a,t){var r,n=[];if(!e)return t(null,[]);r=a?function(e){Object.keys(e).forEach((function(t){if(o(a,t)){var r=e[t];for(var i in r)n.push(r[i])}}))}:function(e){for(var a in e){var t=e[a];for(var r in t)n.push(t[r])}};var s=i(e)||[e],c=this.idx;s.forEach((function(e){var a=c[e];a&&r(a)})),t(null,n)},s.prototype.putCookie=function(e,a){this.idx[e.domain]||(this.idx[e.domain]={}),this.idx[e.domain][e.path]||(this.idx[e.domain][e.path]={}),this.idx[e.domain][e.path][e.key]=e,a(null)},s.prototype.updateCookie=function(e,a,t){this.putCookie(a,t)},s.prototype.removeCookie=function(e,a,t,r){this.idx[e]&&this.idx[e][a]&&this.idx[e][a][t]&&delete this.idx[e][a][t],r(null)},s.prototype.removeCookies=function(e,a,t){return this.idx[e]&&(a?delete this.idx[e][a]:delete this.idx[e]),t(null)},s.prototype.getAllCookies=function(e){var a=[],t=this.idx;Object.keys(t).forEach((function(e){Object.keys(t[e]).forEach((function(r){Object.keys(t[e][r]).forEach((function(i){null!==i&&a.push(t[e][r][i])}))}))})),a.sort((function(e,a){return(e.creationIndex||0)-(a.creationIndex||0)})),e(null,a)}},function(e){e.exports=JSON.parse('{"author":{"name":"Jeremy Stashewsky","email":"jstash@gmail.com","website":"https://github.com/stash"},"contributors":[{"name":"Alexander Savin","website":"https://github.com/apsavin"},{"name":"Ian Livingstone","website":"https://github.com/ianlivingstone"},{"name":"Ivan Nikulin","website":"https://github.com/inikulin"},{"name":"Lalit Kapoor","website":"https://github.com/lalitkapoor"},{"name":"Sam Thompson","website":"https://github.com/sambthompson"},{"name":"Sebastian Mayr","website":"https://github.com/Sebmaster"}],"license":"BSD-3-Clause","name":"tough-cookie","description":"RFC6265 Cookies and Cookie Jar for node.js","keywords":["HTTP","cookie","cookies","set-cookie","cookiejar","jar","RFC6265","RFC2965"],"version":"2.4.3","homepage":"https://github.com/salesforce/tough-cookie","repository":{"type":"git","url":"git://github.com/salesforce/tough-cookie.git"},"bugs":{"url":"https://github.com/salesforce/tough-cookie/issues"},"main":"./lib/cookie","files":["lib"],"scripts":{"test":"vows test/*_test.js","cover":"nyc --reporter=lcov --reporter=html vows test/*_test.js"},"engines":{"node":">=0.8"},"devDependencies":{"async":"^1.4.2","nyc":"^11.6.0","string.prototype.repeat":"^0.2.0","vows":"^0.8.1"},"dependencies":{"psl":"^1.1.24","punycode":"^1.4.1"},"_resolved":"https://pkgs.dev.azure.com/terrapin-prod/Terrapin/_packaging/open-source-packages-2/npm/registry/tough-cookie/-/tough-cookie-2.4.3.tgz","_integrity":"sha1-Hw9mSt0h39CmmZuZwYOM/Xi+aeI=","_from":"tough-cookie@2.4.3"}')},function(e,a){function t(e,a){var t=[],r=[];return null==a&&(a=function(e,a){return t[0]===a?"[Circular ~]":"[Circular ~."+r.slice(0,t.indexOf(a)).join(".")+"]"}),function(i,o){if(t.length>0){var n=t.indexOf(this);~n?t.splice(n+1):t.push(this),~n?r.splice(n,1/0,i):r.push(i),~t.indexOf(o)&&(o=a.call(this,i,o))}else t.push(o);return null==e?o:e.call(this,i,o)}}(e.exports=function(e,a,r,i){return JSON.stringify(e,t(a,i),r)}).getSerialize=t},function(e,a,t){"use strict";var r=t(22),i=t(33),o=t(15),n=t(1),s=t(10),c=t(42),u=t(133),p=t(134),l=t(136),m=t(84),h=t(50),d=t(153),f=t(154),g=t(39),v=t(93),y=t(161).strict,b=t(41),k=t(70),x=t(162),w=t(163).Querystring,j=t(166).Har,S=t(223).Auth,E=t(226).OAuth,F=t(228),z=t(229).Multipart,_=t(230).Redirect,P=t(231).Tunnel,A=t(233),q=t(21).Buffer,O=b.safeStringify,B=b.isReadStream,C=b.toBase64,D=b.defer,T=b.copy,I=b.version,R=k.jar(),N={};function L(){return{uri:this.uri,method:this.method,headers:this.headers}}function U(){return{statusCode:this.statusCode,body:this.body,headers:this.headers,request:L.call(this.request)}}function H(e){e.har&&(this._har=new j(this),e=this._har.options(e)),s.Stream.call(this);var a=Object.keys(H.prototype),t=function(e,a){var t={};for(var r in a){-1===e.indexOf(r)&&(t[r]=a[r])}return t}(a,e);g(this,t),e=function(e,a){var t={};for(var r in a){var i=!(-1===e.indexOf(r)),o="function"==typeof a[r];i&&o||(t[r]=a[r])}return t}(a,e),this.readable=!0,this.writable=!0,e.method&&(this.explicitMethod=!0),this._qs=new w(this),this._auth=new S(this),this._oauth=new E(this),this._multipart=new z(this),this._redirect=new _(this),this._tunnel=new P(this),this.init(e)}function $(){H.debug&&console.error("REQUEST %s",n.format.apply(n,arguments))}n.inherits(H,s.Stream),H.debug=process.env.NODE_DEBUG&&/\brequest\b/.test(process.env.NODE_DEBUG),H.prototype.debug=$,H.prototype.init=function(e){var a=this;for(var t in e||(e={}),a.headers=a.headers?T(a.headers):{},a.headers)void 0===a.headers[t]&&delete a.headers[t];if(h.httpify(a,a.headers),a.method||(a.method=e.method||"GET"),a.localAddress||(a.localAddress=e.localAddress),a._qs.init(e),$(e),a.pool||!1===a.pool||(a.pool=N),a.dests=a.dests||[],a.__isRequestRequest=!0,!a._callback&&a.callback&&(a._callback=a.callback,a.callback=function(){a._callbackCalled||(a._callbackCalled=!0,a._callback.apply(a,arguments))},a.on("error",a.callback.bind()),a.on("complete",a.callback.bind(a,null))),!a.uri&&a.url&&(a.uri=a.url,delete a.url),a.baseUrl){if("string"!=typeof a.baseUrl)return a.emit("error",new Error("options.baseUrl must be a string"));if("string"!=typeof a.uri)return a.emit("error",new Error("options.uri must be a string when using options.baseUrl"));if(0===a.uri.indexOf("//")||-1!==a.uri.indexOf("://"))return a.emit("error",new Error("options.uri must be a path when using options.baseUrl"));var n=a.baseUrl.lastIndexOf("/")===a.baseUrl.length-1,s=0===a.uri.indexOf("/");n&&s?a.uri=a.baseUrl+a.uri.slice(1):n||s?a.uri=a.baseUrl+a.uri:""===a.uri?a.uri=a.baseUrl:a.uri=a.baseUrl+"/"+a.uri,delete a.baseUrl}if(!a.uri)return a.emit("error",new Error("options.uri is a required argument"));if("string"==typeof a.uri&&(a.uri=o.parse(a.uri)),a.uri.href||(a.uri.href=o.format(a.uri)),"unix:"===a.uri.protocol)return a.emit("error",new Error("`unix://` URL scheme is no longer supported. Please use the format `http://unix:SOCKET:PATH`"));if("unix"===a.uri.host&&a.enableUnixSocket(),!1===a.strictSSL&&(a.rejectUnauthorized=!1),a.uri.pathname||(a.uri.pathname="/"),!(a.uri.host||a.uri.hostname&&a.uri.port||a.uri.isUnix)){var c='Invalid URI "'+o.format(a.uri)+'"';return 0===Object.keys(e).length&&(c+=". This can be caused by a crappy redirection."),a.abort(),a.emit("error",new Error(c))}if(a.hasOwnProperty("proxy")||(a.proxy=x(a.uri)),a.tunnel=a._tunnel.isEnabled(),a.proxy&&a._tunnel.setup(e),a._redirect.onRequest(e),a.setHost=!1,!a.hasHeader("host")){var u=a.originalHostHeaderName||"host";a.setHeader(u,a.uri.host),a.uri.port&&("80"===a.uri.port&&"http:"===a.uri.protocol||"443"===a.uri.port&&"https:"===a.uri.protocol)&&a.setHeader(u,a.uri.hostname),a.setHost=!0}if(a.jar(a._jar||e.jar),a.uri.port||("http:"===a.uri.protocol?a.uri.port=80:"https:"===a.uri.protocol&&(a.uri.port=443)),a.proxy&&!a.tunnel?(a.port=a.proxy.port,a.host=a.proxy.hostname):(a.port=a.uri.port,a.host=a.uri.hostname),e.form&&a.form(e.form),e.formData){var p=e.formData,l=a.form(),f=function(e,a){a&&a.hasOwnProperty("value")&&a.hasOwnProperty("options")?l.append(e,a.value,a.options):l.append(e,a)};for(var g in p)if(p.hasOwnProperty(g)){var b=p[g];if(b instanceof Array)for(var k=0;k=100&&s<200||204===s||304===s))n=e;else{var u=e.headers["content-encoding"]||"identity";u=u.trim().toLowerCase();var p={flush:c.Z_SYNC_FLUSH,finishFlush:c.Z_SYNC_FLUSH};"gzip"===u?(n=c.createGunzip(p),e.pipe(n)):"deflate"===u?(n=c.createInflate(p),e.pipe(n)):("identity"!==u&&$("ignoring unrecognized Content-Encoding "+u),n=e)}a.encoding&&(0!==a.dests.length?console.error("Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid."):n.setEncoding(a.encoding)),a._paused&&n.pause(),a.responseContent=n,a.emit("response",e),a.dests.forEach((function(e){a.pipeDest(e)})),n.on("data",(function(t){a.timing&&!a.responseStarted&&(a.responseStartTime=(new Date).getTime(),e.responseStartTime=a.responseStartTime),a._destdata=!0,a.emit("data",t)})),n.once("end",(function(e){a.emit("end",e)})),n.on("error",(function(e){a.emit("error",e)})),n.on("close",(function(){a.emit("close")})),a.callback?a.readResponseBody(e):a.on("end",(function(){a._aborted?$("aborted",a.uri.href):a.emit("complete",e)})),$("finish init function",a.uri.href)}}else{$("strict ssl error",a.uri.href);var l=e.hasOwnProperty("socket")?e.socket.authorizationError:a.uri.href+" does not support SSL";a.emit("error",new Error("SSL Error: "+l))}},H.prototype.readResponseBody=function(e){var a=this;$("reading response's body");var t=[],r=0,i=[];a.on("data",(function(e){q.isBuffer(e)?e.length&&(r+=e.length,t.push(e)):i.push(e)})),a.on("end",(function(){if($("end event",a.uri.href),a._aborted)return $("aborted",a.uri.href),t=[],void(r=0);if(r?($("has body",a.uri.href,r),e.body=q.concat(t,r),null!==a.encoding&&(e.body=e.body.toString(a.encoding)),t=[],r=0):i.length&&("utf8"===a.encoding&&i[0].length>0&&"\ufeff"===i[0][0]&&(i[0]=i[0].substring(1)),e.body=i.join("")),a._json)try{e.body=JSON.parse(e.body,a._jsonReviver)}catch(e){$("invalid JSON received",a.uri.href)}$("emitting complete",a.uri.href),void 0!==e.body||a._json||(e.body=null===a.encoding?q.alloc(0):""),a.emit("complete",e,e.body)}))},H.prototype.abort=function(){this._aborted=!0,this.req?this.req.abort():this.response&&this.response.destroy(),this.emit("abort")},H.prototype.pipeDest=function(e){var a=this.response;if(e.headers&&!e.headersSent){if(a.caseless.has("content-type")){var t=a.caseless.has("content-type");e.setHeader?e.setHeader(t,a.headers[t]):e.headers[t]=a.headers[t]}if(a.caseless.has("content-length")){var r=a.caseless.has("content-length");e.setHeader?e.setHeader(r,a.headers[r]):e.headers[r]=a.headers[r]}}if(e.setHeader&&!e.headersSent){for(var i in a.headers)this.gzip&&"content-encoding"===i||e.setHeader(i,a.headers[i]);e.statusCode=a.statusCode}this.pipefilter&&this.pipefilter(a,e)},H.prototype.qs=function(e,a){var t;for(var r in t=!a&&this.uri.query?this._qs.parse(this.uri.query):{},e)t[r]=e[r];var i=this._qs.stringify(t);return""===i||(this.uri=o.parse(this.uri.href.split("?")[0]+"?"+i),this.url=this.uri,this.path=this.uri.path,"unix"===this.uri.host&&this.enableUnixSocket()),this},H.prototype.form=function(e){var a=this;return e?(/^application\/x-www-form-urlencoded\b/.test(a.getHeader("content-type"))||a.setHeader("content-type","application/x-www-form-urlencoded"),a.body="string"==typeof e?a._qs.rfc3986(e.toString("utf8")):a._qs.stringify(e).toString("utf8"),a):(a._form=new f,a._form.on("error",(function(e){e.message="form-data: "+e.message,a.emit("error",e),a.abort()})),a._form)},H.prototype.multipart=function(e){return this._multipart.onRequest(e),this._multipart.chunked||(this.body=this._multipart.body),this},H.prototype.json=function(e){return this.hasHeader("accept")||this.setHeader("accept","application/json"),"function"==typeof this.jsonReplacer&&(this._jsonReplacer=this.jsonReplacer),this._json=!0,"boolean"==typeof e?void 0!==this.body&&(/^application\/x-www-form-urlencoded\b/.test(this.getHeader("content-type"))?this.body=this._qs.rfc3986(this.body):this.body=O(this.body,this._jsonReplacer),this.hasHeader("content-type")||this.setHeader("content-type","application/json")):(this.body=O(e,this._jsonReplacer),this.hasHeader("content-type")||this.setHeader("content-type","application/json")),"function"==typeof this.jsonReviver&&(this._jsonReviver=this.jsonReviver),this},H.prototype.getHeader=function(e,a){var t,r;return a||(a=this.headers),Object.keys(a).forEach((function(i){i.length===e.length&&(r=new RegExp(e,"i"),i.match(r)&&(t=a[i]))})),t},H.prototype.enableUnixSocket=function(){var e=this.uri.path.split(":"),a=e[0],t=e[1];this.socketPath=a,this.uri.pathname=t,this.uri.path=t,this.uri.host=a,this.uri.hostname=a,this.uri.isUnix=!0},H.prototype.auth=function(e,a,t,r){return this._auth.onRequest(e,a,t,r),this},H.prototype.aws=function(e,a){if(!a)return this._aws=e,this;if(4===e.sign_version||"4"===e.sign_version){var t={host:this.uri.host,path:this.uri.path,method:this.method,headers:this.headers,body:this.body};e.service&&(t.service=e.service);var r=p.sign(t,{accessKeyId:e.key,secretAccessKey:e.secret,sessionToken:e.session});this.setHeader("authorization",r.headers.Authorization),this.setHeader("x-amz-date",r.headers["X-Amz-Date"]),r.headers["X-Amz-Security-Token"]&&this.setHeader("x-amz-security-token",r.headers["X-Amz-Security-Token"])}else{var i=new Date;this.setHeader("date",i.toUTCString());var o={key:e.key,secret:e.secret,verb:this.method.toUpperCase(),date:i,contentType:this.getHeader("content-type")||"",md5:this.getHeader("content-md5")||"",amazonHeaders:u.canonicalizeHeaders(this.headers)},n=this.uri.path;e.bucket&&n?o.resource="/"+e.bucket+n:e.bucket&&!n?o.resource="/"+e.bucket:!e.bucket&&n?o.resource=n:e.bucket||n||(o.resource="/"),o.resource=u.canonicalizeResource(o.resource),this.setHeader("authorization",u.authorization(o))}return this},H.prototype.httpSignature=function(e){var a=this;return l.signRequest({getHeader:function(e){return a.getHeader(e,a.headers)},setHeader:function(e,t){a.setHeader(e,t)},method:a.method,path:a.path},e),$("httpSignature authorization",a.getHeader("authorization")),a},H.prototype.hawk=function(e){this.setHeader("Authorization",F.header(this.uri,this.method,e))},H.prototype.oauth=function(e){return this._oauth.onRequest(e),this},H.prototype.jar=function(e){var a;if(0===this._redirect.redirectsFollowed&&(this.originalCookieHeader=this.getHeader("cookie")),e){var t=e&&e.getCookieString?e:R,r=this.uri.href;t&&(a=t.getCookieString(r))}else a=!1,this._disableCookies=!0;return a&&a.length&&(this.originalCookieHeader?this.setHeader("cookie",this.originalCookieHeader+"; "+a):this.setHeader("cookie",a)),this._jar=e,this},H.prototype.pipe=function(e,a){if(!this.response)return this.dests.push(e),s.Stream.prototype.pipe.call(this,e,a),e;if(this._destdata)this.emit("error",new Error("You cannot pipe after data has been emitted from the response."));else{if(!this._ended)return s.Stream.prototype.pipe.call(this,e,a),this.pipeDest(e),e;this.emit("error",new Error("You cannot pipe after the response has been ended."))}},H.prototype.write=function(){var e=this;if(!e._aborted)return e._started||e.start(),e.req?e.req.write.apply(e.req,arguments):void 0},H.prototype.end=function(e){this._aborted||(e&&this.write(e),this._started||this.start(),this.req&&this.req.end())},H.prototype.pause=function(){var e=this;e.responseContent?e.responseContent.pause.apply(e.responseContent,arguments):e._paused=!0},H.prototype.resume=function(){var e=this;e.responseContent?e.responseContent.resume.apply(e.responseContent,arguments):e._paused=!1},H.prototype.destroy=function(){this._ended?this.response&&this.response.destroy():this.end()},H.defaultProxyHeaderWhiteList=P.defaultProxyHeaderWhiteList.slice(),H.defaultProxyHeaderExclusiveList=P.defaultProxyHeaderExclusiveList.slice(),H.prototype.toJSON=L,e.exports=H},function(e,a,t){ /*! * Copyright 2010 LearnBoost * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var r=t(3),i=t(15).parse,o=["acl","location","logging","notification","partNumber","policy","requestPayment","torrent","uploadId","uploads","versionId","versioning","versions","website"];function n(e){return"AWS "+e.key+":"+c(e)}function s(e){return r.createHmac("sha1",e.secret).update(e.message).digest("base64")}function c(e){return e.message=u(e),s(e)}function u(e){var a=e.amazonHeaders||"";return a&&(a+="\n"),[e.verb,e.md5,e.contentType,e.date?e.date.toUTCString():"",a+e.resource].join("\n")}function p(e){return"GET\n\n\n"+e.date+"\n"+e.resource}e.exports=n,e.exports.authorization=n,e.exports.hmacSha1=s,e.exports.sign=c,e.exports.signQuery=function(e){return e.message=p(e),s(e)},e.exports.stringToSign=u,e.exports.queryStringToSign=p,e.exports.canonicalizeHeaders=function(e){for(var a=[],t=Object.keys(e),r=0,i=t.length;r=0&&"us-east-1"===this.region||["cloudfront","ls","route53","iam","importexport","sts"].indexOf(this.service)>=0},l.prototype.createHost=function(){var e=this.isSingleRegion()?"":("s3"===this.service&&"us-east-1"!==this.region?"-":".")+this.region;return("ses"===this.service?"email":this.service)+e+".amazonaws.com"},l.prototype.prepareRequest=function(){this.parsePath();var e,a=this.request,t=a.headers;a.signQuery?(this.parsedPath.query=e=this.parsedPath.query||{},this.credentials.sessionToken&&(e["X-Amz-Security-Token"]=this.credentials.sessionToken),"s3"!==this.service||e["X-Amz-Expires"]||(e["X-Amz-Expires"]=86400),e["X-Amz-Date"]?this.datetime=e["X-Amz-Date"]:e["X-Amz-Date"]=this.getDateTime(),e["X-Amz-Algorithm"]="AWS4-HMAC-SHA256",e["X-Amz-Credential"]=this.credentials.accessKeyId+"/"+this.credentialString(),e["X-Amz-SignedHeaders"]=this.signedHeaders()):(a.doNotModifyHeaders||this.isCodeCommitGit||(!a.body||t["Content-Type"]||t["content-type"]||(t["Content-Type"]="application/x-www-form-urlencoded; charset=utf-8"),!a.body||t["Content-Length"]||t["content-length"]||(t["Content-Length"]=Buffer.byteLength(a.body)),!this.credentials.sessionToken||t["X-Amz-Security-Token"]||t["x-amz-security-token"]||(t["X-Amz-Security-Token"]=this.credentials.sessionToken),"s3"!==this.service||t["X-Amz-Content-Sha256"]||t["x-amz-content-sha256"]||(t["X-Amz-Content-Sha256"]=u(this.request.body||"","hex")),t["X-Amz-Date"]||t["x-amz-date"]?this.datetime=t["X-Amz-Date"]||t["x-amz-date"]:t["X-Amz-Date"]=this.getDateTime()),delete t.Authorization,delete t.authorization)},l.prototype.sign=function(){return this.parsedPath||this.prepareRequest(),this.request.signQuery?this.parsedPath.query["X-Amz-Signature"]=this.signature():this.request.headers.Authorization=this.authHeader(),this.request.path=this.formatPath(),this.request},l.prototype.getDateTime=function(){if(!this.datetime){var e=this.request.headers,a=new Date(e.Date||e.date||new Date);this.datetime=a.toISOString().replace(/[:\-]|\.\d{3}/g,""),this.isCodeCommitGit&&(this.datetime=this.datetime.slice(0,-1))}return this.datetime},l.prototype.getDate=function(){return this.getDateTime().substr(0,8)},l.prototype.authHeader=function(){return["AWS4-HMAC-SHA256 Credential="+this.credentials.accessKeyId+"/"+this.credentialString(),"SignedHeaders="+this.signedHeaders(),"Signature="+this.signature()].join(", ")},l.prototype.signature=function(){var e,a,t,r=this.getDate(),i=[this.credentials.secretAccessKey,r,this.region,this.service].join(),o=s.get(i);return o||(e=c("AWS4"+this.credentials.secretAccessKey,r),a=c(e,this.region),t=c(a,this.service),o=c(t,"aws4_request"),s.set(i,o)),c(o,this.stringToSign(),"hex")},l.prototype.stringToSign=function(){return["AWS4-HMAC-SHA256",this.getDateTime(),this.credentialString(),u(this.canonicalString(),"hex")].join("\n")},l.prototype.canonicalString=function(){this.parsedPath||this.prepareRequest();var e,a=this.parsedPath.path,t=this.parsedPath.query,r=this.request.headers,i="",n="s3"!==this.service,s="s3"===this.service||this.request.doNotEncodePath,c="s3"===this.service,l="s3"===this.service;return e="s3"===this.service&&this.request.signQuery?"UNSIGNED-PAYLOAD":this.isCodeCommitGit?"":r["X-Amz-Content-Sha256"]||r["x-amz-content-sha256"]||u(this.request.body||"","hex"),t&&(i=p(o.stringify(Object.keys(t).sort().reduce((function(e,a){return a?(e[a]=Array.isArray(t[a])?l?t[a][0]:t[a].slice().sort():t[a],e):e}),{})))),"/"!==a&&(n&&(a=a.replace(/\/{2,}/g,"/")),"/"!==(a=a.split("/").reduce((function(e,a){return n&&".."===a?e.pop():n&&"."===a||(s&&(a=decodeURIComponent(a)),e.push(p(encodeURIComponent(a)))),e}),[]).join("/"))[0]&&(a="/"+a),c&&(a=a.replace(/%2F/g,"/"))),[this.request.method||"GET",a,i,this.canonicalHeaders()+"\n",this.signedHeaders(),e].join("\n")},l.prototype.canonicalHeaders=function(){var e=this.request.headers;return Object.keys(e).sort((function(e,a){return e.toLowerCase()=0&&(t=o.parse(e.slice(a+1)),e=e.slice(0,a)),/[^0-9A-Za-z!'()*\-._~%/]/.test(e)&&(e=e.split("/").map((function(e){return encodeURIComponent(decodeURIComponent(e))})).join("/")),this.parsedPath={path:e,query:t}},l.prototype.formatPath=function(){var e=this.parsedPath.path,a=this.parsedPath.query;return a?(null!=a[""]&&delete a[""],e+"?"+p(o.stringify(a))):e},r.RequestSigner=l,r.sign=function(e,a){return new l(e,a).sign()}},function(e,a){function t(e){this.capacity=0|e,this.map=Object.create(null),this.list=new r}function r(){this.firstNode=null,this.lastNode=null}function i(e,a){this.key=e,this.val=a,this.prev=null,this.next=null}e.exports=function(e){return new t(e)},t.prototype.get=function(e){var a=this.map[e];if(null!=a)return this.used(a),a.val},t.prototype.set=function(e,a){var t=this.map[e];if(null!=t)t.val=a;else{if(this.capacity||this.prune(),!this.capacity)return!1;t=new i(e,a),this.map[e]=t,this.capacity--}return this.used(t),!0},t.prototype.used=function(e){this.list.moveToFront(e)},t.prototype.prune=function(){var e=this.list.pop();null!=e&&(delete this.map[e.key],this.capacity++)},r.prototype.moveToFront=function(e){this.firstNode!=e&&(this.remove(e),null==this.firstNode?(this.firstNode=e,this.lastNode=e,e.prev=null,e.next=null):(e.prev=null,e.next=this.firstNode,e.next.prev=e,this.firstNode=e))},r.prototype.pop=function(){var e=this.lastNode;return null!=e&&this.remove(e),e},r.prototype.remove=function(e){this.firstNode==e?this.firstNode=e.next:null!=e.prev&&(e.prev.next=e.next),this.lastNode==e?this.lastNode=e.prev:null!=e.next&&(e.next.prev=e.prev)}},function(e,a,t){var r=t(137),i=t(145),o=t(150),n=t(34);e.exports={parse:r.parseRequest,parseRequest:r.parseRequest,sign:i.signRequest,signRequest:i.signRequest,createSigner:i.createSigner,isSigner:i.isSigner,sshKeyToPEM:n.sshKeyToPEM,sshKeyFingerprint:n.fingerprint,pemToRsaSSHKey:n.pemToRsaSSHKey,verify:o.verifySignature,verifySignature:o.verifySignature,verifyHMAC:o.verifyHMAC}},function(e,a,t){var r=t(0),i=t(1),o=t(34),n=(o.HASH_ALGOS,o.PK_ALGOS,o.HttpSignatureError),s=o.InvalidAlgorithmError,c=o.validateAlgorithm,u=0,p=1,l=0,m=1,h=2,d=3;function f(e){n.call(this,e,f)}function g(e){n.call(this,e,g)}function v(e){n.call(this,e,v)}function y(e){n.call(this,e,y)}function b(e){n.call(this,e,b)}i.inherits(f,n),i.inherits(g,n),i.inherits(v,n),i.inherits(y,n),i.inherits(b,n),e.exports={parseRequest:function(e,a){r.object(e,"request"),r.object(e.headers,"request.headers"),void 0===a&&(a={}),void 0===a.headers&&(a.headers=[e.headers["x-date"]?"x-date":"date"]),r.object(a,"options"),r.arrayOfString(a.headers,"options.headers"),r.optionalFinite(a.clockSkew,"options.clockSkew");var t=a.authorizationHeaderName||"authorization";if(!e.headers[t])throw new y("no "+t+" header present in the request");a.clockSkew=a.clockSkew||300;var i,o=0,n=u,k=l,x="",w="",j={scheme:"",params:{},signingString:""},S=e.headers[t];for(o=0;o=65&&F<=90||F>=97&&F<=122)x+=E;else{if("="!==E)throw new g("bad param format");if(0===x.length)throw new g("bad param format");k=m}break;case m:if('"'!==E)throw new g("bad param format");w="",k=h;break;case h:'"'===E?(j.params[x]=w,k=d):w+=E;break;case d:if(","!==E)throw new g("bad param format");x="",k=l;break;default:throw new Error("Invalid substate")}break;default:throw new Error("Invalid substate")}}if(j.params.headers&&""!==j.params.headers?j.params.headers=j.params.headers.split(" "):e.headers["x-date"]?j.params.headers=["x-date"]:j.params.headers=["date"],!j.scheme||"Signature"!==j.scheme)throw new g('scheme was not "Signature"');if(!j.params.keyId)throw new g("keyId was not specified");if(!j.params.algorithm)throw new g("algorithm was not specified");if(!j.params.signature)throw new g("signature was not specified");j.params.algorithm=j.params.algorithm.toLowerCase();try{c(j.params.algorithm)}catch(e){throw e instanceof s?new v(j.params.algorithm+" is not supported"):e}for(o=0;o1e3*a.clockSkew)throw new f("clock skew of "+A/1e3+"s was greater than "+a.clockSkew+"s")}if(a.headers.forEach((function(e){if(j.params.headers.indexOf(e.toLowerCase())<0)throw new y(e+" was not a signed header")})),a.algorithms&&-1===a.algorithms.indexOf(j.params.algorithm))throw new v(j.params.algorithm+" is not a supported algorithm");return j.algorithm=j.params.algorithm.toUpperCase(),j.keyId=j.params.keyId,j}}},function(e,a,t){var r=t(45),i=t(46),o=t(139),n=t(140);for(var s in e.exports={Reader:o,Writer:n},i)i.hasOwnProperty(s)&&(e.exports[s]=i[s]);for(var c in r)r.hasOwnProperty(c)&&(e.exports[c]=r[c])},function(e,a,t){var r=t(23),i=t(2).Buffer,o=t(46),n=t(45).newInvalidAsn1Error;function s(e){if(!e||!i.isBuffer(e))throw new TypeError("data must be a node Buffer");this._buf=e,this._size=e.length,this._len=0,this._offset=0}Object.defineProperty(s.prototype,"length",{enumerable:!0,get:function(){return this._len}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){return this._offset}}),Object.defineProperty(s.prototype,"remain",{get:function(){return this._size-this._offset}}),Object.defineProperty(s.prototype,"buffer",{get:function(){return this._buf.slice(this._offset)}}),s.prototype.readByte=function(e){if(this._size-this._offset<1)return null;var a=255&this._buf[this._offset];return e||(this._offset+=1),a},s.prototype.peek=function(){return this.readByte(!0)},s.prototype.readLength=function(e){if(void 0===e&&(e=this._offset),e>=this._size)return null;var a=255&this._buf[e++];if(null===a)return null;if(128==(128&a)){if(0===(a&=127))throw n("Indefinite length not supported");if(a>4)throw n("encoding too long");if(this._size-ethis._size-r)return null;if(this._offset=r,0===this.length)return a?i.alloc(0):"";var s=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,a?s:s.toString("utf8")},s.prototype.readOID=function(e){e||(e=o.OID);var a=this.readString(e,!0);if(null===a)return null;for(var t=[],r=0,i=0;i>0),t.join(".")},s.prototype._readTag=function(e){r.ok(void 0!==e);var a=this.peek();if(null===a)return null;if(a!==e)throw n("Expected 0x"+e.toString(16)+": got 0x"+a.toString(16));var t=this.readLength(this._offset+1);if(null===t)return null;if(this.length>4)throw n("Integer too long: "+this.length);if(this.length>this._size-t)return null;this._offset=t;for(var i=this._buf[this._offset],o=0,s=0;s>0},e.exports=s},function(e,a,t){var r=t(23),i=t(2).Buffer,o=t(46),n=t(45).newInvalidAsn1Error,s={size:1024,growthFactor:8};function c(e){var a,t;a=s,t=e||{},r.ok(a),r.equal(typeof a,"object"),r.ok(t),r.equal(typeof t,"object"),Object.getOwnPropertyNames(a).forEach((function(e){if(!t[e]){var r=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(t,e,r)}})),e=t,this._buf=i.alloc(e.size||1024),this._size=this._buf.length,this._offset=0,this._options=e,this._seq=[]}Object.defineProperty(c.prototype,"buffer",{get:function(){if(this._seq.length)throw n(this._seq.length+" unended sequence(s)");return this._buf.slice(0,this._offset)}}),c.prototype.writeByte=function(e){if("number"!=typeof e)throw new TypeError("argument must be a Number");this._ensure(1),this._buf[this._offset++]=e},c.prototype.writeInt=function(e,a){if("number"!=typeof e)throw new TypeError("argument must be a Number");"number"!=typeof a&&(a=o.Integer);for(var t=4;(0==(4286578688&e)||-8388608==(4286578688&e))&&t>1;)t--,e<<=8;if(t>4)throw n("BER ints cannot be > 0xffffffff");for(this._ensure(2+t),this._buf[this._offset++]=a,this._buf[this._offset++]=t;t-- >0;)this._buf[this._offset++]=(4278190080&e)>>>24,e<<=8},c.prototype.writeNull=function(){this.writeByte(o.Null),this.writeByte(0)},c.prototype.writeEnumeration=function(e,a){if("number"!=typeof e)throw new TypeError("argument must be a Number");return"number"!=typeof a&&(a=o.Enumeration),this.writeInt(e,a)},c.prototype.writeBoolean=function(e,a){if("boolean"!=typeof e)throw new TypeError("argument must be a Boolean");"number"!=typeof a&&(a=o.Boolean),this._ensure(3),this._buf[this._offset++]=a,this._buf[this._offset++]=1,this._buf[this._offset++]=e?255:0},c.prototype.writeString=function(e,a){if("string"!=typeof e)throw new TypeError("argument must be a string (was: "+typeof e+")");"number"!=typeof a&&(a=o.OctetString);var t=i.byteLength(e);this.writeByte(a),this.writeLength(t),t&&(this._ensure(t),this._buf.write(e,this._offset),this._offset+=t)},c.prototype.writeBuffer=function(e,a){if("number"!=typeof a)throw new TypeError("tag must be a number");if(!i.isBuffer(e))throw new TypeError("argument must be a buffer");this.writeByte(a),this.writeLength(e.length),this._ensure(e.length),e.copy(this._buf,this._offset,0,e.length),this._offset+=e.length},c.prototype.writeStringArray=function(e){if(!e instanceof Array)throw new TypeError("argument must be an Array[String]");var a=this;e.forEach((function(e){a.writeString(e)}))},c.prototype.writeOID=function(e,a){if("string"!=typeof e)throw new TypeError("argument must be a string");if("number"!=typeof a&&(a=o.OID),!/^([0-9]+\.){3,}[0-9]+$/.test(e))throw new Error("argument is not a valid OID string");var t=e.split("."),r=[];r.push(40*parseInt(t[0],10)+parseInt(t[1],10)),t.slice(2).forEach((function(e){!function(e,a){a<128?e.push(a):a<16384?(e.push(a>>>7|128),e.push(127&a)):a<2097152?(e.push(a>>>14|128),e.push(255&(a>>>7|128)),e.push(127&a)):a<268435456?(e.push(a>>>21|128),e.push(255&(a>>>14|128)),e.push(255&(a>>>7|128)),e.push(127&a)):(e.push(255&(a>>>28|128)),e.push(255&(a>>>21|128)),e.push(255&(a>>>14|128)),e.push(255&(a>>>7|128)),e.push(127&a))}(r,parseInt(e,10))}));var i=this;this._ensure(2+r.length),this.writeByte(a),this.writeLength(r.length),r.forEach((function(e){i.writeByte(e)}))},c.prototype.writeLength=function(e){if("number"!=typeof e)throw new TypeError("argument must be a Number");if(this._ensure(4),e<=127)this._buf[this._offset++]=e;else if(e<=255)this._buf[this._offset++]=129,this._buf[this._offset++]=e;else if(e<=65535)this._buf[this._offset++]=130,this._buf[this._offset++]=e>>8,this._buf[this._offset++]=e;else{if(!(e<=16777215))throw n("Length too long (> 4 bytes)");this._buf[this._offset++]=131,this._buf[this._offset++]=e>>16,this._buf[this._offset++]=e>>8,this._buf[this._offset++]=e}},c.prototype.startSequence=function(e){"number"!=typeof e&&(e=o.Sequence|o.Constructor),this.writeByte(e),this._seq.push(this._offset),this._ensure(3),this._offset+=3},c.prototype.endSequence=function(){var e=this._seq.pop(),a=e+3,t=this._offset-a;if(t<=127)this._shift(a,t,-2),this._buf[e]=t;else if(t<=255)this._shift(a,t,-1),this._buf[e]=129,this._buf[e+1]=t;else if(t<=65535)this._buf[e]=130,this._buf[e+1]=t>>8,this._buf[e+2]=t;else{if(!(t<=16777215))throw n("Sequence too long");this._shift(a,t,1),this._buf[e]=131,this._buf[e+1]=t>>16,this._buf[e+2]=t>>8,this._buf[e+3]=t}},c.prototype._shift=function(e,a,t){r.ok(void 0!==e),r.ok(void 0!==a),r.ok(t),this._buf.copy(this._buf,e+t,e,e+a),this._offset+=t},c.prototype._ensure=function(e){if(r.ok(e),this._size-this._offset=a?e:n("0"+e,a)}a.ECCurves=t(142),a.ECKey=function(e,a,t){var s,c=e(),u=c.getN(),p=Math.floor(u.bitLength()/8);if(a)if(t){e=c.getCurve();this.P=e.decodePointHex(a.toString("hex"))}else{if(a.length!=p)return!1;s=new i(a.toString("hex"),16)}else{var l=u.subtract(i.ONE),m=new i(r.randomBytes(u.bitLength()));s=m.mod(l).add(i.ONE),this.P=c.getG().multiply(s)}this.P&&(this.PublicKey=o.from(c.getCurve().encodeCompressedPointHex(this.P),"hex")),s&&(this.PrivateKey=o.from(n(s.toString(16),2*p),"hex"),this.deriveSharedSecret=function(e){if(!e||!e.P)return!1;var a=e.P.multiply(s);return o.from(n(a.getX().toBigInteger().toString(16),2*p),"hex")})}},function(e,a,t){var r=t(25).BigInteger,i=t(35).ECCurveFp;function o(e,a,t,r){this.curve=e,this.g=a,this.n=t,this.h=r}function n(e){return new r(e,16)}function s(){var e=n("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF"),a=n("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC"),t=n("E87579C11079F43DD824993C2CEE5ED3"),s=n("FFFFFFFE0000000075A30D1B9038A115"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("04161FF7528B899B2D0C28607CA52C5B86CF5AC8395BAFEB13C02DA292DDED7A83");return new o(u,p,s,c)}function c(){var e=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"),a=r.ZERO,t=n("7"),s=n("0100000000000000000001B8FA16DFAB9ACA16B6B3"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("043B4C382CE37AA192A4019E763036F4F5DD4D7EBB938CF935318FDCED6BC28286531733C3F03C4FEE");return new o(u,p,s,c)}function u(){var e=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF"),a=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC"),t=n("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45"),s=n("0100000000000000000001F4C8F927AED3CA752257"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("044A96B5688EF573284664698968C38BB913CBFC8223A628553168947D59DCC912042351377AC5FB32");return new o(u,p,s,c)}function p(){var e=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37"),a=r.ZERO,t=n("3"),s=n("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("04DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D");return new o(u,p,s,c)}function l(){var e=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF"),a=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC"),t=n("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1"),s=n("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("04188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF101207192B95FFC8DA78631011ED6B24CDD573F977A11E794811");return new o(u,p,s,c)}function m(){var e=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001"),a=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE"),t=n("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4"),s=n("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("04B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34");return new o(u,p,s,c)}function h(){var e=n("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"),a=n("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC"),t=n("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B"),s=n("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"),c=r.ONE,u=new i(e,a,t),p=u.decodePointHex("046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5");return new o(u,p,s,c)}o.prototype.getCurve=function(){return this.curve},o.prototype.getG=function(){return this.g},o.prototype.getN=function(){return this.n},o.prototype.getH=function(){return this.h},e.exports={secp128r1:s,secp160k1:c,secp160r1:u,secp192k1:p,secp192r1:l,secp224r1:m,secp256r1:h}},function(e,a,t){e.exports={read:function(e,a){n.isBuffer(e)&&(e=e.toString("ascii"));var t=e.trim().split(/[ \t\n]+/g);if(t.length<2||t.length>3)throw new Error("Not a valid SSH certificate line");var r=t[0],i=t[1];return g(i=n.from(i,"base64"),r)},verify:function(e,a){return!1},sign:function(e,a){void 0===e.signatures.openssh&&(e.signatures.openssh={});try{var t=b(e,!0)}catch(a){return delete e.signatures.openssh,!1}var r=e.signatures.openssh,i=void 0;"rsa"!==a.type&&"dsa"!==a.type||(i="sha1");var o=a.createSign(i);return o.write(t),r.signature=o.sign(),!0},signAsync:function(e,a,t){void 0===e.signatures.openssh&&(e.signatures.openssh={});try{var r=b(e,!0)}catch(a){return delete e.signatures.openssh,void t(a)}var i=e.signatures.openssh;a(r,(function(e,a){if(e)t(e);else{try{a.toBuffer("ssh")}catch(e){return void t(e)}i.signature=a,t()}}))},write:function(e,a){void 0===a&&(a={});var t=b(e),r=k(e.subjectKey)+" "+t.toString("base64");a.comment&&(r=r+" "+a.comment);return r},fromBuffer:g,toBuffer:b};var r=t(0),i=t(27),o=t(3),n=t(2).Buffer,s=t(8),c=t(5),u=(t(7),t(30)),p=t(17),l=t(12),m=t(6),h=t(29);var d={user:1,host:2};Object.keys(d).forEach((function(e){d[d[e]]=e}));var f=/^ecdsa-sha2-([^@-]+)-cert-v01@openssh.com$/;function g(e,a,t){var o=new i({buffer:e}),n=o.readString();if(void 0!==a&&n!==a)throw new Error("SSH certificate algorithm mismatch");void 0===a&&(a=n);var g={signatures:{}};g.signatures.openssh={},g.signatures.openssh.nonce=o.readBuffer();var y={},b=y.parts=[];y.type=function(e){if("ssh-rsa-cert-v01@openssh.com"===e)return"rsa";if("ssh-dss-cert-v01@openssh.com"===e)return"dsa";if(e.match(f))return"ecdsa";if("ssh-ed25519-cert-v01@openssh.com"===e)return"ed25519";throw new Error("Unsupported cert type "+e)}(a);for(var k=s.info[y.type].parts.length;b.length=1,"key must have at least one part");var x=s.info[y.type];if("ecdsa"===y.type){var w=f.exec(a);r.ok(null!==w),r.strictEqual(w[1],b[0].data.toString())}for(var j=0;j0;)n=s[--u].match(/[-]+[ ]*END CERTIFICATE[ ]*[-]+/);i.ok(n,"invalid PEM footer"),s=s.slice(c,u+1);var p={};for(;s=s.slice(1),t=s[0].match(/^([A-Za-z0-9-]+): (.+)$/);)p[t[1].toLowerCase()]=t[2];return s=s.slice(0,-1).join(""),e=o.from(s,"base64"),r.read(e,a)},verify:r.verify,sign:r.sign,write:function(e,a){var t=r.write(e,a),i=t.toString("base64"),n=i.length+i.length/64+18+16+2*"CERTIFICATE".length+10,s=o.alloc(n),c=0;c+=s.write("-----BEGIN CERTIFICATE-----\n",c);for(var u=0;ui.length&&(p=i.length),c+=s.write(i.slice(u,p),c),s[c++]=10,u=p}return c+=s.write("-----END CERTIFICATE-----\n",c),s.slice(0,c)}};var i=t(0),o=(t(13),t(2).Buffer);t(8),t(6),t(5),t(7),t(16),t(30),t(12),t(29)},function(e,a,t){var r=t(0),i=t(3),o=(t(22),t(1)),n=t(44),s=t(146),c=t(34),u=t(1).format,p=c.HASH_ALGOS,l=c.PK_ALGOS,m=c.InvalidAlgorithmError,h=c.HttpSignatureError,d=c.validateAlgorithm,f='Signature keyId="%s",algorithm="%s",headers="%s",signature="%s"';function g(e){h.call(this,e,g)}function v(e){h.call(this,e,v)}function y(e){r.object(e,"options");var a=[];if(void 0!==e.algorithm&&(r.string(e.algorithm,"options.algorithm"),a=d(e.algorithm)),this.rs_alg=a,void 0!==e.sign)r.func(e.sign,"options.sign"),this.rs_signFunc=e.sign;else if("hmac"===a[0]&&void 0!==e.key){if(r.string(e.keyId,"options.keyId"),this.rs_keyId=e.keyId,"string"!=typeof e.key&&!Buffer.isBuffer(e.key))throw new TypeError("options.key for HMAC must be a string or Buffer");this.rs_signer=i.createHmac(a[1].toUpperCase(),e.key),this.rs_signer.sign=function(){var e=this.digest("base64");return{hashAlgorithm:a[1],toString:function(){return e}}}}else{if(void 0===e.key)throw new TypeError("options.sign (func) or options.key is required");var t=e.key;if(("string"==typeof t||Buffer.isBuffer(t))&&(t=n.parsePrivateKey(t)),r.ok(n.PrivateKey.isPrivateKey(t,[1,2]),"options.key must be a sshpk.PrivateKey"),this.rs_key=t,r.string(e.keyId,"options.keyId"),this.rs_keyId=e.keyId,!l[t.type])throw new m(t.type.toUpperCase()+" type keys are not supported");if(void 0!==a[0]&&t.type!==a[0])throw new m("options.key must be a "+a[0].toUpperCase()+" key, was given a "+t.type.toUpperCase()+" key instead");this.rs_signer=t.createSign(a[1])}this.rs_headers=[],this.rs_lines=[]}o.inherits(g,h),o.inherits(v,h),y.prototype.writeHeader=function(e,a){if(r.string(e,"header"),e=e.toLowerCase(),r.string(a,"value"),this.rs_headers.push(e),this.rs_signFunc)this.rs_lines.push(e+": "+a);else{var t=e+": "+a;this.rs_headers.length>0&&(t="\n"+t),this.rs_signer.update(t)}return a},y.prototype.writeDateHeader=function(){return this.writeHeader("date",s.rfc1123(new Date))},y.prototype.writeTarget=function(e,a){r.string(e,"method"),r.string(a,"path"),e=e.toLowerCase(),this.writeHeader("(request-target)",e+" "+a)},y.prototype.sign=function(e){if(r.func(e,"callback"),this.rs_headers.length<1)throw new Error("At least one header must be signed");var a,t;if(this.rs_signFunc){var i=this.rs_lines.join("\n"),o=this;this.rs_signFunc(i,(function(i,n){if(i)e(i);else{try{r.object(n,"signature"),r.string(n.keyId,"signature.keyId"),r.string(n.algorithm,"signature.algorithm"),r.string(n.signature,"signature.signature"),a=d(n.algorithm),t=u(f,n.keyId,n.algorithm,o.rs_headers.join(" "),n.signature)}catch(a){return void e(a)}e(null,t)}}))}else{try{var n=this.rs_signer.sign()}catch(a){return void e(a)}a=(this.rs_alg[0]||this.rs_key.type)+"-"+n.hashAlgorithm;var s=n.toString();t=u(f,this.rs_keyId,a,this.rs_headers.join(" "),s),e(null,t)}},e.exports={isSigner:function(e){return"object"==typeof e&&e instanceof y},createSigner:function(e){return new y(e)},signRequest:function(e,a){r.object(e,"request"),r.object(a,"options"),r.optionalString(a.algorithm,"options.algorithm"),r.string(a.keyId,"options.keyId"),r.optionalArrayOfString(a.headers,"options.headers"),r.optionalString(a.httpVersion,"options.httpVersion"),e.getHeader("Date")||e.setHeader("Date",s.rfc1123(new Date)),a.headers||(a.headers=["date"]),a.httpVersion||(a.httpVersion="1.1");var t,o=[];a.algorithm&&(a.algorithm=a.algorithm.toLowerCase(),o=d(a.algorithm));var c,h="";for(t=0;t=0);var i,o=[];for(i in a)e(a[i],t-1).forEach((function(e){o.push([i].concat(e))}));return o},a.flattenIter=function(e,a,t){!function e(a,t,i,o){var n,s;if(0===t)return(n=i.slice(0)).push(a),void o(n);for(s in r.ok(null!==a),r.equal(typeof a,"object"),r.equal(typeof t,"number"),r.ok(t>=0),a)(n=i.slice(0)).push(s),e(a[s],t-1,n,o)}(e,a,[],t)},a.validateJsonObject=f,a.validateJsonObjectJS=f,a.randElt=function(e){return r.ok(Array.isArray(e)&&e.length>0,"randElt argument must be a non-empty array"),e[Math.floor(Math.random()*e.length)]},a.extraProperties=function(e,a){r.ok("object"==typeof e&&null!==e,"obj argument must be a non-null object"),r.ok(Array.isArray(a),"allowed argument must be an array of strings");for(var t=0;t=2,"options.base >= 2"),r.ok(o.base<=36,"options.base <= 36"),r.bool(o.allowSign,"options.allowSign"),r.bool(o.allowPrefix,"options.allowPrefix"),r.bool(o.allowTrailing,"options.allowTrailing"),r.bool(o.allowImprecise,"options.allowImprecise"),r.bool(o.trimWhitespace,"options.trimWhitespace"),r.bool(o.leadingZeroIsOctal,"options.leadingZeroIsOctal"),o.leadingZeroIsOctal&&r.ok(!i,'"base" and "leadingZeroIsOctal" are mutually exclusive'));var n,c=-1,u=o.base,f=1,g=0,v=0,y=e.length;if(o.trimWhitespace)for(;vp||k=48&&e<=57?e-48:e>=65&&e<=90?e-55:e>=97&&e<=122?e-87:-1}function d(e){return 32===e||e>=9&&e<=13||160===e||5760===e||6158===e||e>=8192&&e<=8202||8232===e||8233===e||8239===e||8287===e||12288===e||65279===e}function f(e,a){var t=n.validate(a,e);if(0===t.errors.length)return null;var r,i,s=t.errors[0],c=s.property,u=s.message.toLowerCase();-1!=(r=u.indexOf("the property "))&&-1!=(i=u.indexOf(" is not defined in the schema and the schema does not allow additional properties"))&&(r+="the property ".length,c=""===c?u.substr(r,i-r):c+"."+u.substr(r,i-r),u="unsupported property");var p=new o.VError('property "%s": %s',c,u);return p.jsv_details=s,p}function g(e){r.ok(e[0]>=0&&e[1]>=0,"negative numbers not allowed in hrtimes"),r.ok(e[1]<1e9,"nanoseconds column overflow")}function v(e,a){g(e),g(a),r.ok(e[0]>a[0]||e[0]==a[0]&&e[1]>=a[1],"negative differences not allowed");var t=[e[0]-a[0],0];return e[1]>=a[1]?t[1]=e[1]-a[1]:(t[0]--,t[1]=1e9-(a[1]-e[1])),t}function y(e,a){return g(e),g(a),e[1]+=a[1],e[1]>=1e9&&(e[0]++,e[1]-=1e9),e[0]+=a[0],e}function b(e,a,t){var r,i;if(r={},t)for(i in t)r[i]=t[i];if(e)for(i in e)r[i]=e[i];if(a)for(i in a)r[i]=a[i];return r}},function(e,a,t){var r=t(0),i=t(1),o=t(83),n=t(148).isError,s=o.sprintf;function c(e){var a,t,i,o;if(r.object(e,"args"),r.bool(e.strict,"args.strict"),r.array(e.argv,"args.argv"),0===(a=e.argv).length)t={},i=[];else if(n(a[0]))t={cause:a[0]},i=a.slice(1);else if("object"==typeof a[0]){for(o in t={},a[0])t[o]=a[0][o];i=a.slice(1)}else r.string(a[0],"first argument to VError, SError, or WError constructor must be a string, object, or Error"),t={},i=a;return r.object(t),t.strict||e.strict||(i=i.map((function(e){return null===e?"null":void 0===e?"undefined":e}))),{options:t,shortmessage:0===i.length?"":s.apply(null,i)}}function u(){var e,a,t,i,o,s,p;if(e=Array.prototype.slice.call(arguments,0),!(this instanceof u))return a=Object.create(u.prototype),u.apply(a,arguments),a;if((t=c({argv:e,strict:!1})).options.name&&(r.string(t.options.name,'error\'s "name" must be a string'),this.name=t.options.name),this.jse_shortmsg=t.shortmessage,s=t.shortmessage,(i=t.options.cause)&&(r.ok(n(i),"cause is not an Error"),this.jse_cause=i,t.options.skipCauseMessage||(s+=": "+i.message)),this.jse_info={},t.options.info)for(p in t.options.info)this.jse_info[p]=t.options.info[p];return this.message=s,Error.call(this,s),Error.captureStackTrace&&(o=t.options.constructorOpt||this.constructor,Error.captureStackTrace(this,o)),this}function p(){var e,a,t,r;return e=Array.prototype.slice.call(arguments,0),this instanceof p?(r=(t=c({argv:e,strict:!0})).options,u.call(this,r,"%s",t.shortmessage),this):(a=Object.create(p.prototype),p.apply(a,arguments),a)}function l(e){r.array(e,"list of errors"),r.ok(e.length>0,"must be at least one error"),this.ase_errors=e,u.call(this,{cause:e[0]},"first of %d error%s",e.length,1==e.length?"":"s")}function m(){var e,a,t,r;return e=Array.prototype.slice.call(arguments,0),this instanceof m?((r=(t=c({argv:e,strict:!1})).options).skipCauseMessage=!0,u.call(this,r,"%s",t.shortmessage),this):(a=Object.create(m.prototype),m.apply(a,e),a)}e.exports=u,u.VError=u,u.SError=p,u.WError=m,u.MultiError=l,i.inherits(u,Error),u.prototype.name="VError",u.prototype.toString=function(){var e=this.hasOwnProperty("name")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e+=": "+this.message),e},u.prototype.cause=function(){var e=u.cause(this);return null===e?void 0:e},u.cause=function(e){return r.ok(n(e),"err must be an Error"),n(e.jse_cause)?e.jse_cause:null},u.info=function(e){var a,t,i;if(r.ok(n(e),"err must be an Error"),a=null!==(t=u.cause(e))?u.info(t):{},"object"==typeof e.jse_info&&null!==e.jse_info)for(i in e.jse_info)a[i]=e.jse_info[i];return a},u.findCauseByName=function(e,a){var t;for(r.ok(n(e),"err must be an Error"),r.string(a,"name"),r.ok(a.length>0,"name cannot be empty"),t=e;null!==t;t=u.cause(t))if(r.ok(n(t)),t.name==a)return t;return null},u.hasCauseWithName=function(e,a){return null!==u.findCauseByName(e,a)},u.fullStack=function(e){r.ok(n(e),"err must be an Error");var a=u.cause(e);return a?e.stack+"\ncaused by: "+u.fullStack(a):e.stack},u.errorFromList=function(e){return r.arrayOfObject(e,"errors"),0===e.length?null:(e.forEach((function(e){r.ok(n(e))})),1==e.length?e[0]:new l(e))},u.errorForEach=function(e,a){r.ok(n(e),"err must be an Error"),r.func(a,"func"),e instanceof l?e.errors().forEach((function(e){a(e)})):a(e)},i.inherits(p,u),i.inherits(l,u),l.prototype.name="MultiError",l.prototype.errors=function(){return this.ase_errors.slice(0)},i.inherits(m,u),m.prototype.name="WError",m.prototype.toString=function(){var e=this.hasOwnProperty("name")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e+=": "+this.message),this.jse_cause&&this.jse_cause.message&&(e+="; caused by "+this.jse_cause.toString()),e},m.prototype.cause=function(e){return n(e)&&(this.jse_cause=e),this.jse_cause}},function(e,a){function t(e){return Object.prototype.toString.call(e)}a.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===t(e)},a.isBoolean=function(e){return"boolean"==typeof e},a.isNull=function(e){return null===e},a.isNullOrUndefined=function(e){return null==e},a.isNumber=function(e){return"number"==typeof e},a.isString=function(e){return"string"==typeof e},a.isSymbol=function(e){return"symbol"==typeof e},a.isUndefined=function(e){return void 0===e},a.isRegExp=function(e){return"[object RegExp]"===t(e)},a.isObject=function(e){return"object"==typeof e&&null!==e},a.isDate=function(e){return"[object Date]"===t(e)},a.isError=function(e){return"[object Error]"===t(e)||e instanceof Error},a.isFunction=function(e){return"function"==typeof e},a.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},a.isBuffer=Buffer.isBuffer},function(e,a,t){var r;void 0===(r=function(){return function(){var e=t;e.Integer={type:"integer"};var a={String:String,Boolean:Boolean,Number:Number,Object:Object,Array:Array,Date:Date};function t(e,a){return t(e,a,{changing:!1})}e.validate=t,e.checkPropertyChange=function(e,a,r){return t(e,a,{changing:r||"property"})};var t=e._validate=function(e,t,r){r||(r={});var i=r.changing;function o(e){return e.type||a[e.name]==e&&e.name.toLowerCase()}var n=[];function s(e,a,t,c){var u;function p(e){n.push({property:t,message:e})}if(t+=t?"number"==typeof c?"["+c+"]":void 0===c?"":"."+c:c,("object"!=typeof a||a instanceof Array)&&(t||"function"!=typeof a)&&(!a||!o(a)))return"function"==typeof a?e instanceof a||p("is not an instance of the class/constructor "+a.name):a&&p("Invalid schema/property definition "+a),null;function l(e,a){if(e){if(!("string"!=typeof e||"any"==e||("null"==e?null===a:typeof a==e)||a instanceof Array&&"array"==e||a instanceof Date&&"date"==e||"integer"==e&&a%1==0))return[{property:t,message:a+" - "+typeof a+" value found, but a "+e+" is required"}];if(e instanceof Array){for(var r=[],i=0;ia.maxItems&&p("There must be a maximum of "+a.maxItems+" in the array")}else(a.properties||a.additionalProperties)&&n.concat(function(e,a,t,o){if("object"==typeof a)for(var c in("object"!=typeof e||e instanceof Array)&&n.push({property:t,message:"an object is required"}),a)if(a.hasOwnProperty(c)&&"__proto__"!=c&&"constructor"!=c){var u=e.hasOwnProperty(c)?e[c]:void 0;if(void 0===u&&r.existingOnly)continue;var p=a[c];void 0===u&&p.default&&(u=e[c]=p.default),r.coerce&&c in e&&(u=e[c]=r.coerce(u,p)),s(u,p,t,c)}for(c in e){if(e.hasOwnProperty(c)&&("_"!=c.charAt(0)||"_"!=c.charAt(1))&&a&&!a[c]&&!1===o){if(r.filter){delete e[c];continue}n.push({property:t,message:"The property "+c+" is not defined in the schema and the schema does not allow additional properties"})}var l=a&&a[c]&&a[c].requires;l&&!(l in e)&&n.push({property:t,message:"the presence of the property "+c+" requires that "+l+" also be present"}),u=e[c],!o||a&&"object"==typeof a&&c in a||(r.coerce&&(u=e[c]=r.coerce(u,o)),s(u,o,t,c)),!i&&u&&u.$schema&&(n=n.concat(s(u,u.$schema,t,c)))}return n}(e,a.properties,t,a.additionalProperties));if(a.pattern&&"string"==typeof e&&!e.match(a.pattern)&&p("does not match the regex pattern "+a.pattern),a.maxLength&&"string"==typeof e&&e.length>a.maxLength&&p("may only be "+a.maxLength+" characters long"),a.minLength&&"string"==typeof e&&e.lengthe&&p("must have a minimum value of "+a.minimum),void 0!==a.maximum&&typeof e==typeof a.maximum&&a.maximum0&&!e.useChunkedEncodingByDefault){var o=this.freeSockets[r].pop();o.removeListener("error",o._onIdleError),delete o._onIdleError,e._reusedSocket=!0,e.onSocket(o)}else this.addRequestNoreuse(e,a,t)},u.prototype.removeSocket=function(e,a,t,r){var i;this.sockets[a]?-1!==(i=this.sockets[a].indexOf(e))&&this.sockets[a].splice(i,1):this.sockets[a]&&0===this.sockets[a].length&&(delete this.sockets[a],delete this.requests[a]);this.freeSockets[a]&&(-1!==(i=this.freeSockets[a].indexOf(e))&&(this.freeSockets[a].splice(i,1),0===this.freeSockets[a].length&&delete this.freeSockets[a]));this.requests[a]&&this.requests[a].length&&this.createSocket(a,t,r).emit("free")},r.inherits(p,u),p.prototype.createConnection=function(e,a,t){t="object"==typeof e?e:"object"==typeof a?a:"object"==typeof t?t:{};"number"==typeof e&&(t.port=e);"string"==typeof a&&(t.host=a);return n.connect(t)},p.prototype.addRequestNoreuse=s.prototype.addRequest},function(e,a,t){var r=t(86),i=t(1),o=t(18),n=t(22),s=t(33),c=t(15).parse,u=t(19),p=t(84),l=t(156),m=t(160);function h(e){if(!(this instanceof h))return new h;for(var a in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],r.call(this),e=e||{})this[a]=e[a]}e.exports=h,i.inherits(h,r),h.LINE_BREAK="\r\n",h.DEFAULT_CONTENT_TYPE="application/octet-stream",h.prototype.append=function(e,a,t){"string"==typeof(t=t||{})&&(t={filename:t});var o=r.prototype.append.bind(this);if("number"==typeof a&&(a=""+a),i.isArray(a))this._error(new Error("Arrays are not supported."));else{var n=this._multiPartHeader(e,a,t),s=this._multiPartFooter();o(n),o(a),o(s),this._trackLength(n,a,t)}},h.prototype._trackLength=function(e,a,t){var r=0;null!=t.knownLength?r+=+t.knownLength:Buffer.isBuffer(a)?r=a.length:"string"==typeof a&&(r=Buffer.byteLength(a)),this._valueLength+=r,this._overheadLength+=Buffer.byteLength(e)+h.LINE_BREAK.length,a&&(a.path||a.readable&&a.hasOwnProperty("httpVersion"))&&(t.knownLength||this._valuesToMeasure.push(a))},h.prototype._lengthRetriever=function(e,a){e.hasOwnProperty("fd")?null!=e.end&&e.end!=1/0&&null!=e.start?a(null,e.end+1-(e.start?e.start:0)):u.stat(e.path,(function(t,r){var i;t?a(t):(i=r.size-(e.start?e.start:0),a(null,i))})):e.hasOwnProperty("httpVersion")?a(null,+e.headers["content-length"]):e.hasOwnProperty("httpModule")?(e.on("response",(function(t){e.pause(),a(null,+t.headers["content-length"])})),e.resume()):a("Unknown stream")},h.prototype._multiPartHeader=function(e,a,t){if("string"==typeof t.header)return t.header;var r,i=this._getContentDisposition(a,t),o=this._getContentType(a,t),n="",s={"Content-Disposition":["form-data",'name="'+e+'"'].concat(i||[]),"Content-Type":[].concat(o||[])};for(var c in"object"==typeof t.header&&m(s,t.header),s)s.hasOwnProperty(c)&&null!=(r=s[c])&&(Array.isArray(r)||(r=[r]),r.length&&(n+=c+": "+r.join("; ")+h.LINE_BREAK));return"--"+this.getBoundary()+h.LINE_BREAK+n+h.LINE_BREAK},h.prototype._getContentDisposition=function(e,a){var t,r;return"string"==typeof a.filepath?t=o.normalize(a.filepath).replace(/\\/g,"/"):a.filename||e.name||e.path?t=o.basename(a.filename||e.name||e.path):e.readable&&e.hasOwnProperty("httpVersion")&&(t=o.basename(e.client._httpMessage.path)),t&&(r='filename="'+t+'"'),r},h.prototype._getContentType=function(e,a){var t=a.contentType;return!t&&e.name&&(t=p.lookup(e.name)),!t&&e.path&&(t=p.lookup(e.path)),!t&&e.readable&&e.hasOwnProperty("httpVersion")&&(t=e.headers["content-type"]),t||!a.filepath&&!a.filename||(t=p.lookup(a.filepath||a.filename)),t||"object"!=typeof e||(t=h.DEFAULT_CONTENT_TYPE),t},h.prototype._multiPartFooter=function(){return function(e){var a=h.LINE_BREAK;0===this._streams.length&&(a+=this._lastBoundary()),e(a)}.bind(this)},h.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+h.LINE_BREAK},h.prototype.getHeaders=function(e){var a,t={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(a in e)e.hasOwnProperty(a)&&(t[a.toLowerCase()]=e[a]);return t},h.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},h.prototype._generateBoundary=function(){for(var e="--------------------------",a=0;a<24;a++)e+=Math.floor(10*Math.random()).toString(16);this._boundary=e},h.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),e},h.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e},h.prototype.getLength=function(e){var a=this._overheadLength+this._valueLength;this._streams.length&&(a+=this._lastBoundary().length),this._valuesToMeasure.length?l.parallel(this._valuesToMeasure,this._lengthRetriever,(function(t,r){t?e(t):(r.forEach((function(e){a+=e})),e(null,a))})):process.nextTick(e.bind(this,null,a))},h.prototype.submit=function(e,a){var t,r,i={method:"post"};return"string"==typeof e?(e=c(e),r=m({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},i)):(r=m(e,i)).port||(r.port="https:"==r.protocol?443:80),r.headers=this.getHeaders(e.headers),t="https:"==r.protocol?s.request(r):n.request(r),this.getLength(function(e,r){e?this._error(e):(t.setHeader("Content-Length",r),this.pipe(t),a&&(t.on("error",a),t.on("response",a.bind(this,null))))}.bind(this)),t},h.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit("error",e))},h.prototype.toString=function(){return"[object FormData]"}},function(e,a,t){var r=t(10).Stream,i=t(1);function o(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}e.exports=o,i.inherits(o,r),o.create=function(e,a){var t=new this;for(var r in a=a||{})t[r]=a[r];t.source=e;var i=e.emit;return e.emit=function(){return t._handleEmit(arguments),i.apply(e,arguments)},e.on("error",(function(){})),t.pauseStream&&e.pause(),t},Object.defineProperty(o.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),o.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},o.prototype.resume=function(){this._released||this.release(),this.source.resume()},o.prototype.pause=function(){this.source.pause()},o.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]},o.prototype.pipe=function(){var e=r.prototype.pipe.apply(this,arguments);return this.resume(),e},o.prototype._handleEmit=function(e){this._released?this.emit.apply(this,e):("data"===e[0]&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e))},o.prototype._checkIfMaxDataSizeExceeded=function(){if(!(this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var e="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(e))}}},function(e,a,t){e.exports={parallel:t(157),serial:t(159),serialOrdered:t(92)}},function(e,a,t){var r=t(87),i=t(90),o=t(91);e.exports=function(e,a,t){var n=i(e);for(;n.index<(n.keyedList||e).length;)r(e,a,n,(function(e,a){e?t(e,a):0!==Object.keys(n.jobs).length||t(null,n.results)})),n.index++;return o.bind(n,t)}},function(e,a){e.exports=function(e){var a="function"==typeof setImmediate?setImmediate:"object"==typeof process&&"function"==typeof process.nextTick?process.nextTick:null;a?a(e):setTimeout(e,0)}},function(e,a,t){var r=t(92);e.exports=function(e,a,t){return r(e,a,null,t)}},function(e,a){e.exports=function(e,a){return Object.keys(a).forEach((function(t){e[t]=e[t]||a[t]})),e}},function(e,a){e.exports=i,i.strict=o,i.loose=n;var t=Object.prototype.toString,r={"[object Int8Array]":!0,"[object Int16Array]":!0,"[object Int32Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Uint16Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0};function i(e){return o(e)||n(e)}function o(e){return e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array}function n(e){return r[t.call(e)]}},function(e,a,t){"use strict";function r(e){return e.replace(/^\.*/,".").toLowerCase()}function i(e){var a=(e=e.trim().toLowerCase()).split(":",2);return{hostname:r(a[0]),port:a[1],hasPort:e.indexOf(":")>-1}}e.exports=function(e){var a=process.env.NO_PROXY||process.env.no_proxy||"";return"*"===a||""!==a&&function(e,a){var t=e.port||("https:"===e.protocol?"443":"80"),o=r(e.hostname);return a.split(",").map(i).some((function(e){var a=o.indexOf(e.hostname),r=a>-1&&a===o.length-e.hostname.length;return e.hasPort?t===e.port&&r:r}))}(e,a)?null:"http:"===e.protocol?process.env.HTTP_PROXY||process.env.http_proxy||null:"https:"===e.protocol&&(process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy)||null}},function(e,a,t){"use strict";var r=t(94),i=t(43);function o(e){this.request=e,this.lib=null,this.useQuerystring=null,this.parseOptions=null,this.stringifyOptions=null}o.prototype.init=function(e){this.lib||(this.useQuerystring=e.useQuerystring,this.lib=this.useQuerystring?i:r,this.parseOptions=e.qsParseOptions||{},this.stringifyOptions=e.qsStringifyOptions||{})},o.prototype.stringify=function(e){return this.useQuerystring?this.rfc3986(this.lib.stringify(e,this.stringifyOptions.sep||null,this.stringifyOptions.eq||null,this.stringifyOptions)):this.lib.stringify(e,this.stringifyOptions)},o.prototype.parse=function(e){return this.useQuerystring?this.lib.parse(e,this.parseOptions.sep||null,this.parseOptions.eq||null,this.parseOptions):this.lib.parse(e,this.parseOptions)},o.prototype.rfc3986=function(e){return e.replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))},o.prototype.unescape=i.unescape,a.Querystring=o},function(e,a,t){"use strict";var r=t(95),i=t(96),o={brackets:function(e){return e+"[]"},indices:function(e,a){return e+"["+a+"]"},repeat:function(e){return e}},n=Date.prototype.toISOString,s={delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return n.call(e)},skipNulls:!1,strictNullHandling:!1},c=function e(a,t,i,o,n,c,u,p,l,m,h,d){var f=a;if("function"==typeof u)f=u(t,f);else if(f instanceof Date)f=m(f);else if(null===f){if(o)return c&&!d?c(t,s.encoder):t;f=""}if("string"==typeof f||"number"==typeof f||"boolean"==typeof f||r.isBuffer(f))return c?[h(d?t:c(t,s.encoder))+"="+h(c(f,s.encoder))]:[h(t)+"="+h(String(f))];var g,v=[];if(void 0===f)return v;if(Array.isArray(u))g=u;else{var y=Object.keys(f);g=p?y.sort(p):y}for(var b=0;b0?z+F:""}},function(e,a,t){"use strict";var r=t(95),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},n=function(e,a,t){if(e){var r=t.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,n=/(\[[^[\]]*])/.exec(r),s=n?r.slice(0,n.index):r,c=[];if(s){if(!t.plainObjects&&i.call(Object.prototype,s)&&!t.allowPrototypes)return;c.push(s)}for(var u=0;null!==(n=o.exec(r))&&u=0;--i){var o,n=e[i];if("[]"===n)o=(o=[]).concat(r);else{o=t.plainObjects?Object.create(null):{};var s="["===n.charAt(0)&&"]"===n.charAt(n.length-1)?n.slice(1,-1):n,c=parseInt(s,10);!isNaN(c)&&n!==s&&String(c)===s&&c>=0&&t.parseArrays&&c<=t.arrayLimit?(o=[])[c]=r:o[s]=r}r=o}return r}(c,a,t)}};e.exports=function(e,a){var t=a?r.assign({},a):{};if(null!==t.decoder&&void 0!==t.decoder&&"function"!=typeof t.decoder)throw new TypeError("Decoder has to be a function.");if(t.ignoreQueryPrefix=!0===t.ignoreQueryPrefix,t.delimiter="string"==typeof t.delimiter||r.isRegExp(t.delimiter)?t.delimiter:o.delimiter,t.depth="number"==typeof t.depth?t.depth:o.depth,t.arrayLimit="number"==typeof t.arrayLimit?t.arrayLimit:o.arrayLimit,t.parseArrays=!1!==t.parseArrays,t.decoder="function"==typeof t.decoder?t.decoder:o.decoder,t.allowDots="boolean"==typeof t.allowDots?t.allowDots:o.allowDots,t.plainObjects="boolean"==typeof t.plainObjects?t.plainObjects:o.plainObjects,t.allowPrototypes="boolean"==typeof t.allowPrototypes?t.allowPrototypes:o.allowPrototypes,t.parameterLimit="number"==typeof t.parameterLimit?t.parameterLimit:o.parameterLimit,t.strictNullHandling="boolean"==typeof t.strictNullHandling?t.strictNullHandling:o.strictNullHandling,""===e||null==e)return t.plainObjects?Object.create(null):{};for(var s="string"==typeof e?function(e,a){for(var t={},r=a.ignoreQueryPrefix?e.replace(/^\?/,""):e,n=a.parameterLimit===1/0?void 0:a.parameterLimit,s=r.split(a.delimiter,n),c=0;c=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:a,baseId:t},{index:r,compiling:!1})}function m(e,a,t){var r=h.call(this,e,a,t);r>=0&&this._compilations.splice(r,1)}function h(e,a,t){for(var r=0;r1){a[0]=a[0].slice(0,-1);for(var r=a.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,f=String.fromCharCode;function g(e){throw new RangeError(h[e])}function v(e,a){var t=e.split("@"),r="";t.length>1&&(r=t[0]+"@",e=t[1]);var i=function(e,a){for(var t=[],r=e.length;r--;)t[r]=a(e[r]);return t}((e=e.replace(m,".")).split("."),a).join(".");return r+i}function y(e){for(var a=[],t=0,r=e.length;t=55296&&i<=56319&&t>1,e+=d(e/a);e>455;r+=36)e=d(e/35);return d(r+36*e/(e+38))},x=function(e){var a,t=[],r=e.length,i=0,o=128,n=72,s=e.lastIndexOf("-");s<0&&(s=0);for(var c=0;c=128&&g("not-basic"),t.push(e.charCodeAt(c));for(var p=s>0?s+1:0;p=r&&g("invalid-input");var f=(a=e.charCodeAt(p++))-48<10?a-22:a-65<26?a-65:a-97<26?a-97:36;(f>=36||f>d((u-i)/m))&&g("overflow"),i+=f*m;var v=h<=n?1:h>=n+26?26:h-n;if(fd(u/y)&&g("overflow"),m*=y}var b=t.length+1;n=k(i-l,b,0==l),d(i/b)>u-o&&g("overflow"),o+=d(i/b),i%=b,t.splice(i++,0,o)}return String.fromCodePoint.apply(String,t)},w=function(e){var a=[],t=(e=y(e)).length,r=128,i=0,o=72,n=!0,s=!1,c=void 0;try{for(var p,l=e[Symbol.iterator]();!(n=(p=l.next()).done);n=!0){var m=p.value;m<128&&a.push(f(m))}}catch(e){s=!0,c=e}finally{try{!n&&l.return&&l.return()}finally{if(s)throw c}}var h=a.length,v=h;for(h&&a.push("-");v=r&&zd((u-i)/_)&&g("overflow"),i+=(x-r)*_,r=x;var P=!0,A=!1,q=void 0;try{for(var O,B=e[Symbol.iterator]();!(P=(O=B.next()).done);P=!0){var C=O.value;if(Cu&&g("overflow"),C==r){for(var D=i,T=36;;T+=36){var I=T<=o?1:T>=o+26?26:T-o;if(D>6|192).toString(16).toUpperCase()+"%"+(63&a|128).toString(16).toUpperCase():"%"+(a>>12|224).toString(16).toUpperCase()+"%"+(a>>6&63|128).toString(16).toUpperCase()+"%"+(63&a|128).toString(16).toUpperCase()}function z(e){for(var a="",t=0,r=e.length;t=194&&i<224){if(r-t>=6){var o=parseInt(e.substr(t+4,2),16);a+=String.fromCharCode((31&i)<<6|63&o)}else a+=e.substr(t,6);t+=6}else if(i>=224){if(r-t>=9){var n=parseInt(e.substr(t+4,2),16),s=parseInt(e.substr(t+7,2),16);a+=String.fromCharCode((15&i)<<12|(63&n)<<6|63&s)}else a+=e.substr(t,9);t+=9}else a+=e.substr(t,3),t+=3}return a}function _(e,a){function t(e){var t=z(e);return t.match(a.UNRESERVED)?t:e}return e.scheme&&(e.scheme=String(e.scheme).replace(a.PCT_ENCODED,t).toLowerCase().replace(a.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(a.PCT_ENCODED,t).replace(a.NOT_USERINFO,F).replace(a.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(a.PCT_ENCODED,t).toLowerCase().replace(a.NOT_HOST,F).replace(a.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(a.PCT_ENCODED,t).replace(e.scheme?a.NOT_PATH:a.NOT_PATH_NOSCHEME,F).replace(a.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(a.PCT_ENCODED,t).replace(a.NOT_QUERY,F).replace(a.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(a.PCT_ENCODED,t).replace(a.NOT_FRAGMENT,F).replace(a.PCT_ENCODED,i)),e}function P(e){return e.replace(/^0*(.*)/,"$1")||"0"}function A(e,a){var t=e.match(a.IPV4ADDRESS)||[],r=c(t,2)[1];return r?r.split(".").map(P).join("."):e}function q(e,a){var t=e.match(a.IPV6ADDRESS)||[],r=c(t,3),i=r[1],o=r[2];if(i){for(var n=i.toLowerCase().split("::").reverse(),s=c(n,2),u=s[0],p=s[1],l=p?p.split(":").map(P):[],m=u.split(":").map(P),h=a.IPV4ADDRESS.test(m[m.length-1]),d=h?7:8,f=m.length-d,g=Array(d),v=0;v1){var k=g.slice(0,y.index),x=g.slice(y.index+y.length);b=k.join(":")+"::"+x.join(":")}else b=g.join(":");return o&&(b+="%"+o),b}return e}var O=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,B=void 0==="".match(/(){0}/)[1];function C(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={},r=!1!==a.iri?s:n;"suffix"===a.reference&&(e=(a.scheme?a.scheme+":":"")+"//"+e);var i=e.match(O);if(i){B?(t.scheme=i[1],t.userinfo=i[3],t.host=i[4],t.port=parseInt(i[5],10),t.path=i[6]||"",t.query=i[7],t.fragment=i[8],isNaN(t.port)&&(t.port=i[5])):(t.scheme=i[1]||void 0,t.userinfo=-1!==e.indexOf("@")?i[3]:void 0,t.host=-1!==e.indexOf("//")?i[4]:void 0,t.port=parseInt(i[5],10),t.path=i[6]||"",t.query=-1!==e.indexOf("?")?i[7]:void 0,t.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),t.host&&(t.host=q(A(t.host,r),r)),void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?t.reference="relative":void 0===t.fragment?t.reference="absolute":t.reference="uri":t.reference="same-document",a.reference&&"suffix"!==a.reference&&a.reference!==t.reference&&(t.error=t.error||"URI is not a "+a.reference+" reference.");var o=E[(a.scheme||t.scheme||"").toLowerCase()];if(a.unicodeSupport||o&&o.unicodeSupport)_(t,r);else{if(t.host&&(a.domainHost||o&&o.domainHost))try{t.host=j(t.host.replace(r.PCT_ENCODED,z).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}_(t,n)}o&&o.parse&&o.parse(t,a)}else t.error=t.error||"URI can not be parsed.";return t}function D(e,a){var t=!1!==a.iri?s:n,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(q(A(String(e.host),t),t).replace(t.IPV6ADDRESS,(function(e,a,t){return"["+a+(t?"%25"+t:"")+"]"}))),"number"==typeof e.port&&(r.push(":"),r.push(e.port.toString(10))),r.length?r.join(""):void 0}var T=/^\.\.?\//,I=/^\/\.(\/|$)/,R=/^\/\.\.(\/|$)/,N=/^\/?(?:.|\n)*?(?=\/|$)/;function L(e){for(var a=[];e.length;)if(e.match(T))e=e.replace(T,"");else if(e.match(I))e=e.replace(I,"/");else if(e.match(R))e=e.replace(R,"/"),a.pop();else if("."===e||".."===e)e="";else{var t=e.match(N);if(!t)throw new Error("Unexpected dot segment condition");var r=t[0];e=e.slice(r.length),a.push(r)}return a.join("")}function U(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=a.iri?s:n,r=[],i=E[(a.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,a),e.host)if(t.IPV6ADDRESS.test(e.host));else if(a.domainHost||i&&i.domainHost)try{e.host=a.iri?S(e.host):j(e.host.replace(t.PCT_ENCODED,z).toLowerCase())}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(a.iri?"Unicode":"ASCII")+" via punycode: "+t}_(e,t),"suffix"!==a.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var o=D(e,a);if(void 0!==o&&("suffix"!==a.reference&&r.push("//"),r.push(o),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var c=e.path;a.absolutePath||i&&i.absolutePath||(c=L(c)),void 0===o&&(c=c.replace(/^\/\//,"/%2F")),r.push(c)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function H(e,a){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i={};return r||(e=C(U(e,t),t),a=C(U(a,t),t)),!(t=t||{}).tolerant&&a.scheme?(i.scheme=a.scheme,i.userinfo=a.userinfo,i.host=a.host,i.port=a.port,i.path=L(a.path||""),i.query=a.query):(void 0!==a.userinfo||void 0!==a.host||void 0!==a.port?(i.userinfo=a.userinfo,i.host=a.host,i.port=a.port,i.path=L(a.path||""),i.query=a.query):(a.path?("/"===a.path.charAt(0)?i.path=L(a.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+a.path:i.path=a.path:i.path="/"+a.path,i.path=L(i.path)),i.query=a.query):(i.path=e.path,void 0!==a.query?i.query=a.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=a.fragment,i}function $(e,a){return e&&e.toString().replace(a&&a.iri?s.PCT_ENCODED:n.PCT_ENCODED,z)}var M={scheme:"http",domainHost:!0,parse:function(e,a){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,a){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},K={scheme:"https",domainHost:M.domainHost,parse:M.parse,serialize:M.serialize},V={},Q="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",G="[0-9A-Fa-f]",J=t(t("%[EFef]"+G+"%"+G+G+"%"+G+G)+"|"+t("%[89A-Fa-f]"+G+"%"+G+G)+"|"+t("%"+G+G)),Z=a("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Y=new RegExp(Q,"g"),W=new RegExp(J,"g"),X=new RegExp(a("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Z),"g"),ee=new RegExp(a("[^]",Q,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),ae=ee;function te(e){var a=z(e);return a.match(Y)?a:e}var re={scheme:"mailto",parse:function(e,a){var t=e,r=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var i=!1,o={},n=t.query.split("&"),s=0,c=n.length;s=55296&&a<=56319&&i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,p=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,l=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,m=/^(?:\/(?:[^~/]|~0|~1)*)*$/,h=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,d=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function f(e){return e="full"==e?"full":"fast",r.copy(f[e])}function g(e){var a=e.match(i);if(!a)return!1;var t=+a[1],r=+a[2],n=+a[3];return r>=1&&r<=12&&n>=1&&n<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(t)?29:o[r])}function v(e,a){var t=e.match(n);if(!t)return!1;var r=t[1],i=t[2],o=t[3],s=t[5];return(r<=23&&i<=59&&o<=59||23==r&&59==i&&60==o)&&(!a||s)}e.exports=f,f.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:p,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:x,uuid:l,"json-pointer":m,"json-pointer-uri-fragment":h,"relative-json-pointer":d},f.full={date:g,time:v,"date-time":function(e){var a=e.split(y);return 2==a.length&&g(a[0])&&v(a[1],!0)},uri:function(e){return b.test(e)&&c.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:p,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:x,uuid:l,"json-pointer":m,"json-pointer-uri-fragment":h,"relative-json-pointer":d};var y=/t|\s/i;var b=/\/|:/;var k=/[^\\]\\Z/;function x(e){if(k.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,a,t){"use strict";var r=t(176),i=t(20).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],a=["type","$comment"];return e.all=i(a),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(t){t.rules=t.rules.map((function(t){var i;if("object"==typeof t){var o=Object.keys(t)[0];i=t[o],t=o,i.forEach((function(t){a.push(t),e.all[t]=!0}))}return a.push(t),e.all[t]={keyword:t,code:r[t],implements:i}})),e.all.$comment={keyword:"$comment",code:r.$comment},t.type&&(e.types[t.type]=t)})),e.keywords=i(a.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,a,t){"use strict";e.exports={$ref:t(177),allOf:t(178),anyOf:t(179),$comment:t(180),const:t(181),contains:t(182),dependencies:t(183),enum:t(184),format:t(185),if:t(186),items:t(187),maximum:t(100),minimum:t(100),maxItems:t(101),minItems:t(101),maxLength:t(102),minLength:t(102),maxProperties:t(103),minProperties:t(103),multipleOf:t(188),not:t(189),oneOf:t(190),pattern:t(191),properties:t(192),propertyNames:t(193),required:t(194),uniqueItems:t(195),validate:t(99)}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r,i,o=" ",n=e.level,s=e.dataLevel,c=e.schema[a],u=e.errSchemaPath+"/"+a,p=!e.opts.allErrors,l="data"+(s||""),m="valid"+n;if("#"==c||"#/"==c)e.isRoot?(r=e.async,i="validate"):(r=!0===e.root.schema.$async,i="root.refVal[0]");else{var h=e.resolveRef(e.baseId,c,e.isRoot);if(void 0===h){var d=e.MissingRefError.message(e.baseId,c);if("fail"==e.opts.missingRefs){e.logger.error(d),(y=y||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(c)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(c)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(c)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),o+=" } "):o+=" {} ";var f=o;o=y.pop(),!e.compositeRule&&p?e.async?o+=" throw new ValidationError(["+f+"]); ":o+=" validate.errors = ["+f+"]; return false; ":o+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",p&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,c,d);e.logger.warn(d),p&&(o+=" if (true) { ")}}else if(h.inline){var g=e.util.copy(e);g.level++;var v="valid"+g.level;g.schema=h.schema,g.schemaPath="",g.errSchemaPath=c,o+=" "+e.validate(g).replace(/validate\.schema/g,h.code)+" ",p&&(o+=" if ("+v+") { ")}else r=!0===h.$async||e.async&&!1!==h.$async,i=h.code}if(i){var y;(y=y||[]).push(o),o="",e.opts.passContext?o+=" "+i+".call(this, ":o+=" "+i+"( ",o+=" "+l+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var b=o+=" , "+(s?"data"+(s-1||""):"parentData")+" , "+(s?e.dataPathArr[s]:"parentDataProperty")+", rootData) ";if(o=y.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");p&&(o+=" var "+m+"; "),o+=" try { await "+b+"; ",p&&(o+=" "+m+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",p&&(o+=" "+m+" = false; "),o+=" } ",p&&(o+=" if ("+m+") { ")}else o+=" if (!"+b+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",p&&(o+=" else { ")}return o}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.schema[a],o=e.schemaPath+e.util.getProperty(a),n=e.errSchemaPath+"/"+a,s=!e.opts.allErrors,c=e.util.copy(e),u="";c.level++;var p="valid"+c.level,l=c.baseId,m=!0,h=i;if(h)for(var d,f=-1,g=h.length-1;f0||!1===d:e.util.schemaHasRules(d,e.RULES.all))&&(m=!1,c.schema=d,c.schemaPath=o+"["+f+"]",c.errSchemaPath=n+"/"+f,r+=" "+e.validate(c)+" ",c.baseId=l,s&&(r+=" if ("+p+") { ",u+="}"));return s&&(r+=m?" if (true) { ":" "+u.slice(0,-1)+" "),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="valid"+i,m="errs__"+i,h=e.util.copy(e),d="";h.level++;var f="valid"+h.level;if(n.every((function(a){return e.opts.strictKeywords?"object"==typeof a&&Object.keys(a).length>0||!1===a:e.util.schemaHasRules(a,e.RULES.all)}))){var g=h.baseId;r+=" var "+m+" = errors; var "+l+" = false; ";var v=e.compositeRule;e.compositeRule=h.compositeRule=!0;var y=n;if(y)for(var b,k=-1,x=y.length-1;k0||!1===n:e.util.schemaHasRules(n,e.RULES.all);if(r+="var "+m+" = errors;var "+l+";",b){var k=e.compositeRule;e.compositeRule=h.compositeRule=!0,h.schema=n,h.schemaPath=s,h.errSchemaPath=c,r+=" var "+d+" = false; for (var "+f+" = 0; "+f+" < "+p+".length; "+f+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var x=p+"["+f+"]";h.dataPathArr[g]=f;var w=e.validate(h);h.baseId=y,e.util.varOccurences(w,v)<2?r+=" "+e.util.varReplace(w,v,x)+" ":r+=" var "+v+" = "+x+"; "+w+" ",r+=" if ("+d+") break; } ",e.compositeRule=h.compositeRule=k,r+=" if (!"+d+") {"}else r+=" if ("+p+".length == 0) {";var j=j||[];j.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var S=r;return r=j.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",b&&(r+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="errs__"+i,m=e.util.copy(e),h="";m.level++;var d="valid"+m.level,f={},g={},v=e.opts.ownProperties;for(x in n)if("__proto__"!=x){var y=n[x],b=Array.isArray(y)?g:f;b[x]=y}r+="var "+l+" = errors;";var k=e.errorPath;for(var x in r+="var missing"+i+";",g)if((b=g[x]).length){if(r+=" if ( "+p+e.util.getProperty(x)+" !== undefined ",v&&(r+=" && Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(x)+"') "),u){r+=" && ( ";var w=b;if(w)for(var j=-1,S=w.length-1;j0||!1===y:e.util.schemaHasRules(y,e.RULES.all))&&(r+=" "+d+" = true; if ( "+p+e.util.getProperty(x)+" !== undefined ",v&&(r+=" && Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(x)+"') "),r+=") { ",m.schema=y,m.schemaPath=s+e.util.getProperty(x),m.errSchemaPath=c+"/"+e.util.escapeFragment(x),r+=" "+e.validate(m)+" ",m.baseId=D,r+=" } ",u&&(r+=" if ("+d+") { ",h+="}"))}return u&&(r+=" "+h+" if ("+l+" == errors) {"),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="valid"+i,m=e.opts.$data&&n&&n.$data;m&&(r+=" var schema"+i+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ");var h="i"+i,d="schema"+i;m||(r+=" var "+d+" = validate.schema"+s+";"),r+="var "+l+";",m&&(r+=" if (schema"+i+" === undefined) "+l+" = true; else if (!Array.isArray(schema"+i+")) "+l+" = false; else {"),r+=l+" = false;for (var "+h+"=0; "+h+"<"+d+".length; "+h+"++) if (equal("+p+", "+d+"["+h+"])) { "+l+" = true; break; }",m&&(r+=" } "),r+=" if (!"+l+") { ";var f=f||[];f.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var g=r;return r=f.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",u&&(r+=" else { "),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||"");if(!1===e.opts.format)return u&&(r+=" if (true) { "),r;var l,m=e.opts.$data&&n&&n.$data;m?(r+=" var schema"+i+" = "+e.util.getData(n.$data,o,e.dataPathArr)+"; ",l="schema"+i):l=n;var h=e.opts.unknownFormats,d=Array.isArray(h);if(m){r+=" var "+(f="format"+i)+" = formats["+l+"]; var "+(g="isObject"+i)+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+(v="formatType"+i)+" = "+g+" && "+f+".type || 'string'; if ("+g+") { ",e.async&&(r+=" var async"+i+" = "+f+".async; "),r+=" "+f+" = "+f+".validate; } if ( ",m&&(r+=" ("+l+" !== undefined && typeof "+l+" != 'string') || "),r+=" (","ignore"!=h&&(r+=" ("+l+" && !"+f+" ",d&&(r+=" && self._opts.unknownFormats.indexOf("+l+") == -1 "),r+=") || "),r+=" ("+f+" && "+v+" == '"+t+"' && !(typeof "+f+" == 'function' ? ",e.async?r+=" (async"+i+" ? await "+f+"("+p+") : "+f+"("+p+")) ":r+=" "+f+"("+p+") ",r+=" : "+f+".test("+p+"))))) {"}else{var f;if(!(f=e.formats[n])){if("ignore"==h)return e.logger.warn('unknown format "'+n+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(r+=" if (true) { "),r;if(d&&h.indexOf(n)>=0)return u&&(r+=" if (true) { "),r;throw new Error('unknown format "'+n+'" is used in schema at path "'+e.errSchemaPath+'"')}var g,v=(g="object"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||"string";if(g){var y=!0===f.async;f=f.validate}if(v!=t)return u&&(r+=" if (true) { "),r;if(y){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(b="formats"+e.util.getProperty(n)+".validate")+"("+p+"))) { "}else{r+=" if (! ";var b="formats"+e.util.getProperty(n);g&&(b+=".validate"),r+="function"==typeof f?" "+b+"("+p+") ":" "+b+".test("+p+") ",r+=") { "}}var k=k||[];k.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { format: ",r+=m?""+l:""+e.util.toQuotedString(n),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=m?"' + "+l+" + '":""+e.util.escapeQuotes(n),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=m?"validate.schema"+s:""+e.util.toQuotedString(n),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var x=r;return r=k.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+x+"]); ":r+=" validate.errors = ["+x+"]; return false; ":r+=" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",u&&(r+=" else { "),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="valid"+i,m="errs__"+i,h=e.util.copy(e);h.level++;var d="valid"+h.level,f=e.schema.then,g=e.schema.else,v=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0||!1===f:e.util.schemaHasRules(f,e.RULES.all)),y=void 0!==g&&(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0||!1===g:e.util.schemaHasRules(g,e.RULES.all)),b=h.baseId;if(v||y){var k;h.createErrors=!1,h.schema=n,h.schemaPath=s,h.errSchemaPath=c,r+=" var "+m+" = errors; var "+l+" = true; ";var x=e.compositeRule;e.compositeRule=h.compositeRule=!0,r+=" "+e.validate(h)+" ",h.baseId=b,h.createErrors=!0,r+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=h.compositeRule=x,v?(r+=" if ("+d+") { ",h.schema=e.schema.then,h.schemaPath=e.schemaPath+".then",h.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(h)+" ",h.baseId=b,r+=" "+l+" = "+d+"; ",v&&y?r+=" var "+(k="ifClause"+i)+" = 'then'; ":k="'then'",r+=" } ",y&&(r+=" else { ")):r+=" if (!"+d+") { ",y&&(h.schema=e.schema.else,h.schemaPath=e.schemaPath+".else",h.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(h)+" ",h.baseId=b,r+=" "+l+" = "+d+"; ",v&&y?r+=" var "+(k="ifClause"+i)+" = 'else'; ":k="'else'",r+=" } "),r+=" if (!"+l+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { failingKeyword: "+k+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+k+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",u&&(r+=" else { ")}else u&&(r+=" if (true) { ");return r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="valid"+i,m="errs__"+i,h=e.util.copy(e),d="";h.level++;var f="valid"+h.level,g="i"+i,v=h.dataLevel=e.dataLevel+1,y="data"+v,b=e.baseId;if(r+="var "+m+" = errors;var "+l+";",Array.isArray(n)){var k=e.schema.additionalItems;if(!1===k){r+=" "+l+" = "+p+".length <= "+n.length+"; ";var x=c;c=e.errSchemaPath+"/additionalItems",r+=" if (!"+l+") { ";var w=w||[];w.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+n.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+n.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var j=r;r=w.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+j+"]); ":r+=" validate.errors = ["+j+"]; return false; ":r+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c=x,u&&(d+="}",r+=" else { ")}var S=n;if(S)for(var E,F=-1,z=S.length-1;F0||!1===E:e.util.schemaHasRules(E,e.RULES.all)){r+=" "+f+" = true; if ("+p+".length > "+F+") { ";var _=p+"["+F+"]";h.schema=E,h.schemaPath=s+"["+F+"]",h.errSchemaPath=c+"/"+F,h.errorPath=e.util.getPathExpr(e.errorPath,F,e.opts.jsonPointers,!0),h.dataPathArr[v]=F;var P=e.validate(h);h.baseId=b,e.util.varOccurences(P,y)<2?r+=" "+e.util.varReplace(P,y,_)+" ":r+=" var "+y+" = "+_+"; "+P+" ",r+=" } ",u&&(r+=" if ("+f+") { ",d+="}")}if("object"==typeof k&&(e.opts.strictKeywords?"object"==typeof k&&Object.keys(k).length>0||!1===k:e.util.schemaHasRules(k,e.RULES.all))){h.schema=k,h.schemaPath=e.schemaPath+".additionalItems",h.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+f+" = true; if ("+p+".length > "+n.length+") { for (var "+g+" = "+n.length+"; "+g+" < "+p+".length; "+g+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0);_=p+"["+g+"]";h.dataPathArr[v]=g;P=e.validate(h);h.baseId=b,e.util.varOccurences(P,y)<2?r+=" "+e.util.varReplace(P,y,_)+" ":r+=" var "+y+" = "+_+"; "+P+" ",u&&(r+=" if (!"+f+") break; "),r+=" } } ",u&&(r+=" if ("+f+") { ",d+="}")}}else if(e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){h.schema=n,h.schemaPath=s,h.errSchemaPath=c,r+=" for (var "+g+" = 0; "+g+" < "+p+".length; "+g+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0);_=p+"["+g+"]";h.dataPathArr[v]=g;P=e.validate(h);h.baseId=b,e.util.varOccurences(P,y)<2?r+=" "+e.util.varReplace(P,y,_)+" ":r+=" var "+y+" = "+_+"; "+P+" ",u&&(r+=" if (!"+f+") break; "),r+=" }"}return u&&(r+=" "+d+" if ("+m+" == errors) {"),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[a],c=e.schemaPath+e.util.getProperty(a),u=e.errSchemaPath+"/"+a,p=!e.opts.allErrors,l="data"+(n||""),m=e.opts.$data&&s&&s.$data;if(m?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,!m&&"number"!=typeof s)throw new Error(a+" must be number");i+="var division"+o+";if (",m&&(i+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),i+=" (division"+o+" = "+l+" / "+r+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+o+" !== parseInt(division"+o+") ",i+=" ) ",m&&(i+=" ) "),i+=" ) { ";var h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=m?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+c:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var d=i;return i=h.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="errs__"+i,m=e.util.copy(e);m.level++;var h="valid"+m.level;if(e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){m.schema=n,m.schemaPath=s,m.errSchemaPath=c,r+=" var "+l+" = errors; ";var d,f=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1,m.opts.allErrors&&(d=m.opts.allErrors,m.opts.allErrors=!1),r+=" "+e.validate(m)+" ",m.createErrors=!0,d&&(m.opts.allErrors=d),e.compositeRule=m.compositeRule=f,r+=" if ("+h+") { ";var g=g||[];g.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var v=r;r=g.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+l+"; if (vErrors !== null) { if ("+l+") vErrors.length = "+l+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(r+=" if (false) { ");return r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="valid"+i,m="errs__"+i,h=e.util.copy(e),d="";h.level++;var f="valid"+h.level,g=h.baseId,v="prevValid"+i,y="passingSchemas"+i;r+="var "+m+" = errors , "+v+" = false , "+l+" = false , "+y+" = null; ";var b=e.compositeRule;e.compositeRule=h.compositeRule=!0;var k=n;if(k)for(var x,w=-1,j=k.length-1;w0||!1===x:e.util.schemaHasRules(x,e.RULES.all))?(h.schema=x,h.schemaPath=s+"["+w+"]",h.errSchemaPath=c+"/"+w,r+=" "+e.validate(h)+" ",h.baseId=g):r+=" var "+f+" = true; ",w&&(r+=" if ("+f+" && "+v+") { "+l+" = false; "+y+" = ["+y+", "+w+"]; } else { ",d+="}"),r+=" if ("+f+") { "+l+" = "+v+" = true; "+y+" = "+w+"; }";return e.compositeRule=h.compositeRule=b,r+=d+"if (!"+l+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r,i=" ",o=e.level,n=e.dataLevel,s=e.schema[a],c=e.schemaPath+e.util.getProperty(a),u=e.errSchemaPath+"/"+a,p=!e.opts.allErrors,l="data"+(n||""),m=e.opts.$data&&s&&s.$data;m?(i+=" var schema"+o+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",r="schema"+o):r=s,i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),i+=" !"+(m?"(new RegExp("+r+"))":e.usePattern(s))+".test("+l+") ) { ";var h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",i+=m?""+r:""+e.util.toQuotedString(s),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=m?"' + "+r+" + '":""+e.util.escapeQuotes(s),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+c:""+e.util.toQuotedString(s),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var d=i;return i=h.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",p&&(i+=" else { "),i}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="errs__"+i,m=e.util.copy(e),h="";m.level++;var d="valid"+m.level,f="key"+i,g="idx"+i,v=m.dataLevel=e.dataLevel+1,y="data"+v,b="dataProperties"+i,k=Object.keys(n||{}).filter(B),x=e.schema.patternProperties||{},w=Object.keys(x).filter(B),j=e.schema.additionalProperties,S=k.length||w.length,E=!1===j,F="object"==typeof j&&Object.keys(j).length,z=e.opts.removeAdditional,_=E||F||z,P=e.opts.ownProperties,A=e.baseId,q=e.schema.required;if(q&&(!e.opts.$data||!q.$data)&&q.length8)r+=" || validate.schema"+s+".hasOwnProperty("+f+") ";else{var C=k;if(C)for(var D=-1,T=C.length-1;D0||!1===W:e.util.schemaHasRules(W,e.RULES.all)){var X=e.util.getProperty(J),ee=(K=p+X,Q&&void 0!==W.default);m.schema=W,m.schemaPath=s+X,m.errSchemaPath=c+"/"+e.util.escapeFragment(J),m.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),m.dataPathArr[v]=e.util.toQuotedString(J);V=e.validate(m);if(m.baseId=A,e.util.varOccurences(V,y)<2){V=e.util.varReplace(V,y,K);var ae=K}else{ae=y;r+=" var "+y+" = "+K+"; "}if(ee)r+=" "+V+" ";else{if(O&&O[J]){r+=" if ( "+ae+" === undefined ",P&&(r+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(J)+"') "),r+=") { "+d+" = false; ";L=e.errorPath,H=c;var te,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(L,J,e.opts.jsonPointers)),c=e.errSchemaPath+"/required",(te=te||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";$=r;r=te.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+$+"]); ":r+=" validate.errors = ["+$+"]; return false; ":r+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c=H,e.errorPath=L,r+=" } else { "}else u?(r+=" if ( "+ae+" === undefined ",P&&(r+=" || ! Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(J)+"') "),r+=") { "+d+" = true; } else { "):(r+=" if ("+ae+" !== undefined ",P&&(r+=" && Object.prototype.hasOwnProperty.call("+p+", '"+e.util.escapeQuotes(J)+"') "),r+=" ) { ");r+=" "+V+" } "}}u&&(r+=" if ("+d+") { ",h+="}")}}if(w.length){var ie=w;if(ie)for(var oe,ne=-1,se=ie.length-1;ne0||!1===W:e.util.schemaHasRules(W,e.RULES.all)){m.schema=W,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(oe),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(oe),r+=P?" "+b+" = "+b+" || Object.keys("+p+"); for (var "+g+"=0; "+g+"<"+b+".length; "+g+"++) { var "+f+" = "+b+"["+g+"]; ":" for (var "+f+" in "+p+") { ",r+=" if ("+e.usePattern(oe)+".test("+f+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);K=p+"["+f+"]";m.dataPathArr[v]=f;V=e.validate(m);m.baseId=A,e.util.varOccurences(V,y)<2?r+=" "+e.util.varReplace(V,y,K)+" ":r+=" var "+y+" = "+K+"; "+V+" ",u&&(r+=" if (!"+d+") break; "),r+=" } ",u&&(r+=" else "+d+" = true; "),r+=" } ",u&&(r+=" if ("+d+") { ",h+="}")}}}return u&&(r+=" "+h+" if ("+l+" == errors) {"),r}},function(e,a,t){"use strict";e.exports=function(e,a,t){var r=" ",i=e.level,o=e.dataLevel,n=e.schema[a],s=e.schemaPath+e.util.getProperty(a),c=e.errSchemaPath+"/"+a,u=!e.opts.allErrors,p="data"+(o||""),l="errs__"+i,m=e.util.copy(e);m.level++;var h="valid"+m.level;if(r+="var "+l+" = errors;",e.opts.strictKeywords?"object"==typeof n&&Object.keys(n).length>0||!1===n:e.util.schemaHasRules(n,e.RULES.all)){m.schema=n,m.schemaPath=s,m.errSchemaPath=c;var d="key"+i,f="idx"+i,g="i"+i,v="' + "+d+" + '",y="data"+(m.dataLevel=e.dataLevel+1),b="dataProperties"+i,k=e.opts.ownProperties,x=e.baseId;k&&(r+=" var "+b+" = undefined; "),r+=k?" "+b+" = "+b+" || Object.keys("+p+"); for (var "+f+"=0; "+f+"<"+b+".length; "+f+"++) { var "+d+" = "+b+"["+f+"]; ":" for (var "+d+" in "+p+") { ",r+=" var startErrs"+i+" = errors; ";var w=d,j=e.compositeRule;e.compositeRule=m.compositeRule=!0;var S=e.validate(m);m.baseId=x,e.util.varOccurences(S,y)<2?r+=" "+e.util.varReplace(S,y,w)+" ":r+=" var "+y+" = "+w+"; "+S+" ",e.compositeRule=m.compositeRule=j,r+=" if (!"+h+") { for (var "+g+"=startErrs"+i+"; "+g+"0||!1===b:e.util.schemaHasRules(b,e.RULES.all))||(d[d.length]=g)}}else d=n;if(m||d.length){var k=e.errorPath,x=m||d.length>=e.opts.loopRequired,w=e.opts.ownProperties;if(u)if(r+=" var missing"+i+"; ",x){m||(r+=" var "+h+" = validate.schema"+s+"; ");var j="' + "+(P="schema"+i+"["+(F="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(k,P,e.opts.jsonPointers)),r+=" var "+l+" = true; ",m&&(r+=" if (schema"+i+" === undefined) "+l+" = true; else if (!Array.isArray(schema"+i+")) "+l+" = false; else {"),r+=" for (var "+F+" = 0; "+F+" < "+h+".length; "+F+"++) { "+l+" = "+p+"["+h+"["+F+"]] !== undefined ",w&&(r+=" && Object.prototype.hasOwnProperty.call("+p+", "+h+"["+F+"]) "),r+="; if (!"+l+") break; } ",m&&(r+=" } "),r+=" if (!"+l+") { ",(_=_||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { missingProperty: '"+j+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+j+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),r+=" } "):r+=" {} ";var S=r;r=_.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+S+"]); ":r+=" validate.errors = ["+S+"]; return false; ":r+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var E=d;if(E)for(var F=-1,z=E.length-1;F 1) { ";var d=e.schema.items&&e.schema.items.type,f=Array.isArray(d);if(!d||"object"==d||"array"==d||f&&(d.indexOf("object")>=0||d.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+l+"[i], "+l+"[j])) { "+m+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+l+"[i]; ";var g="checkDataType"+(f?"s":"");i+=" if ("+e.util[g](d,"item",e.opts.strictNumbers,!0)+") continue; ",f&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+m+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",h&&(i+=" } "),i+=" if (!"+m+") { ";var v=v||[];v.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=h?"validate.schema"+c:""+s,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),i+=" } "):i+=" {} ";var y=i;i=v.pop(),!e.compositeRule&&p?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",p&&(i+=" else { ")}else p&&(i+=" if (true) { ");return i}},function(e,a,t){"use strict";var r=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,a){for(var t=0;ta?1:e=300&&e.statusCode<400&&e.caseless.has("location")){var r=e.caseless.get("location");if(a.debug("redirect",r),this.followAllRedirects)t=r;else if(this.followRedirects)switch(a.method){case"PATCH":case"PUT":case"POST":case"DELETE":break;default:t=r}}else if(401===e.statusCode){var i=a._auth.onResponse(e);i&&(a.setHeader("authorization",i),t=a.uri)}return t},o.prototype.onResponse=function(e){var a=this.request,t=this.redirectTo(e);if(!t||!this.allowRedirect.call(a,e))return!1;if(a.debug("redirect to",t),e.resume&&e.resume(),this.redirectsFollowed>=this.maxRedirects)return a.emit("error",new Error("Exceeded maxRedirects. Probably stuck in a redirect loop "+a.uri.href)),!1;this.redirectsFollowed+=1,i.test(t)||(t=r.resolve(a.uri.href,t));var o=a.uri;return a.uri=r.parse(t),a.uri.protocol!==o.protocol&&delete a.agent,this.redirects.push({statusCode:e.statusCode,redirectUri:t}),this.followAllRedirects&&"HEAD"!==a.method&&401!==e.statusCode&&307!==e.statusCode&&(a.method=this.followOriginalHttpMethod?a.method:"GET"),delete a.src,delete a.req,delete a._started,401!==e.statusCode&&307!==e.statusCode&&(delete a.body,delete a._form,a.headers&&(a.removeHeader("host"),a.removeHeader("content-type"),a.removeHeader("content-length"),a.uri.hostname!==a.originalHost.split(":")[0]&&a.removeHeader("authorization"))),this.removeRefererHeader||a.setHeader("referer",o.href),a.emit("redirect"),a.init(),!0},a.Redirect=o},function(e,a,t){"use strict";var r=t(15),i=t(232),o=["accept","accept-charset","accept-encoding","accept-language","accept-ranges","cache-control","content-encoding","content-language","content-location","content-md5","content-range","content-type","connection","date","expect","max-forwards","pragma","referer","te","user-agent","via"],n=["proxy-authorization"];function s(e){this.request=e,this.proxyHeaderWhiteList=o,this.proxyHeaderExclusiveList=[],void 0!==e.tunnel&&(this.tunnelOverride=e.tunnel)}s.prototype.isEnabled=function(){var e=this.request;return void 0!==this.tunnelOverride?this.tunnelOverride:"https:"===e.uri.protocol},s.prototype.setup=function(e){var a=this.request;if(e=e||{},"string"==typeof a.proxy&&(a.proxy=r.parse(a.proxy)),!a.proxy||!a.tunnel)return!1;e.proxyHeaderWhiteList&&(this.proxyHeaderWhiteList=e.proxyHeaderWhiteList),e.proxyHeaderExclusiveList&&(this.proxyHeaderExclusiveList=e.proxyHeaderExclusiveList);var t,o,s,c,u=this.proxyHeaderExclusiveList.concat(n),p=this.proxyHeaderWhiteList.concat(u),l=function(e,a){var t=a.reduce((function(e,a){return e[a.toLowerCase()]=!0,e}),{});return Object.keys(e).filter((function(e){return t[e.toLowerCase()]})).reduce((function(a,t){return a[t]=e[t],a}),{})}(a.headers,p);l.host=(t=a.uri,o=t.port,s=t.protocol,c=t.hostname+":",c+=o||("https:"===s?"443":"80")),u.forEach(a.removeHeader,a);var m=function(e){var a=function(e,a){return["https:"===e.protocol?"https":"http","https:"===a.protocol?"Https":"Http"].join("Over")}(e.uri,e.proxy);return i[a]}(a),h=function(e,a){var t=e.proxy;return{proxy:{host:t.hostname,port:+t.port,proxyAuth:t.auth,headers:a},headers:e.headers,ca:e.ca,cert:e.cert,key:e.key,passphrase:e.passphrase,pfx:e.pfx,ciphers:e.ciphers,rejectUnauthorized:e.rejectUnauthorized,secureOptions:e.secureOptions,secureProtocol:e.secureProtocol}}(a,l);return a.agent=m(h),!0},s.defaultProxyHeaderWhiteList=o,s.defaultProxyHeaderExclusiveList=n,a.Tunnel=s},function(e,a,t){"use strict";t(40);var r,i=t(85),o=t(22),n=t(33),s=t(31),c=t(23),u=t(1),p=t(21).Buffer;function l(e){var a=this;a.options=e||{},a.proxyOptions=a.options.proxy||{},a.maxSockets=a.options.maxSockets||o.Agent.defaultMaxSockets,a.requests=[],a.sockets=[],a.on("free",(function(e,t,r){for(var i=0,o=a.requests.length;i=this.maxSockets?t.requests.push({host:a.host,port:a.port,request:e}):t.createConnection({host:a.host,port:a.port,request:e})},l.prototype.createConnection=function(e){var a=this;a.createSocket(e,(function(t){function r(){a.emit("free",t,e.host,e.port)}function i(e){a.removeSocket(t),t.removeListener("free",r),t.removeListener("close",i),t.removeListener("agentRemove",i)}t.on("free",r),t.on("close",i),t.on("agentRemove",i),e.request.onSocket(t)}))},l.prototype.createSocket=function(e,a){var t=this,i={};t.sockets.push(i);var o=h({},t.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1});o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+p.from(o.proxyAuth).toString("base64")),r("making CONNECT request");var n=t.request(o);function s(o,s,u){if(n.removeAllListeners(),s.removeAllListeners(),200===o.statusCode)c.equal(u.length,0),r("tunneling connection has established"),t.sockets[t.sockets.indexOf(i)]=s,a(s);else{r("tunneling socket could not be established, statusCode=%d",o.statusCode);var p=new Error("tunneling socket could not be established, statusCode="+o.statusCode);p.code="ECONNRESET",e.request.emit("error",p),t.removeSocket(i)}}n.useChunkedEncodingByDefault=!1,n.once("response",(function(e){e.upgrade=!0})),n.once("upgrade",(function(e,a,t){process.nextTick((function(){s(e,a,t)}))})),n.once("connect",s),n.once("error",(function(a){n.removeAllListeners(),r("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var o=new Error("tunneling socket could not be established, cause="+a.message);o.code="ECONNRESET",e.request.emit("error",o),t.removeSocket(i)})),n.end()},l.prototype.removeSocket=function(e){var a=this.sockets.indexOf(e);if(-1!==a){this.sockets.splice(a,1);var t=this.requests.shift();t&&this.createConnection(t)}},r=process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);"string"==typeof e[0]?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:function(){},a.debug=r},function(e,a){(function(){var a,t,r,i,o,n;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof process&&null!==process&&process.hrtime?(e.exports=function(){return(a()-o)/1e6},t=process.hrtime,i=(a=function(){var e;return 1e9*(e=t())[0]+e[1]})(),n=1e9*process.uptime(),o=i-n):Date.now?(e.exports=function(){return Date.now()-r},r=Date.now()):(e.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)}]); //# sourceMappingURL=request.js.map