From 9ac89b73233c3d63c3d5157e3520073255ccd197 Mon Sep 17 00:00:00 2001
From: Yarmo Mackenbach <yarmo@yarmo.eu>
Date: Mon, 26 Jul 2021 11:41:34 +0200
Subject: [PATCH] Release 0.13.0

---
 CHANGELOG.md     |    4 +
 dist/doip.js     | 1415 ++++++++++++++++++++++++----------------------
 dist/doip.min.js |    2 +-
 package.json     |    2 +-
 4 files changed, 736 insertions(+), 687 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7a2266f..0b219d2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 
+## [0.13.0] - 2021-07-26
+### Added
+- Lichess.org claim verification
+
 ## [0.12.9] - 2021-06-03
 ### Fixed
 - Typo during claim generation
diff --git a/dist/doip.js b/dist/doip.js
index b9ed12a..a9659d3 100644
--- a/dist/doip.js
+++ b/dist/doip.js
@@ -7515,7 +7515,7 @@ module.exports.default = exports.default;
 },{"./util/assertString":107}],113:[function(require,module,exports){
 module.exports={
   "name": "doipjs",
-  "version": "0.12.9",
+  "version": "0.13.0",
   "description": "Decentralized OpenPGP Identity Proofs library in Node.js",
   "main": "src/index.js",
   "dependencies": {
@@ -7542,12 +7542,14 @@ module.exports={
     "chai-as-promised": "^7.1.1",
     "chai-match-pattern": "^1.2.0",
     "clean-jsdoc-theme": "^3.2.4",
+    "husky": "^7.0.0",
     "jsdoc": "^3.6.6",
     "license-check-and-add": "^3.0.4",
+    "lint-staged": "^11.0.0",
     "minify": "^6.0.1",
     "mocha": "^8.2.0",
     "nodemon": "^2.0.7",
-    "prettier": "^2.1.2"
+    "standard": "^16.0.3"
   },
   "scripts": {
     "release:bundle": "./node_modules/.bin/browserify ./src/index.js --standalone doip -x openpgp -x jsdom -x @xmpp/client -x @xmpp/debug -x irc-upd -o ./dist/doip.js",
@@ -7557,10 +7559,13 @@ module.exports={
     "license:check": "./node_modules/.bin/license-check-and-add check",
     "license:add": "./node_modules/.bin/license-check-and-add add",
     "license:remove": "./node_modules/.bin/license-check-and-add remove",
-    "docs:lib": "./node_modules/.bin/jsdoc -c jsdoc-lib.json -r -d ./docs",
-    "test": "./node_modules/.bin/mocha",
+    "docs:lib": "./node_modules/.bin/jsdoc -c jsdoc-lib.json -r -d ./docs -P package.json",
+    "standard": "./node_modules/.bin/standard ./src",
+    "mocha": "./node_modules/.bin/mocha",
+    "test": "yarn run standard && yarn run license:check && yarn run mocha",
     "proxy": "NODE_ENV=production node ./src/proxy/",
-    "proxy:dev": "NODE_ENV=development ./node_modules/.bin/nodemon ./src/proxy/"
+    "proxy:dev": "NODE_ENV=development ./node_modules/.bin/nodemon ./src/proxy/",
+    "prepare": "husky install"
   },
   "repository": {
     "type": "git",
@@ -7586,6 +7591,7 @@ module.exports={
     "openpgp": "global:openpgp"
   }
 }
+
 },{}],114:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
@@ -7632,7 +7638,7 @@ class Claim {
    * const claim = doip.Claim('dns:domain.tld?type=TXT', '123abc123abc');
    * const claimAlt = doip.Claim(JSON.stringify(claim));
    */
-  constructor(uri, fingerprint) {
+  constructor (uri, fingerprint) {
     // Import JSON
     if (typeof uri === 'object' && 'claimVersion' in uri) {
       const data = uri
@@ -7647,7 +7653,6 @@ class Claim {
 
         default:
           throw new Error('Invalid claim version')
-          break
       }
       return
     }
@@ -7662,44 +7667,44 @@ class Claim {
       try {
         validator.isAlphanumeric(fingerprint)
       } catch (err) {
-        throw new Error(`Invalid fingerprint`)
+        throw new Error('Invalid fingerprint')
       }
     }
 
-    this._uri = uri ? uri : null
-    this._fingerprint = fingerprint ? fingerprint : null
+    this._uri = uri || null
+    this._fingerprint = fingerprint || null
     this._status = E.ClaimStatus.INIT
     this._matches = null
     this._verification = null
   }
 
-  get uri() {
+  get uri () {
     return this._uri
   }
 
-  get fingerprint() {
+  get fingerprint () {
     return this._fingerprint
   }
 
-  get status() {
+  get status () {
     return this._status
   }
 
-  get matches() {
+  get matches () {
     if (this._status === E.ClaimStatus.INIT) {
       throw new Error('This claim has not yet been matched')
     }
     return this._matches
   }
 
-  get verification() {
+  get verification () {
     if (this._status !== E.ClaimStatus.VERIFIED) {
       throw new Error('This claim has not yet been verified')
     }
     return this._verification
   }
 
-  set uri(uri) {
+  set uri (uri) {
     if (this._status !== E.ClaimStatus.INIT) {
       throw new Error(
         'Cannot change the URI, this claim has already been matched'
@@ -7715,7 +7720,7 @@ class Claim {
     this._uri = uri
   }
 
-  set fingerprint(fingerprint) {
+  set fingerprint (fingerprint) {
     if (this._status === E.ClaimStatus.VERIFIED) {
       throw new Error(
         'Cannot change the fingerprint, this claim has already been verified'
@@ -7724,15 +7729,15 @@ class Claim {
     this._fingerprint = fingerprint
   }
 
-  set status(anything) {
+  set status (anything) {
     throw new Error("Cannot change a claim's status")
   }
 
-  set matches(anything) {
+  set matches (anything) {
     throw new Error("Cannot change a claim's matches")
   }
 
-  set verification(anything) {
+  set verification (anything) {
     throw new Error("Cannot change a claim's verification result")
   }
 
@@ -7740,7 +7745,7 @@ class Claim {
    * Match the claim's URI to candidate definitions
    * @function
    */
-  match() {
+  match () {
     if (this._status !== E.ClaimStatus.INIT) {
       throw new Error('This claim was already matched')
     }
@@ -7784,7 +7789,7 @@ class Claim {
    * @function
    * @param {object} [opts] - Options for proxy, fetchers
    */
-  async verify(opts) {
+  async verify (opts) {
     if (this._status === E.ClaimStatus.INIT) {
       throw new Error('This claim has not yet been matched')
     }
@@ -7796,7 +7801,7 @@ class Claim {
     }
 
     // Handle options
-    opts = mergeOptions(defaults.opts, opts ? opts : {})
+    opts = mergeOptions(defaults.opts, opts || {})
 
     // If there are no matches
     if (this._matches.length === 0) {
@@ -7804,7 +7809,7 @@ class Claim {
         result: false,
         completed: true,
         proof: {},
-        errors: ['No matches for claim'],
+        errors: ['No matches for claim']
       }
     }
 
@@ -7812,9 +7817,9 @@ class Claim {
     for (let index = 0; index < this._matches.length; index++) {
       const claimData = this._matches[index]
 
-      let verificationResult = null,
-        proofData = null,
-        proofFetchError
+      let verificationResult = null
+      let proofData = null
+      let proofFetchError
 
       try {
         proofData = await proofs.fetch(claimData, opts)
@@ -7831,15 +7836,15 @@ class Claim {
         )
         verificationResult.proof = {
           fetcher: proofData.fetcher,
-          viaProxy: proofData.viaProxy,
+          viaProxy: proofData.viaProxy
         }
       } else {
         // Consider the proof completed but with a negative result
-        verificationResult = verificationResult ? verificationResult : {
+        verificationResult = verificationResult || {
           result: false,
           completed: true,
           proof: {},
-          errors: [proofFetchError],
+          errors: [proofFetchError]
         }
 
         if (this.isAmbiguous()) {
@@ -7857,12 +7862,14 @@ class Claim {
     }
 
     // Fail safe verification result
-    this._verification = this._verification ? this._verification : {
-      result: false,
-      completed: true,
-      proof: {},
-      errors: ['Unknown error'],
-    }
+    this._verification = this._verification
+      ? this._verification
+      : {
+          result: false,
+          completed: true,
+          proof: {},
+          errors: ['Unknown error']
+        }
 
     this._status = E.ClaimStatus.VERIFIED
   }
@@ -7874,16 +7881,14 @@ class Claim {
    * @function
    * @returns {boolean}
    */
-  isAmbiguous() {
+  isAmbiguous () {
     if (this._status === E.ClaimStatus.INIT) {
       throw new Error('The claim has not been matched yet')
     }
     if (this._matches.length === 0) {
       throw new Error('The claim has no matches')
     }
-    return (
-      this._matches.length > 1 || this._matches[0].match.isAmbiguous
-    )
+    return this._matches.length > 1 || this._matches[0].match.isAmbiguous
   }
 
   /**
@@ -7892,21 +7897,21 @@ class Claim {
    * @function
    * @returns {object}
    */
-  toJSON() {
+  toJSON () {
     return {
       claimVersion: 1,
       uri: this._uri,
       fingerprint: this._fingerprint,
       status: this._status,
       matches: this._matches,
-      verification: this._verification,
+      verification: this._verification
     }
   }
 }
 
 module.exports = Claim
 
-},{"./claimDefinitions":123,"./defaults":133,"./enums":134,"./proofs":145,"./verifications":148,"merge-options":8,"valid-url":13,"validator":14}],115:[function(require,module,exports){
+},{"./claimDefinitions":123,"./defaults":134,"./enums":135,"./proofs":146,"./verifications":149,"merge-options":8,"valid-url":13,"validator":14}],115:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -7932,16 +7937,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'devto',
+      name: 'devto'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: `https://dev.to/${match[1]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -7951,38 +7956,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://dev.to/api/articles/${match[1]}/${match[2]}`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['body_markdown'],
-    },
+      path: ['body_markdown']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://dev.to/alice/post',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://dev.to/alice/post/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice/post',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],116:[function(require,module,exports){
+},{"../enums":135}],116:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8008,16 +8013,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'discourse',
+      name: 'discourse'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: true,
+      isAmbiguous: true
     },
     profile: {
       display: `${match[2]}@${match[1]}`,
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8027,38 +8032,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://${match[1]}/u/${match[2]}.json`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['user', 'bio_raw'],
-    },
+      path: ['user', 'bio_raw']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://domain.org/u/alice',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/u/alice/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],117:[function(require,module,exports){
+},{"../enums":135}],117:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8076,7 +8081,7 @@ limitations under the License.
 */
 const E = require('../enums')
 
-const reURI = /^dns:([a-zA-Z0-9\.\-\_]*)(?:\?(.*))?/
+const reURI = /^dns:([a-zA-Z0-9.\-_]*)(?:\?(.*))?/
 
 const processURI = (uri) => {
   const match = uri.match(reURI)
@@ -8084,16 +8089,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'dns',
+      name: 'dns'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: `https://${match[1]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: null,
@@ -8102,38 +8107,38 @@ const processURI = (uri) => {
         access: E.ProofAccess.SERVER,
         format: E.ProofFormat.JSON,
         data: {
-          domain: match[1],
-        },
-      },
+          domain: match[1]
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.URI,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['records', 'txt'],
-    },
+      path: ['records', 'txt']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'dns:domain.org',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'dns:domain.org?type=TXT',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],118:[function(require,module,exports){
+},{"../enums":135}],118:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8159,16 +8164,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'fediverse',
+      name: 'fediverse'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: true,
+      isAmbiguous: true
     },
     profile: {
       display: `@${match[2]}@${match[1]}`,
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8178,38 +8183,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: uri,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.FINGERPRINT,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['summary'],
-    },
+      path: ['summary']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://domain.org/users/alice',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/users/alice/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],119:[function(require,module,exports){
+},{"../enums":135}],119:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8235,16 +8240,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'gitea',
+      name: 'gitea'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: true,
+      isAmbiguous: true
     },
     profile: {
       display: `${match[2]}@${match[1]}`,
       uri: `https://${match[1]}/${match[2]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8254,38 +8259,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://${match[1]}/api/v1/repos/${match[2]}/gitea_proof`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.EQUALS,
-      path: ['description'],
-    },
+      path: ['description']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://domain.org/alice/gitea_proof',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice/gitea_proof/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice/other_proof',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],120:[function(require,module,exports){
+},{"../enums":135}],120:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8311,16 +8316,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'github',
+      name: 'github'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: `https://github.com/${match[1]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8330,38 +8335,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://api.github.com/gists/${match[2]}`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['files', 'openpgp.md', 'content'],
-    },
+      path: ['files', 'openpgp.md', 'content']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://gist.github.com/Alice/123456789',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://gist.github.com/Alice/123456789/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/Alice/123456789',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],121:[function(require,module,exports){
+},{"../enums":135}],121:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8387,16 +8392,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'gitlab',
+      name: 'gitlab'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: true,
+      isAmbiguous: true
     },
     profile: {
       display: `${match[2]}@${match[1]}`,
       uri: `https://${match[1]}/${match[2]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8406,38 +8411,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           domain: match[1],
-          username: match[2],
-        },
-      },
+          username: match[2]
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.EQUALS,
-      path: ['description'],
-    },
+      path: ['description']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://gitlab.domain.org/alice/gitlab_proof',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://gitlab.domain.org/alice/gitlab_proof/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice/other_proof',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],122:[function(require,module,exports){
+},{"../enums":135}],122:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8463,16 +8468,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'hackernews',
+      name: 'hackernews'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: `https://hacker-news.firebaseio.com/v0/user/${match[1]}.json`,
@@ -8482,38 +8487,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://hacker-news.firebaseio.com/v0/user/${match[1]}.json`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.URI,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['about'],
-    },
+      path: ['about']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://news.ycombinator.com/user?id=Alice',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://news.ycombinator.com/user?id=Alice/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/user?id=Alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],123:[function(require,module,exports){
+},{"../enums":135}],123:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8537,6 +8542,7 @@ const list = [
   'twitter',
   'reddit',
   'liberapay',
+  'lichess',
   'hackernews',
   'lobsters',
   'devto',
@@ -8546,7 +8552,7 @@ const list = [
   'mastodon',
   'fediverse',
   'discourse',
-  'owncast',
+  'owncast'
 ]
 
 const data = {
@@ -8557,6 +8563,7 @@ const data = {
   twitter: require('./twitter'),
   reddit: require('./reddit'),
   liberapay: require('./liberapay'),
+  lichess: require('./lichess'),
   hackernews: require('./hackernews'),
   lobsters: require('./lobsters'),
   devto: require('./devto'),
@@ -8566,13 +8573,13 @@ const data = {
   mastodon: require('./mastodon'),
   fediverse: require('./fediverse'),
   discourse: require('./discourse'),
-  owncast: require('./owncast'),
+  owncast: require('./owncast')
 }
 
 exports.list = list
 exports.data = data
 
-},{"./devto":115,"./discourse":116,"./dns":117,"./fediverse":118,"./gitea":119,"./github":120,"./gitlab":121,"./hackernews":122,"./irc":124,"./liberapay":125,"./lobsters":126,"./mastodon":127,"./matrix":128,"./owncast":129,"./reddit":130,"./twitter":131,"./xmpp":132}],124:[function(require,module,exports){
+},{"./devto":115,"./discourse":116,"./dns":117,"./fediverse":118,"./gitea":119,"./github":120,"./gitlab":121,"./hackernews":122,"./irc":124,"./liberapay":125,"./lichess":126,"./lobsters":127,"./mastodon":128,"./matrix":129,"./owncast":130,"./reddit":131,"./twitter":132,"./xmpp":133}],124:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8590,7 +8597,7 @@ limitations under the License.
 */
 const E = require('../enums')
 
-const reURI = /^irc\:\/\/(.*)\/([a-zA-Z0-9\-\[\]\\\`\_\^\{\|\}]*)/
+const reURI = /^irc:\/\/(.*)\/([a-zA-Z0-9\-[\]\\`_^{|}]*)/
 
 const processURI = (uri) => {
   const match = uri.match(reURI)
@@ -8598,16 +8605,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'communication',
-      name: 'irc',
+      name: 'irc'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: `irc://${match[1]}/${match[2]}`,
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: null,
@@ -8617,42 +8624,42 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           domain: match[1],
-          nick: match[2],
-        },
-      },
+          nick: match[2]
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.URI,
       relation: E.ClaimRelation.CONTAINS,
-      path: [],
-    },
+      path: []
+    }
   }
 }
 
 const tests = [
   {
     uri: 'irc://chat.ircserver.org/Alice1',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'irc://chat.ircserver.org/alice?param=123',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'irc://chat.ircserver.org/alice_bob',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://chat.ircserver.org/alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],125:[function(require,module,exports){
+},{"../enums":135}],125:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8678,16 +8685,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'liberapay',
+      name: 'liberapay'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8697,38 +8704,114 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://liberapay.com/${match[1]}/public.json`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['statements', 'content'],
-    },
+      path: ['statements', 'content']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://liberapay.com/alice',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://liberapay.com/alice/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],126:[function(require,module,exports){
+},{"../enums":135}],126:[function(require,module,exports){
+/*
+Copyright 2021 Yarmo Mackenbach
+
+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.
+*/
+const E = require('../enums')
+
+const reURI = /^https:\/\/lichess\.org\/@\/(.*)\/?/
+
+const processURI = (uri) => {
+  const match = uri.match(reURI)
+
+  return {
+    serviceprovider: {
+      type: 'web',
+      name: 'lichess'
+    },
+    match: {
+      regularExpression: reURI,
+      isAmbiguous: false
+    },
+    profile: {
+      display: match[1],
+      uri: uri,
+      qr: null
+    },
+    proof: {
+      uri: `https://lichess.org/api/user/${match[1]}`,
+      request: {
+        fetcher: E.Fetcher.HTTP,
+        access: E.ProofAccess.GENERIC,
+        format: E.ProofFormat.JSON,
+        data: {
+          url: `https://lichess.org/api/user/${match[1]}`,
+          format: E.ProofFormat.JSON
+        }
+      }
+    },
+    claim: {
+      format: E.ClaimFormat.FINGERPRINT,
+      relation: E.ClaimRelation.CONTAINS,
+      path: ['profile', 'links']
+    }
+  }
+}
+
+const tests = [
+  {
+    uri: 'https://lichess.org/@/Alice',
+    shouldMatch: true
+  },
+  {
+    uri: 'https://lichess.org/@/Alice/',
+    shouldMatch: true
+  },
+  {
+    uri: 'https://domain.org/@/Alice',
+    shouldMatch: false
+  }
+]
+
+exports.reURI = reURI
+exports.processURI = processURI
+exports.tests = tests
+
+},{"../enums":135}],127:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8754,16 +8837,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'lobsters',
+      name: 'lobsters'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: `https://lobste.rs/u/${match[1]}.json`,
@@ -8773,38 +8856,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://lobste.rs/u/${match[1]}.json`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['about'],
-    },
+      path: ['about']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://lobste.rs/u/Alice',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://lobste.rs/u/Alice/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/u/Alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],127:[function(require,module,exports){
+},{"../enums":135}],128:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8830,16 +8913,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'mastodon',
+      name: 'mastodon'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: true,
+      isAmbiguous: true
     },
     profile: {
       display: `@${match[2]}@${match[1]}`,
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -8849,38 +8932,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: uri,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.FINGERPRINT,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['attachment', 'value'],
-    },
+      path: ['attachment', 'value']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://domain.org/@alice',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/@alice/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],128:[function(require,module,exports){
+},{"../enums":135}],129:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -8899,7 +8982,7 @@ limitations under the License.
 const E = require('../enums')
 const queryString = require('query-string')
 
-const reURI = /^matrix\:u\/(?:\@)?([^@:]*\:[^?]*)(\?.*)?/
+const reURI = /^matrix:u\/(?:@)?([^@:]*:[^?]*)(\?.*)?/
 
 const processURI = (uri) => {
   const match = uri.match(reURI)
@@ -8920,16 +9003,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'communication',
-      name: 'matrix',
+      name: 'matrix'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: `@${match[1]}`,
       uri: profileUrl,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: eventUrl,
@@ -8939,15 +9022,15 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           eventId: params['org.keyoxide.e'],
-          roomId: params['org.keyoxide.r'],
-        },
-      },
+          roomId: params['org.keyoxide.r']
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['content', 'body'],
-    },
+      path: ['content', 'body']
+    }
   }
 }
 
@@ -8955,27 +9038,27 @@ const tests = [
   {
     uri:
       'matrix:u/alice:matrix.domain.org?org.keyoxide.r=!123:domain.org&org.keyoxide.e=$123',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'matrix:u/alice:matrix.domain.org',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'xmpp:alice@domain.org',
-    shouldMatch: false,
+    shouldMatch: false
   },
   {
     uri: 'https://domain.org/@alice',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134,"query-string":10}],129:[function(require,module,exports){
+},{"../enums":135,"query-string":10}],130:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9001,16 +9084,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'owncast',
+      name: 'owncast'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: true,
+      isAmbiguous: true
     },
     profile: {
       display: match[1],
       uri: uri,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: `${uri}/api/config`,
@@ -9020,42 +9103,42 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `${uri}/api/config`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.FINGERPRINT,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['socialHandles', 'url'],
-    },
+      path: ['socialHandles', 'url']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://live.domain.org',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://live.domain.org/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/live',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/live/',
-    shouldMatch: true,
-  },
+    shouldMatch: true
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],130:[function(require,module,exports){
+},{"../enums":135}],131:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9081,16 +9164,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'reddit',
+      name: 'reddit'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: match[1],
       uri: `https://www.reddit.com/user/${match[1]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -9100,46 +9183,46 @@ const processURI = (uri) => {
         format: E.ProofFormat.JSON,
         data: {
           url: `https://www.reddit.com/user/${match[1]}/comments/${match[2]}.json`,
-          format: E.ProofFormat.JSON,
-        },
-      },
+          format: E.ProofFormat.JSON
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: ['data', 'children', 'data', 'selftext'],
-    },
+      path: ['data', 'children', 'data', 'selftext']
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://www.reddit.com/user/Alice/comments/123456/post',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://www.reddit.com/user/Alice/comments/123456/post/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://reddit.com/user/Alice/comments/123456/post',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://reddit.com/user/Alice/comments/123456/post/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/user/Alice/comments/123456/post',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],131:[function(require,module,exports){
+},{"../enums":135}],132:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9165,16 +9248,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'web',
-      name: 'twitter',
+      name: 'twitter'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: `@${match[1]}`,
       uri: `https://twitter.com/${match[1]}`,
-      qr: null,
+      qr: null
     },
     proof: {
       uri: uri,
@@ -9183,38 +9266,38 @@ const processURI = (uri) => {
         access: E.ProofAccess.GRANTED,
         format: E.ProofFormat.TEXT,
         data: {
-          tweetId: match[2],
-        },
-      },
+          tweetId: match[2]
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: [],
-    },
+      path: []
+    }
   }
 }
 
 const tests = [
   {
     uri: 'https://twitter.com/alice/status/1234567890123456789',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://twitter.com/alice/status/1234567890123456789/',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org/alice/status/1234567890123456789',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],132:[function(require,module,exports){
+},{"../enums":135}],133:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9232,7 +9315,7 @@ limitations under the License.
 */
 const E = require('../enums')
 
-const reURI = /^xmpp:([a-zA-Z0-9\.\-\_]*)@([a-zA-Z0-9\.\-\_]*)(?:\?(.*))?/
+const reURI = /^xmpp:([a-zA-Z0-9.\-_]*)@([a-zA-Z0-9.\-_]*)(?:\?(.*))?/
 
 const processURI = (uri) => {
   const match = uri.match(reURI)
@@ -9240,16 +9323,16 @@ const processURI = (uri) => {
   return {
     serviceprovider: {
       type: 'communication',
-      name: 'xmpp',
+      name: 'xmpp'
     },
     match: {
       regularExpression: reURI,
-      isAmbiguous: false,
+      isAmbiguous: false
     },
     profile: {
       display: `${match[1]}@${match[2]}`,
       uri: uri,
-      qr: uri,
+      qr: uri
     },
     proof: {
       uri: null,
@@ -9259,38 +9342,38 @@ const processURI = (uri) => {
         format: E.ProofFormat.TEXT,
         data: {
           id: `${match[1]}@${match[2]}`,
-          field: 'note',
-        },
-      },
+          field: 'note'
+        }
+      }
     },
     claim: {
       format: E.ClaimFormat.MESSAGE,
       relation: E.ClaimRelation.CONTAINS,
-      path: [],
-    },
+      path: []
+    }
   }
 }
 
 const tests = [
   {
     uri: 'xmpp:alice@domain.org',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'xmpp:alice@domain.org?omemo-sid-123456789=A1B2C3D4E5F6G7H8I9',
-    shouldMatch: true,
+    shouldMatch: true
   },
   {
     uri: 'https://domain.org',
-    shouldMatch: false,
-  },
+    shouldMatch: false
+  }
 ]
 
 exports.reURI = reURI
 exports.processURI = processURI
 exports.tests = tests
 
-},{"../enums":134}],133:[function(require,module,exports){
+},{"../enums":135}],134:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9335,30 +9418,30 @@ const E = require('./enums')
 const opts = {
   proxy: {
     hostname: null,
-    policy: E.ProxyPolicy.NEVER,
+    policy: E.ProxyPolicy.NEVER
   },
   claims: {
     irc: {
-      nick: null,
+      nick: null
     },
     matrix: {
       instance: null,
-      accessToken: null,
+      accessToken: null
     },
     xmpp: {
       service: null,
       username: null,
-      password: null,
+      password: null
     },
     twitter: {
-      bearerToken: null,
-    },
-  },
+      bearerToken: null
+    }
+  }
 }
 
 exports.opts = opts
 
-},{"./enums":134}],134:[function(require,module,exports){
+},{"./enums":135}],135:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9390,7 +9473,7 @@ const ProxyPolicy = {
   /** Always use a proxy */
   ALWAYS: 'always',
   /** Never use a proxy, skip a verification if a proxy is inevitable */
-  NEVER: 'never',
+  NEVER: 'never'
 }
 Object.freeze(ProxyPolicy)
 
@@ -9413,7 +9496,7 @@ const Fetcher = {
   /** HTTP request to Gitlab API */
   GITLAB: 'gitlab',
   /** HTTP request to Twitter API */
-  TWITTER: 'twitter',
+  TWITTER: 'twitter'
 }
 Object.freeze(Fetcher)
 
@@ -9430,7 +9513,7 @@ const ProofAccess = {
   /** HTTP requests must contain API or access tokens */
   GRANTED: 2,
   /** Not accessible by HTTP request, needs server software */
-  SERVER: 3,
+  SERVER: 3
 }
 Object.freeze(ProofAccess)
 
@@ -9443,7 +9526,7 @@ const ProofFormat = {
   /** JSON format */
   JSON: 'json',
   /** Plaintext format */
-  TEXT: 'text',
+  TEXT: 'text'
 }
 Object.freeze(ProofFormat)
 
@@ -9458,7 +9541,7 @@ const ClaimFormat = {
   /** `123123123` */
   FINGERPRINT: 1,
   /** `[Verifying my OpenPGP key: openpgp4fpr:123123123]` */
-  MESSAGE: 2,
+  MESSAGE: 2
 }
 Object.freeze(ClaimFormat)
 
@@ -9473,7 +9556,7 @@ const ClaimRelation = {
   /** Claim is equal to the JSON field's textual content */
   EQUALS: 1,
   /** Claim is equal to an element of the JSON field's array of strings */
-  ONEOF: 2,
+  ONEOF: 2
 }
 Object.freeze(ClaimRelation)
 
@@ -9488,7 +9571,7 @@ const ClaimStatus = {
   /** Claim has matched its URI to candidate claim definitions */
   MATCHED: 'matched',
   /** Claim has verified one or multiple candidate claim definitions */
-  VERIFIED: 'verified',
+  VERIFIED: 'verified'
 }
 Object.freeze(ClaimStatus)
 
@@ -9500,7 +9583,7 @@ exports.ClaimFormat = ClaimFormat
 exports.ClaimRelation = ClaimRelation
 exports.ClaimStatus = ClaimStatus
 
-},{}],135:[function(require,module,exports){
+},{}],136:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9516,7 +9599,7 @@ 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.
 */
-const jsEnv = require("browser-or-node")
+const jsEnv = require('browser-or-node')
 
 /**
  * @module fetcher/dns
@@ -9558,8 +9641,8 @@ if (jsEnv.isNode) {
         resolve({
           domain: data.domain,
           records: {
-            txt: records,
-          },
+            txt: records
+          }
         })
       })
     })
@@ -9572,7 +9655,8 @@ if (jsEnv.isNode) {
 } else {
   module.exports.fn = null
 }
-},{"browser-or-node":3,"dns":4}],136:[function(require,module,exports){
+
+},{"browser-or-node":3,"dns":4}],137:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9619,28 +9703,45 @@ module.exports.fn = async (data, opts) => {
     )
   })
 
-  const fetchPromise = new Promise(async (resolve, reject) => {
+  const fetchPromise = new Promise((resolve, reject) => {
     const urlUser = `https://${data.domain}/api/v4/users?username=${data.username}`
-    const resUser = await req(urlUser, null, { Accept: 'application/json' })
-    const jsonUser = await resUser.json()
+    // const resUser = await req(urlUser, null, { Accept: 'application/json' })
+    const res = req(urlUser, null, { Accept: 'application/json' })
+      .then(resUser => {
+        return resUser.json()
+      })
+      .then(jsonUser => {
+        return jsonUser.find((user) => user.username === data.username)
+      })
+      .then(user => {
+        if (!user) {
+          throw new Error(`No user with username ${data.username}`)
+        }
+        return user
+      })
+      .then(user => {
+        const urlProject = `https://${data.domain}/api/v4/users/${user.id}/projects`
+        return req(urlProject, null, {
+          Accept: 'application/json'
+        })
+      })
+      .then(resProject => {
+        return resProject.json()
+      })
+      .then(jsonProject => {
+        return jsonProject.find((proj) => proj.path === 'gitlab_proof')
+      })
+      .then(project => {
+        if (!project) {
+          throw new Error('No project found')
+        }
+        return project
+      })
+      .catch(error => {
+        reject(error)
+      })
 
-    const user = jsonUser.find((user) => user.username === data.username)
-    if (!user) {
-      reject(`No user with username ${data.username}`)
-    }
-
-    const urlProject = `https://${data.domain}/api/v4/users/${user.id}/projects`
-    const resProject = await req(urlProject, null, {
-      Accept: 'application/json',
-    })
-    const jsonProject = await resProject.json()
-
-    const project = jsonProject.find((proj) => proj.path === 'gitlab_proof')
-    if (!project) {
-      reject(`No project found`)
-    }
-
-    resolve(project)
+    resolve(res)
   })
 
   return Promise.race([fetchPromise, timeoutPromise]).then((result) => {
@@ -9649,7 +9750,7 @@ module.exports.fn = async (data, opts) => {
   })
 }
 
-},{"bent":1}],137:[function(require,module,exports){
+},{"bent":1}],138:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9699,7 +9800,7 @@ module.exports.fn = async (data, opts) => {
 
   const fetchPromise = new Promise((resolve, reject) => {
     if (!data.url) {
-      reject('No valid URI provided')
+      reject(new Error('No valid URI provided'))
       return
     }
 
@@ -9707,7 +9808,7 @@ module.exports.fn = async (data, opts) => {
       case E.ProofFormat.JSON:
         req(data.url, null, {
           Accept: 'application/json',
-          'User-Agent': `doipjs/${require('../../package.json').version}`,
+          'User-Agent': `doipjs/${require('../../package.json').version}`
         })
           .then(async (res) => {
             return await res.json()
@@ -9732,7 +9833,7 @@ module.exports.fn = async (data, opts) => {
           })
         break
       default:
-        reject('No specified data format')
+        reject(new Error('No specified data format'))
         break
     }
   })
@@ -9743,7 +9844,7 @@ module.exports.fn = async (data, opts) => {
   })
 }
 
-},{"../../package.json":113,"../enums":134,"bent":1}],138:[function(require,module,exports){
+},{"../../package.json":113,"../enums":135,"bent":1}],139:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9768,7 +9869,7 @@ exports.matrix = require('./matrix')
 exports.twitter = require('./twitter')
 exports.xmpp = require('./xmpp')
 
-},{"./dns":135,"./gitlab":136,"./http":137,"./irc":139,"./matrix":140,"./twitter":141,"./xmpp":142}],139:[function(require,module,exports){
+},{"./dns":136,"./gitlab":137,"./http":138,"./irc":140,"./matrix":141,"./twitter":142,"./xmpp":143}],140:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9784,7 +9885,7 @@ 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.
 */
-const jsEnv = require("browser-or-node")
+const jsEnv = require('browser-or-node')
 
 /**
  * @module fetcher/irc
@@ -9799,7 +9900,7 @@ module.exports.timeout = 20000
 if (jsEnv.isNode) {
   const irc = require('irc-upd')
   const validator = require('validator')
-  
+
   /**
    * Execute a fetch request
    * @function
@@ -9819,14 +9920,14 @@ if (jsEnv.isNode) {
         data.fetcherTimeout ? data.fetcherTimeout : module.exports.timeout
       )
     })
-  
+
     const fetchPromise = new Promise((resolve, reject) => {
       try {
         validator.isAscii(opts.claims.irc.nick)
       } catch (err) {
         throw new Error(`IRC fetcher was not set up properly (${err.message})`)
       }
-  
+
       try {
         const client = new irc.Client(data.domain, opts.claims.irc.nick, {
           port: 6697,
@@ -9835,10 +9936,10 @@ if (jsEnv.isNode) {
           showErrors: false,
           debug: false
         })
-        const reKey = /[a-zA-Z0-9\-\_]+\s+:\s(openpgp4fpr\:.*)/
+        const reKey = /[a-zA-Z0-9\-_]+\s+:\s(openpgp4fpr:.*)/
         const reEnd = /End\sof\s.*\staxonomy./
-        let keys = []
-  
+        const keys = []
+
         client.addListener('registered', (message) => {
           client.send(`PRIVMSG NickServ TAXONOMY ${data.nick}`)
         })
@@ -9856,7 +9957,7 @@ if (jsEnv.isNode) {
         reject(error)
       }
     })
-  
+
     return Promise.race([fetchPromise, timeoutPromise]).then((result) => {
       clearTimeout(timeoutHandle)
       return result
@@ -9866,7 +9967,7 @@ if (jsEnv.isNode) {
   module.exports.fn = null
 }
 
-},{"browser-or-node":3,"irc-upd":"irc-upd","validator":14}],140:[function(require,module,exports){
+},{"browser-or-node":3,"irc-upd":"irc-upd","validator":14}],141:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -9927,7 +10028,7 @@ module.exports.fn = async (data, opts) => {
 
     const url = `https://${opts.claims.matrix.instance}/_matrix/client/r0/rooms/${data.roomId}/event/${data.eventId}?access_token=${opts.claims.matrix.accessToken}`
     bentReq(url, null, {
-      Accept: 'application/json',
+      Accept: 'application/json'
     })
       .then(async (res) => {
         return await res.json()
@@ -9946,7 +10047,7 @@ module.exports.fn = async (data, opts) => {
   })
 }
 
-},{"bent":1,"validator":14}],141:[function(require,module,exports){
+},{"bent":1,"validator":14}],142:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -10009,7 +10110,7 @@ module.exports.fn = async (data, opts) => {
       null,
       {
         Accept: 'application/json',
-        Authorization: `Bearer ${opts.claims.twitter.bearerToken}`,
+        Authorization: `Bearer ${opts.claims.twitter.bearerToken}`
       }
     )
       .then(async (data) => {
@@ -10029,7 +10130,7 @@ module.exports.fn = async (data, opts) => {
   })
 }
 
-},{"bent":1,"validator":14}],142:[function(require,module,exports){
+},{"bent":1,"validator":14}],143:[function(require,module,exports){
 (function (process){(function (){
 /*
 Copyright 2021 Yarmo Mackenbach
@@ -10046,7 +10147,7 @@ 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.
 */
-const jsEnv = require("browser-or-node")
+const jsEnv = require('browser-or-node')
 
 /**
  * @module fetcher/xmpp
@@ -10063,16 +10164,16 @@ if (jsEnv.isNode) {
   const { client, xml } = require('@xmpp/client')
   const debug = require('@xmpp/debug')
   const validator = require('validator')
-  
-  let xmpp = null,
-    iqCaller = null
-  
+
+  let xmpp = null
+  let iqCaller = null
+
   const xmppStart = async (service, username, password) => {
     return new Promise((resolve, reject) => {
       const xmpp = client({
         service: service,
         username: username,
-        password: password,
+        password: password
       })
       if (process.env.NODE_ENV !== 'production') {
         debug(xmpp, true)
@@ -10087,7 +10188,7 @@ if (jsEnv.isNode) {
       })
     })
   }
-  
+
   /**
    * Execute a fetch request
    * @function
@@ -10102,6 +10203,32 @@ if (jsEnv.isNode) {
    * @returns {object}
    */
   module.exports.fn = async (data, opts) => {
+    try {
+      validator.isFQDN(opts.claims.xmpp.service)
+      validator.isAscii(opts.claims.xmpp.username)
+      validator.isAscii(opts.claims.xmpp.password)
+    } catch (err) {
+      throw new Error(`XMPP fetcher was not set up properly (${err.message})`)
+    }
+
+    if (!xmpp || xmpp.status !== 'online') {
+      const xmppStartRes = await xmppStart(
+        opts.claims.xmpp.service,
+        opts.claims.xmpp.username,
+        opts.claims.xmpp.password
+      )
+      xmpp = xmppStartRes.xmpp
+      iqCaller = xmppStartRes.iqCaller
+    }
+
+    const response = await iqCaller.request(
+      xml('iq', { type: 'get', to: data.id }, xml('vCard', 'vcard-temp')),
+      30 * 1000
+    )
+
+    const vcardRow = response.getChild('vCard', 'vcard-temp').toString()
+    const dom = new jsdom.JSDOM(vcardRow)
+
     let timeoutHandle
     const timeoutPromise = new Promise((resolve, reject) => {
       timeoutHandle = setTimeout(
@@ -10109,37 +10236,11 @@ if (jsEnv.isNode) {
         data.fetcherTimeout ? data.fetcherTimeout : module.exports.timeout
       )
     })
-  
-    const fetchPromise = new Promise(async (resolve, reject) => {
-      try {
-        validator.isFQDN(opts.claims.xmpp.service)
-        validator.isAscii(opts.claims.xmpp.username)
-        validator.isAscii(opts.claims.xmpp.password)
-      } catch (err) {
-        throw new Error(`XMPP fetcher was not set up properly (${err.message})`)
-      }
-  
-      if (!xmpp || xmpp.status !== 'online') {
-        const xmppStartRes = await xmppStart(
-          opts.claims.xmpp.service,
-          opts.claims.xmpp.username,
-          opts.claims.xmpp.password
-        )
-        xmpp = xmppStartRes.xmpp
-        iqCaller = xmppStartRes.iqCaller
-      }
-  
-      const response = await iqCaller.request(
-        xml('iq', { type: 'get', to: data.id }, xml('vCard', 'vcard-temp')),
-        30 * 1000
-      )
-  
-      const vcardRow = response.getChild('vCard', 'vcard-temp').toString()
-      const dom = new jsdom.JSDOM(vcardRow)
-  
+
+    const fetchPromise = new Promise((resolve, reject) => {
       try {
         let vcard
-  
+
         switch (data.field.toLowerCase()) {
           case 'desc':
           case 'note':
@@ -10153,7 +10254,7 @@ if (jsEnv.isNode) {
               throw new Error('No DESC or NOTE field found in vCard')
             }
             break
-  
+
           default:
             vcard = dom.window.document.querySelector(data).textContent
             break
@@ -10164,7 +10265,7 @@ if (jsEnv.isNode) {
         reject(error)
       }
     })
-  
+
     return Promise.race([fetchPromise, timeoutPromise]).then((result) => {
       clearTimeout(timeoutHandle)
       return result
@@ -10175,7 +10276,7 @@ if (jsEnv.isNode) {
 }
 
 }).call(this)}).call(this,require('_process'))
-},{"@xmpp/client":"@xmpp/client","@xmpp/debug":"@xmpp/debug","_process":9,"browser-or-node":3,"jsdom":"jsdom","validator":14}],143:[function(require,module,exports){
+},{"@xmpp/client":"@xmpp/client","@xmpp/debug":"@xmpp/debug","_process":9,"browser-or-node":3,"jsdom":"jsdom","validator":14}],144:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -10209,7 +10310,7 @@ exports.enums = enums
 exports.defaults = defaults
 exports.utils = utils
 
-},{"./claim":114,"./claimDefinitions":123,"./defaults":133,"./enums":134,"./keys":144,"./proofs":145,"./signatures":146,"./utils":147}],144:[function(require,module,exports){
+},{"./claim":114,"./claimDefinitions":123,"./defaults":134,"./enums":135,"./keys":145,"./proofs":146,"./signatures":147,"./utils":148}],145:[function(require,module,exports){
 (function (global){(function (){
 /*
 Copyright 2021 Yarmo Mackenbach
@@ -10247,36 +10348,32 @@ const Claim = require('./claim')
  * const key1 = doip.keys.fetchHKP('alice@domain.tld');
  * const key2 = doip.keys.fetchHKP('123abc123abc');
  */
-exports.fetchHKP = (identifier, keyserverDomain) => {
-  return new Promise(async (resolve, reject) => {
-    const keyserverBaseUrl = keyserverDomain
-      ? `https://${keyserverDomain}`
-      : 'https://keys.openpgp.org'
+exports.fetchHKP = async (identifier, keyserverDomain) => {
+  const keyserverBaseUrl = keyserverDomain
+    ? `https://${keyserverDomain}`
+    : 'https://keys.openpgp.org'
 
-    const hkp = new openpgp.HKP(keyserverBaseUrl)
-    const lookupOpts = {
-      query: identifier,
-    }
+  const hkp = new openpgp.HKP(keyserverBaseUrl)
+  const lookupOpts = {
+    query: identifier
+  }
 
-    let publicKey = await hkp.lookup(lookupOpts).catch((error) => {
-      reject('Key does not exist or could not be fetched')
-    })
-
-    publicKey = await openpgp.key
-      .readArmored(publicKey)
-      .then((result) => {
-        return result.keys[0]
-      })
-      .catch((error) => {
-        return null
-      })
-
-    if (publicKey) {
-      resolve(publicKey)
-    } else {
-      reject('Key does not exist or could not be fetched')
-    }
+  const publicKey = await hkp.lookup(lookupOpts).catch((error) => {
+    throw new Error(`Key does not exist or could not be fetched (${error})`)
   })
+
+  if (!publicKey) {
+    throw new Error('Key does not exist or could not be fetched')
+  }
+
+  return await openpgp.key
+    .readArmored(publicKey)
+    .then((result) => {
+      return result.keys[0]
+    })
+    .catch((error) => {
+      throw new Error(`Key does not exist or could not be fetched (${error})`)
+    })
 }
 
 /**
@@ -10287,28 +10384,20 @@ exports.fetchHKP = (identifier, keyserverDomain) => {
  * @example
  * const key = doip.keys.fetchWKD('alice@domain.tld');
  */
-exports.fetchWKD = (identifier) => {
-  return new Promise(async (resolve, reject) => {
-    const wkd = new openpgp.WKD()
-    const lookupOpts = {
-      email: identifier,
-    }
+exports.fetchWKD = async (identifier) => {
+  const wkd = new openpgp.WKD()
+  const lookupOpts = {
+    email: identifier
+  }
 
-    const publicKey = await wkd
-      .lookup(lookupOpts)
-      .then((result) => {
-        return result.keys[0]
-      })
-      .catch((error) => {
-        return null
-      })
-
-    if (publicKey) {
-      resolve(publicKey)
-    } else {
-      reject('Key does not exist or could not be fetched')
-    }
-  })
+  return await wkd
+    .lookup(lookupOpts)
+    .then((result) => {
+      return result.keys[0]
+    })
+    .catch((error) => {
+      throw new Error(`Key does not exist or could not be fetched (${error})`)
+    })
 }
 
 /**
@@ -10320,37 +10409,29 @@ exports.fetchWKD = (identifier) => {
  * @example
  * const key = doip.keys.fetchKeybase('alice', '123abc123abc');
  */
-exports.fetchKeybase = (username, fingerprint) => {
-  return new Promise(async (resolve, reject) => {
-    const keyLink = `https://keybase.io/${username}/pgp_keys.asc?fingerprint=${fingerprint}`
-    let rawKeyContent
-    try {
-      rawKeyContent = await req(keyLink)
-        .then((response) => {
-          if (response.status === 200) {
-            return response
-          }
-        })
-        .then((response) => response.text())
-    } catch (e) {
-      reject(`Error fetching Keybase key: ${e.message}`)
-    }
-
-    const publicKey = await openpgp.key
-      .readArmored(rawKeyContent)
-      .then((result) => {
-        return result.keys[0]
-      })
-      .catch((error) => {
-        return null
+exports.fetchKeybase = async (username, fingerprint) => {
+  const keyLink = `https://keybase.io/${username}/pgp_keys.asc?fingerprint=${fingerprint}`
+  let rawKeyContent
+  try {
+    rawKeyContent = await req(keyLink)
+      .then((response) => {
+        if (response.status === 200) {
+          return response
+        }
       })
+      .then((response) => response.text())
+  } catch (e) {
+    throw new Error(`Error fetching Keybase key: ${e.message}`)
+  }
 
-    if (publicKey) {
-      resolve(publicKey)
-    } else {
-      reject('Key does not exist or could not be fetched')
-    }
-  })
+  return await openpgp.key
+    .readArmored(rawKeyContent)
+    .then((result) => {
+      return result.keys[0]
+    })
+    .catch((error) => {
+      throw new Error(`Key does not exist or could not be fetched (${error})`)
+    })
 }
 
 /**
@@ -10367,12 +10448,9 @@ exports.fetchKeybase = (username, fingerprint) => {
  * -----END PGP PUBLIC KEY BLOCK-----`
  * const key = doip.keys.fetchPlaintext(plainkey);
  */
-exports.fetchPlaintext = (rawKeyContent) => {
-  return new Promise(async (resolve, reject) => {
-    const publicKey = (await openpgp.key.readArmored(rawKeyContent)).keys[0]
-
-    resolve(publicKey)
-  })
+exports.fetchPlaintext = async (rawKeyContent) => {
+  const publicKey = (await openpgp.key.readArmored(rawKeyContent)).keys[0]
+  return publicKey
 }
 
 /**
@@ -10385,41 +10463,34 @@ exports.fetchPlaintext = (rawKeyContent) => {
  * const key2 = doip.keys.fetchURI('hkp:123abc123abc');
  * const key3 = doip.keys.fetchURI('wkd:alice@domain.tld');
  */
-exports.fetchURI = (uri) => {
-  return new Promise(async (resolve, reject) => {
-    if (!validUrl.isUri(uri)) {
-      reject('Invalid URI')
-    }
+exports.fetchURI = async (uri) => {
+  if (!validUrl.isUri(uri)) {
+    throw new Error('Invalid URI')
+  }
 
-    const re = /([a-zA-Z0-9]*):([a-zA-Z0-9@._=+\-]*)(?:\:([a-zA-Z0-9@._=+\-]*))?/
-    const match = uri.match(re)
+  const re = /([a-zA-Z0-9]*):([a-zA-Z0-9@._=+-]*)(?::([a-zA-Z0-9@._=+-]*))?/
+  const match = uri.match(re)
 
-    if (!match[1]) {
-      reject('Invalid URI')
-    }
+  if (!match[1]) {
+    throw new Error('Invalid URI')
+  }
 
-    switch (match[1]) {
-      case 'hkp':
-        resolve(
-          exports.fetchHKP(
-            match[3] ? match[3] : match[2],
-            match[3] ? match[2] : null
-          )
-        )
-        break
-      case 'wkd':
-        resolve(exports.fetchWKD(match[2]))
-        break
-      case 'kb':
-        resolve(
-          exports.fetchKeybase(match[2], match.length >= 4 ? match[3] : null)
-        )
-        break
-      default:
-        reject('Invalid URI protocol')
-        break
-    }
-  })
+  switch (match[1]) {
+    case 'hkp':
+      return exports.fetchHKP(
+        match[3] ? match[3] : match[2],
+        match[3] ? match[2] : null
+      )
+
+    case 'wkd':
+      return exports.fetchWKD(match[2])
+
+    case 'kb':
+      return exports.fetchKeybase(match[2], match.length >= 4 ? match[3] : null)
+
+    default:
+      throw new Error('Invalid URI protocol')
+  }
 }
 
 /**
@@ -10434,57 +10505,61 @@ exports.fetchURI = (uri) => {
  *   console.log(claim.uri);
  * });
  */
-exports.process = (publicKey) => {
-  return new Promise(async (resolve, reject) => {
-    if (!publicKey || !(publicKey instanceof openpgp.key.Key)) {
-      reject('Invalid public key')
+exports.process = async (publicKey) => {
+  if (!publicKey || !(publicKey instanceof openpgp.key.Key)) {
+    throw new Error('Invalid public key')
+  }
+
+  const fingerprint = await publicKey.primaryKey.getFingerprint()
+  const primaryUser = await publicKey.getPrimaryUser()
+  const users = publicKey.users
+  const usersOutput = []
+
+  users.forEach((user, i) => {
+    usersOutput[i] = {
+      userData: {
+        id: user.userId ? user.userId.userid : null,
+        name: user.userId ? user.userId.name : null,
+        email: user.userId ? user.userId.email : null,
+        comment: user.userId ? user.userId.comment : null,
+        isPrimary: primaryUser.index === i,
+        isRevoked: false
+      },
+      claims: []
     }
 
-    const fingerprint = await publicKey.primaryKey.getFingerprint()
-    const primaryUser = await publicKey.getPrimaryUser()
-    const users = publicKey.users
-    let usersOutput = []
+    if ('selfCertifications' in user && user.selfCertifications.length > 0) {
+      const selfCertification = user.selfCertifications[0]
 
-    users.forEach((user, i) => {
-      usersOutput[i] = {
-        userData: {
-          id: user.userId ? user.userId.userid : null,
-          name: user.userId ? user.userId.name : null,
-          email: user.userId ? user.userId.email : null,
-          comment: user.userId ? user.userId.comment : null,
-          isPrimary: primaryUser.index === i,
-          isRevoked: false,
-        },
-        claims: [],
-      }
+      const notations = selfCertification.rawNotations
+      usersOutput[i].claims = notations
+        .filter(
+          ({ name, humanReadable }) =>
+            humanReadable && name === 'proof@metacode.biz'
+        )
+        .map(
+          ({ value }) =>
+            new Claim(openpgp.util.decode_utf8(value), fingerprint)
+        )
 
-      if ('selfCertifications' in user && user.selfCertifications.length > 0) {
-        const selfCertification = user.selfCertifications[0]
-        
-        const notations = selfCertification.rawNotations
-        usersOutput[i].claims = notations
-          .filter(({ name, humanReadable }) => humanReadable && name === 'proof@metacode.biz')
-          .map(({ value }) => new Claim(openpgp.util.decode_utf8(value), fingerprint))
-        
-        usersOutput[i].userData.isRevoked = selfCertification.revoked
-      }
-    })
-
-    resolve({
-      fingerprint: fingerprint,
-      users: usersOutput,
-      primaryUserIndex: primaryUser.index,
-      key: {
-        data: publicKey,
-        fetchMethod: null,
-        uri: null,
-      },
-    })
+      usersOutput[i].userData.isRevoked = selfCertification.revoked
+    }
   })
+
+  return {
+    fingerprint: fingerprint,
+    users: usersOutput,
+    primaryUserIndex: primaryUser.index,
+    key: {
+      data: publicKey,
+      fetchMethod: null,
+      uri: null
+    }
+  }
 }
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./claim":114,"bent":1,"valid-url":13}],145:[function(require,module,exports){
+},{"./claim":114,"bent":1,"valid-url":13}],146:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -10541,49 +10616,37 @@ const handleBrowserRequests = (data, opts) => {
   switch (opts.proxy.policy) {
     case E.ProxyPolicy.ALWAYS:
       return createProxyRequestPromise(data, opts)
-      break
 
     case E.ProxyPolicy.NEVER:
       switch (data.proof.request.access) {
         case E.ProofAccess.GENERIC:
         case E.ProofAccess.GRANTED:
           return createDefaultRequestPromise(data, opts)
-          break
         case E.ProofAccess.NOCORS:
         case E.ProofAccess.SERVER:
           throw new Error(
             'Impossible to fetch proof (bad combination of service access and proxy policy)'
           )
-          break
         default:
           throw new Error('Invalid proof access value')
-          break
       }
-      break
 
     case E.ProxyPolicy.ADAPTIVE:
       switch (data.proof.request.access) {
         case E.ProofAccess.GENERIC:
           return createFallbackRequestPromise(data, opts)
-          break
         case E.ProofAccess.NOCORS:
           return createProxyRequestPromise(data, opts)
-          break
         case E.ProofAccess.GRANTED:
           return createFallbackRequestPromise(data, opts)
-          break
         case E.ProofAccess.SERVER:
           return createProxyRequestPromise(data, opts)
-          break
         default:
           throw new Error('Invalid proof access value')
-          break
       }
-      break
 
     default:
       throw new Error('Invalid proxy policy')
-      break
   }
 }
 
@@ -10591,19 +10654,15 @@ const handleNodeRequests = (data, opts) => {
   switch (opts.proxy.policy) {
     case E.ProxyPolicy.ALWAYS:
       return createProxyRequestPromise(data, opts)
-      break
 
     case E.ProxyPolicy.NEVER:
       return createDefaultRequestPromise(data, opts)
-      break
 
     case E.ProxyPolicy.ADAPTIVE:
       return createFallbackRequestPromise(data, opts)
-      break
 
     default:
       throw new Error('Invalid proxy policy')
-      break
   }
 }
 
@@ -10616,7 +10675,7 @@ const createDefaultRequestPromise = (data, opts) => {
           fetcher: data.proof.request.fetcher,
           data: data,
           viaProxy: false,
-          result: res,
+          result: res
         })
       })
       .catch((err) => {
@@ -10641,7 +10700,7 @@ const createProxyRequestPromise = (data, opts) => {
     const requestData = {
       url: proxyUrl,
       format: data.proof.request.format,
-      fetcherTimeout: fetcher[data.proof.request.fetcher].timeout,
+      fetcherTimeout: fetcher[data.proof.request.fetcher].timeout
     }
     fetcher.http
       .fn(requestData, opts)
@@ -10650,7 +10709,7 @@ const createProxyRequestPromise = (data, opts) => {
           fetcher: 'http',
           data: data,
           viaProxy: true,
-          result: res,
+          result: res
         })
       })
       .catch((err) => {
@@ -10671,7 +10730,7 @@ const createFallbackRequestPromise = (data, opts) => {
             return resolve(res)
           })
           .catch((err2) => {
-            return reject([err1, err2])
+            return reject(err2)
           })
       })
   })
@@ -10679,7 +10738,7 @@ const createFallbackRequestPromise = (data, opts) => {
 
 exports.fetch = fetch
 
-},{"./enums":134,"./fetcher":138,"./utils":147,"browser-or-node":3}],146:[function(require,module,exports){
+},{"./enums":135,"./fetcher":139,"./utils":148,"browser-or-node":3}],147:[function(require,module,exports){
 (function (global){(function (){
 /*
 Copyright 2021 Yarmo Mackenbach
@@ -10710,128 +10769,122 @@ const keys = require('./keys')
  * @param {string} signature - The plaintext signature to process
  * @returns {Promise<object>}
  */
-const process = (signature) => {
-  return new Promise(async (resolve, reject) => {
-    let sigData,
-      result = {
-        fingerprint: null,
-        users: [
-          {
-            userData: {},
-            claims: [],
-          },
-        ],
-        primaryUserIndex: null,
-        key: {
-          data: null,
-          fetchMethod: null,
-          uri: null,
-        },
+const process = async (signature) => {
+  let sigData
+  const result = {
+    fingerprint: null,
+    users: [
+      {
+        userData: {},
+        claims: []
       }
+    ],
+    primaryUserIndex: null,
+    key: {
+      data: null,
+      fetchMethod: null,
+      uri: null
+    }
+  }
 
-    try {
-      sigData = await openpgp.cleartext.readArmored(signature)
-    } catch (error) {
-      reject(new Error('invalid_signature'))
+  try {
+    sigData = await openpgp.cleartext.readArmored(signature)
+  } catch (error) {
+    throw new Error('invalid_signature')
+  }
+
+  const issuerKeyId = sigData.signature.packets[0].issuerKeyId.toHex()
+  const signersUserId = sigData.signature.packets[0].signersUserId
+  const preferredKeyServer =
+    sigData.signature.packets[0].preferredKeyServer ||
+    'https://keys.openpgp.org/'
+  const text = sigData.getText()
+  const sigKeys = []
+
+  text.split('\n').forEach((line, i) => {
+    const match = line.match(/^([a-zA-Z0-9]*)=(.*)$/i)
+    if (!match) {
       return
     }
+    switch (match[1].toLowerCase()) {
+      case 'key':
+        sigKeys.push(match[2])
+        break
 
-    const issuerKeyId = sigData.signature.packets[0].issuerKeyId.toHex()
-    const signersUserId = sigData.signature.packets[0].signersUserId
-    const preferredKeyServer =
-      sigData.signature.packets[0].preferredKeyServer ||
-      'https://keys.openpgp.org/'
-    const text = sigData.getText()
-    let sigKeys = []
+      case 'proof':
+        result.users[0].claims.push(new Claim(match[2]))
+        break
 
-    text.split('\n').forEach((line, i) => {
-      const match = line.match(/^([a-zA-Z0-9]*)\=(.*)$/i)
-      if (!match) {
-        return
-      }
-      switch (match[1].toLowerCase()) {
-        case 'key':
-          sigKeys.push(match[2])
-          break
-
-        case 'proof':
-          result.users[0].claims.push(new Claim(match[2]))
-          break
-
-        default:
-          break
-      }
-    })
-
-    // Try overruling key
-    if (sigKeys.length > 0) {
-      try {
-        result.key.uri = sigKeys[0]
-        result.key.data = await keys.fetchURI(result.key.uri)
-        result.key.fetchMethod = result.key.uri.split(':')[0]
-      } catch (e) {}
+      default:
+        break
     }
-    // Try WKD
-    if (!result.key.data && signersUserId) {
-      try {
-        result.key.uri = `wkd:${signersUserId}`
-        result.key.data = await keys.fetchURI(result.key.uri)
-        result.key.fetchMethod = 'wkd'
-      } catch (e) {}
-    }
-    // Try HKP
-    if (!result.key.data) {
-      try {
-        const match = preferredKeyServer.match(/^(.*\:\/\/)?([^/]*)(?:\/)?$/i)
-        result.key.uri = `hkp:${match[2]}:${
-          issuerKeyId ? issuerKeyId : signersUserId
-        }`
-        result.key.data = await keys.fetchURI(result.key.uri)
-        result.key.fetchMethod = 'hkp'
-      } catch (e) {
-        reject(new Error('key_not_found'))
-        return
-      }
-    }
-
-    result.fingerprint = result.key.data.keyPacket.getFingerprint()
-
-    result.users[0].claims.forEach((claim) => {
-      claim.fingerprint = result.fingerprint
-    })
-
-    const primaryUserData = await result.key.data.getPrimaryUser()
-    let userData
-
-    if (signersUserId) {
-      result.key.data.users.forEach((user) => {
-        if (user.userId.email == signersUserId) {
-          userData = user
-        }
-      })
-    }
-    if (!userData) {
-      userData = primaryUserData.user
-    }
-
-    result.users[0].userData = {
-      id: userData.userId ? userData.userId.userid : null,
-      name: userData.userId ? userData.userId.name : null,
-      email: userData.userId ? userData.userId.email : null,
-      comment: userData.userId ? userData.userId.comment : null,
-      isPrimary: primaryUserData.user.userId.userid === userData.userId.userid,
-    }
-
-    result.primaryUserIndex = result.users[0].userData.isPrimary ? 0 : null
-
-    resolve(result)
   })
+
+  // Try overruling key
+  if (sigKeys.length > 0) {
+    try {
+      result.key.uri = sigKeys[0]
+      result.key.data = await keys.fetchURI(result.key.uri)
+      result.key.fetchMethod = result.key.uri.split(':')[0]
+    } catch (e) {}
+  }
+  // Try WKD
+  if (!result.key.data && signersUserId) {
+    try {
+      result.key.uri = `wkd:${signersUserId}`
+      result.key.data = await keys.fetchURI(result.key.uri)
+      result.key.fetchMethod = 'wkd'
+    } catch (e) {}
+  }
+  // Try HKP
+  if (!result.key.data) {
+    try {
+      const match = preferredKeyServer.match(/^(.*:\/\/)?([^/]*)(?:\/)?$/i)
+      result.key.uri = `hkp:${match[2]}:${issuerKeyId || signersUserId}`
+      result.key.data = await keys.fetchURI(result.key.uri)
+      result.key.fetchMethod = 'hkp'
+    } catch (e) {
+      throw new Error('key_not_found')
+    }
+  }
+
+  result.fingerprint = result.key.data.keyPacket.getFingerprint()
+
+  result.users[0].claims.forEach((claim) => {
+    claim.fingerprint = result.fingerprint
+  })
+
+  const primaryUserData = await result.key.data.getPrimaryUser()
+  let userData
+
+  if (signersUserId) {
+    result.key.data.users.forEach((user) => {
+      if (user.userId.email === signersUserId) {
+        userData = user
+      }
+    })
+  }
+  if (!userData) {
+    userData = primaryUserData.user
+  }
+
+  result.users[0].userData = {
+    id: userData.userId ? userData.userId.userid : null,
+    name: userData.userId ? userData.userId.name : null,
+    email: userData.userId ? userData.userId.email : null,
+    comment: userData.userId ? userData.userId.comment : null,
+    isPrimary: primaryUserData.user.userId.userid === userData.userId.userid
+  }
+
+  result.primaryUserIndex = result.users[0].userData.isPrimary ? 0 : null
+
+  return result
 }
 
 exports.process = process
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./claim":114,"./keys":144}],147:[function(require,module,exports){
+},{"./claim":114,"./keys":145}],148:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -10866,10 +10919,10 @@ const generateProxyURL = (type, data, opts) => {
   try {
     validator.isFQDN(opts.proxy.hostname)
   } catch (err) {
-    throw new Error(`Invalid proxy hostname`)
+    throw new Error('Invalid proxy hostname')
   }
 
-  let queryStrings = []
+  const queryStrings = []
 
   Object.keys(data).forEach((key) => {
     queryStrings.push(`${key}=${encodeURIComponent(data[key])}`)
@@ -10890,13 +10943,10 @@ const generateClaim = (fingerprint, format) => {
   switch (format) {
     case E.ClaimFormat.URI:
       return `openpgp4fpr:${fingerprint}`
-      break
     case E.ClaimFormat.MESSAGE:
       return `[Verifying my OpenPGP key: openpgp4fpr:${fingerprint}]`
-      break
     case E.ClaimFormat.FINGERPRINT:
       return fingerprint
-      break
     default:
       throw new Error('No valid claim format')
   }
@@ -10905,7 +10955,7 @@ const generateClaim = (fingerprint, format) => {
 exports.generateProxyURL = generateProxyURL
 exports.generateClaim = generateClaim
 
-},{"./enums":134,"validator":14}],148:[function(require,module,exports){
+},{"./enums":135,"validator":14}],149:[function(require,module,exports){
 /*
 Copyright 2021 Yarmo Mackenbach
 
@@ -10947,31 +10997,26 @@ const runJSON = (proofData, checkPath, checkClaim, checkRelation) => {
     return result
   }
 
-  if (checkPath.length == 0) {
+  if (checkPath.length === 0) {
     switch (checkRelation) {
-      default:
-      case E.ClaimRelation.CONTAINS:
-        re = new RegExp(checkClaim, 'gi')
-        return re.test(proofData.replace(/\r?\n|\r|\\/g, ''))
-        break
-
       case E.ClaimRelation.EQUALS:
         return (
-          proofData.replace(/\r?\n|\r|\\/g, '').toLowerCase() ==
+          proofData.replace(/\r?\n|\r|\\/g, '').toLowerCase() ===
           checkClaim.toLowerCase()
         )
-        break
 
       case E.ClaimRelation.ONEOF:
         re = new RegExp(checkClaim, 'gi')
         return re.test(proofData.join('|'))
-        break
+
+      case E.ClaimRelation.CONTAINS:
+      default:
+        re = new RegExp(checkClaim, 'gi')
+        return re.test(proofData.replace(/\r?\n|\r|\\/g, ''))
     }
   }
 
-  try {
-    checkPath[0] in proofData
-  } catch (e) {
+  if (!(checkPath[0] in proofData)) {
     throw new Error('err_json_structure_incorrect')
   }
 
@@ -10991,10 +11036,10 @@ const runJSON = (proofData, checkPath, checkClaim, checkRelation) => {
  * @returns {object}
  */
 const run = (proofData, claimData, fingerprint) => {
-  let res = {
+  const res = {
     result: false,
     completed: false,
-    errors: [],
+    errors: []
   }
 
   switch (claimData.proof.request.format) {
@@ -11033,5 +11078,5 @@ const run = (proofData, claimData, fingerprint) => {
 
 exports.run = run
 
-},{"./enums":134,"./utils":147}]},{},[143])(143)
+},{"./enums":135,"./utils":148}]},{},[144])(144)
 });
diff --git a/dist/doip.min.js b/dist/doip.min.js
index d95f12c..6cfc041 100644
--- a/dist/doip.min.js
+++ b/dist/doip.min.js
@@ -1 +1 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).doip=e()}}((function(){return function e(t,r,i){function a(n,s){if(!r[n]){if(!t[n]){var u="function"==typeof require&&require;if(!s&&u)return u(n,!0);if(o)return o(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[n]={exports:{}};t[n][0].call(c.exports,(function(e){return a(t[n][1][e]||e)}),c,c.exports,e,t,r,i)}return r[n].exports}for(var o="function"==typeof require&&require,n=0;n<i.length;n++)a(i[n]);return a}({1:[function(e,t,r){"use strict";const i=e("./core");class a extends Error{constructor(e,...t){let r;super(...t),Error.captureStackTrace&&Error.captureStackTrace(this,a),this.name="StatusError",this.message=e.statusMessage,this.statusCode=e.status,this.res=e,this.json=e.json.bind(e),this.text=e.text.bind(e),this.arrayBuffer=e.arrayBuffer.bind(e);Object.defineProperty(this,"responseBody",{get:()=>(r||(r=this.arrayBuffer()),r)}),this.headers={};for(const[t,r]of e.headers.entries())this.headers[t.toLowerCase()]=r}}t.exports=i(((e,t,r,i,o)=>async(n,s,u={})=>{n=o+(n||"");let l=new URL(n);if(i||(i={}),l.username&&(i.Authorization="Basic "+btoa(l.username+":"+l.password),l=new URL(l.protocol+"//"+l.host+l.pathname+l.search)),"https:"!==l.protocol&&"http:"!==l.protocol)throw new Error("Unknown protocol, "+l.protocol);if(s)if(s instanceof ArrayBuffer||ArrayBuffer.isView(s)||"string"==typeof s);else{if("object"!=typeof s)throw new Error("Unknown body type.");s=JSON.stringify(s),i["Content-Type"]="application/json"}u=new Headers({...i||{},...u});const c=await fetch(l,{method:t,headers:u,body:s});if(c.statusCode=c.status,!e.has(c.status))throw new a(c);return"json"===r?c.json():"buffer"===r?c.arrayBuffer():"string"===r?c.text():c}))},{"./core":2}],2:[function(e,t,r){"use strict";const i=new Set(["json","buffer","string"]);t.exports=e=>(...t)=>{const r=new Set;let a,o,n,s="";return t.forEach((e=>{if("string"==typeof e)if(e.toUpperCase()===e){if(a){throw new Error(`Can't set method to ${e}, already set to ${a}.`)}a=e}else if(e.startsWith("http:")||e.startsWith("https:"))s=e;else{if(!i.has(e))throw new Error("Unknown encoding, "+e);o=e}else if("number"==typeof e)r.add(e);else{if("object"!=typeof e)throw new Error("Unknown type: "+typeof e);if(Array.isArray(e)||e instanceof Set)e.forEach((e=>r.add(e)));else{if(n)throw new Error("Cannot set headers twice.");n=e}}})),a||(a="GET"),0===r.size&&r.add(200),e(r,a,o,n,s)}},{}],3:[function(e,t,r){(function(e){(function(){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i="undefined"!=typeof window&&void 0!==window.document,a="object"===("undefined"==typeof self?"undefined":t(self))&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,o=void 0!==e&&null!=e.versions&&null!=e.versions.node;r.isBrowser=i,r.isWebWorker=a,r.isNode=o,r.isJsDom=function(){return"undefined"!=typeof window&&"nodejs"===window.name||navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")}}).call(this)}).call(this,e("_process"))},{_process:9}],4:[function(e,t,r){},{}],5:[function(e,t,r){"use strict";var i="%[a-f0-9]{2}",a=new RegExp(i,"gi"),o=new RegExp("("+i+")+","gi");function n(e,t){try{return decodeURIComponent(e.join(""))}catch(e){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),i=e.slice(t);return Array.prototype.concat.call([],n(r),n(i))}function s(e){try{return decodeURIComponent(e)}catch(i){for(var t=e.match(a),r=1;r<t.length;r++)t=(e=n(t,r).join("")).match(a);return e}}t.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return e=e.replace(/\+/g," "),decodeURIComponent(e)}catch(t){return function(e){for(var t={"%FE%FF":"��","%FF%FE":"��"},r=o.exec(e);r;){try{t[r[0]]=decodeURIComponent(r[0])}catch(e){var i=s(r[0]);i!==r[0]&&(t[r[0]]=i)}r=o.exec(e)}t["%C2"]="�";for(var a=Object.keys(t),n=0;n<a.length;n++){var u=a[n];e=e.replace(new RegExp(u,"g"),t[u])}return e}(e)}}},{}],6:[function(e,t,r){"use strict";t.exports=function(e,t){for(var r={},i=Object.keys(e),a=Array.isArray(t),o=0;o<i.length;o++){var n=i[o],s=e[n];(a?-1!==t.indexOf(n):t(n,s,e))&&(r[n]=s)}return r}},{}],7:[function(e,t,r){"use strict";t.exports=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}},{}],8:[function(e,t,r){"use strict";const i=e("is-plain-obj"),{hasOwnProperty:a}=Object.prototype,{propertyIsEnumerable:o}=Object,n=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),s=this,u={concatArrays:!1,ignoreUndefined:!1},l=e=>{const t=[];for(const r in e)a.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const i of r)o.call(e,i)&&t.push(i)}return t};function c(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return l(e).forEach((r=>{n(t,r,c(e[r]))})),t}(e):i(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return l(e).forEach((r=>{n(t,r,c(e[r]))})),t}(e):e}const d=(e,t,r,i)=>(r.forEach((r=>{void 0===t[r]&&i.ignoreUndefined||(r in e&&e[r]!==Object.getPrototypeOf(e)?n(e,r,f(e[r],t[r],i)):n(e,r,c(t[r])))})),e);function f(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let i=e.slice(0,0),o=0;return[e,t].forEach((t=>{const s=[];for(let r=0;r<t.length;r++)a.call(t,r)&&(s.push(String(r)),n(i,o++,t===e?t[r]:c(t[r])));i=d(i,t,l(t).filter((e=>!s.includes(e))),r)})),i})(e,t,r):i(t)&&i(e)?d(e,t,l(t),r):c(t)}t.exports=function(...e){const t=f(c(u),this!==s&&this||{},u);let r={_:{}};for(const a of e)if(void 0!==a){if(!i(a))throw new TypeError("`"+a+"` is not an Option Object");r=f(r,{_:a},t)}return r._}},{"is-plain-obj":7}],9:[function(e,t,r){var i,a,o=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(i===setTimeout)return setTimeout(e,0);if((i===n||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:n}catch(e){i=n}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(e){a=s}}();var l,c=[],d=!1,f=-1;function p(){d&&l&&(d=!1,l.length?c=l.concat(c):f=-1,c.length&&m())}function m(){if(!d){var e=u(p);d=!0;for(var t=c.length;t;){for(l=c,c=[];++f<t;)l&&l[f].run();f=-1,t=c.length}l=null,d=!1,function(e){if(a===clearTimeout)return clearTimeout(e);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(e);try{a(e)}catch(t){try{return a.call(null,e)}catch(t){return a.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function g(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new h(e,t)),1!==c.length||d||u(m)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=g,o.addListener=g,o.once=g,o.off=g,o.removeListener=g,o.removeAllListeners=g,o.emit=g,o.prependListener=g,o.prependOnceListener=g,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}],10:[function(e,t,r){"use strict";const i=e("strict-uri-encode"),a=e("decode-uri-component"),o=e("split-on-first"),n=e("filter-obj");function s(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function u(e,t){return t.encode?t.strict?i(e):encodeURIComponent(e):e}function l(e,t){return t.decode?a(e):e}function c(e){return Array.isArray(e)?e.sort():"object"==typeof e?c(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function d(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function f(e){const t=(e=d(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function p(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function m(e,t){s((t=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},t)).arrayFormatSeparator);const r=function(e){let t;switch(e.arrayFormat){case"index":return(e,r,i)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===i[e]&&(i[e]={}),i[e][t[1]]=r):i[e]=r};case"bracket":return(e,r,i)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==i[e]?i[e]=[].concat(i[e],r):i[e]=[r]:i[e]=r};case"comma":case"separator":return(t,r,i)=>{const a="string"==typeof r&&r.includes(e.arrayFormatSeparator),o="string"==typeof r&&!a&&l(r,e).includes(e.arrayFormatSeparator);r=o?l(r,e):r;const n=a||o?r.split(e.arrayFormatSeparator).map((t=>l(t,e))):null===r?r:l(r,e);i[t]=n};default:return(e,t,r)=>{void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}(t),i=Object.create(null);if("string"!=typeof e)return i;if(!(e=e.trim().replace(/^[?#&]/,"")))return i;for(const a of e.split("&")){if(""===a)continue;let[e,n]=o(t.decode?a.replace(/\+/g," "):a,"=");n=void 0===n?null:["comma","separator"].includes(t.arrayFormat)?n:l(n,t),r(l(e,t),n,i)}for(const e of Object.keys(i)){const r=i[e];if("object"==typeof r&&null!==r)for(const e of Object.keys(r))r[e]=p(r[e],t);else i[e]=p(r,t)}return!1===t.sort?i:(!0===t.sort?Object.keys(i).sort():Object.keys(i).sort(t.sort)).reduce(((e,t)=>{const r=i[t];return Boolean(r)&&"object"==typeof r&&!Array.isArray(r)?e[t]=c(r):e[t]=r,e}),Object.create(null))}r.extract=f,r.parse=m,r.stringify=(e,t)=>{if(!e)return"";s((t=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},t)).arrayFormatSeparator);const r=r=>t.skipNull&&null==e[r]||t.skipEmptyString&&""===e[r],i=function(e){switch(e.arrayFormat){case"index":return t=>(r,i)=>{const a=r.length;return void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?r:null===i?[...r,[u(t,e),"[",a,"]"].join("")]:[...r,[u(t,e),"[",u(a,e),"]=",u(i,e)].join("")]};case"bracket":return t=>(r,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?r:null===i?[...r,[u(t,e),"[]"].join("")]:[...r,[u(t,e),"[]=",u(i,e)].join("")];case"comma":case"separator":return t=>(r,i)=>null==i||0===i.length?r:0===r.length?[[u(t,e),"=",u(i,e)].join("")]:[[r,u(i,e)].join(e.arrayFormatSeparator)];default:return t=>(r,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?r:null===i?[...r,u(t,e)]:[...r,[u(t,e),"=",u(i,e)].join("")]}}(t),a={};for(const t of Object.keys(e))r(t)||(a[t]=e[t]);const o=Object.keys(a);return!1!==t.sort&&o.sort(t.sort),o.map((r=>{const a=e[r];return void 0===a?"":null===a?u(r,t):Array.isArray(a)?a.reduce(i(r),[]).join("&"):u(r,t)+"="+u(a,t)})).filter((e=>e.length>0)).join("&")},r.parseUrl=(e,t)=>{t=Object.assign({decode:!0},t);const[r,i]=o(e,"#");return Object.assign({url:r.split("?")[0]||"",query:m(f(e),t)},t&&t.parseFragmentIdentifier&&i?{fragmentIdentifier:l(i,t)}:{})},r.stringifyUrl=(e,t)=>{t=Object.assign({encode:!0,strict:!0},t);const i=d(e.url).split("?")[0]||"",a=r.extract(e.url),o=r.parse(a,{sort:!1}),n=Object.assign(o,e.query);let s=r.stringify(n,t);s&&(s="?"+s);let l=function(e){let t="";const r=e.indexOf("#");return-1!==r&&(t=e.slice(r)),t}(e.url);return e.fragmentIdentifier&&(l="#"+u(e.fragmentIdentifier,t)),`${i}${s}${l}`},r.pick=(e,t,i)=>{i=Object.assign({parseFragmentIdentifier:!0},i);const{url:a,query:o,fragmentIdentifier:s}=r.parseUrl(e,i);return r.stringifyUrl({url:a,query:n(o,t),fragmentIdentifier:s},i)},r.exclude=(e,t,i)=>{const a=Array.isArray(t)?e=>!t.includes(e):(e,r)=>!t(e,r);return r.pick(e,a,i)}},{"decode-uri-component":5,"filter-obj":6,"split-on-first":11,"strict-uri-encode":12}],11:[function(e,t,r){"use strict";t.exports=(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===t)return[e];const r=e.indexOf(t);return-1===r?[e]:[e.slice(0,r),e.slice(r+t.length)]}},{}],12:[function(e,t,r){"use strict";t.exports=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()))},{}],13:[function(e,t,r){!function(e){"use strict";e.exports.is_uri=r,e.exports.is_http_uri=i,e.exports.is_https_uri=a,e.exports.is_web_uri=o,e.exports.isUri=r,e.exports.isHttpUri=i,e.exports.isHttpsUri=a,e.exports.isWebUri=o;var t=function(e){return e.match(/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/)};function r(e){if(e&&!/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(e)&&!/%[^0-9a-f]/i.test(e)&&!/%[0-9a-f](:?[^0-9a-f]|$)/i.test(e)){var r,i,a,o,n,s="",u="";if(s=(r=t(e))[1],i=r[2],a=r[3],o=r[4],n=r[5],s&&s.length&&a.length>=0){if(i&&i.length){if(0!==a.length&&!/^\//.test(a))return}else if(/^\/\//.test(a))return;if(/^[a-z][a-z0-9\+\-\.]*$/.test(s.toLowerCase()))return u+=s+":",i&&i.length&&(u+="//"+i),u+=a,o&&o.length&&(u+="?"+o),n&&n.length&&(u+="#"+n),u}}}function i(e,i){if(r(e)){var a,o,n,s,u="",l="",c="",d="";if(u=(a=t(e))[1],l=a[2],o=a[3],n=a[4],s=a[5],u){if(i){if("https"!=u.toLowerCase())return}else if("http"!=u.toLowerCase())return;if(l)return/:(\d+)$/.test(l)&&(c=l.match(/:(\d+)$/)[0],l=l.replace(/:\d+$/,"")),d+=u+":",d+="//"+l,c&&(d+=c),d+=o,n&&n.length&&(d+="?"+n),s&&s.length&&(d+="#"+s),d}}}function a(e){return i(e,!0)}function o(e){return i(e)||a(e)}}(t)},{}],14:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var a=Ge(e("./lib/toDate")),o=Ge(e("./lib/toFloat")),n=Ge(e("./lib/toInt")),s=Ge(e("./lib/toBoolean")),u=Ge(e("./lib/equals")),l=Ge(e("./lib/contains")),c=Ge(e("./lib/matches")),d=Ge(e("./lib/isEmail")),f=Ge(e("./lib/isURL")),p=Ge(e("./lib/isMACAddress")),m=Ge(e("./lib/isIP")),h=Ge(e("./lib/isIPRange")),g=Ge(e("./lib/isFQDN")),b=Ge(e("./lib/isDate")),v=Ge(e("./lib/isBoolean")),y=Ge(e("./lib/isLocale")),_=Be(e("./lib/isAlpha")),A=Be(e("./lib/isAlphanumeric")),S=Ge(e("./lib/isNumeric")),x=Ge(e("./lib/isPassportNumber")),w=Ge(e("./lib/isPort")),$=Ge(e("./lib/isLowercase")),M=Ge(e("./lib/isUppercase")),I=Ge(e("./lib/isIMEI")),E=Ge(e("./lib/isAscii")),P=Ge(e("./lib/isFullWidth")),O=Ge(e("./lib/isHalfWidth")),C=Ge(e("./lib/isVariableWidth")),R=Ge(e("./lib/isMultibyte")),N=Ge(e("./lib/isSemVer")),F=Ge(e("./lib/isSurrogatePair")),T=Ge(e("./lib/isInt")),j=Be(e("./lib/isFloat")),U=Ge(e("./lib/isDecimal")),k=Ge(e("./lib/isHexadecimal")),D=Ge(e("./lib/isOctal")),Z=Ge(e("./lib/isDivisibleBy")),L=Ge(e("./lib/isHexColor")),B=Ge(e("./lib/isRgbColor")),G=Ge(e("./lib/isHSL")),H=Ge(e("./lib/isISRC")),Y=Ge(e("./lib/isIBAN")),K=Ge(e("./lib/isBIC")),q=Ge(e("./lib/isMD5")),W=Ge(e("./lib/isHash")),V=Ge(e("./lib/isJWT")),z=Ge(e("./lib/isJSON")),J=Ge(e("./lib/isEmpty")),X=Ge(e("./lib/isLength")),Q=Ge(e("./lib/isByteLength")),ee=Ge(e("./lib/isUUID")),te=Ge(e("./lib/isMongoId")),re=Ge(e("./lib/isAfter")),ie=Ge(e("./lib/isBefore")),ae=Ge(e("./lib/isIn")),oe=Ge(e("./lib/isCreditCard")),ne=Ge(e("./lib/isIdentityCard")),se=Ge(e("./lib/isEAN")),ue=Ge(e("./lib/isISIN")),le=Ge(e("./lib/isISBN")),ce=Ge(e("./lib/isISSN")),de=Ge(e("./lib/isTaxID")),fe=Be(e("./lib/isMobilePhone")),pe=Ge(e("./lib/isEthereumAddress")),me=Ge(e("./lib/isCurrency")),he=Ge(e("./lib/isBtcAddress")),ge=Ge(e("./lib/isISO8601")),be=Ge(e("./lib/isRFC3339")),ve=Ge(e("./lib/isISO31661Alpha2")),ye=Ge(e("./lib/isISO31661Alpha3")),_e=Ge(e("./lib/isBase32")),Ae=Ge(e("./lib/isBase58")),Se=Ge(e("./lib/isBase64")),xe=Ge(e("./lib/isDataURI")),we=Ge(e("./lib/isMagnetURI")),$e=Ge(e("./lib/isMimeType")),Me=Ge(e("./lib/isLatLong")),Ie=Be(e("./lib/isPostalCode")),Ee=Ge(e("./lib/ltrim")),Pe=Ge(e("./lib/rtrim")),Oe=Ge(e("./lib/trim")),Ce=Ge(e("./lib/escape")),Re=Ge(e("./lib/unescape")),Ne=Ge(e("./lib/stripLow")),Fe=Ge(e("./lib/whitelist")),Te=Ge(e("./lib/blacklist")),je=Ge(e("./lib/isWhitelisted")),Ue=Ge(e("./lib/normalizeEmail")),ke=Ge(e("./lib/isSlug")),De=Ge(e("./lib/isStrongPassword")),Ze=Ge(e("./lib/isVAT"));function Le(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return Le=function(){return e},e}function Be(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=Le();if(t&&t.has(e))return t.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=a?Object.getOwnPropertyDescriptor(e,o):null;n&&(n.get||n.set)?Object.defineProperty(r,o,n):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}function Ge(e){return e&&e.__esModule?e:{default:e}}var He={version:"13.5.2",toDate:a.default,toFloat:o.default,toInt:n.default,toBoolean:s.default,equals:u.default,contains:l.default,matches:c.default,isEmail:d.default,isURL:f.default,isMACAddress:p.default,isIP:m.default,isIPRange:h.default,isFQDN:g.default,isBoolean:v.default,isIBAN:Y.default,isBIC:K.default,isAlpha:_.default,isAlphaLocales:_.locales,isAlphanumeric:A.default,isAlphanumericLocales:A.locales,isNumeric:S.default,isPassportNumber:x.default,isPort:w.default,isLowercase:$.default,isUppercase:M.default,isAscii:E.default,isFullWidth:P.default,isHalfWidth:O.default,isVariableWidth:C.default,isMultibyte:R.default,isSemVer:N.default,isSurrogatePair:F.default,isInt:T.default,isIMEI:I.default,isFloat:j.default,isFloatLocales:j.locales,isDecimal:U.default,isHexadecimal:k.default,isOctal:D.default,isDivisibleBy:Z.default,isHexColor:L.default,isRgbColor:B.default,isHSL:G.default,isISRC:H.default,isMD5:q.default,isHash:W.default,isJWT:V.default,isJSON:z.default,isEmpty:J.default,isLength:X.default,isLocale:y.default,isByteLength:Q.default,isUUID:ee.default,isMongoId:te.default,isAfter:re.default,isBefore:ie.default,isIn:ae.default,isCreditCard:oe.default,isIdentityCard:ne.default,isEAN:se.default,isISIN:ue.default,isISBN:le.default,isISSN:ce.default,isMobilePhone:fe.default,isMobilePhoneLocales:fe.locales,isPostalCode:Ie.default,isPostalCodeLocales:Ie.locales,isEthereumAddress:pe.default,isCurrency:me.default,isBtcAddress:he.default,isISO8601:ge.default,isRFC3339:be.default,isISO31661Alpha2:ve.default,isISO31661Alpha3:ye.default,isBase32:_e.default,isBase58:Ae.default,isBase64:Se.default,isDataURI:xe.default,isMagnetURI:we.default,isMimeType:$e.default,isLatLong:Me.default,ltrim:Ee.default,rtrim:Pe.default,trim:Oe.default,escape:Ce.default,unescape:Re.default,stripLow:Ne.default,whitelist:Fe.default,blacklist:Te.default,isWhitelisted:je.default,normalizeEmail:Ue.default,toString:toString,isSlug:ke.default,isStrongPassword:De.default,isTaxID:de.default,isDate:b.default,isVAT:Ze.default};r.default=He,t.exports=r.default,t.exports.default=r.default},{"./lib/blacklist":16,"./lib/contains":17,"./lib/equals":18,"./lib/escape":19,"./lib/isAfter":20,"./lib/isAlpha":21,"./lib/isAlphanumeric":22,"./lib/isAscii":23,"./lib/isBIC":24,"./lib/isBase32":25,"./lib/isBase58":26,"./lib/isBase64":27,"./lib/isBefore":28,"./lib/isBoolean":29,"./lib/isBtcAddress":30,"./lib/isByteLength":31,"./lib/isCreditCard":32,"./lib/isCurrency":33,"./lib/isDataURI":34,"./lib/isDate":35,"./lib/isDecimal":36,"./lib/isDivisibleBy":37,"./lib/isEAN":38,"./lib/isEmail":39,"./lib/isEmpty":40,"./lib/isEthereumAddress":41,"./lib/isFQDN":42,"./lib/isFloat":43,"./lib/isFullWidth":44,"./lib/isHSL":45,"./lib/isHalfWidth":46,"./lib/isHash":47,"./lib/isHexColor":48,"./lib/isHexadecimal":49,"./lib/isIBAN":50,"./lib/isIMEI":51,"./lib/isIP":52,"./lib/isIPRange":53,"./lib/isISBN":54,"./lib/isISIN":55,"./lib/isISO31661Alpha2":56,"./lib/isISO31661Alpha3":57,"./lib/isISO8601":58,"./lib/isISRC":59,"./lib/isISSN":60,"./lib/isIdentityCard":61,"./lib/isIn":62,"./lib/isInt":63,"./lib/isJSON":64,"./lib/isJWT":65,"./lib/isLatLong":66,"./lib/isLength":67,"./lib/isLocale":68,"./lib/isLowercase":69,"./lib/isMACAddress":70,"./lib/isMD5":71,"./lib/isMagnetURI":72,"./lib/isMimeType":73,"./lib/isMobilePhone":74,"./lib/isMongoId":75,"./lib/isMultibyte":76,"./lib/isNumeric":77,"./lib/isOctal":78,"./lib/isPassportNumber":79,"./lib/isPort":80,"./lib/isPostalCode":81,"./lib/isRFC3339":82,"./lib/isRgbColor":83,"./lib/isSemVer":84,"./lib/isSlug":85,"./lib/isStrongPassword":86,"./lib/isSurrogatePair":87,"./lib/isTaxID":88,"./lib/isURL":89,"./lib/isUUID":90,"./lib/isUppercase":91,"./lib/isVAT":92,"./lib/isVariableWidth":93,"./lib/isWhitelisted":94,"./lib/ltrim":95,"./lib/matches":96,"./lib/normalizeEmail":97,"./lib/rtrim":98,"./lib/stripLow":99,"./lib/toBoolean":100,"./lib/toDate":101,"./lib/toFloat":102,"./lib/toInt":103,"./lib/trim":104,"./lib/unescape":105,"./lib/whitelist":112}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.commaDecimal=r.dotDecimal=r.farsiLocales=r.arabicLocales=r.englishLocales=r.decimal=r.alphanumeric=r.alpha=void 0;var i={"en-US":/^[A-Z]+$/i,"az-AZ":/^[A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ώ]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fa-IR":/^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๐\s]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"vi-VN":/^[A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[א-ת]+$/,fa:/^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i};r.alpha=i;var a={"en-US":/^[0-9A-Z]+$/i,"az-AZ":/^[0-9A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๙\s]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,"vi-VN":/^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[0-9א-ת]+$/,fa:/^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i};r.alphanumeric=a;var o={"en-US":".",ar:"٫"};r.decimal=o;var n=["AU","GB","HK","IN","NZ","ZA","ZM"];r.englishLocales=n;for(var s,u=0;u<n.length;u++)i[s="en-".concat(n[u])]=i["en-US"],a[s]=a["en-US"],o[s]=o["en-US"];var l=["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"];r.arabicLocales=l;for(var c,d=0;d<l.length;d++)i[c="ar-".concat(l[d])]=i.ar,a[c]=a.ar,o[c]=o.ar;var f=["IR","AF"];r.farsiLocales=f;for(var p,m=0;m<f.length;m++)a[p="fa-".concat(f[m])]=a.fa,o[p]=o.ar;var h=["ar-EG","ar-LB","ar-LY"];r.dotDecimal=h;var g=["bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-ZM","es-ES","fr-CA","fr-FR","id-ID","it-IT","ku-IQ","hu-HU","nb-NO","nn-NO","nl-NL","pl-PL","pt-PT","ru-RU","sl-SI","sr-RS@latin","sr-RS","sv-SE","tr-TR","uk-UA","vi-VN"];r.commaDecimal=g;for(var b=0;b<h.length;b++)o[h[b]]=o["en-US"];for(var v=0;v<g.length;v++)o[g[v]]=",";i["fr-CA"]=i["fr-FR"],a["fr-CA"]=a["fr-FR"],i["pt-BR"]=i["pt-PT"],a["pt-BR"]=a["pt-PT"],o["pt-BR"]=o["pt-PT"],i["pl-Pl"]=i["pl-PL"],a["pl-Pl"]=a["pl-PL"],o["pl-Pl"]=o["pl-PL"],i["fa-AF"]=i.fa},{}],16:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),e.replace(new RegExp("[".concat(t,"]+"),"g"),"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],17:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){return(0,i.default)(e),(r=(0,o.default)(r,s)).ignoreCase?e.toLowerCase().indexOf((0,a.default)(t).toLowerCase())>=0:e.indexOf((0,a.default)(t))>=0};var i=n(e("./util/assertString")),a=n(e("./util/toString")),o=n(e("./util/merge"));function n(e){return e&&e.__esModule?e:{default:e}}var s={ignoreCase:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109,"./util/toString":111}],18:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),e===t};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],19:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;").replace(/\\/g,"&#x5C;").replace(/`/g,"&#96;")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],20:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);(0,i.default)(e);var r=(0,a.default)(t),o=(0,a.default)(e);return!!(o&&r&&o>r)};var i=o(e("./util/assertString")),a=o(e("./toDate"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./toDate":101,"./util/assertString":107}],21:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,a.default)(e);var i=e,n=r.ignore;if(n)if(n instanceof RegExp)i=i.replace(n,"");else{if("string"!=typeof n)throw new Error("ignore should be instance of a String or RegExp");i=i.replace(new RegExp("[".concat(n.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g,"\\$&"),"]"),"g"),"")}if(t in o.alpha)return o.alpha[t].test(i);throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=Object.keys(o.alpha);r.locales=n},{"./alpha":15,"./util/assertString":107}],22:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";if((0,a.default)(e),t in o.alphanumeric)return o.alphanumeric[t].test(e);throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=Object.keys(o.alphanumeric);r.locales=n},{"./alpha":15,"./util/assertString":107}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[\x00-\x7F]+$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-z]{4}[A-z]{2}\w{2}(\w{3})?$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),e.length%8==0&&o.test(e))return!0;return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-Z2-7]+=*$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),o.test(e))return!0;return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-HJ-NP-Za-km-z1-9]*$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],27:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e),t=(0,a.default)(t,u);var r=e.length;if(t.urlSafe)return s.test(e);if(r%4!=0||n.test(e))return!1;var o=e.indexOf("=");return-1===o||o===r-1||o===r-2&&"="===e[r-1]};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/[^A-Z0-9+\/=]/i,s=/^[A-Z0-9_\-]*$/i,u={urlSafe:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],28:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);(0,i.default)(e);var r=(0,a.default)(t),o=(0,a.default)(e);return!!(o&&r&&o<r)};var i=o(e("./util/assertString")),a=o(e("./toDate"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./toDate":101,"./util/assertString":107}],29:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),["true","false","1","0"].indexOf(e)>=0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],30:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],31:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r,i;(0,a.default)(e),"object"===o(t)?(r=t.min||0,i=t.max):(r=arguments[1],i=arguments[2]);var n=encodeURI(e).split(/%..|./).length-1;return n>=r&&(void 0===i||n<=i)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],32:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,a.default)(e);var t=e.replace(/[- ]+/g,"");if(!o.test(t))return!1;for(var r,i,n,s=0,u=t.length-1;u>=0;u--)r=t.substring(u,u+1),i=parseInt(r,10),s+=n&&(i*=2)>=10?i%10+1:i,n=!n;return!(s%10!=0||!t)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14})$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],33:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),function(e){var t="\\d{".concat(e.digits_after_decimal[0],"}");e.digits_after_decimal.forEach((function(e,r){0!==r&&(t="".concat(t,"|\\d{").concat(e,"}"))}));var r="(".concat(e.symbol.replace(/\W/,(function(e){return"\\".concat(e)})),")").concat(e.require_symbol?"":"?"),i="-?",a="[1-9]\\d{0,2}(\\".concat(e.thousands_separator,"\\d{3})*"),o="(".concat(["0","[1-9]\\d*",a].join("|"),")?"),n="(\\".concat(e.decimal_separator,"(").concat(t,"))").concat(e.require_decimal?"":"?"),s=o+(e.allow_decimal||e.require_decimal?n:"");e.allow_negatives&&!e.parens_for_negatives&&(e.negative_sign_after_digits?s+=i:e.negative_sign_before_digits&&(s=i+s));e.allow_negative_sign_placeholder?s="( (?!\\-))?".concat(s):e.allow_space_after_symbol?s=" ?".concat(s):e.allow_space_after_digits&&(s+="( (?!$))?");e.symbol_after_digits?s+=r:s=r+s;e.allow_negatives&&(e.parens_for_negatives?s="(\\(".concat(s,"\\)|").concat(s,")"):e.negative_sign_before_digits||e.negative_sign_after_digits||(s=i+s));return new RegExp("^(?!-? )(?=.*\\d)".concat(s,"$"))}(t=(0,i.default)(t,n)).test(e)};var i=o(e("./util/merge")),a=o(e("./util/assertString"));function o(e){return e&&e.__esModule?e:{default:e}}var n={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_decimal:!0,require_decimal:!1,digits_after_decimal:[2],allow_space_after_digits:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],34:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,a.default)(e);var t=e.split(",");if(t.length<2)return!1;var r=t.shift().trim().split(";"),i=r.shift();if("data:"!==i.substr(0,5))return!1;var u=i.substr(5);if(""!==u&&!o.test(u))return!1;for(var l=0;l<r.length;l++)if(l===r.length-1&&"base64"===r[l].toLowerCase());else if(!n.test(r[l]))return!1;for(var c=0;c<t.length;c++)if(!s.test(t[c]))return!1;return!0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[a-z]+\/[a-z0-9\-\+]+$/i,n=/^[a-z\-]+=[a-z0-9\-]+$/i,s=/^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],35:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){t="string"==typeof t?(0,a.default)({format:t},s):(0,a.default)(t,s);if("string"==typeof e&&(g=t.format,/(^(y{4}|y{2})[\/-](m{1,2})[\/-](d{1,2})$)|(^(m{1,2})[\/-](d{1,2})[\/-]((y{4}|y{2})$))|(^(d{1,2})[\/-](m{1,2})[\/-]((y{4}|y{2})$))/gi.test(g))){var r,i=t.delimiters.find((function(e){return-1!==t.format.indexOf(e)})),n=t.strictMode?i:t.delimiters.find((function(t){return-1!==e.indexOf(t)})),u=function(e,t){for(var r=[],i=Math.min(e.length,t.length),a=0;a<i;a++)r.push([e[a],t[a]]);return r}(e.split(n),t.format.toLowerCase().split(i)),l={},c=function(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=o(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,s=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,n=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw n}}}}(u);try{for(c.s();!(r=c.n()).done;){var d=(m=r.value,h=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],i=!0,a=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(i=(n=s.next()).done)&&(r.push(n.value),!t||r.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw o}}return r}(m,h)||o(m,h)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],p=d[1];if(f.length!==p.length)return!1;l[p.charAt(0)]=f}}catch(e){c.e(e)}finally{c.f()}return new Date("".concat(l.m,"/").concat(l.d,"/").concat(l.y)).getDate()===+l.d}var m,h;var g;if(!t.strictMode)return"[object Date]"===Object.prototype.toString.call(e)&&isFinite(e);return!1};var i,a=(i=e("./util/merge"))&&i.__esModule?i:{default:i};function o(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var s={format:"YYYY/MM/DD",delimiters:["/","-"],strictMode:!1};t.exports=r.default,t.exports.default=r.default},{"./util/merge":109}],36:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),(t=(0,i.default)(t,u)).locale in n.decimal)return!(0,o.default)(l,e.replace(/ /g,""))&&function(e){return new RegExp("^[-+]?([0-9]+)?(\\".concat(n.decimal[e.locale],"[0-9]{").concat(e.decimal_digits,"})").concat(e.force_decimal?"":"?","$"))}(t).test(e);throw new Error("Invalid locale '".concat(t.locale,"'"))};var i=s(e("./util/merge")),a=s(e("./util/assertString")),o=s(e("./util/includes")),n=e("./alpha");function s(e){return e&&e.__esModule?e:{default:e}}var u={force_decimal:!1,decimal_digits:"1,",locale:"en-US"},l=["","-","+"];t.exports=r.default,t.exports.default=r.default},{"./alpha":15,"./util/assertString":107,"./util/includes":108,"./util/merge":109}],37:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,i.default)(e),(0,a.default)(e)%parseInt(t,10)==0};var i=o(e("./util/assertString")),a=o(e("./toFloat"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./toFloat":102,"./util/assertString":107}],38:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,a.default)(e);var t=Number(e.slice(-1));return o.test(e)&&t===(r=e,i=10-r.slice(0,-1).split("").map((function(e,t){return Number(e)*function(e,t){return 8===e?t%2==0?3:1:t%2==0?1:3}(r.length,t)})).reduce((function(e,t){return e+t}),0)%10,i<10?i:0);var r,i};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(\d{8}|\d{13})$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],39:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,i.default)(e),(t=(0,a.default)(t,c)).require_display_name||t.allow_display_name){var r=e.match(d);if(r){var u,b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],i=!0,a=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(i=(n=s.next()).done)&&(r.push(n.value),!t||r.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw o}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(r,3);if(u=b[1],e=b[2],u.endsWith(" ")&&(u=u.substr(0,u.length-1)),!function(e){var t=e.match(/^"(.+)"$/i),r=t?t[1]:e;if(!r.trim())return!1;if(/[\.";<>]/.test(r)){if(!t)return!1;if(!(r.split('"').length===r.split('\\"').length))return!1}return!0}(u))return!1}else if(t.require_display_name)return!1}if(!t.ignore_max_length&&e.length>254)return!1;var v=e.split("@"),y=v.pop(),_=v.join("@"),A=y.toLowerCase();if(t.domain_specific_validation&&("gmail.com"===A||"googlemail.com"===A)){var S=(_=_.toLowerCase()).split("+")[0];if(!(0,o.default)(S.replace(".",""),{min:6,max:30}))return!1;for(var x=S.split("."),w=0;w<x.length;w++)if(!p.test(x[w]))return!1}if(!(!1!==t.ignore_max_length||(0,o.default)(_,{max:64})&&(0,o.default)(y,{max:254})))return!1;if(!(0,n.default)(y,{require_tld:t.require_tld})){if(!t.allow_ip_domain)return!1;if(!(0,s.default)(y)){if(!y.startsWith("[")||!y.endsWith("]"))return!1;var $=y.substr(1,y.length-2);if(0===$.length||!(0,s.default)($))return!1}}if('"'===_[0])return _=_.slice(1,_.length-1),t.allow_utf8_local_part?g.test(_):m.test(_);for(var M=t.allow_utf8_local_part?h:f,I=_.split("."),E=0;E<I.length;E++)if(!M.test(I[E]))return!1;if(t.blacklisted_chars&&-1!==_.search(new RegExp("[".concat(t.blacklisted_chars,"]+"),"g")))return!1;return!0};var i=u(e("./util/assertString")),a=u(e("./util/merge")),o=u(e("./isByteLength")),n=u(e("./isFQDN")),s=u(e("./isIP"));function u(e){return e&&e.__esModule?e:{default:e}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var c={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0,blacklisted_chars:"",ignore_max_length:!1},d=/^([^\x00-\x1F\x7F-\x9F\cX]+)<(.+)>$/i,f=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,p=/^[a-z\d]+$/,m=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,h=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,g=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;t.exports=r.default,t.exports.default=r.default},{"./isByteLength":31,"./isFQDN":42,"./isIP":52,"./util/assertString":107,"./util/merge":109}],40:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,i.default)(e),0===((t=(0,a.default)(t,n)).ignore_whitespace?e.trim().length:e.length)};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n={ignore_whitespace:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],41:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(0x)[0-9a-f]{40}$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],42:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e),(t=(0,a.default)(t,n)).allow_trailing_dot&&"."===e[e.length-1]&&(e=e.substring(0,e.length-1));var r=e.split("."),o=r[r.length-1];if(t.require_tld){if(r.length<2)return!1;if(!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(o))return!1;if(/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20\u00A9\uFFFD]/.test(o))return!1}if(!t.allow_numeric_tld&&/^\d+$/.test(o))return!1;return r.every((function(e){return!(e.length>63)&&(!!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(e)&&(!/[\uff01-\uff5e]/.test(e)&&(!/^-|-$/.test(e)&&!(!t.allow_underscores&&/_/.test(e)))))}))};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_numeric_tld:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],43:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e),t=t||{};var r=new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(t.locale?o.decimal[t.locale]:".","[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));if(""===e||"."===e||"-"===e||"+"===e)return!1;var i=parseFloat(e.replace(",","."));return r.test(e)&&(!t.hasOwnProperty("min")||i>=t.min)&&(!t.hasOwnProperty("max")||i<=t.max)&&(!t.hasOwnProperty("lt")||i<t.lt)&&(!t.hasOwnProperty("gt")||i>t.gt)},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=Object.keys(o.decimal);r.locales=n},{"./alpha":15,"./util/assertString":107}],44:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)},r.fullWidth=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;r.fullWidth=o},{"./util/assertString":107}],45:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)||n.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(hsl)a?\(\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn|\s*)(\s*,\s*(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}\s*(,\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?)\s*)?\)$/i,n=/^(hsl)a?\(\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn|\s)(\s*(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}\s*(\/\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?)\s*)?\)$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],46:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)},r.halfWidth=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;r.halfWidth=o},{"./util/assertString":107}],47:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),new RegExp("^[a-fA-F0-9]{".concat(o[t],"}$")).test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={md5:32,md4:32,sha1:40,sha256:64,sha384:96,sha512:128,ripemd128:32,ripemd160:40,tiger128:32,tiger160:40,tiger192:48,crc32:8,crc32b:8};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],48:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],49:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(0x|0h)?[0-9A-F]+$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],50:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),function(e){var t=e.replace(/[\s\-]+/gi,"").toUpperCase(),r=t.slice(0,2).toUpperCase();return r in o&&o[r].test(t)}(e)&&function(e){var t=e.replace(/[^A-Z0-9]+/gi,"").toUpperCase();return 1===(t.slice(4)+t.slice(0,4)).replace(/[A-Z]/g,(function(e){return e.charCodeAt(0)-55})).match(/\d{1,7}/g).reduce((function(e,t){return Number(e+t)%97}),"")}(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={AD:/^(AD[0-9]{2})\d{8}[A-Z0-9]{12}$/,AE:/^(AE[0-9]{2})\d{3}\d{16}$/,AL:/^(AL[0-9]{2})\d{8}[A-Z0-9]{16}$/,AT:/^(AT[0-9]{2})\d{16}$/,AZ:/^(AZ[0-9]{2})[A-Z0-9]{4}\d{20}$/,BA:/^(BA[0-9]{2})\d{16}$/,BE:/^(BE[0-9]{2})\d{12}$/,BG:/^(BG[0-9]{2})[A-Z]{4}\d{6}[A-Z0-9]{8}$/,BH:/^(BH[0-9]{2})[A-Z]{4}[A-Z0-9]{14}$/,BR:/^(BR[0-9]{2})\d{23}[A-Z]{1}[A-Z0-9]{1}$/,BY:/^(BY[0-9]{2})[A-Z0-9]{4}\d{20}$/,CH:/^(CH[0-9]{2})\d{5}[A-Z0-9]{12}$/,CR:/^(CR[0-9]{2})\d{18}$/,CY:/^(CY[0-9]{2})\d{8}[A-Z0-9]{16}$/,CZ:/^(CZ[0-9]{2})\d{20}$/,DE:/^(DE[0-9]{2})\d{18}$/,DK:/^(DK[0-9]{2})\d{14}$/,DO:/^(DO[0-9]{2})[A-Z]{4}\d{20}$/,EE:/^(EE[0-9]{2})\d{16}$/,EG:/^(EG[0-9]{2})\d{25}$/,ES:/^(ES[0-9]{2})\d{20}$/,FI:/^(FI[0-9]{2})\d{14}$/,FO:/^(FO[0-9]{2})\d{14}$/,FR:/^(FR[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,GB:/^(GB[0-9]{2})[A-Z]{4}\d{14}$/,GE:/^(GE[0-9]{2})[A-Z0-9]{2}\d{16}$/,GI:/^(GI[0-9]{2})[A-Z]{4}[A-Z0-9]{15}$/,GL:/^(GL[0-9]{2})\d{14}$/,GR:/^(GR[0-9]{2})\d{7}[A-Z0-9]{16}$/,GT:/^(GT[0-9]{2})[A-Z0-9]{4}[A-Z0-9]{20}$/,HR:/^(HR[0-9]{2})\d{17}$/,HU:/^(HU[0-9]{2})\d{24}$/,IE:/^(IE[0-9]{2})[A-Z0-9]{4}\d{14}$/,IL:/^(IL[0-9]{2})\d{19}$/,IQ:/^(IQ[0-9]{2})[A-Z]{4}\d{15}$/,IR:/^(IR[0-9]{2})0\d{2}0\d{18}$/,IS:/^(IS[0-9]{2})\d{22}$/,IT:/^(IT[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,JO:/^(JO[0-9]{2})[A-Z]{4}\d{22}$/,KW:/^(KW[0-9]{2})[A-Z]{4}[A-Z0-9]{22}$/,KZ:/^(KZ[0-9]{2})\d{3}[A-Z0-9]{13}$/,LB:/^(LB[0-9]{2})\d{4}[A-Z0-9]{20}$/,LC:/^(LC[0-9]{2})[A-Z]{4}[A-Z0-9]{24}$/,LI:/^(LI[0-9]{2})\d{5}[A-Z0-9]{12}$/,LT:/^(LT[0-9]{2})\d{16}$/,LU:/^(LU[0-9]{2})\d{3}[A-Z0-9]{13}$/,LV:/^(LV[0-9]{2})[A-Z]{4}[A-Z0-9]{13}$/,MC:/^(MC[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,MD:/^(MD[0-9]{2})[A-Z0-9]{20}$/,ME:/^(ME[0-9]{2})\d{18}$/,MK:/^(MK[0-9]{2})\d{3}[A-Z0-9]{10}\d{2}$/,MR:/^(MR[0-9]{2})\d{23}$/,MT:/^(MT[0-9]{2})[A-Z]{4}\d{5}[A-Z0-9]{18}$/,MU:/^(MU[0-9]{2})[A-Z]{4}\d{19}[A-Z]{3}$/,NL:/^(NL[0-9]{2})[A-Z]{4}\d{10}$/,NO:/^(NO[0-9]{2})\d{11}$/,PK:/^(PK[0-9]{2})[A-Z0-9]{4}\d{16}$/,PL:/^(PL[0-9]{2})\d{24}$/,PS:/^(PS[0-9]{2})[A-Z0-9]{4}\d{21}$/,PT:/^(PT[0-9]{2})\d{21}$/,QA:/^(QA[0-9]{2})[A-Z]{4}[A-Z0-9]{21}$/,RO:/^(RO[0-9]{2})[A-Z]{4}[A-Z0-9]{16}$/,RS:/^(RS[0-9]{2})\d{18}$/,SA:/^(SA[0-9]{2})\d{2}[A-Z0-9]{18}$/,SC:/^(SC[0-9]{2})[A-Z]{4}\d{20}[A-Z]{3}$/,SE:/^(SE[0-9]{2})\d{20}$/,SI:/^(SI[0-9]{2})\d{15}$/,SK:/^(SK[0-9]{2})\d{20}$/,SM:/^(SM[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,SV:/^(SV[0-9]{2})[A-Z0-9]{4}\d{20}$/,TL:/^(TL[0-9]{2})\d{19}$/,TN:/^(TN[0-9]{2})\d{20}$/,TR:/^(TR[0-9]{2})\d{5}[A-Z0-9]{17}$/,UA:/^(UA[0-9]{2})\d{6}[A-Z0-9]{19}$/,VA:/^(VA[0-9]{2})\d{18}$/,VG:/^(VG[0-9]{2})[A-Z0-9]{4}\d{16}$/,XK:/^(XK[0-9]{2})\d{16}$/};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],51:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=o;(t=t||{}).allow_hyphens&&(r=n);if(!r.test(e))return!1;e=e.replace(/-/g,"");for(var i=0,s=2,u=0;u<14;u++){var l=e.substring(14-u-1,14-u),c=parseInt(l,10)*s;i+=c>=10?c%10+1:c,1===s?s+=1:s-=1}if((10-i%10)%10!==parseInt(e.substring(14,15),10))return!1;return!0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[0-9]{15}$/,n=/^\d{2}-\d{6}-\d{6}-\d{1}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],52:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,a.default)(t),!(r=String(r)))return e(t,4)||e(t,6);if("4"===r){if(!o.test(t))return!1;var i=t.split(".").sort((function(e,t){return e-t}));return i[3]<=255}if("6"===r){var s=[t];if(t.includes("%")){if(2!==(s=t.split("%")).length)return!1;if(!s[0].includes(":"))return!1;if(""===s[1])return!1}var u=s[0].split(":"),l=!1,c=e(u[u.length-1],4),d=c?7:8;if(u.length>d)return!1;if("::"===t)return!0;"::"===t.substr(0,2)?(u.shift(),u.shift(),l=!0):"::"===t.substr(t.length-2)&&(u.pop(),u.pop(),l=!0);for(var f=0;f<u.length;++f)if(""===u[f]&&f>0&&f<u.length-1){if(l)return!1;l=!0}else if(c&&f===u.length-1);else if(!n.test(u[f]))return!1;return l?u.length>=1:u.length===d}return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/,n=/^[0-9A-F]{1,4}$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],53:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,i.default)(e);var t=e.split("/");if(2!==t.length)return!1;if(!n.test(t[1]))return!1;if(t[1].length>1&&t[1].startsWith("0"))return!1;return(0,a.default)(t[0],4)&&t[1]<=32&&t[1]>=0};var i=o(e("./util/assertString")),a=o(e("./isIP"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/^\d{1,2}$/;t.exports=r.default,t.exports.default=r.default},{"./isIP":52,"./util/assertString":107}],54:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,a.default)(t),!(r=String(r)))return e(t,10)||e(t,13);var i,u=t.replace(/[\s-]+/g,""),l=0;if("10"===r){if(!o.test(u))return!1;for(i=0;i<9;i++)l+=(i+1)*u.charAt(i);if("X"===u.charAt(9)?l+=100:l+=10*u.charAt(9),l%11==0)return!!u}else if("13"===r){if(!n.test(u))return!1;for(i=0;i<12;i++)l+=s[i%2]*u.charAt(i);if(u.charAt(12)-(10-l%10)%10==0)return!!u}return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(?:[0-9]{9}X|[0-9]{10})$/,n=/^(?:[0-9]{13})$/,s=[1,3];t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],55:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),!o.test(e))return!1;for(var t,r,i=e.replace(/[A-Z]/g,(function(e){return parseInt(e,36)})),n=0,s=!0,u=i.length-2;u>=0;u--)t=i.substring(u,u+1),r=parseInt(t,10),n+=s&&(r*=2)>=10?r+1:r,s=!s;return parseInt(e.substr(e.length-1),10)===(1e4-n)%10};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],56:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),(0,a.default)(n,e.toUpperCase())};var i=o(e("./util/assertString")),a=o(e("./util/includes"));function o(e){return e&&e.__esModule?e:{default:e}}var n=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"];t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/includes":108}],57:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),(0,a.default)(n,e.toUpperCase())};var i=o(e("./util/assertString")),a=o(e("./util/includes"));function o(e){return e&&e.__esModule?e:{default:e}}var n=["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","KHM","CMR","CAN","CPV","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KOR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","ZMB","ZWE"];t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/includes":108}],58:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a.default)(e);var r=t.strictSeparator?n.test(e):o.test(e);return r&&t.strict?s(e):r};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,n=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,s=function(e){var t=e.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);if(t){var r=Number(t[1]),i=Number(t[2]);return r%4==0&&r%100!=0||r%400==0?i<=366:i<=365}var a=e.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number),o=a[1],n=a[2],s=a[3],u=n?"0".concat(n).slice(-2):n,l=s?"0".concat(s).slice(-2):s,c=new Date("".concat(o,"-").concat(u||"01","-").concat(l||"01"));return!n||!s||c.getUTCFullYear()===o&&c.getUTCMonth()+1===n&&c.getUTCDate()===s};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],59:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],60:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a.default)(e);var r=o;if(r=t.require_hyphen?r.replace("?",""):r,!(r=t.case_sensitive?new RegExp(r):new RegExp(r,"i")).test(e))return!1;for(var i=e.replace("-","").toUpperCase(),n=0,s=0;s<i.length;s++){var u=i[s];n+=("X"===u?10:+u)*(8-s)}return n%11==0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o="^\\d{4}-?\\d{3}[\\dX]$";t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],61:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t in o)return o[t](e);if("any"===t){for(var r in o){if(o.hasOwnProperty(r))if((0,o[r])(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={ES:function(e){(0,a.default)(e);var t={X:0,Y:1,Z:2},r=e.trim().toUpperCase();if(!/^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/.test(r))return!1;var i=r.slice(0,-1).replace(/[X,Y,Z]/g,(function(e){return t[e]}));return r.endsWith(["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"][i%23])},IN:function(e){var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],r=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],i=e.trim();if(!/^[1-9]\d{3}\s?\d{4}\s?\d{4}$/.test(i))return!1;var a=0;return i.replace(/\s/g,"").split("").map(Number).reverse().forEach((function(e,i){a=t[a][r[i%8][e]]})),0===a},IT:function(e){return 9===e.length&&("CA00000AA"!==e&&e.search(/C[A-Z][0-9]{5}[A-Z]{2}/i)>-1)},NO:function(e){var t=e.trim();if(isNaN(Number(t)))return!1;if(11!==t.length)return!1;if("00000000000"===t)return!1;var r=t.split("").map(Number),i=(11-(3*r[0]+7*r[1]+6*r[2]+1*r[3]+8*r[4]+9*r[5]+4*r[6]+5*r[7]+2*r[8])%11)%11,a=(11-(5*r[0]+4*r[1]+3*r[2]+2*r[3]+7*r[4]+6*r[5]+5*r[6]+4*r[7]+3*r[8]+2*i)%11)%11;return i===r[9]&&a===r[10]},"he-IL":function(e){var t=e.trim();if(!/^\d{9}$/.test(t))return!1;for(var r,i=t,a=0,o=0;o<i.length;o++)a+=(r=Number(i[o])*(o%2+1))>9?r-9:r;return a%10==0},"ar-TN":function(e){var t=e.trim();return!!/^\d{8}$/.test(t)},"zh-CN":function(e){var t,r=["11","12","13","14","15","21","22","23","31","32","33","34","35","36","37","41","42","43","44","45","46","50","51","52","53","54","61","62","63","64","65","71","81","82","91"],i=["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],a=["1","0","X","9","8","7","6","5","4","3","2"],o=function(e){return r.includes(e)},n=function(e){var t=parseInt(e.substring(0,4),10),r=parseInt(e.substring(4,6),10),i=parseInt(e.substring(6),10),a=new Date(t,r-1,i);return!(a>new Date)&&(a.getFullYear()===t&&a.getMonth()===r-1&&a.getDate()===i)},s=function(e){return function(e){for(var t=e.substring(0,17),r=0,o=0;o<17;o++)r+=parseInt(t.charAt(o),10)*parseInt(i[o],10);return a[r%11]}(e)===e.charAt(17).toUpperCase()};return!!/^\d{15}|(\d{17}(\d|x|X))$/.test(t=e)&&(15===t.length?function(e){var t=/^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(e);if(!t)return!1;var r=e.substring(0,2);if(!(t=o(r)))return!1;var i="19".concat(e.substring(6,12));return!!(t=n(i))}(t):function(e){var t=/^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(e);if(!t)return!1;var r=e.substring(0,2);if(!(t=o(r)))return!1;var i=e.substring(6,14);return!!(t=n(i))&&s(e)}(t))},"zh-TW":function(e){var t={A:10,B:11,C:12,D:13,E:14,F:15,G:16,H:17,I:34,J:18,K:19,L:20,M:21,N:22,O:35,P:23,Q:24,R:25,S:26,T:27,U:28,V:29,W:32,X:30,Y:31,Z:33},r=e.trim().toUpperCase();return!!/^[A-Z][0-9]{9}$/.test(r)&&Array.from(r).reduce((function(e,r,i){if(0===i){var a=t[r];return a%10*9+Math.floor(a/10)}return 9===i?(10-e%10-Number(r))%10==0:e+Number(r)*(9-i)}),0)}};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r;if((0,i.default)(e),"[object Array]"===Object.prototype.toString.call(t)){var o=[];for(r in t)({}).hasOwnProperty.call(t,r)&&(o[r]=(0,a.default)(t[r]));return o.indexOf(e)>=0}if("object"===n(t))return t.hasOwnProperty(e);if(t&&"function"==typeof t.indexOf)return t.indexOf(e)>=0;return!1};var i=o(e("./util/assertString")),a=o(e("./util/toString"));function o(e){return e&&e.__esModule?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/toString":111}],63:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=(t=t||{}).hasOwnProperty("allow_leading_zeroes")&&!t.allow_leading_zeroes?o:n,i=!t.hasOwnProperty("min")||e>=t.min,s=!t.hasOwnProperty("max")||e<=t.max,u=!t.hasOwnProperty("lt")||e<t.lt,l=!t.hasOwnProperty("gt")||e>t.gt;return r.test(e)&&i&&s&&u&&l};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,n=/^[-+]?[0-9]+$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],64:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e);try{t=(0,a.default)(t,s);var r=[];t.allow_primitives&&(r=[null,!1,!0]);var o=JSON.parse(e);return r.includes(o)||!!o&&"object"===n(o)}catch(e){}return!1};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s={allow_primitives:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],65:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,i.default)(e);var t=e.split("."),r=t.length;if(r>3||r<2)return!1;return t.reduce((function(e,t){return e&&(0,a.default)(t,{urlSafe:!0})}),!0)};var i=o(e("./util/assertString")),a=o(e("./isBase64"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./isBase64":27,"./util/assertString":107}],66:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,i.default)(e),t=(0,a.default)(t,c),!e.includes(","))return!1;var r=e.split(",");if(r[0].startsWith("(")&&!r[1].endsWith(")")||r[1].endsWith(")")&&!r[0].startsWith("("))return!1;if(t.checkDMS)return u.test(r[0])&&l.test(r[1]);return n.test(r[0])&&s.test(r[1])};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/,s=/^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/,u=/^(([1-8]?\d)\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|90\D+0\D+0)\D+[NSns]?$/i,l=/^\s*([1-7]?\d{1,2}\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|180\D+0\D+0)\D+[EWew]?$/i,c={checkDMS:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],67:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r,i;(0,a.default)(e),"object"===o(t)?(r=t.min||0,i=t.max):(r=arguments[1]||0,i=arguments[2]);var n=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],s=e.length-n.length;return s>=r&&(void 0===i||s<=i)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],68:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),"en_US_POSIX"===e||"ca_ES_VALENCIA"===e)return!0;return o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-z]{2,4}([_-]([A-z]{4}|[\d]{3}))?([_-]([A-z]{2}|[\d]{3}))?$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],69:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e===e.toLowerCase()};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],70:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t&&t.no_colons)return n.test(e);return o.test(e)||s.test(e)||u.test(e)||l.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/,n=/^([0-9a-fA-F]){12}$/,s=/^([0-9a-fA-F][0-9a-fA-F]-){5}([0-9a-fA-F][0-9a-fA-F])$/,u=/^([0-9a-fA-F][0-9a-fA-F]\s){5}([0-9a-fA-F][0-9a-fA-F])$/,l=/^([0-9a-fA-F]{4}).([0-9a-fA-F]{4}).([0-9a-fA-F]{4})$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],71:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[a-f0-9]{32}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],72:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e.trim())};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}&dn=.+&tr=.+$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],73:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)||n.test(e)||s.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i,n=/^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i,s=/^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],74:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){if((0,a.default)(e),r&&r.strictMode&&!e.startsWith("+"))return!1;if(Array.isArray(t))return t.some((function(t){if(o.hasOwnProperty(t)&&o[t].test(e))return!0;return!1}));if(t in o)return o[t].test(e);if(!t||"any"===t){for(var i in o){if(o.hasOwnProperty(i))if(o[i].test(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={"am-AM":/^(\+?374|0)((10|[9|7][0-9])\d{6}$|[2-4]\d{7}$)/,"ar-AE":/^((\+?971)|0)?5[024568]\d{7}$/,"ar-BH":/^(\+?973)?(3|6)\d{7}$/,"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-LB":/^(\+?961)?((3|81)\d{6}|7\d{7})$/,"ar-EG":/^((\+?20)|0)?1[0125]\d{8}$/,"ar-IQ":/^(\+?964|0)?7[0-9]\d{8}$/,"ar-JO":/^(\+?962|0)?7[789]\d{7}$/,"ar-KW":/^(\+?965)[569]\d{7}$/,"ar-LY":/^((\+?218)|0)?(9[1-6]\d{7}|[1-8]\d{7,9})$/,"ar-MA":/^(?:(?:\+|00)212|0)[5-7]\d{8}$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-TN":/^(\+?216)?[2459]\d{7}$/,"az-AZ":/^(\+994|0)(5[015]|7[07]|99)\d{7}$/,"bs-BA":/^((((\+|00)3876)|06))((([0-3]|[5-6])\d{6})|(4\d{7}))$/,"be-BY":/^(\+?375)?(24|25|29|33|44)\d{7}$/,"bg-BG":/^(\+?359|0)?8[789]\d{7}$/,"bn-BD":/^(\+?880|0)1[13456789][0-9]{8}$/,"ca-AD":/^(\+376)?[346]\d{5}$/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"da-DK":/^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,"de-DE":/^(\+49)?0?[1|3]([0|5][0-45-9]\d|6([23]|0\d?)|7([0-57-9]|6\d))\d{7}$/,"de-AT":/^(\+43|0)\d{1,4}\d{3,12}$/,"de-CH":/^(\+41|0)(7[5-9])\d{1,7}$/,"de-LU":/^(\+352)?((6\d1)\d{6})$/,"el-GR":/^(\+?30|0)?(69\d{8})$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-GB":/^(\+?44|0)7\d{9}$/,"en-GG":/^(\+?44|0)1481\d{6}$/,"en-GH":/^(\+233|0)(20|50|24|54|27|57|26|56|23|28)\d{7}$/,"en-HK":/^(\+?852[-\s]?)?[456789]\d{3}[-\s]?\d{4}$/,"en-MO":/^(\+?853[-\s]?)?[6]\d{3}[-\s]?\d{4}$/,"en-IE":/^(\+?353|0)8[356789]\d{7}$/,"en-IN":/^(\+?91|0)?[6789]\d{9}$/,"en-KE":/^(\+?254|0)(7|1)\d{8}$/,"en-MT":/^(\+?356|0)?(99|79|77|21|27|22|25)[0-9]{6}$/,"en-MU":/^(\+?230|0)?\d{8}$/,"en-NG":/^(\+?234|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)[28]\d{7,9}$/,"en-PK":/^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/,"en-PH":/^(09|\+639)\d{9}$/,"en-RW":/^(\+?250|0)?[7]\d{8}$/,"en-SG":/^(\+65)?[689]\d{7}$/,"en-SL":/^(?:0|94|\+94)?(7(0|1|2|5|6|7|8)( |-)?\d)\d{6}$/,"en-TZ":/^(\+?255|0)?[67]\d{8}$/,"en-UG":/^(\+?256|0)?[7]\d{8}$/,"en-US":/^((\+1|1)?( |-)?)?(\([2-9][0-9]{2}\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?09[567]\d{7}$/,"en-ZW":/^(\+263)[0-9]{9}$/,"es-AR":/^\+?549(11|[2368]\d)\d{8}$/,"es-BO":/^(\+?591)?(6|7)\d{7}$/,"es-CO":/^(\+?57)?([1-8]{1}|3[0-9]{2})?[2-9]{1}\d{6}$/,"es-CL":/^(\+?56|0)[2-9]\d{1}\d{7}$/,"es-CR":/^(\+506)?[2-8]\d{7}$/,"es-DO":/^(\+?1)?8[024]9\d{7}$/,"es-HN":/^(\+?504)?[9|8]\d{7}$/,"es-EC":/^(\+?593|0)([2-7]|9[2-9])\d{7}$/,"es-ES":/^(\+?34)?[6|7]\d{8}$/,"es-PE":/^(\+?51)?9\d{8}$/,"es-MX":/^(\+?52)?(1|01)?\d{10,11}$/,"es-PA":/^(\+?507)\d{7,8}$/,"es-PY":/^(\+?595|0)9[9876]\d{7}$/,"es-UY":/^(\+598|0)9[1-9][\d]{6}$/,"et-EE":/^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,"fa-IR":/^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,"fi-FI":/^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,"fj-FJ":/^(\+?679)?\s?\d{3}\s?\d{4}$/,"fo-FO":/^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"fr-GF":/^(\+?594|0|00594)[67]\d{8}$/,"fr-GP":/^(\+?590|0|00590)[67]\d{8}$/,"fr-MQ":/^(\+?596|0|00596)[67]\d{8}$/,"fr-RE":/^(\+?262|0|00262)[67]\d{8}$/,"he-IL":/^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,"hu-HU":/^(\+?36)(20|30|70)\d{7}$/,"id-ID":/^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"it-SM":/^((\+378)|(0549)|(\+390549)|(\+3780549))?6\d{5,9}$/,"ja-JP":/^(\+81[ \-]?(\(0\))?|0)[6789]0[ \-]?\d{4}[ \-]?\d{4}$/,"ka-GE":/^(\+?995)?(5|79)\d{7}$/,"kk-KZ":/^(\+?7|8)?7\d{9}$/,"kl-GL":/^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"ko-KR":/^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,"lt-LT":/^(\+370|8)\d{8}$/,"ms-MY":/^(\+?6?01){1}(([0145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/,"nb-NO":/^(\+?47)?[49]\d{7}$/,"ne-NP":/^(\+?977)?9[78]\d{8}$/,"nl-BE":/^(\+?32|0)4?\d{8}$/,"nl-NL":/^(((\+|00)?31\(0\))|((\+|00)?31)|0)6{1}\d{8}$/,"nn-NO":/^(\+?47)?[49]\d{7}$/,"pl-PL":/^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,"pt-BR":/^((\+?55\ ?[1-9]{2}\ ?)|(\+?55\ ?\([1-9]{2}\)\ ?)|(0[1-9]{2}\ ?)|(\([1-9]{2}\)\ ?)|([1-9]{2}\ ?))((\d{4}\-?\d{4})|(9[2-9]{1}\d{3}\-?\d{4}))$/,"pt-PT":/^(\+?351)?9[1236]\d{7}$/,"ro-RO":/^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/,"sl-SI":/^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,"sk-SK":/^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"sq-AL":/^(\+355|0)6[789]\d{6}$/,"sr-RS":/^(\+3816|06)[- \d]{5,9}$/,"sv-SE":/^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,"th-TH":/^(\+66|66|0)\d{9}$/,"tr-TR":/^(\+?90|0)?5\d{9}$/,"uk-UA":/^(\+?38|8)?0\d{9}$/,"uz-UZ":/^(\+?998)?(6[125-79]|7[1-69]|88|9\d)\d{7}$/,"vi-VN":/^(\+?84|0)((3([2-9]))|(5([2689]))|(7([0|6-9]))|(8([1-6|89]))|(9([0-9])))([0-9]{7})$/,"zh-CN":/^((\+|00)86)?1([3568][0-9]|4[579]|6[67]|7[01235678]|9[012356789])[0-9]{8}$/,"zh-TW":/^(\+?886\-?|0)?9\d{8}$/};o["en-CA"]=o["en-US"],o["fr-CA"]=o["en-CA"],o["fr-BE"]=o["nl-BE"],o["zh-HK"]=o["en-HK"],o["zh-MO"]=o["en-MO"],o["ga-IE"]=o["en-IE"];var n=Object.keys(o);r.locales=n},{"./util/assertString":107}],75:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),(0,a.default)(e)&&24===e.length};var i=o(e("./util/assertString")),a=o(e("./isHexadecimal"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./isHexadecimal":49,"./util/assertString":107}],76:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[^\x00-\x7F]/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],77:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t&&t.no_symbols)return n.test(e);return new RegExp("^[+-]?([0-9]*[".concat((t||{}).locale?o.decimal[t.locale]:".","])?[0-9]+$")).test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=/^[0-9]+$/;t.exports=r.default,t.exports.default=r.default},{"./alpha":15,"./util/assertString":107}],78:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(0o)?[0-7]+$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],79:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=e.replace(/\s/g,"").toUpperCase();return t.toUpperCase()in o&&o[t].test(r)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={AM:/^[A-Z]{2}\d{7}$/,AR:/^[A-Z]{3}\d{6}$/,AT:/^[A-Z]\d{7}$/,AU:/^[A-Z]\d{7}$/,BE:/^[A-Z]{2}\d{6}$/,BG:/^\d{9}$/,BY:/^[A-Z]{2}\d{7}$/,CA:/^[A-Z]{2}\d{6}$/,CH:/^[A-Z]\d{7}$/,CN:/^[GE]\d{8}$/,CY:/^[A-Z](\d{6}|\d{8})$/,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/,DK:/^\d{9}$/,DZ:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/,FI:/^[A-Z]{2}\d{7}$/,FR:/^\d{2}[A-Z]{2}\d{5}$/,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/,IE:/^[A-Z0-9]{2}\d{7}$/,IN:/^[A-Z]{1}-?\d{7}$/,IS:/^(A)\d{7}$/,IT:/^[A-Z0-9]{2}\d{7}$/,JP:/^[A-Z]{2}\d{7}$/,KR:/^[MS]\d{8}$/,LT:/^[A-Z0-9]{8}$/,LU:/^[A-Z0-9]{8}$/,LV:/^[A-Z0-9]{2}\d{7}$/,MT:/^\d{7}$/,NL:/^[A-Z]{2}[A-Z0-9]{6}\d$/,PO:/^[A-Z]{2}\d{7}$/,PT:/^[A-Z]\d{6}$/,RO:/^\d{8,9}$/,RU:/^\d{2}\d{2}\d{6}$/,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/,SK:/^[0-9A-Z]\d{7}$/,TR:/^[A-Z]\d{8}$/,UA:/^[A-Z]{2}\d{6}$/,US:/^\d{9}$/};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],80:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e,{min:0,max:65535})};var i,a=(i=e("./isInt"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./isInt":63}],81:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t in u)return u[t].test(e);if("any"===t){for(var r in u){if(u.hasOwnProperty(r))if(u[r].test(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^\d{4}$/,n=/^\d{5}$/,s=/^\d{6}$/,u={AD:/^AD\d{3}$/,AT:o,AU:o,AZ:/^AZ\d{4}$/,BE:o,BG:o,BR:/^\d{5}-\d{3}$/,BY:/2[1-4]{1}\d{4}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:o,CN:/^(0[1-7]|1[012356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[1-5]|8[1345]|9[09])\d{4}$/,CZ:/^\d{3}\s?\d{2}$/,DE:n,DK:o,DO:n,DZ:n,EE:n,ES:/^(5[0-2]{1}|[0-4]{1}\d{1})\d{3}$/,FI:n,FR:/^\d{2}\s?\d{3}$/,GB:/^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,GR:/^\d{3}\s?\d{2}$/,HR:/^([1-5]\d{4}$)/,HT:/^HT\d{4}$/,HU:o,ID:n,IE:/^(?!.*(?:o))[A-z]\d[\dw]\s\w{4}$/i,IL:/^(\d{5}|\d{7})$/,IN:/^((?!10|29|35|54|55|65|66|86|87|88|89)[1-9][0-9]{5})$/,IR:/\b(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}\b/,IS:/^\d{3}$/,IT:n,JP:/^\d{3}\-\d{4}$/,KE:n,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT\-\d{5}$/,LU:o,LV:/^LV\-\d{4}$/,MX:n,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MY:n,NL:/^\d{4}\s?[a-z]{2}$/i,NO:o,NP:/^(10|21|22|32|33|34|44|45|56|57)\d{3}$|^(977)$/i,NZ:o,PL:/^\d{2}\-\d{3}$/,PR:/^00[679]\d{2}([ -]\d{4})?$/,PT:/^\d{4}\-\d{3}?$/,RO:s,RU:s,SA:n,SE:/^[1-9]\d{2}\s?\d{2}$/,SG:s,SI:o,SK:/^\d{3}\s?\d{2}$/,TH:n,TN:o,TW:/^\d{3}(\d{2})?$/,UA:n,US:/^\d{5}(-\d{4})?$/,ZA:o,ZM:n},l=Object.keys(u);r.locales=l},{"./util/assertString":107}],82:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),f.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/([01][0-9]|2[0-3])/,n=/[0-5][0-9]/,s=new RegExp("[-+]".concat(o.source,":").concat(n.source)),u=new RegExp("([zZ]|".concat(s.source,")")),l=new RegExp("".concat(o.source,":").concat(n.source,":").concat(/([0-5][0-9]|60)/.source).concat(/(\.[0-9]+)?/.source)),c=new RegExp("".concat(/[0-9]{4}/.source,"-").concat(/(0[1-9]|1[0-2])/.source,"-").concat(/([12]\d|0[1-9]|3[01])/.source)),d=new RegExp("".concat(l.source).concat(u.source)),f=new RegExp("".concat(c.source,"[ tT]").concat(d.source));t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],83:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if((0,a.default)(e),!t)return o.test(e)||n.test(e);return o.test(e)||n.test(e)||s.test(e)||u.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^rgb\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\)$/,n=/^rgba\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)$/,s=/^rgb\((([0-9]%|[1-9][0-9]%|100%),){2}([0-9]%|[1-9][0-9]%|100%)\)/,u=/^rgba\((([0-9]%|[1-9][0-9]%|100%),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],84:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),o.test(e)};var i=a(e("./util/assertString"));function a(e){return e&&e.__esModule?e:{default:e}}var o=(0,a(e("./util/multilineRegex")).default)(["^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)","(?:-((?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*))*))","?(?:\\+([0-9a-z-]+(?:\\.[0-9a-z-]+)*))?$"],"i");t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/multilineRegex":110}],85:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[^\s-_](?!.*?[-_]{2,})([a-z0-9-\\]{1,})[^\s]*[^-_\s]$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],86:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(0,a.default)(e);var r=d(e);if((t=(0,i.default)(t||{},c)).returnScore)return f(r,t);return r.length>=t.minLength&&r.lowercaseCount>=t.minLowercase&&r.uppercaseCount>=t.minUppercase&&r.numberCount>=t.minNumbers&&r.symbolCount>=t.minSymbols};var i=o(e("./util/merge")),a=o(e("./util/assertString"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/^[A-Z]$/,s=/^[a-z]$/,u=/^[0-9]$/,l=/^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/,c={minLength:8,minLowercase:1,minUppercase:1,minNumbers:1,minSymbols:1,returnScore:!1,pointsPerUnique:1,pointsPerRepeat:.5,pointsForContainingLower:10,pointsForContainingUpper:10,pointsForContainingNumber:10,pointsForContainingSymbol:10};function d(e){var t,r,i=(t=e,r={},Array.from(t).forEach((function(e){r[e]?r[e]+=1:r[e]=1})),r),a={length:e.length,uniqueChars:Object.keys(i).length,uppercaseCount:0,lowercaseCount:0,numberCount:0,symbolCount:0};return Object.keys(i).forEach((function(e){n.test(e)?a.uppercaseCount+=i[e]:s.test(e)?a.lowercaseCount+=i[e]:u.test(e)?a.numberCount+=i[e]:l.test(e)&&(a.symbolCount+=i[e])})),a}function f(e,t){var r=0;return r+=e.uniqueChars*t.pointsPerUnique,r+=(e.length-e.uniqueChars)*t.pointsPerRepeat,e.lowercaseCount>0&&(r+=t.pointsForContainingLower),e.uppercaseCount>0&&(r+=t.pointsForContainingUpper),e.numberCount>0&&(r+=t.pointsForContainingNumber),e.symbolCount>0&&(r+=t.pointsForContainingSymbol),r}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],87:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],88:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";(0,a.default)(e);var r=e.slice(0);if(t in p)return t in g&&(r=r.replace(g[t],"")),!!p[t].test(r)&&(!(t in m)||m[t](r));throw new Error("Invalid locale '".concat(t,"'"))};var a=u(e("./util/assertString")),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=a?Object.getOwnPropertyDescriptor(e,o):null;n&&(n.get||n.set)?Object.defineProperty(r,o,n):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(e("./util/algorithms")),n=u(e("./isDate"));function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var d={andover:["10","12"],atlanta:["60","67"],austin:["50","53"],brookhaven:["01","02","03","04","05","06","11","13","14","16","21","22","23","25","34","51","52","54","55","56","57","58","59","65"],cincinnati:["30","32","35","36","37","38","61"],fresno:["15","24"],internet:["20","26","27","45","46","47"],kansas:["40","44"],memphis:["94","95"],ogden:["80","90"],philadelphia:["33","39","41","42","43","46","48","62","63","64","66","68","71","72","73","74","75","76","77","81","82","83","84","85","86","87","88","91","92","93","98","99"],sba:["31"]};function f(e){for(var t=!1,r=!1,i=0;i<3;i++)if(!t&&/[AEIOU]/.test(e[i]))t=!0;else if(!r&&t&&"X"===e[i])r=!0;else if(i>0){if(t&&!r&&!/[AEIOU]/.test(e[i]))return!1;if(r&&!/X/.test(e[i]))return!1}return!0}var p={"bg-BG":/^\d{10}$/,"cs-CZ":/^\d{6}\/{0,1}\d{3,4}$/,"de-AT":/^\d{9}$/,"de-DE":/^[1-9]\d{10}$/,"dk-DK":/^\d{6}-{0,1}\d{4}$/,"el-CY":/^[09]\d{7}[A-Z]$/,"el-GR":/^([0-4]|[7-9])\d{8}$/,"en-GB":/^\d{10}$|^(?!GB|NK|TN|ZZ)(?![DFIQUV])[A-Z](?![DFIQUVO])[A-Z]\d{6}[ABCD ]$/i,"en-IE":/^\d{7}[A-W][A-IW]{0,1}$/i,"en-US":/^\d{2}[- ]{0,1}\d{7}$/,"es-ES":/^(\d{0,8}|[XYZKLM]\d{7})[A-HJ-NP-TV-Z]$/i,"et-EE":/^[1-6]\d{6}(00[1-9]|0[1-9][0-9]|[1-6][0-9]{2}|70[0-9]|710)\d$/,"fi-FI":/^\d{6}[-+A]\d{3}[0-9A-FHJ-NPR-Y]$/i,"fr-BE":/^\d{11}$/,"fr-FR":/^[0-3]\d{12}$|^[0-3]\d\s\d{2}(\s\d{3}){3}$/,"fr-LU":/^\d{13}$/,"hr-HR":/^\d{11}$/,"hu-HU":/^8\d{9}$/,"it-IT":/^[A-Z]{6}[L-NP-V0-9]{2}[A-EHLMPRST][L-NP-V0-9]{2}[A-ILMZ][L-NP-V0-9]{3}[A-Z]$/i,"lv-LV":/^\d{6}-{0,1}\d{5}$/,"mt-MT":/^\d{3,7}[APMGLHBZ]$|^([1-8])\1\d{7}$/i,"nl-NL":/^\d{9}$/,"pl-PL":/^\d{10,11}$/,"pt-PT":/^\d{9}$/,"ro-RO":/^\d{13}$/,"sk-SK":/^\d{6}\/{0,1}\d{3,4}$/,"sl-SI":/^[1-9]\d{7}$/,"sv-SE":/^(\d{6}[-+]{0,1}\d{4}|(18|19|20)\d{6}[-+]{0,1}\d{4})$/};p["lb-LU"]=p["fr-LU"],p["lt-LT"]=p["et-EE"],p["nl-BE"]=p["fr-BE"];var m={"bg-BG":function(e){var t=e.slice(0,2),r=parseInt(e.slice(2,4),10);r>40?(r-=40,t="20".concat(t)):r>20?(r-=20,t="18".concat(t)):t="19".concat(t),r<10&&(r="0".concat(r));var i="".concat(t,"/").concat(r,"/").concat(e.slice(4,6));if(!(0,n.default)(i,"YYYY/MM/DD"))return!1;for(var a=e.split("").map((function(e){return parseInt(e,10)})),o=[2,4,8,5,10,9,7,3,6],s=0,u=0;u<o.length;u++)s+=a[u]*o[u];return(s=s%11==10?0:s%11)===a[9]},"cs-CZ":function(e){e=e.replace(/\W/,"");var t=parseInt(e.slice(0,2),10);if(10===e.length)t=t<54?"20".concat(t):"19".concat(t);else{if("000"===e.slice(6))return!1;if(!(t<54))return!1;t="19".concat(t)}3===t.length&&(t=[t.slice(0,2),"0",t.slice(2)].join(""));var r=parseInt(e.slice(2,4),10);if(r>50&&(r-=50),r>20){if(parseInt(t,10)<2004)return!1;r-=20}r<10&&(r="0".concat(r));var i="".concat(t,"/").concat(r,"/").concat(e.slice(4,6));if(!(0,n.default)(i,"YYYY/MM/DD"))return!1;if(10===e.length&&parseInt(e,10)%11!=0){var a=parseInt(e.slice(0,9),10)%11;if(!(parseInt(t,10)<1986&&10===a))return!1;if(0!==parseInt(e.slice(9),10))return!1}return!0},"de-AT":function(e){return o.luhnCheck(e)},"de-DE":function(e){for(var t=e.split("").map((function(e){return parseInt(e,10)})),r=[],i=0;i<t.length-1;i++){r.push("");for(var a=0;a<t.length-1;a++)t[i]===t[a]&&(r[i]+=a)}if(2!==(r=r.filter((function(e){return e.length>1}))).length&&3!==r.length)return!1;if(3===r[0].length){for(var n=r[0].split("").map((function(e){return parseInt(e,10)})),s=0,u=0;u<n.length-1;u++)n[u]+1===n[u+1]&&(s+=1);if(2===s)return!1}return o.iso7064Check(e)},"dk-DK":function(e){e=e.replace(/\W/,"");var t=parseInt(e.slice(4,6),10);switch(e.slice(6,7)){case"0":case"1":case"2":case"3":t="19".concat(t);break;case"4":case"9":t=t<37?"20".concat(t):"19".concat(t);break;default:if(t<37)t="20".concat(t);else{if(!(t>58))return!1;t="18".concat(t)}}3===t.length&&(t=[t.slice(0,2),"0",t.slice(2)].join(""));var r="".concat(t,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map((function(e){return parseInt(e,10)})),a=0,o=4,s=0;s<9;s++)a+=i[s]*o,1===(o-=1)&&(o=7);return 1!==(a%=11)&&(0===a?0===i[9]:i[9]===11-a)},"el-CY":function(e){for(var t=e.slice(0,8).split("").map((function(e){return parseInt(e,10)})),r=0,i=1;i<t.length;i+=2)r+=t[i];for(var a=0;a<t.length;a+=2)t[a]<2?r+=1-t[a]:(r+=2*(t[a]-2)+5,t[a]>4&&(r+=2));return String.fromCharCode(r%26+65)===e.charAt(8)},"el-GR":function(e){for(var t=e.split("").map((function(e){return parseInt(e,10)})),r=0,i=0;i<8;i++)r+=t[i]*Math.pow(2,8-i);return r%11===t[8]},"en-IE":function(e){var t=o.reverseMultiplyAndSum(e.split("").slice(0,7).map((function(e){return parseInt(e,10)})),8);return 9===e.length&&"W"!==e[8]&&(t+=9*(e[8].charCodeAt(0)-64)),0===(t%=23)?"W"===e[7].toUpperCase():e[7].toUpperCase()===String.fromCharCode(64+t)},"en-US":function(e){return-1!==function(){var e=[];for(var t in d)d.hasOwnProperty(t)&&e.push.apply(e,l(d[t]));return e}().indexOf(e.substr(0,2))},"es-ES":function(e){var t=e.toUpperCase().split("");if(isNaN(parseInt(t[0],10))&&t.length>1){var r=0;switch(t[0]){case"Y":r=1;break;case"Z":r=2}t.splice(0,1,r)}else for(;t.length<9;)t.unshift(0);t=t.join("");var i=parseInt(t.slice(0,8),10)%23;return t[8]===["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"][i]},"et-EE":function(e){var t=e.slice(1,3);switch(e.slice(0,1)){case"1":case"2":t="18".concat(t);break;case"3":case"4":t="19".concat(t);break;default:t="20".concat(t)}var r="".concat(t,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map((function(e){return parseInt(e,10)})),a=0,o=1,s=0;s<10;s++)a+=i[s]*o,10===(o+=1)&&(o=1);if(a%11==10){a=0,o=3;for(var u=0;u<10;u++)a+=i[u]*o,10===(o+=1)&&(o=1);if(a%11==10)return 0===i[10]}return a%11===i[10]},"fi-FI":function(e){var t=e.slice(4,6);switch(e.slice(6,7)){case"+":t="18".concat(t);break;case"-":t="19".concat(t);break;default:t="20".concat(t)}var r="".concat(t,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;var i=parseInt(e.slice(0,6)+e.slice(7,10),10)%31;return i<10?i===parseInt(e.slice(10),10):["A","B","C","D","E","F","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y"][i-=10]===e.slice(10)},"fr-BE":function(e){if("00"!==e.slice(2,4)||"00"!==e.slice(4,6)){var t="".concat(e.slice(0,2),"/").concat(e.slice(2,4),"/").concat(e.slice(4,6));if(!(0,n.default)(t,"YY/MM/DD"))return!1}var r=97-parseInt(e.slice(0,9),10)%97,i=parseInt(e.slice(9,11),10);return r===i||(r=97-parseInt("2".concat(e.slice(0,9)),10)%97)===i},"fr-FR":function(e){return e=e.replace(/\s/g,""),parseInt(e.slice(0,10),10)%511===parseInt(e.slice(10,13),10)},"fr-LU":function(e){var t="".concat(e.slice(0,4),"/").concat(e.slice(4,6),"/").concat(e.slice(6,8));return!!(0,n.default)(t,"YYYY/MM/DD")&&(!!o.luhnCheck(e.slice(0,12))&&o.verhoeffCheck("".concat(e.slice(0,11)).concat(e[12])))},"hr-HR":function(e){return o.iso7064Check(e)},"hu-HU":function(e){for(var t=e.split("").map((function(e){return parseInt(e,10)})),r=8,i=1;i<9;i++)r+=t[i]*(i+1);return r%11===t[9]},"it-IT":function(e){var t=e.toUpperCase().split("");if(!f(t.slice(0,3)))return!1;if(!f(t.slice(3,6)))return!1;for(var r={L:"0",M:"1",N:"2",P:"3",Q:"4",R:"5",S:"6",T:"7",U:"8",V:"9"},i=0,a=[6,7,9,10,12,13,14];i<a.length;i++){var o=a[i];t[o]in r&&t.splice(o,1,r[t[o]])}var s={A:"01",B:"02",C:"03",D:"04",E:"05",H:"06",L:"07",M:"08",P:"09",R:"10",S:"11",T:"12"}[t[8]],u=parseInt(t[9]+t[10],10);u>40&&(u-=40),u<10&&(u="0".concat(u));var l="".concat(t[6]).concat(t[7],"/").concat(s,"/").concat(u);if(!(0,n.default)(l,"YY/MM/DD"))return!1;for(var c=0,d=1;d<t.length-1;d+=2){var p=parseInt(t[d],10);isNaN(p)&&(p=t[d].charCodeAt(0)-65),c+=p}for(var m={A:1,B:0,C:5,D:7,E:9,F:13,G:15,H:17,I:19,J:21,K:2,L:4,M:18,N:20,O:11,P:3,Q:6,R:8,S:12,T:14,U:16,V:10,W:22,X:25,Y:24,Z:23,0:1,1:0},h=0;h<t.length-1;h+=2){var g=0;if(t[h]in m)g=m[t[h]];else{var b=parseInt(t[h],10);g=2*b+1,b>4&&(g+=2)}c+=g}return String.fromCharCode(65+c%26)===t[15]},"lv-LV":function(e){var t=(e=e.replace(/\W/,"")).slice(0,2);if("32"!==t){if("00"!==e.slice(2,4)){var r=e.slice(4,6);switch(e[6]){case"0":r="18".concat(r);break;case"1":r="19".concat(r);break;default:r="20".concat(r)}var i="".concat(r,"/").concat(e.slice(2,4),"/").concat(t);if(!(0,n.default)(i,"YYYY/MM/DD"))return!1}for(var a=1101,o=[1,6,3,7,9,10,5,8,4,2],s=0;s<e.length-1;s++)a-=parseInt(e[s],10)*o[s];return parseInt(e[10],10)===a%11}return!0},"mt-MT":function(e){if(9!==e.length){for(var t=e.toUpperCase().split("");t.length<8;)t.unshift(0);switch(e[7]){case"A":case"P":if(0===parseInt(t[6],10))return!1;break;default:var r=parseInt(t.join("").slice(0,5),10);if(r>32e3)return!1;if(r===parseInt(t.join("").slice(5,7),10))return!1}}return!0},"nl-NL":function(e){return o.reverseMultiplyAndSum(e.split("").slice(0,8).map((function(e){return parseInt(e,10)})),9)%11===parseInt(e[8],10)},"pl-PL":function(e){if(10===e.length){for(var t=[6,5,7,2,3,4,5,6,7],r=0,i=0;i<t.length;i++)r+=parseInt(e[i],10)*t[i];return 10!==(r%=11)&&r===parseInt(e[9],10)}var a=e.slice(0,2),o=parseInt(e.slice(2,4),10);o>80?(a="18".concat(a),o-=80):o>60?(a="22".concat(a),o-=60):o>40?(a="21".concat(a),o-=40):o>20?(a="20".concat(a),o-=20):a="19".concat(a),o<10&&(o="0".concat(o));var s="".concat(a,"/").concat(o,"/").concat(e.slice(4,6));if(!(0,n.default)(s,"YYYY/MM/DD"))return!1;for(var u=0,l=1,c=0;c<e.length-1;c++)u+=parseInt(e[c],10)*l%10,(l+=2)>10?l=1:5===l&&(l+=2);return(u=10-u%10)===parseInt(e[10],10)},"pt-PT":function(e){var t=11-o.reverseMultiplyAndSum(e.split("").slice(0,8).map((function(e){return parseInt(e,10)})),9)%11;return t>9?0===parseInt(e[8],10):t===parseInt(e[8],10)},"ro-RO":function(e){if("9000"!==e.slice(0,4)){var t=e.slice(1,3);switch(e[0]){case"1":case"2":t="19".concat(t);break;case"3":case"4":t="18".concat(t);break;case"5":case"6":t="20".concat(t)}var r="".concat(t,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(8===r.length){if(!(0,n.default)(r,"YY/MM/DD"))return!1}else if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map((function(e){return parseInt(e,10)})),a=[2,7,9,1,4,6,3,5,8,2,7,9],o=0,s=0;s<a.length;s++)o+=i[s]*a[s];return o%11==10?1===i[12]:i[12]===o%11}return!0},"sk-SK":function(e){if(9===e.length){if("000"===(e=e.replace(/\W/,"")).slice(6))return!1;var t=parseInt(e.slice(0,2),10);if(t>53)return!1;t=t<10?"190".concat(t):"19".concat(t);var r=parseInt(e.slice(2,4),10);r>50&&(r-=50),r<10&&(r="0".concat(r));var i="".concat(t,"/").concat(r,"/").concat(e.slice(4,6));if(!(0,n.default)(i,"YYYY/MM/DD"))return!1}return!0},"sl-SI":function(e){var t=11-o.reverseMultiplyAndSum(e.split("").slice(0,7).map((function(e){return parseInt(e,10)})),8)%11;return 10===t?0===parseInt(e[7],10):t===parseInt(e[7],10)},"sv-SE":function(e){var t=e.slice(0);e.length>11&&(t=t.slice(2));var r="",i=t.slice(2,4),a=parseInt(t.slice(4,6),10);if(e.length>11)r=e.slice(0,4);else if(r=e.slice(0,2),11===e.length&&a<60){var s=(new Date).getFullYear().toString(),u=parseInt(s.slice(0,2),10);if(s=parseInt(s,10),"-"===e[6])r=parseInt("".concat(u).concat(r),10)>s?"".concat(u-1).concat(r):"".concat(u).concat(r);else if(r="".concat(u-1).concat(r),s-parseInt(r,10)<100)return!1}a>60&&(a-=60),a<10&&(a="0".concat(a));var l="".concat(r,"/").concat(i,"/").concat(a);if(8===l.length){if(!(0,n.default)(l,"YY/MM/DD"))return!1}else if(!(0,n.default)(l,"YYYY/MM/DD"))return!1;return o.luhnCheck(e.replace(/\W/,""))}};m["lb-LU"]=m["fr-LU"],m["lt-LT"]=m["et-EE"],m["nl-BE"]=m["fr-BE"];var h=/[-\\\/!@#$%\^&\*\(\)\+\=\[\]]+/g,g={"de-AT":h,"de-DE":/[\/\\]/g,"fr-BE":h};g["nl-BE"]=g["fr-BE"],t.exports=r.default,t.exports.default=r.default},{"./isDate":35,"./util/algorithms":106,"./util/assertString":107}],89:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,i.default)(e),!e||/[\s<>]/.test(e))return!1;if(0===e.indexOf("mailto:"))return!1;if((t=(0,n.default)(t,u)).validate_length&&e.length>=2083)return!1;var r,s,d,f,p,m,h,g;if(h=e.split("#"),e=h.shift(),h=e.split("?"),e=h.shift(),(h=e.split("://")).length>1){if(r=h.shift().toLowerCase(),t.require_valid_protocol&&-1===t.protocols.indexOf(r))return!1}else{if(t.require_protocol)return!1;if("//"===e.substr(0,2)){if(!t.allow_protocol_relative_urls)return!1;h[0]=e.substr(2)}}if(""===(e=h.join("://")))return!1;if(h=e.split("/"),""===(e=h.shift())&&!t.require_host)return!0;if((h=e.split("@")).length>1){if(t.disallow_auth)return!1;if(-1===(s=h.shift()).indexOf(":")||s.indexOf(":")>=0&&s.split(":").length>2)return!1}f=h.join("@"),m=null,g=null;var b=f.match(l);b?(d="",g=b[1],m=b[2]||null):(h=f.split(":"),d=h.shift(),h.length&&(m=h.join(":")));if(null!==m){if(p=parseInt(m,10),!/^[0-9]+$/.test(m)||p<=0||p>65535)return!1}else if(t.require_port)return!1;if(!((0,o.default)(d)||(0,a.default)(d,t)||g&&(0,o.default)(g,6)))return!1;if(d=d||g,t.host_whitelist&&!c(d,t.host_whitelist))return!1;if(t.host_blacklist&&c(d,t.host_blacklist))return!1;return!0};var i=s(e("./util/assertString")),a=s(e("./isFQDN")),o=s(e("./isIP")),n=s(e("./util/merge"));function s(e){return e&&e.__esModule?e:{default:e}}var u={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,validate_length:!0},l=/^\[([^\]]+)\](?::([0-9]+))?$/;function c(e,t){for(var r=0;r<t.length;r++){var i=t[r];if(e===i||(a=i,"[object RegExp]"===Object.prototype.toString.call(a)&&i.test(e)))return!0}var a;return!1}t.exports=r.default,t.exports.default=r.default},{"./isFQDN":42,"./isIP":52,"./util/assertString":107,"./util/merge":109}],90:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";(0,a.default)(e);var r=o[t];return r&&r.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],91:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e===e.toUpperCase()};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],92:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),(0,a.default)(t),t in o)return o[t].test(e);throw new Error("Invalid country code: '".concat(t,"'"))},r.vatMatchers=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={GB:/^GB((\d{3} \d{4} ([0-8][0-9]|9[0-6]))|(\d{9} \d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/};r.vatMatchers=o},{"./util/assertString":107}],93:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.fullWidth.test(e)&&n.halfWidth.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./isFullWidth"),n=e("./isHalfWidth");t.exports=r.default,t.exports.default=r.default},{"./isFullWidth":44,"./isHalfWidth":46,"./util/assertString":107}],94:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);for(var r=e.length-1;r>=0;r--)if(-1===t.indexOf(e[r]))return!1;return!0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],95:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=t?new RegExp("^[".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+"),"g"):/^\s+/g;return e.replace(r,"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],96:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){(0,a.default)(e),"[object RegExp]"!==Object.prototype.toString.call(t)&&(t=new RegExp(t,r));return t.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],97:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){t=(0,a.default)(t,o);var r=e.split("@"),i=r.pop(),d=[r.join("@"),i];if(d[1]=d[1].toLowerCase(),"gmail.com"===d[1]||"googlemail.com"===d[1]){if(t.gmail_remove_subaddress&&(d[0]=d[0].split("+")[0]),t.gmail_remove_dots&&(d[0]=d[0].replace(/\.+/g,c)),!d[0].length)return!1;(t.all_lowercase||t.gmail_lowercase)&&(d[0]=d[0].toLowerCase()),d[1]=t.gmail_convert_googlemaildotcom?"gmail.com":d[1]}else if(n.indexOf(d[1])>=0){if(t.icloud_remove_subaddress&&(d[0]=d[0].split("+")[0]),!d[0].length)return!1;(t.all_lowercase||t.icloud_lowercase)&&(d[0]=d[0].toLowerCase())}else if(s.indexOf(d[1])>=0){if(t.outlookdotcom_remove_subaddress&&(d[0]=d[0].split("+")[0]),!d[0].length)return!1;(t.all_lowercase||t.outlookdotcom_lowercase)&&(d[0]=d[0].toLowerCase())}else if(u.indexOf(d[1])>=0){if(t.yahoo_remove_subaddress){var f=d[0].split("-");d[0]=f.length>1?f.slice(0,-1).join("-"):f[0]}if(!d[0].length)return!1;(t.all_lowercase||t.yahoo_lowercase)&&(d[0]=d[0].toLowerCase())}else l.indexOf(d[1])>=0?((t.all_lowercase||t.yandex_lowercase)&&(d[0]=d[0].toLowerCase()),d[1]="yandex.ru"):t.all_lowercase&&(d[0]=d[0].toLowerCase());return d.join("@")};var i,a=(i=e("./util/merge"))&&i.__esModule?i:{default:i};var o={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0,yahoo_lowercase:!0,yahoo_remove_subaddress:!0,yandex_lowercase:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},n=["icloud.com","me.com"],s=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],u=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"],l=["yandex.ru","yandex.ua","yandex.kz","yandex.com","yandex.by","ya.ru"];function c(e){return e.length>1?e:""}t.exports=r.default,t.exports.default=r.default},{"./util/merge":109}],98:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=t?new RegExp("[".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+$"),"g"):/\s+$/g;return e.replace(r,"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],99:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e);var r=t?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return(0,a.default)(e,r)};var i=o(e("./util/assertString")),a=o(e("./blacklist"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./blacklist":16,"./util/assertString":107}],100:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t)return"1"===e||/^true$/i.test(e);return"0"!==e&&!/^false$/i.test(e)&&""!==e};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],101:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e=Date.parse(e),isNaN(e)?null:new Date(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],102:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e)?parseFloat(e):NaN};var i,a=(i=e("./isFloat"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./isFloat":43}],103:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),parseInt(e,t||10)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],104:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,i.default)((0,a.default)(e,t),t)};var i=o(e("./rtrim")),a=o(e("./ltrim"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./ltrim":95,"./rtrim":98}],105:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e.replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&#x2F;/g,"/").replace(/&#x5C;/g,"\\").replace(/&#96;/g,"`")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],106:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.iso7064Check=function(e){for(var t=10,r=0;r<e.length-1;r++)t=(parseInt(e[r],10)+t)%10==0?9:(parseInt(e[r],10)+t)%10*2%11;return(t=1===t?0:11-t)===parseInt(e[10],10)},r.luhnCheck=function(e){for(var t=0,r=!1,i=e.length-1;i>=0;i--){if(r){var a=2*parseInt(e[i],10);t+=a>9?a.toString().split("").map((function(e){return parseInt(e,10)})).reduce((function(e,t){return e+t}),0):a}else t+=parseInt(e[i],10);r=!r}return t%10==0},r.reverseMultiplyAndSum=function(e,t){for(var r=0,i=0;i<e.length;i++)r+=e[i]*(t-i);return r},r.verhoeffCheck=function(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],r=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],i=e.split("").reverse().join(""),a=0,o=0;o<i.length;o++)a=t[a][r[o%8][parseInt(i[o],10)]];return 0===a}},{}],107:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if(!("string"==typeof e||e instanceof String)){var t=i(e);throw null===e?t="null":"object"===t&&(t=e.constructor.name),new TypeError("Expected a string but received a ".concat(t))}},t.exports=r.default,t.exports.default=r.default},{}],108:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var i=function(e,t){return e.some((function(e){return t===e}))};r.default=i,t.exports=r.default,t.exports.default=r.default},{}],109:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;for(var r in t)void 0===e[r]&&(e[r]=t[r]);return e},t.exports=r.default,t.exports.default=r.default},{}],110:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r=e.join("");return new RegExp(r,t)},t.exports=r.default,t.exports.default=r.default},{}],111:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){"object"===i(e)&&null!==e?e="function"==typeof e.toString?e.toString():"[object Object]":(null==e||isNaN(e)&&!e.length)&&(e="");return String(e)},t.exports=r.default,t.exports.default=r.default},{}],112:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),e.replace(new RegExp("[^".concat(t,"]+"),"g"),"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],113:[function(e,t,r){t.exports={name:"doipjs",version:"0.12.9",description:"Decentralized OpenPGP Identity Proofs library in Node.js",main:"src/index.js",dependencies:{"@xmpp/client":"^0.12.0","@xmpp/debug":"^0.12.0",bent:"^7.3.12","browser-or-node":"^1.3.0",cors:"^2.8.5",dotenv:"^8.2.0",express:"^4.17.1","express-validator":"^6.10.0","irc-upd":"^0.11.0",jsdom:"^16.5.1","merge-options":"^3.0.3",openpgp:"^4.10.9","query-string":"^6.14.1","valid-url":"^1.0.9",validator:"^13.5.2"},devDependencies:{browserify:"^17.0.0","browserify-shim":"^3.8.14",chai:"^4.2.0","chai-as-promised":"^7.1.1","chai-match-pattern":"^1.2.0","clean-jsdoc-theme":"^3.2.4",jsdoc:"^3.6.6","license-check-and-add":"^3.0.4",minify:"^6.0.1",mocha:"^8.2.0",nodemon:"^2.0.7",prettier:"^2.1.2"},scripts:{"release:bundle":"./node_modules/.bin/browserify ./src/index.js --standalone doip -x openpgp -x jsdom -x @xmpp/client -x @xmpp/debug -x irc-upd -o ./dist/doip.js","release:minify":"./node_modules/.bin/minify ./dist/doip.js > ./dist/doip.min.js","prettier:check":"./node_modules/.bin/prettier --check .","prettier:write":"./node_modules/.bin/prettier --write .","license:check":"./node_modules/.bin/license-check-and-add check","license:add":"./node_modules/.bin/license-check-and-add add","license:remove":"./node_modules/.bin/license-check-and-add remove","docs:lib":"./node_modules/.bin/jsdoc -c jsdoc-lib.json -r -d ./docs",test:"./node_modules/.bin/mocha",proxy:"NODE_ENV=production node ./src/proxy/","proxy:dev":"NODE_ENV=development ./node_modules/.bin/nodemon ./src/proxy/"},repository:{type:"git",url:"https://codeberg.org/keyoxide/doipjs"},homepage:"https://js.doip.rocks",keywords:["pgp","gpg","openpgp","encryption","decentralized","identity"],author:"Yarmo Mackenbach <yarmo@yarmo.eu> (https://yarmo.eu)",license:"Apache-2.0",browserify:{transform:["browserify-shim"]},"browserify-shim":{openpgp:"global:openpgp"}}},{}],114:[function(e,t,r){const i=e("validator"),a=e("valid-url"),o=e("merge-options"),n=e("./proofs"),s=e("./verifications"),u=e("./claimDefinitions"),l=e("./defaults"),c=e("./enums");t.exports=class{constructor(e,t){if("object"==typeof e&&"claimVersion"in e){const t=e;switch(t.claimVersion){case 1:this._uri=t.uri,this._fingerprint=t.fingerprint,this._status=t.status,this._matches=t.matches,this._verification=t.verification;break;default:throw new Error("Invalid claim version")}}else{if(e&&!a.isUri(e))throw new Error("Invalid URI");if(t)try{i.isAlphanumeric(t)}catch(e){throw new Error("Invalid fingerprint")}this._uri=e||null,this._fingerprint=t||null,this._status=c.ClaimStatus.INIT,this._matches=null,this._verification=null}}get uri(){return this._uri}get fingerprint(){return this._fingerprint}get status(){return this._status}get matches(){if(this._status===c.ClaimStatus.INIT)throw new Error("This claim has not yet been matched");return this._matches}get verification(){if(this._status!==c.ClaimStatus.VERIFIED)throw new Error("This claim has not yet been verified");return this._verification}set uri(e){if(this._status!==c.ClaimStatus.INIT)throw new Error("Cannot change the URI, this claim has already been matched");if(e&&!a.isUri(e))throw new Error("The URI was invalid");e=e.replace(/^\s+|\s+$/g,""),this._uri=e}set fingerprint(e){if(this._status===c.ClaimStatus.VERIFIED)throw new Error("Cannot change the fingerprint, this claim has already been verified");this._fingerprint=e}set status(e){throw new Error("Cannot change a claim's status")}set matches(e){throw new Error("Cannot change a claim's matches")}set verification(e){throw new Error("Cannot change a claim's verification result")}match(){if(this._status!==c.ClaimStatus.INIT)throw new Error("This claim was already matched");if(null===this._uri)throw new Error("This claim has no URI");this._matches=[],u.list.every(((e,t)=>{const r=u.data[e];if(!r.reURI.test(this._uri))return!0;const i=r.processURI(this._uri);return i.match.isAmbiguous?(this._matches.push(i),!0):(this._matches=[i],!1)})),this._status=c.ClaimStatus.MATCHED}async verify(e){if(this._status===c.ClaimStatus.INIT)throw new Error("This claim has not yet been matched");if(this._status===c.ClaimStatus.VERIFIED)throw new Error("This claim has already been verified");if(null===this._fingerprint)throw new Error("This claim has no fingerprint");e=o(l.opts,e||{}),0===this._matches.length&&(this._verification={result:!1,completed:!0,proof:{},errors:["No matches for claim"]});for(let t=0;t<this._matches.length;t++){const r=this._matches[t];let i,a=null,o=null;try{o=await n.fetch(r,e)}catch(e){i=e}if(o)a=s.run(o.result,r,this._fingerprint),a.proof={fetcher:o.fetcher,viaProxy:o.viaProxy};else if(a=a||{result:!1,completed:!0,proof:{},errors:[i]},this.isAmbiguous())continue;a.completed&&(this._verification=a,this._matches=[r],t=this._matches.length)}this._verification=this._verification?this._verification:{result:!1,completed:!0,proof:{},errors:["Unknown error"]},this._status=c.ClaimStatus.VERIFIED}isAmbiguous(){if(this._status===c.ClaimStatus.INIT)throw new Error("The claim has not been matched yet");if(0===this._matches.length)throw new Error("The claim has no matches");return this._matches.length>1||this._matches[0].match.isAmbiguous}toJSON(){return{claimVersion:1,uri:this._uri,fingerprint:this._fingerprint,status:this._status,matches:this._matches,verification:this._verification}}}},{"./claimDefinitions":123,"./defaults":133,"./enums":134,"./proofs":145,"./verifications":148,"merge-options":8,"valid-url":13,validator:14}],115:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/dev\.to\/(.*)\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"devto"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://dev.to/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://dev.to/api/articles/${t[1]}/${t[2]}`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["body_markdown"]}}},r.tests=[{uri:"https://dev.to/alice/post",shouldMatch:!0},{uri:"https://dev.to/alice/post/",shouldMatch:!0},{uri:"https://domain.org/alice/post",shouldMatch:!1}]},{"../enums":134}],116:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/u\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"discourse"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`${t[2]}@${t[1]}`,uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://${t[1]}/u/${t[2]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["user","bio_raw"]}}},r.tests=[{uri:"https://domain.org/u/alice",shouldMatch:!0},{uri:"https://domain.org/u/alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":134}],117:[function(e,t,r){const i=e("../enums"),a=/^dns:([a-zA-Z0-9\.\-\_]*)(?:\?(.*))?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"dns"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://"+t[1],qr:null},proof:{uri:null,request:{fetcher:i.Fetcher.DNS,access:i.ProofAccess.SERVER,format:i.ProofFormat.JSON,data:{domain:t[1]}}},claim:{format:i.ClaimFormat.URI,relation:i.ClaimRelation.CONTAINS,path:["records","txt"]}}},r.tests=[{uri:"dns:domain.org",shouldMatch:!0},{uri:"dns:domain.org?type=TXT",shouldMatch:!0},{uri:"https://domain.org",shouldMatch:!1}]},{"../enums":134}],118:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/users\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"fediverse"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`@${t[2]}@${t[1]}`,uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:e,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["summary"]}}},r.tests=[{uri:"https://domain.org/users/alice",shouldMatch:!0},{uri:"https://domain.org/users/alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":134}],119:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/(.*)\/gitea_proof\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"gitea"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`${t[2]}@${t[1]}`,uri:`https://${t[1]}/${t[2]}`,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://${t[1]}/api/v1/repos/${t[2]}/gitea_proof`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.EQUALS,path:["description"]}}},r.tests=[{uri:"https://domain.org/alice/gitea_proof",shouldMatch:!0},{uri:"https://domain.org/alice/gitea_proof/",shouldMatch:!0},{uri:"https://domain.org/alice/other_proof",shouldMatch:!1}]},{"../enums":134}],120:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/gist\.github\.com\/(.*)\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"github"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://github.com/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:"https://api.github.com/gists/"+t[2],format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["files","openpgp.md","content"]}}},r.tests=[{uri:"https://gist.github.com/Alice/123456789",shouldMatch:!0},{uri:"https://gist.github.com/Alice/123456789/",shouldMatch:!0},{uri:"https://domain.org/Alice/123456789",shouldMatch:!1}]},{"../enums":134}],121:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/(.*)\/gitlab_proof\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"gitlab"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`${t[2]}@${t[1]}`,uri:`https://${t[1]}/${t[2]}`,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.GITLAB,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{domain:t[1],username:t[2]}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.EQUALS,path:["description"]}}},r.tests=[{uri:"https://gitlab.domain.org/alice/gitlab_proof",shouldMatch:!0},{uri:"https://gitlab.domain.org/alice/gitlab_proof/",shouldMatch:!0},{uri:"https://domain.org/alice/other_proof",shouldMatch:!1}]},{"../enums":134}],122:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/news\.ycombinator\.com\/user\?id=(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"hackernews"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:`https://hacker-news.firebaseio.com/v0/user/${t[1]}.json`,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://hacker-news.firebaseio.com/v0/user/${t[1]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.URI,relation:i.ClaimRelation.CONTAINS,path:["about"]}}},r.tests=[{uri:"https://news.ycombinator.com/user?id=Alice",shouldMatch:!0},{uri:"https://news.ycombinator.com/user?id=Alice/",shouldMatch:!0},{uri:"https://domain.org/user?id=Alice",shouldMatch:!1}]},{"../enums":134}],123:[function(e,t,r){const i={dns:e("./dns"),irc:e("./irc"),xmpp:e("./xmpp"),matrix:e("./matrix"),twitter:e("./twitter"),reddit:e("./reddit"),liberapay:e("./liberapay"),hackernews:e("./hackernews"),lobsters:e("./lobsters"),devto:e("./devto"),gitea:e("./gitea"),gitlab:e("./gitlab"),github:e("./github"),mastodon:e("./mastodon"),fediverse:e("./fediverse"),discourse:e("./discourse"),owncast:e("./owncast")};r.list=["dns","irc","xmpp","matrix","twitter","reddit","liberapay","hackernews","lobsters","devto","gitea","gitlab","github","mastodon","fediverse","discourse","owncast"],r.data=i},{"./devto":115,"./discourse":116,"./dns":117,"./fediverse":118,"./gitea":119,"./github":120,"./gitlab":121,"./hackernews":122,"./irc":124,"./liberapay":125,"./lobsters":126,"./mastodon":127,"./matrix":128,"./owncast":129,"./reddit":130,"./twitter":131,"./xmpp":132}],124:[function(e,t,r){const i=e("../enums"),a=/^irc\:\/\/(.*)\/([a-zA-Z0-9\-\[\]\\\`\_\^\{\|\}]*)/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"communication",name:"irc"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:`irc://${t[1]}/${t[2]}`,uri:e,qr:null},proof:{uri:null,request:{fetcher:i.Fetcher.IRC,access:i.ProofAccess.SERVER,format:i.ProofFormat.JSON,data:{domain:t[1],nick:t[2]}}},claim:{format:i.ClaimFormat.URI,relation:i.ClaimRelation.CONTAINS,path:[]}}},r.tests=[{uri:"irc://chat.ircserver.org/Alice1",shouldMatch:!0},{uri:"irc://chat.ircserver.org/alice?param=123",shouldMatch:!0},{uri:"irc://chat.ircserver.org/alice_bob",shouldMatch:!0},{uri:"https://chat.ircserver.org/alice",shouldMatch:!1}]},{"../enums":134}],125:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/liberapay\.com\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"liberapay"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:`https://liberapay.com/${t[1]}/public.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["statements","content"]}}},r.tests=[{uri:"https://liberapay.com/alice",shouldMatch:!0},{uri:"https://liberapay.com/alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":134}],126:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/lobste\.rs\/u\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"lobsters"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:`https://lobste.rs/u/${t[1]}.json`,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://lobste.rs/u/${t[1]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["about"]}}},r.tests=[{uri:"https://lobste.rs/u/Alice",shouldMatch:!0},{uri:"https://lobste.rs/u/Alice/",shouldMatch:!0},{uri:"https://domain.org/u/Alice",shouldMatch:!1}]},{"../enums":134}],127:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/@(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"mastodon"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`@${t[2]}@${t[1]}`,uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:e,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["attachment","value"]}}},r.tests=[{uri:"https://domain.org/@alice",shouldMatch:!0},{uri:"https://domain.org/@alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":134}],128:[function(e,t,r){const i=e("../enums"),a=e("query-string"),o=/^matrix\:u\/(?:\@)?([^@:]*\:[^?]*)(\?.*)?/;r.reURI=o,r.processURI=e=>{const t=e.match(o);if(!t[2])return null;const r=a.parse(t[2]);if(!("org.keyoxide.e"in r)||!("org.keyoxide.r"in r))return null;const n="https://matrix.to/#/@"+t[1],s=`https://matrix.to/#/${r["org.keyoxide.r"]}/${r["org.keyoxide.e"]}`;return{serviceprovider:{type:"communication",name:"matrix"},match:{regularExpression:o,isAmbiguous:!1},profile:{display:"@"+t[1],uri:n,qr:null},proof:{uri:s,request:{fetcher:i.Fetcher.MATRIX,access:i.ProofAccess.GRANTED,format:i.ProofFormat.JSON,data:{eventId:r["org.keyoxide.e"],roomId:r["org.keyoxide.r"]}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["content","body"]}}},r.tests=[{uri:"matrix:u/alice:matrix.domain.org?org.keyoxide.r=!123:domain.org&org.keyoxide.e=$123",shouldMatch:!0},{uri:"matrix:u/alice:matrix.domain.org",shouldMatch:!0},{uri:"xmpp:alice@domain.org",shouldMatch:!1},{uri:"https://domain.org/@alice",shouldMatch:!1}]},{"../enums":134,"query-string":10}],129:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"owncast"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:t[1],uri:e,qr:null},proof:{uri:e+"/api/config",request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:e+"/api/config",format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["socialHandles","url"]}}},r.tests=[{uri:"https://live.domain.org",shouldMatch:!0},{uri:"https://live.domain.org/",shouldMatch:!0},{uri:"https://domain.org/live",shouldMatch:!0},{uri:"https://domain.org/live/",shouldMatch:!0}]},{"../enums":134}],130:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(?:www\.)?reddit\.com\/user\/(.*)\/comments\/(.*)\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"reddit"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://www.reddit.com/user/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://www.reddit.com/user/${t[1]}/comments/${t[2]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["data","children","data","selftext"]}}},r.tests=[{uri:"https://www.reddit.com/user/Alice/comments/123456/post",shouldMatch:!0},{uri:"https://www.reddit.com/user/Alice/comments/123456/post/",shouldMatch:!0},{uri:"https://reddit.com/user/Alice/comments/123456/post",shouldMatch:!0},{uri:"https://reddit.com/user/Alice/comments/123456/post/",shouldMatch:!0},{uri:"https://domain.org/user/Alice/comments/123456/post",shouldMatch:!1}]},{"../enums":134}],131:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/twitter\.com\/(.*)\/status\/([0-9]*)(?:\?.*)?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"twitter"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:"@"+t[1],uri:"https://twitter.com/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.TWITTER,access:i.ProofAccess.GRANTED,format:i.ProofFormat.TEXT,data:{tweetId:t[2]}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:[]}}},r.tests=[{uri:"https://twitter.com/alice/status/1234567890123456789",shouldMatch:!0},{uri:"https://twitter.com/alice/status/1234567890123456789/",shouldMatch:!0},{uri:"https://domain.org/alice/status/1234567890123456789",shouldMatch:!1}]},{"../enums":134}],132:[function(e,t,r){const i=e("../enums"),a=/^xmpp:([a-zA-Z0-9\.\-\_]*)@([a-zA-Z0-9\.\-\_]*)(?:\?(.*))?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"communication",name:"xmpp"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:`${t[1]}@${t[2]}`,uri:e,qr:e},proof:{uri:null,request:{fetcher:i.Fetcher.XMPP,access:i.ProofAccess.SERVER,format:i.ProofFormat.TEXT,data:{id:`${t[1]}@${t[2]}`,field:"note"}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:[]}}},r.tests=[{uri:"xmpp:alice@domain.org",shouldMatch:!0},{uri:"xmpp:alice@domain.org?omemo-sid-123456789=A1B2C3D4E5F6G7H8I9",shouldMatch:!0},{uri:"https://domain.org",shouldMatch:!1}]},{"../enums":134}],133:[function(e,t,r){const i={proxy:{hostname:null,policy:e("./enums").ProxyPolicy.NEVER},claims:{irc:{nick:null},matrix:{instance:null,accessToken:null},xmpp:{service:null,username:null,password:null},twitter:{bearerToken:null}}};r.opts=i},{"./enums":134}],134:[function(e,t,r){const i={ADAPTIVE:"adaptive",ALWAYS:"always",NEVER:"never"};Object.freeze(i);const a={HTTP:"http",DNS:"dns",IRC:"irc",XMPP:"xmpp",MATRIX:"matrix",GITLAB:"gitlab",TWITTER:"twitter"};Object.freeze(a);const o={GENERIC:0,NOCORS:1,GRANTED:2,SERVER:3};Object.freeze(o);const n={JSON:"json",TEXT:"text"};Object.freeze(n);const s={URI:0,FINGERPRINT:1,MESSAGE:2};Object.freeze(s);const u={CONTAINS:0,EQUALS:1,ONEOF:2};Object.freeze(u);const l={INIT:"init",MATCHED:"matched",VERIFIED:"verified"};Object.freeze(l),r.ProxyPolicy=i,r.Fetcher=a,r.ProofAccess=o,r.ProofFormat=n,r.ClaimFormat=s,r.ClaimRelation=u,r.ClaimStatus=l},{}],135:[function(e,t,r){const i=e("browser-or-node");if(t.exports.timeout=5e3,i.isNode){const r=e("dns");t.exports.fn=async(e,i)=>{let a;const o=new Promise(((r,i)=>{a=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),n=new Promise(((t,i)=>{r.resolveTxt(e.domain,((r,a)=>{r?i(r):t({domain:e.domain,records:{txt:a}})}))}));return Promise.race([n,o]).then((e=>(clearTimeout(a),e)))}}else t.exports.fn=null},{"browser-or-node":3,dns:4}],136:[function(e,t,r){const i=e("bent")("GET");t.exports.timeout=5e3,t.exports.fn=async(e,r)=>{let a;const o=new Promise(((r,i)=>{a=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),n=new Promise((async(t,r)=>{const a=`https://${e.domain}/api/v4/users?username=${e.username}`,o=await i(a,null,{Accept:"application/json"}),n=(await o.json()).find((t=>t.username===e.username));n||r("No user with username "+e.username);const s=`https://${e.domain}/api/v4/users/${n.id}/projects`,u=await i(s,null,{Accept:"application/json"}),l=(await u.json()).find((e=>"gitlab_proof"===e.path));l||r("No project found"),t(l)}));return Promise.race([n,o]).then((e=>(clearTimeout(a),e)))}},{bent:1}],137:[function(e,t,r){const i=e("bent")("GET"),a=e("../enums");t.exports.timeout=5e3,t.exports.fn=async(r,o)=>{let n;const s=new Promise(((e,i)=>{n=setTimeout((()=>i(new Error("Request was timed out"))),r.fetcherTimeout?r.fetcherTimeout:t.exports.timeout)})),u=new Promise(((t,o)=>{if(r.url)switch(r.format){case a.ProofFormat.JSON:i(r.url,null,{Accept:"application/json","User-Agent":"doipjs/"+e("../../package.json").version}).then((async e=>await e.json())).then((e=>{t(e)})).catch((e=>{o(e)}));break;case a.ProofFormat.TEXT:i(r.url).then((async e=>await e.text())).then((e=>{t(e)})).catch((e=>{o(e)}));break;default:o("No specified data format")}else o("No valid URI provided")}));return Promise.race([u,s]).then((e=>(clearTimeout(n),e)))}},{"../../package.json":113,"../enums":134,bent:1}],138:[function(e,t,r){r.dns=e("./dns"),r.gitlab=e("./gitlab"),r.http=e("./http"),r.irc=e("./irc"),r.matrix=e("./matrix"),r.twitter=e("./twitter"),r.xmpp=e("./xmpp")},{"./dns":135,"./gitlab":136,"./http":137,"./irc":139,"./matrix":140,"./twitter":141,"./xmpp":142}],139:[function(e,t,r){const i=e("browser-or-node");if(t.exports.timeout=2e4,i.isNode){const r=e("irc-upd"),i=e("validator");t.exports.fn=async(e,a)=>{let o;const n=new Promise(((r,i)=>{o=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),s=new Promise(((t,o)=>{try{i.isAscii(a.claims.irc.nick)}catch(e){throw new Error(`IRC fetcher was not set up properly (${e.message})`)}try{const i=new r.Client(e.domain,a.claims.irc.nick,{port:6697,secure:!0,channels:[],showErrors:!1,debug:!1}),o=/[a-zA-Z0-9\-\_]+\s+:\s(openpgp4fpr\:.*)/,n=/End\sof\s.*\staxonomy./;let s=[];i.addListener("registered",(t=>{i.send("PRIVMSG NickServ TAXONOMY "+e.nick)})),i.addListener("notice",((e,r,a,u)=>{if(o.test(a)){const e=a.match(o);s.push(e[1])}n.test(a)&&(i.disconnect(),t(s))}))}catch(e){o(e)}}));return Promise.race([s,n]).then((e=>(clearTimeout(o),e)))}}else t.exports.fn=null},{"browser-or-node":3,"irc-upd":"irc-upd",validator:14}],140:[function(e,t,r){const i=e("bent")("GET"),a=e("validator");t.exports.timeout=5e3,t.exports.fn=async(e,r)=>{let o;const n=new Promise(((r,i)=>{o=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),s=new Promise(((t,o)=>{try{a.isFQDN(r.claims.matrix.instance),a.isAscii(r.claims.matrix.accessToken)}catch(e){throw new Error(`Matrix fetcher was not set up properly (${e.message})`)}const n=`https://${r.claims.matrix.instance}/_matrix/client/r0/rooms/${e.roomId}/event/${e.eventId}?access_token=${r.claims.matrix.accessToken}`;i(n,null,{Accept:"application/json"}).then((async e=>await e.json())).then((e=>{t(e)})).catch((e=>{o(e)}))}));return Promise.race([s,n]).then((e=>(clearTimeout(o),e)))}},{bent:1,validator:14}],141:[function(e,t,r){const i=e("bent")("GET"),a=e("validator");t.exports.timeout=5e3,t.exports.fn=async(e,r)=>{let o;const n=new Promise(((r,i)=>{o=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),s=new Promise(((t,o)=>{try{a.isAscii(r.claims.twitter.bearerToken)}catch(e){throw new Error(`Twitter fetcher was not set up properly (${e.message})`)}i(`https://api.twitter.com/1.1/statuses/show.json?id=${e.tweetId}&tweet_mode=extended`,null,{Accept:"application/json",Authorization:"Bearer "+r.claims.twitter.bearerToken}).then((async e=>await e.json())).then((e=>{t(e.full_text)})).catch((e=>{o(e)}))}));return Promise.race([s,n]).then((e=>(clearTimeout(o),e)))}},{bent:1,validator:14}],142:[function(e,t,r){(function(r){(function(){const i=e("browser-or-node");if(t.exports.timeout=5e3,i.isNode){const i=e("jsdom"),{client:a,xml:o}=e("@xmpp/client"),n=e("@xmpp/debug"),s=e("validator");let u=null,l=null;const c=async(e,t,i)=>new Promise(((o,s)=>{const u=a({service:e,username:t,password:i});"production"!==r.env.NODE_ENV&&n(u,!0);const{iqCaller:l}=u;u.start(),u.on("online",(e=>{o({xmpp:u,iqCaller:l})})),u.on("error",(e=>{s(e)}))}));t.exports.fn=async(e,r)=>{let a;const n=new Promise(((r,i)=>{a=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),d=new Promise((async(t,a)=>{try{s.isFQDN(r.claims.xmpp.service),s.isAscii(r.claims.xmpp.username),s.isAscii(r.claims.xmpp.password)}catch(e){throw new Error(`XMPP fetcher was not set up properly (${e.message})`)}if(!u||"online"!==u.status){const e=await c(r.claims.xmpp.service,r.claims.xmpp.username,r.claims.xmpp.password);u=e.xmpp,l=e.iqCaller}const n=(await l.request(o("iq",{type:"get",to:e.id},o("vCard","vcard-temp")),3e4)).getChild("vCard","vcard-temp").toString(),d=new i.JSDOM(n);try{let r;switch(e.field.toLowerCase()){case"desc":case"note":if(r=d.window.document.querySelector("note text"),r||(r=d.window.document.querySelector("DESC")),!r)throw new Error("No DESC or NOTE field found in vCard");r=r.textContent;break;default:r=d.window.document.querySelector(e).textContent}u.stop(),t(r)}catch(e){a(e)}}));return Promise.race([d,n]).then((e=>(clearTimeout(a),e)))}}else t.exports.fn=null}).call(this)}).call(this,e("_process"))},{"@xmpp/client":"@xmpp/client","@xmpp/debug":"@xmpp/debug",_process:9,"browser-or-node":3,jsdom:"jsdom",validator:14}],143:[function(e,t,r){const i=e("./claim"),a=e("./claimDefinitions"),o=e("./proofs"),n=e("./keys"),s=e("./signatures"),u=e("./enums"),l=e("./defaults"),c=e("./utils");r.Claim=i,r.claimDefinitions=a,r.proofs=o,r.keys=n,r.signatures=s,r.enums=u,r.defaults=l,r.utils=c},{"./claim":114,"./claimDefinitions":123,"./defaults":133,"./enums":134,"./keys":144,"./proofs":145,"./signatures":146,"./utils":147}],144:[function(e,t,r){(function(t){(function(){const i=e("bent")("GET"),a=e("valid-url"),o="undefined"!=typeof window?window.openpgp:void 0!==t?t.openpgp:null,n=e("./claim");r.fetchHKP=(e,t)=>new Promise((async(r,i)=>{const a=t?"https://"+t:"https://keys.openpgp.org",n=new o.HKP(a),s={query:e};let u=await n.lookup(s).catch((e=>{i("Key does not exist or could not be fetched")}));u=await o.key.readArmored(u).then((e=>e.keys[0])).catch((e=>null)),u?r(u):i("Key does not exist or could not be fetched")})),r.fetchWKD=e=>new Promise((async(t,r)=>{const i=new o.WKD,a={email:e},n=await i.lookup(a).then((e=>e.keys[0])).catch((e=>null));n?t(n):r("Key does not exist or could not be fetched")})),r.fetchKeybase=(e,t)=>new Promise((async(r,a)=>{const n=`https://keybase.io/${e}/pgp_keys.asc?fingerprint=${t}`;let s;try{s=await i(n).then((e=>{if(200===e.status)return e})).then((e=>e.text()))}catch(e){a("Error fetching Keybase key: "+e.message)}const u=await o.key.readArmored(s).then((e=>e.keys[0])).catch((e=>null));u?r(u):a("Key does not exist or could not be fetched")})),r.fetchPlaintext=e=>new Promise((async(t,r)=>{t((await o.key.readArmored(e)).keys[0])})),r.fetchURI=e=>new Promise((async(t,i)=>{a.isUri(e)||i("Invalid URI");const o=e.match(/([a-zA-Z0-9]*):([a-zA-Z0-9@._=+\-]*)(?:\:([a-zA-Z0-9@._=+\-]*))?/);switch(o[1]||i("Invalid URI"),o[1]){case"hkp":t(r.fetchHKP(o[3]?o[3]:o[2],o[3]?o[2]:null));break;case"wkd":t(r.fetchWKD(o[2]));break;case"kb":t(r.fetchKeybase(o[2],o.length>=4?o[3]:null));break;default:i("Invalid URI protocol")}})),r.process=e=>new Promise((async(t,r)=>{e&&e instanceof o.key.Key||r("Invalid public key");const i=await e.primaryKey.getFingerprint(),a=await e.getPrimaryUser(),s=e.users;let u=[];s.forEach(((e,t)=>{if(u[t]={userData:{id:e.userId?e.userId.userid:null,name:e.userId?e.userId.name:null,email:e.userId?e.userId.email:null,comment:e.userId?e.userId.comment:null,isPrimary:a.index===t,isRevoked:!1},claims:[]},"selfCertifications"in e&&e.selfCertifications.length>0){const r=e.selfCertifications[0],a=r.rawNotations;u[t].claims=a.filter((({name:e,humanReadable:t})=>t&&"proof@metacode.biz"===e)).map((({value:e})=>new n(o.util.decode_utf8(e),i))),u[t].userData.isRevoked=r.revoked}})),t({fingerprint:i,users:u,primaryUserIndex:a.index,key:{data:e,fetchMethod:null,uri:null}})}))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./claim":114,bent:1,"valid-url":13}],145:[function(e,t,r){const i=e("browser-or-node"),a=e("./fetcher"),o=e("./utils"),n=e("./enums"),s=(e,t)=>{switch(t.proxy.policy){case n.ProxyPolicy.ALWAYS:return c(e,t);case n.ProxyPolicy.NEVER:switch(e.proof.request.access){case n.ProofAccess.GENERIC:case n.ProofAccess.GRANTED:return l(e,t);case n.ProofAccess.NOCORS:case n.ProofAccess.SERVER:throw new Error("Impossible to fetch proof (bad combination of service access and proxy policy)");default:throw new Error("Invalid proof access value")}break;case n.ProxyPolicy.ADAPTIVE:switch(e.proof.request.access){case n.ProofAccess.GENERIC:return d(e,t);case n.ProofAccess.NOCORS:return c(e,t);case n.ProofAccess.GRANTED:return d(e,t);case n.ProofAccess.SERVER:return c(e,t);default:throw new Error("Invalid proof access value")}break;default:throw new Error("Invalid proxy policy")}},u=(e,t)=>{switch(t.proxy.policy){case n.ProxyPolicy.ALWAYS:return c(e,t);case n.ProxyPolicy.NEVER:return l(e,t);case n.ProxyPolicy.ADAPTIVE:return d(e,t);default:throw new Error("Invalid proxy policy")}},l=(e,t)=>new Promise(((r,i)=>{a[e.proof.request.fetcher].fn(e.proof.request.data,t).then((t=>r({fetcher:e.proof.request.fetcher,data:e,viaProxy:!1,result:t}))).catch((e=>i(e)))})),c=(e,t)=>new Promise(((r,i)=>{let n;try{n=o.generateProxyURL(e.proof.request.fetcher,e.proof.request.data,t)}catch(e){i(e)}const s={url:n,format:e.proof.request.format,fetcherTimeout:a[e.proof.request.fetcher].timeout};a.http.fn(s,t).then((t=>r({fetcher:"http",data:e,viaProxy:!0,result:t}))).catch((e=>i(e)))})),d=(e,t)=>new Promise(((r,i)=>{l(e,t).then((e=>r(e))).catch((a=>{c(e,t).then((e=>r(e))).catch((e=>i([a,e])))}))}));r.fetch=(e,t)=>{switch(e.proof.request.fetcher){case n.Fetcher.HTTP:e.proof.request.data.format=e.proof.request.format}return i.isNode?u(e,t):s(e,t)}},{"./enums":134,"./fetcher":138,"./utils":147,"browser-or-node":3}],146:[function(e,t,r){(function(t){(function(){const i="undefined"!=typeof window?window.openpgp:void 0!==t?t.openpgp:null,a=e("./claim"),o=e("./keys");r.process=e=>new Promise((async(t,r)=>{let n,s={fingerprint:null,users:[{userData:{},claims:[]}],primaryUserIndex:null,key:{data:null,fetchMethod:null,uri:null}};try{n=await i.cleartext.readArmored(e)}catch(e){return void r(new Error("invalid_signature"))}const u=n.signature.packets[0].issuerKeyId.toHex(),l=n.signature.packets[0].signersUserId,c=n.signature.packets[0].preferredKeyServer||"https://keys.openpgp.org/",d=n.getText();let f=[];if(d.split("\n").forEach(((e,t)=>{const r=e.match(/^([a-zA-Z0-9]*)\=(.*)$/i);if(r)switch(r[1].toLowerCase()){case"key":f.push(r[2]);break;case"proof":s.users[0].claims.push(new a(r[2]))}})),f.length>0)try{s.key.uri=f[0],s.key.data=await o.fetchURI(s.key.uri),s.key.fetchMethod=s.key.uri.split(":")[0]}catch(e){}if(!s.key.data&&l)try{s.key.uri="wkd:"+l,s.key.data=await o.fetchURI(s.key.uri),s.key.fetchMethod="wkd"}catch(e){}if(!s.key.data)try{const e=c.match(/^(.*\:\/\/)?([^/]*)(?:\/)?$/i);s.key.uri=`hkp:${e[2]}:${u||l}`,s.key.data=await o.fetchURI(s.key.uri),s.key.fetchMethod="hkp"}catch(e){return void r(new Error("key_not_found"))}s.fingerprint=s.key.data.keyPacket.getFingerprint(),s.users[0].claims.forEach((e=>{e.fingerprint=s.fingerprint}));const p=await s.key.data.getPrimaryUser();let m;l&&s.key.data.users.forEach((e=>{e.userId.email==l&&(m=e)})),m||(m=p.user),s.users[0].userData={id:m.userId?m.userId.userid:null,name:m.userId?m.userId.name:null,email:m.userId?m.userId.email:null,comment:m.userId?m.userId.comment:null,isPrimary:p.user.userId.userid===m.userId.userid},s.primaryUserIndex=s.users[0].userData.isPrimary?0:null,t(s)}))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./claim":114,"./keys":144}],147:[function(e,t,r){const i=e("validator"),a=e("./enums");r.generateProxyURL=(e,t,r)=>{try{i.isFQDN(r.proxy.hostname)}catch(e){throw new Error("Invalid proxy hostname")}let a=[];return Object.keys(t).forEach((e=>{a.push(`${e}=${encodeURIComponent(t[e])}`)})),`https://${r.proxy.hostname}/api/2/get/${e}?${a.join("&")}`},r.generateClaim=(e,t)=>{switch(t){case a.ClaimFormat.URI:return"openpgp4fpr:"+e;case a.ClaimFormat.MESSAGE:return`[Verifying my OpenPGP key: openpgp4fpr:${e}]`;case a.ClaimFormat.FINGERPRINT:return e;default:throw new Error("No valid claim format")}}},{"./enums":134,validator:14}],148:[function(e,t,r){const i=e("./utils"),a=e("./enums"),o=(e,t,r,i)=>{let n;if(!e)return!1;if(Array.isArray(e)){let a=!1;return e.forEach(((e,n)=>{a||(a=o(e,t,r,i))})),a}if(0==t.length)switch(i){default:case a.ClaimRelation.CONTAINS:return n=new RegExp(r,"gi"),n.test(e.replace(/\r?\n|\r|\\/g,""));case a.ClaimRelation.EQUALS:return e.replace(/\r?\n|\r|\\/g,"").toLowerCase()==r.toLowerCase();case a.ClaimRelation.ONEOF:return n=new RegExp(r,"gi"),n.test(e.join("|"))}try{t[0]}catch(e){throw new Error("err_json_structure_incorrect")}return o(e[t[0]],t.slice(1),r,i)};r.run=(e,t,r)=>{let n={result:!1,completed:!1,errors:[]};switch(t.proof.request.format){case a.ProofFormat.JSON:try{n.result=o(e,t.claim.path,i.generateClaim(r,t.claim.format),t.claim.relation),n.completed=!0}catch(e){n.errors.push(e.message?e.message:e)}break;case a.ProofFormat.TEXT:try{const a=new RegExp(i.generateClaim(r,t.claim.format).replace("[","\\[").replace("]","\\]"),"gi");n.result=a.test(e.replace(/\r?\n|\r/,"")),n.completed=!0}catch(e){n.errors.push("err_unknown_text_verification")}}return n}},{"./enums":134,"./utils":147}]},{},[143])(143)}));
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).doip=e()}}((function(){return function e(t,r,i){function a(n,s){if(!r[n]){if(!t[n]){var u="function"==typeof require&&require;if(!s&&u)return u(n,!0);if(o)return o(n,!0);var l=new Error("Cannot find module '"+n+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[n]={exports:{}};t[n][0].call(c.exports,(function(e){return a(t[n][1][e]||e)}),c,c.exports,e,t,r,i)}return r[n].exports}for(var o="function"==typeof require&&require,n=0;n<i.length;n++)a(i[n]);return a}({1:[function(e,t,r){"use strict";const i=e("./core");class a extends Error{constructor(e,...t){let r;super(...t),Error.captureStackTrace&&Error.captureStackTrace(this,a),this.name="StatusError",this.message=e.statusMessage,this.statusCode=e.status,this.res=e,this.json=e.json.bind(e),this.text=e.text.bind(e),this.arrayBuffer=e.arrayBuffer.bind(e);Object.defineProperty(this,"responseBody",{get:()=>(r||(r=this.arrayBuffer()),r)}),this.headers={};for(const[t,r]of e.headers.entries())this.headers[t.toLowerCase()]=r}}t.exports=i(((e,t,r,i,o)=>async(n,s,u={})=>{n=o+(n||"");let l=new URL(n);if(i||(i={}),l.username&&(i.Authorization="Basic "+btoa(l.username+":"+l.password),l=new URL(l.protocol+"//"+l.host+l.pathname+l.search)),"https:"!==l.protocol&&"http:"!==l.protocol)throw new Error("Unknown protocol, "+l.protocol);if(s)if(s instanceof ArrayBuffer||ArrayBuffer.isView(s)||"string"==typeof s);else{if("object"!=typeof s)throw new Error("Unknown body type.");s=JSON.stringify(s),i["Content-Type"]="application/json"}u=new Headers({...i||{},...u});const c=await fetch(l,{method:t,headers:u,body:s});if(c.statusCode=c.status,!e.has(c.status))throw new a(c);return"json"===r?c.json():"buffer"===r?c.arrayBuffer():"string"===r?c.text():c}))},{"./core":2}],2:[function(e,t,r){"use strict";const i=new Set(["json","buffer","string"]);t.exports=e=>(...t)=>{const r=new Set;let a,o,n,s="";return t.forEach((e=>{if("string"==typeof e)if(e.toUpperCase()===e){if(a){throw new Error(`Can't set method to ${e}, already set to ${a}.`)}a=e}else if(e.startsWith("http:")||e.startsWith("https:"))s=e;else{if(!i.has(e))throw new Error("Unknown encoding, "+e);o=e}else if("number"==typeof e)r.add(e);else{if("object"!=typeof e)throw new Error("Unknown type: "+typeof e);if(Array.isArray(e)||e instanceof Set)e.forEach((e=>r.add(e)));else{if(n)throw new Error("Cannot set headers twice.");n=e}}})),a||(a="GET"),0===r.size&&r.add(200),e(r,a,o,n,s)}},{}],3:[function(e,t,r){(function(e){(function(){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i="undefined"!=typeof window&&void 0!==window.document,a="object"===("undefined"==typeof self?"undefined":t(self))&&self.constructor&&"DedicatedWorkerGlobalScope"===self.constructor.name,o=void 0!==e&&null!=e.versions&&null!=e.versions.node;r.isBrowser=i,r.isWebWorker=a,r.isNode=o,r.isJsDom=function(){return"undefined"!=typeof window&&"nodejs"===window.name||navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")}}).call(this)}).call(this,e("_process"))},{_process:9}],4:[function(e,t,r){},{}],5:[function(e,t,r){"use strict";var i="%[a-f0-9]{2}",a=new RegExp(i,"gi"),o=new RegExp("("+i+")+","gi");function n(e,t){try{return decodeURIComponent(e.join(""))}catch(e){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),i=e.slice(t);return Array.prototype.concat.call([],n(r),n(i))}function s(e){try{return decodeURIComponent(e)}catch(i){for(var t=e.match(a),r=1;r<t.length;r++)t=(e=n(t,r).join("")).match(a);return e}}t.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return e=e.replace(/\+/g," "),decodeURIComponent(e)}catch(t){return function(e){for(var t={"%FE%FF":"��","%FF%FE":"��"},r=o.exec(e);r;){try{t[r[0]]=decodeURIComponent(r[0])}catch(e){var i=s(r[0]);i!==r[0]&&(t[r[0]]=i)}r=o.exec(e)}t["%C2"]="�";for(var a=Object.keys(t),n=0;n<a.length;n++){var u=a[n];e=e.replace(new RegExp(u,"g"),t[u])}return e}(e)}}},{}],6:[function(e,t,r){"use strict";t.exports=function(e,t){for(var r={},i=Object.keys(e),a=Array.isArray(t),o=0;o<i.length;o++){var n=i[o],s=e[n];(a?-1!==t.indexOf(n):t(n,s,e))&&(r[n]=s)}return r}},{}],7:[function(e,t,r){"use strict";t.exports=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}},{}],8:[function(e,t,r){"use strict";const i=e("is-plain-obj"),{hasOwnProperty:a}=Object.prototype,{propertyIsEnumerable:o}=Object,n=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),s=this,u={concatArrays:!1,ignoreUndefined:!1},l=e=>{const t=[];for(const r in e)a.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const i of r)o.call(e,i)&&t.push(i)}return t};function c(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return l(e).forEach((r=>{n(t,r,c(e[r]))})),t}(e):i(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return l(e).forEach((r=>{n(t,r,c(e[r]))})),t}(e):e}const d=(e,t,r,i)=>(r.forEach((r=>{void 0===t[r]&&i.ignoreUndefined||(r in e&&e[r]!==Object.getPrototypeOf(e)?n(e,r,f(e[r],t[r],i)):n(e,r,c(t[r])))})),e);function f(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let i=e.slice(0,0),o=0;return[e,t].forEach((t=>{const s=[];for(let r=0;r<t.length;r++)a.call(t,r)&&(s.push(String(r)),n(i,o++,t===e?t[r]:c(t[r])));i=d(i,t,l(t).filter((e=>!s.includes(e))),r)})),i})(e,t,r):i(t)&&i(e)?d(e,t,l(t),r):c(t)}t.exports=function(...e){const t=f(c(u),this!==s&&this||{},u);let r={_:{}};for(const a of e)if(void 0!==a){if(!i(a))throw new TypeError("`"+a+"` is not an Option Object");r=f(r,{_:a},t)}return r._}},{"is-plain-obj":7}],9:[function(e,t,r){var i,a,o=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(i===setTimeout)return setTimeout(e,0);if((i===n||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:n}catch(e){i=n}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(e){a=s}}();var l,c=[],d=!1,f=-1;function p(){d&&l&&(d=!1,l.length?c=l.concat(c):f=-1,c.length&&m())}function m(){if(!d){var e=u(p);d=!0;for(var t=c.length;t;){for(l=c,c=[];++f<t;)l&&l[f].run();f=-1,t=c.length}l=null,d=!1,function(e){if(a===clearTimeout)return clearTimeout(e);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(e);try{a(e)}catch(t){try{return a.call(null,e)}catch(t){return a.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function g(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new h(e,t)),1!==c.length||d||u(m)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=g,o.addListener=g,o.once=g,o.off=g,o.removeListener=g,o.removeAllListeners=g,o.emit=g,o.prependListener=g,o.prependOnceListener=g,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}],10:[function(e,t,r){"use strict";const i=e("strict-uri-encode"),a=e("decode-uri-component"),o=e("split-on-first"),n=e("filter-obj");function s(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function u(e,t){return t.encode?t.strict?i(e):encodeURIComponent(e):e}function l(e,t){return t.decode?a(e):e}function c(e){return Array.isArray(e)?e.sort():"object"==typeof e?c(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function d(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function f(e){const t=(e=d(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function p(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function m(e,t){s((t=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},t)).arrayFormatSeparator);const r=function(e){let t;switch(e.arrayFormat){case"index":return(e,r,i)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===i[e]&&(i[e]={}),i[e][t[1]]=r):i[e]=r};case"bracket":return(e,r,i)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==i[e]?i[e]=[].concat(i[e],r):i[e]=[r]:i[e]=r};case"comma":case"separator":return(t,r,i)=>{const a="string"==typeof r&&r.includes(e.arrayFormatSeparator),o="string"==typeof r&&!a&&l(r,e).includes(e.arrayFormatSeparator);r=o?l(r,e):r;const n=a||o?r.split(e.arrayFormatSeparator).map((t=>l(t,e))):null===r?r:l(r,e);i[t]=n};default:return(e,t,r)=>{void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}(t),i=Object.create(null);if("string"!=typeof e)return i;if(!(e=e.trim().replace(/^[?#&]/,"")))return i;for(const a of e.split("&")){if(""===a)continue;let[e,n]=o(t.decode?a.replace(/\+/g," "):a,"=");n=void 0===n?null:["comma","separator"].includes(t.arrayFormat)?n:l(n,t),r(l(e,t),n,i)}for(const e of Object.keys(i)){const r=i[e];if("object"==typeof r&&null!==r)for(const e of Object.keys(r))r[e]=p(r[e],t);else i[e]=p(r,t)}return!1===t.sort?i:(!0===t.sort?Object.keys(i).sort():Object.keys(i).sort(t.sort)).reduce(((e,t)=>{const r=i[t];return Boolean(r)&&"object"==typeof r&&!Array.isArray(r)?e[t]=c(r):e[t]=r,e}),Object.create(null))}r.extract=f,r.parse=m,r.stringify=(e,t)=>{if(!e)return"";s((t=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},t)).arrayFormatSeparator);const r=r=>t.skipNull&&null==e[r]||t.skipEmptyString&&""===e[r],i=function(e){switch(e.arrayFormat){case"index":return t=>(r,i)=>{const a=r.length;return void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?r:null===i?[...r,[u(t,e),"[",a,"]"].join("")]:[...r,[u(t,e),"[",u(a,e),"]=",u(i,e)].join("")]};case"bracket":return t=>(r,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?r:null===i?[...r,[u(t,e),"[]"].join("")]:[...r,[u(t,e),"[]=",u(i,e)].join("")];case"comma":case"separator":return t=>(r,i)=>null==i||0===i.length?r:0===r.length?[[u(t,e),"=",u(i,e)].join("")]:[[r,u(i,e)].join(e.arrayFormatSeparator)];default:return t=>(r,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?r:null===i?[...r,u(t,e)]:[...r,[u(t,e),"=",u(i,e)].join("")]}}(t),a={};for(const t of Object.keys(e))r(t)||(a[t]=e[t]);const o=Object.keys(a);return!1!==t.sort&&o.sort(t.sort),o.map((r=>{const a=e[r];return void 0===a?"":null===a?u(r,t):Array.isArray(a)?a.reduce(i(r),[]).join("&"):u(r,t)+"="+u(a,t)})).filter((e=>e.length>0)).join("&")},r.parseUrl=(e,t)=>{t=Object.assign({decode:!0},t);const[r,i]=o(e,"#");return Object.assign({url:r.split("?")[0]||"",query:m(f(e),t)},t&&t.parseFragmentIdentifier&&i?{fragmentIdentifier:l(i,t)}:{})},r.stringifyUrl=(e,t)=>{t=Object.assign({encode:!0,strict:!0},t);const i=d(e.url).split("?")[0]||"",a=r.extract(e.url),o=r.parse(a,{sort:!1}),n=Object.assign(o,e.query);let s=r.stringify(n,t);s&&(s="?"+s);let l=function(e){let t="";const r=e.indexOf("#");return-1!==r&&(t=e.slice(r)),t}(e.url);return e.fragmentIdentifier&&(l="#"+u(e.fragmentIdentifier,t)),`${i}${s}${l}`},r.pick=(e,t,i)=>{i=Object.assign({parseFragmentIdentifier:!0},i);const{url:a,query:o,fragmentIdentifier:s}=r.parseUrl(e,i);return r.stringifyUrl({url:a,query:n(o,t),fragmentIdentifier:s},i)},r.exclude=(e,t,i)=>{const a=Array.isArray(t)?e=>!t.includes(e):(e,r)=>!t(e,r);return r.pick(e,a,i)}},{"decode-uri-component":5,"filter-obj":6,"split-on-first":11,"strict-uri-encode":12}],11:[function(e,t,r){"use strict";t.exports=(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===t)return[e];const r=e.indexOf(t);return-1===r?[e]:[e.slice(0,r),e.slice(r+t.length)]}},{}],12:[function(e,t,r){"use strict";t.exports=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()))},{}],13:[function(e,t,r){!function(e){"use strict";e.exports.is_uri=r,e.exports.is_http_uri=i,e.exports.is_https_uri=a,e.exports.is_web_uri=o,e.exports.isUri=r,e.exports.isHttpUri=i,e.exports.isHttpsUri=a,e.exports.isWebUri=o;var t=function(e){return e.match(/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/)};function r(e){if(e&&!/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(e)&&!/%[^0-9a-f]/i.test(e)&&!/%[0-9a-f](:?[^0-9a-f]|$)/i.test(e)){var r,i,a,o,n,s="",u="";if(s=(r=t(e))[1],i=r[2],a=r[3],o=r[4],n=r[5],s&&s.length&&a.length>=0){if(i&&i.length){if(0!==a.length&&!/^\//.test(a))return}else if(/^\/\//.test(a))return;if(/^[a-z][a-z0-9\+\-\.]*$/.test(s.toLowerCase()))return u+=s+":",i&&i.length&&(u+="//"+i),u+=a,o&&o.length&&(u+="?"+o),n&&n.length&&(u+="#"+n),u}}}function i(e,i){if(r(e)){var a,o,n,s,u="",l="",c="",d="";if(u=(a=t(e))[1],l=a[2],o=a[3],n=a[4],s=a[5],u){if(i){if("https"!=u.toLowerCase())return}else if("http"!=u.toLowerCase())return;if(l)return/:(\d+)$/.test(l)&&(c=l.match(/:(\d+)$/)[0],l=l.replace(/:\d+$/,"")),d+=u+":",d+="//"+l,c&&(d+=c),d+=o,n&&n.length&&(d+="?"+n),s&&s.length&&(d+="#"+s),d}}}function a(e){return i(e,!0)}function o(e){return i(e)||a(e)}}(t)},{}],14:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var a=Ge(e("./lib/toDate")),o=Ge(e("./lib/toFloat")),n=Ge(e("./lib/toInt")),s=Ge(e("./lib/toBoolean")),u=Ge(e("./lib/equals")),l=Ge(e("./lib/contains")),c=Ge(e("./lib/matches")),d=Ge(e("./lib/isEmail")),f=Ge(e("./lib/isURL")),p=Ge(e("./lib/isMACAddress")),m=Ge(e("./lib/isIP")),h=Ge(e("./lib/isIPRange")),g=Ge(e("./lib/isFQDN")),b=Ge(e("./lib/isDate")),v=Ge(e("./lib/isBoolean")),y=Ge(e("./lib/isLocale")),_=Be(e("./lib/isAlpha")),A=Be(e("./lib/isAlphanumeric")),S=Ge(e("./lib/isNumeric")),w=Ge(e("./lib/isPassportNumber")),x=Ge(e("./lib/isPort")),$=Ge(e("./lib/isLowercase")),M=Ge(e("./lib/isUppercase")),I=Ge(e("./lib/isIMEI")),E=Ge(e("./lib/isAscii")),P=Ge(e("./lib/isFullWidth")),O=Ge(e("./lib/isHalfWidth")),C=Ge(e("./lib/isVariableWidth")),R=Ge(e("./lib/isMultibyte")),N=Ge(e("./lib/isSemVer")),F=Ge(e("./lib/isSurrogatePair")),T=Ge(e("./lib/isInt")),j=Be(e("./lib/isFloat")),U=Ge(e("./lib/isDecimal")),k=Ge(e("./lib/isHexadecimal")),D=Ge(e("./lib/isOctal")),Z=Ge(e("./lib/isDivisibleBy")),L=Ge(e("./lib/isHexColor")),B=Ge(e("./lib/isRgbColor")),G=Ge(e("./lib/isHSL")),H=Ge(e("./lib/isISRC")),Y=Ge(e("./lib/isIBAN")),K=Ge(e("./lib/isBIC")),q=Ge(e("./lib/isMD5")),W=Ge(e("./lib/isHash")),V=Ge(e("./lib/isJWT")),z=Ge(e("./lib/isJSON")),J=Ge(e("./lib/isEmpty")),X=Ge(e("./lib/isLength")),Q=Ge(e("./lib/isByteLength")),ee=Ge(e("./lib/isUUID")),te=Ge(e("./lib/isMongoId")),re=Ge(e("./lib/isAfter")),ie=Ge(e("./lib/isBefore")),ae=Ge(e("./lib/isIn")),oe=Ge(e("./lib/isCreditCard")),ne=Ge(e("./lib/isIdentityCard")),se=Ge(e("./lib/isEAN")),ue=Ge(e("./lib/isISIN")),le=Ge(e("./lib/isISBN")),ce=Ge(e("./lib/isISSN")),de=Ge(e("./lib/isTaxID")),fe=Be(e("./lib/isMobilePhone")),pe=Ge(e("./lib/isEthereumAddress")),me=Ge(e("./lib/isCurrency")),he=Ge(e("./lib/isBtcAddress")),ge=Ge(e("./lib/isISO8601")),be=Ge(e("./lib/isRFC3339")),ve=Ge(e("./lib/isISO31661Alpha2")),ye=Ge(e("./lib/isISO31661Alpha3")),_e=Ge(e("./lib/isBase32")),Ae=Ge(e("./lib/isBase58")),Se=Ge(e("./lib/isBase64")),we=Ge(e("./lib/isDataURI")),xe=Ge(e("./lib/isMagnetURI")),$e=Ge(e("./lib/isMimeType")),Me=Ge(e("./lib/isLatLong")),Ie=Be(e("./lib/isPostalCode")),Ee=Ge(e("./lib/ltrim")),Pe=Ge(e("./lib/rtrim")),Oe=Ge(e("./lib/trim")),Ce=Ge(e("./lib/escape")),Re=Ge(e("./lib/unescape")),Ne=Ge(e("./lib/stripLow")),Fe=Ge(e("./lib/whitelist")),Te=Ge(e("./lib/blacklist")),je=Ge(e("./lib/isWhitelisted")),Ue=Ge(e("./lib/normalizeEmail")),ke=Ge(e("./lib/isSlug")),De=Ge(e("./lib/isStrongPassword")),Ze=Ge(e("./lib/isVAT"));function Le(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return Le=function(){return e},e}function Be(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=Le();if(t&&t.has(e))return t.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=a?Object.getOwnPropertyDescriptor(e,o):null;n&&(n.get||n.set)?Object.defineProperty(r,o,n):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}function Ge(e){return e&&e.__esModule?e:{default:e}}var He={version:"13.5.2",toDate:a.default,toFloat:o.default,toInt:n.default,toBoolean:s.default,equals:u.default,contains:l.default,matches:c.default,isEmail:d.default,isURL:f.default,isMACAddress:p.default,isIP:m.default,isIPRange:h.default,isFQDN:g.default,isBoolean:v.default,isIBAN:Y.default,isBIC:K.default,isAlpha:_.default,isAlphaLocales:_.locales,isAlphanumeric:A.default,isAlphanumericLocales:A.locales,isNumeric:S.default,isPassportNumber:w.default,isPort:x.default,isLowercase:$.default,isUppercase:M.default,isAscii:E.default,isFullWidth:P.default,isHalfWidth:O.default,isVariableWidth:C.default,isMultibyte:R.default,isSemVer:N.default,isSurrogatePair:F.default,isInt:T.default,isIMEI:I.default,isFloat:j.default,isFloatLocales:j.locales,isDecimal:U.default,isHexadecimal:k.default,isOctal:D.default,isDivisibleBy:Z.default,isHexColor:L.default,isRgbColor:B.default,isHSL:G.default,isISRC:H.default,isMD5:q.default,isHash:W.default,isJWT:V.default,isJSON:z.default,isEmpty:J.default,isLength:X.default,isLocale:y.default,isByteLength:Q.default,isUUID:ee.default,isMongoId:te.default,isAfter:re.default,isBefore:ie.default,isIn:ae.default,isCreditCard:oe.default,isIdentityCard:ne.default,isEAN:se.default,isISIN:ue.default,isISBN:le.default,isISSN:ce.default,isMobilePhone:fe.default,isMobilePhoneLocales:fe.locales,isPostalCode:Ie.default,isPostalCodeLocales:Ie.locales,isEthereumAddress:pe.default,isCurrency:me.default,isBtcAddress:he.default,isISO8601:ge.default,isRFC3339:be.default,isISO31661Alpha2:ve.default,isISO31661Alpha3:ye.default,isBase32:_e.default,isBase58:Ae.default,isBase64:Se.default,isDataURI:we.default,isMagnetURI:xe.default,isMimeType:$e.default,isLatLong:Me.default,ltrim:Ee.default,rtrim:Pe.default,trim:Oe.default,escape:Ce.default,unescape:Re.default,stripLow:Ne.default,whitelist:Fe.default,blacklist:Te.default,isWhitelisted:je.default,normalizeEmail:Ue.default,toString:toString,isSlug:ke.default,isStrongPassword:De.default,isTaxID:de.default,isDate:b.default,isVAT:Ze.default};r.default=He,t.exports=r.default,t.exports.default=r.default},{"./lib/blacklist":16,"./lib/contains":17,"./lib/equals":18,"./lib/escape":19,"./lib/isAfter":20,"./lib/isAlpha":21,"./lib/isAlphanumeric":22,"./lib/isAscii":23,"./lib/isBIC":24,"./lib/isBase32":25,"./lib/isBase58":26,"./lib/isBase64":27,"./lib/isBefore":28,"./lib/isBoolean":29,"./lib/isBtcAddress":30,"./lib/isByteLength":31,"./lib/isCreditCard":32,"./lib/isCurrency":33,"./lib/isDataURI":34,"./lib/isDate":35,"./lib/isDecimal":36,"./lib/isDivisibleBy":37,"./lib/isEAN":38,"./lib/isEmail":39,"./lib/isEmpty":40,"./lib/isEthereumAddress":41,"./lib/isFQDN":42,"./lib/isFloat":43,"./lib/isFullWidth":44,"./lib/isHSL":45,"./lib/isHalfWidth":46,"./lib/isHash":47,"./lib/isHexColor":48,"./lib/isHexadecimal":49,"./lib/isIBAN":50,"./lib/isIMEI":51,"./lib/isIP":52,"./lib/isIPRange":53,"./lib/isISBN":54,"./lib/isISIN":55,"./lib/isISO31661Alpha2":56,"./lib/isISO31661Alpha3":57,"./lib/isISO8601":58,"./lib/isISRC":59,"./lib/isISSN":60,"./lib/isIdentityCard":61,"./lib/isIn":62,"./lib/isInt":63,"./lib/isJSON":64,"./lib/isJWT":65,"./lib/isLatLong":66,"./lib/isLength":67,"./lib/isLocale":68,"./lib/isLowercase":69,"./lib/isMACAddress":70,"./lib/isMD5":71,"./lib/isMagnetURI":72,"./lib/isMimeType":73,"./lib/isMobilePhone":74,"./lib/isMongoId":75,"./lib/isMultibyte":76,"./lib/isNumeric":77,"./lib/isOctal":78,"./lib/isPassportNumber":79,"./lib/isPort":80,"./lib/isPostalCode":81,"./lib/isRFC3339":82,"./lib/isRgbColor":83,"./lib/isSemVer":84,"./lib/isSlug":85,"./lib/isStrongPassword":86,"./lib/isSurrogatePair":87,"./lib/isTaxID":88,"./lib/isURL":89,"./lib/isUUID":90,"./lib/isUppercase":91,"./lib/isVAT":92,"./lib/isVariableWidth":93,"./lib/isWhitelisted":94,"./lib/ltrim":95,"./lib/matches":96,"./lib/normalizeEmail":97,"./lib/rtrim":98,"./lib/stripLow":99,"./lib/toBoolean":100,"./lib/toDate":101,"./lib/toFloat":102,"./lib/toInt":103,"./lib/trim":104,"./lib/unescape":105,"./lib/whitelist":112}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.commaDecimal=r.dotDecimal=r.farsiLocales=r.arabicLocales=r.englishLocales=r.decimal=r.alphanumeric=r.alpha=void 0;var i={"en-US":/^[A-Z]+$/i,"az-AZ":/^[A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ώ]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fa-IR":/^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๐\s]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"vi-VN":/^[A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[א-ת]+$/,fa:/^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i};r.alpha=i;var a={"en-US":/^[0-9A-Z]+$/i,"az-AZ":/^[0-9A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๙\s]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,"vi-VN":/^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[0-9א-ת]+$/,fa:/^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i};r.alphanumeric=a;var o={"en-US":".",ar:"٫"};r.decimal=o;var n=["AU","GB","HK","IN","NZ","ZA","ZM"];r.englishLocales=n;for(var s,u=0;u<n.length;u++)i[s="en-".concat(n[u])]=i["en-US"],a[s]=a["en-US"],o[s]=o["en-US"];var l=["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"];r.arabicLocales=l;for(var c,d=0;d<l.length;d++)i[c="ar-".concat(l[d])]=i.ar,a[c]=a.ar,o[c]=o.ar;var f=["IR","AF"];r.farsiLocales=f;for(var p,m=0;m<f.length;m++)a[p="fa-".concat(f[m])]=a.fa,o[p]=o.ar;var h=["ar-EG","ar-LB","ar-LY"];r.dotDecimal=h;var g=["bg-BG","cs-CZ","da-DK","de-DE","el-GR","en-ZM","es-ES","fr-CA","fr-FR","id-ID","it-IT","ku-IQ","hu-HU","nb-NO","nn-NO","nl-NL","pl-PL","pt-PT","ru-RU","sl-SI","sr-RS@latin","sr-RS","sv-SE","tr-TR","uk-UA","vi-VN"];r.commaDecimal=g;for(var b=0;b<h.length;b++)o[h[b]]=o["en-US"];for(var v=0;v<g.length;v++)o[g[v]]=",";i["fr-CA"]=i["fr-FR"],a["fr-CA"]=a["fr-FR"],i["pt-BR"]=i["pt-PT"],a["pt-BR"]=a["pt-PT"],o["pt-BR"]=o["pt-PT"],i["pl-Pl"]=i["pl-PL"],a["pl-Pl"]=a["pl-PL"],o["pl-Pl"]=o["pl-PL"],i["fa-AF"]=i.fa},{}],16:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),e.replace(new RegExp("[".concat(t,"]+"),"g"),"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],17:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){return(0,i.default)(e),(r=(0,o.default)(r,s)).ignoreCase?e.toLowerCase().indexOf((0,a.default)(t).toLowerCase())>=0:e.indexOf((0,a.default)(t))>=0};var i=n(e("./util/assertString")),a=n(e("./util/toString")),o=n(e("./util/merge"));function n(e){return e&&e.__esModule?e:{default:e}}var s={ignoreCase:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109,"./util/toString":111}],18:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),e===t};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],19:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;").replace(/\\/g,"&#x5C;").replace(/`/g,"&#96;")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],20:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);(0,i.default)(e);var r=(0,a.default)(t),o=(0,a.default)(e);return!!(o&&r&&o>r)};var i=o(e("./util/assertString")),a=o(e("./toDate"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./toDate":101,"./util/assertString":107}],21:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,a.default)(e);var i=e,n=r.ignore;if(n)if(n instanceof RegExp)i=i.replace(n,"");else{if("string"!=typeof n)throw new Error("ignore should be instance of a String or RegExp");i=i.replace(new RegExp("[".concat(n.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g,"\\$&"),"]"),"g"),"")}if(t in o.alpha)return o.alpha[t].test(i);throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=Object.keys(o.alpha);r.locales=n},{"./alpha":15,"./util/assertString":107}],22:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";if((0,a.default)(e),t in o.alphanumeric)return o.alphanumeric[t].test(e);throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=Object.keys(o.alphanumeric);r.locales=n},{"./alpha":15,"./util/assertString":107}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[\x00-\x7F]+$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-z]{4}[A-z]{2}\w{2}(\w{3})?$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),e.length%8==0&&o.test(e))return!0;return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-Z2-7]+=*$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),o.test(e))return!0;return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-HJ-NP-Za-km-z1-9]*$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],27:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e),t=(0,a.default)(t,u);var r=e.length;if(t.urlSafe)return s.test(e);if(r%4!=0||n.test(e))return!1;var o=e.indexOf("=");return-1===o||o===r-1||o===r-2&&"="===e[r-1]};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/[^A-Z0-9+\/=]/i,s=/^[A-Z0-9_\-]*$/i,u={urlSafe:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],28:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:String(new Date);(0,i.default)(e);var r=(0,a.default)(t),o=(0,a.default)(e);return!!(o&&r&&o<r)};var i=o(e("./util/assertString")),a=o(e("./toDate"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./toDate":101,"./util/assertString":107}],29:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),["true","false","1","0"].indexOf(e)>=0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],30:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],31:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r,i;(0,a.default)(e),"object"===o(t)?(r=t.min||0,i=t.max):(r=arguments[1],i=arguments[2]);var n=encodeURI(e).split(/%..|./).length-1;return n>=r&&(void 0===i||n<=i)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],32:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,a.default)(e);var t=e.replace(/[- ]+/g,"");if(!o.test(t))return!1;for(var r,i,n,s=0,u=t.length-1;u>=0;u--)r=t.substring(u,u+1),i=parseInt(r,10),s+=n&&(i*=2)>=10?i%10+1:i,n=!n;return!(s%10!=0||!t)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14})$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],33:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),function(e){var t="\\d{".concat(e.digits_after_decimal[0],"}");e.digits_after_decimal.forEach((function(e,r){0!==r&&(t="".concat(t,"|\\d{").concat(e,"}"))}));var r="(".concat(e.symbol.replace(/\W/,(function(e){return"\\".concat(e)})),")").concat(e.require_symbol?"":"?"),i="-?",a="[1-9]\\d{0,2}(\\".concat(e.thousands_separator,"\\d{3})*"),o="(".concat(["0","[1-9]\\d*",a].join("|"),")?"),n="(\\".concat(e.decimal_separator,"(").concat(t,"))").concat(e.require_decimal?"":"?"),s=o+(e.allow_decimal||e.require_decimal?n:"");e.allow_negatives&&!e.parens_for_negatives&&(e.negative_sign_after_digits?s+=i:e.negative_sign_before_digits&&(s=i+s));e.allow_negative_sign_placeholder?s="( (?!\\-))?".concat(s):e.allow_space_after_symbol?s=" ?".concat(s):e.allow_space_after_digits&&(s+="( (?!$))?");e.symbol_after_digits?s+=r:s=r+s;e.allow_negatives&&(e.parens_for_negatives?s="(\\(".concat(s,"\\)|").concat(s,")"):e.negative_sign_before_digits||e.negative_sign_after_digits||(s=i+s));return new RegExp("^(?!-? )(?=.*\\d)".concat(s,"$"))}(t=(0,i.default)(t,n)).test(e)};var i=o(e("./util/merge")),a=o(e("./util/assertString"));function o(e){return e&&e.__esModule?e:{default:e}}var n={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_decimal:!0,require_decimal:!1,digits_after_decimal:[2],allow_space_after_digits:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],34:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,a.default)(e);var t=e.split(",");if(t.length<2)return!1;var r=t.shift().trim().split(";"),i=r.shift();if("data:"!==i.substr(0,5))return!1;var u=i.substr(5);if(""!==u&&!o.test(u))return!1;for(var l=0;l<r.length;l++)if(l===r.length-1&&"base64"===r[l].toLowerCase());else if(!n.test(r[l]))return!1;for(var c=0;c<t.length;c++)if(!s.test(t[c]))return!1;return!0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[a-z]+\/[a-z0-9\-\+]+$/i,n=/^[a-z\-]+=[a-z0-9\-]+$/i,s=/^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],35:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){t="string"==typeof t?(0,a.default)({format:t},s):(0,a.default)(t,s);if("string"==typeof e&&(g=t.format,/(^(y{4}|y{2})[\/-](m{1,2})[\/-](d{1,2})$)|(^(m{1,2})[\/-](d{1,2})[\/-]((y{4}|y{2})$))|(^(d{1,2})[\/-](m{1,2})[\/-]((y{4}|y{2})$))/gi.test(g))){var r,i=t.delimiters.find((function(e){return-1!==t.format.indexOf(e)})),n=t.strictMode?i:t.delimiters.find((function(t){return-1!==e.indexOf(t)})),u=function(e,t){for(var r=[],i=Math.min(e.length,t.length),a=0;a<i;a++)r.push([e[a],t[a]]);return r}(e.split(n),t.format.toLowerCase().split(i)),l={},c=function(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=o(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,s=!0,u=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,n=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw n}}}}(u);try{for(c.s();!(r=c.n()).done;){var d=(m=r.value,h=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],i=!0,a=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(i=(n=s.next()).done)&&(r.push(n.value),!t||r.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw o}}return r}(m,h)||o(m,h)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],p=d[1];if(f.length!==p.length)return!1;l[p.charAt(0)]=f}}catch(e){c.e(e)}finally{c.f()}return new Date("".concat(l.m,"/").concat(l.d,"/").concat(l.y)).getDate()===+l.d}var m,h;var g;if(!t.strictMode)return"[object Date]"===Object.prototype.toString.call(e)&&isFinite(e);return!1};var i,a=(i=e("./util/merge"))&&i.__esModule?i:{default:i};function o(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var s={format:"YYYY/MM/DD",delimiters:["/","-"],strictMode:!1};t.exports=r.default,t.exports.default=r.default},{"./util/merge":109}],36:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),(t=(0,i.default)(t,u)).locale in n.decimal)return!(0,o.default)(l,e.replace(/ /g,""))&&function(e){return new RegExp("^[-+]?([0-9]+)?(\\".concat(n.decimal[e.locale],"[0-9]{").concat(e.decimal_digits,"})").concat(e.force_decimal?"":"?","$"))}(t).test(e);throw new Error("Invalid locale '".concat(t.locale,"'"))};var i=s(e("./util/merge")),a=s(e("./util/assertString")),o=s(e("./util/includes")),n=e("./alpha");function s(e){return e&&e.__esModule?e:{default:e}}var u={force_decimal:!1,decimal_digits:"1,",locale:"en-US"},l=["","-","+"];t.exports=r.default,t.exports.default=r.default},{"./alpha":15,"./util/assertString":107,"./util/includes":108,"./util/merge":109}],37:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,i.default)(e),(0,a.default)(e)%parseInt(t,10)==0};var i=o(e("./util/assertString")),a=o(e("./toFloat"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./toFloat":102,"./util/assertString":107}],38:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,a.default)(e);var t=Number(e.slice(-1));return o.test(e)&&t===(r=e,i=10-r.slice(0,-1).split("").map((function(e,t){return Number(e)*function(e,t){return 8===e?t%2==0?3:1:t%2==0?1:3}(r.length,t)})).reduce((function(e,t){return e+t}),0)%10,i<10?i:0);var r,i};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(\d{8}|\d{13})$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],39:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,i.default)(e),(t=(0,a.default)(t,c)).require_display_name||t.allow_display_name){var r=e.match(d);if(r){var u,b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],i=!0,a=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(i=(n=s.next()).done)&&(r.push(n.value),!t||r.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw o}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(r,3);if(u=b[1],e=b[2],u.endsWith(" ")&&(u=u.substr(0,u.length-1)),!function(e){var t=e.match(/^"(.+)"$/i),r=t?t[1]:e;if(!r.trim())return!1;if(/[\.";<>]/.test(r)){if(!t)return!1;if(!(r.split('"').length===r.split('\\"').length))return!1}return!0}(u))return!1}else if(t.require_display_name)return!1}if(!t.ignore_max_length&&e.length>254)return!1;var v=e.split("@"),y=v.pop(),_=v.join("@"),A=y.toLowerCase();if(t.domain_specific_validation&&("gmail.com"===A||"googlemail.com"===A)){var S=(_=_.toLowerCase()).split("+")[0];if(!(0,o.default)(S.replace(".",""),{min:6,max:30}))return!1;for(var w=S.split("."),x=0;x<w.length;x++)if(!p.test(w[x]))return!1}if(!(!1!==t.ignore_max_length||(0,o.default)(_,{max:64})&&(0,o.default)(y,{max:254})))return!1;if(!(0,n.default)(y,{require_tld:t.require_tld})){if(!t.allow_ip_domain)return!1;if(!(0,s.default)(y)){if(!y.startsWith("[")||!y.endsWith("]"))return!1;var $=y.substr(1,y.length-2);if(0===$.length||!(0,s.default)($))return!1}}if('"'===_[0])return _=_.slice(1,_.length-1),t.allow_utf8_local_part?g.test(_):m.test(_);for(var M=t.allow_utf8_local_part?h:f,I=_.split("."),E=0;E<I.length;E++)if(!M.test(I[E]))return!1;if(t.blacklisted_chars&&-1!==_.search(new RegExp("[".concat(t.blacklisted_chars,"]+"),"g")))return!1;return!0};var i=u(e("./util/assertString")),a=u(e("./util/merge")),o=u(e("./isByteLength")),n=u(e("./isFQDN")),s=u(e("./isIP"));function u(e){return e&&e.__esModule?e:{default:e}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var c={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0,blacklisted_chars:"",ignore_max_length:!1},d=/^([^\x00-\x1F\x7F-\x9F\cX]+)<(.+)>$/i,f=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,p=/^[a-z\d]+$/,m=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,h=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,g=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;t.exports=r.default,t.exports.default=r.default},{"./isByteLength":31,"./isFQDN":42,"./isIP":52,"./util/assertString":107,"./util/merge":109}],40:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,i.default)(e),0===((t=(0,a.default)(t,n)).ignore_whitespace?e.trim().length:e.length)};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n={ignore_whitespace:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],41:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(0x)[0-9a-f]{40}$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],42:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e),(t=(0,a.default)(t,n)).allow_trailing_dot&&"."===e[e.length-1]&&(e=e.substring(0,e.length-1));var r=e.split("."),o=r[r.length-1];if(t.require_tld){if(r.length<2)return!1;if(!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(o))return!1;if(/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20\u00A9\uFFFD]/.test(o))return!1}if(!t.allow_numeric_tld&&/^\d+$/.test(o))return!1;return r.every((function(e){return!(e.length>63)&&(!!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(e)&&(!/[\uff01-\uff5e]/.test(e)&&(!/^-|-$/.test(e)&&!(!t.allow_underscores&&/_/.test(e)))))}))};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_numeric_tld:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],43:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e),t=t||{};var r=new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(t.locale?o.decimal[t.locale]:".","[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));if(""===e||"."===e||"-"===e||"+"===e)return!1;var i=parseFloat(e.replace(",","."));return r.test(e)&&(!t.hasOwnProperty("min")||i>=t.min)&&(!t.hasOwnProperty("max")||i<=t.max)&&(!t.hasOwnProperty("lt")||i<t.lt)&&(!t.hasOwnProperty("gt")||i>t.gt)},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=Object.keys(o.decimal);r.locales=n},{"./alpha":15,"./util/assertString":107}],44:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)},r.fullWidth=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;r.fullWidth=o},{"./util/assertString":107}],45:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)||n.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(hsl)a?\(\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn|\s*)(\s*,\s*(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}\s*(,\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?)\s*)?\)$/i,n=/^(hsl)a?\(\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn|\s)(\s*(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}\s*(\/\s*((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?)\s*)?\)$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],46:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)},r.halfWidth=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;r.halfWidth=o},{"./util/assertString":107}],47:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),new RegExp("^[a-fA-F0-9]{".concat(o[t],"}$")).test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={md5:32,md4:32,sha1:40,sha256:64,sha384:96,sha512:128,ripemd128:32,ripemd160:40,tiger128:32,tiger160:40,tiger192:48,crc32:8,crc32b:8};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],48:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],49:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(0x|0h)?[0-9A-F]+$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],50:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),function(e){var t=e.replace(/[\s\-]+/gi,"").toUpperCase(),r=t.slice(0,2).toUpperCase();return r in o&&o[r].test(t)}(e)&&function(e){var t=e.replace(/[^A-Z0-9]+/gi,"").toUpperCase();return 1===(t.slice(4)+t.slice(0,4)).replace(/[A-Z]/g,(function(e){return e.charCodeAt(0)-55})).match(/\d{1,7}/g).reduce((function(e,t){return Number(e+t)%97}),"")}(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={AD:/^(AD[0-9]{2})\d{8}[A-Z0-9]{12}$/,AE:/^(AE[0-9]{2})\d{3}\d{16}$/,AL:/^(AL[0-9]{2})\d{8}[A-Z0-9]{16}$/,AT:/^(AT[0-9]{2})\d{16}$/,AZ:/^(AZ[0-9]{2})[A-Z0-9]{4}\d{20}$/,BA:/^(BA[0-9]{2})\d{16}$/,BE:/^(BE[0-9]{2})\d{12}$/,BG:/^(BG[0-9]{2})[A-Z]{4}\d{6}[A-Z0-9]{8}$/,BH:/^(BH[0-9]{2})[A-Z]{4}[A-Z0-9]{14}$/,BR:/^(BR[0-9]{2})\d{23}[A-Z]{1}[A-Z0-9]{1}$/,BY:/^(BY[0-9]{2})[A-Z0-9]{4}\d{20}$/,CH:/^(CH[0-9]{2})\d{5}[A-Z0-9]{12}$/,CR:/^(CR[0-9]{2})\d{18}$/,CY:/^(CY[0-9]{2})\d{8}[A-Z0-9]{16}$/,CZ:/^(CZ[0-9]{2})\d{20}$/,DE:/^(DE[0-9]{2})\d{18}$/,DK:/^(DK[0-9]{2})\d{14}$/,DO:/^(DO[0-9]{2})[A-Z]{4}\d{20}$/,EE:/^(EE[0-9]{2})\d{16}$/,EG:/^(EG[0-9]{2})\d{25}$/,ES:/^(ES[0-9]{2})\d{20}$/,FI:/^(FI[0-9]{2})\d{14}$/,FO:/^(FO[0-9]{2})\d{14}$/,FR:/^(FR[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,GB:/^(GB[0-9]{2})[A-Z]{4}\d{14}$/,GE:/^(GE[0-9]{2})[A-Z0-9]{2}\d{16}$/,GI:/^(GI[0-9]{2})[A-Z]{4}[A-Z0-9]{15}$/,GL:/^(GL[0-9]{2})\d{14}$/,GR:/^(GR[0-9]{2})\d{7}[A-Z0-9]{16}$/,GT:/^(GT[0-9]{2})[A-Z0-9]{4}[A-Z0-9]{20}$/,HR:/^(HR[0-9]{2})\d{17}$/,HU:/^(HU[0-9]{2})\d{24}$/,IE:/^(IE[0-9]{2})[A-Z0-9]{4}\d{14}$/,IL:/^(IL[0-9]{2})\d{19}$/,IQ:/^(IQ[0-9]{2})[A-Z]{4}\d{15}$/,IR:/^(IR[0-9]{2})0\d{2}0\d{18}$/,IS:/^(IS[0-9]{2})\d{22}$/,IT:/^(IT[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,JO:/^(JO[0-9]{2})[A-Z]{4}\d{22}$/,KW:/^(KW[0-9]{2})[A-Z]{4}[A-Z0-9]{22}$/,KZ:/^(KZ[0-9]{2})\d{3}[A-Z0-9]{13}$/,LB:/^(LB[0-9]{2})\d{4}[A-Z0-9]{20}$/,LC:/^(LC[0-9]{2})[A-Z]{4}[A-Z0-9]{24}$/,LI:/^(LI[0-9]{2})\d{5}[A-Z0-9]{12}$/,LT:/^(LT[0-9]{2})\d{16}$/,LU:/^(LU[0-9]{2})\d{3}[A-Z0-9]{13}$/,LV:/^(LV[0-9]{2})[A-Z]{4}[A-Z0-9]{13}$/,MC:/^(MC[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,MD:/^(MD[0-9]{2})[A-Z0-9]{20}$/,ME:/^(ME[0-9]{2})\d{18}$/,MK:/^(MK[0-9]{2})\d{3}[A-Z0-9]{10}\d{2}$/,MR:/^(MR[0-9]{2})\d{23}$/,MT:/^(MT[0-9]{2})[A-Z]{4}\d{5}[A-Z0-9]{18}$/,MU:/^(MU[0-9]{2})[A-Z]{4}\d{19}[A-Z]{3}$/,NL:/^(NL[0-9]{2})[A-Z]{4}\d{10}$/,NO:/^(NO[0-9]{2})\d{11}$/,PK:/^(PK[0-9]{2})[A-Z0-9]{4}\d{16}$/,PL:/^(PL[0-9]{2})\d{24}$/,PS:/^(PS[0-9]{2})[A-Z0-9]{4}\d{21}$/,PT:/^(PT[0-9]{2})\d{21}$/,QA:/^(QA[0-9]{2})[A-Z]{4}[A-Z0-9]{21}$/,RO:/^(RO[0-9]{2})[A-Z]{4}[A-Z0-9]{16}$/,RS:/^(RS[0-9]{2})\d{18}$/,SA:/^(SA[0-9]{2})\d{2}[A-Z0-9]{18}$/,SC:/^(SC[0-9]{2})[A-Z]{4}\d{20}[A-Z]{3}$/,SE:/^(SE[0-9]{2})\d{20}$/,SI:/^(SI[0-9]{2})\d{15}$/,SK:/^(SK[0-9]{2})\d{20}$/,SM:/^(SM[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,SV:/^(SV[0-9]{2})[A-Z0-9]{4}\d{20}$/,TL:/^(TL[0-9]{2})\d{19}$/,TN:/^(TN[0-9]{2})\d{20}$/,TR:/^(TR[0-9]{2})\d{5}[A-Z0-9]{17}$/,UA:/^(UA[0-9]{2})\d{6}[A-Z0-9]{19}$/,VA:/^(VA[0-9]{2})\d{18}$/,VG:/^(VG[0-9]{2})[A-Z0-9]{4}\d{16}$/,XK:/^(XK[0-9]{2})\d{16}$/};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],51:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=o;(t=t||{}).allow_hyphens&&(r=n);if(!r.test(e))return!1;e=e.replace(/-/g,"");for(var i=0,s=2,u=0;u<14;u++){var l=e.substring(14-u-1,14-u),c=parseInt(l,10)*s;i+=c>=10?c%10+1:c,1===s?s+=1:s-=1}if((10-i%10)%10!==parseInt(e.substring(14,15),10))return!1;return!0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[0-9]{15}$/,n=/^\d{2}-\d{6}-\d{6}-\d{1}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],52:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,a.default)(t),!(r=String(r)))return e(t,4)||e(t,6);if("4"===r){if(!o.test(t))return!1;var i=t.split(".").sort((function(e,t){return e-t}));return i[3]<=255}if("6"===r){var s=[t];if(t.includes("%")){if(2!==(s=t.split("%")).length)return!1;if(!s[0].includes(":"))return!1;if(""===s[1])return!1}var u=s[0].split(":"),l=!1,c=e(u[u.length-1],4),d=c?7:8;if(u.length>d)return!1;if("::"===t)return!0;"::"===t.substr(0,2)?(u.shift(),u.shift(),l=!0):"::"===t.substr(t.length-2)&&(u.pop(),u.pop(),l=!0);for(var f=0;f<u.length;++f)if(""===u[f]&&f>0&&f<u.length-1){if(l)return!1;l=!0}else if(c&&f===u.length-1);else if(!n.test(u[f]))return!1;return l?u.length>=1:u.length===d}return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/,n=/^[0-9A-F]{1,4}$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],53:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,i.default)(e);var t=e.split("/");if(2!==t.length)return!1;if(!n.test(t[1]))return!1;if(t[1].length>1&&t[1].startsWith("0"))return!1;return(0,a.default)(t[0],4)&&t[1]<=32&&t[1]>=0};var i=o(e("./util/assertString")),a=o(e("./isIP"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/^\d{1,2}$/;t.exports=r.default,t.exports.default=r.default},{"./isIP":52,"./util/assertString":107}],54:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,a.default)(t),!(r=String(r)))return e(t,10)||e(t,13);var i,u=t.replace(/[\s-]+/g,""),l=0;if("10"===r){if(!o.test(u))return!1;for(i=0;i<9;i++)l+=(i+1)*u.charAt(i);if("X"===u.charAt(9)?l+=100:l+=10*u.charAt(9),l%11==0)return!!u}else if("13"===r){if(!n.test(u))return!1;for(i=0;i<12;i++)l+=s[i%2]*u.charAt(i);if(u.charAt(12)-(10-l%10)%10==0)return!!u}return!1};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(?:[0-9]{9}X|[0-9]{10})$/,n=/^(?:[0-9]{13})$/,s=[1,3];t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],55:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),!o.test(e))return!1;for(var t,r,i=e.replace(/[A-Z]/g,(function(e){return parseInt(e,36)})),n=0,s=!0,u=i.length-2;u>=0;u--)t=i.substring(u,u+1),r=parseInt(t,10),n+=s&&(r*=2)>=10?r+1:r,s=!s;return parseInt(e.substr(e.length-1),10)===(1e4-n)%10};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],56:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),(0,a.default)(n,e.toUpperCase())};var i=o(e("./util/assertString")),a=o(e("./util/includes"));function o(e){return e&&e.__esModule?e:{default:e}}var n=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"];t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/includes":108}],57:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),(0,a.default)(n,e.toUpperCase())};var i=o(e("./util/assertString")),a=o(e("./util/includes"));function o(e){return e&&e.__esModule?e:{default:e}}var n=["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","KHM","CMR","CAN","CPV","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KOR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","ZMB","ZWE"];t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/includes":108}],58:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a.default)(e);var r=t.strictSeparator?n.test(e):o.test(e);return r&&t.strict?s(e):r};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,n=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,s=function(e){var t=e.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);if(t){var r=Number(t[1]),i=Number(t[2]);return r%4==0&&r%100!=0||r%400==0?i<=366:i<=365}var a=e.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number),o=a[1],n=a[2],s=a[3],u=n?"0".concat(n).slice(-2):n,l=s?"0".concat(s).slice(-2):s,c=new Date("".concat(o,"-").concat(u||"01","-").concat(l||"01"));return!n||!s||c.getUTCFullYear()===o&&c.getUTCMonth()+1===n&&c.getUTCDate()===s};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],59:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],60:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,a.default)(e);var r=o;if(r=t.require_hyphen?r.replace("?",""):r,!(r=t.case_sensitive?new RegExp(r):new RegExp(r,"i")).test(e))return!1;for(var i=e.replace("-","").toUpperCase(),n=0,s=0;s<i.length;s++){var u=i[s];n+=("X"===u?10:+u)*(8-s)}return n%11==0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o="^\\d{4}-?\\d{3}[\\dX]$";t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],61:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t in o)return o[t](e);if("any"===t){for(var r in o){if(o.hasOwnProperty(r))if((0,o[r])(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={ES:function(e){(0,a.default)(e);var t={X:0,Y:1,Z:2},r=e.trim().toUpperCase();if(!/^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/.test(r))return!1;var i=r.slice(0,-1).replace(/[X,Y,Z]/g,(function(e){return t[e]}));return r.endsWith(["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"][i%23])},IN:function(e){var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],r=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],i=e.trim();if(!/^[1-9]\d{3}\s?\d{4}\s?\d{4}$/.test(i))return!1;var a=0;return i.replace(/\s/g,"").split("").map(Number).reverse().forEach((function(e,i){a=t[a][r[i%8][e]]})),0===a},IT:function(e){return 9===e.length&&("CA00000AA"!==e&&e.search(/C[A-Z][0-9]{5}[A-Z]{2}/i)>-1)},NO:function(e){var t=e.trim();if(isNaN(Number(t)))return!1;if(11!==t.length)return!1;if("00000000000"===t)return!1;var r=t.split("").map(Number),i=(11-(3*r[0]+7*r[1]+6*r[2]+1*r[3]+8*r[4]+9*r[5]+4*r[6]+5*r[7]+2*r[8])%11)%11,a=(11-(5*r[0]+4*r[1]+3*r[2]+2*r[3]+7*r[4]+6*r[5]+5*r[6]+4*r[7]+3*r[8]+2*i)%11)%11;return i===r[9]&&a===r[10]},"he-IL":function(e){var t=e.trim();if(!/^\d{9}$/.test(t))return!1;for(var r,i=t,a=0,o=0;o<i.length;o++)a+=(r=Number(i[o])*(o%2+1))>9?r-9:r;return a%10==0},"ar-TN":function(e){var t=e.trim();return!!/^\d{8}$/.test(t)},"zh-CN":function(e){var t,r=["11","12","13","14","15","21","22","23","31","32","33","34","35","36","37","41","42","43","44","45","46","50","51","52","53","54","61","62","63","64","65","71","81","82","91"],i=["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],a=["1","0","X","9","8","7","6","5","4","3","2"],o=function(e){return r.includes(e)},n=function(e){var t=parseInt(e.substring(0,4),10),r=parseInt(e.substring(4,6),10),i=parseInt(e.substring(6),10),a=new Date(t,r-1,i);return!(a>new Date)&&(a.getFullYear()===t&&a.getMonth()===r-1&&a.getDate()===i)},s=function(e){return function(e){for(var t=e.substring(0,17),r=0,o=0;o<17;o++)r+=parseInt(t.charAt(o),10)*parseInt(i[o],10);return a[r%11]}(e)===e.charAt(17).toUpperCase()};return!!/^\d{15}|(\d{17}(\d|x|X))$/.test(t=e)&&(15===t.length?function(e){var t=/^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(e);if(!t)return!1;var r=e.substring(0,2);if(!(t=o(r)))return!1;var i="19".concat(e.substring(6,12));return!!(t=n(i))}(t):function(e){var t=/^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(e);if(!t)return!1;var r=e.substring(0,2);if(!(t=o(r)))return!1;var i=e.substring(6,14);return!!(t=n(i))&&s(e)}(t))},"zh-TW":function(e){var t={A:10,B:11,C:12,D:13,E:14,F:15,G:16,H:17,I:34,J:18,K:19,L:20,M:21,N:22,O:35,P:23,Q:24,R:25,S:26,T:27,U:28,V:29,W:32,X:30,Y:31,Z:33},r=e.trim().toUpperCase();return!!/^[A-Z][0-9]{9}$/.test(r)&&Array.from(r).reduce((function(e,r,i){if(0===i){var a=t[r];return a%10*9+Math.floor(a/10)}return 9===i?(10-e%10-Number(r))%10==0:e+Number(r)*(9-i)}),0)}};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r;if((0,i.default)(e),"[object Array]"===Object.prototype.toString.call(t)){var o=[];for(r in t)({}).hasOwnProperty.call(t,r)&&(o[r]=(0,a.default)(t[r]));return o.indexOf(e)>=0}if("object"===n(t))return t.hasOwnProperty(e);if(t&&"function"==typeof t.indexOf)return t.indexOf(e)>=0;return!1};var i=o(e("./util/assertString")),a=o(e("./util/toString"));function o(e){return e&&e.__esModule?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/toString":111}],63:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=(t=t||{}).hasOwnProperty("allow_leading_zeroes")&&!t.allow_leading_zeroes?o:n,i=!t.hasOwnProperty("min")||e>=t.min,s=!t.hasOwnProperty("max")||e<=t.max,u=!t.hasOwnProperty("lt")||e<t.lt,l=!t.hasOwnProperty("gt")||e>t.gt;return r.test(e)&&i&&s&&u&&l};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,n=/^[-+]?[0-9]+$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],64:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e);try{t=(0,a.default)(t,s);var r=[];t.allow_primitives&&(r=[null,!1,!0]);var o=JSON.parse(e);return r.includes(o)||!!o&&"object"===n(o)}catch(e){}return!1};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s={allow_primitives:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],65:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,i.default)(e);var t=e.split("."),r=t.length;if(r>3||r<2)return!1;return t.reduce((function(e,t){return e&&(0,a.default)(t,{urlSafe:!0})}),!0)};var i=o(e("./util/assertString")),a=o(e("./isBase64"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./isBase64":27,"./util/assertString":107}],66:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,i.default)(e),t=(0,a.default)(t,c),!e.includes(","))return!1;var r=e.split(",");if(r[0].startsWith("(")&&!r[1].endsWith(")")||r[1].endsWith(")")&&!r[0].startsWith("("))return!1;if(t.checkDMS)return u.test(r[0])&&l.test(r[1]);return n.test(r[0])&&s.test(r[1])};var i=o(e("./util/assertString")),a=o(e("./util/merge"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/,s=/^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/,u=/^(([1-8]?\d)\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|90\D+0\D+0)\D+[NSns]?$/i,l=/^\s*([1-7]?\d{1,2}\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|180\D+0\D+0)\D+[EWew]?$/i,c={checkDMS:!1};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],67:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r,i;(0,a.default)(e),"object"===o(t)?(r=t.min||0,i=t.max):(r=arguments[1]||0,i=arguments[2]);var n=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],s=e.length-n.length;return s>=r&&(void 0===i||s<=i)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],68:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,a.default)(e),"en_US_POSIX"===e||"ca_ES_VALENCIA"===e)return!0;return o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[A-z]{2,4}([_-]([A-z]{4}|[\d]{3}))?([_-]([A-z]{2}|[\d]{3}))?$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],69:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e===e.toLowerCase()};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],70:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t&&t.no_colons)return n.test(e);return o.test(e)||s.test(e)||u.test(e)||l.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/,n=/^([0-9a-fA-F]){12}$/,s=/^([0-9a-fA-F][0-9a-fA-F]-){5}([0-9a-fA-F][0-9a-fA-F])$/,u=/^([0-9a-fA-F][0-9a-fA-F]\s){5}([0-9a-fA-F][0-9a-fA-F])$/,l=/^([0-9a-fA-F]{4}).([0-9a-fA-F]{4}).([0-9a-fA-F]{4})$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],71:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[a-f0-9]{32}$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],72:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e.trim())};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}&dn=.+&tr=.+$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],73:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)||n.test(e)||s.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i,n=/^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i,s=/^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],74:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){if((0,a.default)(e),r&&r.strictMode&&!e.startsWith("+"))return!1;if(Array.isArray(t))return t.some((function(t){if(o.hasOwnProperty(t)&&o[t].test(e))return!0;return!1}));if(t in o)return o[t].test(e);if(!t||"any"===t){for(var i in o){if(o.hasOwnProperty(i))if(o[i].test(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={"am-AM":/^(\+?374|0)((10|[9|7][0-9])\d{6}$|[2-4]\d{7}$)/,"ar-AE":/^((\+?971)|0)?5[024568]\d{7}$/,"ar-BH":/^(\+?973)?(3|6)\d{7}$/,"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-LB":/^(\+?961)?((3|81)\d{6}|7\d{7})$/,"ar-EG":/^((\+?20)|0)?1[0125]\d{8}$/,"ar-IQ":/^(\+?964|0)?7[0-9]\d{8}$/,"ar-JO":/^(\+?962|0)?7[789]\d{7}$/,"ar-KW":/^(\+?965)[569]\d{7}$/,"ar-LY":/^((\+?218)|0)?(9[1-6]\d{7}|[1-8]\d{7,9})$/,"ar-MA":/^(?:(?:\+|00)212|0)[5-7]\d{8}$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-TN":/^(\+?216)?[2459]\d{7}$/,"az-AZ":/^(\+994|0)(5[015]|7[07]|99)\d{7}$/,"bs-BA":/^((((\+|00)3876)|06))((([0-3]|[5-6])\d{6})|(4\d{7}))$/,"be-BY":/^(\+?375)?(24|25|29|33|44)\d{7}$/,"bg-BG":/^(\+?359|0)?8[789]\d{7}$/,"bn-BD":/^(\+?880|0)1[13456789][0-9]{8}$/,"ca-AD":/^(\+376)?[346]\d{5}$/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"da-DK":/^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,"de-DE":/^(\+49)?0?[1|3]([0|5][0-45-9]\d|6([23]|0\d?)|7([0-57-9]|6\d))\d{7}$/,"de-AT":/^(\+43|0)\d{1,4}\d{3,12}$/,"de-CH":/^(\+41|0)(7[5-9])\d{1,7}$/,"de-LU":/^(\+352)?((6\d1)\d{6})$/,"el-GR":/^(\+?30|0)?(69\d{8})$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-GB":/^(\+?44|0)7\d{9}$/,"en-GG":/^(\+?44|0)1481\d{6}$/,"en-GH":/^(\+233|0)(20|50|24|54|27|57|26|56|23|28)\d{7}$/,"en-HK":/^(\+?852[-\s]?)?[456789]\d{3}[-\s]?\d{4}$/,"en-MO":/^(\+?853[-\s]?)?[6]\d{3}[-\s]?\d{4}$/,"en-IE":/^(\+?353|0)8[356789]\d{7}$/,"en-IN":/^(\+?91|0)?[6789]\d{9}$/,"en-KE":/^(\+?254|0)(7|1)\d{8}$/,"en-MT":/^(\+?356|0)?(99|79|77|21|27|22|25)[0-9]{6}$/,"en-MU":/^(\+?230|0)?\d{8}$/,"en-NG":/^(\+?234|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)[28]\d{7,9}$/,"en-PK":/^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/,"en-PH":/^(09|\+639)\d{9}$/,"en-RW":/^(\+?250|0)?[7]\d{8}$/,"en-SG":/^(\+65)?[689]\d{7}$/,"en-SL":/^(?:0|94|\+94)?(7(0|1|2|5|6|7|8)( |-)?\d)\d{6}$/,"en-TZ":/^(\+?255|0)?[67]\d{8}$/,"en-UG":/^(\+?256|0)?[7]\d{8}$/,"en-US":/^((\+1|1)?( |-)?)?(\([2-9][0-9]{2}\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?09[567]\d{7}$/,"en-ZW":/^(\+263)[0-9]{9}$/,"es-AR":/^\+?549(11|[2368]\d)\d{8}$/,"es-BO":/^(\+?591)?(6|7)\d{7}$/,"es-CO":/^(\+?57)?([1-8]{1}|3[0-9]{2})?[2-9]{1}\d{6}$/,"es-CL":/^(\+?56|0)[2-9]\d{1}\d{7}$/,"es-CR":/^(\+506)?[2-8]\d{7}$/,"es-DO":/^(\+?1)?8[024]9\d{7}$/,"es-HN":/^(\+?504)?[9|8]\d{7}$/,"es-EC":/^(\+?593|0)([2-7]|9[2-9])\d{7}$/,"es-ES":/^(\+?34)?[6|7]\d{8}$/,"es-PE":/^(\+?51)?9\d{8}$/,"es-MX":/^(\+?52)?(1|01)?\d{10,11}$/,"es-PA":/^(\+?507)\d{7,8}$/,"es-PY":/^(\+?595|0)9[9876]\d{7}$/,"es-UY":/^(\+598|0)9[1-9][\d]{6}$/,"et-EE":/^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,"fa-IR":/^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,"fi-FI":/^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,"fj-FJ":/^(\+?679)?\s?\d{3}\s?\d{4}$/,"fo-FO":/^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"fr-GF":/^(\+?594|0|00594)[67]\d{8}$/,"fr-GP":/^(\+?590|0|00590)[67]\d{8}$/,"fr-MQ":/^(\+?596|0|00596)[67]\d{8}$/,"fr-RE":/^(\+?262|0|00262)[67]\d{8}$/,"he-IL":/^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,"hu-HU":/^(\+?36)(20|30|70)\d{7}$/,"id-ID":/^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"it-SM":/^((\+378)|(0549)|(\+390549)|(\+3780549))?6\d{5,9}$/,"ja-JP":/^(\+81[ \-]?(\(0\))?|0)[6789]0[ \-]?\d{4}[ \-]?\d{4}$/,"ka-GE":/^(\+?995)?(5|79)\d{7}$/,"kk-KZ":/^(\+?7|8)?7\d{9}$/,"kl-GL":/^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"ko-KR":/^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,"lt-LT":/^(\+370|8)\d{8}$/,"ms-MY":/^(\+?6?01){1}(([0145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/,"nb-NO":/^(\+?47)?[49]\d{7}$/,"ne-NP":/^(\+?977)?9[78]\d{8}$/,"nl-BE":/^(\+?32|0)4?\d{8}$/,"nl-NL":/^(((\+|00)?31\(0\))|((\+|00)?31)|0)6{1}\d{8}$/,"nn-NO":/^(\+?47)?[49]\d{7}$/,"pl-PL":/^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,"pt-BR":/^((\+?55\ ?[1-9]{2}\ ?)|(\+?55\ ?\([1-9]{2}\)\ ?)|(0[1-9]{2}\ ?)|(\([1-9]{2}\)\ ?)|([1-9]{2}\ ?))((\d{4}\-?\d{4})|(9[2-9]{1}\d{3}\-?\d{4}))$/,"pt-PT":/^(\+?351)?9[1236]\d{7}$/,"ro-RO":/^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/,"sl-SI":/^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,"sk-SK":/^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"sq-AL":/^(\+355|0)6[789]\d{6}$/,"sr-RS":/^(\+3816|06)[- \d]{5,9}$/,"sv-SE":/^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,"th-TH":/^(\+66|66|0)\d{9}$/,"tr-TR":/^(\+?90|0)?5\d{9}$/,"uk-UA":/^(\+?38|8)?0\d{9}$/,"uz-UZ":/^(\+?998)?(6[125-79]|7[1-69]|88|9\d)\d{7}$/,"vi-VN":/^(\+?84|0)((3([2-9]))|(5([2689]))|(7([0|6-9]))|(8([1-6|89]))|(9([0-9])))([0-9]{7})$/,"zh-CN":/^((\+|00)86)?1([3568][0-9]|4[579]|6[67]|7[01235678]|9[012356789])[0-9]{8}$/,"zh-TW":/^(\+?886\-?|0)?9\d{8}$/};o["en-CA"]=o["en-US"],o["fr-CA"]=o["en-CA"],o["fr-BE"]=o["nl-BE"],o["zh-HK"]=o["en-HK"],o["zh-MO"]=o["en-MO"],o["ga-IE"]=o["en-IE"];var n=Object.keys(o);r.locales=n},{"./util/assertString":107}],75:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),(0,a.default)(e)&&24===e.length};var i=o(e("./util/assertString")),a=o(e("./isHexadecimal"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./isHexadecimal":49,"./util/assertString":107}],76:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[^\x00-\x7F]/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],77:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t&&t.no_symbols)return n.test(e);return new RegExp("^[+-]?([0-9]*[".concat((t||{}).locale?o.decimal[t.locale]:".","])?[0-9]+$")).test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./alpha");var n=/^[0-9]+$/;t.exports=r.default,t.exports.default=r.default},{"./alpha":15,"./util/assertString":107}],78:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^(0o)?[0-7]+$/i;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],79:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=e.replace(/\s/g,"").toUpperCase();return t.toUpperCase()in o&&o[t].test(r)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={AM:/^[A-Z]{2}\d{7}$/,AR:/^[A-Z]{3}\d{6}$/,AT:/^[A-Z]\d{7}$/,AU:/^[A-Z]\d{7}$/,BE:/^[A-Z]{2}\d{6}$/,BG:/^\d{9}$/,BY:/^[A-Z]{2}\d{7}$/,CA:/^[A-Z]{2}\d{6}$/,CH:/^[A-Z]\d{7}$/,CN:/^[GE]\d{8}$/,CY:/^[A-Z](\d{6}|\d{8})$/,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/,DK:/^\d{9}$/,DZ:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/,FI:/^[A-Z]{2}\d{7}$/,FR:/^\d{2}[A-Z]{2}\d{5}$/,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/,IE:/^[A-Z0-9]{2}\d{7}$/,IN:/^[A-Z]{1}-?\d{7}$/,IS:/^(A)\d{7}$/,IT:/^[A-Z0-9]{2}\d{7}$/,JP:/^[A-Z]{2}\d{7}$/,KR:/^[MS]\d{8}$/,LT:/^[A-Z0-9]{8}$/,LU:/^[A-Z0-9]{8}$/,LV:/^[A-Z0-9]{2}\d{7}$/,MT:/^\d{7}$/,NL:/^[A-Z]{2}[A-Z0-9]{6}\d$/,PO:/^[A-Z]{2}\d{7}$/,PT:/^[A-Z]\d{6}$/,RO:/^\d{8,9}$/,RU:/^\d{2}\d{2}\d{6}$/,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/,SK:/^[0-9A-Z]\d{7}$/,TR:/^[A-Z]\d{8}$/,UA:/^[A-Z]{2}\d{6}$/,US:/^\d{9}$/};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],80:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e,{min:0,max:65535})};var i,a=(i=e("./isInt"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./isInt":63}],81:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t in u)return u[t].test(e);if("any"===t){for(var r in u){if(u.hasOwnProperty(r))if(u[r].test(e))return!0}return!1}throw new Error("Invalid locale '".concat(t,"'"))},r.locales=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^\d{4}$/,n=/^\d{5}$/,s=/^\d{6}$/,u={AD:/^AD\d{3}$/,AT:o,AU:o,AZ:/^AZ\d{4}$/,BE:o,BG:o,BR:/^\d{5}-\d{3}$/,BY:/2[1-4]{1}\d{4}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:o,CN:/^(0[1-7]|1[012356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[1-5]|8[1345]|9[09])\d{4}$/,CZ:/^\d{3}\s?\d{2}$/,DE:n,DK:o,DO:n,DZ:n,EE:n,ES:/^(5[0-2]{1}|[0-4]{1}\d{1})\d{3}$/,FI:n,FR:/^\d{2}\s?\d{3}$/,GB:/^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,GR:/^\d{3}\s?\d{2}$/,HR:/^([1-5]\d{4}$)/,HT:/^HT\d{4}$/,HU:o,ID:n,IE:/^(?!.*(?:o))[A-z]\d[\dw]\s\w{4}$/i,IL:/^(\d{5}|\d{7})$/,IN:/^((?!10|29|35|54|55|65|66|86|87|88|89)[1-9][0-9]{5})$/,IR:/\b(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}\b/,IS:/^\d{3}$/,IT:n,JP:/^\d{3}\-\d{4}$/,KE:n,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT\-\d{5}$/,LU:o,LV:/^LV\-\d{4}$/,MX:n,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MY:n,NL:/^\d{4}\s?[a-z]{2}$/i,NO:o,NP:/^(10|21|22|32|33|34|44|45|56|57)\d{3}$|^(977)$/i,NZ:o,PL:/^\d{2}\-\d{3}$/,PR:/^00[679]\d{2}([ -]\d{4})?$/,PT:/^\d{4}\-\d{3}?$/,RO:s,RU:s,SA:n,SE:/^[1-9]\d{2}\s?\d{2}$/,SG:s,SI:o,SK:/^\d{3}\s?\d{2}$/,TH:n,TN:o,TW:/^\d{3}(\d{2})?$/,UA:n,US:/^\d{5}(-\d{4})?$/,ZA:o,ZM:n},l=Object.keys(u);r.locales=l},{"./util/assertString":107}],82:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),f.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/([01][0-9]|2[0-3])/,n=/[0-5][0-9]/,s=new RegExp("[-+]".concat(o.source,":").concat(n.source)),u=new RegExp("([zZ]|".concat(s.source,")")),l=new RegExp("".concat(o.source,":").concat(n.source,":").concat(/([0-5][0-9]|60)/.source).concat(/(\.[0-9]+)?/.source)),c=new RegExp("".concat(/[0-9]{4}/.source,"-").concat(/(0[1-9]|1[0-2])/.source,"-").concat(/([12]\d|0[1-9]|3[01])/.source)),d=new RegExp("".concat(l.source).concat(u.source)),f=new RegExp("".concat(c.source,"[ tT]").concat(d.source));t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],83:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if((0,a.default)(e),!t)return o.test(e)||n.test(e);return o.test(e)||n.test(e)||s.test(e)||u.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^rgb\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\)$/,n=/^rgba\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)$/,s=/^rgb\((([0-9]%|[1-9][0-9]%|100%),){2}([0-9]%|[1-9][0-9]%|100%)\)/,u=/^rgba\((([0-9]%|[1-9][0-9]%|100%),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],84:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.default)(e),o.test(e)};var i=a(e("./util/assertString"));function a(e){return e&&e.__esModule?e:{default:e}}var o=(0,a(e("./util/multilineRegex")).default)(["^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)","(?:-((?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*))*))","?(?:\\+([0-9a-z-]+(?:\\.[0-9a-z-]+)*))?$"],"i");t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/multilineRegex":110}],85:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/^[^\s-_](?!.*?[-_]{2,})([a-z0-9-\\]{1,})[^\s]*[^-_\s]$/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],86:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(0,a.default)(e);var r=d(e);if((t=(0,i.default)(t||{},c)).returnScore)return f(r,t);return r.length>=t.minLength&&r.lowercaseCount>=t.minLowercase&&r.uppercaseCount>=t.minUppercase&&r.numberCount>=t.minNumbers&&r.symbolCount>=t.minSymbols};var i=o(e("./util/merge")),a=o(e("./util/assertString"));function o(e){return e&&e.__esModule?e:{default:e}}var n=/^[A-Z]$/,s=/^[a-z]$/,u=/^[0-9]$/,l=/^[-#!$%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/,c={minLength:8,minLowercase:1,minUppercase:1,minNumbers:1,minSymbols:1,returnScore:!1,pointsPerUnique:1,pointsPerRepeat:.5,pointsForContainingLower:10,pointsForContainingUpper:10,pointsForContainingNumber:10,pointsForContainingSymbol:10};function d(e){var t,r,i=(t=e,r={},Array.from(t).forEach((function(e){r[e]?r[e]+=1:r[e]=1})),r),a={length:e.length,uniqueChars:Object.keys(i).length,uppercaseCount:0,lowercaseCount:0,numberCount:0,symbolCount:0};return Object.keys(i).forEach((function(e){n.test(e)?a.uppercaseCount+=i[e]:s.test(e)?a.lowercaseCount+=i[e]:u.test(e)?a.numberCount+=i[e]:l.test(e)&&(a.symbolCount+=i[e])})),a}function f(e,t){var r=0;return r+=e.uniqueChars*t.pointsPerUnique,r+=(e.length-e.uniqueChars)*t.pointsPerRepeat,e.lowercaseCount>0&&(r+=t.pointsForContainingLower),e.uppercaseCount>0&&(r+=t.pointsForContainingUpper),e.numberCount>0&&(r+=t.pointsForContainingNumber),e.symbolCount>0&&(r+=t.pointsForContainingSymbol),r}t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107,"./util/merge":109}],87:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],88:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-US";(0,a.default)(e);var r=e.slice(0);if(t in p)return t in g&&(r=r.replace(g[t],"")),!!p[t].test(r)&&(!(t in m)||m[t](r));throw new Error("Invalid locale '".concat(t,"'"))};var a=u(e("./util/assertString")),o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var r={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=a?Object.getOwnPropertyDescriptor(e,o):null;n&&(n.get||n.set)?Object.defineProperty(r,o,n):r[o]=e[o]}r.default=e,t&&t.set(e,r);return r}(e("./util/algorithms")),n=u(e("./isDate"));function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var d={andover:["10","12"],atlanta:["60","67"],austin:["50","53"],brookhaven:["01","02","03","04","05","06","11","13","14","16","21","22","23","25","34","51","52","54","55","56","57","58","59","65"],cincinnati:["30","32","35","36","37","38","61"],fresno:["15","24"],internet:["20","26","27","45","46","47"],kansas:["40","44"],memphis:["94","95"],ogden:["80","90"],philadelphia:["33","39","41","42","43","46","48","62","63","64","66","68","71","72","73","74","75","76","77","81","82","83","84","85","86","87","88","91","92","93","98","99"],sba:["31"]};function f(e){for(var t=!1,r=!1,i=0;i<3;i++)if(!t&&/[AEIOU]/.test(e[i]))t=!0;else if(!r&&t&&"X"===e[i])r=!0;else if(i>0){if(t&&!r&&!/[AEIOU]/.test(e[i]))return!1;if(r&&!/X/.test(e[i]))return!1}return!0}var p={"bg-BG":/^\d{10}$/,"cs-CZ":/^\d{6}\/{0,1}\d{3,4}$/,"de-AT":/^\d{9}$/,"de-DE":/^[1-9]\d{10}$/,"dk-DK":/^\d{6}-{0,1}\d{4}$/,"el-CY":/^[09]\d{7}[A-Z]$/,"el-GR":/^([0-4]|[7-9])\d{8}$/,"en-GB":/^\d{10}$|^(?!GB|NK|TN|ZZ)(?![DFIQUV])[A-Z](?![DFIQUVO])[A-Z]\d{6}[ABCD ]$/i,"en-IE":/^\d{7}[A-W][A-IW]{0,1}$/i,"en-US":/^\d{2}[- ]{0,1}\d{7}$/,"es-ES":/^(\d{0,8}|[XYZKLM]\d{7})[A-HJ-NP-TV-Z]$/i,"et-EE":/^[1-6]\d{6}(00[1-9]|0[1-9][0-9]|[1-6][0-9]{2}|70[0-9]|710)\d$/,"fi-FI":/^\d{6}[-+A]\d{3}[0-9A-FHJ-NPR-Y]$/i,"fr-BE":/^\d{11}$/,"fr-FR":/^[0-3]\d{12}$|^[0-3]\d\s\d{2}(\s\d{3}){3}$/,"fr-LU":/^\d{13}$/,"hr-HR":/^\d{11}$/,"hu-HU":/^8\d{9}$/,"it-IT":/^[A-Z]{6}[L-NP-V0-9]{2}[A-EHLMPRST][L-NP-V0-9]{2}[A-ILMZ][L-NP-V0-9]{3}[A-Z]$/i,"lv-LV":/^\d{6}-{0,1}\d{5}$/,"mt-MT":/^\d{3,7}[APMGLHBZ]$|^([1-8])\1\d{7}$/i,"nl-NL":/^\d{9}$/,"pl-PL":/^\d{10,11}$/,"pt-PT":/^\d{9}$/,"ro-RO":/^\d{13}$/,"sk-SK":/^\d{6}\/{0,1}\d{3,4}$/,"sl-SI":/^[1-9]\d{7}$/,"sv-SE":/^(\d{6}[-+]{0,1}\d{4}|(18|19|20)\d{6}[-+]{0,1}\d{4})$/};p["lb-LU"]=p["fr-LU"],p["lt-LT"]=p["et-EE"],p["nl-BE"]=p["fr-BE"];var m={"bg-BG":function(e){var t=e.slice(0,2),r=parseInt(e.slice(2,4),10);r>40?(r-=40,t="20".concat(t)):r>20?(r-=20,t="18".concat(t)):t="19".concat(t),r<10&&(r="0".concat(r));var i="".concat(t,"/").concat(r,"/").concat(e.slice(4,6));if(!(0,n.default)(i,"YYYY/MM/DD"))return!1;for(var a=e.split("").map((function(e){return parseInt(e,10)})),o=[2,4,8,5,10,9,7,3,6],s=0,u=0;u<o.length;u++)s+=a[u]*o[u];return(s=s%11==10?0:s%11)===a[9]},"cs-CZ":function(e){e=e.replace(/\W/,"");var t=parseInt(e.slice(0,2),10);if(10===e.length)t=t<54?"20".concat(t):"19".concat(t);else{if("000"===e.slice(6))return!1;if(!(t<54))return!1;t="19".concat(t)}3===t.length&&(t=[t.slice(0,2),"0",t.slice(2)].join(""));var r=parseInt(e.slice(2,4),10);if(r>50&&(r-=50),r>20){if(parseInt(t,10)<2004)return!1;r-=20}r<10&&(r="0".concat(r));var i="".concat(t,"/").concat(r,"/").concat(e.slice(4,6));if(!(0,n.default)(i,"YYYY/MM/DD"))return!1;if(10===e.length&&parseInt(e,10)%11!=0){var a=parseInt(e.slice(0,9),10)%11;if(!(parseInt(t,10)<1986&&10===a))return!1;if(0!==parseInt(e.slice(9),10))return!1}return!0},"de-AT":function(e){return o.luhnCheck(e)},"de-DE":function(e){for(var t=e.split("").map((function(e){return parseInt(e,10)})),r=[],i=0;i<t.length-1;i++){r.push("");for(var a=0;a<t.length-1;a++)t[i]===t[a]&&(r[i]+=a)}if(2!==(r=r.filter((function(e){return e.length>1}))).length&&3!==r.length)return!1;if(3===r[0].length){for(var n=r[0].split("").map((function(e){return parseInt(e,10)})),s=0,u=0;u<n.length-1;u++)n[u]+1===n[u+1]&&(s+=1);if(2===s)return!1}return o.iso7064Check(e)},"dk-DK":function(e){e=e.replace(/\W/,"");var t=parseInt(e.slice(4,6),10);switch(e.slice(6,7)){case"0":case"1":case"2":case"3":t="19".concat(t);break;case"4":case"9":t=t<37?"20".concat(t):"19".concat(t);break;default:if(t<37)t="20".concat(t);else{if(!(t>58))return!1;t="18".concat(t)}}3===t.length&&(t=[t.slice(0,2),"0",t.slice(2)].join(""));var r="".concat(t,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map((function(e){return parseInt(e,10)})),a=0,o=4,s=0;s<9;s++)a+=i[s]*o,1===(o-=1)&&(o=7);return 1!==(a%=11)&&(0===a?0===i[9]:i[9]===11-a)},"el-CY":function(e){for(var t=e.slice(0,8).split("").map((function(e){return parseInt(e,10)})),r=0,i=1;i<t.length;i+=2)r+=t[i];for(var a=0;a<t.length;a+=2)t[a]<2?r+=1-t[a]:(r+=2*(t[a]-2)+5,t[a]>4&&(r+=2));return String.fromCharCode(r%26+65)===e.charAt(8)},"el-GR":function(e){for(var t=e.split("").map((function(e){return parseInt(e,10)})),r=0,i=0;i<8;i++)r+=t[i]*Math.pow(2,8-i);return r%11===t[8]},"en-IE":function(e){var t=o.reverseMultiplyAndSum(e.split("").slice(0,7).map((function(e){return parseInt(e,10)})),8);return 9===e.length&&"W"!==e[8]&&(t+=9*(e[8].charCodeAt(0)-64)),0===(t%=23)?"W"===e[7].toUpperCase():e[7].toUpperCase()===String.fromCharCode(64+t)},"en-US":function(e){return-1!==function(){var e=[];for(var t in d)d.hasOwnProperty(t)&&e.push.apply(e,l(d[t]));return e}().indexOf(e.substr(0,2))},"es-ES":function(e){var t=e.toUpperCase().split("");if(isNaN(parseInt(t[0],10))&&t.length>1){var r=0;switch(t[0]){case"Y":r=1;break;case"Z":r=2}t.splice(0,1,r)}else for(;t.length<9;)t.unshift(0);t=t.join("");var i=parseInt(t.slice(0,8),10)%23;return t[8]===["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"][i]},"et-EE":function(e){var t=e.slice(1,3);switch(e.slice(0,1)){case"1":case"2":t="18".concat(t);break;case"3":case"4":t="19".concat(t);break;default:t="20".concat(t)}var r="".concat(t,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map((function(e){return parseInt(e,10)})),a=0,o=1,s=0;s<10;s++)a+=i[s]*o,10===(o+=1)&&(o=1);if(a%11==10){a=0,o=3;for(var u=0;u<10;u++)a+=i[u]*o,10===(o+=1)&&(o=1);if(a%11==10)return 0===i[10]}return a%11===i[10]},"fi-FI":function(e){var t=e.slice(4,6);switch(e.slice(6,7)){case"+":t="18".concat(t);break;case"-":t="19".concat(t);break;default:t="20".concat(t)}var r="".concat(t,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;var i=parseInt(e.slice(0,6)+e.slice(7,10),10)%31;return i<10?i===parseInt(e.slice(10),10):["A","B","C","D","E","F","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y"][i-=10]===e.slice(10)},"fr-BE":function(e){if("00"!==e.slice(2,4)||"00"!==e.slice(4,6)){var t="".concat(e.slice(0,2),"/").concat(e.slice(2,4),"/").concat(e.slice(4,6));if(!(0,n.default)(t,"YY/MM/DD"))return!1}var r=97-parseInt(e.slice(0,9),10)%97,i=parseInt(e.slice(9,11),10);return r===i||(r=97-parseInt("2".concat(e.slice(0,9)),10)%97)===i},"fr-FR":function(e){return e=e.replace(/\s/g,""),parseInt(e.slice(0,10),10)%511===parseInt(e.slice(10,13),10)},"fr-LU":function(e){var t="".concat(e.slice(0,4),"/").concat(e.slice(4,6),"/").concat(e.slice(6,8));return!!(0,n.default)(t,"YYYY/MM/DD")&&(!!o.luhnCheck(e.slice(0,12))&&o.verhoeffCheck("".concat(e.slice(0,11)).concat(e[12])))},"hr-HR":function(e){return o.iso7064Check(e)},"hu-HU":function(e){for(var t=e.split("").map((function(e){return parseInt(e,10)})),r=8,i=1;i<9;i++)r+=t[i]*(i+1);return r%11===t[9]},"it-IT":function(e){var t=e.toUpperCase().split("");if(!f(t.slice(0,3)))return!1;if(!f(t.slice(3,6)))return!1;for(var r={L:"0",M:"1",N:"2",P:"3",Q:"4",R:"5",S:"6",T:"7",U:"8",V:"9"},i=0,a=[6,7,9,10,12,13,14];i<a.length;i++){var o=a[i];t[o]in r&&t.splice(o,1,r[t[o]])}var s={A:"01",B:"02",C:"03",D:"04",E:"05",H:"06",L:"07",M:"08",P:"09",R:"10",S:"11",T:"12"}[t[8]],u=parseInt(t[9]+t[10],10);u>40&&(u-=40),u<10&&(u="0".concat(u));var l="".concat(t[6]).concat(t[7],"/").concat(s,"/").concat(u);if(!(0,n.default)(l,"YY/MM/DD"))return!1;for(var c=0,d=1;d<t.length-1;d+=2){var p=parseInt(t[d],10);isNaN(p)&&(p=t[d].charCodeAt(0)-65),c+=p}for(var m={A:1,B:0,C:5,D:7,E:9,F:13,G:15,H:17,I:19,J:21,K:2,L:4,M:18,N:20,O:11,P:3,Q:6,R:8,S:12,T:14,U:16,V:10,W:22,X:25,Y:24,Z:23,0:1,1:0},h=0;h<t.length-1;h+=2){var g=0;if(t[h]in m)g=m[t[h]];else{var b=parseInt(t[h],10);g=2*b+1,b>4&&(g+=2)}c+=g}return String.fromCharCode(65+c%26)===t[15]},"lv-LV":function(e){var t=(e=e.replace(/\W/,"")).slice(0,2);if("32"!==t){if("00"!==e.slice(2,4)){var r=e.slice(4,6);switch(e[6]){case"0":r="18".concat(r);break;case"1":r="19".concat(r);break;default:r="20".concat(r)}var i="".concat(r,"/").concat(e.slice(2,4),"/").concat(t);if(!(0,n.default)(i,"YYYY/MM/DD"))return!1}for(var a=1101,o=[1,6,3,7,9,10,5,8,4,2],s=0;s<e.length-1;s++)a-=parseInt(e[s],10)*o[s];return parseInt(e[10],10)===a%11}return!0},"mt-MT":function(e){if(9!==e.length){for(var t=e.toUpperCase().split("");t.length<8;)t.unshift(0);switch(e[7]){case"A":case"P":if(0===parseInt(t[6],10))return!1;break;default:var r=parseInt(t.join("").slice(0,5),10);if(r>32e3)return!1;if(r===parseInt(t.join("").slice(5,7),10))return!1}}return!0},"nl-NL":function(e){return o.reverseMultiplyAndSum(e.split("").slice(0,8).map((function(e){return parseInt(e,10)})),9)%11===parseInt(e[8],10)},"pl-PL":function(e){if(10===e.length){for(var t=[6,5,7,2,3,4,5,6,7],r=0,i=0;i<t.length;i++)r+=parseInt(e[i],10)*t[i];return 10!==(r%=11)&&r===parseInt(e[9],10)}var a=e.slice(0,2),o=parseInt(e.slice(2,4),10);o>80?(a="18".concat(a),o-=80):o>60?(a="22".concat(a),o-=60):o>40?(a="21".concat(a),o-=40):o>20?(a="20".concat(a),o-=20):a="19".concat(a),o<10&&(o="0".concat(o));var s="".concat(a,"/").concat(o,"/").concat(e.slice(4,6));if(!(0,n.default)(s,"YYYY/MM/DD"))return!1;for(var u=0,l=1,c=0;c<e.length-1;c++)u+=parseInt(e[c],10)*l%10,(l+=2)>10?l=1:5===l&&(l+=2);return(u=10-u%10)===parseInt(e[10],10)},"pt-PT":function(e){var t=11-o.reverseMultiplyAndSum(e.split("").slice(0,8).map((function(e){return parseInt(e,10)})),9)%11;return t>9?0===parseInt(e[8],10):t===parseInt(e[8],10)},"ro-RO":function(e){if("9000"!==e.slice(0,4)){var t=e.slice(1,3);switch(e[0]){case"1":case"2":t="19".concat(t);break;case"3":case"4":t="18".concat(t);break;case"5":case"6":t="20".concat(t)}var r="".concat(t,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(8===r.length){if(!(0,n.default)(r,"YY/MM/DD"))return!1}else if(!(0,n.default)(r,"YYYY/MM/DD"))return!1;for(var i=e.split("").map((function(e){return parseInt(e,10)})),a=[2,7,9,1,4,6,3,5,8,2,7,9],o=0,s=0;s<a.length;s++)o+=i[s]*a[s];return o%11==10?1===i[12]:i[12]===o%11}return!0},"sk-SK":function(e){if(9===e.length){if("000"===(e=e.replace(/\W/,"")).slice(6))return!1;var t=parseInt(e.slice(0,2),10);if(t>53)return!1;t=t<10?"190".concat(t):"19".concat(t);var r=parseInt(e.slice(2,4),10);r>50&&(r-=50),r<10&&(r="0".concat(r));var i="".concat(t,"/").concat(r,"/").concat(e.slice(4,6));if(!(0,n.default)(i,"YYYY/MM/DD"))return!1}return!0},"sl-SI":function(e){var t=11-o.reverseMultiplyAndSum(e.split("").slice(0,7).map((function(e){return parseInt(e,10)})),8)%11;return 10===t?0===parseInt(e[7],10):t===parseInt(e[7],10)},"sv-SE":function(e){var t=e.slice(0);e.length>11&&(t=t.slice(2));var r="",i=t.slice(2,4),a=parseInt(t.slice(4,6),10);if(e.length>11)r=e.slice(0,4);else if(r=e.slice(0,2),11===e.length&&a<60){var s=(new Date).getFullYear().toString(),u=parseInt(s.slice(0,2),10);if(s=parseInt(s,10),"-"===e[6])r=parseInt("".concat(u).concat(r),10)>s?"".concat(u-1).concat(r):"".concat(u).concat(r);else if(r="".concat(u-1).concat(r),s-parseInt(r,10)<100)return!1}a>60&&(a-=60),a<10&&(a="0".concat(a));var l="".concat(r,"/").concat(i,"/").concat(a);if(8===l.length){if(!(0,n.default)(l,"YY/MM/DD"))return!1}else if(!(0,n.default)(l,"YYYY/MM/DD"))return!1;return o.luhnCheck(e.replace(/\W/,""))}};m["lb-LU"]=m["fr-LU"],m["lt-LT"]=m["et-EE"],m["nl-BE"]=m["fr-BE"];var h=/[-\\\/!@#$%\^&\*\(\)\+\=\[\]]+/g,g={"de-AT":h,"de-DE":/[\/\\]/g,"fr-BE":h};g["nl-BE"]=g["fr-BE"],t.exports=r.default,t.exports.default=r.default},{"./isDate":35,"./util/algorithms":106,"./util/assertString":107}],89:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,i.default)(e),!e||/[\s<>]/.test(e))return!1;if(0===e.indexOf("mailto:"))return!1;if((t=(0,n.default)(t,u)).validate_length&&e.length>=2083)return!1;var r,s,d,f,p,m,h,g;if(h=e.split("#"),e=h.shift(),h=e.split("?"),e=h.shift(),(h=e.split("://")).length>1){if(r=h.shift().toLowerCase(),t.require_valid_protocol&&-1===t.protocols.indexOf(r))return!1}else{if(t.require_protocol)return!1;if("//"===e.substr(0,2)){if(!t.allow_protocol_relative_urls)return!1;h[0]=e.substr(2)}}if(""===(e=h.join("://")))return!1;if(h=e.split("/"),""===(e=h.shift())&&!t.require_host)return!0;if((h=e.split("@")).length>1){if(t.disallow_auth)return!1;if(-1===(s=h.shift()).indexOf(":")||s.indexOf(":")>=0&&s.split(":").length>2)return!1}f=h.join("@"),m=null,g=null;var b=f.match(l);b?(d="",g=b[1],m=b[2]||null):(h=f.split(":"),d=h.shift(),h.length&&(m=h.join(":")));if(null!==m){if(p=parseInt(m,10),!/^[0-9]+$/.test(m)||p<=0||p>65535)return!1}else if(t.require_port)return!1;if(!((0,o.default)(d)||(0,a.default)(d,t)||g&&(0,o.default)(g,6)))return!1;if(d=d||g,t.host_whitelist&&!c(d,t.host_whitelist))return!1;if(t.host_blacklist&&c(d,t.host_blacklist))return!1;return!0};var i=s(e("./util/assertString")),a=s(e("./isFQDN")),o=s(e("./isIP")),n=s(e("./util/merge"));function s(e){return e&&e.__esModule?e:{default:e}}var u={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_port:!1,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1,validate_length:!0},l=/^\[([^\]]+)\](?::([0-9]+))?$/;function c(e,t){for(var r=0;r<t.length;r++){var i=t[r];if(e===i||(a=i,"[object RegExp]"===Object.prototype.toString.call(a)&&i.test(e)))return!0}var a;return!1}t.exports=r.default,t.exports.default=r.default},{"./isFQDN":42,"./isIP":52,"./util/assertString":107,"./util/merge":109}],90:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";(0,a.default)(e);var r=o[t];return r&&r.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],91:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e===e.toUpperCase()};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],92:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),(0,a.default)(t),t in o)return o[t].test(e);throw new Error("Invalid country code: '".concat(t,"'"))},r.vatMatchers=void 0;var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};var o={GB:/^GB((\d{3} \d{4} ([0-8][0-9]|9[0-6]))|(\d{9} \d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/};r.vatMatchers=o},{"./util/assertString":107}],93:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),o.fullWidth.test(e)&&n.halfWidth.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i},o=e("./isFullWidth"),n=e("./isHalfWidth");t.exports=r.default,t.exports.default=r.default},{"./isFullWidth":44,"./isHalfWidth":46,"./util/assertString":107}],94:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);for(var r=e.length-1;r>=0;r--)if(-1===t.indexOf(e[r]))return!1;return!0};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],95:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=t?new RegExp("^[".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+"),"g"):/^\s+/g;return e.replace(r,"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],96:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){(0,a.default)(e),"[object RegExp]"!==Object.prototype.toString.call(t)&&(t=new RegExp(t,r));return t.test(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],97:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){t=(0,a.default)(t,o);var r=e.split("@"),i=r.pop(),d=[r.join("@"),i];if(d[1]=d[1].toLowerCase(),"gmail.com"===d[1]||"googlemail.com"===d[1]){if(t.gmail_remove_subaddress&&(d[0]=d[0].split("+")[0]),t.gmail_remove_dots&&(d[0]=d[0].replace(/\.+/g,c)),!d[0].length)return!1;(t.all_lowercase||t.gmail_lowercase)&&(d[0]=d[0].toLowerCase()),d[1]=t.gmail_convert_googlemaildotcom?"gmail.com":d[1]}else if(n.indexOf(d[1])>=0){if(t.icloud_remove_subaddress&&(d[0]=d[0].split("+")[0]),!d[0].length)return!1;(t.all_lowercase||t.icloud_lowercase)&&(d[0]=d[0].toLowerCase())}else if(s.indexOf(d[1])>=0){if(t.outlookdotcom_remove_subaddress&&(d[0]=d[0].split("+")[0]),!d[0].length)return!1;(t.all_lowercase||t.outlookdotcom_lowercase)&&(d[0]=d[0].toLowerCase())}else if(u.indexOf(d[1])>=0){if(t.yahoo_remove_subaddress){var f=d[0].split("-");d[0]=f.length>1?f.slice(0,-1).join("-"):f[0]}if(!d[0].length)return!1;(t.all_lowercase||t.yahoo_lowercase)&&(d[0]=d[0].toLowerCase())}else l.indexOf(d[1])>=0?((t.all_lowercase||t.yandex_lowercase)&&(d[0]=d[0].toLowerCase()),d[1]="yandex.ru"):t.all_lowercase&&(d[0]=d[0].toLowerCase());return d.join("@")};var i,a=(i=e("./util/merge"))&&i.__esModule?i:{default:i};var o={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0,yahoo_lowercase:!0,yahoo_remove_subaddress:!0,yandex_lowercase:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},n=["icloud.com","me.com"],s=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],u=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"],l=["yandex.ru","yandex.ua","yandex.kz","yandex.com","yandex.by","ya.ru"];function c(e){return e.length>1?e:""}t.exports=r.default,t.exports.default=r.default},{"./util/merge":109}],98:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,a.default)(e);var r=t?new RegExp("[".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+$"),"g"):/\s+$/g;return e.replace(r,"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],99:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)(e);var r=t?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return(0,a.default)(e,r)};var i=o(e("./util/assertString")),a=o(e("./blacklist"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./blacklist":16,"./util/assertString":107}],100:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,a.default)(e),t)return"1"===e||/^true$/i.test(e);return"0"!==e&&!/^false$/i.test(e)&&""!==e};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],101:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e=Date.parse(e),isNaN(e)?null:new Date(e)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],102:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e)?parseFloat(e):NaN};var i,a=(i=e("./isFloat"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./isFloat":43}],103:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),parseInt(e,t||10)};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],104:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,i.default)((0,a.default)(e,t),t)};var i=o(e("./rtrim")),a=o(e("./ltrim"));function o(e){return e&&e.__esModule?e:{default:e}}t.exports=r.default,t.exports.default=r.default},{"./ltrim":95,"./rtrim":98}],105:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,a.default)(e),e.replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&#x2F;/g,"/").replace(/&#x5C;/g,"\\").replace(/&#96;/g,"`")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],106:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.iso7064Check=function(e){for(var t=10,r=0;r<e.length-1;r++)t=(parseInt(e[r],10)+t)%10==0?9:(parseInt(e[r],10)+t)%10*2%11;return(t=1===t?0:11-t)===parseInt(e[10],10)},r.luhnCheck=function(e){for(var t=0,r=!1,i=e.length-1;i>=0;i--){if(r){var a=2*parseInt(e[i],10);t+=a>9?a.toString().split("").map((function(e){return parseInt(e,10)})).reduce((function(e,t){return e+t}),0):a}else t+=parseInt(e[i],10);r=!r}return t%10==0},r.reverseMultiplyAndSum=function(e,t){for(var r=0,i=0;i<e.length;i++)r+=e[i]*(t-i);return r},r.verhoeffCheck=function(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],r=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],i=e.split("").reverse().join(""),a=0,o=0;o<i.length;o++)a=t[a][r[o%8][parseInt(i[o],10)]];return 0===a}},{}],107:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if(!("string"==typeof e||e instanceof String)){var t=i(e);throw null===e?t="null":"object"===t&&(t=e.constructor.name),new TypeError("Expected a string but received a ".concat(t))}},t.exports=r.default,t.exports.default=r.default},{}],108:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var i=function(e,t){return e.some((function(e){return t===e}))};r.default=i,t.exports=r.default,t.exports.default=r.default},{}],109:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;for(var r in t)void 0===e[r]&&(e[r]=t[r]);return e},t.exports=r.default,t.exports.default=r.default},{}],110:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){var r=e.join("");return new RegExp(r,t)},t.exports=r.default,t.exports.default=r.default},{}],111:[function(e,t,r){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){"object"===i(e)&&null!==e?e="function"==typeof e.toString?e.toString():"[object Object]":(null==e||isNaN(e)&&!e.length)&&(e="");return String(e)},t.exports=r.default,t.exports.default=r.default},{}],112:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,a.default)(e),e.replace(new RegExp("[^".concat(t,"]+"),"g"),"")};var i,a=(i=e("./util/assertString"))&&i.__esModule?i:{default:i};t.exports=r.default,t.exports.default=r.default},{"./util/assertString":107}],113:[function(e,t,r){t.exports={name:"doipjs",version:"0.13.0",description:"Decentralized OpenPGP Identity Proofs library in Node.js",main:"src/index.js",dependencies:{"@xmpp/client":"^0.12.0","@xmpp/debug":"^0.12.0",bent:"^7.3.12","browser-or-node":"^1.3.0",cors:"^2.8.5",dotenv:"^8.2.0",express:"^4.17.1","express-validator":"^6.10.0","irc-upd":"^0.11.0",jsdom:"^16.5.1","merge-options":"^3.0.3",openpgp:"^4.10.9","query-string":"^6.14.1","valid-url":"^1.0.9",validator:"^13.5.2"},devDependencies:{browserify:"^17.0.0","browserify-shim":"^3.8.14",chai:"^4.2.0","chai-as-promised":"^7.1.1","chai-match-pattern":"^1.2.0","clean-jsdoc-theme":"^3.2.4",husky:"^7.0.0",jsdoc:"^3.6.6","license-check-and-add":"^3.0.4","lint-staged":"^11.0.0",minify:"^6.0.1",mocha:"^8.2.0",nodemon:"^2.0.7",standard:"^16.0.3"},scripts:{"release:bundle":"./node_modules/.bin/browserify ./src/index.js --standalone doip -x openpgp -x jsdom -x @xmpp/client -x @xmpp/debug -x irc-upd -o ./dist/doip.js","release:minify":"./node_modules/.bin/minify ./dist/doip.js > ./dist/doip.min.js","prettier:check":"./node_modules/.bin/prettier --check .","prettier:write":"./node_modules/.bin/prettier --write .","license:check":"./node_modules/.bin/license-check-and-add check","license:add":"./node_modules/.bin/license-check-and-add add","license:remove":"./node_modules/.bin/license-check-and-add remove","docs:lib":"./node_modules/.bin/jsdoc -c jsdoc-lib.json -r -d ./docs -P package.json",standard:"./node_modules/.bin/standard ./src",mocha:"./node_modules/.bin/mocha",test:"yarn run standard && yarn run license:check && yarn run mocha",proxy:"NODE_ENV=production node ./src/proxy/","proxy:dev":"NODE_ENV=development ./node_modules/.bin/nodemon ./src/proxy/",prepare:"husky install"},repository:{type:"git",url:"https://codeberg.org/keyoxide/doipjs"},homepage:"https://js.doip.rocks",keywords:["pgp","gpg","openpgp","encryption","decentralized","identity"],author:"Yarmo Mackenbach <yarmo@yarmo.eu> (https://yarmo.eu)",license:"Apache-2.0",browserify:{transform:["browserify-shim"]},"browserify-shim":{openpgp:"global:openpgp"}}},{}],114:[function(e,t,r){const i=e("validator"),a=e("valid-url"),o=e("merge-options"),n=e("./proofs"),s=e("./verifications"),u=e("./claimDefinitions"),l=e("./defaults"),c=e("./enums");t.exports=class{constructor(e,t){if("object"==typeof e&&"claimVersion"in e){const t=e;switch(t.claimVersion){case 1:this._uri=t.uri,this._fingerprint=t.fingerprint,this._status=t.status,this._matches=t.matches,this._verification=t.verification;break;default:throw new Error("Invalid claim version")}}else{if(e&&!a.isUri(e))throw new Error("Invalid URI");if(t)try{i.isAlphanumeric(t)}catch(e){throw new Error("Invalid fingerprint")}this._uri=e||null,this._fingerprint=t||null,this._status=c.ClaimStatus.INIT,this._matches=null,this._verification=null}}get uri(){return this._uri}get fingerprint(){return this._fingerprint}get status(){return this._status}get matches(){if(this._status===c.ClaimStatus.INIT)throw new Error("This claim has not yet been matched");return this._matches}get verification(){if(this._status!==c.ClaimStatus.VERIFIED)throw new Error("This claim has not yet been verified");return this._verification}set uri(e){if(this._status!==c.ClaimStatus.INIT)throw new Error("Cannot change the URI, this claim has already been matched");if(e&&!a.isUri(e))throw new Error("The URI was invalid");e=e.replace(/^\s+|\s+$/g,""),this._uri=e}set fingerprint(e){if(this._status===c.ClaimStatus.VERIFIED)throw new Error("Cannot change the fingerprint, this claim has already been verified");this._fingerprint=e}set status(e){throw new Error("Cannot change a claim's status")}set matches(e){throw new Error("Cannot change a claim's matches")}set verification(e){throw new Error("Cannot change a claim's verification result")}match(){if(this._status!==c.ClaimStatus.INIT)throw new Error("This claim was already matched");if(null===this._uri)throw new Error("This claim has no URI");this._matches=[],u.list.every(((e,t)=>{const r=u.data[e];if(!r.reURI.test(this._uri))return!0;const i=r.processURI(this._uri);return i.match.isAmbiguous?(this._matches.push(i),!0):(this._matches=[i],!1)})),this._status=c.ClaimStatus.MATCHED}async verify(e){if(this._status===c.ClaimStatus.INIT)throw new Error("This claim has not yet been matched");if(this._status===c.ClaimStatus.VERIFIED)throw new Error("This claim has already been verified");if(null===this._fingerprint)throw new Error("This claim has no fingerprint");e=o(l.opts,e||{}),0===this._matches.length&&(this._verification={result:!1,completed:!0,proof:{},errors:["No matches for claim"]});for(let t=0;t<this._matches.length;t++){const r=this._matches[t];let i,a=null,o=null;try{o=await n.fetch(r,e)}catch(e){i=e}if(o)a=s.run(o.result,r,this._fingerprint),a.proof={fetcher:o.fetcher,viaProxy:o.viaProxy};else if(a=a||{result:!1,completed:!0,proof:{},errors:[i]},this.isAmbiguous())continue;a.completed&&(this._verification=a,this._matches=[r],t=this._matches.length)}this._verification=this._verification?this._verification:{result:!1,completed:!0,proof:{},errors:["Unknown error"]},this._status=c.ClaimStatus.VERIFIED}isAmbiguous(){if(this._status===c.ClaimStatus.INIT)throw new Error("The claim has not been matched yet");if(0===this._matches.length)throw new Error("The claim has no matches");return this._matches.length>1||this._matches[0].match.isAmbiguous}toJSON(){return{claimVersion:1,uri:this._uri,fingerprint:this._fingerprint,status:this._status,matches:this._matches,verification:this._verification}}}},{"./claimDefinitions":123,"./defaults":134,"./enums":135,"./proofs":146,"./verifications":149,"merge-options":8,"valid-url":13,validator:14}],115:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/dev\.to\/(.*)\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"devto"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://dev.to/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://dev.to/api/articles/${t[1]}/${t[2]}`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["body_markdown"]}}},r.tests=[{uri:"https://dev.to/alice/post",shouldMatch:!0},{uri:"https://dev.to/alice/post/",shouldMatch:!0},{uri:"https://domain.org/alice/post",shouldMatch:!1}]},{"../enums":135}],116:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/u\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"discourse"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`${t[2]}@${t[1]}`,uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://${t[1]}/u/${t[2]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["user","bio_raw"]}}},r.tests=[{uri:"https://domain.org/u/alice",shouldMatch:!0},{uri:"https://domain.org/u/alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":135}],117:[function(e,t,r){const i=e("../enums"),a=/^dns:([a-zA-Z0-9.\-_]*)(?:\?(.*))?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"dns"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://"+t[1],qr:null},proof:{uri:null,request:{fetcher:i.Fetcher.DNS,access:i.ProofAccess.SERVER,format:i.ProofFormat.JSON,data:{domain:t[1]}}},claim:{format:i.ClaimFormat.URI,relation:i.ClaimRelation.CONTAINS,path:["records","txt"]}}},r.tests=[{uri:"dns:domain.org",shouldMatch:!0},{uri:"dns:domain.org?type=TXT",shouldMatch:!0},{uri:"https://domain.org",shouldMatch:!1}]},{"../enums":135}],118:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/users\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"fediverse"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`@${t[2]}@${t[1]}`,uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:e,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["summary"]}}},r.tests=[{uri:"https://domain.org/users/alice",shouldMatch:!0},{uri:"https://domain.org/users/alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":135}],119:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/(.*)\/gitea_proof\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"gitea"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`${t[2]}@${t[1]}`,uri:`https://${t[1]}/${t[2]}`,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://${t[1]}/api/v1/repos/${t[2]}/gitea_proof`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.EQUALS,path:["description"]}}},r.tests=[{uri:"https://domain.org/alice/gitea_proof",shouldMatch:!0},{uri:"https://domain.org/alice/gitea_proof/",shouldMatch:!0},{uri:"https://domain.org/alice/other_proof",shouldMatch:!1}]},{"../enums":135}],120:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/gist\.github\.com\/(.*)\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"github"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://github.com/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:"https://api.github.com/gists/"+t[2],format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["files","openpgp.md","content"]}}},r.tests=[{uri:"https://gist.github.com/Alice/123456789",shouldMatch:!0},{uri:"https://gist.github.com/Alice/123456789/",shouldMatch:!0},{uri:"https://domain.org/Alice/123456789",shouldMatch:!1}]},{"../enums":135}],121:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/(.*)\/gitlab_proof\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"gitlab"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`${t[2]}@${t[1]}`,uri:`https://${t[1]}/${t[2]}`,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.GITLAB,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{domain:t[1],username:t[2]}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.EQUALS,path:["description"]}}},r.tests=[{uri:"https://gitlab.domain.org/alice/gitlab_proof",shouldMatch:!0},{uri:"https://gitlab.domain.org/alice/gitlab_proof/",shouldMatch:!0},{uri:"https://domain.org/alice/other_proof",shouldMatch:!1}]},{"../enums":135}],122:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/news\.ycombinator\.com\/user\?id=(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"hackernews"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:`https://hacker-news.firebaseio.com/v0/user/${t[1]}.json`,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://hacker-news.firebaseio.com/v0/user/${t[1]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.URI,relation:i.ClaimRelation.CONTAINS,path:["about"]}}},r.tests=[{uri:"https://news.ycombinator.com/user?id=Alice",shouldMatch:!0},{uri:"https://news.ycombinator.com/user?id=Alice/",shouldMatch:!0},{uri:"https://domain.org/user?id=Alice",shouldMatch:!1}]},{"../enums":135}],123:[function(e,t,r){const i={dns:e("./dns"),irc:e("./irc"),xmpp:e("./xmpp"),matrix:e("./matrix"),twitter:e("./twitter"),reddit:e("./reddit"),liberapay:e("./liberapay"),lichess:e("./lichess"),hackernews:e("./hackernews"),lobsters:e("./lobsters"),devto:e("./devto"),gitea:e("./gitea"),gitlab:e("./gitlab"),github:e("./github"),mastodon:e("./mastodon"),fediverse:e("./fediverse"),discourse:e("./discourse"),owncast:e("./owncast")};r.list=["dns","irc","xmpp","matrix","twitter","reddit","liberapay","lichess","hackernews","lobsters","devto","gitea","gitlab","github","mastodon","fediverse","discourse","owncast"],r.data=i},{"./devto":115,"./discourse":116,"./dns":117,"./fediverse":118,"./gitea":119,"./github":120,"./gitlab":121,"./hackernews":122,"./irc":124,"./liberapay":125,"./lichess":126,"./lobsters":127,"./mastodon":128,"./matrix":129,"./owncast":130,"./reddit":131,"./twitter":132,"./xmpp":133}],124:[function(e,t,r){const i=e("../enums"),a=/^irc:\/\/(.*)\/([a-zA-Z0-9\-[\]\\`_^{|}]*)/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"communication",name:"irc"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:`irc://${t[1]}/${t[2]}`,uri:e,qr:null},proof:{uri:null,request:{fetcher:i.Fetcher.IRC,access:i.ProofAccess.SERVER,format:i.ProofFormat.JSON,data:{domain:t[1],nick:t[2]}}},claim:{format:i.ClaimFormat.URI,relation:i.ClaimRelation.CONTAINS,path:[]}}},r.tests=[{uri:"irc://chat.ircserver.org/Alice1",shouldMatch:!0},{uri:"irc://chat.ircserver.org/alice?param=123",shouldMatch:!0},{uri:"irc://chat.ircserver.org/alice_bob",shouldMatch:!0},{uri:"https://chat.ircserver.org/alice",shouldMatch:!1}]},{"../enums":135}],125:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/liberapay\.com\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"liberapay"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:`https://liberapay.com/${t[1]}/public.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["statements","content"]}}},r.tests=[{uri:"https://liberapay.com/alice",shouldMatch:!0},{uri:"https://liberapay.com/alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":135}],126:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/lichess\.org\/@\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"lichess"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:"https://lichess.org/api/user/"+t[1],request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:"https://lichess.org/api/user/"+t[1],format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["profile","links"]}}},r.tests=[{uri:"https://lichess.org/@/Alice",shouldMatch:!0},{uri:"https://lichess.org/@/Alice/",shouldMatch:!0},{uri:"https://domain.org/@/Alice",shouldMatch:!1}]},{"../enums":135}],127:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/lobste\.rs\/u\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"lobsters"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:e,qr:null},proof:{uri:`https://lobste.rs/u/${t[1]}.json`,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://lobste.rs/u/${t[1]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["about"]}}},r.tests=[{uri:"https://lobste.rs/u/Alice",shouldMatch:!0},{uri:"https://lobste.rs/u/Alice/",shouldMatch:!0},{uri:"https://domain.org/u/Alice",shouldMatch:!1}]},{"../enums":135}],128:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)\/@(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"mastodon"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:`@${t[2]}@${t[1]}`,uri:e,qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:e,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["attachment","value"]}}},r.tests=[{uri:"https://domain.org/@alice",shouldMatch:!0},{uri:"https://domain.org/@alice/",shouldMatch:!0},{uri:"https://domain.org/alice",shouldMatch:!1}]},{"../enums":135}],129:[function(e,t,r){const i=e("../enums"),a=e("query-string"),o=/^matrix:u\/(?:@)?([^@:]*:[^?]*)(\?.*)?/;r.reURI=o,r.processURI=e=>{const t=e.match(o);if(!t[2])return null;const r=a.parse(t[2]);if(!("org.keyoxide.e"in r)||!("org.keyoxide.r"in r))return null;const n="https://matrix.to/#/@"+t[1],s=`https://matrix.to/#/${r["org.keyoxide.r"]}/${r["org.keyoxide.e"]}`;return{serviceprovider:{type:"communication",name:"matrix"},match:{regularExpression:o,isAmbiguous:!1},profile:{display:"@"+t[1],uri:n,qr:null},proof:{uri:s,request:{fetcher:i.Fetcher.MATRIX,access:i.ProofAccess.GRANTED,format:i.ProofFormat.JSON,data:{eventId:r["org.keyoxide.e"],roomId:r["org.keyoxide.r"]}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["content","body"]}}},r.tests=[{uri:"matrix:u/alice:matrix.domain.org?org.keyoxide.r=!123:domain.org&org.keyoxide.e=$123",shouldMatch:!0},{uri:"matrix:u/alice:matrix.domain.org",shouldMatch:!0},{uri:"xmpp:alice@domain.org",shouldMatch:!1},{uri:"https://domain.org/@alice",shouldMatch:!1}]},{"../enums":135,"query-string":10}],130:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(.*)/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"owncast"},match:{regularExpression:a,isAmbiguous:!0},profile:{display:t[1],uri:e,qr:null},proof:{uri:e+"/api/config",request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.GENERIC,format:i.ProofFormat.JSON,data:{url:e+"/api/config",format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.FINGERPRINT,relation:i.ClaimRelation.CONTAINS,path:["socialHandles","url"]}}},r.tests=[{uri:"https://live.domain.org",shouldMatch:!0},{uri:"https://live.domain.org/",shouldMatch:!0},{uri:"https://domain.org/live",shouldMatch:!0},{uri:"https://domain.org/live/",shouldMatch:!0}]},{"../enums":135}],131:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/(?:www\.)?reddit\.com\/user\/(.*)\/comments\/(.*)\/(.*)\/?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"reddit"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:t[1],uri:"https://www.reddit.com/user/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.HTTP,access:i.ProofAccess.NOCORS,format:i.ProofFormat.JSON,data:{url:`https://www.reddit.com/user/${t[1]}/comments/${t[2]}.json`,format:i.ProofFormat.JSON}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:["data","children","data","selftext"]}}},r.tests=[{uri:"https://www.reddit.com/user/Alice/comments/123456/post",shouldMatch:!0},{uri:"https://www.reddit.com/user/Alice/comments/123456/post/",shouldMatch:!0},{uri:"https://reddit.com/user/Alice/comments/123456/post",shouldMatch:!0},{uri:"https://reddit.com/user/Alice/comments/123456/post/",shouldMatch:!0},{uri:"https://domain.org/user/Alice/comments/123456/post",shouldMatch:!1}]},{"../enums":135}],132:[function(e,t,r){const i=e("../enums"),a=/^https:\/\/twitter\.com\/(.*)\/status\/([0-9]*)(?:\?.*)?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"web",name:"twitter"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:"@"+t[1],uri:"https://twitter.com/"+t[1],qr:null},proof:{uri:e,request:{fetcher:i.Fetcher.TWITTER,access:i.ProofAccess.GRANTED,format:i.ProofFormat.TEXT,data:{tweetId:t[2]}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:[]}}},r.tests=[{uri:"https://twitter.com/alice/status/1234567890123456789",shouldMatch:!0},{uri:"https://twitter.com/alice/status/1234567890123456789/",shouldMatch:!0},{uri:"https://domain.org/alice/status/1234567890123456789",shouldMatch:!1}]},{"../enums":135}],133:[function(e,t,r){const i=e("../enums"),a=/^xmpp:([a-zA-Z0-9.\-_]*)@([a-zA-Z0-9.\-_]*)(?:\?(.*))?/;r.reURI=a,r.processURI=e=>{const t=e.match(a);return{serviceprovider:{type:"communication",name:"xmpp"},match:{regularExpression:a,isAmbiguous:!1},profile:{display:`${t[1]}@${t[2]}`,uri:e,qr:e},proof:{uri:null,request:{fetcher:i.Fetcher.XMPP,access:i.ProofAccess.SERVER,format:i.ProofFormat.TEXT,data:{id:`${t[1]}@${t[2]}`,field:"note"}}},claim:{format:i.ClaimFormat.MESSAGE,relation:i.ClaimRelation.CONTAINS,path:[]}}},r.tests=[{uri:"xmpp:alice@domain.org",shouldMatch:!0},{uri:"xmpp:alice@domain.org?omemo-sid-123456789=A1B2C3D4E5F6G7H8I9",shouldMatch:!0},{uri:"https://domain.org",shouldMatch:!1}]},{"../enums":135}],134:[function(e,t,r){const i={proxy:{hostname:null,policy:e("./enums").ProxyPolicy.NEVER},claims:{irc:{nick:null},matrix:{instance:null,accessToken:null},xmpp:{service:null,username:null,password:null},twitter:{bearerToken:null}}};r.opts=i},{"./enums":135}],135:[function(e,t,r){const i={ADAPTIVE:"adaptive",ALWAYS:"always",NEVER:"never"};Object.freeze(i);const a={HTTP:"http",DNS:"dns",IRC:"irc",XMPP:"xmpp",MATRIX:"matrix",GITLAB:"gitlab",TWITTER:"twitter"};Object.freeze(a);const o={GENERIC:0,NOCORS:1,GRANTED:2,SERVER:3};Object.freeze(o);const n={JSON:"json",TEXT:"text"};Object.freeze(n);const s={URI:0,FINGERPRINT:1,MESSAGE:2};Object.freeze(s);const u={CONTAINS:0,EQUALS:1,ONEOF:2};Object.freeze(u);const l={INIT:"init",MATCHED:"matched",VERIFIED:"verified"};Object.freeze(l),r.ProxyPolicy=i,r.Fetcher=a,r.ProofAccess=o,r.ProofFormat=n,r.ClaimFormat=s,r.ClaimRelation=u,r.ClaimStatus=l},{}],136:[function(e,t,r){const i=e("browser-or-node");if(t.exports.timeout=5e3,i.isNode){const r=e("dns");t.exports.fn=async(e,i)=>{let a;const o=new Promise(((r,i)=>{a=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),n=new Promise(((t,i)=>{r.resolveTxt(e.domain,((r,a)=>{r?i(r):t({domain:e.domain,records:{txt:a}})}))}));return Promise.race([n,o]).then((e=>(clearTimeout(a),e)))}}else t.exports.fn=null},{"browser-or-node":3,dns:4}],137:[function(e,t,r){const i=e("bent")("GET");t.exports.timeout=5e3,t.exports.fn=async(e,r)=>{let a;const o=new Promise(((r,i)=>{a=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),n=new Promise(((t,r)=>{const a=`https://${e.domain}/api/v4/users?username=${e.username}`;t(i(a,null,{Accept:"application/json"}).then((e=>e.json())).then((t=>t.find((t=>t.username===e.username)))).then((t=>{if(!t)throw new Error("No user with username "+e.username);return t})).then((t=>{const r=`https://${e.domain}/api/v4/users/${t.id}/projects`;return i(r,null,{Accept:"application/json"})})).then((e=>e.json())).then((e=>e.find((e=>"gitlab_proof"===e.path)))).then((e=>{if(!e)throw new Error("No project found");return e})).catch((e=>{r(e)})))}));return Promise.race([n,o]).then((e=>(clearTimeout(a),e)))}},{bent:1}],138:[function(e,t,r){const i=e("bent")("GET"),a=e("../enums");t.exports.timeout=5e3,t.exports.fn=async(r,o)=>{let n;const s=new Promise(((e,i)=>{n=setTimeout((()=>i(new Error("Request was timed out"))),r.fetcherTimeout?r.fetcherTimeout:t.exports.timeout)})),u=new Promise(((t,o)=>{if(r.url)switch(r.format){case a.ProofFormat.JSON:i(r.url,null,{Accept:"application/json","User-Agent":"doipjs/"+e("../../package.json").version}).then((async e=>await e.json())).then((e=>{t(e)})).catch((e=>{o(e)}));break;case a.ProofFormat.TEXT:i(r.url).then((async e=>await e.text())).then((e=>{t(e)})).catch((e=>{o(e)}));break;default:o(new Error("No specified data format"))}else o(new Error("No valid URI provided"))}));return Promise.race([u,s]).then((e=>(clearTimeout(n),e)))}},{"../../package.json":113,"../enums":135,bent:1}],139:[function(e,t,r){r.dns=e("./dns"),r.gitlab=e("./gitlab"),r.http=e("./http"),r.irc=e("./irc"),r.matrix=e("./matrix"),r.twitter=e("./twitter"),r.xmpp=e("./xmpp")},{"./dns":136,"./gitlab":137,"./http":138,"./irc":140,"./matrix":141,"./twitter":142,"./xmpp":143}],140:[function(e,t,r){const i=e("browser-or-node");if(t.exports.timeout=2e4,i.isNode){const r=e("irc-upd"),i=e("validator");t.exports.fn=async(e,a)=>{let o;const n=new Promise(((r,i)=>{o=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),s=new Promise(((t,o)=>{try{i.isAscii(a.claims.irc.nick)}catch(e){throw new Error(`IRC fetcher was not set up properly (${e.message})`)}try{const i=new r.Client(e.domain,a.claims.irc.nick,{port:6697,secure:!0,channels:[],showErrors:!1,debug:!1}),o=/[a-zA-Z0-9\-_]+\s+:\s(openpgp4fpr:.*)/,n=/End\sof\s.*\staxonomy./,s=[];i.addListener("registered",(t=>{i.send("PRIVMSG NickServ TAXONOMY "+e.nick)})),i.addListener("notice",((e,r,a,u)=>{if(o.test(a)){const e=a.match(o);s.push(e[1])}n.test(a)&&(i.disconnect(),t(s))}))}catch(e){o(e)}}));return Promise.race([s,n]).then((e=>(clearTimeout(o),e)))}}else t.exports.fn=null},{"browser-or-node":3,"irc-upd":"irc-upd",validator:14}],141:[function(e,t,r){const i=e("bent")("GET"),a=e("validator");t.exports.timeout=5e3,t.exports.fn=async(e,r)=>{let o;const n=new Promise(((r,i)=>{o=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),s=new Promise(((t,o)=>{try{a.isFQDN(r.claims.matrix.instance),a.isAscii(r.claims.matrix.accessToken)}catch(e){throw new Error(`Matrix fetcher was not set up properly (${e.message})`)}const n=`https://${r.claims.matrix.instance}/_matrix/client/r0/rooms/${e.roomId}/event/${e.eventId}?access_token=${r.claims.matrix.accessToken}`;i(n,null,{Accept:"application/json"}).then((async e=>await e.json())).then((e=>{t(e)})).catch((e=>{o(e)}))}));return Promise.race([s,n]).then((e=>(clearTimeout(o),e)))}},{bent:1,validator:14}],142:[function(e,t,r){const i=e("bent")("GET"),a=e("validator");t.exports.timeout=5e3,t.exports.fn=async(e,r)=>{let o;const n=new Promise(((r,i)=>{o=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),s=new Promise(((t,o)=>{try{a.isAscii(r.claims.twitter.bearerToken)}catch(e){throw new Error(`Twitter fetcher was not set up properly (${e.message})`)}i(`https://api.twitter.com/1.1/statuses/show.json?id=${e.tweetId}&tweet_mode=extended`,null,{Accept:"application/json",Authorization:"Bearer "+r.claims.twitter.bearerToken}).then((async e=>await e.json())).then((e=>{t(e.full_text)})).catch((e=>{o(e)}))}));return Promise.race([s,n]).then((e=>(clearTimeout(o),e)))}},{bent:1,validator:14}],143:[function(e,t,r){(function(r){(function(){const i=e("browser-or-node");if(t.exports.timeout=5e3,i.isNode){const i=e("jsdom"),{client:a,xml:o}=e("@xmpp/client"),n=e("@xmpp/debug"),s=e("validator");let u=null,l=null;const c=async(e,t,i)=>new Promise(((o,s)=>{const u=a({service:e,username:t,password:i});"production"!==r.env.NODE_ENV&&n(u,!0);const{iqCaller:l}=u;u.start(),u.on("online",(e=>{o({xmpp:u,iqCaller:l})})),u.on("error",(e=>{s(e)}))}));t.exports.fn=async(e,r)=>{try{s.isFQDN(r.claims.xmpp.service),s.isAscii(r.claims.xmpp.username),s.isAscii(r.claims.xmpp.password)}catch(e){throw new Error(`XMPP fetcher was not set up properly (${e.message})`)}if(!u||"online"!==u.status){const e=await c(r.claims.xmpp.service,r.claims.xmpp.username,r.claims.xmpp.password);u=e.xmpp,l=e.iqCaller}const a=(await l.request(o("iq",{type:"get",to:e.id},o("vCard","vcard-temp")),3e4)).getChild("vCard","vcard-temp").toString(),n=new i.JSDOM(a);let d;const f=new Promise(((r,i)=>{d=setTimeout((()=>i(new Error("Request was timed out"))),e.fetcherTimeout?e.fetcherTimeout:t.exports.timeout)})),p=new Promise(((t,r)=>{try{let r;switch(e.field.toLowerCase()){case"desc":case"note":if(r=n.window.document.querySelector("note text"),r||(r=n.window.document.querySelector("DESC")),!r)throw new Error("No DESC or NOTE field found in vCard");r=r.textContent;break;default:r=n.window.document.querySelector(e).textContent}u.stop(),t(r)}catch(e){r(e)}}));return Promise.race([p,f]).then((e=>(clearTimeout(d),e)))}}else t.exports.fn=null}).call(this)}).call(this,e("_process"))},{"@xmpp/client":"@xmpp/client","@xmpp/debug":"@xmpp/debug",_process:9,"browser-or-node":3,jsdom:"jsdom",validator:14}],144:[function(e,t,r){const i=e("./claim"),a=e("./claimDefinitions"),o=e("./proofs"),n=e("./keys"),s=e("./signatures"),u=e("./enums"),l=e("./defaults"),c=e("./utils");r.Claim=i,r.claimDefinitions=a,r.proofs=o,r.keys=n,r.signatures=s,r.enums=u,r.defaults=l,r.utils=c},{"./claim":114,"./claimDefinitions":123,"./defaults":134,"./enums":135,"./keys":145,"./proofs":146,"./signatures":147,"./utils":148}],145:[function(e,t,r){(function(t){(function(){const i=e("bent")("GET"),a=e("valid-url"),o="undefined"!=typeof window?window.openpgp:void 0!==t?t.openpgp:null,n=e("./claim");r.fetchHKP=async(e,t)=>{const r=t?"https://"+t:"https://keys.openpgp.org",i=new o.HKP(r),a={query:e},n=await i.lookup(a).catch((e=>{throw new Error(`Key does not exist or could not be fetched (${e})`)}));if(!n)throw new Error("Key does not exist or could not be fetched");return await o.key.readArmored(n).then((e=>e.keys[0])).catch((e=>{throw new Error(`Key does not exist or could not be fetched (${e})`)}))},r.fetchWKD=async e=>{const t=new o.WKD,r={email:e};return await t.lookup(r).then((e=>e.keys[0])).catch((e=>{throw new Error(`Key does not exist or could not be fetched (${e})`)}))},r.fetchKeybase=async(e,t)=>{const r=`https://keybase.io/${e}/pgp_keys.asc?fingerprint=${t}`;let a;try{a=await i(r).then((e=>{if(200===e.status)return e})).then((e=>e.text()))}catch(e){throw new Error("Error fetching Keybase key: "+e.message)}return await o.key.readArmored(a).then((e=>e.keys[0])).catch((e=>{throw new Error(`Key does not exist or could not be fetched (${e})`)}))},r.fetchPlaintext=async e=>(await o.key.readArmored(e)).keys[0],r.fetchURI=async e=>{if(!a.isUri(e))throw new Error("Invalid URI");const t=e.match(/([a-zA-Z0-9]*):([a-zA-Z0-9@._=+-]*)(?::([a-zA-Z0-9@._=+-]*))?/);if(!t[1])throw new Error("Invalid URI");switch(t[1]){case"hkp":return r.fetchHKP(t[3]?t[3]:t[2],t[3]?t[2]:null);case"wkd":return r.fetchWKD(t[2]);case"kb":return r.fetchKeybase(t[2],t.length>=4?t[3]:null);default:throw new Error("Invalid URI protocol")}},r.process=async e=>{if(!(e&&e instanceof o.key.Key))throw new Error("Invalid public key");const t=await e.primaryKey.getFingerprint(),r=await e.getPrimaryUser(),i=e.users,a=[];return i.forEach(((e,i)=>{if(a[i]={userData:{id:e.userId?e.userId.userid:null,name:e.userId?e.userId.name:null,email:e.userId?e.userId.email:null,comment:e.userId?e.userId.comment:null,isPrimary:r.index===i,isRevoked:!1},claims:[]},"selfCertifications"in e&&e.selfCertifications.length>0){const r=e.selfCertifications[0],s=r.rawNotations;a[i].claims=s.filter((({name:e,humanReadable:t})=>t&&"proof@metacode.biz"===e)).map((({value:e})=>new n(o.util.decode_utf8(e),t))),a[i].userData.isRevoked=r.revoked}})),{fingerprint:t,users:a,primaryUserIndex:r.index,key:{data:e,fetchMethod:null,uri:null}}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./claim":114,bent:1,"valid-url":13}],146:[function(e,t,r){const i=e("browser-or-node"),a=e("./fetcher"),o=e("./utils"),n=e("./enums"),s=(e,t)=>{switch(t.proxy.policy){case n.ProxyPolicy.ALWAYS:return c(e,t);case n.ProxyPolicy.NEVER:switch(e.proof.request.access){case n.ProofAccess.GENERIC:case n.ProofAccess.GRANTED:return l(e,t);case n.ProofAccess.NOCORS:case n.ProofAccess.SERVER:throw new Error("Impossible to fetch proof (bad combination of service access and proxy policy)");default:throw new Error("Invalid proof access value")}case n.ProxyPolicy.ADAPTIVE:switch(e.proof.request.access){case n.ProofAccess.GENERIC:return d(e,t);case n.ProofAccess.NOCORS:return c(e,t);case n.ProofAccess.GRANTED:return d(e,t);case n.ProofAccess.SERVER:return c(e,t);default:throw new Error("Invalid proof access value")}default:throw new Error("Invalid proxy policy")}},u=(e,t)=>{switch(t.proxy.policy){case n.ProxyPolicy.ALWAYS:return c(e,t);case n.ProxyPolicy.NEVER:return l(e,t);case n.ProxyPolicy.ADAPTIVE:return d(e,t);default:throw new Error("Invalid proxy policy")}},l=(e,t)=>new Promise(((r,i)=>{a[e.proof.request.fetcher].fn(e.proof.request.data,t).then((t=>r({fetcher:e.proof.request.fetcher,data:e,viaProxy:!1,result:t}))).catch((e=>i(e)))})),c=(e,t)=>new Promise(((r,i)=>{let n;try{n=o.generateProxyURL(e.proof.request.fetcher,e.proof.request.data,t)}catch(e){i(e)}const s={url:n,format:e.proof.request.format,fetcherTimeout:a[e.proof.request.fetcher].timeout};a.http.fn(s,t).then((t=>r({fetcher:"http",data:e,viaProxy:!0,result:t}))).catch((e=>i(e)))})),d=(e,t)=>new Promise(((r,i)=>{l(e,t).then((e=>r(e))).catch((a=>{c(e,t).then((e=>r(e))).catch((e=>i(e)))}))}));r.fetch=(e,t)=>{switch(e.proof.request.fetcher){case n.Fetcher.HTTP:e.proof.request.data.format=e.proof.request.format}return i.isNode?u(e,t):s(e,t)}},{"./enums":135,"./fetcher":139,"./utils":148,"browser-or-node":3}],147:[function(e,t,r){(function(t){(function(){const i="undefined"!=typeof window?window.openpgp:void 0!==t?t.openpgp:null,a=e("./claim"),o=e("./keys");r.process=async e=>{let t;const r={fingerprint:null,users:[{userData:{},claims:[]}],primaryUserIndex:null,key:{data:null,fetchMethod:null,uri:null}};try{t=await i.cleartext.readArmored(e)}catch(e){throw new Error("invalid_signature")}const n=t.signature.packets[0].issuerKeyId.toHex(),s=t.signature.packets[0].signersUserId,u=t.signature.packets[0].preferredKeyServer||"https://keys.openpgp.org/",l=t.getText(),c=[];if(l.split("\n").forEach(((e,t)=>{const i=e.match(/^([a-zA-Z0-9]*)=(.*)$/i);if(i)switch(i[1].toLowerCase()){case"key":c.push(i[2]);break;case"proof":r.users[0].claims.push(new a(i[2]))}})),c.length>0)try{r.key.uri=c[0],r.key.data=await o.fetchURI(r.key.uri),r.key.fetchMethod=r.key.uri.split(":")[0]}catch(e){}if(!r.key.data&&s)try{r.key.uri="wkd:"+s,r.key.data=await o.fetchURI(r.key.uri),r.key.fetchMethod="wkd"}catch(e){}if(!r.key.data)try{const e=u.match(/^(.*:\/\/)?([^/]*)(?:\/)?$/i);r.key.uri=`hkp:${e[2]}:${n||s}`,r.key.data=await o.fetchURI(r.key.uri),r.key.fetchMethod="hkp"}catch(e){throw new Error("key_not_found")}r.fingerprint=r.key.data.keyPacket.getFingerprint(),r.users[0].claims.forEach((e=>{e.fingerprint=r.fingerprint}));const d=await r.key.data.getPrimaryUser();let f;return s&&r.key.data.users.forEach((e=>{e.userId.email===s&&(f=e)})),f||(f=d.user),r.users[0].userData={id:f.userId?f.userId.userid:null,name:f.userId?f.userId.name:null,email:f.userId?f.userId.email:null,comment:f.userId?f.userId.comment:null,isPrimary:d.user.userId.userid===f.userId.userid},r.primaryUserIndex=r.users[0].userData.isPrimary?0:null,r}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./claim":114,"./keys":145}],148:[function(e,t,r){const i=e("validator"),a=e("./enums");r.generateProxyURL=(e,t,r)=>{try{i.isFQDN(r.proxy.hostname)}catch(e){throw new Error("Invalid proxy hostname")}const a=[];return Object.keys(t).forEach((e=>{a.push(`${e}=${encodeURIComponent(t[e])}`)})),`https://${r.proxy.hostname}/api/2/get/${e}?${a.join("&")}`},r.generateClaim=(e,t)=>{switch(t){case a.ClaimFormat.URI:return"openpgp4fpr:"+e;case a.ClaimFormat.MESSAGE:return`[Verifying my OpenPGP key: openpgp4fpr:${e}]`;case a.ClaimFormat.FINGERPRINT:return e;default:throw new Error("No valid claim format")}}},{"./enums":135,validator:14}],149:[function(e,t,r){const i=e("./utils"),a=e("./enums"),o=(e,t,r,i)=>{let n;if(!e)return!1;if(Array.isArray(e)){let a=!1;return e.forEach(((e,n)=>{a||(a=o(e,t,r,i))})),a}if(0===t.length)switch(i){case a.ClaimRelation.EQUALS:return e.replace(/\r?\n|\r|\\/g,"").toLowerCase()===r.toLowerCase();case a.ClaimRelation.ONEOF:return n=new RegExp(r,"gi"),n.test(e.join("|"));case a.ClaimRelation.CONTAINS:default:return n=new RegExp(r,"gi"),n.test(e.replace(/\r?\n|\r|\\/g,""))}if(!(t[0]in e))throw new Error("err_json_structure_incorrect");return o(e[t[0]],t.slice(1),r,i)};r.run=(e,t,r)=>{const n={result:!1,completed:!1,errors:[]};switch(t.proof.request.format){case a.ProofFormat.JSON:try{n.result=o(e,t.claim.path,i.generateClaim(r,t.claim.format),t.claim.relation),n.completed=!0}catch(e){n.errors.push(e.message?e.message:e)}break;case a.ProofFormat.TEXT:try{const a=new RegExp(i.generateClaim(r,t.claim.format).replace("[","\\[").replace("]","\\]"),"gi");n.result=a.test(e.replace(/\r?\n|\r/,"")),n.completed=!0}catch(e){n.errors.push("err_unknown_text_verification")}}return n}},{"./enums":135,"./utils":148}]},{},[144])(144)}));
diff --git a/package.json b/package.json
index 9202541..ae0df61 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "doipjs",
-  "version": "0.12.9",
+  "version": "0.13.0",
   "description": "Decentralized OpenPGP Identity Proofs library in Node.js",
   "main": "src/index.js",
   "dependencies": {