From 1a7b8373c0711e170712c546aa868730db951fc9 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Tue, 30 Mar 2021 18:37:01 -0300 Subject: [PATCH 01/21] Projeto LabenuSystem --- .gitignore | 3 + README.md | 62 +- package-lock.json | 1396 ++++++ package.json | 27 + src/app.ts | 19 + src/connection.ts | 18 + src/endpoints/_template.ts | 16 + src/endpoints/addClass.ts | 55 + src/endpoints/addFakeUsers.ts | 24 + src/endpoints/addHobby.ts | 35 + src/endpoints/addSpeciality.ts | 35 + src/endpoints/addUser.ts | 79 + src/endpoints/getStudentAge.ts | 17 + src/fakeData/people.ts | 7443 ++++++++++++++++++++++++++++++ src/functions/checkDate.ts | 4 + src/functions/checkEmail.ts | 4 + src/functions/createId.ts | 8 + src/functions/dateDiff.ts | 5 + src/functions/findAge.ts | 27 + src/functions/strDateToDate.ts | 6 + src/index.ts | 16 + src/queries/_query_template.ts | 7 + src/queries/findData.ts | 10 + src/queries/getMaxIdNumber.ts | 12 + src/queries/getStudentProfile.ts | 9 + src/queries/insertClass.ts | 17 + src/queries/insertInfo.ts | 12 + src/queries/insertPerson.ts | 18 + src/requests.rest | 45 + src/sql/database.sql | 57 + src/types/classBodyType.ts | 6 + src/types/personType.ts | 7 + src/types/specialities.ts | 9 + tsconfig.json | 14 + 34 files changed, 9489 insertions(+), 33 deletions(-) create mode 100644 .gitignore create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/app.ts create mode 100644 src/connection.ts create mode 100644 src/endpoints/_template.ts create mode 100644 src/endpoints/addClass.ts create mode 100644 src/endpoints/addFakeUsers.ts create mode 100644 src/endpoints/addHobby.ts create mode 100644 src/endpoints/addSpeciality.ts create mode 100644 src/endpoints/addUser.ts create mode 100644 src/endpoints/getStudentAge.ts create mode 100644 src/fakeData/people.ts create mode 100644 src/functions/checkDate.ts create mode 100644 src/functions/checkEmail.ts create mode 100644 src/functions/createId.ts create mode 100644 src/functions/dateDiff.ts create mode 100644 src/functions/findAge.ts create mode 100644 src/functions/strDateToDate.ts create mode 100644 src/index.ts create mode 100644 src/queries/_query_template.ts create mode 100644 src/queries/findData.ts create mode 100644 src/queries/getMaxIdNumber.ts create mode 100644 src/queries/getStudentProfile.ts create mode 100644 src/queries/insertClass.ts create mode 100644 src/queries/insertInfo.ts create mode 100644 src/queries/insertPerson.ts create mode 100644 src/requests.rest create mode 100644 src/sql/database.sql create mode 100644 src/types/classBodyType.ts create mode 100644 src/types/personType.ts create mode 100644 src/types/specialities.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c27e9ba --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +build +.env \ No newline at end of file diff --git a/README.md b/README.md index 978a24d..991c450 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,29 @@ -## LabenuSystem: - -Você estuda na Labenu_ há tanto tempo que já parecem anos, não é? Então, hoje, vamos pedir para criar um sistema que represente o básico da nossa organização. - -Ele deve possuir, ao menos, as 3 entidades importantes: - -1. Estudantes - - Representa estudantes da nossa instituição. Eles devem possuir: id, nome, email, data de nascimento e os principais hobbies dele. - -2. Docente - - Representa docentes da nossa instituição. Eles devem possuir: id, nome, email, data de nascimento e todas as especialidades dele. Há 7 especialidades: React, Redux, CSS, Testes, Typescript, Programação Orientada a Objetos e Backend - -3. Turma - - Toda turma é composta das seguintes características: id, nome, data de início, data de término, lista de professores responsáveis, uma lista de alunos e módulo atual em que a turma está. - - O módulo pode assumir os valores de 1 a 7 ou `undefined`, indicando que as aulas dessa turma ainda não começaram. Para esse exercício, vamos considerar que existam dois tipos de turma: integral ou noturna. Há uma restrição para o nome das turmas noturnas: tem que terminar com `-na-night`. - -As funcionalidades básicas são: - -→ Criar estudante; - -→ Criar docente; - -→ Criar turma; - -→ Adicionar estudante na turma; - -→ Adicionar docente na turma; - -→ Pegar a idade de algum estudante a partir do id +# NOME DO PROJETO + +## ✨ Tecnologias +Esse projeto foi desenvolvido com as seguintes tecnologias: + +* React.js +* Typescript +* Express +* MySQL +* Knex +* dotEnv + +## 💻 Projeto +Projeto desenvolvido durante a semana XXX do curso de Fullstack da Labenu. + +## 🚀 Como executar +* Instale as dependências com +``` + npm install + ``` +* Inicie o servidor com + ``` + npm run start + ``` +* Faça as requisições +O arquivo ```request.rest``` possui todos as requisições realizadas + +## Desenvolvido por: +Fabio Dos Santos; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b71f619 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1396 @@ +{ + "name": "labenu_task", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", + "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", + "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==", + "dev": true + }, + "@types/express": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz", + "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "requires": { + "knex": "*" + } + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/node": { + "version": "14.14.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.36.tgz", + "integrity": "sha512-kjivUwDJfIjngzbhooRnOLhGYz6oRFi+L+EpMjxroDYXwDw9lHrJJ43E+dJ6KAd3V3WxWAJ/qZE9XKYHhjPOFQ==", + "dev": true + }, + "@types/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "dev": true + }, + "@types/serve-static": { + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, + "dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "getopts": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz", + "integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "knex": { + "version": "0.95.4", + "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.4.tgz", + "integrity": "sha512-IwUcHr6AkZPL707mJCOal1P4jlgxKMy17IMjJm5W23yrkM1jO2/APBM1eyw/MhQ61w8T7NpzGD+LEkr8M46mWw==", + "requires": { + "colorette": "1.2.1", + "commander": "^7.1.0", + "debug": "4.3.1", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "getopts": "2.2.5", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.4.0", + "rechoir": "^0.7.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.1", + "tildify": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==" + }, + "mime-types": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "requires": { + "mime-db": "1.46.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "requires": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pg-connection-string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz", + "integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "requires": { + "resolve": "^1.9.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "tarn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.1.tgz", + "integrity": "sha512-6usSlV9KyHsspvwu2duKH+FMUhqJnAh6J5J/4MITl8s94iSUQTLkJggdiewKv4RyARQccnigV48Z+khiuVZDJw==" + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "requires": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "ts-node-dev": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.1.6.tgz", + "integrity": "sha512-RTUi7mHMNQospArGz07KiraQcdgUVNXKsgO2HAi7FoiyPMdTDqdniB6K1dqyaIxT7c9v/VpSbfBZPS6uVpaFLQ==", + "dev": true, + "requires": { + "chokidar": "^3.5.1", + "dateformat": "~1.0.4-1.2.3", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.5", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^9.0.0", + "tsconfig": "^7.0.0" + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typescript": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", + "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b57df46 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "labenu_task", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "start": "tsc && node ./build/index.js", + "dev-start": "nodemon ./src/index.ts" + }, + "author": "Fabio dos Santos", + "license": "ISC", + "dependencies": { + "@types/knex": "^0.16.1", + "cors": "^2.8.5", + "dotenv": "^8.2.0", + "express": "^4.17.1", + "knex": "^0.95.2", + "mysql": "^2.18.1" + }, + "devDependencies": { + "@types/cors": "^2.8.10", + "@types/express": "^4.17.11", + "@types/knex": "^0.16.1", + "@types/node": "^14.14.35", + "ts-node-dev": "^1.1.6", + "typescript": "^4.2.3" + } +} diff --git a/src/app.ts b/src/app.ts new file mode 100644 index 0000000..dc8bf78 --- /dev/null +++ b/src/app.ts @@ -0,0 +1,19 @@ +import express from "express"; +import cors from "cors"; +import { AddressInfo } from "net"; + +const app = express(); + +app.use(express.json()); +app.use(cors()); + +const server = app.listen(process.env.PORT || 3003, () => { + if (server) { + const address = server.address() as AddressInfo; + console.log(`Server is running in http://localhost:${address.port}`); + } else { + console.error(`Failure upon starting server.`); + } +}); + +export default app \ No newline at end of file diff --git a/src/connection.ts b/src/connection.ts new file mode 100644 index 0000000..6020fd2 --- /dev/null +++ b/src/connection.ts @@ -0,0 +1,18 @@ +import knex from "knex"; +import dotenv from "dotenv"; + +dotenv.config(); + +const connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_SCHEMA, + multipleStatements: true + }, +}); + +export default connection \ No newline at end of file diff --git a/src/endpoints/_template.ts b/src/endpoints/_template.ts new file mode 100644 index 0000000..f9b7d4a --- /dev/null +++ b/src/endpoints/_template.ts @@ -0,0 +1,16 @@ +import { Request, Response } from "express"; + +const endpoint_template = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + // const resp = await queryFunction(param) + // res.send(resp) + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default endpoint_template; diff --git a/src/endpoints/addClass.ts b/src/endpoints/addClass.ts new file mode 100644 index 0000000..a97fe2d --- /dev/null +++ b/src/endpoints/addClass.ts @@ -0,0 +1,55 @@ +import { Request, Response } from "express"; +import insertClass from "../queries/insertClass"; +import { strDateToDate } from "./../functions/strDateToDate"; +import { dateDiff } from "../functions/dateDiff"; +import { checkDate } from "./../functions/checkDate"; +import { createId } from "./../functions/createId"; +import { classBodyType } from "../types/classBodyType"; + +const addClass = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + const {name, startDate, endDate, module} = req.body as classBodyType + const id: number = await createId("class"); + const convStartDate: Date = strDateToDate(startDate); + const convEndDate: Date = strDateToDate(endDate); + for (let key in req.body) { + if (!req.body[key]) { + errorCode = 422; + throw new Error(`'${key}' field is empty or null.`); + } + } + if (!name || !startDate || !endDate || !module) { + errorCode = 422; + throw new Error( + `'name', 'startDate', 'endDate' and 'module' are mandatory parameters in body!` + ); + } + if (name.length < 3) { + errorCode = 422; + throw new Error("Name must be at least 3 characters."); + } + if (!checkDate(startDate) || !checkDate(endDate)) { + errorCode = 422; + throw new Error(`invalid date type. Use the format DD/MM/YYYY`); + } + if (dateDiff(convStartDate, convEndDate) < 0) { + errorCode = 422; + throw new Error("'endDate' must be greater than 'startDate'!"); + } + if (dateDiff(convEndDate, new Date()) < 0) { + errorCode = 422; + throw new Error("'endDate' must be greater than 'today's date'!"); + } + if (isNaN(Number(module)) || Number(module) < 1) { + errorCode = 422; + throw new Error("'module' must be a positive number!"); + } + await insertClass(id, name, convStartDate, convEndDate, module); + res.status(201).send(`Class ${name} has been successfully registered!`); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addClass; diff --git a/src/endpoints/addFakeUsers.ts b/src/endpoints/addFakeUsers.ts new file mode 100644 index 0000000..31d32b6 --- /dev/null +++ b/src/endpoints/addFakeUsers.ts @@ -0,0 +1,24 @@ +import { Request, Response } from "express"; +import { people } from "../fakeData/people"; +import insertPerson from "../queries/insertPerson"; +import { createId } from "../functions/createId"; + +const addFakeUsers = async (req: Request, res: Response) => { + let errorCode: number = 400; + try { + const table:string = "teacher"; + for (let i = 50; i < 65; i++) { + const id: number = await createId("class"); + const name:string = people[i].name.first + " " + people[i].name.last; + const email:string = people[i].email; + const birthdate:Date = new Date(people[i].dob.date); + const classId:number = Math.floor(Math.random() * 3) + 1; + await insertPerson(table, id, name, email, birthdate, classId); + } + res.status(200).send("Users generated!"); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addFakeUsers; diff --git a/src/endpoints/addHobby.ts b/src/endpoints/addHobby.ts new file mode 100644 index 0000000..9df62dc --- /dev/null +++ b/src/endpoints/addHobby.ts @@ -0,0 +1,35 @@ +import { Request, Response } from "express"; +import insertInfo from "../queries/insertInfo"; +import findData from "../queries/findData"; +import { createId } from './../functions/createId'; + +const addHobby = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + const title:string = req.body.title as string; + const id:number = await createId("hobby"); + if (!title) { + errorCode = 422; + throw new Error("'title' is mandatory in body."); + } + if (typeof title !== "string") { + errorCode = 422; + throw new Error("Insert words in the field."); + } + if (title.length < 3) { + errorCode = 422; + throw new Error("Hobby must be at least 3 characters."); + } + const findHobby = await findData("student","title",title); + if (findHobby.length !== 0) { + errorCode = 409; + throw new Error(`Hobby '${title}' is already registered!`); + } + await insertInfo("hobby", id, title); + res.status(201).send("Hobby registered!"); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addHobby; diff --git a/src/endpoints/addSpeciality.ts b/src/endpoints/addSpeciality.ts new file mode 100644 index 0000000..ecb0363 --- /dev/null +++ b/src/endpoints/addSpeciality.ts @@ -0,0 +1,35 @@ +import { Request, Response } from "express"; +import insertInfo from "../queries/insertInfo"; +import findData from "../queries/findData"; +import { createId } from "../functions/createId"; + +const addSpeciality = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + const title: string = req.body.title; + const id: number = await createId("teacher"); + if (!title) { + errorCode = 422; + throw new Error("'title' is mandatory in body."); + } + if (typeof title !== "string") { + errorCode = 422; + throw new Error("Insert words in the field."); + } + if (title.length < 3) { + errorCode = 422; + throw new Error("Speciality must be at least 3 characters."); + } + const findSpeciality: any = await findData("speciality", "title", title); + if (findSpeciality.length > 0) { + errorCode = 409; + throw new Error(`Speciality '${title}' is already registered!`); + } + await insertInfo("speciality", id, title); + res.status(201).send({ message: "Speciality registered!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addSpeciality; diff --git a/src/endpoints/addUser.ts b/src/endpoints/addUser.ts new file mode 100644 index 0000000..e717465 --- /dev/null +++ b/src/endpoints/addUser.ts @@ -0,0 +1,79 @@ +import { Request, Response } from "express"; +import insertPerson from "../queries/insertPerson"; +import { checkDate } from "../functions/checkDate"; +import { checkEmail } from "../functions/checkEmail"; +import { strDateToDate } from "../functions/strDateToDate"; +import { createId } from "./../functions/createId"; +import findData from "../queries/findData"; +import { findAge } from "./../functions/findAge"; +import { personBodyType } from "../types/personBodyType"; + +const addUser = async (req: Request, res: Response) => { + let errorCode: number = 400; + try { + const {category, name, email, birthdate, classId} = req.body as personType + const id: number = await createId(category); + + for (let key in req.body) { + if (!req.body[key]) { + errorCode = 422; + throw new Error(`'${key}' field is empty or null.`); + } + } + if (!category || !name || !email || !birthdate || !classId) { + errorCode = 422; + throw new Error( + `'category', 'name', 'email', 'birthdate' and 'classId' are mandatory parameters in body!` + ); + } + if (!checkEmail(email)) { + errorCode = 422; + throw new Error(`invalid e-mail type.`); + } + const findStudentEmail:any = await findData("student", "email", email); + const findTeacherEmail:any = await findData("teacher", "email", email); + if ( + (findStudentEmail && findStudentEmail.length > 0) || + (findTeacherEmail && findTeacherEmail.length > 0) + ) { + errorCode = 422; + throw new Error(`E-mail already registered.`); + } + let modDate: Date; + if (!checkDate(birthdate)) { + errorCode = 422; + throw new Error(`invalid date type. Use the format DD/MM/YYYY`); + } else { + modDate = strDateToDate(birthdate); + } + if (findAge(modDate) < 18) { + errorCode = 422; + throw new Error(`Invalid age. You must be over 18 to register.`); + } + if (category.toLowerCase() !== "student" && category !== "teacher") { + errorCode = 422; + throw new Error( + `Invalid category. Choose between 'student' or 'teacher'.` + ); + } + if (isNaN(Number(classId)) || Number(classId) < 1) { + errorCode = 422; + throw new Error("'classId' must be a positive number!"); + } + const findClassId:any = await findData("class", "id", classId); + if (findClassId.length < 1) { + errorCode = 404; + throw new Error("'classId' not found."); + } + await insertPerson(category, id, name, email, modDate, classId); + res + .status(200) + .send( + `${category.charAt(0).toUpperCase() + category.slice(1)} registered!` + ); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addUser; diff --git a/src/endpoints/getStudentAge.ts b/src/endpoints/getStudentAge.ts new file mode 100644 index 0000000..b8f2800 --- /dev/null +++ b/src/endpoints/getStudentAge.ts @@ -0,0 +1,17 @@ +import { Request, Response } from "express"; +import findData from "../queries/findData"; +import { findAge } from "./../functions/findAge"; + +const getStudentAge = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + const id: number = Number(req.params.id); + const profile:any= await findData("student","id",id); + const age:number = findAge(profile.birthdate); + res.status(200).send({ user: { name: profile.name, age: age } }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default getStudentAge; diff --git a/src/fakeData/people.ts b/src/fakeData/people.ts new file mode 100644 index 0000000..7c833ce --- /dev/null +++ b/src/fakeData/people.ts @@ -0,0 +1,7443 @@ +export const people = [ + { + gender: "female", + name: { title: "Madame", first: "Marguerite", last: "Marchand" }, + location: { + street: { number: 4448, name: "Rue Louis-Blanqui" }, + city: "Heiden", + state: "Solothurn", + country: "Switzerland", + postcode: 5322, + coordinates: { latitude: "-51.9319", longitude: "65.6236" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "marguerite.marchand@example.com", + login: { + uuid: "a9777e6a-0642-4992-b002-b1c67d71bb99", + username: "blackpeacock167", + password: "666666", + salt: "AthMMhBc", + md5: "1183e818f450cfaeaea0b63519bd0c46", + sha1: "8fb21a014d7bc5667c51cd1da1bba2871741bb2c", + sha256: + "0ce0d22928c777fbccfb627f83ade35084d823389ce47409b39cb6c1344a0111", + }, + dob: { date: "1985-09-14T23:19:24.469Z", age: 36 }, + registered: { date: "2009-10-15T03:17:31.059Z", age: 12 }, + phone: "075 775 67 02", + cell: "077 329 16 25", + id: { name: "AVS", value: "756.2636.6084.04" }, + picture: { + large: "https://randomuser.me/api/portraits/women/45.jpg", + medium: "https://randomuser.me/api/portraits/med/women/45.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/45.jpg", + }, + nat: "CH", + }, + { + gender: "male", + name: { title: "Mr", first: "Mikael", last: "Storaker" }, + location: { + street: { number: 1342, name: "Elmholt allé" }, + city: "Leirsund", + state: "Description", + country: "Norway", + postcode: "4357", + coordinates: { latitude: "53.6381", longitude: "-170.3057" }, + timezone: { + offset: "+3:00", + description: "Baghdad, Riyadh, Moscow, St. Petersburg", + }, + }, + email: "mikael.storaker@example.com", + login: { + uuid: "4944e2a4-9396-4aa0-9717-c5ac82273340", + username: "organicleopard174", + password: "redrum", + salt: "sb0WHyzm", + md5: "e727bffd3971d48de4a9baa202830ff4", + sha1: "126ad9e77f88c7ca39bd1dfa57b6ed4320759aed", + sha256: + "c8e9e2f6d43986f250e37f88a8fcca466f065aae82c43fc983cc74adb920438e", + }, + dob: { date: "1978-06-17T10:37:00.313Z", age: 43 }, + registered: { date: "2011-12-28T01:33:07.104Z", age: 10 }, + phone: "78747866", + cell: "49177493", + id: { name: "FN", value: "17067817141" }, + picture: { + large: "https://randomuser.me/api/portraits/men/25.jpg", + medium: "https://randomuser.me/api/portraits/med/men/25.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/25.jpg", + }, + nat: "NO", + }, + { + gender: "male", + name: { title: "Mr", first: "Eren", last: "Özbir" }, + location: { + street: { number: 2601, name: "Şehitler Cd" }, + city: "Ankara", + state: "Bingöl", + country: "Turkey", + postcode: 41182, + coordinates: { latitude: "88.4174", longitude: "101.3863" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "eren.ozbir@example.com", + login: { + uuid: "8663b981-984c-4cc7-beb9-4f1cc7f5a7e4", + username: "redgorilla438", + password: "bobbob", + salt: "FmzdOaFV", + md5: "5b086941508732f3ab278103c1804711", + sha1: "4bde00ce34fabccca68e66183c5f17241fc00ac7", + sha256: + "af91e5a305e629f004f4615f25f3aae133bf3546862fd4e738639162df1d2b24", + }, + dob: { date: "1970-05-06T15:27:35.249Z", age: 51 }, + registered: { date: "2007-09-05T16:42:02.551Z", age: 14 }, + phone: "(603)-043-1192", + cell: "(911)-893-6323", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/24.jpg", + medium: "https://randomuser.me/api/portraits/med/men/24.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/24.jpg", + }, + nat: "TR", + }, + { + gender: "male", + name: { title: "Mr", first: "Vincent", last: "Edwards" }, + location: { + street: { number: 2766, name: "Highbrook Drive" }, + city: "Napier", + state: "Tasman", + country: "New Zealand", + postcode: 16102, + coordinates: { latitude: "-26.2278", longitude: "167.1157" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "vincent.edwards@example.com", + login: { + uuid: "d4512583-60a0-48c2-a667-43a1607622f4", + username: "goldenostrich161", + password: "dana", + salt: "an03ZMA1", + md5: "0b70c9218f3764b79f55e5cbb14d7b95", + sha1: "098caaace658e0da8bd6bacb2cf7372c6355aa7f", + sha256: + "605725bc0bd13edd182e99e26694ade508829508f0e6938ba3aa8aac4cab2a9f", + }, + dob: { date: "1955-05-07T16:36:21.863Z", age: 66 }, + registered: { date: "2014-08-01T19:51:00.343Z", age: 7 }, + phone: "(923)-764-2169", + cell: "(461)-913-0110", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/27.jpg", + medium: "https://randomuser.me/api/portraits/med/men/27.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/27.jpg", + }, + nat: "NZ", + }, + { + gender: "female", + name: { title: "Miss", first: "Özsu", last: "Tanrıkulu" }, + location: { + street: { number: 9267, name: "Talak Göktepe Cd" }, + city: "Burdur", + state: "Muğla", + country: "Turkey", + postcode: 45878, + coordinates: { latitude: "77.1547", longitude: "-125.4339" }, + timezone: { + offset: "+3:00", + description: "Baghdad, Riyadh, Moscow, St. Petersburg", + }, + }, + email: "ozsu.tanrikulu@example.com", + login: { + uuid: "2ef5a435-d6f2-4646-bc10-3fed96d45a13", + username: "bluebutterfly345", + password: "wp2003wp", + salt: "0Vudhx7h", + md5: "49a60cf341f6f92cdbae307a61084f69", + sha1: "9a89745452b8226b6d2be36393befc4a93c2468f", + sha256: + "b6f98932ea616ddae39fa52a552e0d432a132ba1f6f269640b490995dbb70813", + }, + dob: { date: "1954-11-27T04:15:05.823Z", age: 67 }, + registered: { date: "2004-01-11T12:52:42.716Z", age: 17 }, + phone: "(447)-967-2451", + cell: "(303)-242-5856", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/29.jpg", + medium: "https://randomuser.me/api/portraits/med/women/29.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/29.jpg", + }, + nat: "TR", + }, + { + gender: "female", + name: { title: "Miss", first: "فاطمه", last: "حسینی" }, + location: { + street: { number: 1006, name: "واعظی" }, + city: "خمینی‌شهر", + state: "کهگیلویه و بویراحمد", + country: "Iran", + postcode: 27031, + coordinates: { latitude: "37.0751", longitude: "-80.5683" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "ftmh.hsyny@example.com", + login: { + uuid: "f46b9742-af7b-42f1-9022-1eccc18e4296", + username: "heavyswan253", + password: "gogogo", + salt: "4Twb3bc0", + md5: "0019d5ad133e67c5ee73b3f77e1bfdb4", + sha1: "aa8262dc3cbf50b792db9e3abf244e9afbf564d1", + sha256: + "c10809422cfb8ac72ea361cb1dbcc4f201bfbf482dfe9a4e2a6d494625b8be5b", + }, + dob: { date: "1987-12-02T02:11:17.874Z", age: 34 }, + registered: { date: "2018-04-12T12:13:07.332Z", age: 3 }, + phone: "041-76496957", + cell: "0997-800-5999", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/82.jpg", + medium: "https://randomuser.me/api/portraits/med/women/82.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/82.jpg", + }, + nat: "IR", + }, + { + gender: "female", + name: { title: "Miss", first: "Liliana", last: "Wölk" }, + location: { + street: { number: 758, name: "Am Bahnhof" }, + city: "Wörrstadt", + state: "Rheinland-Pfalz", + country: "Germany", + postcode: 92755, + coordinates: { latitude: "88.2884", longitude: "95.1060" }, + timezone: { + offset: "-8:00", + description: "Pacific Time (US & Canada)", + }, + }, + email: "liliana.wolk@example.com", + login: { + uuid: "5016f1f2-1431-4477-bf9c-46925054748c", + username: "sadrabbit538", + password: "franco", + salt: "eI5jgI7Z", + md5: "5d3d4f5737ee07cbf46250db0f80ec5b", + sha1: "74368e9bd1353dae3fbf269bb18abec65f057db0", + sha256: + "c703377cfddbc463cc260c54c5dbd28f94981ecbc84b4b361f6680fcdcc5f9d6", + }, + dob: { date: "1996-01-10T21:31:00.335Z", age: 25 }, + registered: { date: "2015-01-26T02:56:23.847Z", age: 6 }, + phone: "0208-0801161", + cell: "0172-4640908", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/85.jpg", + medium: "https://randomuser.me/api/portraits/med/women/85.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/85.jpg", + }, + nat: "DE", + }, + { + gender: "female", + name: { title: "Miss", first: "Izzie", last: "Daniels" }, + location: { + street: { number: 8554, name: "Main Street" }, + city: "Cardiff", + state: "Warwickshire", + country: "United Kingdom", + postcode: "HX5 5GU", + coordinates: { latitude: "17.9038", longitude: "57.3610" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "izzie.daniels@example.com", + login: { + uuid: "ac91121d-5e3e-4b50-a00f-67d2ced71b97", + username: "sadostrich790", + password: "blowjob", + salt: "T6DcdhrV", + md5: "2e613983ce2533ec8d88e7aa43d18a60", + sha1: "0930225e0c18975b37069fb0aa8e57370ccb37b7", + sha256: + "fadf5c1143f398f5bd8af8116e152a0d914f4e9025775f9088831c13121843be", + }, + dob: { date: "1997-10-02T16:41:35.113Z", age: 24 }, + registered: { date: "2013-04-10T01:34:13.581Z", age: 8 }, + phone: "0121 424 5400", + cell: "0704-660-320", + id: { name: "NINO", value: "PM 09 10 31 F" }, + picture: { + large: "https://randomuser.me/api/portraits/women/68.jpg", + medium: "https://randomuser.me/api/portraits/med/women/68.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Mrs", first: "Maria", last: "Thomsen" }, + location: { + street: { number: 2638, name: "Vestermarksvej" }, + city: "København N", + state: "Nordjylland", + country: "Denmark", + postcode: 89851, + coordinates: { latitude: "81.6138", longitude: "66.9900" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "maria.thomsen@example.com", + login: { + uuid: "e8bebc01-9eff-44f9-b221-0fae18e218fd", + username: "angrylion338", + password: "weaver", + salt: "OBF5fnYg", + md5: "d95bd14097164bce6c35aaf80487856b", + sha1: "d6bb4b821173ed646a015770d218b46441cb1693", + sha256: + "1050b17a77dfeb614557579b241780ca6397447002f034f73f2ab2e221d7e31e", + }, + dob: { date: "1957-08-31T06:34:52.861Z", age: 64 }, + registered: { date: "2005-11-02T03:47:03.705Z", age: 16 }, + phone: "80875105", + cell: "87839028", + id: { name: "CPR", value: "310857-1566" }, + picture: { + large: "https://randomuser.me/api/portraits/women/21.jpg", + medium: "https://randomuser.me/api/portraits/med/women/21.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/21.jpg", + }, + nat: "DK", + }, + { + gender: "male", + name: { title: "Mr", first: "Allen", last: "Williams" }, + location: { + street: { number: 8315, name: "Wheeler Ridge Dr" }, + city: "Warragul", + state: "Victoria", + country: "Australia", + postcode: 9280, + coordinates: { latitude: "-24.0190", longitude: "84.5444" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "allen.williams@example.com", + login: { + uuid: "c7fbe40d-0d11-42a2-86a7-1e0d8d632ad6", + username: "browngorilla254", + password: "starfire", + salt: "1Haub288", + md5: "2c1903e87ea93734009bdabcd5c88b05", + sha1: "a4b2f0714de45c22e07286476bb8fb4bd6573a22", + sha256: + "7990dc2678417c7a38e664d5e75093239935da01ebf064d2a5b177fba7a02ff3", + }, + dob: { date: "1957-04-20T07:12:33.913Z", age: 64 }, + registered: { date: "2012-06-10T16:36:54.762Z", age: 9 }, + phone: "03-0162-1148", + cell: "0484-397-059", + id: { name: "TFN", value: "185409799" }, + picture: { + large: "https://randomuser.me/api/portraits/men/56.jpg", + medium: "https://randomuser.me/api/portraits/med/men/56.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/56.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "Roberto", last: "Graham" }, + location: { + street: { number: 5864, name: "New Street" }, + city: "Oxford", + state: "County Down", + country: "United Kingdom", + postcode: "T77 1SU", + coordinates: { latitude: "-58.7603", longitude: "144.0118" }, + timezone: { + offset: "+7:00", + description: "Bangkok, Hanoi, Jakarta", + }, + }, + email: "roberto.graham@example.com", + login: { + uuid: "ebe70024-c2ba-4cfa-b07d-ea235316f24e", + username: "biggorilla633", + password: "thecat", + salt: "FxEtRnSJ", + md5: "2a97afb7367777cab351a0f6a3080445", + sha1: "0bac9ac800bef45309e1ae53742c72b52e3ee1a5", + sha256: + "e69dcf25a824d485712e845440304a2cd7f7a9a4b4377a8072006344b873bff3", + }, + dob: { date: "1954-12-24T11:35:59.007Z", age: 67 }, + registered: { date: "2017-08-02T11:55:09.846Z", age: 4 }, + phone: "024 1382 6153", + cell: "0718-398-162", + id: { name: "NINO", value: "WZ 97 21 21 T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/46.jpg", + medium: "https://randomuser.me/api/portraits/med/men/46.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/46.jpg", + }, + nat: "GB", + }, + { + gender: "male", + name: { title: "Mr", first: "Elias", last: "Marttila" }, + location: { + street: { number: 8081, name: "Rotuaari" }, + city: "Nastola", + state: "Åland", + country: "Finland", + postcode: 95197, + coordinates: { latitude: "-42.7957", longitude: "-126.3812" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "elias.marttila@example.com", + login: { + uuid: "a9833e1a-58e4-4737-8611-68d9d38b6319", + username: "whitefish773", + password: "ricardo", + salt: "myD1eS5x", + md5: "0225d83ae23bda6ed38fd47ebde2439a", + sha1: "97bd68fed4c67e4c7a43260c6aa1adaf03237c6f", + sha256: + "c327ef4e51b4605fa12936ba55bb55db6307e1654a57c8507020735db2457655", + }, + dob: { date: "1989-05-26T07:20:59.151Z", age: 32 }, + registered: { date: "2017-11-04T18:39:21.921Z", age: 4 }, + phone: "03-762-160", + cell: "041-488-08-34", + id: { name: "HETU", value: "NaNNA921undefined" }, + picture: { + large: "https://randomuser.me/api/portraits/men/45.jpg", + medium: "https://randomuser.me/api/portraits/med/men/45.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/45.jpg", + }, + nat: "FI", + }, + { + gender: "male", + name: { title: "Mr", first: "Malik", last: "French" }, + location: { + street: { number: 6764, name: "Disputed Rd" }, + city: "Victoria", + state: "Ontario", + country: "Canada", + postcode: "B6T 1X0", + coordinates: { latitude: "-62.3553", longitude: "-44.5246" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "malik.french@example.com", + login: { + uuid: "49156244-85f9-42e7-821a-c476285bfc88", + username: "tinysnake652", + password: "titans", + salt: "v74D7crm", + md5: "23a925a13b65ba075dae0e27c1b09b4b", + sha1: "c326a7a3978899e97afb65ec168a13a6b66a92e1", + sha256: + "321c978849fb5be974ce06046437748c644d41d1fa43598b9d1c47a4d8ebd9e3", + }, + dob: { date: "1974-08-01T01:30:30.655Z", age: 47 }, + registered: { date: "2017-07-21T21:26:04.819Z", age: 4 }, + phone: "254-778-3848", + cell: "562-758-8580", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/59.jpg", + medium: "https://randomuser.me/api/portraits/med/men/59.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/59.jpg", + }, + nat: "CA", + }, + { + gender: "male", + name: { title: "Mr", first: "Alexander", last: "Jordan" }, + location: { + street: { number: 1158, name: "Wheeler Ridge Dr" }, + city: "Australian Capital Territory", + state: "Western Australia", + country: "Australia", + postcode: 3716, + coordinates: { latitude: "76.2884", longitude: "94.4816" }, + timezone: { + offset: "-5:00", + description: "Eastern Time (US & Canada), Bogota, Lima", + }, + }, + email: "alexander.jordan@example.com", + login: { + uuid: "45e2f3f8-df05-4ffb-b87b-852d3aa217aa", + username: "browndog657", + password: "hardon", + salt: "B6Crjm4s", + md5: "4631f0e4142d6cb073cc6a3eee726a5d", + sha1: "46ca5335c6117434d9c8590718b53319f366bef2", + sha256: + "6f1ce06884e76615d50ec61e30887afd70441ccd0bff1f03e6e577bcf01c519a", + }, + dob: { date: "1953-05-04T00:09:34.379Z", age: 68 }, + registered: { date: "2011-01-28T18:44:50.547Z", age: 10 }, + phone: "02-7312-6339", + cell: "0415-203-414", + id: { name: "TFN", value: "494602518" }, + picture: { + large: "https://randomuser.me/api/portraits/men/39.jpg", + medium: "https://randomuser.me/api/portraits/med/men/39.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/39.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "Sondre", last: "Velde" }, + location: { + street: { number: 7462, name: "Havnabakken" }, + city: "Øverbø", + state: "Nord-Trøndelag", + country: "Norway", + postcode: "3520", + coordinates: { latitude: "-73.2798", longitude: "-65.8747" }, + timezone: { offset: "+3:30", description: "Tehran" }, + }, + email: "sondre.velde@example.com", + login: { + uuid: "31eb28a4-e894-4c73-bffd-44cfaabcf38d", + username: "redladybug275", + password: "pinkfloy", + salt: "lhonDPFA", + md5: "403e38b3d9cc970c7339bbd0679c85ba", + sha1: "d8b11748ee0d1bbf67b83a7795cf46361269daa4", + sha256: + "4c3d76aff220d92caedec3da369bbacb4974f14fac51bdf697d42ed7ddcf91af", + }, + dob: { date: "1974-01-17T22:00:27.231Z", age: 47 }, + registered: { date: "2008-01-24T07:44:51.821Z", age: 13 }, + phone: "66718814", + cell: "94480232", + id: { name: "FN", value: "17017429191" }, + picture: { + large: "https://randomuser.me/api/portraits/men/86.jpg", + medium: "https://randomuser.me/api/portraits/med/men/86.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/86.jpg", + }, + nat: "NO", + }, + { + gender: "male", + name: { title: "Mr", first: "James", last: "Shelton" }, + location: { + street: { number: 3862, name: "Miller Ave" }, + city: "Tallahassee", + state: "Massachusetts", + country: "United States", + postcode: 89140, + coordinates: { latitude: "-24.2693", longitude: "67.7112" }, + timezone: { + offset: "+6:00", + description: "Almaty, Dhaka, Colombo", + }, + }, + email: "james.shelton@example.com", + login: { + uuid: "9a0e053a-71f1-4162-b5aa-f6e4e69ea78e", + username: "tinymouse708", + password: "pokemon", + salt: "cGnP4lsz", + md5: "a2aa5f8139361eaa877004144f964f4a", + sha1: "b4f171c48578fa62bb0db694f4629af6f0ff7be3", + sha256: + "46c175858942973df4531a5bde2aee93ca22a9d190217afadc4af0e3c9447bd6", + }, + dob: { date: "1996-04-15T18:56:34.050Z", age: 25 }, + registered: { date: "2007-12-22T07:56:52.067Z", age: 14 }, + phone: "(286)-161-0368", + cell: "(233)-652-4008", + id: { name: "SSN", value: "604-29-8719" }, + picture: { + large: "https://randomuser.me/api/portraits/men/68.jpg", + medium: "https://randomuser.me/api/portraits/med/men/68.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/68.jpg", + }, + nat: "US", + }, + { + gender: "male", + name: { title: "Mr", first: "Clinton", last: "Hall" }, + location: { + street: { number: 1939, name: "Daisy Dr" }, + city: "Perth", + state: "Victoria", + country: "Australia", + postcode: 7627, + coordinates: { latitude: "-74.9612", longitude: "-99.9463" }, + timezone: { + offset: "-8:00", + description: "Pacific Time (US & Canada)", + }, + }, + email: "clinton.hall@example.com", + login: { + uuid: "d1f09433-3d0d-4b83-88eb-c5e03d28aa06", + username: "whitekoala248", + password: "mclaren", + salt: "cAXoQtoP", + md5: "58f843e2408241589be6c9345f31ee66", + sha1: "3ab36673a200360954a885674c7ab923e644a301", + sha256: + "06c4cc91988e8c4e9e5549408f1cc7875b6283787d4e96ce5c8ad245bf546d43", + }, + dob: { date: "1966-03-03T07:17:18.795Z", age: 55 }, + registered: { date: "2004-12-22T01:34:50.600Z", age: 17 }, + phone: "05-6300-8859", + cell: "0422-614-097", + id: { name: "TFN", value: "767745543" }, + picture: { + large: "https://randomuser.me/api/portraits/men/81.jpg", + medium: "https://randomuser.me/api/portraits/med/men/81.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/81.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "Lucas", last: "Gutierrez" }, + location: { + street: { number: 7276, name: "Avenida de Salamanca" }, + city: "Talavera de la Reina", + state: "Aragón", + country: "Spain", + postcode: 48488, + coordinates: { latitude: "-83.3840", longitude: "170.8698" }, + timezone: { + offset: "-11:00", + description: "Midway Island, Samoa", + }, + }, + email: "lucas.gutierrez@example.com", + login: { + uuid: "2dffd3d8-050d-4ffd-b623-98502a4117de", + username: "purplemouse146", + password: "warren", + salt: "DDQQl2vj", + md5: "3d9b7bc7c667b64cdff88ea50c6dff48", + sha1: "4af2d8cdda970c718c5b1c0bdb8f3c8a93cf9b58", + sha256: + "3345e18314ae63966e8d3da5b23ec60231e844924ebd5dfe05704a9515f1a7d4", + }, + dob: { date: "1956-10-12T12:33:21.860Z", age: 65 }, + registered: { date: "2008-01-27T18:11:47.427Z", age: 13 }, + phone: "937-672-129", + cell: "671-111-438", + id: { name: "DNI", value: "88173527-G" }, + picture: { + large: "https://randomuser.me/api/portraits/men/1.jpg", + medium: "https://randomuser.me/api/portraits/med/men/1.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/1.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Ms", first: "Lilli", last: "Mong" }, + location: { + street: { number: 4753, name: "Ruseløkkveien" }, + city: "Selje", + state: "Aust-Agder", + country: "Norway", + postcode: "8638", + coordinates: { latitude: "-17.2929", longitude: "-55.1271" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "lilli.mong@example.com", + login: { + uuid: "fb09f2c9-70fb-4ffe-92c5-c97a3f8675b3", + username: "redmouse367", + password: "teens", + salt: "ZdwPmCtc", + md5: "57a0c9b6263909df96779c0e42c035b7", + sha1: "4222c3c7fa65743ec253d2e6c97dbce5d97ba216", + sha256: + "13a9791f404387b2c980b15cc0af3bd0a18e43006ceea79735482744d1d7d199", + }, + dob: { date: "1992-04-22T01:45:06.686Z", age: 29 }, + registered: { date: "2016-08-29T21:10:00.775Z", age: 5 }, + phone: "77920025", + cell: "95392449", + id: { name: "FN", value: "22049223815" }, + picture: { + large: "https://randomuser.me/api/portraits/women/94.jpg", + medium: "https://randomuser.me/api/portraits/med/women/94.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/94.jpg", + }, + nat: "NO", + }, + { + gender: "male", + name: { title: "Mr", first: "Murat", last: "Poyrazoğlu" }, + location: { + street: { number: 2371, name: "Istiklal Cd" }, + city: "Çankırı", + state: "Gümüşhane", + country: "Turkey", + postcode: 89496, + coordinates: { latitude: "40.1541", longitude: "27.5140" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "murat.poyrazoglu@example.com", + login: { + uuid: "e1693e71-405c-4583-b12b-3fb2ca2e2a0c", + username: "bluebird105", + password: "credit", + salt: "PEEKAL8E", + md5: "5b42f9191718469c5d80b201b030ab22", + sha1: "b7c166c251ce64c7ab76c509a5dec1e48e1fb86a", + sha256: + "6442eba343f05e735f61597c8d9cf3032ff0f07a0b8811565815041b69b2cfd7", + }, + dob: { date: "1970-09-21T05:21:14.659Z", age: 51 }, + registered: { date: "2007-03-06T09:53:21.685Z", age: 14 }, + phone: "(496)-615-2694", + cell: "(287)-090-2804", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/38.jpg", + medium: "https://randomuser.me/api/portraits/med/men/38.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/38.jpg", + }, + nat: "TR", + }, + { + gender: "female", + name: { title: "Madame", first: "Cäcilia", last: "Meunier" }, + location: { + street: { number: 8773, name: "Place des 44 Enfants D'Izieu" }, + city: "Bodio", + state: "Uri", + country: "Switzerland", + postcode: 3604, + coordinates: { latitude: "84.6268", longitude: "-158.5381" }, + timezone: { offset: "+3:30", description: "Tehran" }, + }, + email: "cacilia.meunier@example.com", + login: { + uuid: "a3a3dfa2-c6eb-43c6-a8d0-46b2088a16f6", + username: "browntiger330", + password: "goku", + salt: "MX1ZuyEg", + md5: "f558446e2eece7ed0a7b149493504f54", + sha1: "3fcd290f3322f409d5aa081fdabfbe254860631f", + sha256: + "6a65ee0fe34f5d2606eeb3e2db4bbd5370b4f1593d200f49024d76bd3360cd85", + }, + dob: { date: "1987-02-28T10:16:12.182Z", age: 34 }, + registered: { date: "2016-04-07T23:43:41.255Z", age: 5 }, + phone: "075 190 92 93", + cell: "077 933 62 56", + id: { name: "AVS", value: "756.8861.9861.94" }, + picture: { + large: "https://randomuser.me/api/portraits/women/10.jpg", + medium: "https://randomuser.me/api/portraits/med/women/10.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/10.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Ms", first: "Carolina", last: "Rodriguez" }, + location: { + street: { number: 8881, name: "Avenida de América" }, + city: "San Sebastián", + state: "Comunidad de Madrid", + country: "Spain", + postcode: 62071, + coordinates: { latitude: "-23.5742", longitude: "-165.5614" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "carolina.rodriguez@example.com", + login: { + uuid: "2ec23f0d-565e-411b-adac-2cfdab7071cd", + username: "whiteswan231", + password: "python", + salt: "2ga3QocD", + md5: "e9e33d67c934456cdfb330dfc4a8fcb3", + sha1: "c824db1ee5f4abb96633664c4acd91a16ab2337f", + sha256: + "0fac20ef6912ae19f6f8a0503fdca698fd2ec52424145223b757840cee584032", + }, + dob: { date: "1978-08-26T22:48:41.603Z", age: 43 }, + registered: { date: "2014-06-06T20:36:35.102Z", age: 7 }, + phone: "991-093-940", + cell: "684-824-157", + id: { name: "DNI", value: "77402303-G" }, + picture: { + large: "https://randomuser.me/api/portraits/women/35.jpg", + medium: "https://randomuser.me/api/portraits/med/women/35.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/35.jpg", + }, + nat: "ES", + }, + { + gender: "male", + name: { title: "Mr", first: "Leslie", last: "Lynch" }, + location: { + street: { number: 8308, name: "Albert Road" }, + city: "Swansea", + state: "Lancashire", + country: "United Kingdom", + postcode: "I5 3FW", + coordinates: { latitude: "-74.2326", longitude: "79.8304" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "leslie.lynch@example.com", + login: { + uuid: "88763d22-725d-44a2-94f2-d5fd2a401735", + username: "brownsnake973", + password: "redbaron", + salt: "WVcaYSPH", + md5: "b083b60a6c608f769af9e844bc0d6050", + sha1: "04a1ad001437afeca68c5f9548058e90b2e778f7", + sha256: + "e3afd82784cea9344d46c0b804f8076ab4ab8e58e386c390d3252e2cf81286db", + }, + dob: { date: "1956-05-23T16:17:47.926Z", age: 65 }, + registered: { date: "2002-05-25T18:14:22.464Z", age: 19 }, + phone: "017687 01066", + cell: "0763-697-235", + id: { name: "NINO", value: "WK 64 00 44 S" }, + picture: { + large: "https://randomuser.me/api/portraits/men/76.jpg", + medium: "https://randomuser.me/api/portraits/med/men/76.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/76.jpg", + }, + nat: "GB", + }, + { + gender: "male", + name: { title: "Mr", first: "Odair", last: "Sales" }, + location: { + street: { number: 1213, name: "Rua São Jorge " }, + city: "Linhares", + state: "Mato Grosso do Sul", + country: "Brazil", + postcode: 16984, + coordinates: { latitude: "-21.4122", longitude: "-168.3228" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "odair.sales@example.com", + login: { + uuid: "0674bcc3-bc06-481f-a151-e235dac81fb5", + username: "greensnake771", + password: "heng", + salt: "6FUSK1bR", + md5: "527ef95bd215351a0bac8a62b6f40611", + sha1: "b18933fd978a98c0ef5d26a6fc3626fa7e9058b7", + sha256: + "e7bd6583b34e024321d95666c42800219ead8f5ae626ce59a721372efc68377c", + }, + dob: { date: "1989-07-02T03:58:02.062Z", age: 32 }, + registered: { date: "2003-07-03T08:09:38.023Z", age: 18 }, + phone: "(63) 7555-6588", + cell: "(40) 8876-2803", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/22.jpg", + medium: "https://randomuser.me/api/portraits/med/men/22.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/22.jpg", + }, + nat: "BR", + }, + { + gender: "male", + name: { title: "Mr", first: "Robert", last: "Franklin" }, + location: { + street: { number: 6703, name: "Paddock Way" }, + city: "Kalgoorlie", + state: "Northern Territory", + country: "Australia", + postcode: 8661, + coordinates: { latitude: "58.9600", longitude: "166.4337" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "robert.franklin@example.com", + login: { + uuid: "fb4232c7-049d-4cb8-bf36-7d1be6ce4bde", + username: "goldenostrich523", + password: "deacon", + salt: "D9wwpOj8", + md5: "306dc96b8a86a05484ecfb40c6e8c7af", + sha1: "091ae11e799c7edbacc7f349c34326e0d96ee899", + sha256: + "a1f0d06f02d0ef21d2eb0632e02f9950893ca261b577b7f63859df378c584982", + }, + dob: { date: "1995-10-19T00:13:28.962Z", age: 26 }, + registered: { date: "2018-02-14T16:48:19.554Z", age: 3 }, + phone: "02-6454-3303", + cell: "0453-837-358", + id: { name: "TFN", value: "311614479" }, + picture: { + large: "https://randomuser.me/api/portraits/men/15.jpg", + medium: "https://randomuser.me/api/portraits/med/men/15.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/15.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Mrs", first: "Eva", last: "Gonzalez" }, + location: { + street: { number: 4180, name: "Avenida de América" }, + city: "Valencia", + state: "Islas Baleares", + country: "Spain", + postcode: 69965, + coordinates: { latitude: "-7.7506", longitude: "-92.7122" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "eva.gonzalez@example.com", + login: { + uuid: "c941a027-dc0d-446f-8117-94ba6eaf5fe7", + username: "brownlion632", + password: "mortimer", + salt: "mWQWKv2Y", + md5: "8412a9d7fdacfd7cabc9dd7ad848397a", + sha1: "eb2c3517141b7729ff2cf3e737d0b63e30bdef73", + sha256: + "0a72cca5bd3153cbf6ab757b345462d39085224a98558db79ee78551bba59cb2", + }, + dob: { date: "1946-09-17T18:33:42.952Z", age: 75 }, + registered: { date: "2006-06-01T15:44:38.477Z", age: 15 }, + phone: "970-352-349", + cell: "618-265-421", + id: { name: "DNI", value: "59696662-C" }, + picture: { + large: "https://randomuser.me/api/portraits/women/24.jpg", + medium: "https://randomuser.me/api/portraits/med/women/24.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/24.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Ms", first: "Angèle", last: "Chevalier" }, + location: { + street: { number: 8965, name: "Rue Barrème" }, + city: "Marseille", + state: "Doubs", + country: "France", + postcode: 79187, + coordinates: { latitude: "79.3476", longitude: "-163.6097" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "angele.chevalier@example.com", + login: { + uuid: "43eed98e-9387-4bbe-9e7d-894c9ed8d01b", + username: "goldenmeercat443", + password: "technics", + salt: "AKa8Qhki", + md5: "be6316a41984c7163d2726435dcb10ef", + sha1: "17539d61d733567b21e90b6daaddf175cad25c20", + sha256: + "65fb85e6934ca510ef8f7d8c4a162c4f00d65814d0862ec7432ddf60175962b1", + }, + dob: { date: "1970-05-02T15:55:23.704Z", age: 51 }, + registered: { date: "2017-09-10T19:44:36.695Z", age: 4 }, + phone: "05-92-97-40-53", + cell: "06-63-96-00-75", + id: { name: "INSEE", value: "2NNaN42404156 36" }, + picture: { + large: "https://randomuser.me/api/portraits/women/23.jpg", + medium: "https://randomuser.me/api/portraits/med/women/23.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/23.jpg", + }, + nat: "FR", + }, + { + gender: "male", + name: { title: "Mr", first: "Sean", last: "Dunn" }, + location: { + street: { number: 3801, name: "Green Lane" }, + city: "Sheffield", + state: "Rutland", + country: "United Kingdom", + postcode: "K3P 6YB", + coordinates: { latitude: "45.9020", longitude: "-121.6104" }, + timezone: { + offset: "+5:30", + description: "Bombay, Calcutta, Madras, New Delhi", + }, + }, + email: "sean.dunn@example.com", + login: { + uuid: "e0010731-f1fb-47e7-823e-463292863c52", + username: "brownbear260", + password: "112233", + salt: "ANPa0aZK", + md5: "c757cbabffb4e59e78c35ff83e595173", + sha1: "196b55f5a3ee2d639548173742e42bfcf7c99f2e", + sha256: + "41176e27e05406ecfb033177cb9e79a81282aecc80cee28365c0eebf424c7542", + }, + dob: { date: "1972-02-26T16:47:14.103Z", age: 49 }, + registered: { date: "2018-01-09T14:11:58.260Z", age: 3 }, + phone: "019467 51120", + cell: "0747-600-589", + id: { name: "NINO", value: "MY 08 82 68 Y" }, + picture: { + large: "https://randomuser.me/api/portraits/men/49.jpg", + medium: "https://randomuser.me/api/portraits/med/men/49.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/49.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Mrs", first: "Yasemin", last: "Ertürk" }, + location: { + street: { number: 9181, name: "Kushimoto Sk" }, + city: "Ordu", + state: "Kırklareli", + country: "Turkey", + postcode: 95052, + coordinates: { latitude: "-39.3581", longitude: "47.6232" }, + timezone: { + offset: "+11:00", + description: "Magadan, Solomon Islands, New Caledonia", + }, + }, + email: "yasemin.erturk@example.com", + login: { + uuid: "64e18316-6276-4f79-9391-d5c2de9b5f71", + username: "purplekoala815", + password: "yeah", + salt: "TIorynZp", + md5: "1d7d7b352b9d112cb67e947fd246e927", + sha1: "66d122c04fefaed2b391140cfc29785c28ac9d97", + sha256: + "02d43c0bc954c5e462e8335e38bbbec010bd018673d841f31f02c1b2fef234cd", + }, + dob: { date: "1997-03-29T08:36:35.975Z", age: 24 }, + registered: { date: "2006-09-30T19:13:24.617Z", age: 15 }, + phone: "(767)-740-7424", + cell: "(827)-557-9072", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/42.jpg", + medium: "https://randomuser.me/api/portraits/med/women/42.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/42.jpg", + }, + nat: "TR", + }, + { + gender: "female", + name: { title: "Ms", first: "Mélody", last: "Duval" }, + location: { + street: { number: 2103, name: "Rue des Ecrivains" }, + city: "Versailles", + state: "Essonne", + country: "France", + postcode: 99011, + coordinates: { latitude: "-55.5095", longitude: "-135.8174" }, + timezone: { offset: "-2:00", description: "Mid-Atlantic" }, + }, + email: "melody.duval@example.com", + login: { + uuid: "337a86ba-7385-4d8a-b2dd-26e77e035465", + username: "lazymouse667", + password: "buttercu", + salt: "UCOyHJ3e", + md5: "e3bb094a5286cb86a331221f7d902fad", + sha1: "dc8e03abddbde6460c83f95e9a61e6a3a03c19be", + sha256: + "337c32eee3092726985e8740433dab17d07043f5c718b2e58042c076c63457d5", + }, + dob: { date: "1955-07-30T20:50:40.332Z", age: 66 }, + registered: { date: "2018-09-23T12:55:20.216Z", age: 3 }, + phone: "04-55-26-51-39", + cell: "06-67-19-18-87", + id: { name: "INSEE", value: "2NNaN03121405 74" }, + picture: { + large: "https://randomuser.me/api/portraits/women/42.jpg", + medium: "https://randomuser.me/api/portraits/med/women/42.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/42.jpg", + }, + nat: "FR", + }, + { + gender: "female", + name: { title: "Ms", first: "Madison", last: "Knight" }, + location: { + street: { number: 2591, name: "Maple Ave" }, + city: "Wellington", + state: "Nova Scotia", + country: "Canada", + postcode: "B3V 2Y2", + coordinates: { latitude: "89.9608", longitude: "-38.5317" }, + timezone: { offset: "-9:00", description: "Alaska" }, + }, + email: "madison.knight@example.com", + login: { + uuid: "7dc68e6e-083a-4e34-abe9-af5a3da2a206", + username: "whitezebra619", + password: "japanees", + salt: "wqa5hJAZ", + md5: "68d1890ece4c2ac53329f4c48619ba8f", + sha1: "988c4b9cc4a77ce66daa46938433704e412229ee", + sha256: + "4af5640caf777790a1cc1057df8f2ad66c5f0ceb8981fcc84cf47f964c4d7975", + }, + dob: { date: "1960-08-16T15:44:30.525Z", age: 61 }, + registered: { date: "2004-10-19T21:06:21.505Z", age: 17 }, + phone: "917-682-0725", + cell: "022-239-0358", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/11.jpg", + medium: "https://randomuser.me/api/portraits/med/women/11.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/11.jpg", + }, + nat: "CA", + }, + { + gender: "male", + name: { title: "Mr", first: "Nathaniel", last: "King" }, + location: { + street: { number: 6252, name: "Bay View Road" }, + city: "Upper Hutt", + state: "Gisborne", + country: "New Zealand", + postcode: 42097, + coordinates: { latitude: "19.5718", longitude: "143.7403" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "nathaniel.king@example.com", + login: { + uuid: "455a8370-1ea1-464f-8b2e-0635232acf06", + username: "orangesnake174", + password: "erotica", + salt: "OtgTj64W", + md5: "58d413ed805416cb370a468d1052a74c", + sha1: "caafb59007fac202c05af3eaceb8daf8d5fb66b3", + sha256: + "fdaef0ee78b3fc20071288bb258ab3760d694e6cad676f8c79ef07b8caa26790", + }, + dob: { date: "1959-09-12T13:50:31.561Z", age: 62 }, + registered: { date: "2009-04-15T01:18:46.659Z", age: 12 }, + phone: "(451)-855-0328", + cell: "(760)-113-3689", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/57.jpg", + medium: "https://randomuser.me/api/portraits/med/men/57.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/57.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "Lee", last: "Lucas" }, + location: { + street: { number: 3213, name: "E Center St" }, + city: "Launceston", + state: "Tasmania", + country: "Australia", + postcode: 959, + coordinates: { latitude: "54.9286", longitude: "-94.3012" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "lee.lucas@example.com", + login: { + uuid: "b53a9e62-62c9-4a51-8dd9-f33b270eccab", + username: "bigswan698", + password: "alucard", + salt: "ERY2s497", + md5: "a8bbedc1d59e414e6575e29cdbe8d8e3", + sha1: "df30aab10098f97cb96728f468d29638a57300b0", + sha256: + "db32610398fb242e91c75b22ebb15dc4a7672eda57d6de67ce529faafd2dedbe", + }, + dob: { date: "1984-05-17T19:50:50.789Z", age: 37 }, + registered: { date: "2004-03-29T22:05:20.300Z", age: 17 }, + phone: "08-6606-2949", + cell: "0462-480-142", + id: { name: "TFN", value: "570573205" }, + picture: { + large: "https://randomuser.me/api/portraits/men/96.jpg", + medium: "https://randomuser.me/api/portraits/med/men/96.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/96.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Miss", first: "Marcia", last: "Pierce" }, + location: { + street: { number: 3905, name: "Mcgowen St" }, + city: "Red Oak", + state: "New York", + country: "United States", + postcode: 75920, + coordinates: { latitude: "51.1180", longitude: "-23.7886" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "marcia.pierce@example.com", + login: { + uuid: "8876c50a-60b2-4d16-b7ab-3d52f9a03505", + username: "ticklishbear155", + password: "brando", + salt: "PwRCRGXP", + md5: "790789d29d23ce10ac130fbb53ffccb0", + sha1: "28b05691f2b9add0c8fa538adc34d8b86d779d74", + sha256: + "958dae7aeeeac39899532603250db24452588310209e689c69f245477af5ff77", + }, + dob: { date: "1971-01-21T09:54:01.394Z", age: 50 }, + registered: { date: "2018-09-14T03:44:46.514Z", age: 3 }, + phone: "(698)-544-8220", + cell: "(906)-474-8173", + id: { name: "SSN", value: "837-04-0552" }, + picture: { + large: "https://randomuser.me/api/portraits/women/31.jpg", + medium: "https://randomuser.me/api/portraits/med/women/31.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/31.jpg", + }, + nat: "US", + }, + { + gender: "male", + name: { title: "Monsieur", first: "Quentin", last: "Thomas" }, + location: { + street: { number: 9339, name: "Rue Courbet" }, + city: "Churwalden", + state: "Fribourg", + country: "Switzerland", + postcode: 8193, + coordinates: { latitude: "40.5612", longitude: "54.9097" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "quentin.thomas@example.com", + login: { + uuid: "c424fc23-2276-4ece-ab49-4c4cf88ee7ba", + username: "yellowzebra621", + password: "mariners", + salt: "i5vxMICC", + md5: "40b010d65f40e08cbce667e5cdd7b5bd", + sha1: "7a661dbe60ae61820549951276e3ed5f0900afb5", + sha256: + "79968b4a45650519bd134039a98510046a7aadf1a4c76731a683dd53cb82b56a", + }, + dob: { date: "1993-12-23T23:07:26.102Z", age: 28 }, + registered: { date: "2013-09-18T04:52:39.890Z", age: 8 }, + phone: "078 969 90 26", + cell: "079 887 58 53", + id: { name: "AVS", value: "756.0849.5277.89" }, + picture: { + large: "https://randomuser.me/api/portraits/men/34.jpg", + medium: "https://randomuser.me/api/portraits/med/men/34.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/34.jpg", + }, + nat: "CH", + }, + { + gender: "male", + name: { title: "Mr", first: "Vincent", last: "Mills" }, + location: { + street: { number: 2627, name: "Rectory Lane" }, + city: "Glasgow", + state: "West Glamorgan", + country: "United Kingdom", + postcode: "O47 6EG", + coordinates: { latitude: "-79.4714", longitude: "123.3070" }, + timezone: { + offset: "+11:00", + description: "Magadan, Solomon Islands, New Caledonia", + }, + }, + email: "vincent.mills@example.com", + login: { + uuid: "d05a3740-eaa4-4edf-acf3-0048b95f377f", + username: "bluefrog916", + password: "aaaaa", + salt: "7D1WNwFH", + md5: "5319a7f9eb4bbf40504fa0c0809b90fb", + sha1: "93a4cdb9f861590b66a23188077ac30291624024", + sha256: + "bf90208cda5ddc41c87aba9d77a17a8888457fcb1bc52c001e3c5addc9d8d7bb", + }, + dob: { date: "1986-05-02T05:11:10.412Z", age: 35 }, + registered: { date: "2003-12-25T01:06:36.358Z", age: 18 }, + phone: "015242 88924", + cell: "0736-638-938", + id: { name: "NINO", value: "NP 71 89 49 E" }, + picture: { + large: "https://randomuser.me/api/portraits/men/51.jpg", + medium: "https://randomuser.me/api/portraits/med/men/51.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/51.jpg", + }, + nat: "GB", + }, + { + gender: "male", + name: { title: "Mr", first: "Dilan", last: "Porto" }, + location: { + street: { number: 195, name: "Rua da Paz " }, + city: "Conselheiro Lafaiete", + state: "Ceará", + country: "Brazil", + postcode: 63138, + coordinates: { latitude: "4.1553", longitude: "146.3608" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "dilan.porto@example.com", + login: { + uuid: "e5bad373-5ea7-4796-9f74-3007467faa19", + username: "whitemouse510", + password: "1988", + salt: "6To4wbkl", + md5: "973fd84cbca570a42cf964f2f0396088", + sha1: "78c9ec15bcc6d5d394da85c2c83ef3be61654999", + sha256: + "844cba335b2412b2146433c6635ba076fa3eff8da971afbb33c6569fc8d66371", + }, + dob: { date: "1981-03-04T17:41:55.450Z", age: 40 }, + registered: { date: "2015-04-06T08:46:19.055Z", age: 6 }, + phone: "(53) 8286-3838", + cell: "(80) 0969-1294", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/89.jpg", + medium: "https://randomuser.me/api/portraits/med/men/89.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/89.jpg", + }, + nat: "BR", + }, + { + gender: "male", + name: { title: "Mr", first: "Derrick", last: "Hughes" }, + location: { + street: { number: 8905, name: "Victoria Street" }, + city: "Edinburgh", + state: "West Midlands", + country: "United Kingdom", + postcode: "GZ5 5TB", + coordinates: { latitude: "-44.6214", longitude: "42.1687" }, + timezone: { + offset: "+5:00", + description: "Ekaterinburg, Islamabad, Karachi, Tashkent", + }, + }, + email: "derrick.hughes@example.com", + login: { + uuid: "e74cc0f0-4d07-4282-a99e-41de9cdd5671", + username: "organicpanda385", + password: "wicked", + salt: "1s6dUEQD", + md5: "17bc7619a1c8ccfb2b06d972fd3cb658", + sha1: "5dbeafffffa9294bcd1c891cbc1483b2d813808d", + sha256: + "6a917b32dcde6362a67bb3b4cb705ed189500efaece038f77fb1c24bbf810bab", + }, + dob: { date: "1952-06-29T14:18:29.028Z", age: 69 }, + registered: { date: "2010-03-12T12:52:35.012Z", age: 11 }, + phone: "016973 50188", + cell: "0731-739-288", + id: { name: "NINO", value: "ZC 43 75 54 X" }, + picture: { + large: "https://randomuser.me/api/portraits/men/97.jpg", + medium: "https://randomuser.me/api/portraits/med/men/97.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/97.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Miss", first: "Claire", last: "Leclercq" }, + location: { + street: { number: 4053, name: "Rue Denfert-Rochereau" }, + city: "Lille", + state: "Drôme", + country: "France", + postcode: 28029, + coordinates: { latitude: "-18.5291", longitude: "-97.4843" }, + timezone: { + offset: "+6:00", + description: "Almaty, Dhaka, Colombo", + }, + }, + email: "claire.leclercq@example.com", + login: { + uuid: "e4cc1f41-1f1f-43f5-ae55-938bcda2fda3", + username: "beautifulostrich309", + password: "brenda", + salt: "bmBw46xh", + md5: "940f996bb4402b8294d080ec01b70837", + sha1: "ddb718fe37a1a3b7004a2277da799cce193a6a90", + sha256: + "16ad42d04e5dcdc762547cf50a076850b74bb58983d585d5e52e24d69f88b614", + }, + dob: { date: "1984-05-30T23:44:57.919Z", age: 37 }, + registered: { date: "2014-11-26T22:42:54.652Z", age: 7 }, + phone: "02-18-47-90-21", + cell: "06-18-13-38-67", + id: { name: "INSEE", value: "2NNaN40486885 91" }, + picture: { + large: "https://randomuser.me/api/portraits/women/61.jpg", + medium: "https://randomuser.me/api/portraits/med/women/61.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/61.jpg", + }, + nat: "FR", + }, + { + gender: "female", + name: { title: "Ms", first: "Lærke", last: "Sørensen" }, + location: { + street: { number: 4221, name: "Kløvermarksvej" }, + city: "Hirtsals", + state: "Midtjylland", + country: "Denmark", + postcode: 72297, + coordinates: { latitude: "77.9024", longitude: "-23.4275" }, + timezone: { + offset: "+5:00", + description: "Ekaterinburg, Islamabad, Karachi, Tashkent", + }, + }, + email: "laerke.sorensen@example.com", + login: { + uuid: "5f3cbee0-b79d-410e-b307-bfd2ab5e10f4", + username: "blackdog989", + password: "lionel", + salt: "VAexKpUj", + md5: "1552b0c1505986d804c4f476b803fc15", + sha1: "599c10df1029933077d4a9a12a56dec0217d49bf", + sha256: + "b04096764b54520665118fe909cb94d31424f3fbc3113c15695752214568a950", + }, + dob: { date: "1960-08-27T21:49:17.788Z", age: 61 }, + registered: { date: "2013-01-03T20:13:15.634Z", age: 8 }, + phone: "64533541", + cell: "65414452", + id: { name: "CPR", value: "270860-6820" }, + picture: { + large: "https://randomuser.me/api/portraits/women/84.jpg", + medium: "https://randomuser.me/api/portraits/med/women/84.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/84.jpg", + }, + nat: "DK", + }, + { + gender: "female", + name: { title: "Mrs", first: "Maria", last: "Ortega" }, + location: { + street: { number: 7097, name: "Calle de Argumosa" }, + city: "Mérida", + state: "Castilla la Mancha", + country: "Spain", + postcode: 52798, + coordinates: { latitude: "77.0849", longitude: "-14.5160" }, + timezone: { + offset: "+3:00", + description: "Baghdad, Riyadh, Moscow, St. Petersburg", + }, + }, + email: "maria.ortega@example.com", + login: { + uuid: "1d7d4638-cbc7-4146-8548-1982d0d9dcc0", + username: "brownbear141", + password: "shock", + salt: "kYTYqSWi", + md5: "4dac4533756c380bfc1de86b69c3c64e", + sha1: "26ff397ff5729468202ad94b8e1179c8fdeaf3b5", + sha256: + "fd749502000a986318db194b13d112ef01e0862c56ad4e259e640bc0a2070187", + }, + dob: { date: "1995-01-09T18:52:48.116Z", age: 26 }, + registered: { date: "2012-06-10T00:27:05.125Z", age: 9 }, + phone: "949-295-264", + cell: "667-218-746", + id: { name: "DNI", value: "73174069-B" }, + picture: { + large: "https://randomuser.me/api/portraits/women/80.jpg", + medium: "https://randomuser.me/api/portraits/med/women/80.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/80.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Ms", first: "Ioná", last: "Gonçalves" }, + location: { + street: { number: 7029, name: "Rua Treze " }, + city: "Olinda", + state: "Mato Grosso do Sul", + country: "Brazil", + postcode: 64297, + coordinates: { latitude: "-87.9614", longitude: "114.4615" }, + timezone: { + offset: "+5:30", + description: "Bombay, Calcutta, Madras, New Delhi", + }, + }, + email: "iona.goncalves@example.com", + login: { + uuid: "ba8b3cf3-0cff-4265-b608-c710ba2c7298", + username: "happyfrog949", + password: "11235813", + salt: "LrRDR40T", + md5: "eaea57f14263cc78430d98c11749fbfa", + sha1: "b97453c375d6254c432bca361ed5a92fa62a73ae", + sha256: + "03a73483a01088fb1812e534f5358e1c0779b0c832f814db1d9f10facb9c06eb", + }, + dob: { date: "1996-12-03T07:22:31.558Z", age: 25 }, + registered: { date: "2009-09-29T02:44:39.256Z", age: 12 }, + phone: "(82) 0128-4852", + cell: "(51) 1675-6707", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/41.jpg", + medium: "https://randomuser.me/api/portraits/med/women/41.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/41.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Ms", first: "Fatima", last: "Prieto" }, + location: { + street: { number: 9172, name: "Calle de La Democracia" }, + city: "Orense", + state: "País Vasco", + country: "Spain", + postcode: 10146, + coordinates: { latitude: "17.1978", longitude: "-60.3693" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "fatima.prieto@example.com", + login: { + uuid: "c867beac-3391-4cb5-9d01-fdd68bc150f6", + username: "ticklishladybug774", + password: "fffff", + salt: "aitdbRT6", + md5: "5e51358451d091be2a4c09298207a930", + sha1: "69f709f9d367325bc5937dd92dd106576aa87c16", + sha256: + "533ced39094c1735e0368ff9816ace215d25ccde4a3a0994c3f7d597ea8b56b9", + }, + dob: { date: "1979-09-22T06:16:03.066Z", age: 42 }, + registered: { date: "2015-12-01T08:36:20.168Z", age: 6 }, + phone: "943-867-152", + cell: "663-352-176", + id: { name: "DNI", value: "61177541-Q" }, + picture: { + large: "https://randomuser.me/api/portraits/women/22.jpg", + medium: "https://randomuser.me/api/portraits/med/women/22.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Miss", first: "Ella", last: "Korhonen" }, + location: { + street: { number: 9306, name: "Rautatienkatu" }, + city: "Äänekoski", + state: "Kainuu", + country: "Finland", + postcode: 32468, + coordinates: { latitude: "23.9131", longitude: "-11.5055" }, + timezone: { + offset: "+11:00", + description: "Magadan, Solomon Islands, New Caledonia", + }, + }, + email: "ella.korhonen@example.com", + login: { + uuid: "b477c26e-9dc2-4ac4-b6b5-0339c650d3ea", + username: "smallfrog772", + password: "sweden", + salt: "FIJUrI51", + md5: "c1852de33b6ac2ff205424e6bdcca9c5", + sha1: "f2c34a899f304b455e26c7f33a340017e44aeb07", + sha256: + "f91c5705cc2470bf1cb637a89787577f38f0e612286ab28135493c64e9b97b55", + }, + dob: { date: "1968-03-19T06:03:39.837Z", age: 53 }, + registered: { date: "2016-11-10T12:05:34.290Z", age: 5 }, + phone: "05-649-183", + cell: "049-597-19-74", + id: { name: "HETU", value: "NaNNA484undefined" }, + picture: { + large: "https://randomuser.me/api/portraits/women/47.jpg", + medium: "https://randomuser.me/api/portraits/med/women/47.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/47.jpg", + }, + nat: "FI", + }, + { + gender: "female", + name: { title: "Mademoiselle", first: "Ava", last: "Morel" }, + location: { + street: { number: 9139, name: "Rue Baraban" }, + city: "Bière", + state: "Uri", + country: "Switzerland", + postcode: 2437, + coordinates: { latitude: "32.1118", longitude: "34.4031" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "ava.morel@example.com", + login: { + uuid: "5021b9f5-f281-4597-bfe1-6da5aec35958", + username: "crazybear540", + password: "skate", + salt: "tKPICyEC", + md5: "5b3259822574bda59e86349213632d13", + sha1: "1065fab1dad1a99e54b4818fe843a80cee7ea787", + sha256: + "29d470161b6226b925b1840d6612d775ef1d9b3ccc164d4dea56549ab886a93a", + }, + dob: { date: "1959-04-16T11:30:42.757Z", age: 62 }, + registered: { date: "2015-09-14T11:35:01.329Z", age: 6 }, + phone: "077 801 88 90", + cell: "076 761 63 46", + id: { name: "AVS", value: "756.5188.2630.83" }, + picture: { + large: "https://randomuser.me/api/portraits/women/88.jpg", + medium: "https://randomuser.me/api/portraits/med/women/88.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/88.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Ms", first: "Wilma", last: "Allen" }, + location: { + street: { number: 5915, name: "Royal Ln" }, + city: "The Colony", + state: "Kentucky", + country: "United States", + postcode: 77544, + coordinates: { latitude: "-32.7891", longitude: "-93.1964" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "wilma.allen@example.com", + login: { + uuid: "d6338479-9cc7-4c7b-bd04-cb192a670b1f", + username: "whitefrog104", + password: "ricky1", + salt: "Z6itTnzL", + md5: "154708b9cfd013eee53f3701081c2da0", + sha1: "cb040c56b35d8e0a3dce9c2ff2912ee4661eb8d6", + sha256: + "3640bd0f244362778328a5435a3d6b5fbe122e08a216f0971bb17915aebd017a", + }, + dob: { date: "1982-06-01T23:34:04.036Z", age: 39 }, + registered: { date: "2018-02-19T22:42:24.366Z", age: 3 }, + phone: "(595)-122-9759", + cell: "(210)-551-6169", + id: { name: "SSN", value: "926-76-9848" }, + picture: { + large: "https://randomuser.me/api/portraits/women/89.jpg", + medium: "https://randomuser.me/api/portraits/med/women/89.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/89.jpg", + }, + nat: "US", + }, + { + gender: "female", + name: { title: "Ms", first: "Ava", last: "Lane" }, + location: { + street: { number: 3977, name: "New Street" }, + city: "Gorey", + state: "Clare", + country: "Ireland", + postcode: 91126, + coordinates: { latitude: "0.7593", longitude: "0.4210" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "ava.lane@example.com", + login: { + uuid: "2d6a7006-7b10-4be4-9b76-1e8bb9d0b65c", + username: "beautifulrabbit259", + password: "printer", + salt: "XmzMDD5B", + md5: "a60c82c4dc3b2f3beb57bc29f1ea34cb", + sha1: "a82b0108d6b77d1f7a1bd01e01b3584bdbdac021", + sha256: + "4d65c55f73a80d944838cf04f99be5939f9df65d234d0a0f711bea78358ed8db", + }, + dob: { date: "1987-08-12T01:50:37.796Z", age: 34 }, + registered: { date: "2015-01-07T00:20:47.044Z", age: 6 }, + phone: "041-310-4896", + cell: "081-107-1824", + id: { name: "PPS", value: "4409774T" }, + picture: { + large: "https://randomuser.me/api/portraits/women/84.jpg", + medium: "https://randomuser.me/api/portraits/med/women/84.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/84.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Miss", first: "Ellie", last: "Andrews" }, + location: { + street: { number: 9035, name: "Park Lane" }, + city: "Peterborough", + state: "Highlands and Islands", + country: "United Kingdom", + postcode: "A2 0GS", + coordinates: { latitude: "44.2985", longitude: "118.4594" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "ellie.andrews@example.com", + login: { + uuid: "13a6b898-b9ce-470d-9bb3-d0503d49a975", + username: "organicostrich859", + password: "phillies", + salt: "C1wZzd0x", + md5: "5de4534469cae9916f327a84d8f0cbe3", + sha1: "f1aa6739d1febb2ff8e167bd869430ff4ac07978", + sha256: + "4873970ba9410c023b92723b02897413f8e6eaf52c99049972878b43a3dcec95", + }, + dob: { date: "1969-03-20T05:41:55.119Z", age: 52 }, + registered: { date: "2013-06-24T20:02:14.704Z", age: 8 }, + phone: "016974 68757", + cell: "0724-723-667", + id: { name: "NINO", value: "ER 67 85 18 M" }, + picture: { + large: "https://randomuser.me/api/portraits/women/14.jpg", + medium: "https://randomuser.me/api/portraits/med/women/14.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/14.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Ms", first: "Summer", last: "Johnson" }, + location: { + street: { number: 5004, name: "South Eastern Highway" }, + city: "Lower Hutt", + state: "Otago", + country: "New Zealand", + postcode: 66930, + coordinates: { latitude: "-17.2244", longitude: "-7.7577" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "summer.johnson@example.com", + login: { + uuid: "f554a2f4-4a7f-4e23-9786-550685e5b58d", + username: "silversnake480", + password: "jellybea", + salt: "LqQXFkhZ", + md5: "c59ed007979996dce84df9ca8c26b351", + sha1: "65781f7f73eda58f730bae243e8e0faa363dfeeb", + sha256: + "66a4ca987cc1771f6cfa2a87a2ba3f6e8285fdbaf41ea1499c7555267c205506", + }, + dob: { date: "1971-03-31T01:08:51.709Z", age: 50 }, + registered: { date: "2002-04-22T09:41:20.500Z", age: 19 }, + phone: "(520)-326-7928", + cell: "(506)-431-8024", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/16.jpg", + medium: "https://randomuser.me/api/portraits/med/women/16.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/16.jpg", + }, + nat: "NZ", + }, + { + gender: "female", + name: { title: "Ms", first: "Donna", last: "Torres" }, + location: { + street: { number: 3402, name: "Alexander Road" }, + city: "Derby", + state: "Dyfed", + country: "United Kingdom", + postcode: "OA55 7PE", + coordinates: { latitude: "-21.9183", longitude: "-141.7382" }, + timezone: { + offset: "+11:00", + description: "Magadan, Solomon Islands, New Caledonia", + }, + }, + email: "donna.torres@example.com", + login: { + uuid: "2a277cfd-6855-4626-8eba-3cac95dd9399", + username: "bigbutterfly446", + password: "carpente", + salt: "IMJHQvmY", + md5: "4b2033e471270ac1c378c87bdea413e3", + sha1: "5b3a928df7beb790aad0d077a36091110c5b21e1", + sha256: + "48653d0625e82e37cf4974c8336716bcd5c060f82e37fe977eb938f1f9e97c61", + }, + dob: { date: "1995-10-13T11:44:56.568Z", age: 26 }, + registered: { date: "2012-05-16T10:03:10.815Z", age: 9 }, + phone: "01288 154930", + cell: "0719-329-460", + id: { name: "NINO", value: "AE 21 61 31 V" }, + picture: { + large: "https://randomuser.me/api/portraits/women/44.jpg", + medium: "https://randomuser.me/api/portraits/med/women/44.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/44.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Miss", first: "Amelia", last: "Singh" }, + location: { + street: { number: 7664, name: "West Coast Road" }, + city: "Masterton", + state: "Auckland", + country: "New Zealand", + postcode: 45085, + coordinates: { latitude: "-83.1402", longitude: "-93.7136" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "amelia.singh@example.com", + login: { + uuid: "4b158447-f2d4-4a87-b29f-af99a417912e", + username: "whitesnake675", + password: "bertha", + salt: "yYJ12hai", + md5: "2d47a1ee6faebc069dc20589664995e0", + sha1: "35d20a1570c5b276c2d2e3fab0e0c30363928e64", + sha256: + "740cacf055a5cef5bee01192d78ef23731ea7403e76769e043c0a9c2e8a3115f", + }, + dob: { date: "1978-08-20T08:56:43.507Z", age: 43 }, + registered: { date: "2015-04-14T13:42:14.077Z", age: 6 }, + phone: "(599)-284-6919", + cell: "(687)-383-6796", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/64.jpg", + medium: "https://randomuser.me/api/portraits/med/women/64.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "Kjetil", last: "Halvorsen" }, + location: { + street: { number: 1978, name: "Veksthusfløtten" }, + city: "Sylling", + state: "Trøndelag", + country: "Norway", + postcode: "9240", + coordinates: { latitude: "70.1795", longitude: "142.7625" }, + timezone: { + offset: "-5:00", + description: "Eastern Time (US & Canada), Bogota, Lima", + }, + }, + email: "kjetil.halvorsen@example.com", + login: { + uuid: "674c690f-b222-4e49-a7e3-df3ec718695f", + username: "goldenrabbit435", + password: "sixty9", + salt: "p8fZWbRy", + md5: "d93c5523b31868e13624ec5290db5121", + sha1: "015d7f058fa91fa2710a68a2818afc809731f1d1", + sha256: + "4b593353b1ac30cc4a5498d001a3a8b326fd76197a3752e82786cce04fe7e199", + }, + dob: { date: "1982-03-08T06:55:19.412Z", age: 39 }, + registered: { date: "2012-04-08T07:52:23.815Z", age: 9 }, + phone: "39292281", + cell: "49891231", + id: { name: "FN", value: "08038240596" }, + picture: { + large: "https://randomuser.me/api/portraits/men/53.jpg", + medium: "https://randomuser.me/api/portraits/med/men/53.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/53.jpg", + }, + nat: "NO", + }, + { + gender: "female", + name: { title: "Ms", first: "Alberte", last: "Petersen" }, + location: { + street: { number: 5685, name: "Fuglevænget" }, + city: "Hammel", + state: "Midtjylland", + country: "Denmark", + postcode: 53356, + coordinates: { latitude: "34.8852", longitude: "-149.2166" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "alberte.petersen@example.com", + login: { + uuid: "1c963707-2995-4c81-93b6-3bc26aa0f0d9", + username: "tinybutterfly330", + password: "fmale", + salt: "P1ouqwaw", + md5: "936150dcc736a5f152905771c8ea35c2", + sha1: "14be34afbf7bb91fcd02a4e46679ba5da01e23ee", + sha256: + "41786afa4fb4c3884ec8118d23ed9e9b760ea14d84f9008bddda9e207b0f68b1", + }, + dob: { date: "1950-08-28T01:34:08.018Z", age: 71 }, + registered: { date: "2009-05-07T13:21:50.483Z", age: 12 }, + phone: "12369283", + cell: "84164627", + id: { name: "CPR", value: "280850-6006" }, + picture: { + large: "https://randomuser.me/api/portraits/women/50.jpg", + medium: "https://randomuser.me/api/portraits/med/women/50.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/50.jpg", + }, + nat: "DK", + }, + { + gender: "female", + name: { title: "Madame", first: "Camilla", last: "Louis" }, + location: { + street: { number: 3047, name: "Montée Saint-Barthélémy" }, + city: "Thalheim (Ag)", + state: "Appenzell Innerrhoden", + country: "Switzerland", + postcode: 2450, + coordinates: { latitude: "-88.2175", longitude: "-87.9339" }, + timezone: { offset: "-2:00", description: "Mid-Atlantic" }, + }, + email: "camilla.louis@example.com", + login: { + uuid: "028e70eb-9a89-40ca-aed7-06342cfaa657", + username: "angryostrich659", + password: "anything", + salt: "B7fbwRDq", + md5: "66a5a67e0e5547c6088dd517c906638f", + sha1: "03ed158279d2849382309fe2c47247fac9963346", + sha256: + "5ffee2b2223424ae9d0f9b47247381ba2568b64bb958f529641001f2ed17a299", + }, + dob: { date: "1975-10-13T09:13:44.314Z", age: 46 }, + registered: { date: "2006-06-14T03:19:56.994Z", age: 15 }, + phone: "075 417 98 36", + cell: "078 086 34 98", + id: { name: "AVS", value: "756.5863.9910.71" }, + picture: { + large: "https://randomuser.me/api/portraits/women/12.jpg", + medium: "https://randomuser.me/api/portraits/med/women/12.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/12.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Mrs", first: "Carla", last: "Pascual" }, + location: { + street: { number: 8601, name: "Calle de Segovia" }, + city: "Barcelona", + state: "Ceuta", + country: "Spain", + postcode: 76146, + coordinates: { latitude: "19.3349", longitude: "-132.8507" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "carla.pascual@example.com", + login: { + uuid: "be117876-d6dd-4072-acdb-75d392fb20d3", + username: "tinypeacock596", + password: "girls1", + salt: "UZK1dCjU", + md5: "45e1b7941ed103ae66ea3fd6a6340a54", + sha1: "bf8ee1d8f2dec3487740a2a04ff22853929ef344", + sha256: + "fb91422c01b587b1005748f789012dc764c14830e29b86918647adcc744ec712", + }, + dob: { date: "1945-06-02T06:51:07.021Z", age: 76 }, + registered: { date: "2015-01-23T07:40:44.634Z", age: 6 }, + phone: "907-181-863", + cell: "626-142-536", + id: { name: "DNI", value: "62973301-I" }, + picture: { + large: "https://randomuser.me/api/portraits/women/72.jpg", + medium: "https://randomuser.me/api/portraits/med/women/72.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/72.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Mrs", first: "Leonora", last: "Moreira" }, + location: { + street: { number: 603, name: "Rua Santa Catarina " }, + city: "Resende", + state: "Ceará", + country: "Brazil", + postcode: 42006, + coordinates: { latitude: "-22.6879", longitude: "-89.8621" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "leonora.moreira@example.com", + login: { + uuid: "1c14a611-25dc-40e2-bfbe-17b9808bbb0f", + username: "bluedog161", + password: "miller", + salt: "RP9kTDon", + md5: "2d777fc576ee43a51ad286a4b9ce28bb", + sha1: "5f53fd6bfe0177e9f83821ec517fa31f21b194ef", + sha256: + "942fc13300543104a30eee17a60c1c7c50857ccbb3da7a498f2d9094311e30eb", + }, + dob: { date: "1994-01-29T00:47:54.562Z", age: 27 }, + registered: { date: "2018-07-25T13:28:54.772Z", age: 3 }, + phone: "(43) 8775-9340", + cell: "(46) 6501-2766", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/31.jpg", + medium: "https://randomuser.me/api/portraits/med/women/31.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/31.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Ms", first: "Cariana", last: "da Mata" }, + location: { + street: { number: 5165, name: "Rua Tiradentes " }, + city: "Santa Cruz do Sul", + state: "Bahia", + country: "Brazil", + postcode: 85445, + coordinates: { latitude: "-84.0137", longitude: "-12.0405" }, + timezone: { + offset: "-5:00", + description: "Eastern Time (US & Canada), Bogota, Lima", + }, + }, + email: "cariana.damata@example.com", + login: { + uuid: "193130cf-96ce-4511-a7bb-018de569f3f0", + username: "purplebutterfly416", + password: "meridian", + salt: "TW5rF16w", + md5: "41d427f8b8deaeff3ea06e4b61a66f88", + sha1: "ecbe009786d4f2551d4e1f1b26db644bd7f60434", + sha256: + "ef0401e37fc57ba570b440cb43f866e2e887133a58f706eb5dcf1942e5d0aab2", + }, + dob: { date: "1965-11-02T17:46:38.404Z", age: 56 }, + registered: { date: "2009-09-01T10:31:15.053Z", age: 12 }, + phone: "(46) 3988-4999", + cell: "(29) 8204-0832", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/88.jpg", + medium: "https://randomuser.me/api/portraits/med/women/88.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/88.jpg", + }, + nat: "BR", + }, + { + gender: "male", + name: { title: "Mr", first: "نيما", last: "کوتی" }, + location: { + street: { number: 9336, name: "کوی نصر" }, + city: "پاکدشت", + state: "کرمانشاه", + country: "Iran", + postcode: 26219, + coordinates: { latitude: "51.6454", longitude: "148.7848" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "nym.khwty@example.com", + login: { + uuid: "3ce83f83-212a-40a7-8387-e40659ae1f7e", + username: "happyswan407", + password: "ooooo", + salt: "K0X3wvpX", + md5: "bffe98e06ad9d644ed4e4cbe6ee1ad87", + sha1: "7860013a6863891a3973d531e9ff8669cfe501d3", + sha256: + "de5789fd8ae9adea63b40262c5823dcfef4348d9609b1e034c9b960c4836bc91", + }, + dob: { date: "1945-07-20T03:25:50.455Z", age: 76 }, + registered: { date: "2017-01-08T19:36:51.817Z", age: 4 }, + phone: "094-35102702", + cell: "0995-110-6883", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/57.jpg", + medium: "https://randomuser.me/api/portraits/med/men/57.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/57.jpg", + }, + nat: "IR", + }, + { + gender: "female", + name: { title: "Ms", first: "Klara", last: "Hense" }, + location: { + street: { number: 2623, name: "Friedhofstraße" }, + city: "Rottal-Inn", + state: "Mecklenburg-Vorpommern", + country: "Germany", + postcode: 40572, + coordinates: { latitude: "-74.4020", longitude: "110.3156" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "klara.hense@example.com", + login: { + uuid: "e4adeecf-69fe-43a7-bb83-463d4fa7cf46", + username: "angrykoala479", + password: "poseidon", + salt: "2nqdN0ku", + md5: "9149340052f7988c5dc3d695b6b4e914", + sha1: "d87a39b332a148ca9967fbc6681a803aa91ed10f", + sha256: + "2230ef21c12ecda7c092cd77d905e8195092a6379a528294ca5bfc6e550bbcda", + }, + dob: { date: "1982-05-09T23:25:37.008Z", age: 39 }, + registered: { date: "2018-03-24T16:41:29.569Z", age: 3 }, + phone: "0954-3189964", + cell: "0178-4217071", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/7.jpg", + medium: "https://randomuser.me/api/portraits/med/women/7.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/7.jpg", + }, + nat: "DE", + }, + { + gender: "male", + name: { title: "Mr", first: "Chris", last: "Taylor" }, + location: { + street: { number: 100, name: "Cork Street" }, + city: "Portmarnock", + state: "Kildare", + country: "Ireland", + postcode: 90784, + coordinates: { latitude: "45.6555", longitude: "41.8435" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "chris.taylor@example.com", + login: { + uuid: "bc61c636-d4c8-48ce-8b37-dd4c63bf4fc7", + username: "yellowmouse556", + password: "desire", + salt: "4Z4Zz2dT", + md5: "7151d4aef257bd977ea4e2f426c16407", + sha1: "efb540f16bd01d98ab02c0ff9a6bca2c9299bbc5", + sha256: + "c15a115a7266f5a205d96d40e03ec98404615f1ac1200afb54087134f7e62a22", + }, + dob: { date: "1961-01-27T18:25:02.906Z", age: 60 }, + registered: { date: "2002-12-08T10:14:07.920Z", age: 19 }, + phone: "041-525-2967", + cell: "081-981-3271", + id: { name: "PPS", value: "9174076T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/71.jpg", + medium: "https://randomuser.me/api/portraits/med/men/71.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/71.jpg", + }, + nat: "IE", + }, + { + gender: "male", + name: { title: "Monsieur", first: "François", last: "Berger" }, + location: { + street: { number: 8679, name: "Avenue de L'Abbé-Roussel" }, + city: "Blumenstein", + state: "Aargau", + country: "Switzerland", + postcode: 5828, + coordinates: { latitude: "27.3405", longitude: "-39.3134" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "francois.berger@example.com", + login: { + uuid: "89d1379a-3f7c-4984-a825-ebc2f3ddb052", + username: "smallwolf699", + password: "fred", + salt: "rEPV1zhn", + md5: "9803052b831fe6041868046a91ffd74f", + sha1: "41b4b4e574711e48ae0b62685a87607399666023", + sha256: + "de32788cd3da4a00adfbf58836d7dac36e6bba9e97d3ad151c9c41c15c998886", + }, + dob: { date: "1996-05-15T13:37:50.235Z", age: 25 }, + registered: { date: "2007-01-03T14:49:49.226Z", age: 14 }, + phone: "078 417 54 19", + cell: "078 908 75 10", + id: { name: "AVS", value: "756.7307.0216.67" }, + picture: { + large: "https://randomuser.me/api/portraits/men/5.jpg", + medium: "https://randomuser.me/api/portraits/med/men/5.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/5.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Ms", first: "Megan", last: "Ross" }, + location: { + street: { number: 769, name: "Timber Wolf Trail" }, + city: "Port Macquarie", + state: "Victoria", + country: "Australia", + postcode: 4663, + coordinates: { latitude: "-39.9034", longitude: "-122.9998" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "megan.ross@example.com", + login: { + uuid: "609b91bb-7f14-4af8-8540-e196d7ff9421", + username: "lazygoose641", + password: "suzanne", + salt: "GFFgWvz3", + md5: "bae4bda5f411e4de23f5824e0e6d6852", + sha1: "f407dd32b1b1369e03d21183c4783e77e647f081", + sha256: + "370a94f1c63ce8cfd33491fbfabd0858240765e2191e74cd12c3f53685b4d12e", + }, + dob: { date: "1945-01-13T06:41:28.580Z", age: 76 }, + registered: { date: "2003-12-13T17:16:57.788Z", age: 18 }, + phone: "03-0483-5977", + cell: "0418-728-473", + id: { name: "TFN", value: "188920171" }, + picture: { + large: "https://randomuser.me/api/portraits/women/72.jpg", + medium: "https://randomuser.me/api/portraits/med/women/72.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/72.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Miss", first: "Fennigje", last: "Morel" }, + location: { + street: { number: 150, name: "Garstenveld" }, + city: "Valkkoog", + state: "Groningen", + country: "Netherlands", + postcode: 49271, + coordinates: { latitude: "76.8048", longitude: "-133.0093" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "fennigje.morel@example.com", + login: { + uuid: "c9e40b38-0433-44f0-98d0-5d3f4d1c67a0", + username: "heavyfish649", + password: "chao", + salt: "HkUrxQiP", + md5: "d0e3beef2267296b12f69eab6acf5b60", + sha1: "b78de4a968f3df3739afb987579757b07014dfe7", + sha256: + "e31590e65be692887b85feb663b6d80f75c5f65658410ea37959e6ed0fce1805", + }, + dob: { date: "1980-10-26T22:25:35.388Z", age: 41 }, + registered: { date: "2017-05-09T22:40:29.468Z", age: 4 }, + phone: "(700)-273-9225", + cell: "(469)-361-4338", + id: { name: "BSN", value: "48646500" }, + picture: { + large: "https://randomuser.me/api/portraits/women/30.jpg", + medium: "https://randomuser.me/api/portraits/med/women/30.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/30.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Miss", first: "Héloïse", last: "Rodriguez" }, + location: { + street: { number: 4758, name: "Rue Cyrus-Hugues" }, + city: "Mulhouse", + state: "Meurthe-et-Moselle", + country: "France", + postcode: 84306, + coordinates: { latitude: "66.6878", longitude: "-98.2722" }, + timezone: { + offset: "-5:00", + description: "Eastern Time (US & Canada), Bogota, Lima", + }, + }, + email: "heloise.rodriguez@example.com", + login: { + uuid: "5a41b2ee-c58d-4146-9682-c88044dc9022", + username: "blackpanda542", + password: "wolves", + salt: "W4KP7ZtP", + md5: "98d92711e3d8c9ebc196c49186bf2df1", + sha1: "b613fd013b8eb32edf810a7319c39a926d29ee7e", + sha256: + "35afd9c75b4a5cc7fd3d980675934fefc1439fe9f9eac185fd40186068a85f7c", + }, + dob: { date: "1977-01-21T23:02:42.213Z", age: 44 }, + registered: { date: "2004-02-20T06:28:41.467Z", age: 17 }, + phone: "02-71-74-51-46", + cell: "06-86-61-46-38", + id: { name: "INSEE", value: "2NNaN90609584 63" }, + picture: { + large: "https://randomuser.me/api/portraits/women/77.jpg", + medium: "https://randomuser.me/api/portraits/med/women/77.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", + }, + nat: "FR", + }, + { + gender: "female", + name: { title: "Ms", first: "Ayşe", last: "Taşçı" }, + location: { + street: { number: 961, name: "Vatan Cd" }, + city: "Aksaray", + state: "Ordu", + country: "Turkey", + postcode: 97553, + coordinates: { latitude: "-30.5515", longitude: "-52.3978" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "ayse.tasci@example.com", + login: { + uuid: "adf01988-528b-487b-8d4e-ff11dab1feaa", + username: "ticklishostrich335", + password: "marcel", + salt: "DS9oWcwL", + md5: "770dcfd814ac9df6899fb76303f62599", + sha1: "bfa43ddac823ddee6859ad51ea629b66c8872bc6", + sha256: + "dc2299555743ab664a59b1d794f5187d269a4036f444e01339292e458314287b", + }, + dob: { date: "1962-05-06T02:55:49.062Z", age: 59 }, + registered: { date: "2004-05-19T05:11:34.908Z", age: 17 }, + phone: "(965)-005-1976", + cell: "(277)-278-3035", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/26.jpg", + medium: "https://randomuser.me/api/portraits/med/women/26.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/26.jpg", + }, + nat: "TR", + }, + { + gender: "male", + name: { title: "Mr", first: "Enrique", last: "Banks" }, + location: { + street: { number: 4440, name: "North Road" }, + city: "Tralee", + state: "Dún Laoghaire–Rathdown", + country: "Ireland", + postcode: 78442, + coordinates: { latitude: "-86.8348", longitude: "64.4213" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "enrique.banks@example.com", + login: { + uuid: "3f6eb47d-1274-49c1-9b43-091fcab2367b", + username: "crazymeercat867", + password: "angus1", + salt: "q8TGLNKl", + md5: "76c1cd3c6b3f683a25c6fab63f8d65d6", + sha1: "c2f6a0d8b044fbf25b497c11b0bfd81496920472", + sha256: + "66fd21d7ebff3f478da177199dd25a1a286c91485e054c54a491bbb80b5e96df", + }, + dob: { date: "1970-11-20T13:27:02.930Z", age: 51 }, + registered: { date: "2011-04-26T13:50:22.623Z", age: 10 }, + phone: "061-369-8670", + cell: "081-303-4068", + id: { name: "PPS", value: "6013927T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/48.jpg", + medium: "https://randomuser.me/api/portraits/med/men/48.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/48.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Mrs", first: "Nina", last: "Brown" }, + location: { + street: { number: 7581, name: "Forbury Road" }, + city: "Auckland", + state: "Waikato", + country: "New Zealand", + postcode: 32986, + coordinates: { latitude: "22.9817", longitude: "83.6828" }, + timezone: { + offset: "+6:00", + description: "Almaty, Dhaka, Colombo", + }, + }, + email: "nina.brown@example.com", + login: { + uuid: "a5b7b8ca-2d00-47f5-afe8-66e340e1b6c7", + username: "silvermouse736", + password: "redrose", + salt: "gf8hML78", + md5: "a16e05131969c14b3bb9478ee762dcf5", + sha1: "463d933966044d4774cb5fca0a4777c51273a2e9", + sha256: + "638121a63dc3996560793e56467ab816e93dcec645fdd3922d0e967184781bb2", + }, + dob: { date: "1991-01-05T23:59:07.237Z", age: 30 }, + registered: { date: "2008-04-28T03:29:00.907Z", age: 13 }, + phone: "(813)-401-3165", + cell: "(678)-607-7805", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/22.jpg", + medium: "https://randomuser.me/api/portraits/med/women/22.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", + }, + nat: "NZ", + }, + { + gender: "female", + name: { title: "Ms", first: "Pamela", last: "Mills" }, + location: { + street: { number: 8028, name: "Depaul Dr" }, + city: "Bendigo", + state: "Australian Capital Territory", + country: "Australia", + postcode: 383, + coordinates: { latitude: "63.9278", longitude: "-120.2641" }, + timezone: { + offset: "+7:00", + description: "Bangkok, Hanoi, Jakarta", + }, + }, + email: "pamela.mills@example.com", + login: { + uuid: "b6d5c071-8933-46cf-8e72-392e5698779f", + username: "lazygoose725", + password: "artist", + salt: "fTYRNxbC", + md5: "016c03812a431e1dd0d81fa8d3d5e794", + sha1: "95f2ba33cf0ebf994803cf9d1a0cfeecc0f979d1", + sha256: + "f3fcf9a9fed07a01e6e657c08dd683b30f45b70f30a2f9c861940283995db6ce", + }, + dob: { date: "1983-07-08T17:53:45.535Z", age: 38 }, + registered: { date: "2005-04-10T00:53:40.140Z", age: 16 }, + phone: "05-0695-3514", + cell: "0476-929-695", + id: { name: "TFN", value: "117891571" }, + picture: { + large: "https://randomuser.me/api/portraits/women/46.jpg", + medium: "https://randomuser.me/api/portraits/med/women/46.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/46.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Mrs", first: "Sanja", last: "Cheung" }, + location: { + street: { number: 9691, name: "Duivenwal" }, + city: "De Falom", + state: "Drenthe", + country: "Netherlands", + postcode: 66074, + coordinates: { latitude: "87.3108", longitude: "28.4163" }, + timezone: { + offset: "-11:00", + description: "Midway Island, Samoa", + }, + }, + email: "sanja.cheung@example.com", + login: { + uuid: "ea5caebe-f04a-4ece-88d9-41d7e83bcde8", + username: "silverbutterfly267", + password: "bonjovi", + salt: "JlWUbbLm", + md5: "2a4cae6cb698dd13d5fd8f4e11967e52", + sha1: "41dd920c8f325c510dc35f45b10d09152f86a009", + sha256: + "8a91aa30744242b5911c9152afea89c3a8a9ceffd2e69ee0f606681e6ad250ac", + }, + dob: { date: "1958-03-23T17:24:59.101Z", age: 63 }, + registered: { date: "2009-05-30T06:15:54.608Z", age: 12 }, + phone: "(367)-900-8459", + cell: "(510)-499-5514", + id: { name: "BSN", value: "46958112" }, + picture: { + large: "https://randomuser.me/api/portraits/women/48.jpg", + medium: "https://randomuser.me/api/portraits/med/women/48.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/48.jpg", + }, + nat: "NL", + }, + { + gender: "male", + name: { title: "Mr", first: "Samuel", last: "Davidson" }, + location: { + street: { number: 5201, name: "New Street" }, + city: "Skerries", + state: "Monaghan", + country: "Ireland", + postcode: 47220, + coordinates: { latitude: "-84.8769", longitude: "165.3742" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "samuel.davidson@example.com", + login: { + uuid: "9f4b5e6f-7dca-4588-835e-c184c6b588a1", + username: "smallladybug883", + password: "pikachu", + salt: "SARCsOhe", + md5: "a0adb200c209f3b1cb7c85fba53a5482", + sha1: "ed6968a29973a3e6e91fbc43fb2ab37f29d4ab1d", + sha256: + "ab193bedd3e2d382565f521c8cd15279a771e1b6d59e62eeafe99fc5651226d6", + }, + dob: { date: "1980-02-24T17:11:43.081Z", age: 41 }, + registered: { date: "2003-07-03T03:39:37.820Z", age: 18 }, + phone: "021-496-6842", + cell: "081-645-4448", + id: { name: "PPS", value: "3038874T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/1.jpg", + medium: "https://randomuser.me/api/portraits/med/men/1.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/1.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Mrs", first: "Louanne", last: "Roux" }, + location: { + street: { number: 3979, name: "Rue de L'Abbé-Migne" }, + city: "Poitiers", + state: "Essonne", + country: "France", + postcode: 25354, + coordinates: { latitude: "-79.4126", longitude: "83.9765" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "louanne.roux@example.com", + login: { + uuid: "da93f46c-c89d-4a8b-9281-332501e6b36d", + username: "organicleopard451", + password: "major", + salt: "gY6pQtsL", + md5: "61dc8d31eebf6614c881ebbbbe16b0dd", + sha1: "51913cd4352128a84daea8a65c7ff4349d308c57", + sha256: + "e7988f62cde4878865edb514165c5f5b20356db1d938be2ff8cf3a3f6b49faa5", + }, + dob: { date: "1972-10-13T19:32:28.552Z", age: 49 }, + registered: { date: "2011-01-24T18:56:39.040Z", age: 10 }, + phone: "01-89-02-07-96", + cell: "06-75-94-97-50", + id: { name: "INSEE", value: "2NNaN90667914 56" }, + picture: { + large: "https://randomuser.me/api/portraits/women/25.jpg", + medium: "https://randomuser.me/api/portraits/med/women/25.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/25.jpg", + }, + nat: "FR", + }, + { + gender: "male", + name: { title: "Mr", first: "Aquil", last: "Silveira" }, + location: { + street: { number: 2690, name: "Rua Santo Antônio " }, + city: "Natal", + state: "Ceará", + country: "Brazil", + postcode: 11789, + coordinates: { latitude: "71.7738", longitude: "178.4851" }, + timezone: { + offset: "+3:00", + description: "Baghdad, Riyadh, Moscow, St. Petersburg", + }, + }, + email: "aquil.silveira@example.com", + login: { + uuid: "371423e5-9104-4ad7-bb8d-a164cad67434", + username: "purpletiger677", + password: "stardust", + salt: "1zl5wlRs", + md5: "38b5a75981a05bec05a7f2c78788cab4", + sha1: "b1007f4e23fbf86c09c1bdccb55b24234009f591", + sha256: + "a678561c12eb838922ee535b1469666bbf41ecd76acbdc89f3b0a3dbf6770094", + }, + dob: { date: "1944-09-17T05:27:44.934Z", age: 77 }, + registered: { date: "2009-08-05T16:17:25.102Z", age: 12 }, + phone: "(08) 1692-0278", + cell: "(39) 7152-7651", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/37.jpg", + medium: "https://randomuser.me/api/portraits/med/men/37.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/37.jpg", + }, + nat: "BR", + }, + { + gender: "male", + name: { title: "Mr", first: "Salman", last: "Landmark" }, + location: { + street: { number: 3258, name: "Vulkan" }, + city: "Espeland", + state: "Rogaland", + country: "Norway", + postcode: "7444", + coordinates: { latitude: "61.6740", longitude: "54.2366" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "salman.landmark@example.com", + login: { + uuid: "b69fb742-919f-4407-a692-bb092578a915", + username: "purpleleopard471", + password: "flyfish", + salt: "3orH8utM", + md5: "99c282d0a1a7425c81cd20a10cdd0bb7", + sha1: "fee2775e084e7af4a80cf3582da7da555b6f9b9d", + sha256: + "fc87edee95b3335d2333c7730b17d76e80caaaa2503a3cf5e35fbdd4a675ce6a", + }, + dob: { date: "1965-12-16T03:10:52.386Z", age: 56 }, + registered: { date: "2010-07-25T22:11:34.011Z", age: 11 }, + phone: "60169885", + cell: "49331163", + id: { name: "FN", value: "16126542392" }, + picture: { + large: "https://randomuser.me/api/portraits/men/91.jpg", + medium: "https://randomuser.me/api/portraits/med/men/91.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/91.jpg", + }, + nat: "NO", + }, + { + gender: "male", + name: { title: "Mr", first: "Cecil", last: "Graham" }, + location: { + street: { number: 3826, name: "Crockett St" }, + city: "Independence", + state: "New Jersey", + country: "United States", + postcode: 60163, + coordinates: { latitude: "7.4448", longitude: "-64.7422" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "cecil.graham@example.com", + login: { + uuid: "5ba5ee5e-1d5d-4f9f-8ca6-96ca24120fca", + username: "whitebear240", + password: "trebor", + salt: "881XVcPT", + md5: "707ab997b6cd7a545ad235e6f950f848", + sha1: "6736d53f7368c4af2ff7b14ae37289e005571a6e", + sha256: + "84687152d188afcb7f5ba3412d796961dc8945efdfdf32dddd378510b55d5dfb", + }, + dob: { date: "1964-08-25T05:56:08.741Z", age: 57 }, + registered: { date: "2003-08-01T15:15:49.710Z", age: 18 }, + phone: "(468)-856-0669", + cell: "(924)-768-8398", + id: { name: "SSN", value: "892-33-1448" }, + picture: { + large: "https://randomuser.me/api/portraits/men/3.jpg", + medium: "https://randomuser.me/api/portraits/med/men/3.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/3.jpg", + }, + nat: "US", + }, + { + gender: "female", + name: { title: "Miss", first: "Begoña", last: "Gimenez" }, + location: { + street: { number: 1328, name: "Paseo de Zorrilla" }, + city: "Ferrol", + state: "Melilla", + country: "Spain", + postcode: 51855, + coordinates: { latitude: "-55.7867", longitude: "-81.5290" }, + timezone: { + offset: "+5:30", + description: "Bombay, Calcutta, Madras, New Delhi", + }, + }, + email: "begona.gimenez@example.com", + login: { + uuid: "c2b2dd37-2ba4-4589-82df-7f2144c50342", + username: "bigelephant523", + password: "stephan", + salt: "9evYmLQq", + md5: "85ee4928e00d0ff5756c8a28c6f4f23b", + sha1: "a827a4b44a7428ef87b490ff39395b15c8e6a367", + sha256: + "9917d5bf7cbfbda8922606772e2d586ed33900f349d2c2cd2ccc0802c92d5d4e", + }, + dob: { date: "1972-08-18T11:52:15.174Z", age: 49 }, + registered: { date: "2002-08-06T19:50:29.956Z", age: 19 }, + phone: "954-745-386", + cell: "648-074-047", + id: { name: "DNI", value: "44654251-L" }, + picture: { + large: "https://randomuser.me/api/portraits/women/28.jpg", + medium: "https://randomuser.me/api/portraits/med/women/28.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/28.jpg", + }, + nat: "ES", + }, + { + gender: "male", + name: { title: "Mr", first: "Claude", last: "Grant" }, + location: { + street: { number: 7203, name: "North Street" }, + city: "Limerick", + state: "Leitrim", + country: "Ireland", + postcode: 64010, + coordinates: { latitude: "16.2760", longitude: "156.0397" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "claude.grant@example.com", + login: { + uuid: "b3e50230-ea7a-4be9-9c4d-a5d5dd10faf2", + username: "biggorilla713", + password: "yoda", + salt: "VEXRBpK1", + md5: "c2a22ff0ff0d2effbfce0bdd03f8c5b2", + sha1: "773e678a79efec795dc5194f08ae1a72a0616dd6", + sha256: + "993ed6d2fd7ef399be82c5517c2b20e0fb2a82ea5044bd1e18c3c38b2c6a9ced", + }, + dob: { date: "1994-12-30T18:09:32.633Z", age: 27 }, + registered: { date: "2014-12-15T04:17:31.090Z", age: 7 }, + phone: "041-343-8269", + cell: "081-191-9994", + id: { name: "PPS", value: "4295635T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/72.jpg", + medium: "https://randomuser.me/api/portraits/med/men/72.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/72.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Miss", first: "Lumi", last: "Waisanen" }, + location: { + street: { number: 8729, name: "Nordenskiöldinkatu" }, + city: "Teuva", + state: "South Karelia", + country: "Finland", + postcode: 63579, + coordinates: { latitude: "-37.3936", longitude: "179.2341" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "lumi.waisanen@example.com", + login: { + uuid: "78337aee-4f8d-44e0-b7a7-f9b527f1ed5e", + username: "whiteelephant321", + password: "adrian", + salt: "08BqIW8k", + md5: "20b50b42ad110e767215a4051fd717fe", + sha1: "a889222ca8ad22febd3f9eca8bda0d63ab540d69", + sha256: + "47c3efe09c5406c40781df61041bbb5f6ce414b4664fb02d1ae1fe4641588065", + }, + dob: { date: "1997-06-06T20:44:37.703Z", age: 24 }, + registered: { date: "2018-10-31T11:36:56.680Z", age: 3 }, + phone: "03-445-638", + cell: "045-999-98-10", + id: { name: "HETU", value: "NaNNA068undefined" }, + picture: { + large: "https://randomuser.me/api/portraits/women/52.jpg", + medium: "https://randomuser.me/api/portraits/med/women/52.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/52.jpg", + }, + nat: "FI", + }, + { + gender: "male", + name: { title: "Mr", first: "Kaya", last: "Denkel" }, + location: { + street: { number: 1434, name: "Atatürk Sk" }, + city: "Afyonkarahisar", + state: "Tokat", + country: "Turkey", + postcode: 84844, + coordinates: { latitude: "-39.6237", longitude: "-12.9110" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "kaya.denkel@example.com", + login: { + uuid: "08ebcf13-e6bc-431c-af43-1c891a27ac4b", + username: "sadleopard171", + password: "sergio", + salt: "vjkrrdAT", + md5: "f644269116706488fb948d2a91b09ed8", + sha1: "54a3ac09654040a078848bbac8359c26c5460cfe", + sha256: + "ebc3f6a672743ec52bc92f5ac4d56c5107df29bbf45b7c8d547d0bc16ca33277", + }, + dob: { date: "1992-08-02T12:11:50.566Z", age: 29 }, + registered: { date: "2009-06-24T07:14:54.195Z", age: 12 }, + phone: "(953)-228-9162", + cell: "(657)-094-2460", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/48.jpg", + medium: "https://randomuser.me/api/portraits/med/men/48.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/48.jpg", + }, + nat: "TR", + }, + { + gender: "male", + name: { title: "Mr", first: "Alex", last: "Davies" }, + location: { + street: { number: 3640, name: "Theodosia Street" }, + city: "Palmerston North", + state: "Tasman", + country: "New Zealand", + postcode: 42878, + coordinates: { latitude: "-13.6950", longitude: "122.6909" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "alex.davies@example.com", + login: { + uuid: "6fe06cd3-a48c-487f-ad57-bb912dc69164", + username: "blackelephant598", + password: "acidburn", + salt: "i22Fie32", + md5: "8f28656f3ab861dc2723570f2cab3f39", + sha1: "ef0e276e0b0e33f5ce9e6d8858a795ea426c7318", + sha256: + "bc3675a6ce3097de5c1e1cc229dc3874bc2980d1c69cebbd043bc3fa4a546f34", + }, + dob: { date: "1959-02-11T23:13:54.055Z", age: 62 }, + registered: { date: "2011-03-20T15:48:25.656Z", age: 10 }, + phone: "(932)-218-2145", + cell: "(957)-528-0517", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/85.jpg", + medium: "https://randomuser.me/api/portraits/med/men/85.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/85.jpg", + }, + nat: "NZ", + }, + { + gender: "female", + name: { title: "Mrs", first: "Celia", last: "Montero" }, + location: { + street: { number: 647, name: "Avenida de Salamanca" }, + city: "San Sebastián de Los Reyes", + state: "País Vasco", + country: "Spain", + postcode: 59043, + coordinates: { latitude: "-77.1967", longitude: "-89.2896" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "celia.montero@example.com", + login: { + uuid: "91398bcb-4bac-44a3-a5c8-2c1423733418", + username: "redcat136", + password: "wallet", + salt: "PCKqdtla", + md5: "408f67b4a0529b7dc282ec7acce09980", + sha1: "ad1988b4119296a9e5640b9ba6bbb9ef08590445", + sha256: + "13568d2a0c03d325f36e0db8e049d530b5d7cf30a2a629b8ef519a6787cc6c7b", + }, + dob: { date: "1969-07-28T06:48:55.505Z", age: 52 }, + registered: { date: "2014-11-13T01:14:35.591Z", age: 7 }, + phone: "964-161-362", + cell: "646-644-648", + id: { name: "DNI", value: "71696350-Z" }, + picture: { + large: "https://randomuser.me/api/portraits/women/24.jpg", + medium: "https://randomuser.me/api/portraits/med/women/24.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/24.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Miss", first: "Ietje", last: "Van de Bunt" }, + location: { + street: { number: 9896, name: "2e Poellaan" }, + city: "Landsmeer", + state: "Noord-Holland", + country: "Netherlands", + postcode: 45638, + coordinates: { latitude: "-72.6367", longitude: "-175.4134" }, + timezone: { + offset: "+11:00", + description: "Magadan, Solomon Islands, New Caledonia", + }, + }, + email: "ietje.vandebunt@example.com", + login: { + uuid: "786852b6-f3de-4903-a84f-88b156ad9994", + username: "whitebear717", + password: "titten", + salt: "ecvQ0uTJ", + md5: "ade744932e55a55354e3b51d7d106555", + sha1: "51454b73a585c219d42368e0b32e94070e70fc1a", + sha256: + "1da180ce95f67b2a23431bf50e0de02d5310e0be87066c9b6af798d0facb9203", + }, + dob: { date: "1959-10-20T02:29:10.895Z", age: 62 }, + registered: { date: "2018-02-22T16:00:36.884Z", age: 3 }, + phone: "(197)-437-9392", + cell: "(942)-129-8731", + id: { name: "BSN", value: "61293658" }, + picture: { + large: "https://randomuser.me/api/portraits/women/83.jpg", + medium: "https://randomuser.me/api/portraits/med/women/83.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/83.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Ms", first: "Paige", last: "Walker" }, + location: { + street: { number: 6521, name: "Oxford Terrace" }, + city: "New Plymouth", + state: "Taranaki", + country: "New Zealand", + postcode: 98668, + coordinates: { latitude: "-68.2399", longitude: "-104.1203" }, + timezone: { + offset: "+5:30", + description: "Bombay, Calcutta, Madras, New Delhi", + }, + }, + email: "paige.walker@example.com", + login: { + uuid: "9ef8c864-eac4-4609-b5f2-75b996e8b382", + username: "silverbear115", + password: "chandler", + salt: "iCUN6R7U", + md5: "3cb6cf2715b579aefcea7d2f0f51d45f", + sha1: "6d117093578703b49842a572c237dac0c803648c", + sha256: + "11dcb9ea0cfaa164bd22fc9c199f81d5242a647df2d60246ff3f2a425285ba12", + }, + dob: { date: "1952-03-29T02:42:08.645Z", age: 69 }, + registered: { date: "2004-10-21T20:53:41.854Z", age: 17 }, + phone: "(482)-779-2399", + cell: "(602)-320-8841", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/32.jpg", + medium: "https://randomuser.me/api/portraits/med/women/32.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/32.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "Willard", last: "West" }, + location: { + street: { number: 8434, name: "Cackson St" }, + city: "Fontana", + state: "Alabama", + country: "United States", + postcode: 55049, + coordinates: { latitude: "50.1433", longitude: "-34.0846" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "willard.west@example.com", + login: { + uuid: "a6430375-ee61-421a-bbba-43d7bf0322e1", + username: "purplegoose586", + password: "magic", + salt: "cG9fenzU", + md5: "ebd2706719ba7b87573df404c5f3bfb2", + sha1: "46d2f421904558d83883cb798e3d9dbfe9093d72", + sha256: + "bdc12815adf15366ee3b159ee923749df718d6a57dad2e7bd2593478a5cead10", + }, + dob: { date: "1980-08-21T20:22:58.052Z", age: 41 }, + registered: { date: "2017-05-04T18:05:07.807Z", age: 4 }, + phone: "(558)-392-4961", + cell: "(457)-916-1043", + id: { name: "SSN", value: "391-40-8721" }, + picture: { + large: "https://randomuser.me/api/portraits/men/58.jpg", + medium: "https://randomuser.me/api/portraits/med/men/58.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/58.jpg", + }, + nat: "US", + }, + { + gender: "male", + name: { title: "Mr", first: "Honorato", last: "Monteiro" }, + location: { + street: { number: 5029, name: "Rua Piauí " }, + city: "Araucária", + state: "Acre", + country: "Brazil", + postcode: 17213, + coordinates: { latitude: "-25.3135", longitude: "-43.4717" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "honorato.monteiro@example.com", + login: { + uuid: "eac617ea-dd9e-4348-9eba-6647bc61693b", + username: "redgoose424", + password: "maple", + salt: "EJ31XpJG", + md5: "8d24e8cbd29da8e0ac6bb1df03ce7b81", + sha1: "e0bfecc1a3287936e3a1785bd4d92453ea8bb09e", + sha256: + "522450f2da8c702bac7b29c3e8932ec94423ddee37da3bdf73ccd49a64307063", + }, + dob: { date: "1953-04-26T04:13:12.365Z", age: 68 }, + registered: { date: "2008-01-06T09:32:19.231Z", age: 13 }, + phone: "(42) 3853-9191", + cell: "(21) 1487-8164", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/67.jpg", + medium: "https://randomuser.me/api/portraits/med/men/67.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/67.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Miss", first: "Gloria", last: "Moreno" }, + location: { + street: { number: 9453, name: "Central St" }, + city: "Seattle", + state: "Arizona", + country: "United States", + postcode: 95771, + coordinates: { latitude: "-61.6358", longitude: "16.1786" }, + timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, + }, + email: "gloria.moreno@example.com", + login: { + uuid: "23f49db7-8558-472b-9717-793bd315caa7", + username: "happygoose225", + password: "stranger", + salt: "eL6FUTxD", + md5: "df5e43c9cd6ccc003818311ce756daaa", + sha1: "9f57f8ae5221bef4746fa0e4e7ba63631f4bf2e7", + sha256: + "a14e0d24cb73802bc0d8252992680bbb68969b8321c1f198920acf416e81cdbb", + }, + dob: { date: "1947-06-04T06:57:05.619Z", age: 74 }, + registered: { date: "2014-12-22T20:48:15.322Z", age: 7 }, + phone: "(070)-139-4439", + cell: "(073)-050-5112", + id: { name: "SSN", value: "600-48-5026" }, + picture: { + large: "https://randomuser.me/api/portraits/women/81.jpg", + medium: "https://randomuser.me/api/portraits/med/women/81.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/81.jpg", + }, + nat: "US", + }, + { + gender: "female", + name: { title: "Mrs", first: "Cilly", last: "Tillmann" }, + location: { + street: { number: 2126, name: "Fliederweg" }, + city: "Hamm", + state: "Mecklenburg-Vorpommern", + country: "Germany", + postcode: 38963, + coordinates: { latitude: "6.3416", longitude: "75.4841" }, + timezone: { offset: "-9:00", description: "Alaska" }, + }, + email: "cilly.tillmann@example.com", + login: { + uuid: "58472cbc-4bc2-4c30-8e9d-7f3f83a6ac31", + username: "blackpeacock697", + password: "eddie", + salt: "IkMayn2r", + md5: "3784cbe539d1d00c9bd3a91707664148", + sha1: "a3fddce30f96962ecbd8a728671bfdee495445bc", + sha256: + "7d3554b5435f86a9e96bb9cb20e294adfe6ecd340a17d5a8b38ee71824533817", + }, + dob: { date: "1966-03-28T09:35:00.692Z", age: 55 }, + registered: { date: "2007-01-11T19:49:13.256Z", age: 14 }, + phone: "0685-3913967", + cell: "0178-5331896", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/76.jpg", + medium: "https://randomuser.me/api/portraits/med/women/76.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/76.jpg", + }, + nat: "DE", + }, + { + gender: "female", + name: { title: "Madame", first: "Raffaella", last: "Fournier" }, + location: { + street: { number: 6230, name: "Rue de L'Abbé-Carton" }, + city: "Uetikon am See", + state: "Zug", + country: "Switzerland", + postcode: 1402, + coordinates: { latitude: "54.5724", longitude: "101.0459" }, + timezone: { + offset: "-8:00", + description: "Pacific Time (US & Canada)", + }, + }, + email: "raffaella.fournier@example.com", + login: { + uuid: "7ab61c70-af01-4b68-8bbd-97994b7befb0", + username: "purpleladybug500", + password: "champ", + salt: "Vc0wJr3v", + md5: "a5d01c0e430b65353b95dae2822901f8", + sha1: "b8cc139bf78d030abc716c8dc935ea334691b388", + sha256: + "b93cc3d45e2186648e30f027529fc0c633fd2968c28de96d16885b0290023c28", + }, + dob: { date: "1951-02-06T08:32:24.332Z", age: 70 }, + registered: { date: "2017-06-20T02:02:32.676Z", age: 4 }, + phone: "079 460 36 72", + cell: "078 076 12 55", + id: { name: "AVS", value: "756.1074.3113.10" }, + picture: { + large: "https://randomuser.me/api/portraits/women/34.jpg", + medium: "https://randomuser.me/api/portraits/med/women/34.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/34.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Ms", first: "Alexia", last: "Muller" }, + location: { + street: { number: 771, name: "Rue de L'Abbé-Roger-Derry" }, + city: "Le Mans", + state: "Jura", + country: "France", + postcode: 41758, + coordinates: { latitude: "-11.9997", longitude: "-60.1754" }, + timezone: { offset: "-2:00", description: "Mid-Atlantic" }, + }, + email: "alexia.muller@example.com", + login: { + uuid: "ff66d303-3d7e-4838-92ab-8bc0c5a5bb7e", + username: "yellowfrog547", + password: "luis", + salt: "USkXCHgG", + md5: "70650dcc3c7bb9b301ca2f2422574ca8", + sha1: "2222021795c24bab2a9e319fa2dc8564757673a5", + sha256: + "34fcbfd5046b570d79ec58c727253651eb45a7d8ca6cb79d43e0ae0c2d6b1b47", + }, + dob: { date: "1967-10-31T23:15:29.525Z", age: 54 }, + registered: { date: "2003-04-24T05:39:59.248Z", age: 18 }, + phone: "04-94-38-84-96", + cell: "06-19-66-97-40", + id: { name: "INSEE", value: "2NNaN67281933 25" }, + picture: { + large: "https://randomuser.me/api/portraits/women/64.jpg", + medium: "https://randomuser.me/api/portraits/med/women/64.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", + }, + nat: "FR", + }, + { + gender: "male", + name: { title: "Mr", first: "Jake", last: "Harris" }, + location: { + street: { number: 7407, name: "Edmonton Road" }, + city: "Whangarei", + state: "Southland", + country: "New Zealand", + postcode: 81370, + coordinates: { latitude: "4.3005", longitude: "31.3585" }, + timezone: { + offset: "-5:00", + description: "Eastern Time (US & Canada), Bogota, Lima", + }, + }, + email: "jake.harris@example.com", + login: { + uuid: "f002510b-be5d-47ba-8365-dbc283a55832", + username: "blackgoose855", + password: "wildwood", + salt: "DnUfer3h", + md5: "a6ad3b1685d0949f5f982e88ebcf5ffc", + sha1: "9dafce8ac9f1b1f8dcfc71f9daa427118a5854f6", + sha256: + "487960ea82f38083f6d260e614ac24d6af1532c4129f9598fe33904e8d1f3eaf", + }, + dob: { date: "1977-03-05T18:18:01.820Z", age: 44 }, + registered: { date: "2003-09-16T06:43:52.231Z", age: 18 }, + phone: "(889)-359-6928", + cell: "(899)-490-9346", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/55.jpg", + medium: "https://randomuser.me/api/portraits/med/men/55.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/55.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "Victor", last: "Lévesque" }, + location: { + street: { number: 2971, name: "Oak St" }, + city: "Chesterville", + state: "Saskatchewan", + country: "Canada", + postcode: "M0K 4W0", + coordinates: { latitude: "38.6099", longitude: "37.5921" }, + timezone: { + offset: "+3:00", + description: "Baghdad, Riyadh, Moscow, St. Petersburg", + }, + }, + email: "victor.levesque@example.com", + login: { + uuid: "921cb862-97c2-454f-aaf3-3889b48edec5", + username: "beautifuldog972", + password: "point", + salt: "5H2aDVjO", + md5: "5e1a7c4e4c8b1eb4cbf376e6eb7298d9", + sha1: "b33d7d550e6bbff853eef4564b7dbd5529130501", + sha256: + "2126d8b62b74bc3b00e3423e2189090b236ec73058e8d5e32dd7062e7d6c4505", + }, + dob: { date: "1976-04-02T18:27:18.398Z", age: 45 }, + registered: { date: "2008-11-07T15:47:51.292Z", age: 13 }, + phone: "044-018-3265", + cell: "025-451-9515", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/79.jpg", + medium: "https://randomuser.me/api/portraits/med/men/79.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/79.jpg", + }, + nat: "CA", + }, + { + gender: "female", + name: { title: "Ms", first: "Lucia", last: "Gil" }, + location: { + street: { number: 7505, name: "Calle de Arturo Soria" }, + city: "Pamplona", + state: "Comunidad de Madrid", + country: "Spain", + postcode: 94456, + coordinates: { latitude: "44.5163", longitude: "-23.1947" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "lucia.gil@example.com", + login: { + uuid: "d7797e1e-5f9e-4c1f-b76d-73a1bcbe61ce", + username: "sadleopard485", + password: "mildred", + salt: "hXAQl3gJ", + md5: "7030c1180fef91a8f6904ae5f18e0315", + sha1: "39e8a3aaa17e46ebc5023fe23f79436b589578c1", + sha256: + "be83b7c8ac1a3e9a1c2a4121fc76229093d3ae2e857d8a5d9f460e52ca8f5bc7", + }, + dob: { date: "1960-03-31T09:44:35.656Z", age: 61 }, + registered: { date: "2013-11-21T12:58:47.467Z", age: 8 }, + phone: "952-741-943", + cell: "665-016-650", + id: { name: "DNI", value: "92378443-T" }, + picture: { + large: "https://randomuser.me/api/portraits/women/4.jpg", + medium: "https://randomuser.me/api/portraits/med/women/4.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/4.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Madame", first: "Irène", last: "Caron" }, + location: { + street: { number: 96, name: "Avenue du Fort-Caire" }, + city: "Ins", + state: "Aargau", + country: "Switzerland", + postcode: 2703, + coordinates: { latitude: "-32.8491", longitude: "33.1040" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "irene.caron@example.com", + login: { + uuid: "a97677d4-074c-4e62-8e01-dce15b92a57a", + username: "happyladybug498", + password: "screwyou", + salt: "ew3XT4Xg", + md5: "0530089e43f831aa08d3b2a4e0492a64", + sha1: "129b0551c061b2b4c66e3d9211fd5195df4fe01c", + sha256: + "599fb0322a8a09c22fec36bea4edf2185ba1ae6c8d2c075a9b693b955666501c", + }, + dob: { date: "1962-02-07T11:31:50.974Z", age: 59 }, + registered: { date: "2018-06-15T17:42:34.426Z", age: 3 }, + phone: "076 970 98 11", + cell: "077 931 59 40", + id: { name: "AVS", value: "756.0603.0514.67" }, + picture: { + large: "https://randomuser.me/api/portraits/women/55.jpg", + medium: "https://randomuser.me/api/portraits/med/women/55.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/55.jpg", + }, + nat: "CH", + }, + { + gender: "male", + name: { title: "Monsieur", first: "Domenico", last: "Vincent" }, + location: { + street: { number: 5484, name: "Avenue du Fort-Caire" }, + city: "Granges (Veveyse)", + state: "Basel-Stadt", + country: "Switzerland", + postcode: 8904, + coordinates: { latitude: "6.5160", longitude: "-116.6141" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "domenico.vincent@example.com", + login: { + uuid: "ed3a50d5-fcf0-4ea9-be5c-de24b369cf50", + username: "whitezebra312", + password: "pipeline", + salt: "3VpQxUXo", + md5: "2761b52f63e93f6fb4ff014345e27b48", + sha1: "768dfccfa618dce25a749cb998db1968856d6904", + sha256: + "6f8eacf0733e851dd24e2273fe220b2541cf537c2866321663e5396aed61f97b", + }, + dob: { date: "1953-05-03T02:41:25.824Z", age: 68 }, + registered: { date: "2017-10-04T18:07:04.712Z", age: 4 }, + phone: "077 832 95 46", + cell: "076 671 29 34", + id: { name: "AVS", value: "756.2015.2160.70" }, + picture: { + large: "https://randomuser.me/api/portraits/men/33.jpg", + medium: "https://randomuser.me/api/portraits/med/men/33.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/33.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Mrs", first: "عسل", last: "علیزاده" }, + location: { + street: { number: 5724, name: "پیروزی" }, + city: "ارومیه", + state: "کهگیلویه و بویراحمد", + country: "Iran", + postcode: 39202, + coordinates: { latitude: "35.6613", longitude: "147.1957" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "aasl.aalyzdh@example.com", + login: { + uuid: "e8e8243e-c8f3-4208-92a2-9ee39b9ed6da", + username: "smalltiger325", + password: "markie", + salt: "30vzsNTL", + md5: "83d7f1932c857c9dc09f820b15d5ef65", + sha1: "e585186e283048ee01125ff98e243eb9010e7b42", + sha256: + "6f12969e5e1dc24c407e1e5fec63550199f9170acf85e5eb0fe52d9f63c28aba", + }, + dob: { date: "1967-09-28T06:53:39.846Z", age: 54 }, + registered: { date: "2018-07-12T07:44:31.043Z", age: 3 }, + phone: "084-61525855", + cell: "0944-737-7051", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/70.jpg", + medium: "https://randomuser.me/api/portraits/med/women/70.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/70.jpg", + }, + nat: "IR", + }, + { + gender: "female", + name: { title: "Ms", first: "Diandra", last: "Pander" }, + location: { + street: { number: 8095, name: "Koningskers" }, + city: "Kornwerderzand", + state: "Noord-Brabant", + country: "Netherlands", + postcode: 13022, + coordinates: { latitude: "22.4463", longitude: "-137.5360" }, + timezone: { offset: "-9:00", description: "Alaska" }, + }, + email: "diandra.pander@example.com", + login: { + uuid: "8cd6761e-c369-477e-bb1c-2cbd75216cfa", + username: "sadostrich279", + password: "caravan", + salt: "G09c4wEw", + md5: "6a8ae8c82c18852631b729745415d73e", + sha1: "d638801195ae6d7b74e40caeb2e84f4693dd008d", + sha256: + "4dcaf0d19e70fe86a7156f374599f831480ae5533e8877c3001c40e9c1a51ee6", + }, + dob: { date: "1987-11-24T05:21:32.115Z", age: 34 }, + registered: { date: "2013-07-30T18:00:31.499Z", age: 8 }, + phone: "(898)-391-2540", + cell: "(908)-197-6807", + id: { name: "BSN", value: "70181189" }, + picture: { + large: "https://randomuser.me/api/portraits/women/46.jpg", + medium: "https://randomuser.me/api/portraits/med/women/46.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/46.jpg", + }, + nat: "NL", + }, + { + gender: "male", + name: { title: "Monsieur", first: "Georgios", last: "Meyer" }, + location: { + street: { number: 2375, name: "Rue des Cuirassiers" }, + city: "Döttingen", + state: "Uri", + country: "Switzerland", + postcode: 3002, + coordinates: { latitude: "-55.0158", longitude: "-146.1140" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "georgios.meyer@example.com", + login: { + uuid: "c2e37761-fbc7-48f5-847e-9a8b7d5d60f6", + username: "crazybear357", + password: "cristina", + salt: "t7NiHkeh", + md5: "ed055d46a95b4801159b3081ea91de74", + sha1: "a3cf6b14f584b0e20fd22c064cf0d7066084204d", + sha256: + "68689beaa6d6f55e2094717e656013884e9320f1021b464a87b32fdde6808640", + }, + dob: { date: "1973-08-03T22:46:20.099Z", age: 48 }, + registered: { date: "2007-10-17T21:42:38.706Z", age: 14 }, + phone: "075 526 42 67", + cell: "076 407 85 06", + id: { name: "AVS", value: "756.4935.8186.25" }, + picture: { + large: "https://randomuser.me/api/portraits/men/43.jpg", + medium: "https://randomuser.me/api/portraits/med/men/43.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/43.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Miss", first: "Brianna", last: "Burton" }, + location: { + street: { number: 4974, name: "Ranchview Dr" }, + city: "Wollongong", + state: "Northern Territory", + country: "Australia", + postcode: 1087, + coordinates: { latitude: "33.9259", longitude: "27.2068" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "brianna.burton@example.com", + login: { + uuid: "ad7a2e05-0ec0-4af1-880b-1d670c03db91", + username: "brownladybug253", + password: "xiong", + salt: "yCfPSzNd", + md5: "70555277fb03937143bb41314e3afe37", + sha1: "224c092c5df3a3a3a332581cb06b5f651117525e", + sha256: + "92b7677e04abc21bb4bfb70e429d206dd97acf1591953afac62c5d4a66eaffde", + }, + dob: { date: "1992-06-09T10:54:54.490Z", age: 29 }, + registered: { date: "2008-12-31T18:55:33.463Z", age: 13 }, + phone: "08-0910-4770", + cell: "0487-324-741", + id: { name: "TFN", value: "333303990" }, + picture: { + large: "https://randomuser.me/api/portraits/women/17.jpg", + medium: "https://randomuser.me/api/portraits/med/women/17.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/17.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "Nabil", last: "De Kruijf" }, + location: { + street: { number: 6042, name: "Jan van Eijckweg" }, + city: "Nessersluis", + state: "Zeeland", + country: "Netherlands", + postcode: 19440, + coordinates: { latitude: "-42.8733", longitude: "60.2887" }, + timezone: { offset: "+3:30", description: "Tehran" }, + }, + email: "nabil.dekruijf@example.com", + login: { + uuid: "9e6a9b92-70de-4864-9140-de9d2836c4f3", + username: "redlion387", + password: "store", + salt: "lOVutVhn", + md5: "47246a5542af21378800becb013a29fd", + sha1: "9203759474382f1edf9b7d33d2e81bd30f3b4c0b", + sha256: + "bc8454eb27f84a4107e34d9643a7a438819578128ab1c593959a86da9671e42e", + }, + dob: { date: "1963-01-05T14:40:26.193Z", age: 58 }, + registered: { date: "2011-05-15T00:20:14.318Z", age: 10 }, + phone: "(578)-971-9363", + cell: "(789)-768-1139", + id: { name: "BSN", value: "41052062" }, + picture: { + large: "https://randomuser.me/api/portraits/men/66.jpg", + medium: "https://randomuser.me/api/portraits/med/men/66.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/66.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Ms", first: "Loeki", last: "Herfst" }, + location: { + street: { number: 2529, name: "Hoeksekade" }, + city: "Maasvlakte", + state: "Zeeland", + country: "Netherlands", + postcode: 26805, + coordinates: { latitude: "-1.2125", longitude: "-37.6313" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "loeki.herfst@example.com", + login: { + uuid: "9d98e9dc-8cb3-4eed-a5d2-f29446e0498a", + username: "redbird833", + password: "tekken", + salt: "YlAexcyu", + md5: "594efaf7f25e7c37177e9564792298b8", + sha1: "f6bec77f5acea2b1c06f23e5776f0899a4df39cc", + sha256: + "657efe176e42b434a31bd8e62f7c230ab15f20c8a893e1d352e3f3416f7e19ab", + }, + dob: { date: "1951-06-09T17:28:21.781Z", age: 70 }, + registered: { date: "2005-05-25T23:01:29.067Z", age: 16 }, + phone: "(843)-648-6096", + cell: "(787)-986-5533", + id: { name: "BSN", value: "13085699" }, + picture: { + large: "https://randomuser.me/api/portraits/women/86.jpg", + medium: "https://randomuser.me/api/portraits/med/women/86.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/86.jpg", + }, + nat: "NL", + }, + { + gender: "male", + name: { title: "Mr", first: "Derek", last: "Jensen" }, + location: { + street: { number: 7379, name: "Boghall Road" }, + city: "Loughrea", + state: "Galway City", + country: "Ireland", + postcode: 83844, + coordinates: { latitude: "-17.8441", longitude: "-154.6829" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "derek.jensen@example.com", + login: { + uuid: "5ab7e6a5-197b-4425-947b-45aab0304b54", + username: "heavyfrog743", + password: "chinook", + salt: "hztoaUhU", + md5: "bfba9f0ccc283e0aeb9265dd760fd9a3", + sha1: "a3fc0c254fbdca951e6a723bd1199e83a5d938df", + sha256: + "f1c1fe0fdd2912880c3ae0311deae7b4db00f26a4897d9842ae43390b86bfea7", + }, + dob: { date: "1988-09-10T21:12:28.025Z", age: 33 }, + registered: { date: "2015-02-28T16:55:20.572Z", age: 6 }, + phone: "041-605-6093", + cell: "081-060-1843", + id: { name: "PPS", value: "8797103T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/33.jpg", + medium: "https://randomuser.me/api/portraits/med/men/33.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/33.jpg", + }, + nat: "IE", + }, + { + gender: "male", + name: { title: "Mr", first: "Albert", last: "Hill" }, + location: { + street: { number: 6563, name: "Grange Road" }, + city: "Tramore", + state: "Dublin City", + country: "Ireland", + postcode: 20202, + coordinates: { latitude: "4.3492", longitude: "-68.6370" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "albert.hill@example.com", + login: { + uuid: "52005891-d300-4e9a-be74-9d159e60b13a", + username: "greenwolf531", + password: "spice", + salt: "EyULnPrA", + md5: "e1402cfaaf24b2c51214a3f113512c9d", + sha1: "07e08fc4ff3bbd68018fd60039606581792300a2", + sha256: + "e9b81245dcfc9c8dd752a2212ed0d643fd9ae7cd5b57b818f4d70730464b6145", + }, + dob: { date: "1969-07-23T04:50:23.722Z", age: 52 }, + registered: { date: "2019-02-15T20:50:17.208Z", age: 2 }, + phone: "021-003-4137", + cell: "081-064-4126", + id: { name: "PPS", value: "9023709T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/95.jpg", + medium: "https://randomuser.me/api/portraits/med/men/95.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/95.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Miss", first: "Amelia", last: "Martin" }, + location: { + street: { number: 695, name: "Bridge Road" }, + city: "Glasgow", + state: "Gwent", + country: "United Kingdom", + postcode: "S0X 1HU", + coordinates: { latitude: "35.5943", longitude: "95.9724" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "amelia.martin@example.com", + login: { + uuid: "d81d7dcf-5d88-4c69-a94a-c821d7cd6702", + username: "silverfrog995", + password: "cooler", + salt: "zk3tLiTL", + md5: "7a23dc51c76074e1156cfa85faf12c9c", + sha1: "a7d678a0fca4de2618cd539c288ea5d847fa7374", + sha256: + "331a352a0ef41260f092532aa828d0f88bac45fb45c312b1c993488218997b3c", + }, + dob: { date: "1968-10-21T05:38:32.410Z", age: 53 }, + registered: { date: "2011-12-08T18:12:41.169Z", age: 10 }, + phone: "01344 46352", + cell: "0759-031-321", + id: { name: "NINO", value: "BY 14 79 88 J" }, + picture: { + large: "https://randomuser.me/api/portraits/women/91.jpg", + medium: "https://randomuser.me/api/portraits/med/women/91.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/91.jpg", + }, + nat: "GB", + }, + { + gender: "male", + name: { title: "Mr", first: "Tomothy", last: "Graves" }, + location: { + street: { number: 1117, name: "Miller Ave" }, + city: "Launceston", + state: "Australian Capital Territory", + country: "Australia", + postcode: 9292, + coordinates: { latitude: "3.1114", longitude: "-91.6738" }, + timezone: { + offset: "-8:00", + description: "Pacific Time (US & Canada)", + }, + }, + email: "tomothy.graves@example.com", + login: { + uuid: "1539ce3d-80a7-442d-8378-a4edf5045589", + username: "happyleopard349", + password: "farmer", + salt: "cMjnR1TS", + md5: "990175669bc2828f89a8f4d115bef452", + sha1: "3b8679caa2473a9880aa483065aa34799aaccd05", + sha256: + "6c8c28df50c4b0148e86f6d42db093a330d15be226150356619bca8672714b12", + }, + dob: { date: "1959-07-24T12:57:22.659Z", age: 62 }, + registered: { date: "2015-02-18T16:51:46.612Z", age: 6 }, + phone: "03-3502-8297", + cell: "0404-438-650", + id: { name: "TFN", value: "402321982" }, + picture: { + large: "https://randomuser.me/api/portraits/men/23.jpg", + medium: "https://randomuser.me/api/portraits/med/men/23.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/23.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "Colin", last: "Graham" }, + location: { + street: { number: 7601, name: "School Lane" }, + city: "Portarlington", + state: "Donegal", + country: "Ireland", + postcode: 66476, + coordinates: { latitude: "13.5912", longitude: "15.1919" }, + timezone: { + offset: "+5:30", + description: "Bombay, Calcutta, Madras, New Delhi", + }, + }, + email: "colin.graham@example.com", + login: { + uuid: "a53c3216-f97f-427d-8306-4dd287f510f4", + username: "greenostrich270", + password: "bacchus", + salt: "14P2XqGc", + md5: "a71744da1254590ec901a2928b38fc2b", + sha1: "ba069af81b01497c8b709105201125171dda1426", + sha256: + "28ea0117ede690ab8d1774f10511f9cf2a3d816a8de848e99cee6bc6e15196c2", + }, + dob: { date: "1990-06-19T03:30:13.951Z", age: 31 }, + registered: { date: "2007-04-25T20:49:05.616Z", age: 14 }, + phone: "061-192-3561", + cell: "081-455-4415", + id: { name: "PPS", value: "0385140T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/60.jpg", + medium: "https://randomuser.me/api/portraits/med/men/60.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/60.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Mrs", first: "Miriam", last: "Patterson" }, + location: { + street: { number: 8253, name: "Sunset St" }, + city: "Geraldton", + state: "South Australia", + country: "Australia", + postcode: 6256, + coordinates: { latitude: "-58.8398", longitude: "-77.3201" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "miriam.patterson@example.com", + login: { + uuid: "e0b5f854-442e-4a59-b9fc-6d51dd9149e9", + username: "ticklishtiger833", + password: "quattro", + salt: "36oVJuUG", + md5: "659438258d0b41c48be30b3db2a239bc", + sha1: "fca204847deaafe2a5db7fe73232660ac8234a86", + sha256: + "d41e91e74b9024681e818daacddaa155da915c3abeb65e1d58aedf2f2a8ba634", + }, + dob: { date: "1952-11-05T00:58:36.112Z", age: 69 }, + registered: { date: "2017-11-06T02:01:22.263Z", age: 4 }, + phone: "02-8145-3254", + cell: "0495-765-840", + id: { name: "TFN", value: "125357320" }, + picture: { + large: "https://randomuser.me/api/portraits/women/2.jpg", + medium: "https://randomuser.me/api/portraits/med/women/2.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/2.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Mrs", first: "Andrea", last: "Gutierrez" }, + location: { + street: { number: 529, name: "Westheimer Rd" }, + city: "Traralgon", + state: "Queensland", + country: "Australia", + postcode: 7207, + coordinates: { latitude: "34.1776", longitude: "110.7410" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "andrea.gutierrez@example.com", + login: { + uuid: "7c0c64c1-6dce-470d-9780-5000a9042197", + username: "happyelephant790", + password: "musica", + salt: "bK1MRAGZ", + md5: "77fc99de654b6a4cbe1bf4aa97e890a7", + sha1: "00b9ad9e90305a01667094d7bec1acdfda9ad1dc", + sha256: + "06a72e564b303f0130014c5cd020577dc9dcd8ac1b967903ad7e6be1b1d37590", + }, + dob: { date: "1950-12-06T23:15:31.673Z", age: 71 }, + registered: { date: "2015-08-07T02:23:38.248Z", age: 6 }, + phone: "09-6722-0321", + cell: "0416-984-779", + id: { name: "TFN", value: "802637020" }, + picture: { + large: "https://randomuser.me/api/portraits/women/90.jpg", + medium: "https://randomuser.me/api/portraits/med/women/90.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/90.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Mrs", first: "Yusra", last: "Gården" }, + location: { + street: { number: 2073, name: "Brattelia" }, + city: "Gvarv", + state: "Aust-Agder", + country: "Norway", + postcode: "0114", + coordinates: { latitude: "88.0344", longitude: "-90.8935" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "yusra.garden@example.com", + login: { + uuid: "a2608564-c14e-4278-b126-3f12e44e7b04", + username: "lazyswan736", + password: "lancelot", + salt: "n6UIsbCg", + md5: "23a2c975565c872c33e20f1b7ef6fc7f", + sha1: "275b1f18872b018404c9526b45f43d732e0e9307", + sha256: + "a9bb0234b19a1707a7df59000f6e038eaeb301281b1fda8d78d60ca12442a526", + }, + dob: { date: "1962-09-11T20:03:58.546Z", age: 59 }, + registered: { date: "2015-08-11T05:47:59.982Z", age: 6 }, + phone: "78503047", + cell: "97409069", + id: { name: "FN", value: "11096224674" }, + picture: { + large: "https://randomuser.me/api/portraits/women/77.jpg", + medium: "https://randomuser.me/api/portraits/med/women/77.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", + }, + nat: "NO", + }, + { + gender: "female", + name: { title: "Mrs", first: "Begüm", last: "Ekşioğlu" }, + location: { + street: { number: 2191, name: "Filistin Cd" }, + city: "Aksaray", + state: "Gümüşhane", + country: "Turkey", + postcode: 38335, + coordinates: { latitude: "-20.1062", longitude: "-70.0078" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "begum.eksioglu@example.com", + login: { + uuid: "6562e81e-81f9-47a9-898b-82638f763406", + username: "bigmouse713", + password: "mama", + salt: "65zVPaDD", + md5: "dc502c0e2db8615bed4c741098747c8b", + sha1: "224f50ae05b6ec08f707008a64f89f5b645ee444", + sha256: + "796d6532fe64216ea13d6ea1411514a183557b743e932a6b7d37ee2c49b64b01", + }, + dob: { date: "1950-03-30T06:33:27.532Z", age: 71 }, + registered: { date: "2005-10-27T07:17:10.550Z", age: 16 }, + phone: "(365)-475-9358", + cell: "(166)-248-3339", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/2.jpg", + medium: "https://randomuser.me/api/portraits/med/women/2.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/2.jpg", + }, + nat: "TR", + }, + { + gender: "female", + name: { title: "Ms", first: "Vanessa", last: "Ortiz" }, + location: { + street: { number: 479, name: "Broadway" }, + city: "Stoke-on-Trent", + state: "Gwent", + country: "United Kingdom", + postcode: "D4L 1GQ", + coordinates: { latitude: "-61.1868", longitude: "-175.9488" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "vanessa.ortiz@example.com", + login: { + uuid: "29034292-52dd-491a-8dcf-7066d9dd1022", + username: "smallmouse384", + password: "internet", + salt: "HyN73AnR", + md5: "72f0b21590de468eb8cdf2cbbca2df74", + sha1: "960c443ab51ceae39de820b69082b65b2de953db", + sha256: + "56bdd690e6abc39aefe45a43ae387030f844bd247f5b28a1856ccf173881e98d", + }, + dob: { date: "1970-07-29T10:38:45.751Z", age: 51 }, + registered: { date: "2004-06-18T23:02:42.443Z", age: 17 }, + phone: "017687 69252", + cell: "0789-524-200", + id: { name: "NINO", value: "BB 56 97 71 M" }, + picture: { + large: "https://randomuser.me/api/portraits/women/22.jpg", + medium: "https://randomuser.me/api/portraits/med/women/22.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Ms", first: "Josefina", last: "Lorenzo" }, + location: { + street: { number: 8404, name: "Calle de Arturo Soria" }, + city: "Valencia", + state: "Extremadura", + country: "Spain", + postcode: 85754, + coordinates: { latitude: "77.6857", longitude: "111.5284" }, + timezone: { offset: "-9:00", description: "Alaska" }, + }, + email: "josefina.lorenzo@example.com", + login: { + uuid: "aaba9ff3-d7ae-42fa-9b5d-6bbfac07433e", + username: "orangeleopard595", + password: "comanche", + salt: "WKORRlbp", + md5: "ee27956c3514fb4147e5a663c4ad90e7", + sha1: "9fc3f2e7f50707a89abb38d1a6cd63323f1034a7", + sha256: + "4ccd1e7762c31125d85533cb8d6d7f1ffaef6fa96029efd73f2edc2276669132", + }, + dob: { date: "1982-03-18T10:24:04.914Z", age: 39 }, + registered: { date: "2017-08-17T02:06:44.072Z", age: 4 }, + phone: "993-543-457", + cell: "690-771-213", + id: { name: "DNI", value: "89749771-W" }, + picture: { + large: "https://randomuser.me/api/portraits/women/49.jpg", + medium: "https://randomuser.me/api/portraits/med/women/49.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/49.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Ms", first: "Lory", last: "de Souza" }, + location: { + street: { number: 7407, name: "Rua Rio de Janeiro " }, + city: "Itaquaquecetuba", + state: "Bahia", + country: "Brazil", + postcode: 18437, + coordinates: { latitude: "57.1247", longitude: "135.6891" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "lory.desouza@example.com", + login: { + uuid: "44f1dc0b-6d5c-45b9-84f4-e34d30fdf136", + username: "tinybutterfly485", + password: "pippin", + salt: "o7ZKPZ82", + md5: "fd836dc18613ca1a6d62f8cf415d5591", + sha1: "51dad96fd997f146ec8b6c1337c8bf06079d63ff", + sha256: + "2705dfce00f74eba6e4362d06f5c4bd3f6ed49bf46ccad03901b4c1ee163e8bf", + }, + dob: { date: "1996-01-03T18:58:29.942Z", age: 25 }, + registered: { date: "2016-03-10T21:27:57.920Z", age: 5 }, + phone: "(29) 0225-3043", + cell: "(13) 1776-6176", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/22.jpg", + medium: "https://randomuser.me/api/portraits/med/women/22.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Madame", first: "Yasmine", last: "Da Silva" }, + location: { + street: { number: 8848, name: "Place du 22 Novembre 1943" }, + city: "Bottenwil", + state: "Genève", + country: "Switzerland", + postcode: 8414, + coordinates: { latitude: "-54.7043", longitude: "-111.8252" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "yasmine.dasilva@example.com", + login: { + uuid: "f4b0cca9-3477-4ad3-9450-55d14168236b", + username: "silverbear686", + password: "stanton", + salt: "xM8V9yTy", + md5: "b0b5c59d783425b3eaed1b4d2a786bb2", + sha1: "35728251583d941465bce0883024b1922866e409", + sha256: + "4e73a8c7f6a087b47eca501a807e7fbdd178f047df9630f2ed346b5f56af10c3", + }, + dob: { date: "1996-12-21T21:20:52.227Z", age: 25 }, + registered: { date: "2010-06-06T14:29:52.737Z", age: 11 }, + phone: "077 640 01 41", + cell: "075 107 34 90", + id: { name: "AVS", value: "756.2689.9711.47" }, + picture: { + large: "https://randomuser.me/api/portraits/women/12.jpg", + medium: "https://randomuser.me/api/portraits/med/women/12.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/12.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Miss", first: "Afşar", last: "Erberk" }, + location: { + street: { number: 5558, name: "Maçka Cd" }, + city: "Afyonkarahisar", + state: "Bayburt", + country: "Turkey", + postcode: 33737, + coordinates: { latitude: "87.9314", longitude: "-91.3767" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "afsar.erberk@example.com", + login: { + uuid: "e5e61979-3c91-4193-9298-643d156f105b", + username: "redfish267", + password: "bumper", + salt: "iRRay15N", + md5: "ebc17ea93cd5dd9203f4b8f28b778be2", + sha1: "3b25c40f13f6ccfba343455b406ba6624cb1455d", + sha256: + "d951ddbc264edbb766732c1c09692206904359b587c071a55ebc0e6a4b3b5273", + }, + dob: { date: "1987-09-25T08:33:14.039Z", age: 34 }, + registered: { date: "2003-09-26T00:54:19.646Z", age: 18 }, + phone: "(574)-731-5368", + cell: "(919)-185-3548", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/68.jpg", + medium: "https://randomuser.me/api/portraits/med/women/68.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", + }, + nat: "TR", + }, + { + gender: "male", + name: { title: "Mr", first: "Allen", last: "Jordan" }, + location: { + street: { number: 1210, name: "Dogwood Ave" }, + city: "Tamworth", + state: "Western Australia", + country: "Australia", + postcode: 494, + coordinates: { latitude: "-4.1381", longitude: "-84.0149" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "allen.jordan@example.com", + login: { + uuid: "10a9932a-2272-4bfe-9ab0-da56ed8d95ee", + username: "bluefrog637", + password: "toronto", + salt: "SBL6Z5k7", + md5: "e78bd40c8d411cbc5551a7bd5d000801", + sha1: "eb164b158a77d39723eecb9a61c9380f82e671b8", + sha256: + "90c1350dd959f51dc326fc1a3aad854b1f685ff9bd3cdd60740acd995a065662", + }, + dob: { date: "1952-09-22T05:33:34.833Z", age: 69 }, + registered: { date: "2004-08-24T20:30:12.033Z", age: 17 }, + phone: "01-2180-4625", + cell: "0409-195-276", + id: { name: "TFN", value: "467338110" }, + picture: { + large: "https://randomuser.me/api/portraits/men/86.jpg", + medium: "https://randomuser.me/api/portraits/med/men/86.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/86.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Miss", first: "آیلین", last: "رضاییان" }, + location: { + street: { number: 4001, name: "فلسطین" }, + city: "زاهدان", + state: "مرکزی", + country: "Iran", + postcode: 58749, + coordinates: { latitude: "-67.0929", longitude: "-167.1153" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "aylyn.rdyyn@example.com", + login: { + uuid: "c2592ba6-d917-4bbd-9d07-2c6eb80bb0c2", + username: "organicostrich547", + password: "aikman", + salt: "1LxprSOG", + md5: "e959b894f601f65487e4cf3ba463f437", + sha1: "f8e24b81aa89b9c14237d412e25afd96e2f848f7", + sha256: + "774b4bd61afe6085c9a72f3610c7c72c78a03c0ba3042a8c32a0c72e07c73fd9", + }, + dob: { date: "1997-09-17T13:22:06.941Z", age: 24 }, + registered: { date: "2017-11-25T06:29:45.967Z", age: 4 }, + phone: "039-51933363", + cell: "0900-212-9539", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/95.jpg", + medium: "https://randomuser.me/api/portraits/med/women/95.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/95.jpg", + }, + nat: "IR", + }, + { + gender: "male", + name: { title: "Mr", first: "Ullrich", last: "Blessing" }, + location: { + street: { number: 7113, name: "Im Winkel" }, + city: "Hagenow", + state: "Hamburg", + country: "Germany", + postcode: 87748, + coordinates: { latitude: "54.3390", longitude: "-117.9298" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "ullrich.blessing@example.com", + login: { + uuid: "d943a174-849a-43fb-9502-41d8a6209b35", + username: "organicfrog882", + password: "282828", + salt: "POYetcd8", + md5: "b617ab842a20dd23b5eacfd7439ca1a6", + sha1: "700b416517b415c0729d57eb0c504a8af1415b79", + sha256: + "adca43c93f092139487f8ae0d18cdd7ccc19103e893ecbdf68999f9b4bd4db38", + }, + dob: { date: "1997-11-29T06:48:53.404Z", age: 24 }, + registered: { date: "2005-06-13T10:40:35.831Z", age: 16 }, + phone: "0303-1022952", + cell: "0179-3762858", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/89.jpg", + medium: "https://randomuser.me/api/portraits/med/men/89.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/89.jpg", + }, + nat: "DE", + }, + { + gender: "female", + name: { title: "Mademoiselle", first: "Yvonne", last: "Masson" }, + location: { + street: { number: 9604, name: "Avenue de la Libération" }, + city: "Aesch (Bl)", + state: "Graubünden", + country: "Switzerland", + postcode: 3075, + coordinates: { latitude: "35.7223", longitude: "59.6188" }, + timezone: { offset: "-2:00", description: "Mid-Atlantic" }, + }, + email: "yvonne.masson@example.com", + login: { + uuid: "f2b73393-21ee-4565-9bc9-e6707aa9024c", + username: "sadbutterfly293", + password: "bronson", + salt: "kw2cnG8t", + md5: "6fbd740d50c7b46307486fffa4d0f0f3", + sha1: "1be7fcd76b89016d7c2071005aad9e7f34fae6e0", + sha256: + "3658e04b98c0cba2af4f0ecdeecd99cc6185da273bd2e02fe3ed7fe2fcdc314b", + }, + dob: { date: "1985-03-31T13:16:48.929Z", age: 36 }, + registered: { date: "2003-09-17T19:53:44.574Z", age: 18 }, + phone: "075 220 01 59", + cell: "075 780 01 30", + id: { name: "AVS", value: "756.4797.8830.98" }, + picture: { + large: "https://randomuser.me/api/portraits/women/22.jpg", + medium: "https://randomuser.me/api/portraits/med/women/22.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Mrs", first: "Pilar", last: "Moya" }, + location: { + street: { number: 1360, name: "Calle de La Democracia" }, + city: "Gijón", + state: "Comunidad Valenciana", + country: "Spain", + postcode: 64963, + coordinates: { latitude: "27.8853", longitude: "57.7919" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "pilar.moya@example.com", + login: { + uuid: "1c24d38d-c2db-4ce4-8de5-9a1566e6a5ed", + username: "whitecat500", + password: "biit", + salt: "MkHgs0pr", + md5: "fee8e8dc2958bc2f009655e31e99b78a", + sha1: "fa6521d747554da8206bda06acda024ddb784a10", + sha256: + "254022b11f66dedfc9a4b8d6f306f6f5cfb3d41d208674973fe1639f2049d6bf", + }, + dob: { date: "1994-04-13T00:01:54.657Z", age: 27 }, + registered: { date: "2008-03-20T19:24:54.106Z", age: 13 }, + phone: "963-144-174", + cell: "689-828-170", + id: { name: "DNI", value: "72143260-Z" }, + picture: { + large: "https://randomuser.me/api/portraits/women/68.jpg", + medium: "https://randomuser.me/api/portraits/med/women/68.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Ms", first: "Inmaculada", last: "Carmona" }, + location: { + street: { number: 2447, name: "Calle de Tetuán" }, + city: "Guadalajara", + state: "Región de Murcia", + country: "Spain", + postcode: 59942, + coordinates: { latitude: "66.3781", longitude: "-19.4633" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "inmaculada.carmona@example.com", + login: { + uuid: "eff3ee31-71d5-43a5-ae5e-fdd29fce554c", + username: "tinyduck621", + password: "nocturne", + salt: "wkeAYIBw", + md5: "50fff9d692d8ecce2d8053df11e024f9", + sha1: "882ba153935232d0c82a026f52a69d2f92f26fd3", + sha256: + "ab6d0ca7f311f14ec706016ab51ce26fe0ff399f772309795fea9931439673fc", + }, + dob: { date: "1952-10-03T15:22:34.247Z", age: 69 }, + registered: { date: "2014-06-29T00:47:58.763Z", age: 7 }, + phone: "902-412-151", + cell: "637-659-480", + id: { name: "DNI", value: "29612624-Q" }, + picture: { + large: "https://randomuser.me/api/portraits/women/52.jpg", + medium: "https://randomuser.me/api/portraits/med/women/52.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/52.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Miss", first: "Victoria", last: "Long" }, + location: { + street: { number: 504, name: "School Lane" }, + city: "Stevenage", + state: "Bedfordshire", + country: "United Kingdom", + postcode: "N6I 3UU", + coordinates: { latitude: "28.4192", longitude: "-34.0145" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "victoria.long@example.com", + login: { + uuid: "d50d9f75-8214-4c13-a812-1add64d85d84", + username: "happyrabbit588", + password: "lester", + salt: "0wtWxSCD", + md5: "f3aec7a9eaba7ba0fd4b0feb018e320e", + sha1: "9c1c62d3e6600e6be8395fc4dca27fa6dd336bec", + sha256: + "524845020177992f0c2f99990a13542d7e56191985d6f127d68df53788d0ed00", + }, + dob: { date: "1997-11-14T14:39:41.769Z", age: 24 }, + registered: { date: "2016-12-22T09:51:46.439Z", age: 5 }, + phone: "016973 68875", + cell: "0789-762-048", + id: { name: "NINO", value: "ZR 42 78 24 Y" }, + picture: { + large: "https://randomuser.me/api/portraits/women/57.jpg", + medium: "https://randomuser.me/api/portraits/med/women/57.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/57.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Miss", first: "Irmtraud", last: "Steininger" }, + location: { + street: { number: 7974, name: "Grüner Weg" }, + city: "Vöhrenbach", + state: "Mecklenburg-Vorpommern", + country: "Germany", + postcode: 31556, + coordinates: { latitude: "-30.0196", longitude: "87.6523" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "irmtraud.steininger@example.com", + login: { + uuid: "75d340af-25b0-476b-a1e8-762defb7d731", + username: "crazyleopard251", + password: "333333", + salt: "QbjfIcle", + md5: "4600bcbc28a31d1cbb74217cb0d39cb8", + sha1: "dca1ea6eca80efd06490c754794e4c149702aafe", + sha256: + "b0fd69c43e80ddb7b92432ac5f673ebf97782e8b7c539d954e287ff76c048b28", + }, + dob: { date: "1963-07-05T15:33:08.020Z", age: 58 }, + registered: { date: "2014-09-04T13:00:06.682Z", age: 7 }, + phone: "0244-5123438", + cell: "0179-2932334", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/77.jpg", + medium: "https://randomuser.me/api/portraits/med/women/77.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", + }, + nat: "DE", + }, + { + gender: "male", + name: { title: "Mr", first: "Corey", last: "Sutton" }, + location: { + street: { number: 9450, name: "The Crescent" }, + city: "Salford", + state: "Staffordshire", + country: "United Kingdom", + postcode: "GJ9 5JU", + coordinates: { latitude: "36.5931", longitude: "-164.3220" }, + timezone: { + offset: "-11:00", + description: "Midway Island, Samoa", + }, + }, + email: "corey.sutton@example.com", + login: { + uuid: "c2902ea0-1c6e-4ede-96d0-b4fa840b7849", + username: "bluesnake110", + password: "spike1", + salt: "l3rz8Sf0", + md5: "8c742e1645efe92bc13ffa7161b37027", + sha1: "195bd63c685eb2ce9fa841a64300dd2bc6c38447", + sha256: + "f7c2714172dc01ac3f01b35ea4035b63f82c08258013aa01139617ad6fa6d243", + }, + dob: { date: "1946-06-06T02:39:25.180Z", age: 75 }, + registered: { date: "2002-07-14T01:51:14.808Z", age: 19 }, + phone: "015396 20836", + cell: "0780-224-767", + id: { name: "NINO", value: "AW 93 43 85 T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/66.jpg", + medium: "https://randomuser.me/api/portraits/med/men/66.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/66.jpg", + }, + nat: "GB", + }, + { + gender: "male", + name: { title: "Mr", first: "Pedro", last: "Sanchez" }, + location: { + street: { number: 4241, name: "Avenida de América" }, + city: "Almería", + state: "Cataluña", + country: "Spain", + postcode: 68780, + coordinates: { latitude: "-49.1955", longitude: "172.7502" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "pedro.sanchez@example.com", + login: { + uuid: "9bfd143c-2e1c-470c-9225-0dd010047acd", + username: "greenwolf194", + password: "shower", + salt: "n4mresvH", + md5: "50e65491b2d4186fc84c9a7b07e09c57", + sha1: "00002fac2a0f96788fe59d9e8a3534dd2e73a453", + sha256: + "2fe8ff97742bd5dba7654693a4d6947fabb6e58dd86f2bb81c5e23ac399a7ae1", + }, + dob: { date: "1965-09-27T10:09:28.849Z", age: 56 }, + registered: { date: "2006-03-06T17:56:55.255Z", age: 15 }, + phone: "963-207-745", + cell: "682-985-129", + id: { name: "DNI", value: "01495715-G" }, + picture: { + large: "https://randomuser.me/api/portraits/men/87.jpg", + medium: "https://randomuser.me/api/portraits/med/men/87.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/87.jpg", + }, + nat: "ES", + }, + { + gender: "male", + name: { title: "Monsieur", first: "Dorian", last: "Marie" }, + location: { + street: { number: 5435, name: "Rue de L'Abbé-Migne" }, + city: "Zug", + state: "Jura", + country: "Switzerland", + postcode: 6769, + coordinates: { latitude: "-16.0285", longitude: "-133.9466" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "dorian.marie@example.com", + login: { + uuid: "35deaf40-8b61-4b97-af9e-1dc820b60c03", + username: "tinykoala195", + password: "giant", + salt: "AwZgvn28", + md5: "4ac7fb5abc65693c364700e916b14c54", + sha1: "108fe0761a19d33de45d186e82e495f74925f0c7", + sha256: + "a8586cb1b7616ca45c0398981906f36dc7bf53baec6341e4a8e79bdc6c43e345", + }, + dob: { date: "1972-03-29T09:37:46.988Z", age: 49 }, + registered: { date: "2012-07-07T06:15:01.397Z", age: 9 }, + phone: "077 258 28 71", + cell: "078 849 45 46", + id: { name: "AVS", value: "756.7890.4475.21" }, + picture: { + large: "https://randomuser.me/api/portraits/men/25.jpg", + medium: "https://randomuser.me/api/portraits/med/men/25.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/25.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Miss", first: "Kitty", last: "Hansen" }, + location: { + street: { number: 2723, name: "Forest Ln" }, + city: "Sunnyvale", + state: "Florida", + country: "United States", + postcode: 74758, + coordinates: { latitude: "-56.8420", longitude: "55.3409" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "kitty.hansen@example.com", + login: { + uuid: "ac0facda-1dad-4988-81c5-6de85901c506", + username: "purpleladybug925", + password: "yahooo", + salt: "U8FpwSdv", + md5: "1db944cc999ab6e0e87f685848b42826", + sha1: "f7bcb0ebabd9522fec1f16570d9feb123ef7d302", + sha256: + "4973ab3593af053c8db86ecc6d4605bc83cfda7360aea89a04c265dfa058f6bf", + }, + dob: { date: "1998-03-10T21:51:43.995Z", age: 23 }, + registered: { date: "2011-10-17T11:20:17.383Z", age: 10 }, + phone: "(692)-308-2739", + cell: "(675)-359-2128", + id: { name: "SSN", value: "751-47-3498" }, + picture: { + large: "https://randomuser.me/api/portraits/women/14.jpg", + medium: "https://randomuser.me/api/portraits/med/women/14.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/14.jpg", + }, + nat: "US", + }, + { + gender: "female", + name: { title: "Ms", first: "Naja", last: "Pedersen" }, + location: { + street: { number: 859, name: "Engen" }, + city: "Øster Assels", + state: "Danmark", + country: "Denmark", + postcode: 87048, + coordinates: { latitude: "57.3375", longitude: "-54.7567" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "naja.pedersen@example.com", + login: { + uuid: "8ebb2ec4-e7b6-41ed-b301-c27c9473009d", + username: "greendog481", + password: "ciccio", + salt: "ACL3fcaB", + md5: "0320739d04ee4b22478f6fe1d7dff2e7", + sha1: "b1244446c896979bbfdbe00579b78f0ad7032704", + sha256: + "845644bd16a67eaaf25f934ae0da48bda484c9c4d2a2486e3fa0299b83e1c950", + }, + dob: { date: "1988-06-19T19:50:16.812Z", age: 33 }, + registered: { date: "2005-12-08T10:33:24.692Z", age: 16 }, + phone: "01854447", + cell: "81091003", + id: { name: "CPR", value: "190688-3435" }, + picture: { + large: "https://randomuser.me/api/portraits/women/41.jpg", + medium: "https://randomuser.me/api/portraits/med/women/41.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/41.jpg", + }, + nat: "DK", + }, + { + gender: "female", + name: { title: "Mrs", first: "Benta", last: "Martins" }, + location: { + street: { number: 7796, name: "Rua Minas Gerais " }, + city: "Araçatuba", + state: "Mato Grosso", + country: "Brazil", + postcode: 69461, + coordinates: { latitude: "-22.3977", longitude: "-22.9144" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "benta.martins@example.com", + login: { + uuid: "82c46a2a-3749-4ad5-b003-c6e4487af5b2", + username: "redelephant738", + password: "orgy", + salt: "KCPr4r9p", + md5: "3a38f9fd166f37b8abe3441580d9cff5", + sha1: "1af5f894e21e00d4d928db7720a8ba99a2ccf47c", + sha256: + "066706bd80155847a8e0d0ca69112f2c69c374302c38de670908271c1d449bb8", + }, + dob: { date: "1997-12-30T02:51:40.417Z", age: 24 }, + registered: { date: "2014-03-09T17:32:35.947Z", age: 7 }, + phone: "(49) 0911-5461", + cell: "(42) 0249-5361", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/26.jpg", + medium: "https://randomuser.me/api/portraits/med/women/26.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/26.jpg", + }, + nat: "BR", + }, + { + gender: "male", + name: { title: "Mr", first: "Nichal", last: "da Rocha" }, + location: { + street: { number: 8979, name: "Rua Rio de Janeiro " }, + city: "Nova Friburgo", + state: "Espírito Santo", + country: "Brazil", + postcode: 37906, + coordinates: { latitude: "-4.3680", longitude: "-57.1314" }, + timezone: { offset: "-3:30", description: "Newfoundland" }, + }, + email: "nichal.darocha@example.com", + login: { + uuid: "5d6db6a8-108e-46e3-b778-adce9afd5af2", + username: "orangeleopard523", + password: "raiders1", + salt: "LfNj5IYg", + md5: "b3aa022d96bef7d95732c5d483c1acf7", + sha1: "9e08a3d0bfd2f0af19b3883a589f363aac0fa3be", + sha256: + "3502456d495906e3b1a42858ccc63709830adbb3d20471a0ef2279412dcc7430", + }, + dob: { date: "1951-10-13T05:07:17.706Z", age: 70 }, + registered: { date: "2009-06-15T12:11:50.902Z", age: 12 }, + phone: "(04) 0356-7510", + cell: "(79) 8395-8825", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/43.jpg", + medium: "https://randomuser.me/api/portraits/med/men/43.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/43.jpg", + }, + nat: "BR", + }, + { + gender: "male", + name: { title: "Mr", first: "Rick", last: "Turner" }, + location: { + street: { number: 1148, name: "Royal Ln" }, + city: "Dumas", + state: "Minnesota", + country: "United States", + postcode: 54419, + coordinates: { latitude: "40.8638", longitude: "-3.1081" }, + timezone: { offset: "-9:00", description: "Alaska" }, + }, + email: "rick.turner@example.com", + login: { + uuid: "91c3b1c7-826a-4daa-a6b5-df1a1f8d797e", + username: "orangetiger509", + password: "jonathon", + salt: "FuNdLjFg", + md5: "96240b6de77e9704c360d7a072d85ed0", + sha1: "cc6c068562a7444b05d5a144b4947061131dafb2", + sha256: + "3f41058617773971b102f120685f856f383275b484538b87204505a64e510c9f", + }, + dob: { date: "1988-09-20T07:06:50.299Z", age: 33 }, + registered: { date: "2010-02-16T07:25:10.169Z", age: 11 }, + phone: "(623)-904-0724", + cell: "(143)-664-1170", + id: { name: "SSN", value: "871-77-1505" }, + picture: { + large: "https://randomuser.me/api/portraits/men/47.jpg", + medium: "https://randomuser.me/api/portraits/med/men/47.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/47.jpg", + }, + nat: "US", + }, + { + gender: "male", + name: { title: "Monsieur", first: "Tobias", last: "Robin" }, + location: { + street: { number: 4706, name: "Rue de L'Abbé-Migne" }, + city: "Malans", + state: "Ticino", + country: "Switzerland", + postcode: 3247, + coordinates: { latitude: "67.9565", longitude: "-174.3931" }, + timezone: { + offset: "-8:00", + description: "Pacific Time (US & Canada)", + }, + }, + email: "tobias.robin@example.com", + login: { + uuid: "cc31fdaf-7bf3-4c05-99da-4514f980091f", + username: "greenfrog725", + password: "passat", + salt: "i7HPTivJ", + md5: "cc9f0f6885dd184f7433ea36463f185e", + sha1: "e405e3464bce01d34e9d9b24e9f43db68b13bcb0", + sha256: + "c4ea1f60ffa4868d7fea35401925b37ed9c7e5f7c764a955d33259c1b5054f2c", + }, + dob: { date: "1985-10-21T16:31:27.941Z", age: 36 }, + registered: { date: "2011-07-14T06:12:12.374Z", age: 10 }, + phone: "075 120 21 17", + cell: "078 582 92 51", + id: { name: "AVS", value: "756.4284.9278.08" }, + picture: { + large: "https://randomuser.me/api/portraits/men/47.jpg", + medium: "https://randomuser.me/api/portraits/med/men/47.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/47.jpg", + }, + nat: "CH", + }, + { + gender: "female", + name: { title: "Miss", first: "Sam", last: "Morris" }, + location: { + street: { number: 103, name: "Grove Road" }, + city: "Tramore", + state: "Longford", + country: "Ireland", + postcode: 61498, + coordinates: { latitude: "52.3007", longitude: "44.2835" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "sam.morris@example.com", + login: { + uuid: "3cb3cd61-5993-4400-b7e3-c4fb89a93149", + username: "purpleladybug800", + password: "active", + salt: "C9qxC3kG", + md5: "f42b6c5df1df4623b186eec53edd238b", + sha1: "f80640f6208effaad1f24bf926c85c8249aa82bb", + sha256: + "4e7aeb5d4c3f4f9385cb3aa0fea81b26400e8de42df24662dbef4ac49fb49052", + }, + dob: { date: "1997-09-21T18:12:25.412Z", age: 24 }, + registered: { date: "2006-02-16T15:48:01.761Z", age: 15 }, + phone: "051-260-9570", + cell: "081-702-5766", + id: { name: "PPS", value: "6967323T" }, + picture: { + large: "https://randomuser.me/api/portraits/women/72.jpg", + medium: "https://randomuser.me/api/portraits/med/women/72.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/72.jpg", + }, + nat: "IE", + }, + { + gender: "male", + name: { title: "Mr", first: "Nick", last: "Rice" }, + location: { + street: { number: 2296, name: "Park Lane" }, + city: "Clonmel", + state: "Dublin City", + country: "Ireland", + postcode: 59577, + coordinates: { latitude: "63.4202", longitude: "-5.4070" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "nick.rice@example.com", + login: { + uuid: "87b5beca-b050-4571-9d91-26f3cd9b0acc", + username: "smallostrich789", + password: "virgin", + salt: "NEUvEAHa", + md5: "fdda615b541e1eb21df6a9d2e86c0888", + sha1: "f63c347c9f380e0decb6180539c24022b62ada5e", + sha256: + "c0ee314c44ef3b83c59c2843b06255a0873d54701cd263b24020f7cecb010aab", + }, + dob: { date: "1972-02-03T21:12:50.713Z", age: 49 }, + registered: { date: "2009-01-05T16:19:58.711Z", age: 12 }, + phone: "071-191-4901", + cell: "081-045-5383", + id: { name: "PPS", value: "7460727T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/1.jpg", + medium: "https://randomuser.me/api/portraits/med/men/1.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/1.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Mrs", first: "Madison", last: "Bouchard" }, + location: { + street: { number: 526, name: "Parliament St" }, + city: "Springfield", + state: "Manitoba", + country: "Canada", + postcode: "K1U 5Y1", + coordinates: { latitude: "-37.2820", longitude: "-173.6647" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "madison.bouchard@example.com", + login: { + uuid: "d411f199-ffbc-49bd-93e1-660242b9bcdb", + username: "smallcat386", + password: "pants", + salt: "om9nHkx9", + md5: "767abf9b5b246e6f4f92f5211b9007c2", + sha1: "a95bdd3685e8bb8ddfb61be648c6d0b73870afb8", + sha256: + "dda3b97a550e762ca1f1caf3b1c4e98c0aea3f0f556d156a2e2041d1ec36a345", + }, + dob: { date: "1972-07-27T12:15:15.563Z", age: 49 }, + registered: { date: "2016-09-24T04:03:54.885Z", age: 5 }, + phone: "065-289-3539", + cell: "812-088-5086", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/23.jpg", + medium: "https://randomuser.me/api/portraits/med/women/23.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/23.jpg", + }, + nat: "CA", + }, + { + gender: "female", + name: { title: "Ms", first: "Barb", last: "Davidson" }, + location: { + street: { number: 3815, name: "Henry Street" }, + city: "Buncrana", + state: "Offaly", + country: "Ireland", + postcode: 38738, + coordinates: { latitude: "-83.9833", longitude: "73.7395" }, + timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, + }, + email: "barb.davidson@example.com", + login: { + uuid: "bc0809c9-adc2-4213-9bdb-a607185bb279", + username: "brownbear418", + password: "money1", + salt: "Riqs1gaT", + md5: "6dc84e841f2ee6e6f9752ab221143efb", + sha1: "796f07eaa3fff575b853fa118af7550ea4cd3510", + sha256: + "505734eb26b7c821d6f0d0ec1ae3f76996f24a8cfa21c18a45385ce3d4733008", + }, + dob: { date: "1983-09-14T07:15:40.536Z", age: 38 }, + registered: { date: "2003-09-09T21:10:34.600Z", age: 18 }, + phone: "021-643-0743", + cell: "081-291-6177", + id: { name: "PPS", value: "0259663T" }, + picture: { + large: "https://randomuser.me/api/portraits/women/63.jpg", + medium: "https://randomuser.me/api/portraits/med/women/63.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/63.jpg", + }, + nat: "IE", + }, + { + gender: "male", + name: { title: "Mr", first: "Bill", last: "Armstrong" }, + location: { + street: { number: 1930, name: "The Drive" }, + city: "Loughrea", + state: "Dún Laoghaire–Rathdown", + country: "Ireland", + postcode: 51983, + coordinates: { latitude: "-84.5558", longitude: "67.6326" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "bill.armstrong@example.com", + login: { + uuid: "f86926ba-f4ea-4e82-acdf-28c10bad1a1f", + username: "bluerabbit969", + password: "bushido", + salt: "wLg1UUwK", + md5: "586ad586cadfd321cec627a85e8e36dc", + sha1: "d04f23616fc60589d601cdd7da001724072c3dab", + sha256: + "7786296860c53c2f45de88e6d6eaa811ca9cf81a9e59e457e8a5d9b3749e65d3", + }, + dob: { date: "1966-09-29T21:36:31.010Z", age: 55 }, + registered: { date: "2016-01-06T06:26:53.901Z", age: 5 }, + phone: "011-130-4348", + cell: "081-847-3494", + id: { name: "PPS", value: "9284769T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/72.jpg", + medium: "https://randomuser.me/api/portraits/med/men/72.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/72.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Miss", first: "Alice", last: "Barnaby" }, + location: { + street: { number: 7368, name: "Bay Ave" }, + city: "Radisson", + state: "Saskatchewan", + country: "Canada", + postcode: "H5N 0W2", + coordinates: { latitude: "-4.6262", longitude: "-126.1206" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "alice.barnaby@example.com", + login: { + uuid: "0992cc00-932c-4124-a85a-be01d79e8116", + username: "bluepeacock538", + password: "bunker", + salt: "Yc5IQx8O", + md5: "a6d8ed546ebcab18a4a881435ea6a464", + sha1: "5b6c5ccf35e3eb38a9f667527c30ecb513e5c94b", + sha256: + "3cbfd36f241bf24565a9808b5d4d6ce8081331216f958a9f98bac687f7934748", + }, + dob: { date: "1991-05-27T14:08:40.812Z", age: 30 }, + registered: { date: "2012-05-25T17:06:31.081Z", age: 9 }, + phone: "058-471-3785", + cell: "577-762-7603", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/68.jpg", + medium: "https://randomuser.me/api/portraits/med/women/68.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", + }, + nat: "CA", + }, + { + gender: "male", + name: { title: "Mr", first: "Jimmy", last: "Griffin" }, + location: { + street: { number: 5688, name: "W Pecan St" }, + city: "Bowral", + state: "Australian Capital Territory", + country: "Australia", + postcode: 873, + coordinates: { latitude: "80.5027", longitude: "152.5112" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "jimmy.griffin@example.com", + login: { + uuid: "89367bf8-e224-4a3d-be87-db6b6b74a11b", + username: "goldenpeacock679", + password: "christopher", + salt: "sOPNrg0Y", + md5: "444f5aa90d7fe14edbd2814293fa07c7", + sha1: "3e09c71398eca5b086c5292966100e3e6ea8a434", + sha256: + "d24630c1fad1c36e05c1efb35e6e8e7eac7f23065aa9c9883a46711a6bbae224", + }, + dob: { date: "1985-02-22T15:50:35.870Z", age: 36 }, + registered: { date: "2012-04-02T08:15:32.165Z", age: 9 }, + phone: "02-3346-6514", + cell: "0486-516-177", + id: { name: "TFN", value: "352026920" }, + picture: { + large: "https://randomuser.me/api/portraits/men/51.jpg", + medium: "https://randomuser.me/api/portraits/med/men/51.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/51.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Mrs", first: "Carol", last: "Sullivan" }, + location: { + street: { number: 5941, name: "Pearse Street" }, + city: "Athlone", + state: "Fingal", + country: "Ireland", + postcode: 11432, + coordinates: { latitude: "54.6727", longitude: "-12.8820" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "carol.sullivan@example.com", + login: { + uuid: "da1046ea-ae74-4978-b77d-505ddb77d9f9", + username: "yellowfrog296", + password: "smith", + salt: "hZI3uTFH", + md5: "01cff35bfb9b9520b18f1c9bb32d23de", + sha1: "40fea23c620f28f58d2e5d03232726ce4fc98735", + sha256: + "b9392cc746380330d35971cb9ab7391cfb651698251a80674dcbb3494443910c", + }, + dob: { date: "1987-11-07T09:36:54.305Z", age: 34 }, + registered: { date: "2009-05-18T08:54:59.239Z", age: 12 }, + phone: "061-717-1040", + cell: "081-769-9201", + id: { name: "PPS", value: "4638993T" }, + picture: { + large: "https://randomuser.me/api/portraits/women/84.jpg", + medium: "https://randomuser.me/api/portraits/med/women/84.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/84.jpg", + }, + nat: "IE", + }, + { + gender: "male", + name: { title: "Mr", first: "Hudson", last: "Cooper" }, + location: { + street: { number: 7170, name: "Carlton Avenue" }, + city: "Blenheim", + state: "Gisborne", + country: "New Zealand", + postcode: 15990, + coordinates: { latitude: "61.9475", longitude: "-36.7645" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "hudson.cooper@example.com", + login: { + uuid: "9b421de3-a549-4998-a884-1df141ceac8f", + username: "brownzebra375", + password: "iceman", + salt: "Q4kSTAaP", + md5: "0398a116866c06e16b1ed2eb6fa4cf37", + sha1: "b8658becce6421ae6980bf348defa0a9c27eced6", + sha256: + "f4d6f5ac4329ff8646cd32a4150faf4feeef245285d800923f6bc71ec32ff67f", + }, + dob: { date: "1967-07-08T20:16:13.959Z", age: 54 }, + registered: { date: "2005-07-23T18:33:15.053Z", age: 16 }, + phone: "(005)-476-4099", + cell: "(123)-318-5470", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/46.jpg", + medium: "https://randomuser.me/api/portraits/med/men/46.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/46.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "Said", last: "Bjorøy" }, + location: { + street: { number: 8417, name: "Stålverkskroken" }, + city: "Kongsberg", + state: "Rogaland", + country: "Norway", + postcode: "8608", + coordinates: { latitude: "-6.4656", longitude: "160.0704" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "said.bjoroy@example.com", + login: { + uuid: "b80f19ab-e179-4c10-9e84-a930d62e53b4", + username: "purplebear298", + password: "surfer1", + salt: "0MJc2E0W", + md5: "bc64466ef3f35fe98fbfeef43bbff3f7", + sha1: "2bc837c61cc7406d866d0cedcd6e4dd6b74b9771", + sha256: + "2e00a507db65dc2b13e13c04e0764a9ca0e6b87dbbdcc4ebfb6d024fe87a6750", + }, + dob: { date: "1995-06-20T04:34:23.925Z", age: 26 }, + registered: { date: "2016-08-18T04:40:32.863Z", age: 5 }, + phone: "85571123", + cell: "44758774", + id: { name: "FN", value: "20069523375" }, + picture: { + large: "https://randomuser.me/api/portraits/men/32.jpg", + medium: "https://randomuser.me/api/portraits/med/men/32.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/32.jpg", + }, + nat: "NO", + }, + { + gender: "female", + name: { title: "Mrs", first: "Cathy", last: "Harvey" }, + location: { + street: { number: 7198, name: "Tara Street" }, + city: "Trim", + state: "Cavan", + country: "Ireland", + postcode: 52036, + coordinates: { latitude: "63.3215", longitude: "51.4988" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "cathy.harvey@example.com", + login: { + uuid: "ea0660d2-af40-44cc-9fc2-93cb92c1c725", + username: "purplepanda733", + password: "redwings", + salt: "QlGPzXXI", + md5: "68f4247af65a7ba16cf5f20f164b46da", + sha1: "4c08d203d6a4f707b170d0b2192f345a8efa89e7", + sha256: + "85d6c78ec1b6e726c70f91ad09de2b4228c7d67ee44e9120fc00cc33b56f7bd9", + }, + dob: { date: "1989-08-22T20:49:22.432Z", age: 32 }, + registered: { date: "2009-04-21T12:50:52.322Z", age: 12 }, + phone: "041-566-0202", + cell: "081-449-7315", + id: { name: "PPS", value: "4118205T" }, + picture: { + large: "https://randomuser.me/api/portraits/women/33.jpg", + medium: "https://randomuser.me/api/portraits/med/women/33.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/33.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Miss", first: "Victoria", last: "Gibson" }, + location: { + street: { number: 4179, name: "Kingsway" }, + city: "Wakefield", + state: "Greater Manchester", + country: "United Kingdom", + postcode: "W64 9SF", + coordinates: { latitude: "81.7926", longitude: "-128.5449" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "victoria.gibson@example.com", + login: { + uuid: "9bd348f5-595a-4866-be90-1aeee81f5622", + username: "bluedog219", + password: "scrabble", + salt: "nDbzvgWe", + md5: "a9aa7ed955dcdcdc3804282a00395cc6", + sha1: "1da14d9d1c06df17845900878d6a28a468ca8a8f", + sha256: + "60ff53bf17e0a697b7a44ad1f98cbe569c6de22d28ecd17c38c0b88e94962955", + }, + dob: { date: "1957-02-05T02:41:01.871Z", age: 64 }, + registered: { date: "2013-08-09T16:18:25.068Z", age: 8 }, + phone: "016973 12141", + cell: "0771-274-284", + id: { name: "NINO", value: "GC 59 35 84 X" }, + picture: { + large: "https://randomuser.me/api/portraits/women/11.jpg", + medium: "https://randomuser.me/api/portraits/med/women/11.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/11.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Ms", first: "Jasmine", last: "Hughes" }, + location: { + street: { number: 6441, name: "Armagh Street" }, + city: "Blenheim", + state: "West Coast", + country: "New Zealand", + postcode: 79884, + coordinates: { latitude: "31.9966", longitude: "-64.9432" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "jasmine.hughes@example.com", + login: { + uuid: "2cf32566-2698-4ffd-8c0a-bef0251069ec", + username: "tinybear995", + password: "dirty", + salt: "wsh18hl3", + md5: "1cbb45a28672d4e69f8cef64a89e7df4", + sha1: "8ef00d3ce0b009f9e104a86ee4a218c7811f3216", + sha256: + "6f1b3aedcbff75cf2f9deaac70bc81f541f1ae7fecf655b855d8186464601fae", + }, + dob: { date: "1985-02-17T03:09:31.827Z", age: 36 }, + registered: { date: "2003-03-25T17:52:37.090Z", age: 18 }, + phone: "(861)-576-8582", + cell: "(441)-058-1134", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/80.jpg", + medium: "https://randomuser.me/api/portraits/med/women/80.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/80.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "James", last: "Barnaby" }, + location: { + street: { number: 4294, name: "22nd Ave" }, + city: "Trout Lake", + state: "Saskatchewan", + country: "Canada", + postcode: "H6Y 5Q5", + coordinates: { latitude: "6.8159", longitude: "44.6518" }, + timezone: { + offset: "+11:00", + description: "Magadan, Solomon Islands, New Caledonia", + }, + }, + email: "james.barnaby@example.com", + login: { + uuid: "19bef36c-9de4-4fdd-b456-267d6e253b2f", + username: "goldenduck327", + password: "samuel1", + salt: "xhawFOjn", + md5: "aca55c4eddca00d2f0e0779caadd93dd", + sha1: "11b4f86188ecd35228fcf9d5dda9e0c88a0915bc", + sha256: + "617f5155a368e4d3bc870f7055c4a14dfc2b44da028e7305d484f39a3543b4db", + }, + dob: { date: "1960-12-07T21:24:11.338Z", age: 61 }, + registered: { date: "2014-10-19T20:56:22.601Z", age: 7 }, + phone: "340-894-8352", + cell: "988-163-7167", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/49.jpg", + medium: "https://randomuser.me/api/portraits/med/men/49.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/49.jpg", + }, + nat: "CA", + }, + { + gender: "male", + name: { title: "Mr", first: "Albert", last: "Jensen" }, + location: { + street: { number: 7917, name: "Fyrrelunden" }, + city: "Assens", + state: "Syddanmark", + country: "Denmark", + postcode: 27151, + coordinates: { latitude: "-41.4703", longitude: "116.0890" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "albert.jensen@example.com", + login: { + uuid: "7f15d39a-4d13-4780-897c-795da7e1c616", + username: "tinylion672", + password: "screw", + salt: "VXLC4OSU", + md5: "5be7217e20373acd1d6b6d0319c940c3", + sha1: "1d0280e3b9d99ead01604f25f5259bc6af6220e8", + sha256: + "403082cba77e956b5ae587caba51cab5e15dd6b57d0d26692987b47443ade97b", + }, + dob: { date: "1997-10-21T23:40:42.161Z", age: 24 }, + registered: { date: "2013-06-20T06:54:33.216Z", age: 8 }, + phone: "50899980", + cell: "55070538", + id: { name: "CPR", value: "211097-4582" }, + picture: { + large: "https://randomuser.me/api/portraits/men/46.jpg", + medium: "https://randomuser.me/api/portraits/med/men/46.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/46.jpg", + }, + nat: "DK", + }, + { + gender: "female", + name: { title: "Mrs", first: "هلیا", last: "رضایی" }, + location: { + street: { number: 4726, name: "آیت الله کاشانی" }, + city: "تهران", + state: "گیلان", + country: "Iran", + postcode: 79806, + coordinates: { latitude: "47.2573", longitude: "-0.3829" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "hly.rdyy@example.com", + login: { + uuid: "7a974827-9725-4fb8-879c-7cb739df16ae", + username: "whiteostrich383", + password: "claude", + salt: "VfraAodk", + md5: "7aa87fede08b03751f176e6629322e2c", + sha1: "c0e42a9a9d711b136a981b379a8a557d1f048b54", + sha256: + "fe17ec63d34a0383c5230e252095ee1e998ad1aeafb4af12c7a0c6ffac1edc4b", + }, + dob: { date: "1992-11-20T05:32:07.416Z", age: 29 }, + registered: { date: "2015-03-29T23:20:19.680Z", age: 6 }, + phone: "005-61441170", + cell: "0916-945-0403", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/39.jpg", + medium: "https://randomuser.me/api/portraits/med/women/39.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/39.jpg", + }, + nat: "IR", + }, + { + gender: "female", + name: { title: "Ms", first: "Maëlys", last: "Roux" }, + location: { + street: { number: 2789, name: "Rue Barrier" }, + city: "Brest", + state: "Paris", + country: "France", + postcode: 80801, + coordinates: { latitude: "40.8833", longitude: "79.2332" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "maelys.roux@example.com", + login: { + uuid: "8575c4af-2e2f-4ef7-b4f9-a697d8f1ad7d", + username: "lazyrabbit129", + password: "surfing", + salt: "qAW4hKMV", + md5: "a89e1b971a88969dfaeb810ff7782e9c", + sha1: "ba105cbe6efab287fbcf120b394cdbe9f9e1bf09", + sha256: + "5f78b4c24f4b64b3e1b4dbf4aaa8187c07eaa552ba8e7f74f7fe62ef101e9f5a", + }, + dob: { date: "1965-10-14T21:20:05.000Z", age: 56 }, + registered: { date: "2006-02-17T13:46:03.349Z", age: 15 }, + phone: "05-72-56-59-04", + cell: "06-80-52-89-88", + id: { name: "INSEE", value: "2NNaN73597183 80" }, + picture: { + large: "https://randomuser.me/api/portraits/women/28.jpg", + medium: "https://randomuser.me/api/portraits/med/women/28.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/28.jpg", + }, + nat: "FR", + }, + { + gender: "female", + name: { title: "Ms", first: "Marianne", last: "Scott" }, + location: { + street: { number: 9494, name: "St. Lawrence Ave" }, + city: "South River", + state: "Ontario", + country: "Canada", + postcode: "U3C 5O1", + coordinates: { latitude: "37.6500", longitude: "34.3178" }, + timezone: { offset: "+3:30", description: "Tehran" }, + }, + email: "marianne.scott@example.com", + login: { + uuid: "ff748cf2-1f43-4ff8-a778-a5d9feefd211", + username: "crazymouse541", + password: "guan", + salt: "jf3C4y6y", + md5: "51883359f73301b93e3fb65f9cdcf821", + sha1: "41564b3378728f24c0bcb6b50635e67e9fe6c0eb", + sha256: + "981170fea38af6ee9a1598581bd02e8ebba82eb452aaf3d9f06556f66da439d8", + }, + dob: { date: "1985-04-09T21:44:23.329Z", age: 36 }, + registered: { date: "2003-09-25T10:10:00.751Z", age: 18 }, + phone: "223-490-8458", + cell: "776-617-5777", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/27.jpg", + medium: "https://randomuser.me/api/portraits/med/women/27.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/27.jpg", + }, + nat: "CA", + }, + { + gender: "male", + name: { title: "Mr", first: "Dieter", last: "Demir" }, + location: { + street: { number: 4388, name: "Rosenweg" }, + city: "Lindau (Bodensee)", + state: "Nordrhein-Westfalen", + country: "Germany", + postcode: 49375, + coordinates: { latitude: "18.4141", longitude: "110.4538" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "dieter.demir@example.com", + login: { + uuid: "e594a200-bd52-4244-86bc-b81e67e8544d", + username: "lazybutterfly162", + password: "klingon", + salt: "vdRefdBe", + md5: "fa62333c1f8582139f4a56e258e502ae", + sha1: "16472db73367905f676cb4cba4362b9cf45091eb", + sha256: + "da7d6a9b3319679be372e61558db850bb03d7b6d4afbb1fb90082901f1739460", + }, + dob: { date: "1993-03-29T10:02:44.813Z", age: 28 }, + registered: { date: "2010-01-15T16:19:38.927Z", age: 11 }, + phone: "0713-2561502", + cell: "0179-4437806", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/5.jpg", + medium: "https://randomuser.me/api/portraits/med/men/5.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/5.jpg", + }, + nat: "DE", + }, + { + gender: "female", + name: { title: "Miss", first: "Peppi", last: "Lepisto" }, + location: { + street: { number: 6361, name: "Satakennankatu" }, + city: "Hyvinkää", + state: "Southern Savonia", + country: "Finland", + postcode: 39273, + coordinates: { latitude: "78.4911", longitude: "-119.0641" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "peppi.lepisto@example.com", + login: { + uuid: "a3a8c0f6-3790-4d40-ab5e-9c52dd821ed1", + username: "whitemouse641", + password: "mandingo", + salt: "7Jrkg7uE", + md5: "87e5065172f65219756dca3a410e95dd", + sha1: "449c80b5a5ee9cdbbdc0da3cc33f095fdf171547", + sha256: + "a9b20f216dd73e1e15aa74b10bf4be5c392a2ba9435137da3dca19e6e012d97d", + }, + dob: { date: "1951-11-17T03:46:57.804Z", age: 70 }, + registered: { date: "2008-05-03T05:33:17.734Z", age: 13 }, + phone: "05-670-455", + cell: "047-461-55-16", + id: { name: "HETU", value: "NaNNA832undefined" }, + picture: { + large: "https://randomuser.me/api/portraits/women/38.jpg", + medium: "https://randomuser.me/api/portraits/med/women/38.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/38.jpg", + }, + nat: "FI", + }, + { + gender: "male", + name: { title: "Mr", first: "Çetin", last: "Durmaz" }, + location: { + street: { number: 5079, name: "Mevlana Cd" }, + city: "Batman", + state: "Batman", + country: "Turkey", + postcode: 86661, + coordinates: { latitude: "-60.4613", longitude: "-89.5903" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "cetin.durmaz@example.com", + login: { + uuid: "848df543-2d31-468f-8b84-e092c6a39931", + username: "yellowrabbit152", + password: "manchest", + salt: "rlTNMoIq", + md5: "b65fd173b11bc1197fda2854af94e72f", + sha1: "6c4c980cc94d226af0816f35d17f8d47cc8fc90c", + sha256: + "4db5e16722a0d6bc5eb7ad411a5fa607211a4b71f60e4674c6b585a21a4d3ba9", + }, + dob: { date: "1990-05-23T12:12:05.955Z", age: 31 }, + registered: { date: "2017-05-17T19:31:34.755Z", age: 4 }, + phone: "(529)-637-1048", + cell: "(678)-279-1030", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/53.jpg", + medium: "https://randomuser.me/api/portraits/med/men/53.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/53.jpg", + }, + nat: "TR", + }, + { + gender: "female", + name: { title: "Ms", first: "Sabira", last: "Bunnik" }, + location: { + street: { number: 1297, name: "Kaatsplein" }, + city: "Oosthuizen", + state: "Noord-Brabant", + country: "Netherlands", + postcode: 14389, + coordinates: { latitude: "-61.1329", longitude: "90.8421" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "sabira.bunnik@example.com", + login: { + uuid: "f8a79405-20fa-4207-b3a6-3b36947aa77a", + username: "beautifulmeercat362", + password: "gggggggg", + salt: "94MTLSh1", + md5: "54666fb552093ba907da64ee52e747fb", + sha1: "c8b8f4f54b638f4bd2fe4c829a8ae6bc7976ec5b", + sha256: + "fec7a37f502c167790b9e63bb3f247920175e17532774a6250fd9625ecddfe0d", + }, + dob: { date: "1959-11-02T13:53:20.505Z", age: 62 }, + registered: { date: "2010-10-25T16:33:46.609Z", age: 11 }, + phone: "(152)-026-5802", + cell: "(254)-594-3513", + id: { name: "BSN", value: "76042128" }, + picture: { + large: "https://randomuser.me/api/portraits/women/40.jpg", + medium: "https://randomuser.me/api/portraits/med/women/40.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/40.jpg", + }, + nat: "NL", + }, + { + gender: "male", + name: { title: "Mr", first: "Sigurd", last: "Reitan" }, + location: { + street: { number: 7016, name: "Rasmus Winderens vei" }, + city: "Berger", + state: "Rogaland", + country: "Norway", + postcode: "0272", + coordinates: { latitude: "-9.1996", longitude: "109.2904" }, + timezone: { offset: "-9:00", description: "Alaska" }, + }, + email: "sigurd.reitan@example.com", + login: { + uuid: "b1afa691-fb86-4b1f-b079-6105af5b9ee0", + username: "sadostrich883", + password: "kisses", + salt: "wzAcyv8O", + md5: "c435217328229b04ceaa3a0cc4d5b3ce", + sha1: "cb84fb49461aa521dc3132d8d86d509c9807a7cd", + sha256: + "8cb6e1b8f050f45f71ef846b75b3412e7a00c02b1f028ba2df7a53afd43911b5", + }, + dob: { date: "1988-02-21T15:36:49.594Z", age: 33 }, + registered: { date: "2010-08-11T20:54:07.142Z", age: 11 }, + phone: "30417028", + cell: "94398777", + id: { name: "FN", value: "21028811133" }, + picture: { + large: "https://randomuser.me/api/portraits/men/53.jpg", + medium: "https://randomuser.me/api/portraits/med/men/53.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/53.jpg", + }, + nat: "NO", + }, + { + gender: "female", + name: { title: "Ms", first: "Jorijn", last: "Trompert" }, + location: { + street: { number: 7470, name: "Burg. Schonfeldplein" }, + city: "Tonden", + state: "Noord-Brabant", + country: "Netherlands", + postcode: 16514, + coordinates: { latitude: "33.4761", longitude: "-79.1856" }, + timezone: { offset: "-3:30", description: "Newfoundland" }, + }, + email: "jorijn.trompert@example.com", + login: { + uuid: "ed1fb75b-f5f4-4f73-a3ee-c52a14f6a8dd", + username: "beautifulostrich614", + password: "cheshire", + salt: "j9plFYtg", + md5: "5197d594468236655e04c01407a6c2eb", + sha1: "443ef8b0a46340dca0a24e5e062e8bcd53d27ead", + sha256: + "9a23e9a06e6d59da85e31757eac572b9fb7ac09afe8cbe1f0d27af24f77a19f6", + }, + dob: { date: "1948-08-20T13:19:58.105Z", age: 73 }, + registered: { date: "2008-03-24T12:31:20.932Z", age: 13 }, + phone: "(013)-212-0931", + cell: "(788)-634-7647", + id: { name: "BSN", value: "57948867" }, + picture: { + large: "https://randomuser.me/api/portraits/women/16.jpg", + medium: "https://randomuser.me/api/portraits/med/women/16.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/16.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Madame", first: "Flora", last: "Guerin" }, + location: { + street: { number: 2349, name: "Avenue de la Libération" }, + city: "Sennwald", + state: "Glarus", + country: "Switzerland", + postcode: 8068, + coordinates: { latitude: "42.2642", longitude: "95.4980" }, + timezone: { + offset: "+1:00", + description: "Brussels, Copenhagen, Madrid, Paris", + }, + }, + email: "flora.guerin@example.com", + login: { + uuid: "cebaa9bf-27ba-4ebf-b3b0-02257e3cbf35", + username: "tinylion491", + password: "rocky1", + salt: "Me6BIweg", + md5: "66c76281a8711f35859d7f97f80bc686", + sha1: "1bfc36b5acb17ea7a94af8d155870609adc312e8", + sha256: + "d61771081fd525d0d44406111826c17ad7106e4a561dcb21302d496868ff12a9", + }, + dob: { date: "1990-04-12T06:23:49.947Z", age: 31 }, + registered: { date: "2012-04-06T15:28:03.814Z", age: 9 }, + phone: "075 852 04 52", + cell: "079 950 38 61", + id: { name: "AVS", value: "756.2408.9798.01" }, + picture: { + large: "https://randomuser.me/api/portraits/women/57.jpg", + medium: "https://randomuser.me/api/portraits/med/women/57.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/57.jpg", + }, + nat: "CH", + }, + { + gender: "male", + name: { title: "Mr", first: "Kirk", last: "Arnold" }, + location: { + street: { number: 4059, name: "Bollinger Rd" }, + city: "Warragul", + state: "Tasmania", + country: "Australia", + postcode: 7986, + coordinates: { latitude: "82.8795", longitude: "157.6024" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "kirk.arnold@example.com", + login: { + uuid: "a03540cc-71f6-4fff-9150-808f1136b9a5", + username: "browntiger926", + password: "visual", + salt: "iYkSIB2Y", + md5: "8a382b239490c543f06f7d8c0bb5d810", + sha1: "5ff7327c259193383464cb8c9507d74958025b8a", + sha256: + "33e189ecb0138b3ee7d59cd8201ddd180a2236da886d07adbd7571350329c529", + }, + dob: { date: "1992-08-24T12:16:22.928Z", age: 29 }, + registered: { date: "2011-07-10T14:58:30.905Z", age: 10 }, + phone: "04-5753-7374", + cell: "0479-535-804", + id: { name: "TFN", value: "592848874" }, + picture: { + large: "https://randomuser.me/api/portraits/men/57.jpg", + medium: "https://randomuser.me/api/portraits/med/men/57.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/57.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Mrs", first: "Clara", last: "Esteban" }, + location: { + street: { number: 903, name: "Paseo de Zorrilla" }, + city: "Valladolid", + state: "Cataluña", + country: "Spain", + postcode: 92240, + coordinates: { latitude: "7.2308", longitude: "59.4957" }, + timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, + }, + email: "clara.esteban@example.com", + login: { + uuid: "d999d6f4-6f92-478b-b1a2-1645f261db32", + username: "heavymouse717", + password: "tinker", + salt: "yxymNp15", + md5: "ce1379a93a870ed5bd0444a121089dda", + sha1: "1501151ded9c48f6520934ea073039057ceae596", + sha256: + "a71cff94483bf197b01c2aaa2763e585ed02ff23bd04dbdcd986863ce90ddaf3", + }, + dob: { date: "1969-10-30T19:08:54.431Z", age: 52 }, + registered: { date: "2013-01-07T20:01:02.302Z", age: 8 }, + phone: "923-975-382", + cell: "630-002-006", + id: { name: "DNI", value: "09930171-S" }, + picture: { + large: "https://randomuser.me/api/portraits/women/71.jpg", + medium: "https://randomuser.me/api/portraits/med/women/71.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/71.jpg", + }, + nat: "ES", + }, + { + gender: "female", + name: { title: "Ms", first: "Florentine", last: "Dierkes" }, + location: { + street: { number: 1029, name: "Waldweg" }, + city: "Altenberg", + state: "Baden-Württemberg", + country: "Germany", + postcode: 17076, + coordinates: { latitude: "-71.7495", longitude: "-37.9957" }, + timezone: { offset: "+3:30", description: "Tehran" }, + }, + email: "florentine.dierkes@example.com", + login: { + uuid: "79588101-79ed-4c49-89b5-525a735e85f2", + username: "silverfish110", + password: "longdong", + salt: "1JWOOIpS", + md5: "b2796b39918b01e07bff10b56c9fc882", + sha1: "59dfd47ff8af267eba09950b3b86762847d05ed0", + sha256: + "b9482e658b5de3e251afede9f28657d431f08a8be8b75ab1dca9775f2a898f06", + }, + dob: { date: "1984-07-04T00:00:46.199Z", age: 37 }, + registered: { date: "2018-06-27T07:45:26.228Z", age: 3 }, + phone: "0115-5823152", + cell: "0173-8016807", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/58.jpg", + medium: "https://randomuser.me/api/portraits/med/women/58.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/58.jpg", + }, + nat: "DE", + }, + { + gender: "male", + name: { title: "Mr", first: "Kurt", last: "Howard" }, + location: { + street: { number: 1129, name: "Northaven Rd" }, + city: "Joliet", + state: "Minnesota", + country: "United States", + postcode: 79075, + coordinates: { latitude: "78.7565", longitude: "-117.8021" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "kurt.howard@example.com", + login: { + uuid: "3227ebd3-a7ff-4591-af1d-0f19e8bb57d6", + username: "lazybutterfly897", + password: "monkeybo", + salt: "IgSHWgAs", + md5: "c5aff0663e587c6feeb0edb4cd8dccc5", + sha1: "cdf6cfabf357b2b3e4f0f75173ac4ddc02b9292a", + sha256: + "a528022b76c6ec34004fb10c5116c9b004e0440c2a30d05f9c7cb06b6921bc42", + }, + dob: { date: "1964-01-16T12:44:41.425Z", age: 57 }, + registered: { date: "2003-03-21T06:29:32.802Z", age: 18 }, + phone: "(477)-945-9680", + cell: "(101)-976-4222", + id: { name: "SSN", value: "760-99-9768" }, + picture: { + large: "https://randomuser.me/api/portraits/men/96.jpg", + medium: "https://randomuser.me/api/portraits/med/men/96.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/96.jpg", + }, + nat: "US", + }, + { + gender: "female", + name: { title: "Mrs", first: "Ilonka", last: "Schalks" }, + location: { + street: { number: 9899, name: "Bramhaar" }, + city: "Nieuweschild", + state: "Noord-Holland", + country: "Netherlands", + postcode: 64570, + coordinates: { latitude: "-26.9045", longitude: "-129.6452" }, + timezone: { + offset: "+10:00", + description: "Eastern Australia, Guam, Vladivostok", + }, + }, + email: "ilonka.schalks@example.com", + login: { + uuid: "0bd0c026-f675-4f1c-a081-8223b107d904", + username: "tinylion840", + password: "clemson", + salt: "6q4Y8Vsg", + md5: "6401c7ae9da62b9e1e2411a4dcd88084", + sha1: "51c60f8da26cdded536264858d52a0247553304e", + sha256: + "59a8ecd6161c16e8b7c88e65e8d9ad1e978daafc8282574b8f694fa1ebb29994", + }, + dob: { date: "1980-07-07T11:15:50.085Z", age: 41 }, + registered: { date: "2008-11-12T17:55:52.957Z", age: 13 }, + phone: "(386)-965-9474", + cell: "(750)-715-5460", + id: { name: "BSN", value: "50468047" }, + picture: { + large: "https://randomuser.me/api/portraits/women/35.jpg", + medium: "https://randomuser.me/api/portraits/med/women/35.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/35.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Mrs", first: "النا", last: "احمدی" }, + location: { + street: { number: 7649, name: "رسالت" }, + city: "قدس", + state: "هرمزگان", + country: "Iran", + postcode: 99674, + coordinates: { latitude: "21.3113", longitude: "-91.1112" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "ln.hmdy@example.com", + login: { + uuid: "c2e82355-7582-4906-bd45-2ba64c9d84f2", + username: "brownbird889", + password: "pitchers", + salt: "ZMFYBPpw", + md5: "988ea8e6abe59cb6219d9f52f652330b", + sha1: "d7b7decb9bb4602ff3019695a7afaae691c693f6", + sha256: + "c0072a40cb277a8936e1b6ad9683c4e060f15489ed33d121f00649645be07648", + }, + dob: { date: "1956-08-08T17:14:35.476Z", age: 65 }, + registered: { date: "2017-06-09T21:08:58.260Z", age: 4 }, + phone: "055-85367369", + cell: "0924-672-8472", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/10.jpg", + medium: "https://randomuser.me/api/portraits/med/women/10.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/10.jpg", + }, + nat: "IR", + }, + { + gender: "female", + name: { title: "Ms", first: "Tilde", last: "Nielsen" }, + location: { + street: { number: 3825, name: "Agnetevej" }, + city: "Pandrup", + state: "Syddanmark", + country: "Denmark", + postcode: 16885, + coordinates: { latitude: "-33.9064", longitude: "150.4714" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "tilde.nielsen@example.com", + login: { + uuid: "abe9652d-fa39-4c56-a98e-e1c0f594e539", + username: "beautifuldog116", + password: "qazxsw", + salt: "Abcf2BIV", + md5: "003aae43d2e3693251eed39a44d65750", + sha1: "7f8799f5d05bb866b50c29264df6c84118f5bf19", + sha256: + "ec38b1e7354222ee6c92204ddb9dbc117aecd4e4f246a356d4de1ca9ea719d1f", + }, + dob: { date: "1955-07-11T13:04:12.445Z", age: 66 }, + registered: { date: "2007-09-22T03:09:46.898Z", age: 14 }, + phone: "31594692", + cell: "98724827", + id: { name: "CPR", value: "110755-5670" }, + picture: { + large: "https://randomuser.me/api/portraits/women/60.jpg", + medium: "https://randomuser.me/api/portraits/med/women/60.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/60.jpg", + }, + nat: "DK", + }, + { + gender: "female", + name: { title: "Madame", first: "Sylviane", last: "Roger" }, + location: { + street: { number: 497, name: "Avenue de la Libération" }, + city: "Geltwil", + state: "St. Gallen", + country: "Switzerland", + postcode: 5054, + coordinates: { latitude: "-2.2319", longitude: "-19.7653" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "sylviane.roger@example.com", + login: { + uuid: "1d580e6a-069b-43a1-ba23-9920b6533620", + username: "smallfish397", + password: "hudson", + salt: "mZVxJTlr", + md5: "cff894b9bc87a42c11b790774892230d", + sha1: "1c37909637cf62439f7c56f7cc2f2468399b2a0a", + sha256: + "9a0af518fef22119536ce86a979404f829dfd62030d861d7cbf64af70639df04", + }, + dob: { date: "1980-11-17T01:35:46.378Z", age: 41 }, + registered: { date: "2005-06-14T02:26:22.230Z", age: 16 }, + phone: "075 044 72 74", + cell: "077 959 59 39", + id: { name: "AVS", value: "756.9116.0488.18" }, + picture: { + large: "https://randomuser.me/api/portraits/women/18.jpg", + medium: "https://randomuser.me/api/portraits/med/women/18.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/18.jpg", + }, + nat: "CH", + }, + { + gender: "male", + name: { title: "Monsieur", first: "Dominique", last: "Moulin" }, + location: { + street: { number: 6655, name: "Rue de L'Abbaye" }, + city: "Riviera", + state: "Basel-Stadt", + country: "Switzerland", + postcode: 9516, + coordinates: { latitude: "3.0978", longitude: "50.4870" }, + timezone: { offset: "-2:00", description: "Mid-Atlantic" }, + }, + email: "dominique.moulin@example.com", + login: { + uuid: "0bb61968-5bb2-4c78-988f-5760aaf66dd7", + username: "lazyelephant971", + password: "soldier", + salt: "3ydORJUx", + md5: "2b0e3bd3367a05ae36ad56261f2ef459", + sha1: "285d056db131c26f1c892792a75db257087950a3", + sha256: + "d6499671593e550062ea428f01446c5bed8550314dddbb685e0860feae274534", + }, + dob: { date: "1968-06-23T21:35:10.010Z", age: 53 }, + registered: { date: "2018-07-03T09:19:30.287Z", age: 3 }, + phone: "075 013 51 24", + cell: "076 624 83 95", + id: { name: "AVS", value: "756.3360.1769.48" }, + picture: { + large: "https://randomuser.me/api/portraits/men/8.jpg", + medium: "https://randomuser.me/api/portraits/med/men/8.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/8.jpg", + }, + nat: "CH", + }, + { + gender: "male", + name: { title: "Mr", first: "Vedat", last: "Köybaşı" }, + location: { + street: { number: 9615, name: "Maçka Cd" }, + city: "Kilis", + state: "Adıyaman", + country: "Turkey", + postcode: 56292, + coordinates: { latitude: "84.6186", longitude: "50.3632" }, + timezone: { offset: "+5:45", description: "Kathmandu" }, + }, + email: "vedat.koybasi@example.com", + login: { + uuid: "1fa9fc70-9b3d-41f5-94bd-7843b3fac73b", + username: "sadgoose825", + password: "bessie", + salt: "y89FRVQn", + md5: "a08cf75fbf537de9eb60f552a7006f11", + sha1: "4c82cbd509b33cc578c98af53fddc2fa1b4c3026", + sha256: + "929725a6d0d11cd44ea4169ac8d6cf844c7405d8a57bf1772fce3eb2b63d73bf", + }, + dob: { date: "1990-12-29T19:00:48.157Z", age: 31 }, + registered: { date: "2017-11-12T11:54:22.515Z", age: 4 }, + phone: "(643)-764-9780", + cell: "(910)-343-2413", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/6.jpg", + medium: "https://randomuser.me/api/portraits/med/men/6.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/6.jpg", + }, + nat: "TR", + }, + { + gender: "male", + name: { title: "Mr", first: "كيان", last: "سهيلي راد" }, + location: { + street: { number: 3124, name: "سمیه" }, + city: "بابل", + state: "فارس", + country: "Iran", + postcode: 81730, + coordinates: { latitude: "-75.4581", longitude: "-153.0268" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "kyn.shylyrd@example.com", + login: { + uuid: "4e1f25d9-18ed-4f59-baf3-dcff7f1f5792", + username: "sadgorilla597", + password: "laurent", + salt: "busC2OoH", + md5: "a848364a23e1c9527a5c83163ce05537", + sha1: "7740dfa29d8568d35e02ddf16b69e1d808895281", + sha256: + "f7f857d2dad30146f18d95be2a131105b842ef674ce0480badffe50bea6dbb07", + }, + dob: { date: "1996-10-10T11:36:20.416Z", age: 25 }, + registered: { date: "2008-12-15T00:59:52.887Z", age: 13 }, + phone: "003-27180657", + cell: "0933-594-0884", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/52.jpg", + medium: "https://randomuser.me/api/portraits/med/men/52.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/52.jpg", + }, + nat: "IR", + }, + { + gender: "male", + name: { title: "Mr", first: "Carlos", last: "Araújo" }, + location: { + street: { number: 4259, name: "Avenida da Legalidade" }, + city: "Paulista", + state: "Rio Grande do Sul", + country: "Brazil", + postcode: 79569, + coordinates: { latitude: "-73.4989", longitude: "150.8304" }, + timezone: { + offset: "+7:00", + description: "Bangkok, Hanoi, Jakarta", + }, + }, + email: "carlos.araujo@example.com", + login: { + uuid: "994a2d0e-8d07-4c2a-b12f-96c17702c54a", + username: "bluemeercat946", + password: "royal", + salt: "F1pPOfqq", + md5: "ba6f2952beacf97e7bd09521cb3cd6b5", + sha1: "b2ae97ddc817317301ac98931bf2a6247cc926dd", + sha256: + "11365d5e04d667842b81f292f33e0bc56d4316dbc82319db34c19461a79f84bc", + }, + dob: { date: "1983-02-27T12:06:00.298Z", age: 38 }, + registered: { date: "2004-05-22T07:56:50.994Z", age: 17 }, + phone: "(82) 9006-3899", + cell: "(48) 9099-8047", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/78.jpg", + medium: "https://randomuser.me/api/portraits/med/men/78.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/78.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Ms", first: "Eva", last: "Torres" }, + location: { + street: { number: 3448, name: "Avenida de Salamanca" }, + city: "Arrecife", + state: "Galicia", + country: "Spain", + postcode: 66399, + coordinates: { latitude: "8.1063", longitude: "-144.2256" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "eva.torres@example.com", + login: { + uuid: "38682f82-9706-47d0-9b85-b1c6a8f1c6b2", + username: "organicpanda809", + password: "pumpkins", + salt: "N4RePtAQ", + md5: "f18f7fd25d0aa570466ca25fb41083a2", + sha1: "7ebc6a6aad9a284de0b2eb2c0d83d178fa320ab8", + sha256: + "f6a30facdada9d6122ccf87bfc55160c83b1d9ce8fbd8da77375d9e1d224f869", + }, + dob: { date: "1973-12-19T23:42:07.932Z", age: 48 }, + registered: { date: "2018-06-24T20:53:34.455Z", age: 3 }, + phone: "968-561-090", + cell: "620-681-737", + id: { name: "DNI", value: "89615674-Q" }, + picture: { + large: "https://randomuser.me/api/portraits/women/19.jpg", + medium: "https://randomuser.me/api/portraits/med/women/19.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/19.jpg", + }, + nat: "ES", + }, + { + gender: "male", + name: { title: "Mr", first: "Jacob", last: "Sjo" }, + location: { + street: { number: 9100, name: "Bisp Nikolas' gate" }, + city: "Hyggen", + state: "Nordland", + country: "Norway", + postcode: "4620", + coordinates: { latitude: "69.3729", longitude: "-143.2750" }, + timezone: { + offset: "+9:00", + description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", + }, + }, + email: "jacob.sjo@example.com", + login: { + uuid: "99b864a0-84c6-43f6-8981-2aa91f35bd77", + username: "purplegorilla826", + password: "help", + salt: "lKdvYBZ1", + md5: "0030514f83be82c58fb16c965ca42fe2", + sha1: "25779086760acf76792f4c3528574ec987ffc4e6", + sha256: + "0cd00ffe8cd3d6638ce801f1b366ce15bb805a55bdd29f0e307f2093e447c6ba", + }, + dob: { date: "1948-07-23T08:03:49.452Z", age: 73 }, + registered: { date: "2012-11-06T13:56:15.202Z", age: 9 }, + phone: "51400403", + cell: "46703446", + id: { name: "FN", value: "23074835791" }, + picture: { + large: "https://randomuser.me/api/portraits/men/60.jpg", + medium: "https://randomuser.me/api/portraits/med/men/60.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/60.jpg", + }, + nat: "NO", + }, + { + gender: "male", + name: { title: "Mr", first: "Quinn", last: "Morris" }, + location: { + street: { number: 9118, name: "Walton Street" }, + city: "New Plymouth", + state: "Wellington", + country: "New Zealand", + postcode: 46205, + coordinates: { latitude: "-34.3378", longitude: "93.7999" }, + timezone: { + offset: "-6:00", + description: "Central Time (US & Canada), Mexico City", + }, + }, + email: "quinn.morris@example.com", + login: { + uuid: "39626201-60a1-45dc-bec1-c6775e9e33fc", + username: "angrymeercat642", + password: "quest1", + salt: "wwS48qEH", + md5: "58286821ca5b286dbbb3291edbdd38fd", + sha1: "2e8302657808b6d9a6095b38c2f5ceb7ca1e468d", + sha256: + "2b0f1e8624835ffcd7cb936a841f9aa1ac20d90de3c52b40156eaf1c8d4fe3ee", + }, + dob: { date: "1992-12-02T20:04:21.930Z", age: 29 }, + registered: { date: "2011-12-30T06:48:48.932Z", age: 10 }, + phone: "(243)-718-7963", + cell: "(687)-185-2058", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/39.jpg", + medium: "https://randomuser.me/api/portraits/med/men/39.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/39.jpg", + }, + nat: "NZ", + }, + { + gender: "male", + name: { title: "Mr", first: "Célestin", last: "Rodriguez" }, + location: { + street: { number: 5920, name: "Rue de la Gare" }, + city: "Le Havre", + state: "Seine-et-Marne", + country: "France", + postcode: 96713, + coordinates: { latitude: "-89.7479", longitude: "145.0676" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "celestin.rodriguez@example.com", + login: { + uuid: "c127f429-f701-4905-8827-ac343fb81539", + username: "whitebird214", + password: "chaser", + salt: "AU9tVkco", + md5: "6b32bacdf42f639eaf7ec997e6785271", + sha1: "c0221fdbe5149edd2c1a899f463e389839af96d0", + sha256: + "fa54c5e578d934750b428d1e80d6ef47cc7ef35067611829f18915c72ea9be4c", + }, + dob: { date: "1967-07-10T07:18:38.828Z", age: 54 }, + registered: { date: "2011-09-21T11:52:12.636Z", age: 10 }, + phone: "03-57-07-38-85", + cell: "06-95-58-24-82", + id: { name: "INSEE", value: "1NNaN51007867 63" }, + picture: { + large: "https://randomuser.me/api/portraits/men/15.jpg", + medium: "https://randomuser.me/api/portraits/med/men/15.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/15.jpg", + }, + nat: "FR", + }, + { + gender: "male", + name: { title: "Mr", first: "Fatih", last: "Poyrazoğlu" }, + location: { + street: { number: 7266, name: "Talak Göktepe Cd" }, + city: "Siirt", + state: "Mersin", + country: "Turkey", + postcode: 46443, + coordinates: { latitude: "67.3415", longitude: "95.8383" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "fatih.poyrazoglu@example.com", + login: { + uuid: "3b6cc3be-f32e-45e7-964f-86a4ab13f574", + username: "crazygoose229", + password: "neil", + salt: "jM2AAmh2", + md5: "33b477a314b7ce024bdc3b1680842daa", + sha1: "0703a77210b173bd0d0fc4643f29b817d233177a", + sha256: + "c56c87c9796a376e6ed2455eef7ae693028c4269c6a9e0c0a025ea1727e5e9cf", + }, + dob: { date: "1964-10-21T20:00:02.723Z", age: 57 }, + registered: { date: "2012-04-22T03:12:08.487Z", age: 9 }, + phone: "(437)-142-7105", + cell: "(836)-879-6796", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/17.jpg", + medium: "https://randomuser.me/api/portraits/med/men/17.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/17.jpg", + }, + nat: "TR", + }, + { + gender: "female", + name: { title: "Ms", first: "Josephine", last: "Kelley" }, + location: { + street: { number: 3724, name: "Adams St" }, + city: "Albury", + state: "Tasmania", + country: "Australia", + postcode: 7260, + coordinates: { latitude: "-80.2754", longitude: "-141.3507" }, + timezone: { + offset: "-11:00", + description: "Midway Island, Samoa", + }, + }, + email: "josephine.kelley@example.com", + login: { + uuid: "942b0b0b-8877-4d9f-9e5e-f564ab99ce46", + username: "redrabbit216", + password: "melons", + salt: "jrApsfd2", + md5: "4648e2bc50bec61b07f199e12c95df59", + sha1: "05c9b0e6a1dfc3208d171e269be8adf33f1f8468", + sha256: + "3338065c0b719625764d9cc28bf3f37fa6d52c4b4f6214dc34d5ed66940a173d", + }, + dob: { date: "1993-08-16T07:09:43.346Z", age: 28 }, + registered: { date: "2015-10-14T11:18:17.269Z", age: 6 }, + phone: "08-5373-5799", + cell: "0496-786-784", + id: { name: "TFN", value: "553834484" }, + picture: { + large: "https://randomuser.me/api/portraits/women/26.jpg", + medium: "https://randomuser.me/api/portraits/med/women/26.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/26.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "Yusuf", last: "Aarsand" }, + location: { + street: { number: 1254, name: "Nedre gate" }, + city: "Snurråsen", + state: "Nordland", + country: "Norway", + postcode: "0048", + coordinates: { latitude: "77.6037", longitude: "81.5706" }, + timezone: { + offset: "-11:00", + description: "Midway Island, Samoa", + }, + }, + email: "yusuf.aarsand@example.com", + login: { + uuid: "d791848d-8876-4b5c-8092-bf38d1cf6808", + username: "lazytiger549", + password: "sniper", + salt: "QVYnHQdc", + md5: "9038c15d880f079ce229fc86c6dab811", + sha1: "c35a3fb5cc3a54d6af5d71f587a244bb8cdadafa", + sha256: + "da2da8305ee454fcb2a3e3114070683c49a6e1316803e483fa6f77f83f450203", + }, + dob: { date: "1965-05-24T19:03:44.972Z", age: 56 }, + registered: { date: "2015-09-24T14:10:47.305Z", age: 6 }, + phone: "35949395", + cell: "95648408", + id: { name: "FN", value: "24056534799" }, + picture: { + large: "https://randomuser.me/api/portraits/men/64.jpg", + medium: "https://randomuser.me/api/portraits/med/men/64.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/64.jpg", + }, + nat: "NO", + }, + { + gender: "male", + name: { title: "Mr", first: "Ralph", last: "Andrews" }, + location: { + street: { number: 7382, name: "North Street" }, + city: "Preston", + state: "County Armagh", + country: "United Kingdom", + postcode: "OX0V 2ZU", + coordinates: { latitude: "87.4744", longitude: "172.2465" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "ralph.andrews@example.com", + login: { + uuid: "0e5753ba-3ca7-4efd-8f24-960f0e1ecad0", + username: "happyfish793", + password: "ramirez", + salt: "6NvFvVVT", + md5: "a7d76d42baa6352e86f4dbe70493d241", + sha1: "e2e14fd41cddc00cfcb25fd36d8d06e19f8b310a", + sha256: + "bee11366bd93332fd45fe0c7324bb3064ae13eedeea3a2ce223e3920345a0054", + }, + dob: { date: "1989-07-13T00:06:53.784Z", age: 32 }, + registered: { date: "2005-09-02T22:34:01.033Z", age: 16 }, + phone: "016973 34124", + cell: "0789-202-868", + id: { name: "NINO", value: "KR 92 60 39 X" }, + picture: { + large: "https://randomuser.me/api/portraits/men/24.jpg", + medium: "https://randomuser.me/api/portraits/med/men/24.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/24.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Miss", first: "Caroline", last: "Olsen" }, + location: { + street: { number: 2688, name: "Vesterbyvej" }, + city: "Stoevring", + state: "Sjælland", + country: "Denmark", + postcode: 55994, + coordinates: { latitude: "53.8646", longitude: "77.7458" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "caroline.olsen@example.com", + login: { + uuid: "11d22df3-65a5-43b3-995f-a28211440485", + username: "bigcat132", + password: "success1", + salt: "PGCNsJct", + md5: "b998b8c700f9bf38de787a51fadc2a8f", + sha1: "f99d73f8f76b100528f080c11629d7fcb0a96fd4", + sha256: + "cf0535f97d7f04666cd4574f92cf5107f4ac0e35f623ae11aeac2f07dd204ede", + }, + dob: { date: "1996-01-21T04:21:35.675Z", age: 25 }, + registered: { date: "2008-07-19T04:06:37.693Z", age: 13 }, + phone: "94287904", + cell: "19572221", + id: { name: "CPR", value: "210196-2867" }, + picture: { + large: "https://randomuser.me/api/portraits/women/7.jpg", + medium: "https://randomuser.me/api/portraits/med/women/7.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/7.jpg", + }, + nat: "DK", + }, + { + gender: "male", + name: { title: "Mr", first: "Chaim", last: "Brommer" }, + location: { + street: { number: 3367, name: "Jetze Veldstraweg" }, + city: "Tibma", + state: "Drenthe", + country: "Netherlands", + postcode: 96736, + coordinates: { latitude: "-11.5565", longitude: "-99.9182" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "chaim.brommer@example.com", + login: { + uuid: "293974bb-470b-4e80-96f4-9d2d9480d213", + username: "crazybear525", + password: "trucker", + salt: "fWnpM7Vg", + md5: "211d9b717fb4107c18c4d67041e8019a", + sha1: "817739e5b7be9736974f497dad7e4cfe17b4f0f2", + sha256: + "15483c29ab9d66b93cc7d03854ae857faf11d3a5f1a064dc35fde0f62dad027c", + }, + dob: { date: "1992-05-31T08:12:56.189Z", age: 29 }, + registered: { date: "2018-08-13T00:28:06.950Z", age: 3 }, + phone: "(292)-482-8760", + cell: "(329)-276-1542", + id: { name: "BSN", value: "50977089" }, + picture: { + large: "https://randomuser.me/api/portraits/men/0.jpg", + medium: "https://randomuser.me/api/portraits/med/men/0.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/0.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Miss", first: "Lucille", last: "Harper" }, + location: { + street: { number: 6681, name: "Ash Dr" }, + city: "Chandler", + state: "Pennsylvania", + country: "United States", + postcode: 87678, + coordinates: { latitude: "-48.5885", longitude: "-0.9287" }, + timezone: { + offset: "+5:30", + description: "Bombay, Calcutta, Madras, New Delhi", + }, + }, + email: "lucille.harper@example.com", + login: { + uuid: "bf43671a-b6a0-4f37-ae62-d0f117bb1ec5", + username: "smalldog499", + password: "mypass", + salt: "J5bO5ZUZ", + md5: "b846388452078010b7c3202bfcf20e99", + sha1: "c292656760c2be4d17dfc26b86fcbec5a57f7b88", + sha256: + "22e74819359c9ad632cab1a8f0206767370bd99cc4ce94e8dec5bb3050c3444c", + }, + dob: { date: "1978-10-09T10:02:51.881Z", age: 43 }, + registered: { date: "2014-07-30T18:17:50.723Z", age: 7 }, + phone: "(680)-971-1453", + cell: "(084)-190-1399", + id: { name: "SSN", value: "161-30-8645" }, + picture: { + large: "https://randomuser.me/api/portraits/women/44.jpg", + medium: "https://randomuser.me/api/portraits/med/women/44.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/44.jpg", + }, + nat: "US", + }, + { + gender: "male", + name: { title: "Mr", first: "Ryan", last: "Gregory" }, + location: { + street: { number: 5912, name: "Sunset St" }, + city: "Toowoomba", + state: "New South Wales", + country: "Australia", + postcode: 4705, + coordinates: { latitude: "-44.2563", longitude: "-20.4517" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "ryan.gregory@example.com", + login: { + uuid: "c6155560-6fe0-41b0-a299-d9d12ac55c13", + username: "sadwolf864", + password: "jamie1", + salt: "2LdvU3RQ", + md5: "25edb187b61a4778f3ccfd20f4240d7e", + sha1: "125c56c07e72ca117bf2f7b079cddd8592da8455", + sha256: + "5f8434c6b9d7cc998dbd8723eaaa40d1b1794a9192063c51fcd9b506bd441f00", + }, + dob: { date: "1987-11-12T18:43:43.619Z", age: 34 }, + registered: { date: "2009-05-03T04:41:14.038Z", age: 12 }, + phone: "08-1147-9130", + cell: "0401-972-872", + id: { name: "TFN", value: "712389478" }, + picture: { + large: "https://randomuser.me/api/portraits/men/38.jpg", + medium: "https://randomuser.me/api/portraits/med/men/38.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/38.jpg", + }, + nat: "AU", + }, + { + gender: "female", + name: { title: "Ms", first: "Kerttu", last: "Kari" }, + location: { + street: { number: 197, name: "Reijolankatu" }, + city: "Oripää", + state: "Åland", + country: "Finland", + postcode: 20545, + coordinates: { latitude: "65.1019", longitude: "56.1993" }, + timezone: { + offset: "+8:00", + description: "Beijing, Perth, Singapore, Hong Kong", + }, + }, + email: "kerttu.kari@example.com", + login: { + uuid: "9558a9ce-fc3f-4495-8dfb-9d115f611840", + username: "blackwolf565", + password: "divorce", + salt: "UzagElej", + md5: "5562ab1268243be4c4229eefee5434d0", + sha1: "296daba4fa9c8a828e7d4fa19a4bf55f690668b1", + sha256: + "00af7e1e2af608165aac306cd523c0ee4b5b5d8f0ed579afd64b570dcf3ece23", + }, + dob: { date: "1991-01-10T10:35:15.720Z", age: 30 }, + registered: { date: "2019-01-16T10:47:48.369Z", age: 2 }, + phone: "08-924-487", + cell: "049-264-72-70", + id: { name: "HETU", value: "NaNNA924undefined" }, + picture: { + large: "https://randomuser.me/api/portraits/women/93.jpg", + medium: "https://randomuser.me/api/portraits/med/women/93.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/93.jpg", + }, + nat: "FI", + }, + { + gender: "male", + name: { title: "Mr", first: "Freddie", last: "Holt" }, + location: { + street: { number: 2450, name: "E Center St" }, + city: "Mackay", + state: "Tasmania", + country: "Australia", + postcode: 8444, + coordinates: { latitude: "25.4773", longitude: "-73.6848" }, + timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, + }, + email: "freddie.holt@example.com", + login: { + uuid: "cb84d04b-8e2d-4261-a065-eb0d22ed75a7", + username: "ticklishgoose214", + password: "trainer", + salt: "YAnPxrTI", + md5: "fa43a2b20f28dbd912650821de3ff8fe", + sha1: "552bf4f493c13b70aca53c2d8270ce5ecfccaf46", + sha256: + "bca174c458792c98e819ec91a15c70625e657dcd6fe01c5fee22739c44dc480a", + }, + dob: { date: "1952-01-13T01:46:04.967Z", age: 69 }, + registered: { date: "2007-06-19T15:24:36.068Z", age: 14 }, + phone: "07-2319-6380", + cell: "0481-064-749", + id: { name: "TFN", value: "741318168" }, + picture: { + large: "https://randomuser.me/api/portraits/men/25.jpg", + medium: "https://randomuser.me/api/portraits/med/men/25.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/25.jpg", + }, + nat: "AU", + }, + { + gender: "male", + name: { title: "Mr", first: "بنیامین", last: "نجاتی" }, + location: { + street: { number: 1917, name: "جمهوری اسلامی" }, + city: "همدان", + state: "هرمزگان", + country: "Iran", + postcode: 35504, + coordinates: { latitude: "65.4449", longitude: "71.8618" }, + timezone: { + offset: "+4:00", + description: "Abu Dhabi, Muscat, Baku, Tbilisi", + }, + }, + email: "bnymyn.njty@example.com", + login: { + uuid: "1fbbecfe-a895-4525-8d8b-fe93370b095d", + username: "tinykoala827", + password: "chaos", + salt: "iRXtT1Ip", + md5: "f11afe7bda1b72063dadc5d67e52d288", + sha1: "4a64d80a946c36c1fc70bb7fd7c2e4b4e3a4867b", + sha256: + "206a8f63be3f16cd94f229feda4f64cfdba3eef3a2d98d404dd81e5b4a0b1992", + }, + dob: { date: "1981-08-27T19:24:12.918Z", age: 40 }, + registered: { date: "2006-09-15T05:35:45.809Z", age: 15 }, + phone: "058-66634309", + cell: "0939-388-7306", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/78.jpg", + medium: "https://randomuser.me/api/portraits/med/men/78.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/78.jpg", + }, + nat: "IR", + }, + { + gender: "male", + name: { title: "Mr", first: "Théodore", last: "Gautier" }, + location: { + street: { number: 2718, name: "Rue de Bonnel" }, + city: "Pau", + state: "Marne", + country: "France", + postcode: 93989, + coordinates: { latitude: "-68.3194", longitude: "-34.0946" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "theodore.gautier@example.com", + login: { + uuid: "530b1c37-5bdb-457a-98a1-e51a12d65ebf", + username: "organicbear894", + password: "noel", + salt: "hJs6SQag", + md5: "6bde0db2c40a4eeb9db1a16dd02f4fcc", + sha1: "07279ea732b772bc9a6492e11541bbdfb218d6b2", + sha256: + "898be5f22a210976b9f7c46120b0b48419aaf15d0b7e370c0826b4a641eafc2a", + }, + dob: { date: "1996-01-28T13:25:29.994Z", age: 25 }, + registered: { date: "2009-11-23T12:37:22.857Z", age: 12 }, + phone: "01-82-44-99-99", + cell: "06-10-64-82-00", + id: { name: "INSEE", value: "1NNaN70618545 85" }, + picture: { + large: "https://randomuser.me/api/portraits/men/39.jpg", + medium: "https://randomuser.me/api/portraits/med/men/39.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/39.jpg", + }, + nat: "FR", + }, + { + gender: "female", + name: { title: "Mrs", first: "Teresa", last: "Holland" }, + location: { + street: { number: 9247, name: "Windsor Road" }, + city: "Worcester", + state: "Powys", + country: "United Kingdom", + postcode: "I7 9HT", + coordinates: { latitude: "52.0149", longitude: "-136.3704" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "teresa.holland@example.com", + login: { + uuid: "05a6066a-3e31-476c-93a4-6d6e77ff4006", + username: "angrypeacock175", + password: "lefty", + salt: "jekZtI2I", + md5: "1f8c7a01806726778c93832d9cb26c87", + sha1: "069b62272618fd863580e92a66fb7bdfcf791ba4", + sha256: + "bfab595bad4237250c0a7771e3bf775bb2aee9bc79ca3a996a8e6a36aaf023b0", + }, + dob: { date: "1966-10-16T01:39:00.611Z", age: 55 }, + registered: { date: "2006-06-08T04:30:06.313Z", age: 15 }, + phone: "016977 91236", + cell: "0753-216-430", + id: { name: "NINO", value: "OZ 99 56 00 O" }, + picture: { + large: "https://randomuser.me/api/portraits/women/33.jpg", + medium: "https://randomuser.me/api/portraits/med/women/33.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/33.jpg", + }, + nat: "GB", + }, + { + gender: "female", + name: { title: "Mrs", first: "Georgeta", last: "Aragão" }, + location: { + street: { number: 6803, name: "Rua Vinte E Quatro de Outubro" }, + city: "Rio de Janeiro", + state: "Pernambuco", + country: "Brazil", + postcode: 78969, + coordinates: { latitude: "-8.9069", longitude: "-124.5818" }, + timezone: { + offset: "+3:00", + description: "Baghdad, Riyadh, Moscow, St. Petersburg", + }, + }, + email: "georgeta.aragao@example.com", + login: { + uuid: "6c1a7623-af04-45c1-a891-9351156262e4", + username: "brownkoala743", + password: "shane", + salt: "yRw66pHF", + md5: "1d9e9869cfe63d1eeef1f31501e218dd", + sha1: "8f20ec2efa817c6c3e5d5ba4eb8cfeaaddd11a4f", + sha256: + "d727497d2863bfb0fe62d242e5ea659d9fa5d9c5f45f588eec17b32fc676a9e0", + }, + dob: { date: "1988-12-27T19:07:28.759Z", age: 33 }, + registered: { date: "2002-12-01T12:01:05.372Z", age: 19 }, + phone: "(22) 3137-5865", + cell: "(84) 9330-4999", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/64.jpg", + medium: "https://randomuser.me/api/portraits/med/women/64.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Mrs", first: "آوینا", last: "احمدی" }, + location: { + street: { number: 849, name: "شهید عباس افضلی" }, + city: "آمل", + state: "آذربایجان شرقی", + country: "Iran", + postcode: 72408, + coordinates: { latitude: "18.4566", longitude: "-131.9880" }, + timezone: { + offset: "-11:00", + description: "Midway Island, Samoa", + }, + }, + email: "awyn.hmdy@example.com", + login: { + uuid: "b94c4f78-f566-4796-8402-c65923f712b0", + username: "whitewolf956", + password: "bledsoe", + salt: "yaXNZbPS", + md5: "ee4657317d569d005ec764deb3f3151c", + sha1: "ef63a19250250e2f9be20ab63a9130239620f42a", + sha256: + "5da06a2caf121f6c99500d7388f38bc31220c050ad19e7581e1ab2d6637b92bc", + }, + dob: { date: "1954-01-29T13:42:34.278Z", age: 67 }, + registered: { date: "2005-10-07T11:26:17.224Z", age: 16 }, + phone: "067-36744731", + cell: "0906-503-7435", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/16.jpg", + medium: "https://randomuser.me/api/portraits/med/women/16.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/16.jpg", + }, + nat: "IR", + }, + { + gender: "male", + name: { title: "Mr", first: "Kylian", last: "Petit" }, + location: { + street: { number: 620, name: "Rue Abel-Ferry" }, + city: "Villeurbanne", + state: "Haute-Corse", + country: "France", + postcode: 29505, + coordinates: { latitude: "-83.6721", longitude: "67.0415" }, + timezone: { + offset: "+2:00", + description: "Kaliningrad, South Africa", + }, + }, + email: "kylian.petit@example.com", + login: { + uuid: "36bc66b5-86b8-49f1-ac2b-8ac750f67dbb", + username: "blackmouse594", + password: "pickle", + salt: "KKOqoVez", + md5: "8d81cb5e675621525b0734e6d1f9b374", + sha1: "fa3663a36c6e3c86ddb668068645c027ff0ed496", + sha256: + "b4f9653f6b1aad712ea37aa39e0c08c4a3a1ae52f6a97b5638c645529da19d7a", + }, + dob: { date: "1975-04-19T20:57:10.650Z", age: 46 }, + registered: { date: "2003-03-06T08:11:57.284Z", age: 18 }, + phone: "04-45-94-70-20", + cell: "06-67-95-28-42", + id: { name: "INSEE", value: "1NNaN86070510 11" }, + picture: { + large: "https://randomuser.me/api/portraits/men/71.jpg", + medium: "https://randomuser.me/api/portraits/med/men/71.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/71.jpg", + }, + nat: "FR", + }, + { + gender: "male", + name: { title: "Mr", first: "Magnus", last: "Larsen" }, + location: { + street: { number: 1065, name: "Birkevænget" }, + city: "Rønnede", + state: "Danmark", + country: "Denmark", + postcode: 19782, + coordinates: { latitude: "21.4214", longitude: "-78.1527" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "magnus.larsen@example.com", + login: { + uuid: "d6f14e9f-1f52-473a-9bd0-fbc8501b2275", + username: "orangesnake523", + password: "8inches", + salt: "F4YvH3g1", + md5: "7fc1e93a09adae657654a2b12c2509d1", + sha1: "b4ce859d8021730614d5009b6efad869a152b02e", + sha256: + "a87a31a3e8fdbac35c1692d4ab1ea98859fcbe9243c9f0a0b4065d82905b6dea", + }, + dob: { date: "1963-10-10T10:47:42.771Z", age: 58 }, + registered: { date: "2010-08-17T08:19:46.481Z", age: 11 }, + phone: "00133586", + cell: "42046116", + id: { name: "CPR", value: "101063-9589" }, + picture: { + large: "https://randomuser.me/api/portraits/men/44.jpg", + medium: "https://randomuser.me/api/portraits/med/men/44.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/44.jpg", + }, + nat: "DK", + }, + { + gender: "male", + name: { title: "Mr", first: "بردیا", last: "کامروا" }, + location: { + street: { number: 3275, name: "ستارخان" }, + city: "گرگان", + state: "البرز", + country: "Iran", + postcode: 41146, + coordinates: { latitude: "-69.8458", longitude: "56.9433" }, + timezone: { + offset: "0:00", + description: "Western Europe Time, London, Lisbon, Casablanca", + }, + }, + email: "brdy.khmrw@example.com", + login: { + uuid: "ae705b5d-2391-4ffa-b126-09e042632637", + username: "brownwolf113", + password: "honeybee", + salt: "6tpc1XQ9", + md5: "58a45fad3c8419167082217fc3164d19", + sha1: "1ed97d9c41210902524299c936fada06c854732c", + sha256: + "11ceb253281c31cabede800d03a20250c778be12333eac02b397dfa0195c4b08", + }, + dob: { date: "1955-08-13T03:27:11.457Z", age: 66 }, + registered: { date: "2010-07-07T20:06:06.565Z", age: 11 }, + phone: "062-98519266", + cell: "0965-638-9765", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/men/0.jpg", + medium: "https://randomuser.me/api/portraits/med/men/0.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/0.jpg", + }, + nat: "IR", + }, + { + gender: "female", + name: { title: "Miss", first: "Maria", last: "Poulsen" }, + location: { + street: { number: 4003, name: "Maribovej" }, + city: "Argerskov", + state: "Nordjylland", + country: "Denmark", + postcode: 66426, + coordinates: { latitude: "-16.5712", longitude: "-160.1074" }, + timezone: { offset: "-2:00", description: "Mid-Atlantic" }, + }, + email: "maria.poulsen@example.com", + login: { + uuid: "ee42298f-a21b-4da8-b4ce-754b6edb1e25", + username: "brownlion240", + password: "california", + salt: "VaKFkty2", + md5: "5e4d28f98aa56b0e47458ead4099c069", + sha1: "b4c98de15f9a97c101bef9bae15da6d1456e2e8a", + sha256: + "1c36b3fc84d0387adbacacb1a9f605c1d3f18667fd0e3c0696bc69d6dde2a8f4", + }, + dob: { date: "1981-07-24T05:39:47.778Z", age: 40 }, + registered: { date: "2011-10-08T20:55:41.884Z", age: 10 }, + phone: "48415618", + cell: "96320744", + id: { name: "CPR", value: "240781-2368" }, + picture: { + large: "https://randomuser.me/api/portraits/women/63.jpg", + medium: "https://randomuser.me/api/portraits/med/women/63.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/63.jpg", + }, + nat: "DK", + }, + { + gender: "female", + name: { title: "Mrs", first: "Giulia", last: "Fernandes" }, + location: { + street: { number: 3851, name: "Rua Tiradentes " }, + city: "Pelotas", + state: "Amazonas", + country: "Brazil", + postcode: 85518, + coordinates: { latitude: "53.7131", longitude: "175.4302" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "giulia.fernandes@example.com", + login: { + uuid: "1e26cfdd-501e-4521-881b-0923bdbb5684", + username: "goldenleopard550", + password: "raptor", + salt: "UGUDvtrE", + md5: "4de30f63251430174e25cdefc70594f3", + sha1: "f0ccf969edd3b8ca74049a258e460cebda3c881b", + sha256: + "e0d33c87f54924f79704f8d19d567cd419f47b5d0df4acdd7e88dac4738562ac", + }, + dob: { date: "1985-09-07T23:43:29.488Z", age: 36 }, + registered: { date: "2017-11-21T08:02:21.806Z", age: 4 }, + phone: "(06) 6607-2233", + cell: "(41) 5298-6513", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/77.jpg", + medium: "https://randomuser.me/api/portraits/med/women/77.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", + }, + nat: "BR", + }, + { + gender: "female", + name: { title: "Miss", first: "Saana", last: "Ojala" }, + location: { + street: { number: 7686, name: "Suvantokatu" }, + city: "Karvia", + state: "North Karelia", + country: "Finland", + postcode: 48444, + coordinates: { latitude: "-40.3905", longitude: "85.4535" }, + timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, + }, + email: "saana.ojala@example.com", + login: { + uuid: "364803c4-ec07-476d-a907-14542ed3ea02", + username: "angrycat339", + password: "whocares", + salt: "CTDGKWWF", + md5: "37bfe730cb8388c3e784b11f49953df5", + sha1: "8e6c4e42e2d03626d47599e02716cf6841b56759", + sha256: + "e7d85ed55099eddb3886358877da330f75607e2470b57052b60ba55304fe9261", + }, + dob: { date: "1968-11-20T21:19:37.099Z", age: 53 }, + registered: { date: "2004-12-03T03:59:04.470Z", age: 17 }, + phone: "04-637-247", + cell: "047-857-75-25", + id: { name: "HETU", value: "NaNNA074undefined" }, + picture: { + large: "https://randomuser.me/api/portraits/women/58.jpg", + medium: "https://randomuser.me/api/portraits/med/women/58.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/58.jpg", + }, + nat: "FI", + }, + { + gender: "male", + name: { title: "Mr", first: "Rich", last: "Pierce" }, + location: { + street: { number: 3901, name: "Rochestown Road" }, + city: "Tipperary", + state: "Dún Laoghaire–Rathdown", + country: "Ireland", + postcode: 59578, + coordinates: { latitude: "-30.7575", longitude: "82.2751" }, + timezone: { + offset: "-4:00", + description: "Atlantic Time (Canada), Caracas, La Paz", + }, + }, + email: "rich.pierce@example.com", + login: { + uuid: "cbc3adea-dc48-4015-a3d4-9c2f368a2798", + username: "tinypeacock899", + password: "ffffffff", + salt: "CxemVk5X", + md5: "3ded4b7f80deb771f710a2ce025e0a5d", + sha1: "da5dcf188feda0ba01ba29b640c4067be32621fa", + sha256: + "1c64f49112fac61817263766c5b83146ec31b071f9569f1510ecd4517b0477e6", + }, + dob: { date: "1981-04-28T02:30:50.470Z", age: 40 }, + registered: { date: "2017-05-10T13:24:19.792Z", age: 4 }, + phone: "041-989-7814", + cell: "081-185-2171", + id: { name: "PPS", value: "2769331T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/43.jpg", + medium: "https://randomuser.me/api/portraits/med/men/43.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/43.jpg", + }, + nat: "IE", + }, + { + gender: "male", + name: { title: "Mr", first: "Aria", last: "Van Oosterwijk" }, + location: { + street: { number: 6991, name: "Etmat" }, + city: "Netterden", + state: "Friesland", + country: "Netherlands", + postcode: 91826, + coordinates: { latitude: "-1.0216", longitude: "-23.9886" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "aria.vanoosterwijk@example.com", + login: { + uuid: "1806d916-00db-4a53-9c68-cee3c95c8bde", + username: "happyfrog854", + password: "bigpoppa", + salt: "4ytcvJTL", + md5: "c4ade3e74c0277dd8fc5b3f2f6f9b5a2", + sha1: "8407d355db7b06e0caff706409bbb8626c4eb433", + sha256: + "5983a7858c1c8c1a908516a80562c091be0e9a7d62dccfe933050fd105c1fbee", + }, + dob: { date: "1981-04-16T08:57:47.891Z", age: 40 }, + registered: { date: "2012-06-08T21:42:42.771Z", age: 9 }, + phone: "(232)-556-3349", + cell: "(069)-347-3043", + id: { name: "BSN", value: "22964586" }, + picture: { + large: "https://randomuser.me/api/portraits/men/3.jpg", + medium: "https://randomuser.me/api/portraits/med/men/3.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/3.jpg", + }, + nat: "NL", + }, + { + gender: "female", + name: { title: "Miss", first: "Camille", last: "White" }, + location: { + street: { number: 9972, name: "Dieppe Ave" }, + city: "Elgin", + state: "Nova Scotia", + country: "Canada", + postcode: "R6N 5A8", + coordinates: { latitude: "56.7777", longitude: "-125.4640" }, + timezone: { offset: "+4:30", description: "Kabul" }, + }, + email: "camille.white@example.com", + login: { + uuid: "e03d2786-497e-48ca-9e70-23968b53190a", + username: "tinyfrog808", + password: "redman", + salt: "ynzB6Pjn", + md5: "eb9cc72f7203c53c6c612a355c4db925", + sha1: "1f1a16a4dc5a800e0b7636cb27d196cc2d108312", + sha256: + "09ee117b74979bbbf10380533e78f2cca68ad16d66ccd7defffa8fa66a0377b5", + }, + dob: { date: "1965-09-30T19:58:13.562Z", age: 56 }, + registered: { date: "2003-02-15T16:19:15.899Z", age: 18 }, + phone: "954-124-4389", + cell: "587-822-7603", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/28.jpg", + medium: "https://randomuser.me/api/portraits/med/women/28.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/28.jpg", + }, + nat: "CA", + }, + { + gender: "male", + name: { title: "Mr", first: "Ben", last: "Foster" }, + location: { + street: { number: 4687, name: "Denny Street" }, + city: "Tralee", + state: "Sligo", + country: "Ireland", + postcode: 37238, + coordinates: { latitude: "-81.9420", longitude: "-54.1915" }, + timezone: { + offset: "-7:00", + description: "Mountain Time (US & Canada)", + }, + }, + email: "ben.foster@example.com", + login: { + uuid: "940fe710-9d9b-468d-a63c-1cefac440533", + username: "orangedog652", + password: "katrina", + salt: "VavtwF3S", + md5: "32ea46195ac49787562fa8dbc864b368", + sha1: "5bc4b93e8c9a370c7a54f51cd3d3a106a4788806", + sha256: + "a1150b543d96b597d7f510a763784fa3a991fb65010617976d47650f83073969", + }, + dob: { date: "1978-07-07T09:37:29.474Z", age: 43 }, + registered: { date: "2005-05-26T14:13:57.660Z", age: 16 }, + phone: "051-806-7439", + cell: "081-068-3763", + id: { name: "PPS", value: "3315899T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/38.jpg", + medium: "https://randomuser.me/api/portraits/med/men/38.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/38.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Ms", first: "Avery", last: "Hill" }, + location: { + street: { number: 8553, name: "E Center St" }, + city: "Pembroke Pines", + state: "Alaska", + country: "United States", + postcode: 30854, + coordinates: { latitude: "-69.6665", longitude: "41.6797" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "avery.hill@example.com", + login: { + uuid: "fd7ccfc1-4b5c-4041-bc8f-4ac313163eb8", + username: "goldenswan136", + password: "senna", + salt: "bPmuCHIg", + md5: "6b4f9ec1f85892c6234ff3de2cc04f38", + sha1: "ee4adfad5996c79d5a934b59171ef194d641bcd9", + sha256: + "f27563564cacf25283f18aad84b6193152c9d4808287e9f52eb0012dcabd3c9b", + }, + dob: { date: "1959-01-30T15:26:36.328Z", age: 62 }, + registered: { date: "2008-12-02T23:15:05.525Z", age: 13 }, + phone: "(897)-007-5781", + cell: "(765)-335-1516", + id: { name: "SSN", value: "106-03-0124" }, + picture: { + large: "https://randomuser.me/api/portraits/women/64.jpg", + medium: "https://randomuser.me/api/portraits/med/women/64.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", + }, + nat: "US", + }, + { + gender: "male", + name: { title: "Mr", first: "Arthur", last: "Walters" }, + location: { + street: { number: 5905, name: "New Road" }, + city: "Bandon", + state: "Galway City", + country: "Ireland", + postcode: 34562, + coordinates: { latitude: "-35.1462", longitude: "-172.2228" }, + timezone: { + offset: "-1:00", + description: "Azores, Cape Verde Islands", + }, + }, + email: "arthur.walters@example.com", + login: { + uuid: "7187db5c-cad8-4050-bcfb-71f09f80e925", + username: "organicsnake959", + password: "lakeside", + salt: "BL3sw9oq", + md5: "60b8d22ff71c24b3dbd8325f17dbd9f7", + sha1: "721fba6f631c192ab064edc7bcf53d5ed2ccfb2f", + sha256: + "f9ff7bce40c52e5b58ae3d9c2d354a60f786395d98c32008b05831080ac8cfdb", + }, + dob: { date: "1983-07-18T01:53:22.937Z", age: 38 }, + registered: { date: "2014-11-13T19:36:37.763Z", age: 7 }, + phone: "031-289-8243", + cell: "081-635-0324", + id: { name: "PPS", value: "3393854T" }, + picture: { + large: "https://randomuser.me/api/portraits/men/47.jpg", + medium: "https://randomuser.me/api/portraits/med/men/47.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/men/47.jpg", + }, + nat: "IE", + }, + { + gender: "female", + name: { title: "Ms", first: "Melodie", last: "Miller" }, + location: { + street: { number: 1460, name: "22nd Ave" }, + city: "Princeton", + state: "Yukon", + country: "Canada", + postcode: "T4F 8N9", + coordinates: { latitude: "-27.1574", longitude: "-96.8985" }, + timezone: { offset: "-10:00", description: "Hawaii" }, + }, + email: "melodie.miller@example.com", + login: { + uuid: "39d55ee6-ca07-4791-9a13-05a87b8e58d2", + username: "purplepanda467", + password: "smelly", + salt: "sqFDaqjW", + md5: "54a4df73b97c7eb8307beacb2d76178a", + sha1: "7039dc60ebd8e96b66d3e5addf58b725cf318dd8", + sha256: + "c20460a6cd6830c84c1bd4135e5b05853f92b2e8047f15d548e57a834657a930", + }, + dob: { date: "1971-04-26T18:26:14.469Z", age: 50 }, + registered: { date: "2014-01-21T05:34:19.679Z", age: 7 }, + phone: "586-074-7391", + cell: "782-352-5346", + id: { name: "", value: null }, + picture: { + large: "https://randomuser.me/api/portraits/women/37.jpg", + medium: "https://randomuser.me/api/portraits/med/women/37.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/37.jpg", + }, + nat: "CA", + }, + { + gender: "female", + name: { title: "Ms", first: "Noélie", last: "Louis" }, + location: { + street: { number: 8064, name: "Avenue Vauban" }, + city: "Lyon", + state: "Aisne", + country: "France", + postcode: 28531, + coordinates: { latitude: "23.9851", longitude: "48.5008" }, + timezone: { + offset: "-3:00", + description: "Brazil, Buenos Aires, Georgetown", + }, + }, + email: "noelie.louis@example.com", + login: { + uuid: "37d665f8-afae-4f00-9688-6afd63b7da57", + username: "tinydog830", + password: "grunt", + salt: "QNy3No6x", + md5: "11124351a0022b5def46f8c62e720d80", + sha1: "c82011731f2ae52d62b78d9911b67124c4cae4da", + sha256: + "c8ca6e81ff5e6df51acf5aaa266f47ae02b8da9be062626d9bbff536d479ffa1", + }, + dob: { date: "1979-05-29T06:54:52.225Z", age: 42 }, + registered: { date: "2007-06-21T00:20:50.831Z", age: 14 }, + phone: "02-11-88-23-95", + cell: "06-68-43-10-15", + id: { name: "INSEE", value: "2NNaN17655053 03" }, + picture: { + large: "https://randomuser.me/api/portraits/women/68.jpg", + medium: "https://randomuser.me/api/portraits/med/women/68.jpg", + thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", + }, + nat: "FR", + }, +]; diff --git a/src/functions/checkDate.ts b/src/functions/checkDate.ts new file mode 100644 index 0000000..d32c073 --- /dev/null +++ b/src/functions/checkDate.ts @@ -0,0 +1,4 @@ +export const checkDate = (date: string) => { + const re = /^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$/; + return re.test(date); +}; diff --git a/src/functions/checkEmail.ts b/src/functions/checkEmail.ts new file mode 100644 index 0000000..603001a --- /dev/null +++ b/src/functions/checkEmail.ts @@ -0,0 +1,4 @@ +export const checkEmail = (email: string) => { + const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(String(email).toLowerCase()); +}; diff --git a/src/functions/createId.ts b/src/functions/createId.ts new file mode 100644 index 0000000..ae52a4d --- /dev/null +++ b/src/functions/createId.ts @@ -0,0 +1,8 @@ +import getMaxIdNumber from "../queries/getMaxIdNumber"; + +export const createId = async (table: string) => { + const getMaxId = await getMaxIdNumber(table); + const maxId = Object.values(getMaxId); + const newId = Number(maxId[0]) + 1; + return newId; +}; diff --git a/src/functions/dateDiff.ts b/src/functions/dateDiff.ts new file mode 100644 index 0000000..49cf82f --- /dev/null +++ b/src/functions/dateDiff.ts @@ -0,0 +1,5 @@ +export const dateDiff = (date1: Date, date2: Date) => { + const d1 = new Date(date1).getTime(); + const d2 = new Date(date2).getTime(); + return d2 - d1; +}; diff --git a/src/functions/findAge.ts b/src/functions/findAge.ts new file mode 100644 index 0000000..9c23098 --- /dev/null +++ b/src/functions/findAge.ts @@ -0,0 +1,27 @@ +export const findAge = (birthDate: Date): number => { +// const birthToNumber = new Date.(birthDate).getTime(); + const userYear = new Date(birthDate).getFullYear(); + const userMonth = new Date(birthDate).getMonth()+1; + const userDay = new Date(birthDate).getDate(); + + // Pegando os dados da data de hoje + const todayYear = new Date().getFullYear(); + const todayMonth = new Date().getMonth()+1; + const todayDay = new Date().getDate(); + + // Checando idade no dia de hoje + let age: number; + if (todayDay < userDay) { + if (todayMonth <= userMonth) { + return (age = todayYear - userYear - 1); + } else { + return (age = todayYear - userYear); + } + } else { + if (todayMonth <= userMonth) { + return (age = todayYear - userYear); + } else { + return (age = todayYear - userYear - 1); + } + } +}; \ No newline at end of file diff --git a/src/functions/strDateToDate.ts b/src/functions/strDateToDate.ts new file mode 100644 index 0000000..d8f6ead --- /dev/null +++ b/src/functions/strDateToDate.ts @@ -0,0 +1,6 @@ +export const strDateToDate = (dateString: string) => { + const arrDateString = dateString.split("/"); + const strDate = + arrDateString[2] + "-" + arrDateString[1] + "-" + arrDateString[0]; + return new Date(strDate); +}; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..588f8cb --- /dev/null +++ b/src/index.ts @@ -0,0 +1,16 @@ +import app from "./app"; +import addUser from './endpoints/addUser'; +import addHobby from './endpoints/addHobby'; +import addSpeciality from './endpoints/addSpeciality'; +import addClass from './endpoints/addClass'; +import getStudentAge from './endpoints/getStudentAge'; + +app.post("/user/create",addUser) + +app.post("/user/create/hobby", addHobby); + +app.post("/user/create/speciality", addSpeciality); + +app.post("/class/create",addClass); + +app.get("/user/:id",getStudentAge) diff --git a/src/queries/_query_template.ts b/src/queries/_query_template.ts new file mode 100644 index 0000000..e3276f6 --- /dev/null +++ b/src/queries/_query_template.ts @@ -0,0 +1,7 @@ +import connection from '../connection'; + +export default async function query_template(): Promise { + const result = await connection.raw(`mySQL function`); + + return result[0]; +} diff --git a/src/queries/findData.ts b/src/queries/findData.ts new file mode 100644 index 0000000..8297185 --- /dev/null +++ b/src/queries/findData.ts @@ -0,0 +1,10 @@ +import connection from "../connection"; + +export default async function findData( + table: string, + columnName: string, + value: string | number +): Promise { + const result = await connection.raw(`SELECT * FROM ${table} WHERE ${columnName} = "${value}"`); + return result[0]; +} diff --git a/src/queries/getMaxIdNumber.ts b/src/queries/getMaxIdNumber.ts new file mode 100644 index 0000000..c7d8ffa --- /dev/null +++ b/src/queries/getMaxIdNumber.ts @@ -0,0 +1,12 @@ +import connection from "../connection"; + +export default async function getMaxIdNumber(table: string): Promise { + const result = await connection.raw(` + SELECT MAX(id) FROM ${table}; + `); + if (result[0].length < 1) { + return 0; + } else { + return result[0][0]; + } +} diff --git a/src/queries/getStudentProfile.ts b/src/queries/getStudentProfile.ts new file mode 100644 index 0000000..c7d65c8 --- /dev/null +++ b/src/queries/getStudentProfile.ts @@ -0,0 +1,9 @@ +import connection from '../connection'; + +export default async function getStudentProfile(id:number): Promise { + const result = await connection.raw(` + SELECT id, name, birthdate FROM student WHERE id = ${id} + `); + + return result[0][0]; +} diff --git a/src/queries/insertClass.ts b/src/queries/insertClass.ts new file mode 100644 index 0000000..4ef4912 --- /dev/null +++ b/src/queries/insertClass.ts @@ -0,0 +1,17 @@ +import connection from "../connection"; + +export default async function insertClass( + id: number, + name: string, + startDate: Date, + endDate: Date, + module: number +): Promise { + const result = await connection("class").insert({ + id: id, + name: name, + start_date: startDate, + end_date: endDate, + module: module, + }); +} diff --git a/src/queries/insertInfo.ts b/src/queries/insertInfo.ts new file mode 100644 index 0000000..9f37ac7 --- /dev/null +++ b/src/queries/insertInfo.ts @@ -0,0 +1,12 @@ +import connection from "../connection"; + +export default async function insertInfo( + table: string, + id: number, + title: string +): Promise { + await connection(table).insert({ + id: id, + title: title, + }); +} diff --git a/src/queries/insertPerson.ts b/src/queries/insertPerson.ts new file mode 100644 index 0000000..35496c1 --- /dev/null +++ b/src/queries/insertPerson.ts @@ -0,0 +1,18 @@ +import connection from "../connection"; + +export default async function insertPerson( + table: string, + id: number, + name: string, + email: string, + birthdate: Date, + classId: number +): Promise { + await connection(table).insert({ + id: id, + name: name, + email: email, + birthdate: birthdate, + class_id: classId + }); +} diff --git a/src/requests.rest b/src/requests.rest new file mode 100644 index 0000000..44f2c9c --- /dev/null +++ b/src/requests.rest @@ -0,0 +1,45 @@ +# Criar usuário (estudante ou professor) +POST http://localhost:3003/user/create +Content-Type: application/json + +{ + "category": "student", + "name": "nome", + "email": "email@abcde.com", + "birthdate": "20/10/2010", + "classId": 1 +} + +### +# Criar hobby +POST http://localhost:3003/user/create/hobby +Content-Type: application/json + +{ + "title": "Codar" +} + +### +# Criar especialidade +POST http://localhost:3003/user/create/speciality +Content-Type: application/json + +{ + "title": "React000" +} + +### +# Criar turma +POST http://localhost:3003/class/create +Content-Type: application/json + +{ + "name": "Turr", + "startDate": "20/01/2001", + "endDate": "20/01/2002", + "module": 1 +} + +### + +GET http://localhost:3003/user/1 \ No newline at end of file diff --git a/src/sql/database.sql b/src/sql/database.sql new file mode 100644 index 0000000..6264adb --- /dev/null +++ b/src/sql/database.sql @@ -0,0 +1,57 @@ +CREATE TABLE class ( + id INT PRIMARY KEY, + name VARCHAR(50) NOT NULL, + start_date DATE NOT NULL, + end_date DATE NOT NULL, + module INT NOT NULL +); + +CREATE TABLE student ( + id INT PRIMARY KEY, + name VARCHAR(50) NOT NULL, + email VARCHAR(50) NOT NULL UNIQUE, + birthdate DATE NOT NULL, + class_id INT NOT NULL, + FOREIGN KEY (class_id) REFERENCES class(id) +); + +CREATE TABLE teacher ( + id INT PRIMARY KEY, + name VARCHAR(50) NOT NULL, + email VARCHAR(50) NOT NULL UNIQUE, + birthdate DATE NOT NULL, + class_id INT(255) NOT NULL, + FOREIGN KEY (class_id) REFERENCES class(id) +); + +CREATE TABLE hobby ( + id INT PRIMARY KEY AUTO_INCREMENT, + title VARCHAR(50) NOT NULL +); + +CREATE TABLE speciality ( + id INT PRIMARY KEY AUTO_INCREMENT, + title VARCHAR(50) NOT NULL +); + +INSERT INTO speciality VALUES(1,"React"); +INSERT INTO speciality VALUES(2,"Redux"); +INSERT INTO speciality VALUES(3,"CSS"); +INSERT INTO speciality VALUES(4,"Testes"); +INSERT INTO speciality VALUES(5,"Typescript"); +INSERT INTO speciality VALUES(6,"Programação Orientada a Objetos"); +INSERT INTO speciality VALUES(7,"Backend"); + +CREATE TABLE student_hobby ( + student_id INT NOT NULL, + hobby_id INT NOT NULL, + FOREIGN KEY (student_id) REFERENCES student(id), + FOREIGN KEY (hobby_id) REFERENCES hobby(id) +); + +CREATE TABLE teacher_speciality ( + teacher_id INT NOT NULL, + speciality_id INT NOT NULL, + FOREIGN KEY (teacher_id) REFERENCES teacher(id), + FOREIGN KEY (speciality_id) REFERENCES speciality(id) +); \ No newline at end of file diff --git a/src/types/classBodyType.ts b/src/types/classBodyType.ts new file mode 100644 index 0000000..b06e166 --- /dev/null +++ b/src/types/classBodyType.ts @@ -0,0 +1,6 @@ +export type classBodyType = { + name: string; + startDate: string; + endDate: string; + module: number; +}; diff --git a/src/types/personType.ts b/src/types/personType.ts new file mode 100644 index 0000000..fe9efce --- /dev/null +++ b/src/types/personType.ts @@ -0,0 +1,7 @@ +export type personBodyType = { + category: string, + name: string, + email: string, + birthdate: string, + classId: number, +}; \ No newline at end of file diff --git a/src/types/specialities.ts b/src/types/specialities.ts new file mode 100644 index 0000000..e0d8550 --- /dev/null +++ b/src/types/specialities.ts @@ -0,0 +1,9 @@ +export enum specList { + REACT = "React", + REDUX = "Redux", + CSS = "CSS", + TESTES = "Testes", + TYPESCRIPT = "Typescript", + POO = "Programação Orientada a Objetos", + BACKEND = "Backend" +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..b6574ed --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./src", + "removeComments": true, + "strict": true, + "noImplicitAny": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true + } +} \ No newline at end of file From 46c2824c8604ad0aec2c36970162ac96ab4216cf Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Tue, 30 Mar 2021 18:39:17 -0300 Subject: [PATCH 02/21] ReadMe --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 991c450..ef4f411 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# NOME DO PROJETO +# LABENU SYSTEM ## ✨ Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: @@ -11,7 +11,7 @@ Esse projeto foi desenvolvido com as seguintes tecnologias: * dotEnv ## 💻 Projeto -Projeto desenvolvido durante a semana XXX do curso de Fullstack da Labenu. +Projeto desenvolvido durante a semana 17 do curso de Fullstack da Labenu. ## 🚀 Como executar * Instale as dependências com @@ -26,4 +26,6 @@ Projeto desenvolvido durante a semana XXX do curso de Fullstack da Labenu. O arquivo ```request.rest``` possui todos as requisições realizadas ## Desenvolvido por: -Fabio Dos Santos; +* Fabio Dos Santos +* Jéssica Damasceno +* Marivone Araujo From 236f9fef602e4df76b6c73ddca3d8f90cee7fa15 Mon Sep 17 00:00:00 2001 From: MarivoneAraujo <74380088+MarivoneAraujo@users.noreply.github.com> Date: Wed, 31 Mar 2021 09:01:42 -0300 Subject: [PATCH 03/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ef4f411..a8316e3 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Projeto desenvolvido durante a semana 17 do curso de Fullstack da Labenu. ``` npm run start ``` -* Faça as requisições +* Faça as requisições. O arquivo ```request.rest``` possui todos as requisições realizadas ## Desenvolvido por: From 0c979666cdb9d9a3ddd32a6d8cc162f4fa665c31 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 14:09:16 -0300 Subject: [PATCH 04/21] mais endpoints --- .gitignore | 4 +- src/endpoints/addClass.ts | 80 +++++++++++++++++----- src/endpoints/addClasstoUser.ts | 67 ++++++++++++++++++ src/endpoints/addFakeUsers.ts | 9 +-- src/endpoints/addHobby.ts | 26 ++++--- src/endpoints/addSpeciality.ts | 18 +++-- src/endpoints/addUser.ts | 67 +++++++++--------- src/endpoints/assignHobbyToStudent.ts | 61 +++++++++++++++++ src/endpoints/assignSpecialityToTeacher.ts | 61 +++++++++++++++++ src/endpoints/getClassStudents.ts | 25 +++++++ src/endpoints/getClassTeachers.ts | 25 +++++++ src/endpoints/getStudentAge.ts | 11 ++- src/functions/capitalize.ts | 6 ++ src/functions/strDateToDate.ts | 4 +- src/index.ts | 25 ++++--- src/queries/findData.ts | 8 ++- src/queries/findDuplicate.ts | 17 +++++ src/queries/getMaxIdNumber.ts | 3 +- src/queries/getStudentProfile.ts | 4 +- src/queries/getUserByClass.ts | 15 ++++ src/queries/insertClass.ts | 12 ++-- src/queries/insertHobbyToStudent.ts | 15 ++++ src/queries/insertInfo.ts | 9 +-- src/queries/insertPerson.ts | 15 ++-- src/queries/insertSpecialityToTeacher.ts | 15 ++++ src/queries/insertUserToClass.ts | 16 +++++ src/requests.rest | 37 +++++++--- src/sql/database.sql | 23 +++++-- src/types/classBody.ts | 15 ++++ src/types/classBodyType.ts | 6 -- src/types/infoBody.ts | 9 +++ src/types/personBody.ts | 13 ++++ src/types/personType.ts | 7 -- src/types/relationBody.ts | 9 +++ 34 files changed, 607 insertions(+), 130 deletions(-) create mode 100644 src/endpoints/addClasstoUser.ts create mode 100644 src/endpoints/assignHobbyToStudent.ts create mode 100644 src/endpoints/assignSpecialityToTeacher.ts create mode 100644 src/endpoints/getClassStudents.ts create mode 100644 src/endpoints/getClassTeachers.ts create mode 100644 src/functions/capitalize.ts create mode 100644 src/queries/findDuplicate.ts create mode 100644 src/queries/getUserByClass.ts create mode 100644 src/queries/insertHobbyToStudent.ts create mode 100644 src/queries/insertSpecialityToTeacher.ts create mode 100644 src/queries/insertUserToClass.ts create mode 100644 src/types/classBody.ts delete mode 100644 src/types/classBodyType.ts create mode 100644 src/types/infoBody.ts create mode 100644 src/types/personBody.ts delete mode 100644 src/types/personType.ts create mode 100644 src/types/relationBody.ts diff --git a/.gitignore b/.gitignore index c27e9ba..63f07ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ node_modules build -.env \ No newline at end of file +.env +_query_template.ts +_template.ts diff --git a/src/endpoints/addClass.ts b/src/endpoints/addClass.ts index a97fe2d..23549a4 100644 --- a/src/endpoints/addClass.ts +++ b/src/endpoints/addClass.ts @@ -4,49 +4,97 @@ import { strDateToDate } from "./../functions/strDateToDate"; import { dateDiff } from "../functions/dateDiff"; import { checkDate } from "./../functions/checkDate"; import { createId } from "./../functions/createId"; -import { classBodyType } from "../types/classBodyType"; +import { classBody, classBodyType } from "../types/classBody"; +import { capitalize } from "./../functions/capitalize"; const addClass = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { - const {name, startDate, endDate, module} = req.body as classBodyType + // Parâmetros do Body + const { + name, + period, + startDate, + endDate, + module, + } = req.body as classBodyType; + + // Gera id const id: number = await createId("class"); + + // Converte as datas de string para Date format const convStartDate: Date = strDateToDate(startDate); const convEndDate: Date = strDateToDate(endDate); - for (let key in req.body) { - if (!req.body[key]) { + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + for (let item in classBody) { + if (!(item in req.body)) { errorCode = 422; - throw new Error(`'${key}' field is empty or null.`); + throw new Error(`'${item}' field is missing.`); } } - if (!name || !startDate || !endDate || !module) { - errorCode = 422; - throw new Error( - `'name', 'startDate', 'endDate' and 'module' are mandatory parameters in body!` - ); - } + + // Se nome tem menos de 3 caracteres if (name.length < 3) { errorCode = 422; throw new Error("Name must be at least 3 characters."); } + + // Se a categoria é válida + if ( + period.toLowerCase() !== "noturno" && + period.toLowerCase() !== "integral" + ) { + errorCode = 422; + throw new Error(`'period' options are: 'Noturno' or 'Integral'.`); + } + + // Se a turma for noturna, adiciona '-na-night' no nome + let modName: string = name; + if (period.toLowerCase() === "noturno") { + modName = name + "-na-night"; + } + + // Se o fomrato de data do usuário é DD/MM/YYYY if (!checkDate(startDate) || !checkDate(endDate)) { errorCode = 422; throw new Error(`invalid date type. Use the format DD/MM/YYYY`); } + + // Se data de fim é maior que data de início if (dateDiff(convStartDate, convEndDate) < 0) { errorCode = 422; throw new Error("'endDate' must be greater than 'startDate'!"); } - if (dateDiff(convEndDate, new Date()) < 0) { + + // Se a data de fim do curso é superior ao dia atual + if (dateDiff(new Date(), convEndDate) < 0) { errorCode = 422; throw new Error("'endDate' must be greater than 'today's date'!"); } - if (isNaN(Number(module)) || Number(module) < 1) { + + // Se o valor inserido é um número, inteiro, positivo e entre 0 e 7 + if (isNaN(module) || module % 1 !== 0 || module < 0 || module > 7) { errorCode = 422; - throw new Error("'module' must be a positive number!"); + throw new Error( + "'module' must be a positive and integer number between 0 and 7!" + ); } - await insertClass(id, name, convStartDate, convEndDate, module); - res.status(201).send(`Class ${name} has been successfully registered!`); + + // Insere as informações no Banco de Dados + await insertClass( + id, + capitalize(modName), + convStartDate, + convEndDate, + module + ); + + // Resposta para o usuário + res + .status(201) + .send({ message: `Class '${name}' has been successfully registered!` }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/addClasstoUser.ts b/src/endpoints/addClasstoUser.ts new file mode 100644 index 0000000..931987d --- /dev/null +++ b/src/endpoints/addClasstoUser.ts @@ -0,0 +1,67 @@ +import { Request, Response } from "express"; +import findData from "../queries/findData"; +import insertUserToClass from "../queries/insertUserToClass"; +import findDuplicate from "../queries/findDuplicate"; + +const addClasstoUser = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + // Parâmetros do Body + const { category, userId, classId } = req.body; + const body = ["category", "userId", "classId"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + // Se a categoria é válida + if (category.toLowerCase() !== "student" && category !== "teacher") { + errorCode = 422; + throw new Error( + `Invalid category. Choose between 'student' or 'teacher'.` + ); + } + + //Se o id está na base de usuário selecionada + const findUser = findData(category, "id", userId); + if (!findUser) { + errorCode = 404; + throw new Error(`User id ${userId} not found.`); + } + + //Se o id está na base de turmas + const findClass = findData(category, "id", classId); + if (!findClass) { + errorCode = 404; + throw new Error(`Class id ${userId} not found.`); + } + + //Se a relaçao usuário-turma já foi cadastrada + const findRecord = await findDuplicate( + `${category}_class`, + `${category}_id`, + userId, + "class_id", + classId + ); + if (findRecord) { + errorCode = 409; + throw new Error(`This register has already been made.`); + } + + //Insere as informações no Banco de Dados + await insertUserToClass(category, userId, classId); + + //Resposta para o usuário + res.send({ message: "Success!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addClasstoUser; diff --git a/src/endpoints/addFakeUsers.ts b/src/endpoints/addFakeUsers.ts index 31d32b6..23b4421 100644 --- a/src/endpoints/addFakeUsers.ts +++ b/src/endpoints/addFakeUsers.ts @@ -2,18 +2,19 @@ import { Request, Response } from "express"; import { people } from "../fakeData/people"; import insertPerson from "../queries/insertPerson"; import { createId } from "../functions/createId"; +import getMaxIdNumber from "../queries/getMaxIdNumber"; const addFakeUsers = async (req: Request, res: Response) => { let errorCode: number = 400; try { const table:string = "teacher"; - for (let i = 50; i < 65; i++) { - const id: number = await createId("class"); + for (let i = 161; i < people.length; i++) { + // const id: number = await createId("class"); + const id: number = i+1; const name:string = people[i].name.first + " " + people[i].name.last; const email:string = people[i].email; const birthdate:Date = new Date(people[i].dob.date); - const classId:number = Math.floor(Math.random() * 3) + 1; - await insertPerson(table, id, name, email, birthdate, classId); + await insertPerson(table, id, name, email, birthdate); } res.status(200).send("Users generated!"); } catch (error) { diff --git a/src/endpoints/addHobby.ts b/src/endpoints/addHobby.ts index 9df62dc..af779a5 100644 --- a/src/endpoints/addHobby.ts +++ b/src/endpoints/addHobby.ts @@ -6,27 +6,37 @@ import { createId } from './../functions/createId'; const addHobby = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { - const title:string = req.body.title as string; - const id:number = await createId("hobby"); + // Parâmetros do Body + const title: string = req.body.title as string; + + // Gera id + const id: number = await createId("hobby"); + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body if (!title) { errorCode = 422; throw new Error("'title' is mandatory in body."); } - if (typeof title !== "string") { - errorCode = 422; - throw new Error("Insert words in the field."); - } + + // Se nome tem menos de 3 caracteres if (title.length < 3) { errorCode = 422; throw new Error("Hobby must be at least 3 characters."); } - const findHobby = await findData("student","title",title); + + // Se o hobby já foi cadastrado + const findHobby = await findData("hobby", "title", title); if (findHobby.length !== 0) { errorCode = 409; throw new Error(`Hobby '${title}' is already registered!`); } + + // Insere as informações no Banco de Dados await insertInfo("hobby", id, title); - res.status(201).send("Hobby registered!"); + + // Resposta para o usuário + res.status(201).send({ message: "Hobby registered!" }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/addSpeciality.ts b/src/endpoints/addSpeciality.ts index ecb0363..c5702d3 100644 --- a/src/endpoints/addSpeciality.ts +++ b/src/endpoints/addSpeciality.ts @@ -6,26 +6,36 @@ import { createId } from "../functions/createId"; const addSpeciality = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { + // Parâmetros do Body const title: string = req.body.title; + + // Gera id const id: number = await createId("teacher"); + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body if (!title) { errorCode = 422; throw new Error("'title' is mandatory in body."); } - if (typeof title !== "string") { - errorCode = 422; - throw new Error("Insert words in the field."); - } + + // Se nome tem menos de 3 caracteres if (title.length < 3) { errorCode = 422; throw new Error("Speciality must be at least 3 characters."); } + + // Se a especialidade já foi cadastrada const findSpeciality: any = await findData("speciality", "title", title); if (findSpeciality.length > 0) { errorCode = 409; throw new Error(`Speciality '${title}' is already registered!`); } + + // Insere as informações no Banco de Dados await insertInfo("speciality", id, title); + + // Resposta para o usuário res.status(201).send({ message: "Speciality registered!" }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); diff --git a/src/endpoints/addUser.ts b/src/endpoints/addUser.ts index e717465..616f74c 100644 --- a/src/endpoints/addUser.ts +++ b/src/endpoints/addUser.ts @@ -6,71 +6,70 @@ import { strDateToDate } from "../functions/strDateToDate"; import { createId } from "./../functions/createId"; import findData from "../queries/findData"; import { findAge } from "./../functions/findAge"; -import { personBodyType } from "../types/personBodyType"; +import { personBody, personBodyType } from "../types/personBody"; +import { capitalize } from "./../functions/capitalize"; const addUser = async (req: Request, res: Response) => { let errorCode: number = 400; try { - const {category, name, email, birthdate, classId} = req.body as personType + // Parâmetros do Body + const { category, name, email, birthdate } = req.body as personBodyType; + + // Gera id const id: number = await createId(category); - for (let key in req.body) { - if (!req.body[key]) { + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + for (let item in personBody) { + if (!(item in req.body)) { errorCode = 422; - throw new Error(`'${key}' field is empty or null.`); + throw new Error(`'${item}' field is missing.`); } } - if (!category || !name || !email || !birthdate || !classId) { + + // Se a categoria é válida + if (category.toLowerCase() !== "student" && category !== "teacher") { errorCode = 422; throw new Error( - `'category', 'name', 'email', 'birthdate' and 'classId' are mandatory parameters in body!` + `Invalid category. Choose between 'student' or 'teacher'.` ); } + + // Se o formato do e-mail é válido if (!checkEmail(email)) { errorCode = 422; throw new Error(`invalid e-mail type.`); } - const findStudentEmail:any = await findData("student", "email", email); - const findTeacherEmail:any = await findData("teacher", "email", email); - if ( - (findStudentEmail && findStudentEmail.length > 0) || - (findTeacherEmail && findTeacherEmail.length > 0) - ) { + + // Se o e-mail já foi cadastrado + const findStudentEmail: any = await findData("student", "email", email); + const findTeacherEmail: any = await findData("teacher", "email", email); + if (findStudentEmail || findTeacherEmail) { errorCode = 422; throw new Error(`E-mail already registered.`); } + + // Se o fomrato de data do usuário é DD/MM/YYYY let modDate: Date; if (!checkDate(birthdate)) { errorCode = 422; throw new Error(`invalid date type. Use the format DD/MM/YYYY`); } else { + // Converte a data de string pra Date modDate = strDateToDate(birthdate); } + + // Se o usuário tem pelo menos 18 anos if (findAge(modDate) < 18) { errorCode = 422; throw new Error(`Invalid age. You must be over 18 to register.`); } - if (category.toLowerCase() !== "student" && category !== "teacher") { - errorCode = 422; - throw new Error( - `Invalid category. Choose between 'student' or 'teacher'.` - ); - } - if (isNaN(Number(classId)) || Number(classId) < 1) { - errorCode = 422; - throw new Error("'classId' must be a positive number!"); - } - const findClassId:any = await findData("class", "id", classId); - if (findClassId.length < 1) { - errorCode = 404; - throw new Error("'classId' not found."); - } - await insertPerson(category, id, name, email, modDate, classId); - res - .status(200) - .send( - `${category.charAt(0).toUpperCase() + category.slice(1)} registered!` - ); + + // Insere as informações no Banco de Dados + await insertPerson(category, id, name, email, modDate); + + // Resposta para o usuário + res.status(200).send(`${capitalize(category)} registered!`); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/assignHobbyToStudent.ts b/src/endpoints/assignHobbyToStudent.ts new file mode 100644 index 0000000..c252ea7 --- /dev/null +++ b/src/endpoints/assignHobbyToStudent.ts @@ -0,0 +1,61 @@ +import { Request, Response } from "express"; +import findData from "../queries/findData"; +import findDuplicate from "../queries/findDuplicate"; +import { relationBody, relationType } from "../types/relationBody"; +import insertHobbyToStudent from '../queries/insertHobbyToStudent' + +const assignHobbyToStudent = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { userId, infoId } = req.body as relationType; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + for (let item in relationBody) { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + } + + // Se o usuário existe + const findUser = findData("student", "id", userId); + if (!findUser) { + errorCode = 404; + throw new Error(`Student id '${userId}' not found.`); + } + + // Se o info existe + const findInfo = findData("student", "id", infoId); + if (!findInfo) { + errorCode = 404; + throw new Error(`Hobby id '${infoId}' not found.`); + } + + //Se o regsitro já foi realizado + const findRecord = findDuplicate( + "student", + "student_id", + userId, + "hobby_id", + infoId + ); + if (findRecord) { + errorCode = 409; + throw new Error("This assignment has already been made!"); + } + + // Insere as informações no Banco de Dados + await insertHobbyToStudent(userId, infoId); + + // Resposta para o usuário + res.status(201).send({ message: "Success!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default assignHobbyToStudent; diff --git a/src/endpoints/assignSpecialityToTeacher.ts b/src/endpoints/assignSpecialityToTeacher.ts new file mode 100644 index 0000000..afa3cae --- /dev/null +++ b/src/endpoints/assignSpecialityToTeacher.ts @@ -0,0 +1,61 @@ +import { Request, Response } from "express"; +import findData from "../queries/findData"; +import findDuplicate from "../queries/findDuplicate"; +import insertSpecialityToTeacher from "../queries/insertSpecialityToTeacher"; +import { relationBody, relationType } from "../types/relationBody"; + +const assignSpecialityToTeacher = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { userId, infoId } = req.body as relationType; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + for (let item in relationBody) { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + } + + // Se o usuário existe + const findUser = findData("teacher", "id", userId); + if (!findUser) { + errorCode = 404; + throw new Error(`Teacher id '${userId}' not found.`); + } + + // Se o info existe + const findInfo = findData("teacher", "id", infoId); + if (!findInfo) { + errorCode = 404; + throw new Error(`Speciality id '${infoId}' not found.`); + } + + //Se o regsitro já foi realizado + const findRecord = findDuplicate( + "teacher", + "teacher_id", + userId, + "speciality_id", + infoId + ); + if (findRecord) { + errorCode = 409; + throw new Error("This assignment has already been made!"); + } + + // Insere as informações no Banco de Dados + await insertSpecialityToTeacher(userId, infoId); + + // Resposta para o usuário + res.status(201).send({ message: "Success!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default assignSpecialityToTeacher; diff --git a/src/endpoints/getClassStudents.ts b/src/endpoints/getClassStudents.ts new file mode 100644 index 0000000..8617147 --- /dev/null +++ b/src/endpoints/getClassStudents.ts @@ -0,0 +1,25 @@ +import { Request, Response } from "express"; +import getUserByClass from "../queries/getUserByClass"; + +const getClassStudents = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + // Parâmetros do query + const className = req.query.className as string; + + // Requisição do banco de dados + const resp = await getUserByClass("student", className); + + // Tratando as informações que devolverá ao usuário + const students = resp.map((student: any): any => { + return { name: student.name }; + }); + + // Resposta para o usuário + res.send({ students: students }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default getClassStudents; diff --git a/src/endpoints/getClassTeachers.ts b/src/endpoints/getClassTeachers.ts new file mode 100644 index 0000000..5c2cd0f --- /dev/null +++ b/src/endpoints/getClassTeachers.ts @@ -0,0 +1,25 @@ +import { Request, Response } from "express"; +import getUserByClass from "../queries/getUserByClass"; + +const getClassTeachers = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + // Parâmetros do query + const className = req.query.className as string; + + // Requisição do banco de dados + const resp = await getUserByClass("teacher", className); + + // Tratando as informações que devolverá ao usuário + const teachers = resp.map((teacher: any): any => { + return { name: teacher.name }; + }); + + // Resposta para o usuário + res.send({ teachers: teachers }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default getClassTeachers; diff --git a/src/endpoints/getStudentAge.ts b/src/endpoints/getStudentAge.ts index b8f2800..b79bd0f 100644 --- a/src/endpoints/getStudentAge.ts +++ b/src/endpoints/getStudentAge.ts @@ -5,9 +5,16 @@ import { findAge } from "./../functions/findAge"; const getStudentAge = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { + // Parâmetro do path const id: number = Number(req.params.id); - const profile:any= await findData("student","id",id); - const age:number = findAge(profile.birthdate); + + // Pegando usuário no banco de dados + const profile: any = await findData("student", "id", id); + + // Calculando idade pela data de nascimento + const age: number = findAge(profile.birthdate); + + // Resposta para o usuário res.status(200).send({ user: { name: profile.name, age: age } }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); diff --git a/src/functions/capitalize.ts b/src/functions/capitalize.ts new file mode 100644 index 0000000..4d32298 --- /dev/null +++ b/src/functions/capitalize.ts @@ -0,0 +1,6 @@ +export const capitalize = (string: string) => { + const capitalizedString = string + .toLocaleLowerCase() + .replace(/\w\S*/g, (w) => w.replace(/^\w/, (c) => c.toUpperCase())); + return capitalizedString; +}; diff --git a/src/functions/strDateToDate.ts b/src/functions/strDateToDate.ts index d8f6ead..893fc0c 100644 --- a/src/functions/strDateToDate.ts +++ b/src/functions/strDateToDate.ts @@ -1,6 +1,4 @@ export const strDateToDate = (dateString: string) => { const arrDateString = dateString.split("/"); - const strDate = - arrDateString[2] + "-" + arrDateString[1] + "-" + arrDateString[0]; - return new Date(strDate); + return new Date(Number(arrDateString[2]), Number(arrDateString[1])-1, Number(arrDateString[0])); }; diff --git a/src/index.ts b/src/index.ts index 588f8cb..e31bb2f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,16 +1,25 @@ import app from "./app"; -import addUser from './endpoints/addUser'; -import addHobby from './endpoints/addHobby'; -import addSpeciality from './endpoints/addSpeciality'; -import addClass from './endpoints/addClass'; -import getStudentAge from './endpoints/getStudentAge'; +import addUser from "./endpoints/addUser"; +import addHobby from "./endpoints/addHobby"; +import addSpeciality from "./endpoints/addSpeciality"; +import addClass from "./endpoints/addClass"; +import getStudentAge from "./endpoints/getStudentAge"; +import getClassStudents from "./endpoints/getClassStudents"; +import getClassTeachers from './endpoints/getClassTeachers'; +import addClasstoUser from './endpoints/addClasstoUser'; +import addFakeUsers from './endpoints/addFakeUsers'; -app.post("/user/create",addUser) +app.post("/user/create", addUser); app.post("/user/create/hobby", addHobby); app.post("/user/create/speciality", addSpeciality); -app.post("/class/create",addClass); +app.post("/class/create", addClass); -app.get("/user/:id",getStudentAge) +app.get("/student/:id", getStudentAge); +app.post("/user/class/add",addClasstoUser) +app.get("/student", getClassStudents); +app.get("/teacher", getClassTeachers); + +app.post("/fake",addFakeUsers) diff --git a/src/queries/findData.ts b/src/queries/findData.ts index 8297185..f7b7225 100644 --- a/src/queries/findData.ts +++ b/src/queries/findData.ts @@ -5,6 +5,10 @@ export default async function findData( columnName: string, value: string | number ): Promise { - const result = await connection.raw(`SELECT * FROM ${table} WHERE ${columnName} = "${value}"`); - return result[0]; + const result = await connection.raw(` + SELECT * + FROM ${table} + WHERE ${columnName} = "${value}" + `); + return result[0][0]; } diff --git a/src/queries/findDuplicate.ts b/src/queries/findDuplicate.ts new file mode 100644 index 0000000..65af0b5 --- /dev/null +++ b/src/queries/findDuplicate.ts @@ -0,0 +1,17 @@ +import connection from "../connection"; + +export default async function findDuplicate( + table: string, + columnName1: string, + value1: string | number, + columnName2: string, + value2: string | number +): Promise { + const result = await connection.raw( + `SELECT * + FROM ${table} + WHERE ${columnName1} = "${value1}" + AND ${columnName2} = "${value2}"` + ); + return result[0][0]; +} diff --git a/src/queries/getMaxIdNumber.ts b/src/queries/getMaxIdNumber.ts index c7d8ffa..3b3b506 100644 --- a/src/queries/getMaxIdNumber.ts +++ b/src/queries/getMaxIdNumber.ts @@ -2,7 +2,8 @@ import connection from "../connection"; export default async function getMaxIdNumber(table: string): Promise { const result = await connection.raw(` - SELECT MAX(id) FROM ${table}; + SELECT MAX(id) + FROM ${table}; `); if (result[0].length < 1) { return 0; diff --git a/src/queries/getStudentProfile.ts b/src/queries/getStudentProfile.ts index c7d65c8..4efaf9f 100644 --- a/src/queries/getStudentProfile.ts +++ b/src/queries/getStudentProfile.ts @@ -2,7 +2,9 @@ import connection from '../connection'; export default async function getStudentProfile(id:number): Promise { const result = await connection.raw(` - SELECT id, name, birthdate FROM student WHERE id = ${id} + SELECT id, name, birthdate + FROM student + WHERE id = ${id} `); return result[0][0]; diff --git a/src/queries/getUserByClass.ts b/src/queries/getUserByClass.ts new file mode 100644 index 0000000..a06f4da --- /dev/null +++ b/src/queries/getUserByClass.ts @@ -0,0 +1,15 @@ +import connection from "../connection"; + +export default async function getUserByClass(table:string, className: string): Promise { + const result = await connection.raw(` + SELECT ${table}.*, class.name as class_name + FROM ${table} + JOIN ${table}_class + ON ${table}.id = ${table}_class.${table}_id + JOIN class + ON ${table}_class.${table}_id = class.id + WHERE class.name LIKE "%${className}%" + `); + + return result[0]; +} diff --git a/src/queries/insertClass.ts b/src/queries/insertClass.ts index 4ef4912..25d3b4d 100644 --- a/src/queries/insertClass.ts +++ b/src/queries/insertClass.ts @@ -7,11 +7,9 @@ export default async function insertClass( endDate: Date, module: number ): Promise { - const result = await connection("class").insert({ - id: id, - name: name, - start_date: startDate, - end_date: endDate, - module: module, - }); + await connection.raw(` + INSERT INTO class (id, name, start_date, end_date, module) + VALUES + (${id}, "${name}", "${startDate}", "${endDate}", ${module}) + `); } diff --git a/src/queries/insertHobbyToStudent.ts b/src/queries/insertHobbyToStudent.ts new file mode 100644 index 0000000..4a9cd83 --- /dev/null +++ b/src/queries/insertHobbyToStudent.ts @@ -0,0 +1,15 @@ +import connection from "../connection"; + +export default async function insertHobbyToStudent( + studentId: number, + hobbyId: number +): Promise { + await connection.raw( + ` + INSERT + INTO student_hobby (student_id, hobby_id) + VALUES + ("${studentId}", "${hobbyId}") + ` + ); +} diff --git a/src/queries/insertInfo.ts b/src/queries/insertInfo.ts index 9f37ac7..9a792e1 100644 --- a/src/queries/insertInfo.ts +++ b/src/queries/insertInfo.ts @@ -5,8 +5,9 @@ export default async function insertInfo( id: number, title: string ): Promise { - await connection(table).insert({ - id: id, - title: title, - }); + await connection.raw(` + INSERT INTO ${table} (id, title) + VALUES + (${id}, "${title}") + `); } diff --git a/src/queries/insertPerson.ts b/src/queries/insertPerson.ts index 35496c1..9d3cc3d 100644 --- a/src/queries/insertPerson.ts +++ b/src/queries/insertPerson.ts @@ -5,14 +5,11 @@ export default async function insertPerson( id: number, name: string, email: string, - birthdate: Date, - classId: number + birthdate: Date ): Promise { - await connection(table).insert({ - id: id, - name: name, - email: email, - birthdate: birthdate, - class_id: classId - }); + await connection.raw(` + INSERT INTO ${table} (id, name, email, birthdate) + VALUES + (${id}, "${name}", "${email}", "${birthdate}"}) + `); } diff --git a/src/queries/insertSpecialityToTeacher.ts b/src/queries/insertSpecialityToTeacher.ts new file mode 100644 index 0000000..7eb7e44 --- /dev/null +++ b/src/queries/insertSpecialityToTeacher.ts @@ -0,0 +1,15 @@ +import connection from "../connection"; + +export default async function insertSpecialityToTeacher( + teacherId: number, + specialityId: number +): Promise { + await connection.raw( + ` + INSERT + INTO teacher_speciality (teacher_id, speciality_id) + VALUES + ("${teacherId}", "${specialityId}") + ` + ); +} diff --git a/src/queries/insertUserToClass.ts b/src/queries/insertUserToClass.ts new file mode 100644 index 0000000..01607bf --- /dev/null +++ b/src/queries/insertUserToClass.ts @@ -0,0 +1,16 @@ +import connection from "../connection"; + +export default async function insertUserToClass( + table: string, + userId: number, + classId: number +): Promise { + await connection.raw( + ` + INSERT + INTO ${table} (${table}_id, class_id) + VALUES + ("${userId}", "${classId}") + ` + ); +} diff --git a/src/requests.rest b/src/requests.rest index 44f2c9c..b5e5ea9 100644 --- a/src/requests.rest +++ b/src/requests.rest @@ -4,10 +4,9 @@ Content-Type: application/json { "category": "student", - "name": "nome", - "email": "email@abcde.com", - "birthdate": "20/10/2010", - "classId": 1 + "name": "user", + "email": "user@labenu.com.br", + "birthdate": "01/01/2000" } ### @@ -34,12 +33,34 @@ POST http://localhost:3003/class/create Content-Type: application/json { - "name": "Turr", - "startDate": "20/01/2001", - "endDate": "20/01/2002", + "name": "Muñoz", + "period": "Noturno", + "startDate": "30/02/2020", + "endDate": "31/10/2021", "module": 1 } ### -GET http://localhost:3003/user/1 \ No newline at end of file +GET http://localhost:3003/student/1 + +### +# Pegar estudantes de uma turma +GET http://localhost:3003/student?className=Epps + +### +# Pegar professores de uma turma +GET http://localhost:3003/teacher?className=Epps + +### +POST http://localhost:3003/user/class/add +Content-Type: application/json + +{ + "category": "student", + "userId": 1, + "classId": 1 +} + +### +POST http://localhost:3003/fake \ No newline at end of file diff --git a/src/sql/database.sql b/src/sql/database.sql index 6264adb..6adc410 100644 --- a/src/sql/database.sql +++ b/src/sql/database.sql @@ -1,9 +1,12 @@ + +USER `epps-fabio-santos`; + CREATE TABLE class ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, start_date DATE NOT NULL, end_date DATE NOT NULL, - module INT NOT NULL + module INT NOT NULL CHECK (module BETWEEN 0 AND 7) ); CREATE TABLE student ( @@ -11,8 +14,6 @@ CREATE TABLE student ( name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL UNIQUE, birthdate DATE NOT NULL, - class_id INT NOT NULL, - FOREIGN KEY (class_id) REFERENCES class(id) ); CREATE TABLE teacher ( @@ -20,8 +21,6 @@ CREATE TABLE teacher ( name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL UNIQUE, birthdate DATE NOT NULL, - class_id INT(255) NOT NULL, - FOREIGN KEY (class_id) REFERENCES class(id) ); CREATE TABLE hobby ( @@ -54,4 +53,18 @@ CREATE TABLE teacher_speciality ( speciality_id INT NOT NULL, FOREIGN KEY (teacher_id) REFERENCES teacher(id), FOREIGN KEY (speciality_id) REFERENCES speciality(id) +); + +CREATE TABLE student_class ( + student_id INT NOT NULL, + class_id INT NOT NULL, + FOREIGN KEY (student_id) REFERENCES student(id), + FOREIGN KEY (class_id) REFERENCES class(id) +); + +CREATE TABLE teacher_class ( + teacher_id INT NOT NULL, + class_id INT NOT NULL, + FOREIGN KEY (teacher_id) REFERENCES teacher(id), + FOREIGN KEY (class_id) REFERENCES class(id) ); \ No newline at end of file diff --git a/src/types/classBody.ts b/src/types/classBody.ts new file mode 100644 index 0000000..d172eb7 --- /dev/null +++ b/src/types/classBody.ts @@ -0,0 +1,15 @@ +export type classBodyType = { + name: string; + period: string; + startDate: string; + endDate: string; + module: number; +}; + +export enum classBody { + name = "name", + period = "period", + startDate = "startDate", + endDate = "endDate", + module = "module", +} \ No newline at end of file diff --git a/src/types/classBodyType.ts b/src/types/classBodyType.ts deleted file mode 100644 index b06e166..0000000 --- a/src/types/classBodyType.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type classBodyType = { - name: string; - startDate: string; - endDate: string; - module: number; -}; diff --git a/src/types/infoBody.ts b/src/types/infoBody.ts new file mode 100644 index 0000000..84c82f6 --- /dev/null +++ b/src/types/infoBody.ts @@ -0,0 +1,9 @@ +export type infoType = { + id: number; + title: string; +}; + +export enum infoBody { + id = "id", + title = "title" +} diff --git a/src/types/personBody.ts b/src/types/personBody.ts new file mode 100644 index 0000000..4cbde32 --- /dev/null +++ b/src/types/personBody.ts @@ -0,0 +1,13 @@ +export type personBodyType = { + category: string, + name: string, + email: string, + birthdate: string +}; + +export enum personBody { + category= "category", + name= "name", + email= "email", + birthdate= "birthdate" +}; \ No newline at end of file diff --git a/src/types/personType.ts b/src/types/personType.ts deleted file mode 100644 index fe9efce..0000000 --- a/src/types/personType.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type personBodyType = { - category: string, - name: string, - email: string, - birthdate: string, - classId: number, -}; \ No newline at end of file diff --git a/src/types/relationBody.ts b/src/types/relationBody.ts new file mode 100644 index 0000000..d353a1f --- /dev/null +++ b/src/types/relationBody.ts @@ -0,0 +1,9 @@ +export type relationType = { + userId: number; + infoId: number; +}; + +export enum relationBody { + userId = "userId", + infoId = "infoId", +} From 701b7f81a6e6e597f112401c332ef40c49168426 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 14:13:50 -0300 Subject: [PATCH 05/21] .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 63f07ca..1cf040d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ build .env _query_template.ts _template.ts +fakeData From daa4e07de3ec5bb9871a9fd23530c34a71e41efb Mon Sep 17 00:00:00 2001 From: fsantos22 <74519608+fsantos22@users.noreply.github.com> Date: Wed, 31 Mar 2021 14:14:25 -0300 Subject: [PATCH 06/21] Delete src/fakeData directory --- src/fakeData/people.ts | 7443 ---------------------------------------- 1 file changed, 7443 deletions(-) delete mode 100644 src/fakeData/people.ts diff --git a/src/fakeData/people.ts b/src/fakeData/people.ts deleted file mode 100644 index 7c833ce..0000000 --- a/src/fakeData/people.ts +++ /dev/null @@ -1,7443 +0,0 @@ -export const people = [ - { - gender: "female", - name: { title: "Madame", first: "Marguerite", last: "Marchand" }, - location: { - street: { number: 4448, name: "Rue Louis-Blanqui" }, - city: "Heiden", - state: "Solothurn", - country: "Switzerland", - postcode: 5322, - coordinates: { latitude: "-51.9319", longitude: "65.6236" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "marguerite.marchand@example.com", - login: { - uuid: "a9777e6a-0642-4992-b002-b1c67d71bb99", - username: "blackpeacock167", - password: "666666", - salt: "AthMMhBc", - md5: "1183e818f450cfaeaea0b63519bd0c46", - sha1: "8fb21a014d7bc5667c51cd1da1bba2871741bb2c", - sha256: - "0ce0d22928c777fbccfb627f83ade35084d823389ce47409b39cb6c1344a0111", - }, - dob: { date: "1985-09-14T23:19:24.469Z", age: 36 }, - registered: { date: "2009-10-15T03:17:31.059Z", age: 12 }, - phone: "075 775 67 02", - cell: "077 329 16 25", - id: { name: "AVS", value: "756.2636.6084.04" }, - picture: { - large: "https://randomuser.me/api/portraits/women/45.jpg", - medium: "https://randomuser.me/api/portraits/med/women/45.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/45.jpg", - }, - nat: "CH", - }, - { - gender: "male", - name: { title: "Mr", first: "Mikael", last: "Storaker" }, - location: { - street: { number: 1342, name: "Elmholt allé" }, - city: "Leirsund", - state: "Description", - country: "Norway", - postcode: "4357", - coordinates: { latitude: "53.6381", longitude: "-170.3057" }, - timezone: { - offset: "+3:00", - description: "Baghdad, Riyadh, Moscow, St. Petersburg", - }, - }, - email: "mikael.storaker@example.com", - login: { - uuid: "4944e2a4-9396-4aa0-9717-c5ac82273340", - username: "organicleopard174", - password: "redrum", - salt: "sb0WHyzm", - md5: "e727bffd3971d48de4a9baa202830ff4", - sha1: "126ad9e77f88c7ca39bd1dfa57b6ed4320759aed", - sha256: - "c8e9e2f6d43986f250e37f88a8fcca466f065aae82c43fc983cc74adb920438e", - }, - dob: { date: "1978-06-17T10:37:00.313Z", age: 43 }, - registered: { date: "2011-12-28T01:33:07.104Z", age: 10 }, - phone: "78747866", - cell: "49177493", - id: { name: "FN", value: "17067817141" }, - picture: { - large: "https://randomuser.me/api/portraits/men/25.jpg", - medium: "https://randomuser.me/api/portraits/med/men/25.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/25.jpg", - }, - nat: "NO", - }, - { - gender: "male", - name: { title: "Mr", first: "Eren", last: "Özbir" }, - location: { - street: { number: 2601, name: "Şehitler Cd" }, - city: "Ankara", - state: "Bingöl", - country: "Turkey", - postcode: 41182, - coordinates: { latitude: "88.4174", longitude: "101.3863" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "eren.ozbir@example.com", - login: { - uuid: "8663b981-984c-4cc7-beb9-4f1cc7f5a7e4", - username: "redgorilla438", - password: "bobbob", - salt: "FmzdOaFV", - md5: "5b086941508732f3ab278103c1804711", - sha1: "4bde00ce34fabccca68e66183c5f17241fc00ac7", - sha256: - "af91e5a305e629f004f4615f25f3aae133bf3546862fd4e738639162df1d2b24", - }, - dob: { date: "1970-05-06T15:27:35.249Z", age: 51 }, - registered: { date: "2007-09-05T16:42:02.551Z", age: 14 }, - phone: "(603)-043-1192", - cell: "(911)-893-6323", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/24.jpg", - medium: "https://randomuser.me/api/portraits/med/men/24.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/24.jpg", - }, - nat: "TR", - }, - { - gender: "male", - name: { title: "Mr", first: "Vincent", last: "Edwards" }, - location: { - street: { number: 2766, name: "Highbrook Drive" }, - city: "Napier", - state: "Tasman", - country: "New Zealand", - postcode: 16102, - coordinates: { latitude: "-26.2278", longitude: "167.1157" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "vincent.edwards@example.com", - login: { - uuid: "d4512583-60a0-48c2-a667-43a1607622f4", - username: "goldenostrich161", - password: "dana", - salt: "an03ZMA1", - md5: "0b70c9218f3764b79f55e5cbb14d7b95", - sha1: "098caaace658e0da8bd6bacb2cf7372c6355aa7f", - sha256: - "605725bc0bd13edd182e99e26694ade508829508f0e6938ba3aa8aac4cab2a9f", - }, - dob: { date: "1955-05-07T16:36:21.863Z", age: 66 }, - registered: { date: "2014-08-01T19:51:00.343Z", age: 7 }, - phone: "(923)-764-2169", - cell: "(461)-913-0110", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/27.jpg", - medium: "https://randomuser.me/api/portraits/med/men/27.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/27.jpg", - }, - nat: "NZ", - }, - { - gender: "female", - name: { title: "Miss", first: "Özsu", last: "Tanrıkulu" }, - location: { - street: { number: 9267, name: "Talak Göktepe Cd" }, - city: "Burdur", - state: "Muğla", - country: "Turkey", - postcode: 45878, - coordinates: { latitude: "77.1547", longitude: "-125.4339" }, - timezone: { - offset: "+3:00", - description: "Baghdad, Riyadh, Moscow, St. Petersburg", - }, - }, - email: "ozsu.tanrikulu@example.com", - login: { - uuid: "2ef5a435-d6f2-4646-bc10-3fed96d45a13", - username: "bluebutterfly345", - password: "wp2003wp", - salt: "0Vudhx7h", - md5: "49a60cf341f6f92cdbae307a61084f69", - sha1: "9a89745452b8226b6d2be36393befc4a93c2468f", - sha256: - "b6f98932ea616ddae39fa52a552e0d432a132ba1f6f269640b490995dbb70813", - }, - dob: { date: "1954-11-27T04:15:05.823Z", age: 67 }, - registered: { date: "2004-01-11T12:52:42.716Z", age: 17 }, - phone: "(447)-967-2451", - cell: "(303)-242-5856", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/29.jpg", - medium: "https://randomuser.me/api/portraits/med/women/29.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/29.jpg", - }, - nat: "TR", - }, - { - gender: "female", - name: { title: "Miss", first: "فاطمه", last: "حسینی" }, - location: { - street: { number: 1006, name: "واعظی" }, - city: "خمینی‌شهر", - state: "کهگیلویه و بویراحمد", - country: "Iran", - postcode: 27031, - coordinates: { latitude: "37.0751", longitude: "-80.5683" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "ftmh.hsyny@example.com", - login: { - uuid: "f46b9742-af7b-42f1-9022-1eccc18e4296", - username: "heavyswan253", - password: "gogogo", - salt: "4Twb3bc0", - md5: "0019d5ad133e67c5ee73b3f77e1bfdb4", - sha1: "aa8262dc3cbf50b792db9e3abf244e9afbf564d1", - sha256: - "c10809422cfb8ac72ea361cb1dbcc4f201bfbf482dfe9a4e2a6d494625b8be5b", - }, - dob: { date: "1987-12-02T02:11:17.874Z", age: 34 }, - registered: { date: "2018-04-12T12:13:07.332Z", age: 3 }, - phone: "041-76496957", - cell: "0997-800-5999", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/82.jpg", - medium: "https://randomuser.me/api/portraits/med/women/82.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/82.jpg", - }, - nat: "IR", - }, - { - gender: "female", - name: { title: "Miss", first: "Liliana", last: "Wölk" }, - location: { - street: { number: 758, name: "Am Bahnhof" }, - city: "Wörrstadt", - state: "Rheinland-Pfalz", - country: "Germany", - postcode: 92755, - coordinates: { latitude: "88.2884", longitude: "95.1060" }, - timezone: { - offset: "-8:00", - description: "Pacific Time (US & Canada)", - }, - }, - email: "liliana.wolk@example.com", - login: { - uuid: "5016f1f2-1431-4477-bf9c-46925054748c", - username: "sadrabbit538", - password: "franco", - salt: "eI5jgI7Z", - md5: "5d3d4f5737ee07cbf46250db0f80ec5b", - sha1: "74368e9bd1353dae3fbf269bb18abec65f057db0", - sha256: - "c703377cfddbc463cc260c54c5dbd28f94981ecbc84b4b361f6680fcdcc5f9d6", - }, - dob: { date: "1996-01-10T21:31:00.335Z", age: 25 }, - registered: { date: "2015-01-26T02:56:23.847Z", age: 6 }, - phone: "0208-0801161", - cell: "0172-4640908", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/85.jpg", - medium: "https://randomuser.me/api/portraits/med/women/85.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/85.jpg", - }, - nat: "DE", - }, - { - gender: "female", - name: { title: "Miss", first: "Izzie", last: "Daniels" }, - location: { - street: { number: 8554, name: "Main Street" }, - city: "Cardiff", - state: "Warwickshire", - country: "United Kingdom", - postcode: "HX5 5GU", - coordinates: { latitude: "17.9038", longitude: "57.3610" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "izzie.daniels@example.com", - login: { - uuid: "ac91121d-5e3e-4b50-a00f-67d2ced71b97", - username: "sadostrich790", - password: "blowjob", - salt: "T6DcdhrV", - md5: "2e613983ce2533ec8d88e7aa43d18a60", - sha1: "0930225e0c18975b37069fb0aa8e57370ccb37b7", - sha256: - "fadf5c1143f398f5bd8af8116e152a0d914f4e9025775f9088831c13121843be", - }, - dob: { date: "1997-10-02T16:41:35.113Z", age: 24 }, - registered: { date: "2013-04-10T01:34:13.581Z", age: 8 }, - phone: "0121 424 5400", - cell: "0704-660-320", - id: { name: "NINO", value: "PM 09 10 31 F" }, - picture: { - large: "https://randomuser.me/api/portraits/women/68.jpg", - medium: "https://randomuser.me/api/portraits/med/women/68.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Mrs", first: "Maria", last: "Thomsen" }, - location: { - street: { number: 2638, name: "Vestermarksvej" }, - city: "København N", - state: "Nordjylland", - country: "Denmark", - postcode: 89851, - coordinates: { latitude: "81.6138", longitude: "66.9900" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "maria.thomsen@example.com", - login: { - uuid: "e8bebc01-9eff-44f9-b221-0fae18e218fd", - username: "angrylion338", - password: "weaver", - salt: "OBF5fnYg", - md5: "d95bd14097164bce6c35aaf80487856b", - sha1: "d6bb4b821173ed646a015770d218b46441cb1693", - sha256: - "1050b17a77dfeb614557579b241780ca6397447002f034f73f2ab2e221d7e31e", - }, - dob: { date: "1957-08-31T06:34:52.861Z", age: 64 }, - registered: { date: "2005-11-02T03:47:03.705Z", age: 16 }, - phone: "80875105", - cell: "87839028", - id: { name: "CPR", value: "310857-1566" }, - picture: { - large: "https://randomuser.me/api/portraits/women/21.jpg", - medium: "https://randomuser.me/api/portraits/med/women/21.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/21.jpg", - }, - nat: "DK", - }, - { - gender: "male", - name: { title: "Mr", first: "Allen", last: "Williams" }, - location: { - street: { number: 8315, name: "Wheeler Ridge Dr" }, - city: "Warragul", - state: "Victoria", - country: "Australia", - postcode: 9280, - coordinates: { latitude: "-24.0190", longitude: "84.5444" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "allen.williams@example.com", - login: { - uuid: "c7fbe40d-0d11-42a2-86a7-1e0d8d632ad6", - username: "browngorilla254", - password: "starfire", - salt: "1Haub288", - md5: "2c1903e87ea93734009bdabcd5c88b05", - sha1: "a4b2f0714de45c22e07286476bb8fb4bd6573a22", - sha256: - "7990dc2678417c7a38e664d5e75093239935da01ebf064d2a5b177fba7a02ff3", - }, - dob: { date: "1957-04-20T07:12:33.913Z", age: 64 }, - registered: { date: "2012-06-10T16:36:54.762Z", age: 9 }, - phone: "03-0162-1148", - cell: "0484-397-059", - id: { name: "TFN", value: "185409799" }, - picture: { - large: "https://randomuser.me/api/portraits/men/56.jpg", - medium: "https://randomuser.me/api/portraits/med/men/56.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/56.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "Roberto", last: "Graham" }, - location: { - street: { number: 5864, name: "New Street" }, - city: "Oxford", - state: "County Down", - country: "United Kingdom", - postcode: "T77 1SU", - coordinates: { latitude: "-58.7603", longitude: "144.0118" }, - timezone: { - offset: "+7:00", - description: "Bangkok, Hanoi, Jakarta", - }, - }, - email: "roberto.graham@example.com", - login: { - uuid: "ebe70024-c2ba-4cfa-b07d-ea235316f24e", - username: "biggorilla633", - password: "thecat", - salt: "FxEtRnSJ", - md5: "2a97afb7367777cab351a0f6a3080445", - sha1: "0bac9ac800bef45309e1ae53742c72b52e3ee1a5", - sha256: - "e69dcf25a824d485712e845440304a2cd7f7a9a4b4377a8072006344b873bff3", - }, - dob: { date: "1954-12-24T11:35:59.007Z", age: 67 }, - registered: { date: "2017-08-02T11:55:09.846Z", age: 4 }, - phone: "024 1382 6153", - cell: "0718-398-162", - id: { name: "NINO", value: "WZ 97 21 21 T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/46.jpg", - medium: "https://randomuser.me/api/portraits/med/men/46.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/46.jpg", - }, - nat: "GB", - }, - { - gender: "male", - name: { title: "Mr", first: "Elias", last: "Marttila" }, - location: { - street: { number: 8081, name: "Rotuaari" }, - city: "Nastola", - state: "Åland", - country: "Finland", - postcode: 95197, - coordinates: { latitude: "-42.7957", longitude: "-126.3812" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "elias.marttila@example.com", - login: { - uuid: "a9833e1a-58e4-4737-8611-68d9d38b6319", - username: "whitefish773", - password: "ricardo", - salt: "myD1eS5x", - md5: "0225d83ae23bda6ed38fd47ebde2439a", - sha1: "97bd68fed4c67e4c7a43260c6aa1adaf03237c6f", - sha256: - "c327ef4e51b4605fa12936ba55bb55db6307e1654a57c8507020735db2457655", - }, - dob: { date: "1989-05-26T07:20:59.151Z", age: 32 }, - registered: { date: "2017-11-04T18:39:21.921Z", age: 4 }, - phone: "03-762-160", - cell: "041-488-08-34", - id: { name: "HETU", value: "NaNNA921undefined" }, - picture: { - large: "https://randomuser.me/api/portraits/men/45.jpg", - medium: "https://randomuser.me/api/portraits/med/men/45.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/45.jpg", - }, - nat: "FI", - }, - { - gender: "male", - name: { title: "Mr", first: "Malik", last: "French" }, - location: { - street: { number: 6764, name: "Disputed Rd" }, - city: "Victoria", - state: "Ontario", - country: "Canada", - postcode: "B6T 1X0", - coordinates: { latitude: "-62.3553", longitude: "-44.5246" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "malik.french@example.com", - login: { - uuid: "49156244-85f9-42e7-821a-c476285bfc88", - username: "tinysnake652", - password: "titans", - salt: "v74D7crm", - md5: "23a925a13b65ba075dae0e27c1b09b4b", - sha1: "c326a7a3978899e97afb65ec168a13a6b66a92e1", - sha256: - "321c978849fb5be974ce06046437748c644d41d1fa43598b9d1c47a4d8ebd9e3", - }, - dob: { date: "1974-08-01T01:30:30.655Z", age: 47 }, - registered: { date: "2017-07-21T21:26:04.819Z", age: 4 }, - phone: "254-778-3848", - cell: "562-758-8580", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/59.jpg", - medium: "https://randomuser.me/api/portraits/med/men/59.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/59.jpg", - }, - nat: "CA", - }, - { - gender: "male", - name: { title: "Mr", first: "Alexander", last: "Jordan" }, - location: { - street: { number: 1158, name: "Wheeler Ridge Dr" }, - city: "Australian Capital Territory", - state: "Western Australia", - country: "Australia", - postcode: 3716, - coordinates: { latitude: "76.2884", longitude: "94.4816" }, - timezone: { - offset: "-5:00", - description: "Eastern Time (US & Canada), Bogota, Lima", - }, - }, - email: "alexander.jordan@example.com", - login: { - uuid: "45e2f3f8-df05-4ffb-b87b-852d3aa217aa", - username: "browndog657", - password: "hardon", - salt: "B6Crjm4s", - md5: "4631f0e4142d6cb073cc6a3eee726a5d", - sha1: "46ca5335c6117434d9c8590718b53319f366bef2", - sha256: - "6f1ce06884e76615d50ec61e30887afd70441ccd0bff1f03e6e577bcf01c519a", - }, - dob: { date: "1953-05-04T00:09:34.379Z", age: 68 }, - registered: { date: "2011-01-28T18:44:50.547Z", age: 10 }, - phone: "02-7312-6339", - cell: "0415-203-414", - id: { name: "TFN", value: "494602518" }, - picture: { - large: "https://randomuser.me/api/portraits/men/39.jpg", - medium: "https://randomuser.me/api/portraits/med/men/39.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/39.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "Sondre", last: "Velde" }, - location: { - street: { number: 7462, name: "Havnabakken" }, - city: "Øverbø", - state: "Nord-Trøndelag", - country: "Norway", - postcode: "3520", - coordinates: { latitude: "-73.2798", longitude: "-65.8747" }, - timezone: { offset: "+3:30", description: "Tehran" }, - }, - email: "sondre.velde@example.com", - login: { - uuid: "31eb28a4-e894-4c73-bffd-44cfaabcf38d", - username: "redladybug275", - password: "pinkfloy", - salt: "lhonDPFA", - md5: "403e38b3d9cc970c7339bbd0679c85ba", - sha1: "d8b11748ee0d1bbf67b83a7795cf46361269daa4", - sha256: - "4c3d76aff220d92caedec3da369bbacb4974f14fac51bdf697d42ed7ddcf91af", - }, - dob: { date: "1974-01-17T22:00:27.231Z", age: 47 }, - registered: { date: "2008-01-24T07:44:51.821Z", age: 13 }, - phone: "66718814", - cell: "94480232", - id: { name: "FN", value: "17017429191" }, - picture: { - large: "https://randomuser.me/api/portraits/men/86.jpg", - medium: "https://randomuser.me/api/portraits/med/men/86.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/86.jpg", - }, - nat: "NO", - }, - { - gender: "male", - name: { title: "Mr", first: "James", last: "Shelton" }, - location: { - street: { number: 3862, name: "Miller Ave" }, - city: "Tallahassee", - state: "Massachusetts", - country: "United States", - postcode: 89140, - coordinates: { latitude: "-24.2693", longitude: "67.7112" }, - timezone: { - offset: "+6:00", - description: "Almaty, Dhaka, Colombo", - }, - }, - email: "james.shelton@example.com", - login: { - uuid: "9a0e053a-71f1-4162-b5aa-f6e4e69ea78e", - username: "tinymouse708", - password: "pokemon", - salt: "cGnP4lsz", - md5: "a2aa5f8139361eaa877004144f964f4a", - sha1: "b4f171c48578fa62bb0db694f4629af6f0ff7be3", - sha256: - "46c175858942973df4531a5bde2aee93ca22a9d190217afadc4af0e3c9447bd6", - }, - dob: { date: "1996-04-15T18:56:34.050Z", age: 25 }, - registered: { date: "2007-12-22T07:56:52.067Z", age: 14 }, - phone: "(286)-161-0368", - cell: "(233)-652-4008", - id: { name: "SSN", value: "604-29-8719" }, - picture: { - large: "https://randomuser.me/api/portraits/men/68.jpg", - medium: "https://randomuser.me/api/portraits/med/men/68.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/68.jpg", - }, - nat: "US", - }, - { - gender: "male", - name: { title: "Mr", first: "Clinton", last: "Hall" }, - location: { - street: { number: 1939, name: "Daisy Dr" }, - city: "Perth", - state: "Victoria", - country: "Australia", - postcode: 7627, - coordinates: { latitude: "-74.9612", longitude: "-99.9463" }, - timezone: { - offset: "-8:00", - description: "Pacific Time (US & Canada)", - }, - }, - email: "clinton.hall@example.com", - login: { - uuid: "d1f09433-3d0d-4b83-88eb-c5e03d28aa06", - username: "whitekoala248", - password: "mclaren", - salt: "cAXoQtoP", - md5: "58f843e2408241589be6c9345f31ee66", - sha1: "3ab36673a200360954a885674c7ab923e644a301", - sha256: - "06c4cc91988e8c4e9e5549408f1cc7875b6283787d4e96ce5c8ad245bf546d43", - }, - dob: { date: "1966-03-03T07:17:18.795Z", age: 55 }, - registered: { date: "2004-12-22T01:34:50.600Z", age: 17 }, - phone: "05-6300-8859", - cell: "0422-614-097", - id: { name: "TFN", value: "767745543" }, - picture: { - large: "https://randomuser.me/api/portraits/men/81.jpg", - medium: "https://randomuser.me/api/portraits/med/men/81.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/81.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "Lucas", last: "Gutierrez" }, - location: { - street: { number: 7276, name: "Avenida de Salamanca" }, - city: "Talavera de la Reina", - state: "Aragón", - country: "Spain", - postcode: 48488, - coordinates: { latitude: "-83.3840", longitude: "170.8698" }, - timezone: { - offset: "-11:00", - description: "Midway Island, Samoa", - }, - }, - email: "lucas.gutierrez@example.com", - login: { - uuid: "2dffd3d8-050d-4ffd-b623-98502a4117de", - username: "purplemouse146", - password: "warren", - salt: "DDQQl2vj", - md5: "3d9b7bc7c667b64cdff88ea50c6dff48", - sha1: "4af2d8cdda970c718c5b1c0bdb8f3c8a93cf9b58", - sha256: - "3345e18314ae63966e8d3da5b23ec60231e844924ebd5dfe05704a9515f1a7d4", - }, - dob: { date: "1956-10-12T12:33:21.860Z", age: 65 }, - registered: { date: "2008-01-27T18:11:47.427Z", age: 13 }, - phone: "937-672-129", - cell: "671-111-438", - id: { name: "DNI", value: "88173527-G" }, - picture: { - large: "https://randomuser.me/api/portraits/men/1.jpg", - medium: "https://randomuser.me/api/portraits/med/men/1.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/1.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Ms", first: "Lilli", last: "Mong" }, - location: { - street: { number: 4753, name: "Ruseløkkveien" }, - city: "Selje", - state: "Aust-Agder", - country: "Norway", - postcode: "8638", - coordinates: { latitude: "-17.2929", longitude: "-55.1271" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "lilli.mong@example.com", - login: { - uuid: "fb09f2c9-70fb-4ffe-92c5-c97a3f8675b3", - username: "redmouse367", - password: "teens", - salt: "ZdwPmCtc", - md5: "57a0c9b6263909df96779c0e42c035b7", - sha1: "4222c3c7fa65743ec253d2e6c97dbce5d97ba216", - sha256: - "13a9791f404387b2c980b15cc0af3bd0a18e43006ceea79735482744d1d7d199", - }, - dob: { date: "1992-04-22T01:45:06.686Z", age: 29 }, - registered: { date: "2016-08-29T21:10:00.775Z", age: 5 }, - phone: "77920025", - cell: "95392449", - id: { name: "FN", value: "22049223815" }, - picture: { - large: "https://randomuser.me/api/portraits/women/94.jpg", - medium: "https://randomuser.me/api/portraits/med/women/94.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/94.jpg", - }, - nat: "NO", - }, - { - gender: "male", - name: { title: "Mr", first: "Murat", last: "Poyrazoğlu" }, - location: { - street: { number: 2371, name: "Istiklal Cd" }, - city: "Çankırı", - state: "Gümüşhane", - country: "Turkey", - postcode: 89496, - coordinates: { latitude: "40.1541", longitude: "27.5140" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "murat.poyrazoglu@example.com", - login: { - uuid: "e1693e71-405c-4583-b12b-3fb2ca2e2a0c", - username: "bluebird105", - password: "credit", - salt: "PEEKAL8E", - md5: "5b42f9191718469c5d80b201b030ab22", - sha1: "b7c166c251ce64c7ab76c509a5dec1e48e1fb86a", - sha256: - "6442eba343f05e735f61597c8d9cf3032ff0f07a0b8811565815041b69b2cfd7", - }, - dob: { date: "1970-09-21T05:21:14.659Z", age: 51 }, - registered: { date: "2007-03-06T09:53:21.685Z", age: 14 }, - phone: "(496)-615-2694", - cell: "(287)-090-2804", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/38.jpg", - medium: "https://randomuser.me/api/portraits/med/men/38.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/38.jpg", - }, - nat: "TR", - }, - { - gender: "female", - name: { title: "Madame", first: "Cäcilia", last: "Meunier" }, - location: { - street: { number: 8773, name: "Place des 44 Enfants D'Izieu" }, - city: "Bodio", - state: "Uri", - country: "Switzerland", - postcode: 3604, - coordinates: { latitude: "84.6268", longitude: "-158.5381" }, - timezone: { offset: "+3:30", description: "Tehran" }, - }, - email: "cacilia.meunier@example.com", - login: { - uuid: "a3a3dfa2-c6eb-43c6-a8d0-46b2088a16f6", - username: "browntiger330", - password: "goku", - salt: "MX1ZuyEg", - md5: "f558446e2eece7ed0a7b149493504f54", - sha1: "3fcd290f3322f409d5aa081fdabfbe254860631f", - sha256: - "6a65ee0fe34f5d2606eeb3e2db4bbd5370b4f1593d200f49024d76bd3360cd85", - }, - dob: { date: "1987-02-28T10:16:12.182Z", age: 34 }, - registered: { date: "2016-04-07T23:43:41.255Z", age: 5 }, - phone: "075 190 92 93", - cell: "077 933 62 56", - id: { name: "AVS", value: "756.8861.9861.94" }, - picture: { - large: "https://randomuser.me/api/portraits/women/10.jpg", - medium: "https://randomuser.me/api/portraits/med/women/10.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/10.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Ms", first: "Carolina", last: "Rodriguez" }, - location: { - street: { number: 8881, name: "Avenida de América" }, - city: "San Sebastián", - state: "Comunidad de Madrid", - country: "Spain", - postcode: 62071, - coordinates: { latitude: "-23.5742", longitude: "-165.5614" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "carolina.rodriguez@example.com", - login: { - uuid: "2ec23f0d-565e-411b-adac-2cfdab7071cd", - username: "whiteswan231", - password: "python", - salt: "2ga3QocD", - md5: "e9e33d67c934456cdfb330dfc4a8fcb3", - sha1: "c824db1ee5f4abb96633664c4acd91a16ab2337f", - sha256: - "0fac20ef6912ae19f6f8a0503fdca698fd2ec52424145223b757840cee584032", - }, - dob: { date: "1978-08-26T22:48:41.603Z", age: 43 }, - registered: { date: "2014-06-06T20:36:35.102Z", age: 7 }, - phone: "991-093-940", - cell: "684-824-157", - id: { name: "DNI", value: "77402303-G" }, - picture: { - large: "https://randomuser.me/api/portraits/women/35.jpg", - medium: "https://randomuser.me/api/portraits/med/women/35.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/35.jpg", - }, - nat: "ES", - }, - { - gender: "male", - name: { title: "Mr", first: "Leslie", last: "Lynch" }, - location: { - street: { number: 8308, name: "Albert Road" }, - city: "Swansea", - state: "Lancashire", - country: "United Kingdom", - postcode: "I5 3FW", - coordinates: { latitude: "-74.2326", longitude: "79.8304" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "leslie.lynch@example.com", - login: { - uuid: "88763d22-725d-44a2-94f2-d5fd2a401735", - username: "brownsnake973", - password: "redbaron", - salt: "WVcaYSPH", - md5: "b083b60a6c608f769af9e844bc0d6050", - sha1: "04a1ad001437afeca68c5f9548058e90b2e778f7", - sha256: - "e3afd82784cea9344d46c0b804f8076ab4ab8e58e386c390d3252e2cf81286db", - }, - dob: { date: "1956-05-23T16:17:47.926Z", age: 65 }, - registered: { date: "2002-05-25T18:14:22.464Z", age: 19 }, - phone: "017687 01066", - cell: "0763-697-235", - id: { name: "NINO", value: "WK 64 00 44 S" }, - picture: { - large: "https://randomuser.me/api/portraits/men/76.jpg", - medium: "https://randomuser.me/api/portraits/med/men/76.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/76.jpg", - }, - nat: "GB", - }, - { - gender: "male", - name: { title: "Mr", first: "Odair", last: "Sales" }, - location: { - street: { number: 1213, name: "Rua São Jorge " }, - city: "Linhares", - state: "Mato Grosso do Sul", - country: "Brazil", - postcode: 16984, - coordinates: { latitude: "-21.4122", longitude: "-168.3228" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "odair.sales@example.com", - login: { - uuid: "0674bcc3-bc06-481f-a151-e235dac81fb5", - username: "greensnake771", - password: "heng", - salt: "6FUSK1bR", - md5: "527ef95bd215351a0bac8a62b6f40611", - sha1: "b18933fd978a98c0ef5d26a6fc3626fa7e9058b7", - sha256: - "e7bd6583b34e024321d95666c42800219ead8f5ae626ce59a721372efc68377c", - }, - dob: { date: "1989-07-02T03:58:02.062Z", age: 32 }, - registered: { date: "2003-07-03T08:09:38.023Z", age: 18 }, - phone: "(63) 7555-6588", - cell: "(40) 8876-2803", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/22.jpg", - medium: "https://randomuser.me/api/portraits/med/men/22.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/22.jpg", - }, - nat: "BR", - }, - { - gender: "male", - name: { title: "Mr", first: "Robert", last: "Franklin" }, - location: { - street: { number: 6703, name: "Paddock Way" }, - city: "Kalgoorlie", - state: "Northern Territory", - country: "Australia", - postcode: 8661, - coordinates: { latitude: "58.9600", longitude: "166.4337" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "robert.franklin@example.com", - login: { - uuid: "fb4232c7-049d-4cb8-bf36-7d1be6ce4bde", - username: "goldenostrich523", - password: "deacon", - salt: "D9wwpOj8", - md5: "306dc96b8a86a05484ecfb40c6e8c7af", - sha1: "091ae11e799c7edbacc7f349c34326e0d96ee899", - sha256: - "a1f0d06f02d0ef21d2eb0632e02f9950893ca261b577b7f63859df378c584982", - }, - dob: { date: "1995-10-19T00:13:28.962Z", age: 26 }, - registered: { date: "2018-02-14T16:48:19.554Z", age: 3 }, - phone: "02-6454-3303", - cell: "0453-837-358", - id: { name: "TFN", value: "311614479" }, - picture: { - large: "https://randomuser.me/api/portraits/men/15.jpg", - medium: "https://randomuser.me/api/portraits/med/men/15.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/15.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Mrs", first: "Eva", last: "Gonzalez" }, - location: { - street: { number: 4180, name: "Avenida de América" }, - city: "Valencia", - state: "Islas Baleares", - country: "Spain", - postcode: 69965, - coordinates: { latitude: "-7.7506", longitude: "-92.7122" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "eva.gonzalez@example.com", - login: { - uuid: "c941a027-dc0d-446f-8117-94ba6eaf5fe7", - username: "brownlion632", - password: "mortimer", - salt: "mWQWKv2Y", - md5: "8412a9d7fdacfd7cabc9dd7ad848397a", - sha1: "eb2c3517141b7729ff2cf3e737d0b63e30bdef73", - sha256: - "0a72cca5bd3153cbf6ab757b345462d39085224a98558db79ee78551bba59cb2", - }, - dob: { date: "1946-09-17T18:33:42.952Z", age: 75 }, - registered: { date: "2006-06-01T15:44:38.477Z", age: 15 }, - phone: "970-352-349", - cell: "618-265-421", - id: { name: "DNI", value: "59696662-C" }, - picture: { - large: "https://randomuser.me/api/portraits/women/24.jpg", - medium: "https://randomuser.me/api/portraits/med/women/24.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/24.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Ms", first: "Angèle", last: "Chevalier" }, - location: { - street: { number: 8965, name: "Rue Barrème" }, - city: "Marseille", - state: "Doubs", - country: "France", - postcode: 79187, - coordinates: { latitude: "79.3476", longitude: "-163.6097" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "angele.chevalier@example.com", - login: { - uuid: "43eed98e-9387-4bbe-9e7d-894c9ed8d01b", - username: "goldenmeercat443", - password: "technics", - salt: "AKa8Qhki", - md5: "be6316a41984c7163d2726435dcb10ef", - sha1: "17539d61d733567b21e90b6daaddf175cad25c20", - sha256: - "65fb85e6934ca510ef8f7d8c4a162c4f00d65814d0862ec7432ddf60175962b1", - }, - dob: { date: "1970-05-02T15:55:23.704Z", age: 51 }, - registered: { date: "2017-09-10T19:44:36.695Z", age: 4 }, - phone: "05-92-97-40-53", - cell: "06-63-96-00-75", - id: { name: "INSEE", value: "2NNaN42404156 36" }, - picture: { - large: "https://randomuser.me/api/portraits/women/23.jpg", - medium: "https://randomuser.me/api/portraits/med/women/23.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/23.jpg", - }, - nat: "FR", - }, - { - gender: "male", - name: { title: "Mr", first: "Sean", last: "Dunn" }, - location: { - street: { number: 3801, name: "Green Lane" }, - city: "Sheffield", - state: "Rutland", - country: "United Kingdom", - postcode: "K3P 6YB", - coordinates: { latitude: "45.9020", longitude: "-121.6104" }, - timezone: { - offset: "+5:30", - description: "Bombay, Calcutta, Madras, New Delhi", - }, - }, - email: "sean.dunn@example.com", - login: { - uuid: "e0010731-f1fb-47e7-823e-463292863c52", - username: "brownbear260", - password: "112233", - salt: "ANPa0aZK", - md5: "c757cbabffb4e59e78c35ff83e595173", - sha1: "196b55f5a3ee2d639548173742e42bfcf7c99f2e", - sha256: - "41176e27e05406ecfb033177cb9e79a81282aecc80cee28365c0eebf424c7542", - }, - dob: { date: "1972-02-26T16:47:14.103Z", age: 49 }, - registered: { date: "2018-01-09T14:11:58.260Z", age: 3 }, - phone: "019467 51120", - cell: "0747-600-589", - id: { name: "NINO", value: "MY 08 82 68 Y" }, - picture: { - large: "https://randomuser.me/api/portraits/men/49.jpg", - medium: "https://randomuser.me/api/portraits/med/men/49.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/49.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Mrs", first: "Yasemin", last: "Ertürk" }, - location: { - street: { number: 9181, name: "Kushimoto Sk" }, - city: "Ordu", - state: "Kırklareli", - country: "Turkey", - postcode: 95052, - coordinates: { latitude: "-39.3581", longitude: "47.6232" }, - timezone: { - offset: "+11:00", - description: "Magadan, Solomon Islands, New Caledonia", - }, - }, - email: "yasemin.erturk@example.com", - login: { - uuid: "64e18316-6276-4f79-9391-d5c2de9b5f71", - username: "purplekoala815", - password: "yeah", - salt: "TIorynZp", - md5: "1d7d7b352b9d112cb67e947fd246e927", - sha1: "66d122c04fefaed2b391140cfc29785c28ac9d97", - sha256: - "02d43c0bc954c5e462e8335e38bbbec010bd018673d841f31f02c1b2fef234cd", - }, - dob: { date: "1997-03-29T08:36:35.975Z", age: 24 }, - registered: { date: "2006-09-30T19:13:24.617Z", age: 15 }, - phone: "(767)-740-7424", - cell: "(827)-557-9072", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/42.jpg", - medium: "https://randomuser.me/api/portraits/med/women/42.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/42.jpg", - }, - nat: "TR", - }, - { - gender: "female", - name: { title: "Ms", first: "Mélody", last: "Duval" }, - location: { - street: { number: 2103, name: "Rue des Ecrivains" }, - city: "Versailles", - state: "Essonne", - country: "France", - postcode: 99011, - coordinates: { latitude: "-55.5095", longitude: "-135.8174" }, - timezone: { offset: "-2:00", description: "Mid-Atlantic" }, - }, - email: "melody.duval@example.com", - login: { - uuid: "337a86ba-7385-4d8a-b2dd-26e77e035465", - username: "lazymouse667", - password: "buttercu", - salt: "UCOyHJ3e", - md5: "e3bb094a5286cb86a331221f7d902fad", - sha1: "dc8e03abddbde6460c83f95e9a61e6a3a03c19be", - sha256: - "337c32eee3092726985e8740433dab17d07043f5c718b2e58042c076c63457d5", - }, - dob: { date: "1955-07-30T20:50:40.332Z", age: 66 }, - registered: { date: "2018-09-23T12:55:20.216Z", age: 3 }, - phone: "04-55-26-51-39", - cell: "06-67-19-18-87", - id: { name: "INSEE", value: "2NNaN03121405 74" }, - picture: { - large: "https://randomuser.me/api/portraits/women/42.jpg", - medium: "https://randomuser.me/api/portraits/med/women/42.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/42.jpg", - }, - nat: "FR", - }, - { - gender: "female", - name: { title: "Ms", first: "Madison", last: "Knight" }, - location: { - street: { number: 2591, name: "Maple Ave" }, - city: "Wellington", - state: "Nova Scotia", - country: "Canada", - postcode: "B3V 2Y2", - coordinates: { latitude: "89.9608", longitude: "-38.5317" }, - timezone: { offset: "-9:00", description: "Alaska" }, - }, - email: "madison.knight@example.com", - login: { - uuid: "7dc68e6e-083a-4e34-abe9-af5a3da2a206", - username: "whitezebra619", - password: "japanees", - salt: "wqa5hJAZ", - md5: "68d1890ece4c2ac53329f4c48619ba8f", - sha1: "988c4b9cc4a77ce66daa46938433704e412229ee", - sha256: - "4af5640caf777790a1cc1057df8f2ad66c5f0ceb8981fcc84cf47f964c4d7975", - }, - dob: { date: "1960-08-16T15:44:30.525Z", age: 61 }, - registered: { date: "2004-10-19T21:06:21.505Z", age: 17 }, - phone: "917-682-0725", - cell: "022-239-0358", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/11.jpg", - medium: "https://randomuser.me/api/portraits/med/women/11.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/11.jpg", - }, - nat: "CA", - }, - { - gender: "male", - name: { title: "Mr", first: "Nathaniel", last: "King" }, - location: { - street: { number: 6252, name: "Bay View Road" }, - city: "Upper Hutt", - state: "Gisborne", - country: "New Zealand", - postcode: 42097, - coordinates: { latitude: "19.5718", longitude: "143.7403" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "nathaniel.king@example.com", - login: { - uuid: "455a8370-1ea1-464f-8b2e-0635232acf06", - username: "orangesnake174", - password: "erotica", - salt: "OtgTj64W", - md5: "58d413ed805416cb370a468d1052a74c", - sha1: "caafb59007fac202c05af3eaceb8daf8d5fb66b3", - sha256: - "fdaef0ee78b3fc20071288bb258ab3760d694e6cad676f8c79ef07b8caa26790", - }, - dob: { date: "1959-09-12T13:50:31.561Z", age: 62 }, - registered: { date: "2009-04-15T01:18:46.659Z", age: 12 }, - phone: "(451)-855-0328", - cell: "(760)-113-3689", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/57.jpg", - medium: "https://randomuser.me/api/portraits/med/men/57.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/57.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "Lee", last: "Lucas" }, - location: { - street: { number: 3213, name: "E Center St" }, - city: "Launceston", - state: "Tasmania", - country: "Australia", - postcode: 959, - coordinates: { latitude: "54.9286", longitude: "-94.3012" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "lee.lucas@example.com", - login: { - uuid: "b53a9e62-62c9-4a51-8dd9-f33b270eccab", - username: "bigswan698", - password: "alucard", - salt: "ERY2s497", - md5: "a8bbedc1d59e414e6575e29cdbe8d8e3", - sha1: "df30aab10098f97cb96728f468d29638a57300b0", - sha256: - "db32610398fb242e91c75b22ebb15dc4a7672eda57d6de67ce529faafd2dedbe", - }, - dob: { date: "1984-05-17T19:50:50.789Z", age: 37 }, - registered: { date: "2004-03-29T22:05:20.300Z", age: 17 }, - phone: "08-6606-2949", - cell: "0462-480-142", - id: { name: "TFN", value: "570573205" }, - picture: { - large: "https://randomuser.me/api/portraits/men/96.jpg", - medium: "https://randomuser.me/api/portraits/med/men/96.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/96.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Miss", first: "Marcia", last: "Pierce" }, - location: { - street: { number: 3905, name: "Mcgowen St" }, - city: "Red Oak", - state: "New York", - country: "United States", - postcode: 75920, - coordinates: { latitude: "51.1180", longitude: "-23.7886" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "marcia.pierce@example.com", - login: { - uuid: "8876c50a-60b2-4d16-b7ab-3d52f9a03505", - username: "ticklishbear155", - password: "brando", - salt: "PwRCRGXP", - md5: "790789d29d23ce10ac130fbb53ffccb0", - sha1: "28b05691f2b9add0c8fa538adc34d8b86d779d74", - sha256: - "958dae7aeeeac39899532603250db24452588310209e689c69f245477af5ff77", - }, - dob: { date: "1971-01-21T09:54:01.394Z", age: 50 }, - registered: { date: "2018-09-14T03:44:46.514Z", age: 3 }, - phone: "(698)-544-8220", - cell: "(906)-474-8173", - id: { name: "SSN", value: "837-04-0552" }, - picture: { - large: "https://randomuser.me/api/portraits/women/31.jpg", - medium: "https://randomuser.me/api/portraits/med/women/31.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/31.jpg", - }, - nat: "US", - }, - { - gender: "male", - name: { title: "Monsieur", first: "Quentin", last: "Thomas" }, - location: { - street: { number: 9339, name: "Rue Courbet" }, - city: "Churwalden", - state: "Fribourg", - country: "Switzerland", - postcode: 8193, - coordinates: { latitude: "40.5612", longitude: "54.9097" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "quentin.thomas@example.com", - login: { - uuid: "c424fc23-2276-4ece-ab49-4c4cf88ee7ba", - username: "yellowzebra621", - password: "mariners", - salt: "i5vxMICC", - md5: "40b010d65f40e08cbce667e5cdd7b5bd", - sha1: "7a661dbe60ae61820549951276e3ed5f0900afb5", - sha256: - "79968b4a45650519bd134039a98510046a7aadf1a4c76731a683dd53cb82b56a", - }, - dob: { date: "1993-12-23T23:07:26.102Z", age: 28 }, - registered: { date: "2013-09-18T04:52:39.890Z", age: 8 }, - phone: "078 969 90 26", - cell: "079 887 58 53", - id: { name: "AVS", value: "756.0849.5277.89" }, - picture: { - large: "https://randomuser.me/api/portraits/men/34.jpg", - medium: "https://randomuser.me/api/portraits/med/men/34.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/34.jpg", - }, - nat: "CH", - }, - { - gender: "male", - name: { title: "Mr", first: "Vincent", last: "Mills" }, - location: { - street: { number: 2627, name: "Rectory Lane" }, - city: "Glasgow", - state: "West Glamorgan", - country: "United Kingdom", - postcode: "O47 6EG", - coordinates: { latitude: "-79.4714", longitude: "123.3070" }, - timezone: { - offset: "+11:00", - description: "Magadan, Solomon Islands, New Caledonia", - }, - }, - email: "vincent.mills@example.com", - login: { - uuid: "d05a3740-eaa4-4edf-acf3-0048b95f377f", - username: "bluefrog916", - password: "aaaaa", - salt: "7D1WNwFH", - md5: "5319a7f9eb4bbf40504fa0c0809b90fb", - sha1: "93a4cdb9f861590b66a23188077ac30291624024", - sha256: - "bf90208cda5ddc41c87aba9d77a17a8888457fcb1bc52c001e3c5addc9d8d7bb", - }, - dob: { date: "1986-05-02T05:11:10.412Z", age: 35 }, - registered: { date: "2003-12-25T01:06:36.358Z", age: 18 }, - phone: "015242 88924", - cell: "0736-638-938", - id: { name: "NINO", value: "NP 71 89 49 E" }, - picture: { - large: "https://randomuser.me/api/portraits/men/51.jpg", - medium: "https://randomuser.me/api/portraits/med/men/51.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/51.jpg", - }, - nat: "GB", - }, - { - gender: "male", - name: { title: "Mr", first: "Dilan", last: "Porto" }, - location: { - street: { number: 195, name: "Rua da Paz " }, - city: "Conselheiro Lafaiete", - state: "Ceará", - country: "Brazil", - postcode: 63138, - coordinates: { latitude: "4.1553", longitude: "146.3608" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "dilan.porto@example.com", - login: { - uuid: "e5bad373-5ea7-4796-9f74-3007467faa19", - username: "whitemouse510", - password: "1988", - salt: "6To4wbkl", - md5: "973fd84cbca570a42cf964f2f0396088", - sha1: "78c9ec15bcc6d5d394da85c2c83ef3be61654999", - sha256: - "844cba335b2412b2146433c6635ba076fa3eff8da971afbb33c6569fc8d66371", - }, - dob: { date: "1981-03-04T17:41:55.450Z", age: 40 }, - registered: { date: "2015-04-06T08:46:19.055Z", age: 6 }, - phone: "(53) 8286-3838", - cell: "(80) 0969-1294", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/89.jpg", - medium: "https://randomuser.me/api/portraits/med/men/89.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/89.jpg", - }, - nat: "BR", - }, - { - gender: "male", - name: { title: "Mr", first: "Derrick", last: "Hughes" }, - location: { - street: { number: 8905, name: "Victoria Street" }, - city: "Edinburgh", - state: "West Midlands", - country: "United Kingdom", - postcode: "GZ5 5TB", - coordinates: { latitude: "-44.6214", longitude: "42.1687" }, - timezone: { - offset: "+5:00", - description: "Ekaterinburg, Islamabad, Karachi, Tashkent", - }, - }, - email: "derrick.hughes@example.com", - login: { - uuid: "e74cc0f0-4d07-4282-a99e-41de9cdd5671", - username: "organicpanda385", - password: "wicked", - salt: "1s6dUEQD", - md5: "17bc7619a1c8ccfb2b06d972fd3cb658", - sha1: "5dbeafffffa9294bcd1c891cbc1483b2d813808d", - sha256: - "6a917b32dcde6362a67bb3b4cb705ed189500efaece038f77fb1c24bbf810bab", - }, - dob: { date: "1952-06-29T14:18:29.028Z", age: 69 }, - registered: { date: "2010-03-12T12:52:35.012Z", age: 11 }, - phone: "016973 50188", - cell: "0731-739-288", - id: { name: "NINO", value: "ZC 43 75 54 X" }, - picture: { - large: "https://randomuser.me/api/portraits/men/97.jpg", - medium: "https://randomuser.me/api/portraits/med/men/97.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/97.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Miss", first: "Claire", last: "Leclercq" }, - location: { - street: { number: 4053, name: "Rue Denfert-Rochereau" }, - city: "Lille", - state: "Drôme", - country: "France", - postcode: 28029, - coordinates: { latitude: "-18.5291", longitude: "-97.4843" }, - timezone: { - offset: "+6:00", - description: "Almaty, Dhaka, Colombo", - }, - }, - email: "claire.leclercq@example.com", - login: { - uuid: "e4cc1f41-1f1f-43f5-ae55-938bcda2fda3", - username: "beautifulostrich309", - password: "brenda", - salt: "bmBw46xh", - md5: "940f996bb4402b8294d080ec01b70837", - sha1: "ddb718fe37a1a3b7004a2277da799cce193a6a90", - sha256: - "16ad42d04e5dcdc762547cf50a076850b74bb58983d585d5e52e24d69f88b614", - }, - dob: { date: "1984-05-30T23:44:57.919Z", age: 37 }, - registered: { date: "2014-11-26T22:42:54.652Z", age: 7 }, - phone: "02-18-47-90-21", - cell: "06-18-13-38-67", - id: { name: "INSEE", value: "2NNaN40486885 91" }, - picture: { - large: "https://randomuser.me/api/portraits/women/61.jpg", - medium: "https://randomuser.me/api/portraits/med/women/61.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/61.jpg", - }, - nat: "FR", - }, - { - gender: "female", - name: { title: "Ms", first: "Lærke", last: "Sørensen" }, - location: { - street: { number: 4221, name: "Kløvermarksvej" }, - city: "Hirtsals", - state: "Midtjylland", - country: "Denmark", - postcode: 72297, - coordinates: { latitude: "77.9024", longitude: "-23.4275" }, - timezone: { - offset: "+5:00", - description: "Ekaterinburg, Islamabad, Karachi, Tashkent", - }, - }, - email: "laerke.sorensen@example.com", - login: { - uuid: "5f3cbee0-b79d-410e-b307-bfd2ab5e10f4", - username: "blackdog989", - password: "lionel", - salt: "VAexKpUj", - md5: "1552b0c1505986d804c4f476b803fc15", - sha1: "599c10df1029933077d4a9a12a56dec0217d49bf", - sha256: - "b04096764b54520665118fe909cb94d31424f3fbc3113c15695752214568a950", - }, - dob: { date: "1960-08-27T21:49:17.788Z", age: 61 }, - registered: { date: "2013-01-03T20:13:15.634Z", age: 8 }, - phone: "64533541", - cell: "65414452", - id: { name: "CPR", value: "270860-6820" }, - picture: { - large: "https://randomuser.me/api/portraits/women/84.jpg", - medium: "https://randomuser.me/api/portraits/med/women/84.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/84.jpg", - }, - nat: "DK", - }, - { - gender: "female", - name: { title: "Mrs", first: "Maria", last: "Ortega" }, - location: { - street: { number: 7097, name: "Calle de Argumosa" }, - city: "Mérida", - state: "Castilla la Mancha", - country: "Spain", - postcode: 52798, - coordinates: { latitude: "77.0849", longitude: "-14.5160" }, - timezone: { - offset: "+3:00", - description: "Baghdad, Riyadh, Moscow, St. Petersburg", - }, - }, - email: "maria.ortega@example.com", - login: { - uuid: "1d7d4638-cbc7-4146-8548-1982d0d9dcc0", - username: "brownbear141", - password: "shock", - salt: "kYTYqSWi", - md5: "4dac4533756c380bfc1de86b69c3c64e", - sha1: "26ff397ff5729468202ad94b8e1179c8fdeaf3b5", - sha256: - "fd749502000a986318db194b13d112ef01e0862c56ad4e259e640bc0a2070187", - }, - dob: { date: "1995-01-09T18:52:48.116Z", age: 26 }, - registered: { date: "2012-06-10T00:27:05.125Z", age: 9 }, - phone: "949-295-264", - cell: "667-218-746", - id: { name: "DNI", value: "73174069-B" }, - picture: { - large: "https://randomuser.me/api/portraits/women/80.jpg", - medium: "https://randomuser.me/api/portraits/med/women/80.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/80.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Ms", first: "Ioná", last: "Gonçalves" }, - location: { - street: { number: 7029, name: "Rua Treze " }, - city: "Olinda", - state: "Mato Grosso do Sul", - country: "Brazil", - postcode: 64297, - coordinates: { latitude: "-87.9614", longitude: "114.4615" }, - timezone: { - offset: "+5:30", - description: "Bombay, Calcutta, Madras, New Delhi", - }, - }, - email: "iona.goncalves@example.com", - login: { - uuid: "ba8b3cf3-0cff-4265-b608-c710ba2c7298", - username: "happyfrog949", - password: "11235813", - salt: "LrRDR40T", - md5: "eaea57f14263cc78430d98c11749fbfa", - sha1: "b97453c375d6254c432bca361ed5a92fa62a73ae", - sha256: - "03a73483a01088fb1812e534f5358e1c0779b0c832f814db1d9f10facb9c06eb", - }, - dob: { date: "1996-12-03T07:22:31.558Z", age: 25 }, - registered: { date: "2009-09-29T02:44:39.256Z", age: 12 }, - phone: "(82) 0128-4852", - cell: "(51) 1675-6707", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/41.jpg", - medium: "https://randomuser.me/api/portraits/med/women/41.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/41.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Ms", first: "Fatima", last: "Prieto" }, - location: { - street: { number: 9172, name: "Calle de La Democracia" }, - city: "Orense", - state: "País Vasco", - country: "Spain", - postcode: 10146, - coordinates: { latitude: "17.1978", longitude: "-60.3693" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "fatima.prieto@example.com", - login: { - uuid: "c867beac-3391-4cb5-9d01-fdd68bc150f6", - username: "ticklishladybug774", - password: "fffff", - salt: "aitdbRT6", - md5: "5e51358451d091be2a4c09298207a930", - sha1: "69f709f9d367325bc5937dd92dd106576aa87c16", - sha256: - "533ced39094c1735e0368ff9816ace215d25ccde4a3a0994c3f7d597ea8b56b9", - }, - dob: { date: "1979-09-22T06:16:03.066Z", age: 42 }, - registered: { date: "2015-12-01T08:36:20.168Z", age: 6 }, - phone: "943-867-152", - cell: "663-352-176", - id: { name: "DNI", value: "61177541-Q" }, - picture: { - large: "https://randomuser.me/api/portraits/women/22.jpg", - medium: "https://randomuser.me/api/portraits/med/women/22.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Miss", first: "Ella", last: "Korhonen" }, - location: { - street: { number: 9306, name: "Rautatienkatu" }, - city: "Äänekoski", - state: "Kainuu", - country: "Finland", - postcode: 32468, - coordinates: { latitude: "23.9131", longitude: "-11.5055" }, - timezone: { - offset: "+11:00", - description: "Magadan, Solomon Islands, New Caledonia", - }, - }, - email: "ella.korhonen@example.com", - login: { - uuid: "b477c26e-9dc2-4ac4-b6b5-0339c650d3ea", - username: "smallfrog772", - password: "sweden", - salt: "FIJUrI51", - md5: "c1852de33b6ac2ff205424e6bdcca9c5", - sha1: "f2c34a899f304b455e26c7f33a340017e44aeb07", - sha256: - "f91c5705cc2470bf1cb637a89787577f38f0e612286ab28135493c64e9b97b55", - }, - dob: { date: "1968-03-19T06:03:39.837Z", age: 53 }, - registered: { date: "2016-11-10T12:05:34.290Z", age: 5 }, - phone: "05-649-183", - cell: "049-597-19-74", - id: { name: "HETU", value: "NaNNA484undefined" }, - picture: { - large: "https://randomuser.me/api/portraits/women/47.jpg", - medium: "https://randomuser.me/api/portraits/med/women/47.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/47.jpg", - }, - nat: "FI", - }, - { - gender: "female", - name: { title: "Mademoiselle", first: "Ava", last: "Morel" }, - location: { - street: { number: 9139, name: "Rue Baraban" }, - city: "Bière", - state: "Uri", - country: "Switzerland", - postcode: 2437, - coordinates: { latitude: "32.1118", longitude: "34.4031" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "ava.morel@example.com", - login: { - uuid: "5021b9f5-f281-4597-bfe1-6da5aec35958", - username: "crazybear540", - password: "skate", - salt: "tKPICyEC", - md5: "5b3259822574bda59e86349213632d13", - sha1: "1065fab1dad1a99e54b4818fe843a80cee7ea787", - sha256: - "29d470161b6226b925b1840d6612d775ef1d9b3ccc164d4dea56549ab886a93a", - }, - dob: { date: "1959-04-16T11:30:42.757Z", age: 62 }, - registered: { date: "2015-09-14T11:35:01.329Z", age: 6 }, - phone: "077 801 88 90", - cell: "076 761 63 46", - id: { name: "AVS", value: "756.5188.2630.83" }, - picture: { - large: "https://randomuser.me/api/portraits/women/88.jpg", - medium: "https://randomuser.me/api/portraits/med/women/88.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/88.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Ms", first: "Wilma", last: "Allen" }, - location: { - street: { number: 5915, name: "Royal Ln" }, - city: "The Colony", - state: "Kentucky", - country: "United States", - postcode: 77544, - coordinates: { latitude: "-32.7891", longitude: "-93.1964" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "wilma.allen@example.com", - login: { - uuid: "d6338479-9cc7-4c7b-bd04-cb192a670b1f", - username: "whitefrog104", - password: "ricky1", - salt: "Z6itTnzL", - md5: "154708b9cfd013eee53f3701081c2da0", - sha1: "cb040c56b35d8e0a3dce9c2ff2912ee4661eb8d6", - sha256: - "3640bd0f244362778328a5435a3d6b5fbe122e08a216f0971bb17915aebd017a", - }, - dob: { date: "1982-06-01T23:34:04.036Z", age: 39 }, - registered: { date: "2018-02-19T22:42:24.366Z", age: 3 }, - phone: "(595)-122-9759", - cell: "(210)-551-6169", - id: { name: "SSN", value: "926-76-9848" }, - picture: { - large: "https://randomuser.me/api/portraits/women/89.jpg", - medium: "https://randomuser.me/api/portraits/med/women/89.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/89.jpg", - }, - nat: "US", - }, - { - gender: "female", - name: { title: "Ms", first: "Ava", last: "Lane" }, - location: { - street: { number: 3977, name: "New Street" }, - city: "Gorey", - state: "Clare", - country: "Ireland", - postcode: 91126, - coordinates: { latitude: "0.7593", longitude: "0.4210" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "ava.lane@example.com", - login: { - uuid: "2d6a7006-7b10-4be4-9b76-1e8bb9d0b65c", - username: "beautifulrabbit259", - password: "printer", - salt: "XmzMDD5B", - md5: "a60c82c4dc3b2f3beb57bc29f1ea34cb", - sha1: "a82b0108d6b77d1f7a1bd01e01b3584bdbdac021", - sha256: - "4d65c55f73a80d944838cf04f99be5939f9df65d234d0a0f711bea78358ed8db", - }, - dob: { date: "1987-08-12T01:50:37.796Z", age: 34 }, - registered: { date: "2015-01-07T00:20:47.044Z", age: 6 }, - phone: "041-310-4896", - cell: "081-107-1824", - id: { name: "PPS", value: "4409774T" }, - picture: { - large: "https://randomuser.me/api/portraits/women/84.jpg", - medium: "https://randomuser.me/api/portraits/med/women/84.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/84.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Miss", first: "Ellie", last: "Andrews" }, - location: { - street: { number: 9035, name: "Park Lane" }, - city: "Peterborough", - state: "Highlands and Islands", - country: "United Kingdom", - postcode: "A2 0GS", - coordinates: { latitude: "44.2985", longitude: "118.4594" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "ellie.andrews@example.com", - login: { - uuid: "13a6b898-b9ce-470d-9bb3-d0503d49a975", - username: "organicostrich859", - password: "phillies", - salt: "C1wZzd0x", - md5: "5de4534469cae9916f327a84d8f0cbe3", - sha1: "f1aa6739d1febb2ff8e167bd869430ff4ac07978", - sha256: - "4873970ba9410c023b92723b02897413f8e6eaf52c99049972878b43a3dcec95", - }, - dob: { date: "1969-03-20T05:41:55.119Z", age: 52 }, - registered: { date: "2013-06-24T20:02:14.704Z", age: 8 }, - phone: "016974 68757", - cell: "0724-723-667", - id: { name: "NINO", value: "ER 67 85 18 M" }, - picture: { - large: "https://randomuser.me/api/portraits/women/14.jpg", - medium: "https://randomuser.me/api/portraits/med/women/14.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/14.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Ms", first: "Summer", last: "Johnson" }, - location: { - street: { number: 5004, name: "South Eastern Highway" }, - city: "Lower Hutt", - state: "Otago", - country: "New Zealand", - postcode: 66930, - coordinates: { latitude: "-17.2244", longitude: "-7.7577" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "summer.johnson@example.com", - login: { - uuid: "f554a2f4-4a7f-4e23-9786-550685e5b58d", - username: "silversnake480", - password: "jellybea", - salt: "LqQXFkhZ", - md5: "c59ed007979996dce84df9ca8c26b351", - sha1: "65781f7f73eda58f730bae243e8e0faa363dfeeb", - sha256: - "66a4ca987cc1771f6cfa2a87a2ba3f6e8285fdbaf41ea1499c7555267c205506", - }, - dob: { date: "1971-03-31T01:08:51.709Z", age: 50 }, - registered: { date: "2002-04-22T09:41:20.500Z", age: 19 }, - phone: "(520)-326-7928", - cell: "(506)-431-8024", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/16.jpg", - medium: "https://randomuser.me/api/portraits/med/women/16.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/16.jpg", - }, - nat: "NZ", - }, - { - gender: "female", - name: { title: "Ms", first: "Donna", last: "Torres" }, - location: { - street: { number: 3402, name: "Alexander Road" }, - city: "Derby", - state: "Dyfed", - country: "United Kingdom", - postcode: "OA55 7PE", - coordinates: { latitude: "-21.9183", longitude: "-141.7382" }, - timezone: { - offset: "+11:00", - description: "Magadan, Solomon Islands, New Caledonia", - }, - }, - email: "donna.torres@example.com", - login: { - uuid: "2a277cfd-6855-4626-8eba-3cac95dd9399", - username: "bigbutterfly446", - password: "carpente", - salt: "IMJHQvmY", - md5: "4b2033e471270ac1c378c87bdea413e3", - sha1: "5b3a928df7beb790aad0d077a36091110c5b21e1", - sha256: - "48653d0625e82e37cf4974c8336716bcd5c060f82e37fe977eb938f1f9e97c61", - }, - dob: { date: "1995-10-13T11:44:56.568Z", age: 26 }, - registered: { date: "2012-05-16T10:03:10.815Z", age: 9 }, - phone: "01288 154930", - cell: "0719-329-460", - id: { name: "NINO", value: "AE 21 61 31 V" }, - picture: { - large: "https://randomuser.me/api/portraits/women/44.jpg", - medium: "https://randomuser.me/api/portraits/med/women/44.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/44.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Miss", first: "Amelia", last: "Singh" }, - location: { - street: { number: 7664, name: "West Coast Road" }, - city: "Masterton", - state: "Auckland", - country: "New Zealand", - postcode: 45085, - coordinates: { latitude: "-83.1402", longitude: "-93.7136" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "amelia.singh@example.com", - login: { - uuid: "4b158447-f2d4-4a87-b29f-af99a417912e", - username: "whitesnake675", - password: "bertha", - salt: "yYJ12hai", - md5: "2d47a1ee6faebc069dc20589664995e0", - sha1: "35d20a1570c5b276c2d2e3fab0e0c30363928e64", - sha256: - "740cacf055a5cef5bee01192d78ef23731ea7403e76769e043c0a9c2e8a3115f", - }, - dob: { date: "1978-08-20T08:56:43.507Z", age: 43 }, - registered: { date: "2015-04-14T13:42:14.077Z", age: 6 }, - phone: "(599)-284-6919", - cell: "(687)-383-6796", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/64.jpg", - medium: "https://randomuser.me/api/portraits/med/women/64.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "Kjetil", last: "Halvorsen" }, - location: { - street: { number: 1978, name: "Veksthusfløtten" }, - city: "Sylling", - state: "Trøndelag", - country: "Norway", - postcode: "9240", - coordinates: { latitude: "70.1795", longitude: "142.7625" }, - timezone: { - offset: "-5:00", - description: "Eastern Time (US & Canada), Bogota, Lima", - }, - }, - email: "kjetil.halvorsen@example.com", - login: { - uuid: "674c690f-b222-4e49-a7e3-df3ec718695f", - username: "goldenrabbit435", - password: "sixty9", - salt: "p8fZWbRy", - md5: "d93c5523b31868e13624ec5290db5121", - sha1: "015d7f058fa91fa2710a68a2818afc809731f1d1", - sha256: - "4b593353b1ac30cc4a5498d001a3a8b326fd76197a3752e82786cce04fe7e199", - }, - dob: { date: "1982-03-08T06:55:19.412Z", age: 39 }, - registered: { date: "2012-04-08T07:52:23.815Z", age: 9 }, - phone: "39292281", - cell: "49891231", - id: { name: "FN", value: "08038240596" }, - picture: { - large: "https://randomuser.me/api/portraits/men/53.jpg", - medium: "https://randomuser.me/api/portraits/med/men/53.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/53.jpg", - }, - nat: "NO", - }, - { - gender: "female", - name: { title: "Ms", first: "Alberte", last: "Petersen" }, - location: { - street: { number: 5685, name: "Fuglevænget" }, - city: "Hammel", - state: "Midtjylland", - country: "Denmark", - postcode: 53356, - coordinates: { latitude: "34.8852", longitude: "-149.2166" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "alberte.petersen@example.com", - login: { - uuid: "1c963707-2995-4c81-93b6-3bc26aa0f0d9", - username: "tinybutterfly330", - password: "fmale", - salt: "P1ouqwaw", - md5: "936150dcc736a5f152905771c8ea35c2", - sha1: "14be34afbf7bb91fcd02a4e46679ba5da01e23ee", - sha256: - "41786afa4fb4c3884ec8118d23ed9e9b760ea14d84f9008bddda9e207b0f68b1", - }, - dob: { date: "1950-08-28T01:34:08.018Z", age: 71 }, - registered: { date: "2009-05-07T13:21:50.483Z", age: 12 }, - phone: "12369283", - cell: "84164627", - id: { name: "CPR", value: "280850-6006" }, - picture: { - large: "https://randomuser.me/api/portraits/women/50.jpg", - medium: "https://randomuser.me/api/portraits/med/women/50.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/50.jpg", - }, - nat: "DK", - }, - { - gender: "female", - name: { title: "Madame", first: "Camilla", last: "Louis" }, - location: { - street: { number: 3047, name: "Montée Saint-Barthélémy" }, - city: "Thalheim (Ag)", - state: "Appenzell Innerrhoden", - country: "Switzerland", - postcode: 2450, - coordinates: { latitude: "-88.2175", longitude: "-87.9339" }, - timezone: { offset: "-2:00", description: "Mid-Atlantic" }, - }, - email: "camilla.louis@example.com", - login: { - uuid: "028e70eb-9a89-40ca-aed7-06342cfaa657", - username: "angryostrich659", - password: "anything", - salt: "B7fbwRDq", - md5: "66a5a67e0e5547c6088dd517c906638f", - sha1: "03ed158279d2849382309fe2c47247fac9963346", - sha256: - "5ffee2b2223424ae9d0f9b47247381ba2568b64bb958f529641001f2ed17a299", - }, - dob: { date: "1975-10-13T09:13:44.314Z", age: 46 }, - registered: { date: "2006-06-14T03:19:56.994Z", age: 15 }, - phone: "075 417 98 36", - cell: "078 086 34 98", - id: { name: "AVS", value: "756.5863.9910.71" }, - picture: { - large: "https://randomuser.me/api/portraits/women/12.jpg", - medium: "https://randomuser.me/api/portraits/med/women/12.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/12.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Mrs", first: "Carla", last: "Pascual" }, - location: { - street: { number: 8601, name: "Calle de Segovia" }, - city: "Barcelona", - state: "Ceuta", - country: "Spain", - postcode: 76146, - coordinates: { latitude: "19.3349", longitude: "-132.8507" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "carla.pascual@example.com", - login: { - uuid: "be117876-d6dd-4072-acdb-75d392fb20d3", - username: "tinypeacock596", - password: "girls1", - salt: "UZK1dCjU", - md5: "45e1b7941ed103ae66ea3fd6a6340a54", - sha1: "bf8ee1d8f2dec3487740a2a04ff22853929ef344", - sha256: - "fb91422c01b587b1005748f789012dc764c14830e29b86918647adcc744ec712", - }, - dob: { date: "1945-06-02T06:51:07.021Z", age: 76 }, - registered: { date: "2015-01-23T07:40:44.634Z", age: 6 }, - phone: "907-181-863", - cell: "626-142-536", - id: { name: "DNI", value: "62973301-I" }, - picture: { - large: "https://randomuser.me/api/portraits/women/72.jpg", - medium: "https://randomuser.me/api/portraits/med/women/72.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/72.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Mrs", first: "Leonora", last: "Moreira" }, - location: { - street: { number: 603, name: "Rua Santa Catarina " }, - city: "Resende", - state: "Ceará", - country: "Brazil", - postcode: 42006, - coordinates: { latitude: "-22.6879", longitude: "-89.8621" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "leonora.moreira@example.com", - login: { - uuid: "1c14a611-25dc-40e2-bfbe-17b9808bbb0f", - username: "bluedog161", - password: "miller", - salt: "RP9kTDon", - md5: "2d777fc576ee43a51ad286a4b9ce28bb", - sha1: "5f53fd6bfe0177e9f83821ec517fa31f21b194ef", - sha256: - "942fc13300543104a30eee17a60c1c7c50857ccbb3da7a498f2d9094311e30eb", - }, - dob: { date: "1994-01-29T00:47:54.562Z", age: 27 }, - registered: { date: "2018-07-25T13:28:54.772Z", age: 3 }, - phone: "(43) 8775-9340", - cell: "(46) 6501-2766", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/31.jpg", - medium: "https://randomuser.me/api/portraits/med/women/31.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/31.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Ms", first: "Cariana", last: "da Mata" }, - location: { - street: { number: 5165, name: "Rua Tiradentes " }, - city: "Santa Cruz do Sul", - state: "Bahia", - country: "Brazil", - postcode: 85445, - coordinates: { latitude: "-84.0137", longitude: "-12.0405" }, - timezone: { - offset: "-5:00", - description: "Eastern Time (US & Canada), Bogota, Lima", - }, - }, - email: "cariana.damata@example.com", - login: { - uuid: "193130cf-96ce-4511-a7bb-018de569f3f0", - username: "purplebutterfly416", - password: "meridian", - salt: "TW5rF16w", - md5: "41d427f8b8deaeff3ea06e4b61a66f88", - sha1: "ecbe009786d4f2551d4e1f1b26db644bd7f60434", - sha256: - "ef0401e37fc57ba570b440cb43f866e2e887133a58f706eb5dcf1942e5d0aab2", - }, - dob: { date: "1965-11-02T17:46:38.404Z", age: 56 }, - registered: { date: "2009-09-01T10:31:15.053Z", age: 12 }, - phone: "(46) 3988-4999", - cell: "(29) 8204-0832", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/88.jpg", - medium: "https://randomuser.me/api/portraits/med/women/88.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/88.jpg", - }, - nat: "BR", - }, - { - gender: "male", - name: { title: "Mr", first: "نيما", last: "کوتی" }, - location: { - street: { number: 9336, name: "کوی نصر" }, - city: "پاکدشت", - state: "کرمانشاه", - country: "Iran", - postcode: 26219, - coordinates: { latitude: "51.6454", longitude: "148.7848" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "nym.khwty@example.com", - login: { - uuid: "3ce83f83-212a-40a7-8387-e40659ae1f7e", - username: "happyswan407", - password: "ooooo", - salt: "K0X3wvpX", - md5: "bffe98e06ad9d644ed4e4cbe6ee1ad87", - sha1: "7860013a6863891a3973d531e9ff8669cfe501d3", - sha256: - "de5789fd8ae9adea63b40262c5823dcfef4348d9609b1e034c9b960c4836bc91", - }, - dob: { date: "1945-07-20T03:25:50.455Z", age: 76 }, - registered: { date: "2017-01-08T19:36:51.817Z", age: 4 }, - phone: "094-35102702", - cell: "0995-110-6883", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/57.jpg", - medium: "https://randomuser.me/api/portraits/med/men/57.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/57.jpg", - }, - nat: "IR", - }, - { - gender: "female", - name: { title: "Ms", first: "Klara", last: "Hense" }, - location: { - street: { number: 2623, name: "Friedhofstraße" }, - city: "Rottal-Inn", - state: "Mecklenburg-Vorpommern", - country: "Germany", - postcode: 40572, - coordinates: { latitude: "-74.4020", longitude: "110.3156" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "klara.hense@example.com", - login: { - uuid: "e4adeecf-69fe-43a7-bb83-463d4fa7cf46", - username: "angrykoala479", - password: "poseidon", - salt: "2nqdN0ku", - md5: "9149340052f7988c5dc3d695b6b4e914", - sha1: "d87a39b332a148ca9967fbc6681a803aa91ed10f", - sha256: - "2230ef21c12ecda7c092cd77d905e8195092a6379a528294ca5bfc6e550bbcda", - }, - dob: { date: "1982-05-09T23:25:37.008Z", age: 39 }, - registered: { date: "2018-03-24T16:41:29.569Z", age: 3 }, - phone: "0954-3189964", - cell: "0178-4217071", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/7.jpg", - medium: "https://randomuser.me/api/portraits/med/women/7.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/7.jpg", - }, - nat: "DE", - }, - { - gender: "male", - name: { title: "Mr", first: "Chris", last: "Taylor" }, - location: { - street: { number: 100, name: "Cork Street" }, - city: "Portmarnock", - state: "Kildare", - country: "Ireland", - postcode: 90784, - coordinates: { latitude: "45.6555", longitude: "41.8435" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "chris.taylor@example.com", - login: { - uuid: "bc61c636-d4c8-48ce-8b37-dd4c63bf4fc7", - username: "yellowmouse556", - password: "desire", - salt: "4Z4Zz2dT", - md5: "7151d4aef257bd977ea4e2f426c16407", - sha1: "efb540f16bd01d98ab02c0ff9a6bca2c9299bbc5", - sha256: - "c15a115a7266f5a205d96d40e03ec98404615f1ac1200afb54087134f7e62a22", - }, - dob: { date: "1961-01-27T18:25:02.906Z", age: 60 }, - registered: { date: "2002-12-08T10:14:07.920Z", age: 19 }, - phone: "041-525-2967", - cell: "081-981-3271", - id: { name: "PPS", value: "9174076T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/71.jpg", - medium: "https://randomuser.me/api/portraits/med/men/71.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/71.jpg", - }, - nat: "IE", - }, - { - gender: "male", - name: { title: "Monsieur", first: "François", last: "Berger" }, - location: { - street: { number: 8679, name: "Avenue de L'Abbé-Roussel" }, - city: "Blumenstein", - state: "Aargau", - country: "Switzerland", - postcode: 5828, - coordinates: { latitude: "27.3405", longitude: "-39.3134" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "francois.berger@example.com", - login: { - uuid: "89d1379a-3f7c-4984-a825-ebc2f3ddb052", - username: "smallwolf699", - password: "fred", - salt: "rEPV1zhn", - md5: "9803052b831fe6041868046a91ffd74f", - sha1: "41b4b4e574711e48ae0b62685a87607399666023", - sha256: - "de32788cd3da4a00adfbf58836d7dac36e6bba9e97d3ad151c9c41c15c998886", - }, - dob: { date: "1996-05-15T13:37:50.235Z", age: 25 }, - registered: { date: "2007-01-03T14:49:49.226Z", age: 14 }, - phone: "078 417 54 19", - cell: "078 908 75 10", - id: { name: "AVS", value: "756.7307.0216.67" }, - picture: { - large: "https://randomuser.me/api/portraits/men/5.jpg", - medium: "https://randomuser.me/api/portraits/med/men/5.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/5.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Ms", first: "Megan", last: "Ross" }, - location: { - street: { number: 769, name: "Timber Wolf Trail" }, - city: "Port Macquarie", - state: "Victoria", - country: "Australia", - postcode: 4663, - coordinates: { latitude: "-39.9034", longitude: "-122.9998" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "megan.ross@example.com", - login: { - uuid: "609b91bb-7f14-4af8-8540-e196d7ff9421", - username: "lazygoose641", - password: "suzanne", - salt: "GFFgWvz3", - md5: "bae4bda5f411e4de23f5824e0e6d6852", - sha1: "f407dd32b1b1369e03d21183c4783e77e647f081", - sha256: - "370a94f1c63ce8cfd33491fbfabd0858240765e2191e74cd12c3f53685b4d12e", - }, - dob: { date: "1945-01-13T06:41:28.580Z", age: 76 }, - registered: { date: "2003-12-13T17:16:57.788Z", age: 18 }, - phone: "03-0483-5977", - cell: "0418-728-473", - id: { name: "TFN", value: "188920171" }, - picture: { - large: "https://randomuser.me/api/portraits/women/72.jpg", - medium: "https://randomuser.me/api/portraits/med/women/72.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/72.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Miss", first: "Fennigje", last: "Morel" }, - location: { - street: { number: 150, name: "Garstenveld" }, - city: "Valkkoog", - state: "Groningen", - country: "Netherlands", - postcode: 49271, - coordinates: { latitude: "76.8048", longitude: "-133.0093" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "fennigje.morel@example.com", - login: { - uuid: "c9e40b38-0433-44f0-98d0-5d3f4d1c67a0", - username: "heavyfish649", - password: "chao", - salt: "HkUrxQiP", - md5: "d0e3beef2267296b12f69eab6acf5b60", - sha1: "b78de4a968f3df3739afb987579757b07014dfe7", - sha256: - "e31590e65be692887b85feb663b6d80f75c5f65658410ea37959e6ed0fce1805", - }, - dob: { date: "1980-10-26T22:25:35.388Z", age: 41 }, - registered: { date: "2017-05-09T22:40:29.468Z", age: 4 }, - phone: "(700)-273-9225", - cell: "(469)-361-4338", - id: { name: "BSN", value: "48646500" }, - picture: { - large: "https://randomuser.me/api/portraits/women/30.jpg", - medium: "https://randomuser.me/api/portraits/med/women/30.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/30.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Miss", first: "Héloïse", last: "Rodriguez" }, - location: { - street: { number: 4758, name: "Rue Cyrus-Hugues" }, - city: "Mulhouse", - state: "Meurthe-et-Moselle", - country: "France", - postcode: 84306, - coordinates: { latitude: "66.6878", longitude: "-98.2722" }, - timezone: { - offset: "-5:00", - description: "Eastern Time (US & Canada), Bogota, Lima", - }, - }, - email: "heloise.rodriguez@example.com", - login: { - uuid: "5a41b2ee-c58d-4146-9682-c88044dc9022", - username: "blackpanda542", - password: "wolves", - salt: "W4KP7ZtP", - md5: "98d92711e3d8c9ebc196c49186bf2df1", - sha1: "b613fd013b8eb32edf810a7319c39a926d29ee7e", - sha256: - "35afd9c75b4a5cc7fd3d980675934fefc1439fe9f9eac185fd40186068a85f7c", - }, - dob: { date: "1977-01-21T23:02:42.213Z", age: 44 }, - registered: { date: "2004-02-20T06:28:41.467Z", age: 17 }, - phone: "02-71-74-51-46", - cell: "06-86-61-46-38", - id: { name: "INSEE", value: "2NNaN90609584 63" }, - picture: { - large: "https://randomuser.me/api/portraits/women/77.jpg", - medium: "https://randomuser.me/api/portraits/med/women/77.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", - }, - nat: "FR", - }, - { - gender: "female", - name: { title: "Ms", first: "Ayşe", last: "Taşçı" }, - location: { - street: { number: 961, name: "Vatan Cd" }, - city: "Aksaray", - state: "Ordu", - country: "Turkey", - postcode: 97553, - coordinates: { latitude: "-30.5515", longitude: "-52.3978" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "ayse.tasci@example.com", - login: { - uuid: "adf01988-528b-487b-8d4e-ff11dab1feaa", - username: "ticklishostrich335", - password: "marcel", - salt: "DS9oWcwL", - md5: "770dcfd814ac9df6899fb76303f62599", - sha1: "bfa43ddac823ddee6859ad51ea629b66c8872bc6", - sha256: - "dc2299555743ab664a59b1d794f5187d269a4036f444e01339292e458314287b", - }, - dob: { date: "1962-05-06T02:55:49.062Z", age: 59 }, - registered: { date: "2004-05-19T05:11:34.908Z", age: 17 }, - phone: "(965)-005-1976", - cell: "(277)-278-3035", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/26.jpg", - medium: "https://randomuser.me/api/portraits/med/women/26.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/26.jpg", - }, - nat: "TR", - }, - { - gender: "male", - name: { title: "Mr", first: "Enrique", last: "Banks" }, - location: { - street: { number: 4440, name: "North Road" }, - city: "Tralee", - state: "Dún Laoghaire–Rathdown", - country: "Ireland", - postcode: 78442, - coordinates: { latitude: "-86.8348", longitude: "64.4213" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "enrique.banks@example.com", - login: { - uuid: "3f6eb47d-1274-49c1-9b43-091fcab2367b", - username: "crazymeercat867", - password: "angus1", - salt: "q8TGLNKl", - md5: "76c1cd3c6b3f683a25c6fab63f8d65d6", - sha1: "c2f6a0d8b044fbf25b497c11b0bfd81496920472", - sha256: - "66fd21d7ebff3f478da177199dd25a1a286c91485e054c54a491bbb80b5e96df", - }, - dob: { date: "1970-11-20T13:27:02.930Z", age: 51 }, - registered: { date: "2011-04-26T13:50:22.623Z", age: 10 }, - phone: "061-369-8670", - cell: "081-303-4068", - id: { name: "PPS", value: "6013927T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/48.jpg", - medium: "https://randomuser.me/api/portraits/med/men/48.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/48.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Mrs", first: "Nina", last: "Brown" }, - location: { - street: { number: 7581, name: "Forbury Road" }, - city: "Auckland", - state: "Waikato", - country: "New Zealand", - postcode: 32986, - coordinates: { latitude: "22.9817", longitude: "83.6828" }, - timezone: { - offset: "+6:00", - description: "Almaty, Dhaka, Colombo", - }, - }, - email: "nina.brown@example.com", - login: { - uuid: "a5b7b8ca-2d00-47f5-afe8-66e340e1b6c7", - username: "silvermouse736", - password: "redrose", - salt: "gf8hML78", - md5: "a16e05131969c14b3bb9478ee762dcf5", - sha1: "463d933966044d4774cb5fca0a4777c51273a2e9", - sha256: - "638121a63dc3996560793e56467ab816e93dcec645fdd3922d0e967184781bb2", - }, - dob: { date: "1991-01-05T23:59:07.237Z", age: 30 }, - registered: { date: "2008-04-28T03:29:00.907Z", age: 13 }, - phone: "(813)-401-3165", - cell: "(678)-607-7805", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/22.jpg", - medium: "https://randomuser.me/api/portraits/med/women/22.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", - }, - nat: "NZ", - }, - { - gender: "female", - name: { title: "Ms", first: "Pamela", last: "Mills" }, - location: { - street: { number: 8028, name: "Depaul Dr" }, - city: "Bendigo", - state: "Australian Capital Territory", - country: "Australia", - postcode: 383, - coordinates: { latitude: "63.9278", longitude: "-120.2641" }, - timezone: { - offset: "+7:00", - description: "Bangkok, Hanoi, Jakarta", - }, - }, - email: "pamela.mills@example.com", - login: { - uuid: "b6d5c071-8933-46cf-8e72-392e5698779f", - username: "lazygoose725", - password: "artist", - salt: "fTYRNxbC", - md5: "016c03812a431e1dd0d81fa8d3d5e794", - sha1: "95f2ba33cf0ebf994803cf9d1a0cfeecc0f979d1", - sha256: - "f3fcf9a9fed07a01e6e657c08dd683b30f45b70f30a2f9c861940283995db6ce", - }, - dob: { date: "1983-07-08T17:53:45.535Z", age: 38 }, - registered: { date: "2005-04-10T00:53:40.140Z", age: 16 }, - phone: "05-0695-3514", - cell: "0476-929-695", - id: { name: "TFN", value: "117891571" }, - picture: { - large: "https://randomuser.me/api/portraits/women/46.jpg", - medium: "https://randomuser.me/api/portraits/med/women/46.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/46.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Mrs", first: "Sanja", last: "Cheung" }, - location: { - street: { number: 9691, name: "Duivenwal" }, - city: "De Falom", - state: "Drenthe", - country: "Netherlands", - postcode: 66074, - coordinates: { latitude: "87.3108", longitude: "28.4163" }, - timezone: { - offset: "-11:00", - description: "Midway Island, Samoa", - }, - }, - email: "sanja.cheung@example.com", - login: { - uuid: "ea5caebe-f04a-4ece-88d9-41d7e83bcde8", - username: "silverbutterfly267", - password: "bonjovi", - salt: "JlWUbbLm", - md5: "2a4cae6cb698dd13d5fd8f4e11967e52", - sha1: "41dd920c8f325c510dc35f45b10d09152f86a009", - sha256: - "8a91aa30744242b5911c9152afea89c3a8a9ceffd2e69ee0f606681e6ad250ac", - }, - dob: { date: "1958-03-23T17:24:59.101Z", age: 63 }, - registered: { date: "2009-05-30T06:15:54.608Z", age: 12 }, - phone: "(367)-900-8459", - cell: "(510)-499-5514", - id: { name: "BSN", value: "46958112" }, - picture: { - large: "https://randomuser.me/api/portraits/women/48.jpg", - medium: "https://randomuser.me/api/portraits/med/women/48.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/48.jpg", - }, - nat: "NL", - }, - { - gender: "male", - name: { title: "Mr", first: "Samuel", last: "Davidson" }, - location: { - street: { number: 5201, name: "New Street" }, - city: "Skerries", - state: "Monaghan", - country: "Ireland", - postcode: 47220, - coordinates: { latitude: "-84.8769", longitude: "165.3742" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "samuel.davidson@example.com", - login: { - uuid: "9f4b5e6f-7dca-4588-835e-c184c6b588a1", - username: "smallladybug883", - password: "pikachu", - salt: "SARCsOhe", - md5: "a0adb200c209f3b1cb7c85fba53a5482", - sha1: "ed6968a29973a3e6e91fbc43fb2ab37f29d4ab1d", - sha256: - "ab193bedd3e2d382565f521c8cd15279a771e1b6d59e62eeafe99fc5651226d6", - }, - dob: { date: "1980-02-24T17:11:43.081Z", age: 41 }, - registered: { date: "2003-07-03T03:39:37.820Z", age: 18 }, - phone: "021-496-6842", - cell: "081-645-4448", - id: { name: "PPS", value: "3038874T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/1.jpg", - medium: "https://randomuser.me/api/portraits/med/men/1.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/1.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Mrs", first: "Louanne", last: "Roux" }, - location: { - street: { number: 3979, name: "Rue de L'Abbé-Migne" }, - city: "Poitiers", - state: "Essonne", - country: "France", - postcode: 25354, - coordinates: { latitude: "-79.4126", longitude: "83.9765" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "louanne.roux@example.com", - login: { - uuid: "da93f46c-c89d-4a8b-9281-332501e6b36d", - username: "organicleopard451", - password: "major", - salt: "gY6pQtsL", - md5: "61dc8d31eebf6614c881ebbbbe16b0dd", - sha1: "51913cd4352128a84daea8a65c7ff4349d308c57", - sha256: - "e7988f62cde4878865edb514165c5f5b20356db1d938be2ff8cf3a3f6b49faa5", - }, - dob: { date: "1972-10-13T19:32:28.552Z", age: 49 }, - registered: { date: "2011-01-24T18:56:39.040Z", age: 10 }, - phone: "01-89-02-07-96", - cell: "06-75-94-97-50", - id: { name: "INSEE", value: "2NNaN90667914 56" }, - picture: { - large: "https://randomuser.me/api/portraits/women/25.jpg", - medium: "https://randomuser.me/api/portraits/med/women/25.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/25.jpg", - }, - nat: "FR", - }, - { - gender: "male", - name: { title: "Mr", first: "Aquil", last: "Silveira" }, - location: { - street: { number: 2690, name: "Rua Santo Antônio " }, - city: "Natal", - state: "Ceará", - country: "Brazil", - postcode: 11789, - coordinates: { latitude: "71.7738", longitude: "178.4851" }, - timezone: { - offset: "+3:00", - description: "Baghdad, Riyadh, Moscow, St. Petersburg", - }, - }, - email: "aquil.silveira@example.com", - login: { - uuid: "371423e5-9104-4ad7-bb8d-a164cad67434", - username: "purpletiger677", - password: "stardust", - salt: "1zl5wlRs", - md5: "38b5a75981a05bec05a7f2c78788cab4", - sha1: "b1007f4e23fbf86c09c1bdccb55b24234009f591", - sha256: - "a678561c12eb838922ee535b1469666bbf41ecd76acbdc89f3b0a3dbf6770094", - }, - dob: { date: "1944-09-17T05:27:44.934Z", age: 77 }, - registered: { date: "2009-08-05T16:17:25.102Z", age: 12 }, - phone: "(08) 1692-0278", - cell: "(39) 7152-7651", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/37.jpg", - medium: "https://randomuser.me/api/portraits/med/men/37.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/37.jpg", - }, - nat: "BR", - }, - { - gender: "male", - name: { title: "Mr", first: "Salman", last: "Landmark" }, - location: { - street: { number: 3258, name: "Vulkan" }, - city: "Espeland", - state: "Rogaland", - country: "Norway", - postcode: "7444", - coordinates: { latitude: "61.6740", longitude: "54.2366" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "salman.landmark@example.com", - login: { - uuid: "b69fb742-919f-4407-a692-bb092578a915", - username: "purpleleopard471", - password: "flyfish", - salt: "3orH8utM", - md5: "99c282d0a1a7425c81cd20a10cdd0bb7", - sha1: "fee2775e084e7af4a80cf3582da7da555b6f9b9d", - sha256: - "fc87edee95b3335d2333c7730b17d76e80caaaa2503a3cf5e35fbdd4a675ce6a", - }, - dob: { date: "1965-12-16T03:10:52.386Z", age: 56 }, - registered: { date: "2010-07-25T22:11:34.011Z", age: 11 }, - phone: "60169885", - cell: "49331163", - id: { name: "FN", value: "16126542392" }, - picture: { - large: "https://randomuser.me/api/portraits/men/91.jpg", - medium: "https://randomuser.me/api/portraits/med/men/91.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/91.jpg", - }, - nat: "NO", - }, - { - gender: "male", - name: { title: "Mr", first: "Cecil", last: "Graham" }, - location: { - street: { number: 3826, name: "Crockett St" }, - city: "Independence", - state: "New Jersey", - country: "United States", - postcode: 60163, - coordinates: { latitude: "7.4448", longitude: "-64.7422" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "cecil.graham@example.com", - login: { - uuid: "5ba5ee5e-1d5d-4f9f-8ca6-96ca24120fca", - username: "whitebear240", - password: "trebor", - salt: "881XVcPT", - md5: "707ab997b6cd7a545ad235e6f950f848", - sha1: "6736d53f7368c4af2ff7b14ae37289e005571a6e", - sha256: - "84687152d188afcb7f5ba3412d796961dc8945efdfdf32dddd378510b55d5dfb", - }, - dob: { date: "1964-08-25T05:56:08.741Z", age: 57 }, - registered: { date: "2003-08-01T15:15:49.710Z", age: 18 }, - phone: "(468)-856-0669", - cell: "(924)-768-8398", - id: { name: "SSN", value: "892-33-1448" }, - picture: { - large: "https://randomuser.me/api/portraits/men/3.jpg", - medium: "https://randomuser.me/api/portraits/med/men/3.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/3.jpg", - }, - nat: "US", - }, - { - gender: "female", - name: { title: "Miss", first: "Begoña", last: "Gimenez" }, - location: { - street: { number: 1328, name: "Paseo de Zorrilla" }, - city: "Ferrol", - state: "Melilla", - country: "Spain", - postcode: 51855, - coordinates: { latitude: "-55.7867", longitude: "-81.5290" }, - timezone: { - offset: "+5:30", - description: "Bombay, Calcutta, Madras, New Delhi", - }, - }, - email: "begona.gimenez@example.com", - login: { - uuid: "c2b2dd37-2ba4-4589-82df-7f2144c50342", - username: "bigelephant523", - password: "stephan", - salt: "9evYmLQq", - md5: "85ee4928e00d0ff5756c8a28c6f4f23b", - sha1: "a827a4b44a7428ef87b490ff39395b15c8e6a367", - sha256: - "9917d5bf7cbfbda8922606772e2d586ed33900f349d2c2cd2ccc0802c92d5d4e", - }, - dob: { date: "1972-08-18T11:52:15.174Z", age: 49 }, - registered: { date: "2002-08-06T19:50:29.956Z", age: 19 }, - phone: "954-745-386", - cell: "648-074-047", - id: { name: "DNI", value: "44654251-L" }, - picture: { - large: "https://randomuser.me/api/portraits/women/28.jpg", - medium: "https://randomuser.me/api/portraits/med/women/28.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/28.jpg", - }, - nat: "ES", - }, - { - gender: "male", - name: { title: "Mr", first: "Claude", last: "Grant" }, - location: { - street: { number: 7203, name: "North Street" }, - city: "Limerick", - state: "Leitrim", - country: "Ireland", - postcode: 64010, - coordinates: { latitude: "16.2760", longitude: "156.0397" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "claude.grant@example.com", - login: { - uuid: "b3e50230-ea7a-4be9-9c4d-a5d5dd10faf2", - username: "biggorilla713", - password: "yoda", - salt: "VEXRBpK1", - md5: "c2a22ff0ff0d2effbfce0bdd03f8c5b2", - sha1: "773e678a79efec795dc5194f08ae1a72a0616dd6", - sha256: - "993ed6d2fd7ef399be82c5517c2b20e0fb2a82ea5044bd1e18c3c38b2c6a9ced", - }, - dob: { date: "1994-12-30T18:09:32.633Z", age: 27 }, - registered: { date: "2014-12-15T04:17:31.090Z", age: 7 }, - phone: "041-343-8269", - cell: "081-191-9994", - id: { name: "PPS", value: "4295635T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/72.jpg", - medium: "https://randomuser.me/api/portraits/med/men/72.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/72.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Miss", first: "Lumi", last: "Waisanen" }, - location: { - street: { number: 8729, name: "Nordenskiöldinkatu" }, - city: "Teuva", - state: "South Karelia", - country: "Finland", - postcode: 63579, - coordinates: { latitude: "-37.3936", longitude: "179.2341" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "lumi.waisanen@example.com", - login: { - uuid: "78337aee-4f8d-44e0-b7a7-f9b527f1ed5e", - username: "whiteelephant321", - password: "adrian", - salt: "08BqIW8k", - md5: "20b50b42ad110e767215a4051fd717fe", - sha1: "a889222ca8ad22febd3f9eca8bda0d63ab540d69", - sha256: - "47c3efe09c5406c40781df61041bbb5f6ce414b4664fb02d1ae1fe4641588065", - }, - dob: { date: "1997-06-06T20:44:37.703Z", age: 24 }, - registered: { date: "2018-10-31T11:36:56.680Z", age: 3 }, - phone: "03-445-638", - cell: "045-999-98-10", - id: { name: "HETU", value: "NaNNA068undefined" }, - picture: { - large: "https://randomuser.me/api/portraits/women/52.jpg", - medium: "https://randomuser.me/api/portraits/med/women/52.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/52.jpg", - }, - nat: "FI", - }, - { - gender: "male", - name: { title: "Mr", first: "Kaya", last: "Denkel" }, - location: { - street: { number: 1434, name: "Atatürk Sk" }, - city: "Afyonkarahisar", - state: "Tokat", - country: "Turkey", - postcode: 84844, - coordinates: { latitude: "-39.6237", longitude: "-12.9110" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "kaya.denkel@example.com", - login: { - uuid: "08ebcf13-e6bc-431c-af43-1c891a27ac4b", - username: "sadleopard171", - password: "sergio", - salt: "vjkrrdAT", - md5: "f644269116706488fb948d2a91b09ed8", - sha1: "54a3ac09654040a078848bbac8359c26c5460cfe", - sha256: - "ebc3f6a672743ec52bc92f5ac4d56c5107df29bbf45b7c8d547d0bc16ca33277", - }, - dob: { date: "1992-08-02T12:11:50.566Z", age: 29 }, - registered: { date: "2009-06-24T07:14:54.195Z", age: 12 }, - phone: "(953)-228-9162", - cell: "(657)-094-2460", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/48.jpg", - medium: "https://randomuser.me/api/portraits/med/men/48.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/48.jpg", - }, - nat: "TR", - }, - { - gender: "male", - name: { title: "Mr", first: "Alex", last: "Davies" }, - location: { - street: { number: 3640, name: "Theodosia Street" }, - city: "Palmerston North", - state: "Tasman", - country: "New Zealand", - postcode: 42878, - coordinates: { latitude: "-13.6950", longitude: "122.6909" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "alex.davies@example.com", - login: { - uuid: "6fe06cd3-a48c-487f-ad57-bb912dc69164", - username: "blackelephant598", - password: "acidburn", - salt: "i22Fie32", - md5: "8f28656f3ab861dc2723570f2cab3f39", - sha1: "ef0e276e0b0e33f5ce9e6d8858a795ea426c7318", - sha256: - "bc3675a6ce3097de5c1e1cc229dc3874bc2980d1c69cebbd043bc3fa4a546f34", - }, - dob: { date: "1959-02-11T23:13:54.055Z", age: 62 }, - registered: { date: "2011-03-20T15:48:25.656Z", age: 10 }, - phone: "(932)-218-2145", - cell: "(957)-528-0517", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/85.jpg", - medium: "https://randomuser.me/api/portraits/med/men/85.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/85.jpg", - }, - nat: "NZ", - }, - { - gender: "female", - name: { title: "Mrs", first: "Celia", last: "Montero" }, - location: { - street: { number: 647, name: "Avenida de Salamanca" }, - city: "San Sebastián de Los Reyes", - state: "País Vasco", - country: "Spain", - postcode: 59043, - coordinates: { latitude: "-77.1967", longitude: "-89.2896" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "celia.montero@example.com", - login: { - uuid: "91398bcb-4bac-44a3-a5c8-2c1423733418", - username: "redcat136", - password: "wallet", - salt: "PCKqdtla", - md5: "408f67b4a0529b7dc282ec7acce09980", - sha1: "ad1988b4119296a9e5640b9ba6bbb9ef08590445", - sha256: - "13568d2a0c03d325f36e0db8e049d530b5d7cf30a2a629b8ef519a6787cc6c7b", - }, - dob: { date: "1969-07-28T06:48:55.505Z", age: 52 }, - registered: { date: "2014-11-13T01:14:35.591Z", age: 7 }, - phone: "964-161-362", - cell: "646-644-648", - id: { name: "DNI", value: "71696350-Z" }, - picture: { - large: "https://randomuser.me/api/portraits/women/24.jpg", - medium: "https://randomuser.me/api/portraits/med/women/24.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/24.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Miss", first: "Ietje", last: "Van de Bunt" }, - location: { - street: { number: 9896, name: "2e Poellaan" }, - city: "Landsmeer", - state: "Noord-Holland", - country: "Netherlands", - postcode: 45638, - coordinates: { latitude: "-72.6367", longitude: "-175.4134" }, - timezone: { - offset: "+11:00", - description: "Magadan, Solomon Islands, New Caledonia", - }, - }, - email: "ietje.vandebunt@example.com", - login: { - uuid: "786852b6-f3de-4903-a84f-88b156ad9994", - username: "whitebear717", - password: "titten", - salt: "ecvQ0uTJ", - md5: "ade744932e55a55354e3b51d7d106555", - sha1: "51454b73a585c219d42368e0b32e94070e70fc1a", - sha256: - "1da180ce95f67b2a23431bf50e0de02d5310e0be87066c9b6af798d0facb9203", - }, - dob: { date: "1959-10-20T02:29:10.895Z", age: 62 }, - registered: { date: "2018-02-22T16:00:36.884Z", age: 3 }, - phone: "(197)-437-9392", - cell: "(942)-129-8731", - id: { name: "BSN", value: "61293658" }, - picture: { - large: "https://randomuser.me/api/portraits/women/83.jpg", - medium: "https://randomuser.me/api/portraits/med/women/83.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/83.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Ms", first: "Paige", last: "Walker" }, - location: { - street: { number: 6521, name: "Oxford Terrace" }, - city: "New Plymouth", - state: "Taranaki", - country: "New Zealand", - postcode: 98668, - coordinates: { latitude: "-68.2399", longitude: "-104.1203" }, - timezone: { - offset: "+5:30", - description: "Bombay, Calcutta, Madras, New Delhi", - }, - }, - email: "paige.walker@example.com", - login: { - uuid: "9ef8c864-eac4-4609-b5f2-75b996e8b382", - username: "silverbear115", - password: "chandler", - salt: "iCUN6R7U", - md5: "3cb6cf2715b579aefcea7d2f0f51d45f", - sha1: "6d117093578703b49842a572c237dac0c803648c", - sha256: - "11dcb9ea0cfaa164bd22fc9c199f81d5242a647df2d60246ff3f2a425285ba12", - }, - dob: { date: "1952-03-29T02:42:08.645Z", age: 69 }, - registered: { date: "2004-10-21T20:53:41.854Z", age: 17 }, - phone: "(482)-779-2399", - cell: "(602)-320-8841", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/32.jpg", - medium: "https://randomuser.me/api/portraits/med/women/32.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/32.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "Willard", last: "West" }, - location: { - street: { number: 8434, name: "Cackson St" }, - city: "Fontana", - state: "Alabama", - country: "United States", - postcode: 55049, - coordinates: { latitude: "50.1433", longitude: "-34.0846" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "willard.west@example.com", - login: { - uuid: "a6430375-ee61-421a-bbba-43d7bf0322e1", - username: "purplegoose586", - password: "magic", - salt: "cG9fenzU", - md5: "ebd2706719ba7b87573df404c5f3bfb2", - sha1: "46d2f421904558d83883cb798e3d9dbfe9093d72", - sha256: - "bdc12815adf15366ee3b159ee923749df718d6a57dad2e7bd2593478a5cead10", - }, - dob: { date: "1980-08-21T20:22:58.052Z", age: 41 }, - registered: { date: "2017-05-04T18:05:07.807Z", age: 4 }, - phone: "(558)-392-4961", - cell: "(457)-916-1043", - id: { name: "SSN", value: "391-40-8721" }, - picture: { - large: "https://randomuser.me/api/portraits/men/58.jpg", - medium: "https://randomuser.me/api/portraits/med/men/58.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/58.jpg", - }, - nat: "US", - }, - { - gender: "male", - name: { title: "Mr", first: "Honorato", last: "Monteiro" }, - location: { - street: { number: 5029, name: "Rua Piauí " }, - city: "Araucária", - state: "Acre", - country: "Brazil", - postcode: 17213, - coordinates: { latitude: "-25.3135", longitude: "-43.4717" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "honorato.monteiro@example.com", - login: { - uuid: "eac617ea-dd9e-4348-9eba-6647bc61693b", - username: "redgoose424", - password: "maple", - salt: "EJ31XpJG", - md5: "8d24e8cbd29da8e0ac6bb1df03ce7b81", - sha1: "e0bfecc1a3287936e3a1785bd4d92453ea8bb09e", - sha256: - "522450f2da8c702bac7b29c3e8932ec94423ddee37da3bdf73ccd49a64307063", - }, - dob: { date: "1953-04-26T04:13:12.365Z", age: 68 }, - registered: { date: "2008-01-06T09:32:19.231Z", age: 13 }, - phone: "(42) 3853-9191", - cell: "(21) 1487-8164", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/67.jpg", - medium: "https://randomuser.me/api/portraits/med/men/67.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/67.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Miss", first: "Gloria", last: "Moreno" }, - location: { - street: { number: 9453, name: "Central St" }, - city: "Seattle", - state: "Arizona", - country: "United States", - postcode: 95771, - coordinates: { latitude: "-61.6358", longitude: "16.1786" }, - timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, - }, - email: "gloria.moreno@example.com", - login: { - uuid: "23f49db7-8558-472b-9717-793bd315caa7", - username: "happygoose225", - password: "stranger", - salt: "eL6FUTxD", - md5: "df5e43c9cd6ccc003818311ce756daaa", - sha1: "9f57f8ae5221bef4746fa0e4e7ba63631f4bf2e7", - sha256: - "a14e0d24cb73802bc0d8252992680bbb68969b8321c1f198920acf416e81cdbb", - }, - dob: { date: "1947-06-04T06:57:05.619Z", age: 74 }, - registered: { date: "2014-12-22T20:48:15.322Z", age: 7 }, - phone: "(070)-139-4439", - cell: "(073)-050-5112", - id: { name: "SSN", value: "600-48-5026" }, - picture: { - large: "https://randomuser.me/api/portraits/women/81.jpg", - medium: "https://randomuser.me/api/portraits/med/women/81.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/81.jpg", - }, - nat: "US", - }, - { - gender: "female", - name: { title: "Mrs", first: "Cilly", last: "Tillmann" }, - location: { - street: { number: 2126, name: "Fliederweg" }, - city: "Hamm", - state: "Mecklenburg-Vorpommern", - country: "Germany", - postcode: 38963, - coordinates: { latitude: "6.3416", longitude: "75.4841" }, - timezone: { offset: "-9:00", description: "Alaska" }, - }, - email: "cilly.tillmann@example.com", - login: { - uuid: "58472cbc-4bc2-4c30-8e9d-7f3f83a6ac31", - username: "blackpeacock697", - password: "eddie", - salt: "IkMayn2r", - md5: "3784cbe539d1d00c9bd3a91707664148", - sha1: "a3fddce30f96962ecbd8a728671bfdee495445bc", - sha256: - "7d3554b5435f86a9e96bb9cb20e294adfe6ecd340a17d5a8b38ee71824533817", - }, - dob: { date: "1966-03-28T09:35:00.692Z", age: 55 }, - registered: { date: "2007-01-11T19:49:13.256Z", age: 14 }, - phone: "0685-3913967", - cell: "0178-5331896", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/76.jpg", - medium: "https://randomuser.me/api/portraits/med/women/76.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/76.jpg", - }, - nat: "DE", - }, - { - gender: "female", - name: { title: "Madame", first: "Raffaella", last: "Fournier" }, - location: { - street: { number: 6230, name: "Rue de L'Abbé-Carton" }, - city: "Uetikon am See", - state: "Zug", - country: "Switzerland", - postcode: 1402, - coordinates: { latitude: "54.5724", longitude: "101.0459" }, - timezone: { - offset: "-8:00", - description: "Pacific Time (US & Canada)", - }, - }, - email: "raffaella.fournier@example.com", - login: { - uuid: "7ab61c70-af01-4b68-8bbd-97994b7befb0", - username: "purpleladybug500", - password: "champ", - salt: "Vc0wJr3v", - md5: "a5d01c0e430b65353b95dae2822901f8", - sha1: "b8cc139bf78d030abc716c8dc935ea334691b388", - sha256: - "b93cc3d45e2186648e30f027529fc0c633fd2968c28de96d16885b0290023c28", - }, - dob: { date: "1951-02-06T08:32:24.332Z", age: 70 }, - registered: { date: "2017-06-20T02:02:32.676Z", age: 4 }, - phone: "079 460 36 72", - cell: "078 076 12 55", - id: { name: "AVS", value: "756.1074.3113.10" }, - picture: { - large: "https://randomuser.me/api/portraits/women/34.jpg", - medium: "https://randomuser.me/api/portraits/med/women/34.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/34.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Ms", first: "Alexia", last: "Muller" }, - location: { - street: { number: 771, name: "Rue de L'Abbé-Roger-Derry" }, - city: "Le Mans", - state: "Jura", - country: "France", - postcode: 41758, - coordinates: { latitude: "-11.9997", longitude: "-60.1754" }, - timezone: { offset: "-2:00", description: "Mid-Atlantic" }, - }, - email: "alexia.muller@example.com", - login: { - uuid: "ff66d303-3d7e-4838-92ab-8bc0c5a5bb7e", - username: "yellowfrog547", - password: "luis", - salt: "USkXCHgG", - md5: "70650dcc3c7bb9b301ca2f2422574ca8", - sha1: "2222021795c24bab2a9e319fa2dc8564757673a5", - sha256: - "34fcbfd5046b570d79ec58c727253651eb45a7d8ca6cb79d43e0ae0c2d6b1b47", - }, - dob: { date: "1967-10-31T23:15:29.525Z", age: 54 }, - registered: { date: "2003-04-24T05:39:59.248Z", age: 18 }, - phone: "04-94-38-84-96", - cell: "06-19-66-97-40", - id: { name: "INSEE", value: "2NNaN67281933 25" }, - picture: { - large: "https://randomuser.me/api/portraits/women/64.jpg", - medium: "https://randomuser.me/api/portraits/med/women/64.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", - }, - nat: "FR", - }, - { - gender: "male", - name: { title: "Mr", first: "Jake", last: "Harris" }, - location: { - street: { number: 7407, name: "Edmonton Road" }, - city: "Whangarei", - state: "Southland", - country: "New Zealand", - postcode: 81370, - coordinates: { latitude: "4.3005", longitude: "31.3585" }, - timezone: { - offset: "-5:00", - description: "Eastern Time (US & Canada), Bogota, Lima", - }, - }, - email: "jake.harris@example.com", - login: { - uuid: "f002510b-be5d-47ba-8365-dbc283a55832", - username: "blackgoose855", - password: "wildwood", - salt: "DnUfer3h", - md5: "a6ad3b1685d0949f5f982e88ebcf5ffc", - sha1: "9dafce8ac9f1b1f8dcfc71f9daa427118a5854f6", - sha256: - "487960ea82f38083f6d260e614ac24d6af1532c4129f9598fe33904e8d1f3eaf", - }, - dob: { date: "1977-03-05T18:18:01.820Z", age: 44 }, - registered: { date: "2003-09-16T06:43:52.231Z", age: 18 }, - phone: "(889)-359-6928", - cell: "(899)-490-9346", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/55.jpg", - medium: "https://randomuser.me/api/portraits/med/men/55.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/55.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "Victor", last: "Lévesque" }, - location: { - street: { number: 2971, name: "Oak St" }, - city: "Chesterville", - state: "Saskatchewan", - country: "Canada", - postcode: "M0K 4W0", - coordinates: { latitude: "38.6099", longitude: "37.5921" }, - timezone: { - offset: "+3:00", - description: "Baghdad, Riyadh, Moscow, St. Petersburg", - }, - }, - email: "victor.levesque@example.com", - login: { - uuid: "921cb862-97c2-454f-aaf3-3889b48edec5", - username: "beautifuldog972", - password: "point", - salt: "5H2aDVjO", - md5: "5e1a7c4e4c8b1eb4cbf376e6eb7298d9", - sha1: "b33d7d550e6bbff853eef4564b7dbd5529130501", - sha256: - "2126d8b62b74bc3b00e3423e2189090b236ec73058e8d5e32dd7062e7d6c4505", - }, - dob: { date: "1976-04-02T18:27:18.398Z", age: 45 }, - registered: { date: "2008-11-07T15:47:51.292Z", age: 13 }, - phone: "044-018-3265", - cell: "025-451-9515", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/79.jpg", - medium: "https://randomuser.me/api/portraits/med/men/79.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/79.jpg", - }, - nat: "CA", - }, - { - gender: "female", - name: { title: "Ms", first: "Lucia", last: "Gil" }, - location: { - street: { number: 7505, name: "Calle de Arturo Soria" }, - city: "Pamplona", - state: "Comunidad de Madrid", - country: "Spain", - postcode: 94456, - coordinates: { latitude: "44.5163", longitude: "-23.1947" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "lucia.gil@example.com", - login: { - uuid: "d7797e1e-5f9e-4c1f-b76d-73a1bcbe61ce", - username: "sadleopard485", - password: "mildred", - salt: "hXAQl3gJ", - md5: "7030c1180fef91a8f6904ae5f18e0315", - sha1: "39e8a3aaa17e46ebc5023fe23f79436b589578c1", - sha256: - "be83b7c8ac1a3e9a1c2a4121fc76229093d3ae2e857d8a5d9f460e52ca8f5bc7", - }, - dob: { date: "1960-03-31T09:44:35.656Z", age: 61 }, - registered: { date: "2013-11-21T12:58:47.467Z", age: 8 }, - phone: "952-741-943", - cell: "665-016-650", - id: { name: "DNI", value: "92378443-T" }, - picture: { - large: "https://randomuser.me/api/portraits/women/4.jpg", - medium: "https://randomuser.me/api/portraits/med/women/4.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/4.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Madame", first: "Irène", last: "Caron" }, - location: { - street: { number: 96, name: "Avenue du Fort-Caire" }, - city: "Ins", - state: "Aargau", - country: "Switzerland", - postcode: 2703, - coordinates: { latitude: "-32.8491", longitude: "33.1040" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "irene.caron@example.com", - login: { - uuid: "a97677d4-074c-4e62-8e01-dce15b92a57a", - username: "happyladybug498", - password: "screwyou", - salt: "ew3XT4Xg", - md5: "0530089e43f831aa08d3b2a4e0492a64", - sha1: "129b0551c061b2b4c66e3d9211fd5195df4fe01c", - sha256: - "599fb0322a8a09c22fec36bea4edf2185ba1ae6c8d2c075a9b693b955666501c", - }, - dob: { date: "1962-02-07T11:31:50.974Z", age: 59 }, - registered: { date: "2018-06-15T17:42:34.426Z", age: 3 }, - phone: "076 970 98 11", - cell: "077 931 59 40", - id: { name: "AVS", value: "756.0603.0514.67" }, - picture: { - large: "https://randomuser.me/api/portraits/women/55.jpg", - medium: "https://randomuser.me/api/portraits/med/women/55.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/55.jpg", - }, - nat: "CH", - }, - { - gender: "male", - name: { title: "Monsieur", first: "Domenico", last: "Vincent" }, - location: { - street: { number: 5484, name: "Avenue du Fort-Caire" }, - city: "Granges (Veveyse)", - state: "Basel-Stadt", - country: "Switzerland", - postcode: 8904, - coordinates: { latitude: "6.5160", longitude: "-116.6141" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "domenico.vincent@example.com", - login: { - uuid: "ed3a50d5-fcf0-4ea9-be5c-de24b369cf50", - username: "whitezebra312", - password: "pipeline", - salt: "3VpQxUXo", - md5: "2761b52f63e93f6fb4ff014345e27b48", - sha1: "768dfccfa618dce25a749cb998db1968856d6904", - sha256: - "6f8eacf0733e851dd24e2273fe220b2541cf537c2866321663e5396aed61f97b", - }, - dob: { date: "1953-05-03T02:41:25.824Z", age: 68 }, - registered: { date: "2017-10-04T18:07:04.712Z", age: 4 }, - phone: "077 832 95 46", - cell: "076 671 29 34", - id: { name: "AVS", value: "756.2015.2160.70" }, - picture: { - large: "https://randomuser.me/api/portraits/men/33.jpg", - medium: "https://randomuser.me/api/portraits/med/men/33.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/33.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Mrs", first: "عسل", last: "علیزاده" }, - location: { - street: { number: 5724, name: "پیروزی" }, - city: "ارومیه", - state: "کهگیلویه و بویراحمد", - country: "Iran", - postcode: 39202, - coordinates: { latitude: "35.6613", longitude: "147.1957" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "aasl.aalyzdh@example.com", - login: { - uuid: "e8e8243e-c8f3-4208-92a2-9ee39b9ed6da", - username: "smalltiger325", - password: "markie", - salt: "30vzsNTL", - md5: "83d7f1932c857c9dc09f820b15d5ef65", - sha1: "e585186e283048ee01125ff98e243eb9010e7b42", - sha256: - "6f12969e5e1dc24c407e1e5fec63550199f9170acf85e5eb0fe52d9f63c28aba", - }, - dob: { date: "1967-09-28T06:53:39.846Z", age: 54 }, - registered: { date: "2018-07-12T07:44:31.043Z", age: 3 }, - phone: "084-61525855", - cell: "0944-737-7051", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/70.jpg", - medium: "https://randomuser.me/api/portraits/med/women/70.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/70.jpg", - }, - nat: "IR", - }, - { - gender: "female", - name: { title: "Ms", first: "Diandra", last: "Pander" }, - location: { - street: { number: 8095, name: "Koningskers" }, - city: "Kornwerderzand", - state: "Noord-Brabant", - country: "Netherlands", - postcode: 13022, - coordinates: { latitude: "22.4463", longitude: "-137.5360" }, - timezone: { offset: "-9:00", description: "Alaska" }, - }, - email: "diandra.pander@example.com", - login: { - uuid: "8cd6761e-c369-477e-bb1c-2cbd75216cfa", - username: "sadostrich279", - password: "caravan", - salt: "G09c4wEw", - md5: "6a8ae8c82c18852631b729745415d73e", - sha1: "d638801195ae6d7b74e40caeb2e84f4693dd008d", - sha256: - "4dcaf0d19e70fe86a7156f374599f831480ae5533e8877c3001c40e9c1a51ee6", - }, - dob: { date: "1987-11-24T05:21:32.115Z", age: 34 }, - registered: { date: "2013-07-30T18:00:31.499Z", age: 8 }, - phone: "(898)-391-2540", - cell: "(908)-197-6807", - id: { name: "BSN", value: "70181189" }, - picture: { - large: "https://randomuser.me/api/portraits/women/46.jpg", - medium: "https://randomuser.me/api/portraits/med/women/46.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/46.jpg", - }, - nat: "NL", - }, - { - gender: "male", - name: { title: "Monsieur", first: "Georgios", last: "Meyer" }, - location: { - street: { number: 2375, name: "Rue des Cuirassiers" }, - city: "Döttingen", - state: "Uri", - country: "Switzerland", - postcode: 3002, - coordinates: { latitude: "-55.0158", longitude: "-146.1140" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "georgios.meyer@example.com", - login: { - uuid: "c2e37761-fbc7-48f5-847e-9a8b7d5d60f6", - username: "crazybear357", - password: "cristina", - salt: "t7NiHkeh", - md5: "ed055d46a95b4801159b3081ea91de74", - sha1: "a3cf6b14f584b0e20fd22c064cf0d7066084204d", - sha256: - "68689beaa6d6f55e2094717e656013884e9320f1021b464a87b32fdde6808640", - }, - dob: { date: "1973-08-03T22:46:20.099Z", age: 48 }, - registered: { date: "2007-10-17T21:42:38.706Z", age: 14 }, - phone: "075 526 42 67", - cell: "076 407 85 06", - id: { name: "AVS", value: "756.4935.8186.25" }, - picture: { - large: "https://randomuser.me/api/portraits/men/43.jpg", - medium: "https://randomuser.me/api/portraits/med/men/43.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/43.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Miss", first: "Brianna", last: "Burton" }, - location: { - street: { number: 4974, name: "Ranchview Dr" }, - city: "Wollongong", - state: "Northern Territory", - country: "Australia", - postcode: 1087, - coordinates: { latitude: "33.9259", longitude: "27.2068" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "brianna.burton@example.com", - login: { - uuid: "ad7a2e05-0ec0-4af1-880b-1d670c03db91", - username: "brownladybug253", - password: "xiong", - salt: "yCfPSzNd", - md5: "70555277fb03937143bb41314e3afe37", - sha1: "224c092c5df3a3a3a332581cb06b5f651117525e", - sha256: - "92b7677e04abc21bb4bfb70e429d206dd97acf1591953afac62c5d4a66eaffde", - }, - dob: { date: "1992-06-09T10:54:54.490Z", age: 29 }, - registered: { date: "2008-12-31T18:55:33.463Z", age: 13 }, - phone: "08-0910-4770", - cell: "0487-324-741", - id: { name: "TFN", value: "333303990" }, - picture: { - large: "https://randomuser.me/api/portraits/women/17.jpg", - medium: "https://randomuser.me/api/portraits/med/women/17.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/17.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "Nabil", last: "De Kruijf" }, - location: { - street: { number: 6042, name: "Jan van Eijckweg" }, - city: "Nessersluis", - state: "Zeeland", - country: "Netherlands", - postcode: 19440, - coordinates: { latitude: "-42.8733", longitude: "60.2887" }, - timezone: { offset: "+3:30", description: "Tehran" }, - }, - email: "nabil.dekruijf@example.com", - login: { - uuid: "9e6a9b92-70de-4864-9140-de9d2836c4f3", - username: "redlion387", - password: "store", - salt: "lOVutVhn", - md5: "47246a5542af21378800becb013a29fd", - sha1: "9203759474382f1edf9b7d33d2e81bd30f3b4c0b", - sha256: - "bc8454eb27f84a4107e34d9643a7a438819578128ab1c593959a86da9671e42e", - }, - dob: { date: "1963-01-05T14:40:26.193Z", age: 58 }, - registered: { date: "2011-05-15T00:20:14.318Z", age: 10 }, - phone: "(578)-971-9363", - cell: "(789)-768-1139", - id: { name: "BSN", value: "41052062" }, - picture: { - large: "https://randomuser.me/api/portraits/men/66.jpg", - medium: "https://randomuser.me/api/portraits/med/men/66.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/66.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Ms", first: "Loeki", last: "Herfst" }, - location: { - street: { number: 2529, name: "Hoeksekade" }, - city: "Maasvlakte", - state: "Zeeland", - country: "Netherlands", - postcode: 26805, - coordinates: { latitude: "-1.2125", longitude: "-37.6313" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "loeki.herfst@example.com", - login: { - uuid: "9d98e9dc-8cb3-4eed-a5d2-f29446e0498a", - username: "redbird833", - password: "tekken", - salt: "YlAexcyu", - md5: "594efaf7f25e7c37177e9564792298b8", - sha1: "f6bec77f5acea2b1c06f23e5776f0899a4df39cc", - sha256: - "657efe176e42b434a31bd8e62f7c230ab15f20c8a893e1d352e3f3416f7e19ab", - }, - dob: { date: "1951-06-09T17:28:21.781Z", age: 70 }, - registered: { date: "2005-05-25T23:01:29.067Z", age: 16 }, - phone: "(843)-648-6096", - cell: "(787)-986-5533", - id: { name: "BSN", value: "13085699" }, - picture: { - large: "https://randomuser.me/api/portraits/women/86.jpg", - medium: "https://randomuser.me/api/portraits/med/women/86.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/86.jpg", - }, - nat: "NL", - }, - { - gender: "male", - name: { title: "Mr", first: "Derek", last: "Jensen" }, - location: { - street: { number: 7379, name: "Boghall Road" }, - city: "Loughrea", - state: "Galway City", - country: "Ireland", - postcode: 83844, - coordinates: { latitude: "-17.8441", longitude: "-154.6829" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "derek.jensen@example.com", - login: { - uuid: "5ab7e6a5-197b-4425-947b-45aab0304b54", - username: "heavyfrog743", - password: "chinook", - salt: "hztoaUhU", - md5: "bfba9f0ccc283e0aeb9265dd760fd9a3", - sha1: "a3fc0c254fbdca951e6a723bd1199e83a5d938df", - sha256: - "f1c1fe0fdd2912880c3ae0311deae7b4db00f26a4897d9842ae43390b86bfea7", - }, - dob: { date: "1988-09-10T21:12:28.025Z", age: 33 }, - registered: { date: "2015-02-28T16:55:20.572Z", age: 6 }, - phone: "041-605-6093", - cell: "081-060-1843", - id: { name: "PPS", value: "8797103T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/33.jpg", - medium: "https://randomuser.me/api/portraits/med/men/33.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/33.jpg", - }, - nat: "IE", - }, - { - gender: "male", - name: { title: "Mr", first: "Albert", last: "Hill" }, - location: { - street: { number: 6563, name: "Grange Road" }, - city: "Tramore", - state: "Dublin City", - country: "Ireland", - postcode: 20202, - coordinates: { latitude: "4.3492", longitude: "-68.6370" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "albert.hill@example.com", - login: { - uuid: "52005891-d300-4e9a-be74-9d159e60b13a", - username: "greenwolf531", - password: "spice", - salt: "EyULnPrA", - md5: "e1402cfaaf24b2c51214a3f113512c9d", - sha1: "07e08fc4ff3bbd68018fd60039606581792300a2", - sha256: - "e9b81245dcfc9c8dd752a2212ed0d643fd9ae7cd5b57b818f4d70730464b6145", - }, - dob: { date: "1969-07-23T04:50:23.722Z", age: 52 }, - registered: { date: "2019-02-15T20:50:17.208Z", age: 2 }, - phone: "021-003-4137", - cell: "081-064-4126", - id: { name: "PPS", value: "9023709T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/95.jpg", - medium: "https://randomuser.me/api/portraits/med/men/95.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/95.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Miss", first: "Amelia", last: "Martin" }, - location: { - street: { number: 695, name: "Bridge Road" }, - city: "Glasgow", - state: "Gwent", - country: "United Kingdom", - postcode: "S0X 1HU", - coordinates: { latitude: "35.5943", longitude: "95.9724" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "amelia.martin@example.com", - login: { - uuid: "d81d7dcf-5d88-4c69-a94a-c821d7cd6702", - username: "silverfrog995", - password: "cooler", - salt: "zk3tLiTL", - md5: "7a23dc51c76074e1156cfa85faf12c9c", - sha1: "a7d678a0fca4de2618cd539c288ea5d847fa7374", - sha256: - "331a352a0ef41260f092532aa828d0f88bac45fb45c312b1c993488218997b3c", - }, - dob: { date: "1968-10-21T05:38:32.410Z", age: 53 }, - registered: { date: "2011-12-08T18:12:41.169Z", age: 10 }, - phone: "01344 46352", - cell: "0759-031-321", - id: { name: "NINO", value: "BY 14 79 88 J" }, - picture: { - large: "https://randomuser.me/api/portraits/women/91.jpg", - medium: "https://randomuser.me/api/portraits/med/women/91.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/91.jpg", - }, - nat: "GB", - }, - { - gender: "male", - name: { title: "Mr", first: "Tomothy", last: "Graves" }, - location: { - street: { number: 1117, name: "Miller Ave" }, - city: "Launceston", - state: "Australian Capital Territory", - country: "Australia", - postcode: 9292, - coordinates: { latitude: "3.1114", longitude: "-91.6738" }, - timezone: { - offset: "-8:00", - description: "Pacific Time (US & Canada)", - }, - }, - email: "tomothy.graves@example.com", - login: { - uuid: "1539ce3d-80a7-442d-8378-a4edf5045589", - username: "happyleopard349", - password: "farmer", - salt: "cMjnR1TS", - md5: "990175669bc2828f89a8f4d115bef452", - sha1: "3b8679caa2473a9880aa483065aa34799aaccd05", - sha256: - "6c8c28df50c4b0148e86f6d42db093a330d15be226150356619bca8672714b12", - }, - dob: { date: "1959-07-24T12:57:22.659Z", age: 62 }, - registered: { date: "2015-02-18T16:51:46.612Z", age: 6 }, - phone: "03-3502-8297", - cell: "0404-438-650", - id: { name: "TFN", value: "402321982" }, - picture: { - large: "https://randomuser.me/api/portraits/men/23.jpg", - medium: "https://randomuser.me/api/portraits/med/men/23.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/23.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "Colin", last: "Graham" }, - location: { - street: { number: 7601, name: "School Lane" }, - city: "Portarlington", - state: "Donegal", - country: "Ireland", - postcode: 66476, - coordinates: { latitude: "13.5912", longitude: "15.1919" }, - timezone: { - offset: "+5:30", - description: "Bombay, Calcutta, Madras, New Delhi", - }, - }, - email: "colin.graham@example.com", - login: { - uuid: "a53c3216-f97f-427d-8306-4dd287f510f4", - username: "greenostrich270", - password: "bacchus", - salt: "14P2XqGc", - md5: "a71744da1254590ec901a2928b38fc2b", - sha1: "ba069af81b01497c8b709105201125171dda1426", - sha256: - "28ea0117ede690ab8d1774f10511f9cf2a3d816a8de848e99cee6bc6e15196c2", - }, - dob: { date: "1990-06-19T03:30:13.951Z", age: 31 }, - registered: { date: "2007-04-25T20:49:05.616Z", age: 14 }, - phone: "061-192-3561", - cell: "081-455-4415", - id: { name: "PPS", value: "0385140T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/60.jpg", - medium: "https://randomuser.me/api/portraits/med/men/60.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/60.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Mrs", first: "Miriam", last: "Patterson" }, - location: { - street: { number: 8253, name: "Sunset St" }, - city: "Geraldton", - state: "South Australia", - country: "Australia", - postcode: 6256, - coordinates: { latitude: "-58.8398", longitude: "-77.3201" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "miriam.patterson@example.com", - login: { - uuid: "e0b5f854-442e-4a59-b9fc-6d51dd9149e9", - username: "ticklishtiger833", - password: "quattro", - salt: "36oVJuUG", - md5: "659438258d0b41c48be30b3db2a239bc", - sha1: "fca204847deaafe2a5db7fe73232660ac8234a86", - sha256: - "d41e91e74b9024681e818daacddaa155da915c3abeb65e1d58aedf2f2a8ba634", - }, - dob: { date: "1952-11-05T00:58:36.112Z", age: 69 }, - registered: { date: "2017-11-06T02:01:22.263Z", age: 4 }, - phone: "02-8145-3254", - cell: "0495-765-840", - id: { name: "TFN", value: "125357320" }, - picture: { - large: "https://randomuser.me/api/portraits/women/2.jpg", - medium: "https://randomuser.me/api/portraits/med/women/2.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/2.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Mrs", first: "Andrea", last: "Gutierrez" }, - location: { - street: { number: 529, name: "Westheimer Rd" }, - city: "Traralgon", - state: "Queensland", - country: "Australia", - postcode: 7207, - coordinates: { latitude: "34.1776", longitude: "110.7410" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "andrea.gutierrez@example.com", - login: { - uuid: "7c0c64c1-6dce-470d-9780-5000a9042197", - username: "happyelephant790", - password: "musica", - salt: "bK1MRAGZ", - md5: "77fc99de654b6a4cbe1bf4aa97e890a7", - sha1: "00b9ad9e90305a01667094d7bec1acdfda9ad1dc", - sha256: - "06a72e564b303f0130014c5cd020577dc9dcd8ac1b967903ad7e6be1b1d37590", - }, - dob: { date: "1950-12-06T23:15:31.673Z", age: 71 }, - registered: { date: "2015-08-07T02:23:38.248Z", age: 6 }, - phone: "09-6722-0321", - cell: "0416-984-779", - id: { name: "TFN", value: "802637020" }, - picture: { - large: "https://randomuser.me/api/portraits/women/90.jpg", - medium: "https://randomuser.me/api/portraits/med/women/90.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/90.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Mrs", first: "Yusra", last: "Gården" }, - location: { - street: { number: 2073, name: "Brattelia" }, - city: "Gvarv", - state: "Aust-Agder", - country: "Norway", - postcode: "0114", - coordinates: { latitude: "88.0344", longitude: "-90.8935" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "yusra.garden@example.com", - login: { - uuid: "a2608564-c14e-4278-b126-3f12e44e7b04", - username: "lazyswan736", - password: "lancelot", - salt: "n6UIsbCg", - md5: "23a2c975565c872c33e20f1b7ef6fc7f", - sha1: "275b1f18872b018404c9526b45f43d732e0e9307", - sha256: - "a9bb0234b19a1707a7df59000f6e038eaeb301281b1fda8d78d60ca12442a526", - }, - dob: { date: "1962-09-11T20:03:58.546Z", age: 59 }, - registered: { date: "2015-08-11T05:47:59.982Z", age: 6 }, - phone: "78503047", - cell: "97409069", - id: { name: "FN", value: "11096224674" }, - picture: { - large: "https://randomuser.me/api/portraits/women/77.jpg", - medium: "https://randomuser.me/api/portraits/med/women/77.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", - }, - nat: "NO", - }, - { - gender: "female", - name: { title: "Mrs", first: "Begüm", last: "Ekşioğlu" }, - location: { - street: { number: 2191, name: "Filistin Cd" }, - city: "Aksaray", - state: "Gümüşhane", - country: "Turkey", - postcode: 38335, - coordinates: { latitude: "-20.1062", longitude: "-70.0078" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "begum.eksioglu@example.com", - login: { - uuid: "6562e81e-81f9-47a9-898b-82638f763406", - username: "bigmouse713", - password: "mama", - salt: "65zVPaDD", - md5: "dc502c0e2db8615bed4c741098747c8b", - sha1: "224f50ae05b6ec08f707008a64f89f5b645ee444", - sha256: - "796d6532fe64216ea13d6ea1411514a183557b743e932a6b7d37ee2c49b64b01", - }, - dob: { date: "1950-03-30T06:33:27.532Z", age: 71 }, - registered: { date: "2005-10-27T07:17:10.550Z", age: 16 }, - phone: "(365)-475-9358", - cell: "(166)-248-3339", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/2.jpg", - medium: "https://randomuser.me/api/portraits/med/women/2.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/2.jpg", - }, - nat: "TR", - }, - { - gender: "female", - name: { title: "Ms", first: "Vanessa", last: "Ortiz" }, - location: { - street: { number: 479, name: "Broadway" }, - city: "Stoke-on-Trent", - state: "Gwent", - country: "United Kingdom", - postcode: "D4L 1GQ", - coordinates: { latitude: "-61.1868", longitude: "-175.9488" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "vanessa.ortiz@example.com", - login: { - uuid: "29034292-52dd-491a-8dcf-7066d9dd1022", - username: "smallmouse384", - password: "internet", - salt: "HyN73AnR", - md5: "72f0b21590de468eb8cdf2cbbca2df74", - sha1: "960c443ab51ceae39de820b69082b65b2de953db", - sha256: - "56bdd690e6abc39aefe45a43ae387030f844bd247f5b28a1856ccf173881e98d", - }, - dob: { date: "1970-07-29T10:38:45.751Z", age: 51 }, - registered: { date: "2004-06-18T23:02:42.443Z", age: 17 }, - phone: "017687 69252", - cell: "0789-524-200", - id: { name: "NINO", value: "BB 56 97 71 M" }, - picture: { - large: "https://randomuser.me/api/portraits/women/22.jpg", - medium: "https://randomuser.me/api/portraits/med/women/22.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Ms", first: "Josefina", last: "Lorenzo" }, - location: { - street: { number: 8404, name: "Calle de Arturo Soria" }, - city: "Valencia", - state: "Extremadura", - country: "Spain", - postcode: 85754, - coordinates: { latitude: "77.6857", longitude: "111.5284" }, - timezone: { offset: "-9:00", description: "Alaska" }, - }, - email: "josefina.lorenzo@example.com", - login: { - uuid: "aaba9ff3-d7ae-42fa-9b5d-6bbfac07433e", - username: "orangeleopard595", - password: "comanche", - salt: "WKORRlbp", - md5: "ee27956c3514fb4147e5a663c4ad90e7", - sha1: "9fc3f2e7f50707a89abb38d1a6cd63323f1034a7", - sha256: - "4ccd1e7762c31125d85533cb8d6d7f1ffaef6fa96029efd73f2edc2276669132", - }, - dob: { date: "1982-03-18T10:24:04.914Z", age: 39 }, - registered: { date: "2017-08-17T02:06:44.072Z", age: 4 }, - phone: "993-543-457", - cell: "690-771-213", - id: { name: "DNI", value: "89749771-W" }, - picture: { - large: "https://randomuser.me/api/portraits/women/49.jpg", - medium: "https://randomuser.me/api/portraits/med/women/49.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/49.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Ms", first: "Lory", last: "de Souza" }, - location: { - street: { number: 7407, name: "Rua Rio de Janeiro " }, - city: "Itaquaquecetuba", - state: "Bahia", - country: "Brazil", - postcode: 18437, - coordinates: { latitude: "57.1247", longitude: "135.6891" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "lory.desouza@example.com", - login: { - uuid: "44f1dc0b-6d5c-45b9-84f4-e34d30fdf136", - username: "tinybutterfly485", - password: "pippin", - salt: "o7ZKPZ82", - md5: "fd836dc18613ca1a6d62f8cf415d5591", - sha1: "51dad96fd997f146ec8b6c1337c8bf06079d63ff", - sha256: - "2705dfce00f74eba6e4362d06f5c4bd3f6ed49bf46ccad03901b4c1ee163e8bf", - }, - dob: { date: "1996-01-03T18:58:29.942Z", age: 25 }, - registered: { date: "2016-03-10T21:27:57.920Z", age: 5 }, - phone: "(29) 0225-3043", - cell: "(13) 1776-6176", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/22.jpg", - medium: "https://randomuser.me/api/portraits/med/women/22.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Madame", first: "Yasmine", last: "Da Silva" }, - location: { - street: { number: 8848, name: "Place du 22 Novembre 1943" }, - city: "Bottenwil", - state: "Genève", - country: "Switzerland", - postcode: 8414, - coordinates: { latitude: "-54.7043", longitude: "-111.8252" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "yasmine.dasilva@example.com", - login: { - uuid: "f4b0cca9-3477-4ad3-9450-55d14168236b", - username: "silverbear686", - password: "stanton", - salt: "xM8V9yTy", - md5: "b0b5c59d783425b3eaed1b4d2a786bb2", - sha1: "35728251583d941465bce0883024b1922866e409", - sha256: - "4e73a8c7f6a087b47eca501a807e7fbdd178f047df9630f2ed346b5f56af10c3", - }, - dob: { date: "1996-12-21T21:20:52.227Z", age: 25 }, - registered: { date: "2010-06-06T14:29:52.737Z", age: 11 }, - phone: "077 640 01 41", - cell: "075 107 34 90", - id: { name: "AVS", value: "756.2689.9711.47" }, - picture: { - large: "https://randomuser.me/api/portraits/women/12.jpg", - medium: "https://randomuser.me/api/portraits/med/women/12.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/12.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Miss", first: "Afşar", last: "Erberk" }, - location: { - street: { number: 5558, name: "Maçka Cd" }, - city: "Afyonkarahisar", - state: "Bayburt", - country: "Turkey", - postcode: 33737, - coordinates: { latitude: "87.9314", longitude: "-91.3767" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "afsar.erberk@example.com", - login: { - uuid: "e5e61979-3c91-4193-9298-643d156f105b", - username: "redfish267", - password: "bumper", - salt: "iRRay15N", - md5: "ebc17ea93cd5dd9203f4b8f28b778be2", - sha1: "3b25c40f13f6ccfba343455b406ba6624cb1455d", - sha256: - "d951ddbc264edbb766732c1c09692206904359b587c071a55ebc0e6a4b3b5273", - }, - dob: { date: "1987-09-25T08:33:14.039Z", age: 34 }, - registered: { date: "2003-09-26T00:54:19.646Z", age: 18 }, - phone: "(574)-731-5368", - cell: "(919)-185-3548", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/68.jpg", - medium: "https://randomuser.me/api/portraits/med/women/68.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", - }, - nat: "TR", - }, - { - gender: "male", - name: { title: "Mr", first: "Allen", last: "Jordan" }, - location: { - street: { number: 1210, name: "Dogwood Ave" }, - city: "Tamworth", - state: "Western Australia", - country: "Australia", - postcode: 494, - coordinates: { latitude: "-4.1381", longitude: "-84.0149" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "allen.jordan@example.com", - login: { - uuid: "10a9932a-2272-4bfe-9ab0-da56ed8d95ee", - username: "bluefrog637", - password: "toronto", - salt: "SBL6Z5k7", - md5: "e78bd40c8d411cbc5551a7bd5d000801", - sha1: "eb164b158a77d39723eecb9a61c9380f82e671b8", - sha256: - "90c1350dd959f51dc326fc1a3aad854b1f685ff9bd3cdd60740acd995a065662", - }, - dob: { date: "1952-09-22T05:33:34.833Z", age: 69 }, - registered: { date: "2004-08-24T20:30:12.033Z", age: 17 }, - phone: "01-2180-4625", - cell: "0409-195-276", - id: { name: "TFN", value: "467338110" }, - picture: { - large: "https://randomuser.me/api/portraits/men/86.jpg", - medium: "https://randomuser.me/api/portraits/med/men/86.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/86.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Miss", first: "آیلین", last: "رضاییان" }, - location: { - street: { number: 4001, name: "فلسطین" }, - city: "زاهدان", - state: "مرکزی", - country: "Iran", - postcode: 58749, - coordinates: { latitude: "-67.0929", longitude: "-167.1153" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "aylyn.rdyyn@example.com", - login: { - uuid: "c2592ba6-d917-4bbd-9d07-2c6eb80bb0c2", - username: "organicostrich547", - password: "aikman", - salt: "1LxprSOG", - md5: "e959b894f601f65487e4cf3ba463f437", - sha1: "f8e24b81aa89b9c14237d412e25afd96e2f848f7", - sha256: - "774b4bd61afe6085c9a72f3610c7c72c78a03c0ba3042a8c32a0c72e07c73fd9", - }, - dob: { date: "1997-09-17T13:22:06.941Z", age: 24 }, - registered: { date: "2017-11-25T06:29:45.967Z", age: 4 }, - phone: "039-51933363", - cell: "0900-212-9539", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/95.jpg", - medium: "https://randomuser.me/api/portraits/med/women/95.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/95.jpg", - }, - nat: "IR", - }, - { - gender: "male", - name: { title: "Mr", first: "Ullrich", last: "Blessing" }, - location: { - street: { number: 7113, name: "Im Winkel" }, - city: "Hagenow", - state: "Hamburg", - country: "Germany", - postcode: 87748, - coordinates: { latitude: "54.3390", longitude: "-117.9298" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "ullrich.blessing@example.com", - login: { - uuid: "d943a174-849a-43fb-9502-41d8a6209b35", - username: "organicfrog882", - password: "282828", - salt: "POYetcd8", - md5: "b617ab842a20dd23b5eacfd7439ca1a6", - sha1: "700b416517b415c0729d57eb0c504a8af1415b79", - sha256: - "adca43c93f092139487f8ae0d18cdd7ccc19103e893ecbdf68999f9b4bd4db38", - }, - dob: { date: "1997-11-29T06:48:53.404Z", age: 24 }, - registered: { date: "2005-06-13T10:40:35.831Z", age: 16 }, - phone: "0303-1022952", - cell: "0179-3762858", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/89.jpg", - medium: "https://randomuser.me/api/portraits/med/men/89.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/89.jpg", - }, - nat: "DE", - }, - { - gender: "female", - name: { title: "Mademoiselle", first: "Yvonne", last: "Masson" }, - location: { - street: { number: 9604, name: "Avenue de la Libération" }, - city: "Aesch (Bl)", - state: "Graubünden", - country: "Switzerland", - postcode: 3075, - coordinates: { latitude: "35.7223", longitude: "59.6188" }, - timezone: { offset: "-2:00", description: "Mid-Atlantic" }, - }, - email: "yvonne.masson@example.com", - login: { - uuid: "f2b73393-21ee-4565-9bc9-e6707aa9024c", - username: "sadbutterfly293", - password: "bronson", - salt: "kw2cnG8t", - md5: "6fbd740d50c7b46307486fffa4d0f0f3", - sha1: "1be7fcd76b89016d7c2071005aad9e7f34fae6e0", - sha256: - "3658e04b98c0cba2af4f0ecdeecd99cc6185da273bd2e02fe3ed7fe2fcdc314b", - }, - dob: { date: "1985-03-31T13:16:48.929Z", age: 36 }, - registered: { date: "2003-09-17T19:53:44.574Z", age: 18 }, - phone: "075 220 01 59", - cell: "075 780 01 30", - id: { name: "AVS", value: "756.4797.8830.98" }, - picture: { - large: "https://randomuser.me/api/portraits/women/22.jpg", - medium: "https://randomuser.me/api/portraits/med/women/22.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/22.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Mrs", first: "Pilar", last: "Moya" }, - location: { - street: { number: 1360, name: "Calle de La Democracia" }, - city: "Gijón", - state: "Comunidad Valenciana", - country: "Spain", - postcode: 64963, - coordinates: { latitude: "27.8853", longitude: "57.7919" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "pilar.moya@example.com", - login: { - uuid: "1c24d38d-c2db-4ce4-8de5-9a1566e6a5ed", - username: "whitecat500", - password: "biit", - salt: "MkHgs0pr", - md5: "fee8e8dc2958bc2f009655e31e99b78a", - sha1: "fa6521d747554da8206bda06acda024ddb784a10", - sha256: - "254022b11f66dedfc9a4b8d6f306f6f5cfb3d41d208674973fe1639f2049d6bf", - }, - dob: { date: "1994-04-13T00:01:54.657Z", age: 27 }, - registered: { date: "2008-03-20T19:24:54.106Z", age: 13 }, - phone: "963-144-174", - cell: "689-828-170", - id: { name: "DNI", value: "72143260-Z" }, - picture: { - large: "https://randomuser.me/api/portraits/women/68.jpg", - medium: "https://randomuser.me/api/portraits/med/women/68.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Ms", first: "Inmaculada", last: "Carmona" }, - location: { - street: { number: 2447, name: "Calle de Tetuán" }, - city: "Guadalajara", - state: "Región de Murcia", - country: "Spain", - postcode: 59942, - coordinates: { latitude: "66.3781", longitude: "-19.4633" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "inmaculada.carmona@example.com", - login: { - uuid: "eff3ee31-71d5-43a5-ae5e-fdd29fce554c", - username: "tinyduck621", - password: "nocturne", - salt: "wkeAYIBw", - md5: "50fff9d692d8ecce2d8053df11e024f9", - sha1: "882ba153935232d0c82a026f52a69d2f92f26fd3", - sha256: - "ab6d0ca7f311f14ec706016ab51ce26fe0ff399f772309795fea9931439673fc", - }, - dob: { date: "1952-10-03T15:22:34.247Z", age: 69 }, - registered: { date: "2014-06-29T00:47:58.763Z", age: 7 }, - phone: "902-412-151", - cell: "637-659-480", - id: { name: "DNI", value: "29612624-Q" }, - picture: { - large: "https://randomuser.me/api/portraits/women/52.jpg", - medium: "https://randomuser.me/api/portraits/med/women/52.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/52.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Miss", first: "Victoria", last: "Long" }, - location: { - street: { number: 504, name: "School Lane" }, - city: "Stevenage", - state: "Bedfordshire", - country: "United Kingdom", - postcode: "N6I 3UU", - coordinates: { latitude: "28.4192", longitude: "-34.0145" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "victoria.long@example.com", - login: { - uuid: "d50d9f75-8214-4c13-a812-1add64d85d84", - username: "happyrabbit588", - password: "lester", - salt: "0wtWxSCD", - md5: "f3aec7a9eaba7ba0fd4b0feb018e320e", - sha1: "9c1c62d3e6600e6be8395fc4dca27fa6dd336bec", - sha256: - "524845020177992f0c2f99990a13542d7e56191985d6f127d68df53788d0ed00", - }, - dob: { date: "1997-11-14T14:39:41.769Z", age: 24 }, - registered: { date: "2016-12-22T09:51:46.439Z", age: 5 }, - phone: "016973 68875", - cell: "0789-762-048", - id: { name: "NINO", value: "ZR 42 78 24 Y" }, - picture: { - large: "https://randomuser.me/api/portraits/women/57.jpg", - medium: "https://randomuser.me/api/portraits/med/women/57.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/57.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Miss", first: "Irmtraud", last: "Steininger" }, - location: { - street: { number: 7974, name: "Grüner Weg" }, - city: "Vöhrenbach", - state: "Mecklenburg-Vorpommern", - country: "Germany", - postcode: 31556, - coordinates: { latitude: "-30.0196", longitude: "87.6523" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "irmtraud.steininger@example.com", - login: { - uuid: "75d340af-25b0-476b-a1e8-762defb7d731", - username: "crazyleopard251", - password: "333333", - salt: "QbjfIcle", - md5: "4600bcbc28a31d1cbb74217cb0d39cb8", - sha1: "dca1ea6eca80efd06490c754794e4c149702aafe", - sha256: - "b0fd69c43e80ddb7b92432ac5f673ebf97782e8b7c539d954e287ff76c048b28", - }, - dob: { date: "1963-07-05T15:33:08.020Z", age: 58 }, - registered: { date: "2014-09-04T13:00:06.682Z", age: 7 }, - phone: "0244-5123438", - cell: "0179-2932334", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/77.jpg", - medium: "https://randomuser.me/api/portraits/med/women/77.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", - }, - nat: "DE", - }, - { - gender: "male", - name: { title: "Mr", first: "Corey", last: "Sutton" }, - location: { - street: { number: 9450, name: "The Crescent" }, - city: "Salford", - state: "Staffordshire", - country: "United Kingdom", - postcode: "GJ9 5JU", - coordinates: { latitude: "36.5931", longitude: "-164.3220" }, - timezone: { - offset: "-11:00", - description: "Midway Island, Samoa", - }, - }, - email: "corey.sutton@example.com", - login: { - uuid: "c2902ea0-1c6e-4ede-96d0-b4fa840b7849", - username: "bluesnake110", - password: "spike1", - salt: "l3rz8Sf0", - md5: "8c742e1645efe92bc13ffa7161b37027", - sha1: "195bd63c685eb2ce9fa841a64300dd2bc6c38447", - sha256: - "f7c2714172dc01ac3f01b35ea4035b63f82c08258013aa01139617ad6fa6d243", - }, - dob: { date: "1946-06-06T02:39:25.180Z", age: 75 }, - registered: { date: "2002-07-14T01:51:14.808Z", age: 19 }, - phone: "015396 20836", - cell: "0780-224-767", - id: { name: "NINO", value: "AW 93 43 85 T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/66.jpg", - medium: "https://randomuser.me/api/portraits/med/men/66.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/66.jpg", - }, - nat: "GB", - }, - { - gender: "male", - name: { title: "Mr", first: "Pedro", last: "Sanchez" }, - location: { - street: { number: 4241, name: "Avenida de América" }, - city: "Almería", - state: "Cataluña", - country: "Spain", - postcode: 68780, - coordinates: { latitude: "-49.1955", longitude: "172.7502" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "pedro.sanchez@example.com", - login: { - uuid: "9bfd143c-2e1c-470c-9225-0dd010047acd", - username: "greenwolf194", - password: "shower", - salt: "n4mresvH", - md5: "50e65491b2d4186fc84c9a7b07e09c57", - sha1: "00002fac2a0f96788fe59d9e8a3534dd2e73a453", - sha256: - "2fe8ff97742bd5dba7654693a4d6947fabb6e58dd86f2bb81c5e23ac399a7ae1", - }, - dob: { date: "1965-09-27T10:09:28.849Z", age: 56 }, - registered: { date: "2006-03-06T17:56:55.255Z", age: 15 }, - phone: "963-207-745", - cell: "682-985-129", - id: { name: "DNI", value: "01495715-G" }, - picture: { - large: "https://randomuser.me/api/portraits/men/87.jpg", - medium: "https://randomuser.me/api/portraits/med/men/87.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/87.jpg", - }, - nat: "ES", - }, - { - gender: "male", - name: { title: "Monsieur", first: "Dorian", last: "Marie" }, - location: { - street: { number: 5435, name: "Rue de L'Abbé-Migne" }, - city: "Zug", - state: "Jura", - country: "Switzerland", - postcode: 6769, - coordinates: { latitude: "-16.0285", longitude: "-133.9466" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "dorian.marie@example.com", - login: { - uuid: "35deaf40-8b61-4b97-af9e-1dc820b60c03", - username: "tinykoala195", - password: "giant", - salt: "AwZgvn28", - md5: "4ac7fb5abc65693c364700e916b14c54", - sha1: "108fe0761a19d33de45d186e82e495f74925f0c7", - sha256: - "a8586cb1b7616ca45c0398981906f36dc7bf53baec6341e4a8e79bdc6c43e345", - }, - dob: { date: "1972-03-29T09:37:46.988Z", age: 49 }, - registered: { date: "2012-07-07T06:15:01.397Z", age: 9 }, - phone: "077 258 28 71", - cell: "078 849 45 46", - id: { name: "AVS", value: "756.7890.4475.21" }, - picture: { - large: "https://randomuser.me/api/portraits/men/25.jpg", - medium: "https://randomuser.me/api/portraits/med/men/25.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/25.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Miss", first: "Kitty", last: "Hansen" }, - location: { - street: { number: 2723, name: "Forest Ln" }, - city: "Sunnyvale", - state: "Florida", - country: "United States", - postcode: 74758, - coordinates: { latitude: "-56.8420", longitude: "55.3409" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "kitty.hansen@example.com", - login: { - uuid: "ac0facda-1dad-4988-81c5-6de85901c506", - username: "purpleladybug925", - password: "yahooo", - salt: "U8FpwSdv", - md5: "1db944cc999ab6e0e87f685848b42826", - sha1: "f7bcb0ebabd9522fec1f16570d9feb123ef7d302", - sha256: - "4973ab3593af053c8db86ecc6d4605bc83cfda7360aea89a04c265dfa058f6bf", - }, - dob: { date: "1998-03-10T21:51:43.995Z", age: 23 }, - registered: { date: "2011-10-17T11:20:17.383Z", age: 10 }, - phone: "(692)-308-2739", - cell: "(675)-359-2128", - id: { name: "SSN", value: "751-47-3498" }, - picture: { - large: "https://randomuser.me/api/portraits/women/14.jpg", - medium: "https://randomuser.me/api/portraits/med/women/14.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/14.jpg", - }, - nat: "US", - }, - { - gender: "female", - name: { title: "Ms", first: "Naja", last: "Pedersen" }, - location: { - street: { number: 859, name: "Engen" }, - city: "Øster Assels", - state: "Danmark", - country: "Denmark", - postcode: 87048, - coordinates: { latitude: "57.3375", longitude: "-54.7567" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "naja.pedersen@example.com", - login: { - uuid: "8ebb2ec4-e7b6-41ed-b301-c27c9473009d", - username: "greendog481", - password: "ciccio", - salt: "ACL3fcaB", - md5: "0320739d04ee4b22478f6fe1d7dff2e7", - sha1: "b1244446c896979bbfdbe00579b78f0ad7032704", - sha256: - "845644bd16a67eaaf25f934ae0da48bda484c9c4d2a2486e3fa0299b83e1c950", - }, - dob: { date: "1988-06-19T19:50:16.812Z", age: 33 }, - registered: { date: "2005-12-08T10:33:24.692Z", age: 16 }, - phone: "01854447", - cell: "81091003", - id: { name: "CPR", value: "190688-3435" }, - picture: { - large: "https://randomuser.me/api/portraits/women/41.jpg", - medium: "https://randomuser.me/api/portraits/med/women/41.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/41.jpg", - }, - nat: "DK", - }, - { - gender: "female", - name: { title: "Mrs", first: "Benta", last: "Martins" }, - location: { - street: { number: 7796, name: "Rua Minas Gerais " }, - city: "Araçatuba", - state: "Mato Grosso", - country: "Brazil", - postcode: 69461, - coordinates: { latitude: "-22.3977", longitude: "-22.9144" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "benta.martins@example.com", - login: { - uuid: "82c46a2a-3749-4ad5-b003-c6e4487af5b2", - username: "redelephant738", - password: "orgy", - salt: "KCPr4r9p", - md5: "3a38f9fd166f37b8abe3441580d9cff5", - sha1: "1af5f894e21e00d4d928db7720a8ba99a2ccf47c", - sha256: - "066706bd80155847a8e0d0ca69112f2c69c374302c38de670908271c1d449bb8", - }, - dob: { date: "1997-12-30T02:51:40.417Z", age: 24 }, - registered: { date: "2014-03-09T17:32:35.947Z", age: 7 }, - phone: "(49) 0911-5461", - cell: "(42) 0249-5361", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/26.jpg", - medium: "https://randomuser.me/api/portraits/med/women/26.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/26.jpg", - }, - nat: "BR", - }, - { - gender: "male", - name: { title: "Mr", first: "Nichal", last: "da Rocha" }, - location: { - street: { number: 8979, name: "Rua Rio de Janeiro " }, - city: "Nova Friburgo", - state: "Espírito Santo", - country: "Brazil", - postcode: 37906, - coordinates: { latitude: "-4.3680", longitude: "-57.1314" }, - timezone: { offset: "-3:30", description: "Newfoundland" }, - }, - email: "nichal.darocha@example.com", - login: { - uuid: "5d6db6a8-108e-46e3-b778-adce9afd5af2", - username: "orangeleopard523", - password: "raiders1", - salt: "LfNj5IYg", - md5: "b3aa022d96bef7d95732c5d483c1acf7", - sha1: "9e08a3d0bfd2f0af19b3883a589f363aac0fa3be", - sha256: - "3502456d495906e3b1a42858ccc63709830adbb3d20471a0ef2279412dcc7430", - }, - dob: { date: "1951-10-13T05:07:17.706Z", age: 70 }, - registered: { date: "2009-06-15T12:11:50.902Z", age: 12 }, - phone: "(04) 0356-7510", - cell: "(79) 8395-8825", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/43.jpg", - medium: "https://randomuser.me/api/portraits/med/men/43.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/43.jpg", - }, - nat: "BR", - }, - { - gender: "male", - name: { title: "Mr", first: "Rick", last: "Turner" }, - location: { - street: { number: 1148, name: "Royal Ln" }, - city: "Dumas", - state: "Minnesota", - country: "United States", - postcode: 54419, - coordinates: { latitude: "40.8638", longitude: "-3.1081" }, - timezone: { offset: "-9:00", description: "Alaska" }, - }, - email: "rick.turner@example.com", - login: { - uuid: "91c3b1c7-826a-4daa-a6b5-df1a1f8d797e", - username: "orangetiger509", - password: "jonathon", - salt: "FuNdLjFg", - md5: "96240b6de77e9704c360d7a072d85ed0", - sha1: "cc6c068562a7444b05d5a144b4947061131dafb2", - sha256: - "3f41058617773971b102f120685f856f383275b484538b87204505a64e510c9f", - }, - dob: { date: "1988-09-20T07:06:50.299Z", age: 33 }, - registered: { date: "2010-02-16T07:25:10.169Z", age: 11 }, - phone: "(623)-904-0724", - cell: "(143)-664-1170", - id: { name: "SSN", value: "871-77-1505" }, - picture: { - large: "https://randomuser.me/api/portraits/men/47.jpg", - medium: "https://randomuser.me/api/portraits/med/men/47.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/47.jpg", - }, - nat: "US", - }, - { - gender: "male", - name: { title: "Monsieur", first: "Tobias", last: "Robin" }, - location: { - street: { number: 4706, name: "Rue de L'Abbé-Migne" }, - city: "Malans", - state: "Ticino", - country: "Switzerland", - postcode: 3247, - coordinates: { latitude: "67.9565", longitude: "-174.3931" }, - timezone: { - offset: "-8:00", - description: "Pacific Time (US & Canada)", - }, - }, - email: "tobias.robin@example.com", - login: { - uuid: "cc31fdaf-7bf3-4c05-99da-4514f980091f", - username: "greenfrog725", - password: "passat", - salt: "i7HPTivJ", - md5: "cc9f0f6885dd184f7433ea36463f185e", - sha1: "e405e3464bce01d34e9d9b24e9f43db68b13bcb0", - sha256: - "c4ea1f60ffa4868d7fea35401925b37ed9c7e5f7c764a955d33259c1b5054f2c", - }, - dob: { date: "1985-10-21T16:31:27.941Z", age: 36 }, - registered: { date: "2011-07-14T06:12:12.374Z", age: 10 }, - phone: "075 120 21 17", - cell: "078 582 92 51", - id: { name: "AVS", value: "756.4284.9278.08" }, - picture: { - large: "https://randomuser.me/api/portraits/men/47.jpg", - medium: "https://randomuser.me/api/portraits/med/men/47.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/47.jpg", - }, - nat: "CH", - }, - { - gender: "female", - name: { title: "Miss", first: "Sam", last: "Morris" }, - location: { - street: { number: 103, name: "Grove Road" }, - city: "Tramore", - state: "Longford", - country: "Ireland", - postcode: 61498, - coordinates: { latitude: "52.3007", longitude: "44.2835" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "sam.morris@example.com", - login: { - uuid: "3cb3cd61-5993-4400-b7e3-c4fb89a93149", - username: "purpleladybug800", - password: "active", - salt: "C9qxC3kG", - md5: "f42b6c5df1df4623b186eec53edd238b", - sha1: "f80640f6208effaad1f24bf926c85c8249aa82bb", - sha256: - "4e7aeb5d4c3f4f9385cb3aa0fea81b26400e8de42df24662dbef4ac49fb49052", - }, - dob: { date: "1997-09-21T18:12:25.412Z", age: 24 }, - registered: { date: "2006-02-16T15:48:01.761Z", age: 15 }, - phone: "051-260-9570", - cell: "081-702-5766", - id: { name: "PPS", value: "6967323T" }, - picture: { - large: "https://randomuser.me/api/portraits/women/72.jpg", - medium: "https://randomuser.me/api/portraits/med/women/72.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/72.jpg", - }, - nat: "IE", - }, - { - gender: "male", - name: { title: "Mr", first: "Nick", last: "Rice" }, - location: { - street: { number: 2296, name: "Park Lane" }, - city: "Clonmel", - state: "Dublin City", - country: "Ireland", - postcode: 59577, - coordinates: { latitude: "63.4202", longitude: "-5.4070" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "nick.rice@example.com", - login: { - uuid: "87b5beca-b050-4571-9d91-26f3cd9b0acc", - username: "smallostrich789", - password: "virgin", - salt: "NEUvEAHa", - md5: "fdda615b541e1eb21df6a9d2e86c0888", - sha1: "f63c347c9f380e0decb6180539c24022b62ada5e", - sha256: - "c0ee314c44ef3b83c59c2843b06255a0873d54701cd263b24020f7cecb010aab", - }, - dob: { date: "1972-02-03T21:12:50.713Z", age: 49 }, - registered: { date: "2009-01-05T16:19:58.711Z", age: 12 }, - phone: "071-191-4901", - cell: "081-045-5383", - id: { name: "PPS", value: "7460727T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/1.jpg", - medium: "https://randomuser.me/api/portraits/med/men/1.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/1.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Mrs", first: "Madison", last: "Bouchard" }, - location: { - street: { number: 526, name: "Parliament St" }, - city: "Springfield", - state: "Manitoba", - country: "Canada", - postcode: "K1U 5Y1", - coordinates: { latitude: "-37.2820", longitude: "-173.6647" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "madison.bouchard@example.com", - login: { - uuid: "d411f199-ffbc-49bd-93e1-660242b9bcdb", - username: "smallcat386", - password: "pants", - salt: "om9nHkx9", - md5: "767abf9b5b246e6f4f92f5211b9007c2", - sha1: "a95bdd3685e8bb8ddfb61be648c6d0b73870afb8", - sha256: - "dda3b97a550e762ca1f1caf3b1c4e98c0aea3f0f556d156a2e2041d1ec36a345", - }, - dob: { date: "1972-07-27T12:15:15.563Z", age: 49 }, - registered: { date: "2016-09-24T04:03:54.885Z", age: 5 }, - phone: "065-289-3539", - cell: "812-088-5086", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/23.jpg", - medium: "https://randomuser.me/api/portraits/med/women/23.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/23.jpg", - }, - nat: "CA", - }, - { - gender: "female", - name: { title: "Ms", first: "Barb", last: "Davidson" }, - location: { - street: { number: 3815, name: "Henry Street" }, - city: "Buncrana", - state: "Offaly", - country: "Ireland", - postcode: 38738, - coordinates: { latitude: "-83.9833", longitude: "73.7395" }, - timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, - }, - email: "barb.davidson@example.com", - login: { - uuid: "bc0809c9-adc2-4213-9bdb-a607185bb279", - username: "brownbear418", - password: "money1", - salt: "Riqs1gaT", - md5: "6dc84e841f2ee6e6f9752ab221143efb", - sha1: "796f07eaa3fff575b853fa118af7550ea4cd3510", - sha256: - "505734eb26b7c821d6f0d0ec1ae3f76996f24a8cfa21c18a45385ce3d4733008", - }, - dob: { date: "1983-09-14T07:15:40.536Z", age: 38 }, - registered: { date: "2003-09-09T21:10:34.600Z", age: 18 }, - phone: "021-643-0743", - cell: "081-291-6177", - id: { name: "PPS", value: "0259663T" }, - picture: { - large: "https://randomuser.me/api/portraits/women/63.jpg", - medium: "https://randomuser.me/api/portraits/med/women/63.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/63.jpg", - }, - nat: "IE", - }, - { - gender: "male", - name: { title: "Mr", first: "Bill", last: "Armstrong" }, - location: { - street: { number: 1930, name: "The Drive" }, - city: "Loughrea", - state: "Dún Laoghaire–Rathdown", - country: "Ireland", - postcode: 51983, - coordinates: { latitude: "-84.5558", longitude: "67.6326" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "bill.armstrong@example.com", - login: { - uuid: "f86926ba-f4ea-4e82-acdf-28c10bad1a1f", - username: "bluerabbit969", - password: "bushido", - salt: "wLg1UUwK", - md5: "586ad586cadfd321cec627a85e8e36dc", - sha1: "d04f23616fc60589d601cdd7da001724072c3dab", - sha256: - "7786296860c53c2f45de88e6d6eaa811ca9cf81a9e59e457e8a5d9b3749e65d3", - }, - dob: { date: "1966-09-29T21:36:31.010Z", age: 55 }, - registered: { date: "2016-01-06T06:26:53.901Z", age: 5 }, - phone: "011-130-4348", - cell: "081-847-3494", - id: { name: "PPS", value: "9284769T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/72.jpg", - medium: "https://randomuser.me/api/portraits/med/men/72.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/72.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Miss", first: "Alice", last: "Barnaby" }, - location: { - street: { number: 7368, name: "Bay Ave" }, - city: "Radisson", - state: "Saskatchewan", - country: "Canada", - postcode: "H5N 0W2", - coordinates: { latitude: "-4.6262", longitude: "-126.1206" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "alice.barnaby@example.com", - login: { - uuid: "0992cc00-932c-4124-a85a-be01d79e8116", - username: "bluepeacock538", - password: "bunker", - salt: "Yc5IQx8O", - md5: "a6d8ed546ebcab18a4a881435ea6a464", - sha1: "5b6c5ccf35e3eb38a9f667527c30ecb513e5c94b", - sha256: - "3cbfd36f241bf24565a9808b5d4d6ce8081331216f958a9f98bac687f7934748", - }, - dob: { date: "1991-05-27T14:08:40.812Z", age: 30 }, - registered: { date: "2012-05-25T17:06:31.081Z", age: 9 }, - phone: "058-471-3785", - cell: "577-762-7603", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/68.jpg", - medium: "https://randomuser.me/api/portraits/med/women/68.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", - }, - nat: "CA", - }, - { - gender: "male", - name: { title: "Mr", first: "Jimmy", last: "Griffin" }, - location: { - street: { number: 5688, name: "W Pecan St" }, - city: "Bowral", - state: "Australian Capital Territory", - country: "Australia", - postcode: 873, - coordinates: { latitude: "80.5027", longitude: "152.5112" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "jimmy.griffin@example.com", - login: { - uuid: "89367bf8-e224-4a3d-be87-db6b6b74a11b", - username: "goldenpeacock679", - password: "christopher", - salt: "sOPNrg0Y", - md5: "444f5aa90d7fe14edbd2814293fa07c7", - sha1: "3e09c71398eca5b086c5292966100e3e6ea8a434", - sha256: - "d24630c1fad1c36e05c1efb35e6e8e7eac7f23065aa9c9883a46711a6bbae224", - }, - dob: { date: "1985-02-22T15:50:35.870Z", age: 36 }, - registered: { date: "2012-04-02T08:15:32.165Z", age: 9 }, - phone: "02-3346-6514", - cell: "0486-516-177", - id: { name: "TFN", value: "352026920" }, - picture: { - large: "https://randomuser.me/api/portraits/men/51.jpg", - medium: "https://randomuser.me/api/portraits/med/men/51.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/51.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Mrs", first: "Carol", last: "Sullivan" }, - location: { - street: { number: 5941, name: "Pearse Street" }, - city: "Athlone", - state: "Fingal", - country: "Ireland", - postcode: 11432, - coordinates: { latitude: "54.6727", longitude: "-12.8820" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "carol.sullivan@example.com", - login: { - uuid: "da1046ea-ae74-4978-b77d-505ddb77d9f9", - username: "yellowfrog296", - password: "smith", - salt: "hZI3uTFH", - md5: "01cff35bfb9b9520b18f1c9bb32d23de", - sha1: "40fea23c620f28f58d2e5d03232726ce4fc98735", - sha256: - "b9392cc746380330d35971cb9ab7391cfb651698251a80674dcbb3494443910c", - }, - dob: { date: "1987-11-07T09:36:54.305Z", age: 34 }, - registered: { date: "2009-05-18T08:54:59.239Z", age: 12 }, - phone: "061-717-1040", - cell: "081-769-9201", - id: { name: "PPS", value: "4638993T" }, - picture: { - large: "https://randomuser.me/api/portraits/women/84.jpg", - medium: "https://randomuser.me/api/portraits/med/women/84.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/84.jpg", - }, - nat: "IE", - }, - { - gender: "male", - name: { title: "Mr", first: "Hudson", last: "Cooper" }, - location: { - street: { number: 7170, name: "Carlton Avenue" }, - city: "Blenheim", - state: "Gisborne", - country: "New Zealand", - postcode: 15990, - coordinates: { latitude: "61.9475", longitude: "-36.7645" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "hudson.cooper@example.com", - login: { - uuid: "9b421de3-a549-4998-a884-1df141ceac8f", - username: "brownzebra375", - password: "iceman", - salt: "Q4kSTAaP", - md5: "0398a116866c06e16b1ed2eb6fa4cf37", - sha1: "b8658becce6421ae6980bf348defa0a9c27eced6", - sha256: - "f4d6f5ac4329ff8646cd32a4150faf4feeef245285d800923f6bc71ec32ff67f", - }, - dob: { date: "1967-07-08T20:16:13.959Z", age: 54 }, - registered: { date: "2005-07-23T18:33:15.053Z", age: 16 }, - phone: "(005)-476-4099", - cell: "(123)-318-5470", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/46.jpg", - medium: "https://randomuser.me/api/portraits/med/men/46.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/46.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "Said", last: "Bjorøy" }, - location: { - street: { number: 8417, name: "Stålverkskroken" }, - city: "Kongsberg", - state: "Rogaland", - country: "Norway", - postcode: "8608", - coordinates: { latitude: "-6.4656", longitude: "160.0704" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "said.bjoroy@example.com", - login: { - uuid: "b80f19ab-e179-4c10-9e84-a930d62e53b4", - username: "purplebear298", - password: "surfer1", - salt: "0MJc2E0W", - md5: "bc64466ef3f35fe98fbfeef43bbff3f7", - sha1: "2bc837c61cc7406d866d0cedcd6e4dd6b74b9771", - sha256: - "2e00a507db65dc2b13e13c04e0764a9ca0e6b87dbbdcc4ebfb6d024fe87a6750", - }, - dob: { date: "1995-06-20T04:34:23.925Z", age: 26 }, - registered: { date: "2016-08-18T04:40:32.863Z", age: 5 }, - phone: "85571123", - cell: "44758774", - id: { name: "FN", value: "20069523375" }, - picture: { - large: "https://randomuser.me/api/portraits/men/32.jpg", - medium: "https://randomuser.me/api/portraits/med/men/32.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/32.jpg", - }, - nat: "NO", - }, - { - gender: "female", - name: { title: "Mrs", first: "Cathy", last: "Harvey" }, - location: { - street: { number: 7198, name: "Tara Street" }, - city: "Trim", - state: "Cavan", - country: "Ireland", - postcode: 52036, - coordinates: { latitude: "63.3215", longitude: "51.4988" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "cathy.harvey@example.com", - login: { - uuid: "ea0660d2-af40-44cc-9fc2-93cb92c1c725", - username: "purplepanda733", - password: "redwings", - salt: "QlGPzXXI", - md5: "68f4247af65a7ba16cf5f20f164b46da", - sha1: "4c08d203d6a4f707b170d0b2192f345a8efa89e7", - sha256: - "85d6c78ec1b6e726c70f91ad09de2b4228c7d67ee44e9120fc00cc33b56f7bd9", - }, - dob: { date: "1989-08-22T20:49:22.432Z", age: 32 }, - registered: { date: "2009-04-21T12:50:52.322Z", age: 12 }, - phone: "041-566-0202", - cell: "081-449-7315", - id: { name: "PPS", value: "4118205T" }, - picture: { - large: "https://randomuser.me/api/portraits/women/33.jpg", - medium: "https://randomuser.me/api/portraits/med/women/33.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/33.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Miss", first: "Victoria", last: "Gibson" }, - location: { - street: { number: 4179, name: "Kingsway" }, - city: "Wakefield", - state: "Greater Manchester", - country: "United Kingdom", - postcode: "W64 9SF", - coordinates: { latitude: "81.7926", longitude: "-128.5449" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "victoria.gibson@example.com", - login: { - uuid: "9bd348f5-595a-4866-be90-1aeee81f5622", - username: "bluedog219", - password: "scrabble", - salt: "nDbzvgWe", - md5: "a9aa7ed955dcdcdc3804282a00395cc6", - sha1: "1da14d9d1c06df17845900878d6a28a468ca8a8f", - sha256: - "60ff53bf17e0a697b7a44ad1f98cbe569c6de22d28ecd17c38c0b88e94962955", - }, - dob: { date: "1957-02-05T02:41:01.871Z", age: 64 }, - registered: { date: "2013-08-09T16:18:25.068Z", age: 8 }, - phone: "016973 12141", - cell: "0771-274-284", - id: { name: "NINO", value: "GC 59 35 84 X" }, - picture: { - large: "https://randomuser.me/api/portraits/women/11.jpg", - medium: "https://randomuser.me/api/portraits/med/women/11.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/11.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Ms", first: "Jasmine", last: "Hughes" }, - location: { - street: { number: 6441, name: "Armagh Street" }, - city: "Blenheim", - state: "West Coast", - country: "New Zealand", - postcode: 79884, - coordinates: { latitude: "31.9966", longitude: "-64.9432" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "jasmine.hughes@example.com", - login: { - uuid: "2cf32566-2698-4ffd-8c0a-bef0251069ec", - username: "tinybear995", - password: "dirty", - salt: "wsh18hl3", - md5: "1cbb45a28672d4e69f8cef64a89e7df4", - sha1: "8ef00d3ce0b009f9e104a86ee4a218c7811f3216", - sha256: - "6f1b3aedcbff75cf2f9deaac70bc81f541f1ae7fecf655b855d8186464601fae", - }, - dob: { date: "1985-02-17T03:09:31.827Z", age: 36 }, - registered: { date: "2003-03-25T17:52:37.090Z", age: 18 }, - phone: "(861)-576-8582", - cell: "(441)-058-1134", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/80.jpg", - medium: "https://randomuser.me/api/portraits/med/women/80.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/80.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "James", last: "Barnaby" }, - location: { - street: { number: 4294, name: "22nd Ave" }, - city: "Trout Lake", - state: "Saskatchewan", - country: "Canada", - postcode: "H6Y 5Q5", - coordinates: { latitude: "6.8159", longitude: "44.6518" }, - timezone: { - offset: "+11:00", - description: "Magadan, Solomon Islands, New Caledonia", - }, - }, - email: "james.barnaby@example.com", - login: { - uuid: "19bef36c-9de4-4fdd-b456-267d6e253b2f", - username: "goldenduck327", - password: "samuel1", - salt: "xhawFOjn", - md5: "aca55c4eddca00d2f0e0779caadd93dd", - sha1: "11b4f86188ecd35228fcf9d5dda9e0c88a0915bc", - sha256: - "617f5155a368e4d3bc870f7055c4a14dfc2b44da028e7305d484f39a3543b4db", - }, - dob: { date: "1960-12-07T21:24:11.338Z", age: 61 }, - registered: { date: "2014-10-19T20:56:22.601Z", age: 7 }, - phone: "340-894-8352", - cell: "988-163-7167", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/49.jpg", - medium: "https://randomuser.me/api/portraits/med/men/49.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/49.jpg", - }, - nat: "CA", - }, - { - gender: "male", - name: { title: "Mr", first: "Albert", last: "Jensen" }, - location: { - street: { number: 7917, name: "Fyrrelunden" }, - city: "Assens", - state: "Syddanmark", - country: "Denmark", - postcode: 27151, - coordinates: { latitude: "-41.4703", longitude: "116.0890" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "albert.jensen@example.com", - login: { - uuid: "7f15d39a-4d13-4780-897c-795da7e1c616", - username: "tinylion672", - password: "screw", - salt: "VXLC4OSU", - md5: "5be7217e20373acd1d6b6d0319c940c3", - sha1: "1d0280e3b9d99ead01604f25f5259bc6af6220e8", - sha256: - "403082cba77e956b5ae587caba51cab5e15dd6b57d0d26692987b47443ade97b", - }, - dob: { date: "1997-10-21T23:40:42.161Z", age: 24 }, - registered: { date: "2013-06-20T06:54:33.216Z", age: 8 }, - phone: "50899980", - cell: "55070538", - id: { name: "CPR", value: "211097-4582" }, - picture: { - large: "https://randomuser.me/api/portraits/men/46.jpg", - medium: "https://randomuser.me/api/portraits/med/men/46.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/46.jpg", - }, - nat: "DK", - }, - { - gender: "female", - name: { title: "Mrs", first: "هلیا", last: "رضایی" }, - location: { - street: { number: 4726, name: "آیت الله کاشانی" }, - city: "تهران", - state: "گیلان", - country: "Iran", - postcode: 79806, - coordinates: { latitude: "47.2573", longitude: "-0.3829" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "hly.rdyy@example.com", - login: { - uuid: "7a974827-9725-4fb8-879c-7cb739df16ae", - username: "whiteostrich383", - password: "claude", - salt: "VfraAodk", - md5: "7aa87fede08b03751f176e6629322e2c", - sha1: "c0e42a9a9d711b136a981b379a8a557d1f048b54", - sha256: - "fe17ec63d34a0383c5230e252095ee1e998ad1aeafb4af12c7a0c6ffac1edc4b", - }, - dob: { date: "1992-11-20T05:32:07.416Z", age: 29 }, - registered: { date: "2015-03-29T23:20:19.680Z", age: 6 }, - phone: "005-61441170", - cell: "0916-945-0403", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/39.jpg", - medium: "https://randomuser.me/api/portraits/med/women/39.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/39.jpg", - }, - nat: "IR", - }, - { - gender: "female", - name: { title: "Ms", first: "Maëlys", last: "Roux" }, - location: { - street: { number: 2789, name: "Rue Barrier" }, - city: "Brest", - state: "Paris", - country: "France", - postcode: 80801, - coordinates: { latitude: "40.8833", longitude: "79.2332" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "maelys.roux@example.com", - login: { - uuid: "8575c4af-2e2f-4ef7-b4f9-a697d8f1ad7d", - username: "lazyrabbit129", - password: "surfing", - salt: "qAW4hKMV", - md5: "a89e1b971a88969dfaeb810ff7782e9c", - sha1: "ba105cbe6efab287fbcf120b394cdbe9f9e1bf09", - sha256: - "5f78b4c24f4b64b3e1b4dbf4aaa8187c07eaa552ba8e7f74f7fe62ef101e9f5a", - }, - dob: { date: "1965-10-14T21:20:05.000Z", age: 56 }, - registered: { date: "2006-02-17T13:46:03.349Z", age: 15 }, - phone: "05-72-56-59-04", - cell: "06-80-52-89-88", - id: { name: "INSEE", value: "2NNaN73597183 80" }, - picture: { - large: "https://randomuser.me/api/portraits/women/28.jpg", - medium: "https://randomuser.me/api/portraits/med/women/28.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/28.jpg", - }, - nat: "FR", - }, - { - gender: "female", - name: { title: "Ms", first: "Marianne", last: "Scott" }, - location: { - street: { number: 9494, name: "St. Lawrence Ave" }, - city: "South River", - state: "Ontario", - country: "Canada", - postcode: "U3C 5O1", - coordinates: { latitude: "37.6500", longitude: "34.3178" }, - timezone: { offset: "+3:30", description: "Tehran" }, - }, - email: "marianne.scott@example.com", - login: { - uuid: "ff748cf2-1f43-4ff8-a778-a5d9feefd211", - username: "crazymouse541", - password: "guan", - salt: "jf3C4y6y", - md5: "51883359f73301b93e3fb65f9cdcf821", - sha1: "41564b3378728f24c0bcb6b50635e67e9fe6c0eb", - sha256: - "981170fea38af6ee9a1598581bd02e8ebba82eb452aaf3d9f06556f66da439d8", - }, - dob: { date: "1985-04-09T21:44:23.329Z", age: 36 }, - registered: { date: "2003-09-25T10:10:00.751Z", age: 18 }, - phone: "223-490-8458", - cell: "776-617-5777", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/27.jpg", - medium: "https://randomuser.me/api/portraits/med/women/27.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/27.jpg", - }, - nat: "CA", - }, - { - gender: "male", - name: { title: "Mr", first: "Dieter", last: "Demir" }, - location: { - street: { number: 4388, name: "Rosenweg" }, - city: "Lindau (Bodensee)", - state: "Nordrhein-Westfalen", - country: "Germany", - postcode: 49375, - coordinates: { latitude: "18.4141", longitude: "110.4538" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "dieter.demir@example.com", - login: { - uuid: "e594a200-bd52-4244-86bc-b81e67e8544d", - username: "lazybutterfly162", - password: "klingon", - salt: "vdRefdBe", - md5: "fa62333c1f8582139f4a56e258e502ae", - sha1: "16472db73367905f676cb4cba4362b9cf45091eb", - sha256: - "da7d6a9b3319679be372e61558db850bb03d7b6d4afbb1fb90082901f1739460", - }, - dob: { date: "1993-03-29T10:02:44.813Z", age: 28 }, - registered: { date: "2010-01-15T16:19:38.927Z", age: 11 }, - phone: "0713-2561502", - cell: "0179-4437806", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/5.jpg", - medium: "https://randomuser.me/api/portraits/med/men/5.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/5.jpg", - }, - nat: "DE", - }, - { - gender: "female", - name: { title: "Miss", first: "Peppi", last: "Lepisto" }, - location: { - street: { number: 6361, name: "Satakennankatu" }, - city: "Hyvinkää", - state: "Southern Savonia", - country: "Finland", - postcode: 39273, - coordinates: { latitude: "78.4911", longitude: "-119.0641" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "peppi.lepisto@example.com", - login: { - uuid: "a3a8c0f6-3790-4d40-ab5e-9c52dd821ed1", - username: "whitemouse641", - password: "mandingo", - salt: "7Jrkg7uE", - md5: "87e5065172f65219756dca3a410e95dd", - sha1: "449c80b5a5ee9cdbbdc0da3cc33f095fdf171547", - sha256: - "a9b20f216dd73e1e15aa74b10bf4be5c392a2ba9435137da3dca19e6e012d97d", - }, - dob: { date: "1951-11-17T03:46:57.804Z", age: 70 }, - registered: { date: "2008-05-03T05:33:17.734Z", age: 13 }, - phone: "05-670-455", - cell: "047-461-55-16", - id: { name: "HETU", value: "NaNNA832undefined" }, - picture: { - large: "https://randomuser.me/api/portraits/women/38.jpg", - medium: "https://randomuser.me/api/portraits/med/women/38.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/38.jpg", - }, - nat: "FI", - }, - { - gender: "male", - name: { title: "Mr", first: "Çetin", last: "Durmaz" }, - location: { - street: { number: 5079, name: "Mevlana Cd" }, - city: "Batman", - state: "Batman", - country: "Turkey", - postcode: 86661, - coordinates: { latitude: "-60.4613", longitude: "-89.5903" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "cetin.durmaz@example.com", - login: { - uuid: "848df543-2d31-468f-8b84-e092c6a39931", - username: "yellowrabbit152", - password: "manchest", - salt: "rlTNMoIq", - md5: "b65fd173b11bc1197fda2854af94e72f", - sha1: "6c4c980cc94d226af0816f35d17f8d47cc8fc90c", - sha256: - "4db5e16722a0d6bc5eb7ad411a5fa607211a4b71f60e4674c6b585a21a4d3ba9", - }, - dob: { date: "1990-05-23T12:12:05.955Z", age: 31 }, - registered: { date: "2017-05-17T19:31:34.755Z", age: 4 }, - phone: "(529)-637-1048", - cell: "(678)-279-1030", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/53.jpg", - medium: "https://randomuser.me/api/portraits/med/men/53.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/53.jpg", - }, - nat: "TR", - }, - { - gender: "female", - name: { title: "Ms", first: "Sabira", last: "Bunnik" }, - location: { - street: { number: 1297, name: "Kaatsplein" }, - city: "Oosthuizen", - state: "Noord-Brabant", - country: "Netherlands", - postcode: 14389, - coordinates: { latitude: "-61.1329", longitude: "90.8421" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "sabira.bunnik@example.com", - login: { - uuid: "f8a79405-20fa-4207-b3a6-3b36947aa77a", - username: "beautifulmeercat362", - password: "gggggggg", - salt: "94MTLSh1", - md5: "54666fb552093ba907da64ee52e747fb", - sha1: "c8b8f4f54b638f4bd2fe4c829a8ae6bc7976ec5b", - sha256: - "fec7a37f502c167790b9e63bb3f247920175e17532774a6250fd9625ecddfe0d", - }, - dob: { date: "1959-11-02T13:53:20.505Z", age: 62 }, - registered: { date: "2010-10-25T16:33:46.609Z", age: 11 }, - phone: "(152)-026-5802", - cell: "(254)-594-3513", - id: { name: "BSN", value: "76042128" }, - picture: { - large: "https://randomuser.me/api/portraits/women/40.jpg", - medium: "https://randomuser.me/api/portraits/med/women/40.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/40.jpg", - }, - nat: "NL", - }, - { - gender: "male", - name: { title: "Mr", first: "Sigurd", last: "Reitan" }, - location: { - street: { number: 7016, name: "Rasmus Winderens vei" }, - city: "Berger", - state: "Rogaland", - country: "Norway", - postcode: "0272", - coordinates: { latitude: "-9.1996", longitude: "109.2904" }, - timezone: { offset: "-9:00", description: "Alaska" }, - }, - email: "sigurd.reitan@example.com", - login: { - uuid: "b1afa691-fb86-4b1f-b079-6105af5b9ee0", - username: "sadostrich883", - password: "kisses", - salt: "wzAcyv8O", - md5: "c435217328229b04ceaa3a0cc4d5b3ce", - sha1: "cb84fb49461aa521dc3132d8d86d509c9807a7cd", - sha256: - "8cb6e1b8f050f45f71ef846b75b3412e7a00c02b1f028ba2df7a53afd43911b5", - }, - dob: { date: "1988-02-21T15:36:49.594Z", age: 33 }, - registered: { date: "2010-08-11T20:54:07.142Z", age: 11 }, - phone: "30417028", - cell: "94398777", - id: { name: "FN", value: "21028811133" }, - picture: { - large: "https://randomuser.me/api/portraits/men/53.jpg", - medium: "https://randomuser.me/api/portraits/med/men/53.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/53.jpg", - }, - nat: "NO", - }, - { - gender: "female", - name: { title: "Ms", first: "Jorijn", last: "Trompert" }, - location: { - street: { number: 7470, name: "Burg. Schonfeldplein" }, - city: "Tonden", - state: "Noord-Brabant", - country: "Netherlands", - postcode: 16514, - coordinates: { latitude: "33.4761", longitude: "-79.1856" }, - timezone: { offset: "-3:30", description: "Newfoundland" }, - }, - email: "jorijn.trompert@example.com", - login: { - uuid: "ed1fb75b-f5f4-4f73-a3ee-c52a14f6a8dd", - username: "beautifulostrich614", - password: "cheshire", - salt: "j9plFYtg", - md5: "5197d594468236655e04c01407a6c2eb", - sha1: "443ef8b0a46340dca0a24e5e062e8bcd53d27ead", - sha256: - "9a23e9a06e6d59da85e31757eac572b9fb7ac09afe8cbe1f0d27af24f77a19f6", - }, - dob: { date: "1948-08-20T13:19:58.105Z", age: 73 }, - registered: { date: "2008-03-24T12:31:20.932Z", age: 13 }, - phone: "(013)-212-0931", - cell: "(788)-634-7647", - id: { name: "BSN", value: "57948867" }, - picture: { - large: "https://randomuser.me/api/portraits/women/16.jpg", - medium: "https://randomuser.me/api/portraits/med/women/16.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/16.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Madame", first: "Flora", last: "Guerin" }, - location: { - street: { number: 2349, name: "Avenue de la Libération" }, - city: "Sennwald", - state: "Glarus", - country: "Switzerland", - postcode: 8068, - coordinates: { latitude: "42.2642", longitude: "95.4980" }, - timezone: { - offset: "+1:00", - description: "Brussels, Copenhagen, Madrid, Paris", - }, - }, - email: "flora.guerin@example.com", - login: { - uuid: "cebaa9bf-27ba-4ebf-b3b0-02257e3cbf35", - username: "tinylion491", - password: "rocky1", - salt: "Me6BIweg", - md5: "66c76281a8711f35859d7f97f80bc686", - sha1: "1bfc36b5acb17ea7a94af8d155870609adc312e8", - sha256: - "d61771081fd525d0d44406111826c17ad7106e4a561dcb21302d496868ff12a9", - }, - dob: { date: "1990-04-12T06:23:49.947Z", age: 31 }, - registered: { date: "2012-04-06T15:28:03.814Z", age: 9 }, - phone: "075 852 04 52", - cell: "079 950 38 61", - id: { name: "AVS", value: "756.2408.9798.01" }, - picture: { - large: "https://randomuser.me/api/portraits/women/57.jpg", - medium: "https://randomuser.me/api/portraits/med/women/57.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/57.jpg", - }, - nat: "CH", - }, - { - gender: "male", - name: { title: "Mr", first: "Kirk", last: "Arnold" }, - location: { - street: { number: 4059, name: "Bollinger Rd" }, - city: "Warragul", - state: "Tasmania", - country: "Australia", - postcode: 7986, - coordinates: { latitude: "82.8795", longitude: "157.6024" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "kirk.arnold@example.com", - login: { - uuid: "a03540cc-71f6-4fff-9150-808f1136b9a5", - username: "browntiger926", - password: "visual", - salt: "iYkSIB2Y", - md5: "8a382b239490c543f06f7d8c0bb5d810", - sha1: "5ff7327c259193383464cb8c9507d74958025b8a", - sha256: - "33e189ecb0138b3ee7d59cd8201ddd180a2236da886d07adbd7571350329c529", - }, - dob: { date: "1992-08-24T12:16:22.928Z", age: 29 }, - registered: { date: "2011-07-10T14:58:30.905Z", age: 10 }, - phone: "04-5753-7374", - cell: "0479-535-804", - id: { name: "TFN", value: "592848874" }, - picture: { - large: "https://randomuser.me/api/portraits/men/57.jpg", - medium: "https://randomuser.me/api/portraits/med/men/57.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/57.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Mrs", first: "Clara", last: "Esteban" }, - location: { - street: { number: 903, name: "Paseo de Zorrilla" }, - city: "Valladolid", - state: "Cataluña", - country: "Spain", - postcode: 92240, - coordinates: { latitude: "7.2308", longitude: "59.4957" }, - timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, - }, - email: "clara.esteban@example.com", - login: { - uuid: "d999d6f4-6f92-478b-b1a2-1645f261db32", - username: "heavymouse717", - password: "tinker", - salt: "yxymNp15", - md5: "ce1379a93a870ed5bd0444a121089dda", - sha1: "1501151ded9c48f6520934ea073039057ceae596", - sha256: - "a71cff94483bf197b01c2aaa2763e585ed02ff23bd04dbdcd986863ce90ddaf3", - }, - dob: { date: "1969-10-30T19:08:54.431Z", age: 52 }, - registered: { date: "2013-01-07T20:01:02.302Z", age: 8 }, - phone: "923-975-382", - cell: "630-002-006", - id: { name: "DNI", value: "09930171-S" }, - picture: { - large: "https://randomuser.me/api/portraits/women/71.jpg", - medium: "https://randomuser.me/api/portraits/med/women/71.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/71.jpg", - }, - nat: "ES", - }, - { - gender: "female", - name: { title: "Ms", first: "Florentine", last: "Dierkes" }, - location: { - street: { number: 1029, name: "Waldweg" }, - city: "Altenberg", - state: "Baden-Württemberg", - country: "Germany", - postcode: 17076, - coordinates: { latitude: "-71.7495", longitude: "-37.9957" }, - timezone: { offset: "+3:30", description: "Tehran" }, - }, - email: "florentine.dierkes@example.com", - login: { - uuid: "79588101-79ed-4c49-89b5-525a735e85f2", - username: "silverfish110", - password: "longdong", - salt: "1JWOOIpS", - md5: "b2796b39918b01e07bff10b56c9fc882", - sha1: "59dfd47ff8af267eba09950b3b86762847d05ed0", - sha256: - "b9482e658b5de3e251afede9f28657d431f08a8be8b75ab1dca9775f2a898f06", - }, - dob: { date: "1984-07-04T00:00:46.199Z", age: 37 }, - registered: { date: "2018-06-27T07:45:26.228Z", age: 3 }, - phone: "0115-5823152", - cell: "0173-8016807", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/58.jpg", - medium: "https://randomuser.me/api/portraits/med/women/58.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/58.jpg", - }, - nat: "DE", - }, - { - gender: "male", - name: { title: "Mr", first: "Kurt", last: "Howard" }, - location: { - street: { number: 1129, name: "Northaven Rd" }, - city: "Joliet", - state: "Minnesota", - country: "United States", - postcode: 79075, - coordinates: { latitude: "78.7565", longitude: "-117.8021" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "kurt.howard@example.com", - login: { - uuid: "3227ebd3-a7ff-4591-af1d-0f19e8bb57d6", - username: "lazybutterfly897", - password: "monkeybo", - salt: "IgSHWgAs", - md5: "c5aff0663e587c6feeb0edb4cd8dccc5", - sha1: "cdf6cfabf357b2b3e4f0f75173ac4ddc02b9292a", - sha256: - "a528022b76c6ec34004fb10c5116c9b004e0440c2a30d05f9c7cb06b6921bc42", - }, - dob: { date: "1964-01-16T12:44:41.425Z", age: 57 }, - registered: { date: "2003-03-21T06:29:32.802Z", age: 18 }, - phone: "(477)-945-9680", - cell: "(101)-976-4222", - id: { name: "SSN", value: "760-99-9768" }, - picture: { - large: "https://randomuser.me/api/portraits/men/96.jpg", - medium: "https://randomuser.me/api/portraits/med/men/96.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/96.jpg", - }, - nat: "US", - }, - { - gender: "female", - name: { title: "Mrs", first: "Ilonka", last: "Schalks" }, - location: { - street: { number: 9899, name: "Bramhaar" }, - city: "Nieuweschild", - state: "Noord-Holland", - country: "Netherlands", - postcode: 64570, - coordinates: { latitude: "-26.9045", longitude: "-129.6452" }, - timezone: { - offset: "+10:00", - description: "Eastern Australia, Guam, Vladivostok", - }, - }, - email: "ilonka.schalks@example.com", - login: { - uuid: "0bd0c026-f675-4f1c-a081-8223b107d904", - username: "tinylion840", - password: "clemson", - salt: "6q4Y8Vsg", - md5: "6401c7ae9da62b9e1e2411a4dcd88084", - sha1: "51c60f8da26cdded536264858d52a0247553304e", - sha256: - "59a8ecd6161c16e8b7c88e65e8d9ad1e978daafc8282574b8f694fa1ebb29994", - }, - dob: { date: "1980-07-07T11:15:50.085Z", age: 41 }, - registered: { date: "2008-11-12T17:55:52.957Z", age: 13 }, - phone: "(386)-965-9474", - cell: "(750)-715-5460", - id: { name: "BSN", value: "50468047" }, - picture: { - large: "https://randomuser.me/api/portraits/women/35.jpg", - medium: "https://randomuser.me/api/portraits/med/women/35.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/35.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Mrs", first: "النا", last: "احمدی" }, - location: { - street: { number: 7649, name: "رسالت" }, - city: "قدس", - state: "هرمزگان", - country: "Iran", - postcode: 99674, - coordinates: { latitude: "21.3113", longitude: "-91.1112" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "ln.hmdy@example.com", - login: { - uuid: "c2e82355-7582-4906-bd45-2ba64c9d84f2", - username: "brownbird889", - password: "pitchers", - salt: "ZMFYBPpw", - md5: "988ea8e6abe59cb6219d9f52f652330b", - sha1: "d7b7decb9bb4602ff3019695a7afaae691c693f6", - sha256: - "c0072a40cb277a8936e1b6ad9683c4e060f15489ed33d121f00649645be07648", - }, - dob: { date: "1956-08-08T17:14:35.476Z", age: 65 }, - registered: { date: "2017-06-09T21:08:58.260Z", age: 4 }, - phone: "055-85367369", - cell: "0924-672-8472", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/10.jpg", - medium: "https://randomuser.me/api/portraits/med/women/10.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/10.jpg", - }, - nat: "IR", - }, - { - gender: "female", - name: { title: "Ms", first: "Tilde", last: "Nielsen" }, - location: { - street: { number: 3825, name: "Agnetevej" }, - city: "Pandrup", - state: "Syddanmark", - country: "Denmark", - postcode: 16885, - coordinates: { latitude: "-33.9064", longitude: "150.4714" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "tilde.nielsen@example.com", - login: { - uuid: "abe9652d-fa39-4c56-a98e-e1c0f594e539", - username: "beautifuldog116", - password: "qazxsw", - salt: "Abcf2BIV", - md5: "003aae43d2e3693251eed39a44d65750", - sha1: "7f8799f5d05bb866b50c29264df6c84118f5bf19", - sha256: - "ec38b1e7354222ee6c92204ddb9dbc117aecd4e4f246a356d4de1ca9ea719d1f", - }, - dob: { date: "1955-07-11T13:04:12.445Z", age: 66 }, - registered: { date: "2007-09-22T03:09:46.898Z", age: 14 }, - phone: "31594692", - cell: "98724827", - id: { name: "CPR", value: "110755-5670" }, - picture: { - large: "https://randomuser.me/api/portraits/women/60.jpg", - medium: "https://randomuser.me/api/portraits/med/women/60.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/60.jpg", - }, - nat: "DK", - }, - { - gender: "female", - name: { title: "Madame", first: "Sylviane", last: "Roger" }, - location: { - street: { number: 497, name: "Avenue de la Libération" }, - city: "Geltwil", - state: "St. Gallen", - country: "Switzerland", - postcode: 5054, - coordinates: { latitude: "-2.2319", longitude: "-19.7653" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "sylviane.roger@example.com", - login: { - uuid: "1d580e6a-069b-43a1-ba23-9920b6533620", - username: "smallfish397", - password: "hudson", - salt: "mZVxJTlr", - md5: "cff894b9bc87a42c11b790774892230d", - sha1: "1c37909637cf62439f7c56f7cc2f2468399b2a0a", - sha256: - "9a0af518fef22119536ce86a979404f829dfd62030d861d7cbf64af70639df04", - }, - dob: { date: "1980-11-17T01:35:46.378Z", age: 41 }, - registered: { date: "2005-06-14T02:26:22.230Z", age: 16 }, - phone: "075 044 72 74", - cell: "077 959 59 39", - id: { name: "AVS", value: "756.9116.0488.18" }, - picture: { - large: "https://randomuser.me/api/portraits/women/18.jpg", - medium: "https://randomuser.me/api/portraits/med/women/18.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/18.jpg", - }, - nat: "CH", - }, - { - gender: "male", - name: { title: "Monsieur", first: "Dominique", last: "Moulin" }, - location: { - street: { number: 6655, name: "Rue de L'Abbaye" }, - city: "Riviera", - state: "Basel-Stadt", - country: "Switzerland", - postcode: 9516, - coordinates: { latitude: "3.0978", longitude: "50.4870" }, - timezone: { offset: "-2:00", description: "Mid-Atlantic" }, - }, - email: "dominique.moulin@example.com", - login: { - uuid: "0bb61968-5bb2-4c78-988f-5760aaf66dd7", - username: "lazyelephant971", - password: "soldier", - salt: "3ydORJUx", - md5: "2b0e3bd3367a05ae36ad56261f2ef459", - sha1: "285d056db131c26f1c892792a75db257087950a3", - sha256: - "d6499671593e550062ea428f01446c5bed8550314dddbb685e0860feae274534", - }, - dob: { date: "1968-06-23T21:35:10.010Z", age: 53 }, - registered: { date: "2018-07-03T09:19:30.287Z", age: 3 }, - phone: "075 013 51 24", - cell: "076 624 83 95", - id: { name: "AVS", value: "756.3360.1769.48" }, - picture: { - large: "https://randomuser.me/api/portraits/men/8.jpg", - medium: "https://randomuser.me/api/portraits/med/men/8.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/8.jpg", - }, - nat: "CH", - }, - { - gender: "male", - name: { title: "Mr", first: "Vedat", last: "Köybaşı" }, - location: { - street: { number: 9615, name: "Maçka Cd" }, - city: "Kilis", - state: "Adıyaman", - country: "Turkey", - postcode: 56292, - coordinates: { latitude: "84.6186", longitude: "50.3632" }, - timezone: { offset: "+5:45", description: "Kathmandu" }, - }, - email: "vedat.koybasi@example.com", - login: { - uuid: "1fa9fc70-9b3d-41f5-94bd-7843b3fac73b", - username: "sadgoose825", - password: "bessie", - salt: "y89FRVQn", - md5: "a08cf75fbf537de9eb60f552a7006f11", - sha1: "4c82cbd509b33cc578c98af53fddc2fa1b4c3026", - sha256: - "929725a6d0d11cd44ea4169ac8d6cf844c7405d8a57bf1772fce3eb2b63d73bf", - }, - dob: { date: "1990-12-29T19:00:48.157Z", age: 31 }, - registered: { date: "2017-11-12T11:54:22.515Z", age: 4 }, - phone: "(643)-764-9780", - cell: "(910)-343-2413", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/6.jpg", - medium: "https://randomuser.me/api/portraits/med/men/6.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/6.jpg", - }, - nat: "TR", - }, - { - gender: "male", - name: { title: "Mr", first: "كيان", last: "سهيلي راد" }, - location: { - street: { number: 3124, name: "سمیه" }, - city: "بابل", - state: "فارس", - country: "Iran", - postcode: 81730, - coordinates: { latitude: "-75.4581", longitude: "-153.0268" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "kyn.shylyrd@example.com", - login: { - uuid: "4e1f25d9-18ed-4f59-baf3-dcff7f1f5792", - username: "sadgorilla597", - password: "laurent", - salt: "busC2OoH", - md5: "a848364a23e1c9527a5c83163ce05537", - sha1: "7740dfa29d8568d35e02ddf16b69e1d808895281", - sha256: - "f7f857d2dad30146f18d95be2a131105b842ef674ce0480badffe50bea6dbb07", - }, - dob: { date: "1996-10-10T11:36:20.416Z", age: 25 }, - registered: { date: "2008-12-15T00:59:52.887Z", age: 13 }, - phone: "003-27180657", - cell: "0933-594-0884", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/52.jpg", - medium: "https://randomuser.me/api/portraits/med/men/52.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/52.jpg", - }, - nat: "IR", - }, - { - gender: "male", - name: { title: "Mr", first: "Carlos", last: "Araújo" }, - location: { - street: { number: 4259, name: "Avenida da Legalidade" }, - city: "Paulista", - state: "Rio Grande do Sul", - country: "Brazil", - postcode: 79569, - coordinates: { latitude: "-73.4989", longitude: "150.8304" }, - timezone: { - offset: "+7:00", - description: "Bangkok, Hanoi, Jakarta", - }, - }, - email: "carlos.araujo@example.com", - login: { - uuid: "994a2d0e-8d07-4c2a-b12f-96c17702c54a", - username: "bluemeercat946", - password: "royal", - salt: "F1pPOfqq", - md5: "ba6f2952beacf97e7bd09521cb3cd6b5", - sha1: "b2ae97ddc817317301ac98931bf2a6247cc926dd", - sha256: - "11365d5e04d667842b81f292f33e0bc56d4316dbc82319db34c19461a79f84bc", - }, - dob: { date: "1983-02-27T12:06:00.298Z", age: 38 }, - registered: { date: "2004-05-22T07:56:50.994Z", age: 17 }, - phone: "(82) 9006-3899", - cell: "(48) 9099-8047", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/78.jpg", - medium: "https://randomuser.me/api/portraits/med/men/78.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/78.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Ms", first: "Eva", last: "Torres" }, - location: { - street: { number: 3448, name: "Avenida de Salamanca" }, - city: "Arrecife", - state: "Galicia", - country: "Spain", - postcode: 66399, - coordinates: { latitude: "8.1063", longitude: "-144.2256" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "eva.torres@example.com", - login: { - uuid: "38682f82-9706-47d0-9b85-b1c6a8f1c6b2", - username: "organicpanda809", - password: "pumpkins", - salt: "N4RePtAQ", - md5: "f18f7fd25d0aa570466ca25fb41083a2", - sha1: "7ebc6a6aad9a284de0b2eb2c0d83d178fa320ab8", - sha256: - "f6a30facdada9d6122ccf87bfc55160c83b1d9ce8fbd8da77375d9e1d224f869", - }, - dob: { date: "1973-12-19T23:42:07.932Z", age: 48 }, - registered: { date: "2018-06-24T20:53:34.455Z", age: 3 }, - phone: "968-561-090", - cell: "620-681-737", - id: { name: "DNI", value: "89615674-Q" }, - picture: { - large: "https://randomuser.me/api/portraits/women/19.jpg", - medium: "https://randomuser.me/api/portraits/med/women/19.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/19.jpg", - }, - nat: "ES", - }, - { - gender: "male", - name: { title: "Mr", first: "Jacob", last: "Sjo" }, - location: { - street: { number: 9100, name: "Bisp Nikolas' gate" }, - city: "Hyggen", - state: "Nordland", - country: "Norway", - postcode: "4620", - coordinates: { latitude: "69.3729", longitude: "-143.2750" }, - timezone: { - offset: "+9:00", - description: "Tokyo, Seoul, Osaka, Sapporo, Yakutsk", - }, - }, - email: "jacob.sjo@example.com", - login: { - uuid: "99b864a0-84c6-43f6-8981-2aa91f35bd77", - username: "purplegorilla826", - password: "help", - salt: "lKdvYBZ1", - md5: "0030514f83be82c58fb16c965ca42fe2", - sha1: "25779086760acf76792f4c3528574ec987ffc4e6", - sha256: - "0cd00ffe8cd3d6638ce801f1b366ce15bb805a55bdd29f0e307f2093e447c6ba", - }, - dob: { date: "1948-07-23T08:03:49.452Z", age: 73 }, - registered: { date: "2012-11-06T13:56:15.202Z", age: 9 }, - phone: "51400403", - cell: "46703446", - id: { name: "FN", value: "23074835791" }, - picture: { - large: "https://randomuser.me/api/portraits/men/60.jpg", - medium: "https://randomuser.me/api/portraits/med/men/60.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/60.jpg", - }, - nat: "NO", - }, - { - gender: "male", - name: { title: "Mr", first: "Quinn", last: "Morris" }, - location: { - street: { number: 9118, name: "Walton Street" }, - city: "New Plymouth", - state: "Wellington", - country: "New Zealand", - postcode: 46205, - coordinates: { latitude: "-34.3378", longitude: "93.7999" }, - timezone: { - offset: "-6:00", - description: "Central Time (US & Canada), Mexico City", - }, - }, - email: "quinn.morris@example.com", - login: { - uuid: "39626201-60a1-45dc-bec1-c6775e9e33fc", - username: "angrymeercat642", - password: "quest1", - salt: "wwS48qEH", - md5: "58286821ca5b286dbbb3291edbdd38fd", - sha1: "2e8302657808b6d9a6095b38c2f5ceb7ca1e468d", - sha256: - "2b0f1e8624835ffcd7cb936a841f9aa1ac20d90de3c52b40156eaf1c8d4fe3ee", - }, - dob: { date: "1992-12-02T20:04:21.930Z", age: 29 }, - registered: { date: "2011-12-30T06:48:48.932Z", age: 10 }, - phone: "(243)-718-7963", - cell: "(687)-185-2058", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/39.jpg", - medium: "https://randomuser.me/api/portraits/med/men/39.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/39.jpg", - }, - nat: "NZ", - }, - { - gender: "male", - name: { title: "Mr", first: "Célestin", last: "Rodriguez" }, - location: { - street: { number: 5920, name: "Rue de la Gare" }, - city: "Le Havre", - state: "Seine-et-Marne", - country: "France", - postcode: 96713, - coordinates: { latitude: "-89.7479", longitude: "145.0676" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "celestin.rodriguez@example.com", - login: { - uuid: "c127f429-f701-4905-8827-ac343fb81539", - username: "whitebird214", - password: "chaser", - salt: "AU9tVkco", - md5: "6b32bacdf42f639eaf7ec997e6785271", - sha1: "c0221fdbe5149edd2c1a899f463e389839af96d0", - sha256: - "fa54c5e578d934750b428d1e80d6ef47cc7ef35067611829f18915c72ea9be4c", - }, - dob: { date: "1967-07-10T07:18:38.828Z", age: 54 }, - registered: { date: "2011-09-21T11:52:12.636Z", age: 10 }, - phone: "03-57-07-38-85", - cell: "06-95-58-24-82", - id: { name: "INSEE", value: "1NNaN51007867 63" }, - picture: { - large: "https://randomuser.me/api/portraits/men/15.jpg", - medium: "https://randomuser.me/api/portraits/med/men/15.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/15.jpg", - }, - nat: "FR", - }, - { - gender: "male", - name: { title: "Mr", first: "Fatih", last: "Poyrazoğlu" }, - location: { - street: { number: 7266, name: "Talak Göktepe Cd" }, - city: "Siirt", - state: "Mersin", - country: "Turkey", - postcode: 46443, - coordinates: { latitude: "67.3415", longitude: "95.8383" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "fatih.poyrazoglu@example.com", - login: { - uuid: "3b6cc3be-f32e-45e7-964f-86a4ab13f574", - username: "crazygoose229", - password: "neil", - salt: "jM2AAmh2", - md5: "33b477a314b7ce024bdc3b1680842daa", - sha1: "0703a77210b173bd0d0fc4643f29b817d233177a", - sha256: - "c56c87c9796a376e6ed2455eef7ae693028c4269c6a9e0c0a025ea1727e5e9cf", - }, - dob: { date: "1964-10-21T20:00:02.723Z", age: 57 }, - registered: { date: "2012-04-22T03:12:08.487Z", age: 9 }, - phone: "(437)-142-7105", - cell: "(836)-879-6796", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/17.jpg", - medium: "https://randomuser.me/api/portraits/med/men/17.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/17.jpg", - }, - nat: "TR", - }, - { - gender: "female", - name: { title: "Ms", first: "Josephine", last: "Kelley" }, - location: { - street: { number: 3724, name: "Adams St" }, - city: "Albury", - state: "Tasmania", - country: "Australia", - postcode: 7260, - coordinates: { latitude: "-80.2754", longitude: "-141.3507" }, - timezone: { - offset: "-11:00", - description: "Midway Island, Samoa", - }, - }, - email: "josephine.kelley@example.com", - login: { - uuid: "942b0b0b-8877-4d9f-9e5e-f564ab99ce46", - username: "redrabbit216", - password: "melons", - salt: "jrApsfd2", - md5: "4648e2bc50bec61b07f199e12c95df59", - sha1: "05c9b0e6a1dfc3208d171e269be8adf33f1f8468", - sha256: - "3338065c0b719625764d9cc28bf3f37fa6d52c4b4f6214dc34d5ed66940a173d", - }, - dob: { date: "1993-08-16T07:09:43.346Z", age: 28 }, - registered: { date: "2015-10-14T11:18:17.269Z", age: 6 }, - phone: "08-5373-5799", - cell: "0496-786-784", - id: { name: "TFN", value: "553834484" }, - picture: { - large: "https://randomuser.me/api/portraits/women/26.jpg", - medium: "https://randomuser.me/api/portraits/med/women/26.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/26.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "Yusuf", last: "Aarsand" }, - location: { - street: { number: 1254, name: "Nedre gate" }, - city: "Snurråsen", - state: "Nordland", - country: "Norway", - postcode: "0048", - coordinates: { latitude: "77.6037", longitude: "81.5706" }, - timezone: { - offset: "-11:00", - description: "Midway Island, Samoa", - }, - }, - email: "yusuf.aarsand@example.com", - login: { - uuid: "d791848d-8876-4b5c-8092-bf38d1cf6808", - username: "lazytiger549", - password: "sniper", - salt: "QVYnHQdc", - md5: "9038c15d880f079ce229fc86c6dab811", - sha1: "c35a3fb5cc3a54d6af5d71f587a244bb8cdadafa", - sha256: - "da2da8305ee454fcb2a3e3114070683c49a6e1316803e483fa6f77f83f450203", - }, - dob: { date: "1965-05-24T19:03:44.972Z", age: 56 }, - registered: { date: "2015-09-24T14:10:47.305Z", age: 6 }, - phone: "35949395", - cell: "95648408", - id: { name: "FN", value: "24056534799" }, - picture: { - large: "https://randomuser.me/api/portraits/men/64.jpg", - medium: "https://randomuser.me/api/portraits/med/men/64.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/64.jpg", - }, - nat: "NO", - }, - { - gender: "male", - name: { title: "Mr", first: "Ralph", last: "Andrews" }, - location: { - street: { number: 7382, name: "North Street" }, - city: "Preston", - state: "County Armagh", - country: "United Kingdom", - postcode: "OX0V 2ZU", - coordinates: { latitude: "87.4744", longitude: "172.2465" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "ralph.andrews@example.com", - login: { - uuid: "0e5753ba-3ca7-4efd-8f24-960f0e1ecad0", - username: "happyfish793", - password: "ramirez", - salt: "6NvFvVVT", - md5: "a7d76d42baa6352e86f4dbe70493d241", - sha1: "e2e14fd41cddc00cfcb25fd36d8d06e19f8b310a", - sha256: - "bee11366bd93332fd45fe0c7324bb3064ae13eedeea3a2ce223e3920345a0054", - }, - dob: { date: "1989-07-13T00:06:53.784Z", age: 32 }, - registered: { date: "2005-09-02T22:34:01.033Z", age: 16 }, - phone: "016973 34124", - cell: "0789-202-868", - id: { name: "NINO", value: "KR 92 60 39 X" }, - picture: { - large: "https://randomuser.me/api/portraits/men/24.jpg", - medium: "https://randomuser.me/api/portraits/med/men/24.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/24.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Miss", first: "Caroline", last: "Olsen" }, - location: { - street: { number: 2688, name: "Vesterbyvej" }, - city: "Stoevring", - state: "Sjælland", - country: "Denmark", - postcode: 55994, - coordinates: { latitude: "53.8646", longitude: "77.7458" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "caroline.olsen@example.com", - login: { - uuid: "11d22df3-65a5-43b3-995f-a28211440485", - username: "bigcat132", - password: "success1", - salt: "PGCNsJct", - md5: "b998b8c700f9bf38de787a51fadc2a8f", - sha1: "f99d73f8f76b100528f080c11629d7fcb0a96fd4", - sha256: - "cf0535f97d7f04666cd4574f92cf5107f4ac0e35f623ae11aeac2f07dd204ede", - }, - dob: { date: "1996-01-21T04:21:35.675Z", age: 25 }, - registered: { date: "2008-07-19T04:06:37.693Z", age: 13 }, - phone: "94287904", - cell: "19572221", - id: { name: "CPR", value: "210196-2867" }, - picture: { - large: "https://randomuser.me/api/portraits/women/7.jpg", - medium: "https://randomuser.me/api/portraits/med/women/7.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/7.jpg", - }, - nat: "DK", - }, - { - gender: "male", - name: { title: "Mr", first: "Chaim", last: "Brommer" }, - location: { - street: { number: 3367, name: "Jetze Veldstraweg" }, - city: "Tibma", - state: "Drenthe", - country: "Netherlands", - postcode: 96736, - coordinates: { latitude: "-11.5565", longitude: "-99.9182" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "chaim.brommer@example.com", - login: { - uuid: "293974bb-470b-4e80-96f4-9d2d9480d213", - username: "crazybear525", - password: "trucker", - salt: "fWnpM7Vg", - md5: "211d9b717fb4107c18c4d67041e8019a", - sha1: "817739e5b7be9736974f497dad7e4cfe17b4f0f2", - sha256: - "15483c29ab9d66b93cc7d03854ae857faf11d3a5f1a064dc35fde0f62dad027c", - }, - dob: { date: "1992-05-31T08:12:56.189Z", age: 29 }, - registered: { date: "2018-08-13T00:28:06.950Z", age: 3 }, - phone: "(292)-482-8760", - cell: "(329)-276-1542", - id: { name: "BSN", value: "50977089" }, - picture: { - large: "https://randomuser.me/api/portraits/men/0.jpg", - medium: "https://randomuser.me/api/portraits/med/men/0.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/0.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Miss", first: "Lucille", last: "Harper" }, - location: { - street: { number: 6681, name: "Ash Dr" }, - city: "Chandler", - state: "Pennsylvania", - country: "United States", - postcode: 87678, - coordinates: { latitude: "-48.5885", longitude: "-0.9287" }, - timezone: { - offset: "+5:30", - description: "Bombay, Calcutta, Madras, New Delhi", - }, - }, - email: "lucille.harper@example.com", - login: { - uuid: "bf43671a-b6a0-4f37-ae62-d0f117bb1ec5", - username: "smalldog499", - password: "mypass", - salt: "J5bO5ZUZ", - md5: "b846388452078010b7c3202bfcf20e99", - sha1: "c292656760c2be4d17dfc26b86fcbec5a57f7b88", - sha256: - "22e74819359c9ad632cab1a8f0206767370bd99cc4ce94e8dec5bb3050c3444c", - }, - dob: { date: "1978-10-09T10:02:51.881Z", age: 43 }, - registered: { date: "2014-07-30T18:17:50.723Z", age: 7 }, - phone: "(680)-971-1453", - cell: "(084)-190-1399", - id: { name: "SSN", value: "161-30-8645" }, - picture: { - large: "https://randomuser.me/api/portraits/women/44.jpg", - medium: "https://randomuser.me/api/portraits/med/women/44.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/44.jpg", - }, - nat: "US", - }, - { - gender: "male", - name: { title: "Mr", first: "Ryan", last: "Gregory" }, - location: { - street: { number: 5912, name: "Sunset St" }, - city: "Toowoomba", - state: "New South Wales", - country: "Australia", - postcode: 4705, - coordinates: { latitude: "-44.2563", longitude: "-20.4517" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "ryan.gregory@example.com", - login: { - uuid: "c6155560-6fe0-41b0-a299-d9d12ac55c13", - username: "sadwolf864", - password: "jamie1", - salt: "2LdvU3RQ", - md5: "25edb187b61a4778f3ccfd20f4240d7e", - sha1: "125c56c07e72ca117bf2f7b079cddd8592da8455", - sha256: - "5f8434c6b9d7cc998dbd8723eaaa40d1b1794a9192063c51fcd9b506bd441f00", - }, - dob: { date: "1987-11-12T18:43:43.619Z", age: 34 }, - registered: { date: "2009-05-03T04:41:14.038Z", age: 12 }, - phone: "08-1147-9130", - cell: "0401-972-872", - id: { name: "TFN", value: "712389478" }, - picture: { - large: "https://randomuser.me/api/portraits/men/38.jpg", - medium: "https://randomuser.me/api/portraits/med/men/38.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/38.jpg", - }, - nat: "AU", - }, - { - gender: "female", - name: { title: "Ms", first: "Kerttu", last: "Kari" }, - location: { - street: { number: 197, name: "Reijolankatu" }, - city: "Oripää", - state: "Åland", - country: "Finland", - postcode: 20545, - coordinates: { latitude: "65.1019", longitude: "56.1993" }, - timezone: { - offset: "+8:00", - description: "Beijing, Perth, Singapore, Hong Kong", - }, - }, - email: "kerttu.kari@example.com", - login: { - uuid: "9558a9ce-fc3f-4495-8dfb-9d115f611840", - username: "blackwolf565", - password: "divorce", - salt: "UzagElej", - md5: "5562ab1268243be4c4229eefee5434d0", - sha1: "296daba4fa9c8a828e7d4fa19a4bf55f690668b1", - sha256: - "00af7e1e2af608165aac306cd523c0ee4b5b5d8f0ed579afd64b570dcf3ece23", - }, - dob: { date: "1991-01-10T10:35:15.720Z", age: 30 }, - registered: { date: "2019-01-16T10:47:48.369Z", age: 2 }, - phone: "08-924-487", - cell: "049-264-72-70", - id: { name: "HETU", value: "NaNNA924undefined" }, - picture: { - large: "https://randomuser.me/api/portraits/women/93.jpg", - medium: "https://randomuser.me/api/portraits/med/women/93.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/93.jpg", - }, - nat: "FI", - }, - { - gender: "male", - name: { title: "Mr", first: "Freddie", last: "Holt" }, - location: { - street: { number: 2450, name: "E Center St" }, - city: "Mackay", - state: "Tasmania", - country: "Australia", - postcode: 8444, - coordinates: { latitude: "25.4773", longitude: "-73.6848" }, - timezone: { offset: "+9:30", description: "Adelaide, Darwin" }, - }, - email: "freddie.holt@example.com", - login: { - uuid: "cb84d04b-8e2d-4261-a065-eb0d22ed75a7", - username: "ticklishgoose214", - password: "trainer", - salt: "YAnPxrTI", - md5: "fa43a2b20f28dbd912650821de3ff8fe", - sha1: "552bf4f493c13b70aca53c2d8270ce5ecfccaf46", - sha256: - "bca174c458792c98e819ec91a15c70625e657dcd6fe01c5fee22739c44dc480a", - }, - dob: { date: "1952-01-13T01:46:04.967Z", age: 69 }, - registered: { date: "2007-06-19T15:24:36.068Z", age: 14 }, - phone: "07-2319-6380", - cell: "0481-064-749", - id: { name: "TFN", value: "741318168" }, - picture: { - large: "https://randomuser.me/api/portraits/men/25.jpg", - medium: "https://randomuser.me/api/portraits/med/men/25.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/25.jpg", - }, - nat: "AU", - }, - { - gender: "male", - name: { title: "Mr", first: "بنیامین", last: "نجاتی" }, - location: { - street: { number: 1917, name: "جمهوری اسلامی" }, - city: "همدان", - state: "هرمزگان", - country: "Iran", - postcode: 35504, - coordinates: { latitude: "65.4449", longitude: "71.8618" }, - timezone: { - offset: "+4:00", - description: "Abu Dhabi, Muscat, Baku, Tbilisi", - }, - }, - email: "bnymyn.njty@example.com", - login: { - uuid: "1fbbecfe-a895-4525-8d8b-fe93370b095d", - username: "tinykoala827", - password: "chaos", - salt: "iRXtT1Ip", - md5: "f11afe7bda1b72063dadc5d67e52d288", - sha1: "4a64d80a946c36c1fc70bb7fd7c2e4b4e3a4867b", - sha256: - "206a8f63be3f16cd94f229feda4f64cfdba3eef3a2d98d404dd81e5b4a0b1992", - }, - dob: { date: "1981-08-27T19:24:12.918Z", age: 40 }, - registered: { date: "2006-09-15T05:35:45.809Z", age: 15 }, - phone: "058-66634309", - cell: "0939-388-7306", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/78.jpg", - medium: "https://randomuser.me/api/portraits/med/men/78.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/78.jpg", - }, - nat: "IR", - }, - { - gender: "male", - name: { title: "Mr", first: "Théodore", last: "Gautier" }, - location: { - street: { number: 2718, name: "Rue de Bonnel" }, - city: "Pau", - state: "Marne", - country: "France", - postcode: 93989, - coordinates: { latitude: "-68.3194", longitude: "-34.0946" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "theodore.gautier@example.com", - login: { - uuid: "530b1c37-5bdb-457a-98a1-e51a12d65ebf", - username: "organicbear894", - password: "noel", - salt: "hJs6SQag", - md5: "6bde0db2c40a4eeb9db1a16dd02f4fcc", - sha1: "07279ea732b772bc9a6492e11541bbdfb218d6b2", - sha256: - "898be5f22a210976b9f7c46120b0b48419aaf15d0b7e370c0826b4a641eafc2a", - }, - dob: { date: "1996-01-28T13:25:29.994Z", age: 25 }, - registered: { date: "2009-11-23T12:37:22.857Z", age: 12 }, - phone: "01-82-44-99-99", - cell: "06-10-64-82-00", - id: { name: "INSEE", value: "1NNaN70618545 85" }, - picture: { - large: "https://randomuser.me/api/portraits/men/39.jpg", - medium: "https://randomuser.me/api/portraits/med/men/39.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/39.jpg", - }, - nat: "FR", - }, - { - gender: "female", - name: { title: "Mrs", first: "Teresa", last: "Holland" }, - location: { - street: { number: 9247, name: "Windsor Road" }, - city: "Worcester", - state: "Powys", - country: "United Kingdom", - postcode: "I7 9HT", - coordinates: { latitude: "52.0149", longitude: "-136.3704" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "teresa.holland@example.com", - login: { - uuid: "05a6066a-3e31-476c-93a4-6d6e77ff4006", - username: "angrypeacock175", - password: "lefty", - salt: "jekZtI2I", - md5: "1f8c7a01806726778c93832d9cb26c87", - sha1: "069b62272618fd863580e92a66fb7bdfcf791ba4", - sha256: - "bfab595bad4237250c0a7771e3bf775bb2aee9bc79ca3a996a8e6a36aaf023b0", - }, - dob: { date: "1966-10-16T01:39:00.611Z", age: 55 }, - registered: { date: "2006-06-08T04:30:06.313Z", age: 15 }, - phone: "016977 91236", - cell: "0753-216-430", - id: { name: "NINO", value: "OZ 99 56 00 O" }, - picture: { - large: "https://randomuser.me/api/portraits/women/33.jpg", - medium: "https://randomuser.me/api/portraits/med/women/33.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/33.jpg", - }, - nat: "GB", - }, - { - gender: "female", - name: { title: "Mrs", first: "Georgeta", last: "Aragão" }, - location: { - street: { number: 6803, name: "Rua Vinte E Quatro de Outubro" }, - city: "Rio de Janeiro", - state: "Pernambuco", - country: "Brazil", - postcode: 78969, - coordinates: { latitude: "-8.9069", longitude: "-124.5818" }, - timezone: { - offset: "+3:00", - description: "Baghdad, Riyadh, Moscow, St. Petersburg", - }, - }, - email: "georgeta.aragao@example.com", - login: { - uuid: "6c1a7623-af04-45c1-a891-9351156262e4", - username: "brownkoala743", - password: "shane", - salt: "yRw66pHF", - md5: "1d9e9869cfe63d1eeef1f31501e218dd", - sha1: "8f20ec2efa817c6c3e5d5ba4eb8cfeaaddd11a4f", - sha256: - "d727497d2863bfb0fe62d242e5ea659d9fa5d9c5f45f588eec17b32fc676a9e0", - }, - dob: { date: "1988-12-27T19:07:28.759Z", age: 33 }, - registered: { date: "2002-12-01T12:01:05.372Z", age: 19 }, - phone: "(22) 3137-5865", - cell: "(84) 9330-4999", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/64.jpg", - medium: "https://randomuser.me/api/portraits/med/women/64.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Mrs", first: "آوینا", last: "احمدی" }, - location: { - street: { number: 849, name: "شهید عباس افضلی" }, - city: "آمل", - state: "آذربایجان شرقی", - country: "Iran", - postcode: 72408, - coordinates: { latitude: "18.4566", longitude: "-131.9880" }, - timezone: { - offset: "-11:00", - description: "Midway Island, Samoa", - }, - }, - email: "awyn.hmdy@example.com", - login: { - uuid: "b94c4f78-f566-4796-8402-c65923f712b0", - username: "whitewolf956", - password: "bledsoe", - salt: "yaXNZbPS", - md5: "ee4657317d569d005ec764deb3f3151c", - sha1: "ef63a19250250e2f9be20ab63a9130239620f42a", - sha256: - "5da06a2caf121f6c99500d7388f38bc31220c050ad19e7581e1ab2d6637b92bc", - }, - dob: { date: "1954-01-29T13:42:34.278Z", age: 67 }, - registered: { date: "2005-10-07T11:26:17.224Z", age: 16 }, - phone: "067-36744731", - cell: "0906-503-7435", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/16.jpg", - medium: "https://randomuser.me/api/portraits/med/women/16.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/16.jpg", - }, - nat: "IR", - }, - { - gender: "male", - name: { title: "Mr", first: "Kylian", last: "Petit" }, - location: { - street: { number: 620, name: "Rue Abel-Ferry" }, - city: "Villeurbanne", - state: "Haute-Corse", - country: "France", - postcode: 29505, - coordinates: { latitude: "-83.6721", longitude: "67.0415" }, - timezone: { - offset: "+2:00", - description: "Kaliningrad, South Africa", - }, - }, - email: "kylian.petit@example.com", - login: { - uuid: "36bc66b5-86b8-49f1-ac2b-8ac750f67dbb", - username: "blackmouse594", - password: "pickle", - salt: "KKOqoVez", - md5: "8d81cb5e675621525b0734e6d1f9b374", - sha1: "fa3663a36c6e3c86ddb668068645c027ff0ed496", - sha256: - "b4f9653f6b1aad712ea37aa39e0c08c4a3a1ae52f6a97b5638c645529da19d7a", - }, - dob: { date: "1975-04-19T20:57:10.650Z", age: 46 }, - registered: { date: "2003-03-06T08:11:57.284Z", age: 18 }, - phone: "04-45-94-70-20", - cell: "06-67-95-28-42", - id: { name: "INSEE", value: "1NNaN86070510 11" }, - picture: { - large: "https://randomuser.me/api/portraits/men/71.jpg", - medium: "https://randomuser.me/api/portraits/med/men/71.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/71.jpg", - }, - nat: "FR", - }, - { - gender: "male", - name: { title: "Mr", first: "Magnus", last: "Larsen" }, - location: { - street: { number: 1065, name: "Birkevænget" }, - city: "Rønnede", - state: "Danmark", - country: "Denmark", - postcode: 19782, - coordinates: { latitude: "21.4214", longitude: "-78.1527" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "magnus.larsen@example.com", - login: { - uuid: "d6f14e9f-1f52-473a-9bd0-fbc8501b2275", - username: "orangesnake523", - password: "8inches", - salt: "F4YvH3g1", - md5: "7fc1e93a09adae657654a2b12c2509d1", - sha1: "b4ce859d8021730614d5009b6efad869a152b02e", - sha256: - "a87a31a3e8fdbac35c1692d4ab1ea98859fcbe9243c9f0a0b4065d82905b6dea", - }, - dob: { date: "1963-10-10T10:47:42.771Z", age: 58 }, - registered: { date: "2010-08-17T08:19:46.481Z", age: 11 }, - phone: "00133586", - cell: "42046116", - id: { name: "CPR", value: "101063-9589" }, - picture: { - large: "https://randomuser.me/api/portraits/men/44.jpg", - medium: "https://randomuser.me/api/portraits/med/men/44.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/44.jpg", - }, - nat: "DK", - }, - { - gender: "male", - name: { title: "Mr", first: "بردیا", last: "کامروا" }, - location: { - street: { number: 3275, name: "ستارخان" }, - city: "گرگان", - state: "البرز", - country: "Iran", - postcode: 41146, - coordinates: { latitude: "-69.8458", longitude: "56.9433" }, - timezone: { - offset: "0:00", - description: "Western Europe Time, London, Lisbon, Casablanca", - }, - }, - email: "brdy.khmrw@example.com", - login: { - uuid: "ae705b5d-2391-4ffa-b126-09e042632637", - username: "brownwolf113", - password: "honeybee", - salt: "6tpc1XQ9", - md5: "58a45fad3c8419167082217fc3164d19", - sha1: "1ed97d9c41210902524299c936fada06c854732c", - sha256: - "11ceb253281c31cabede800d03a20250c778be12333eac02b397dfa0195c4b08", - }, - dob: { date: "1955-08-13T03:27:11.457Z", age: 66 }, - registered: { date: "2010-07-07T20:06:06.565Z", age: 11 }, - phone: "062-98519266", - cell: "0965-638-9765", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/men/0.jpg", - medium: "https://randomuser.me/api/portraits/med/men/0.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/0.jpg", - }, - nat: "IR", - }, - { - gender: "female", - name: { title: "Miss", first: "Maria", last: "Poulsen" }, - location: { - street: { number: 4003, name: "Maribovej" }, - city: "Argerskov", - state: "Nordjylland", - country: "Denmark", - postcode: 66426, - coordinates: { latitude: "-16.5712", longitude: "-160.1074" }, - timezone: { offset: "-2:00", description: "Mid-Atlantic" }, - }, - email: "maria.poulsen@example.com", - login: { - uuid: "ee42298f-a21b-4da8-b4ce-754b6edb1e25", - username: "brownlion240", - password: "california", - salt: "VaKFkty2", - md5: "5e4d28f98aa56b0e47458ead4099c069", - sha1: "b4c98de15f9a97c101bef9bae15da6d1456e2e8a", - sha256: - "1c36b3fc84d0387adbacacb1a9f605c1d3f18667fd0e3c0696bc69d6dde2a8f4", - }, - dob: { date: "1981-07-24T05:39:47.778Z", age: 40 }, - registered: { date: "2011-10-08T20:55:41.884Z", age: 10 }, - phone: "48415618", - cell: "96320744", - id: { name: "CPR", value: "240781-2368" }, - picture: { - large: "https://randomuser.me/api/portraits/women/63.jpg", - medium: "https://randomuser.me/api/portraits/med/women/63.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/63.jpg", - }, - nat: "DK", - }, - { - gender: "female", - name: { title: "Mrs", first: "Giulia", last: "Fernandes" }, - location: { - street: { number: 3851, name: "Rua Tiradentes " }, - city: "Pelotas", - state: "Amazonas", - country: "Brazil", - postcode: 85518, - coordinates: { latitude: "53.7131", longitude: "175.4302" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "giulia.fernandes@example.com", - login: { - uuid: "1e26cfdd-501e-4521-881b-0923bdbb5684", - username: "goldenleopard550", - password: "raptor", - salt: "UGUDvtrE", - md5: "4de30f63251430174e25cdefc70594f3", - sha1: "f0ccf969edd3b8ca74049a258e460cebda3c881b", - sha256: - "e0d33c87f54924f79704f8d19d567cd419f47b5d0df4acdd7e88dac4738562ac", - }, - dob: { date: "1985-09-07T23:43:29.488Z", age: 36 }, - registered: { date: "2017-11-21T08:02:21.806Z", age: 4 }, - phone: "(06) 6607-2233", - cell: "(41) 5298-6513", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/77.jpg", - medium: "https://randomuser.me/api/portraits/med/women/77.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/77.jpg", - }, - nat: "BR", - }, - { - gender: "female", - name: { title: "Miss", first: "Saana", last: "Ojala" }, - location: { - street: { number: 7686, name: "Suvantokatu" }, - city: "Karvia", - state: "North Karelia", - country: "Finland", - postcode: 48444, - coordinates: { latitude: "-40.3905", longitude: "85.4535" }, - timezone: { offset: "-12:00", description: "Eniwetok, Kwajalein" }, - }, - email: "saana.ojala@example.com", - login: { - uuid: "364803c4-ec07-476d-a907-14542ed3ea02", - username: "angrycat339", - password: "whocares", - salt: "CTDGKWWF", - md5: "37bfe730cb8388c3e784b11f49953df5", - sha1: "8e6c4e42e2d03626d47599e02716cf6841b56759", - sha256: - "e7d85ed55099eddb3886358877da330f75607e2470b57052b60ba55304fe9261", - }, - dob: { date: "1968-11-20T21:19:37.099Z", age: 53 }, - registered: { date: "2004-12-03T03:59:04.470Z", age: 17 }, - phone: "04-637-247", - cell: "047-857-75-25", - id: { name: "HETU", value: "NaNNA074undefined" }, - picture: { - large: "https://randomuser.me/api/portraits/women/58.jpg", - medium: "https://randomuser.me/api/portraits/med/women/58.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/58.jpg", - }, - nat: "FI", - }, - { - gender: "male", - name: { title: "Mr", first: "Rich", last: "Pierce" }, - location: { - street: { number: 3901, name: "Rochestown Road" }, - city: "Tipperary", - state: "Dún Laoghaire–Rathdown", - country: "Ireland", - postcode: 59578, - coordinates: { latitude: "-30.7575", longitude: "82.2751" }, - timezone: { - offset: "-4:00", - description: "Atlantic Time (Canada), Caracas, La Paz", - }, - }, - email: "rich.pierce@example.com", - login: { - uuid: "cbc3adea-dc48-4015-a3d4-9c2f368a2798", - username: "tinypeacock899", - password: "ffffffff", - salt: "CxemVk5X", - md5: "3ded4b7f80deb771f710a2ce025e0a5d", - sha1: "da5dcf188feda0ba01ba29b640c4067be32621fa", - sha256: - "1c64f49112fac61817263766c5b83146ec31b071f9569f1510ecd4517b0477e6", - }, - dob: { date: "1981-04-28T02:30:50.470Z", age: 40 }, - registered: { date: "2017-05-10T13:24:19.792Z", age: 4 }, - phone: "041-989-7814", - cell: "081-185-2171", - id: { name: "PPS", value: "2769331T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/43.jpg", - medium: "https://randomuser.me/api/portraits/med/men/43.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/43.jpg", - }, - nat: "IE", - }, - { - gender: "male", - name: { title: "Mr", first: "Aria", last: "Van Oosterwijk" }, - location: { - street: { number: 6991, name: "Etmat" }, - city: "Netterden", - state: "Friesland", - country: "Netherlands", - postcode: 91826, - coordinates: { latitude: "-1.0216", longitude: "-23.9886" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "aria.vanoosterwijk@example.com", - login: { - uuid: "1806d916-00db-4a53-9c68-cee3c95c8bde", - username: "happyfrog854", - password: "bigpoppa", - salt: "4ytcvJTL", - md5: "c4ade3e74c0277dd8fc5b3f2f6f9b5a2", - sha1: "8407d355db7b06e0caff706409bbb8626c4eb433", - sha256: - "5983a7858c1c8c1a908516a80562c091be0e9a7d62dccfe933050fd105c1fbee", - }, - dob: { date: "1981-04-16T08:57:47.891Z", age: 40 }, - registered: { date: "2012-06-08T21:42:42.771Z", age: 9 }, - phone: "(232)-556-3349", - cell: "(069)-347-3043", - id: { name: "BSN", value: "22964586" }, - picture: { - large: "https://randomuser.me/api/portraits/men/3.jpg", - medium: "https://randomuser.me/api/portraits/med/men/3.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/3.jpg", - }, - nat: "NL", - }, - { - gender: "female", - name: { title: "Miss", first: "Camille", last: "White" }, - location: { - street: { number: 9972, name: "Dieppe Ave" }, - city: "Elgin", - state: "Nova Scotia", - country: "Canada", - postcode: "R6N 5A8", - coordinates: { latitude: "56.7777", longitude: "-125.4640" }, - timezone: { offset: "+4:30", description: "Kabul" }, - }, - email: "camille.white@example.com", - login: { - uuid: "e03d2786-497e-48ca-9e70-23968b53190a", - username: "tinyfrog808", - password: "redman", - salt: "ynzB6Pjn", - md5: "eb9cc72f7203c53c6c612a355c4db925", - sha1: "1f1a16a4dc5a800e0b7636cb27d196cc2d108312", - sha256: - "09ee117b74979bbbf10380533e78f2cca68ad16d66ccd7defffa8fa66a0377b5", - }, - dob: { date: "1965-09-30T19:58:13.562Z", age: 56 }, - registered: { date: "2003-02-15T16:19:15.899Z", age: 18 }, - phone: "954-124-4389", - cell: "587-822-7603", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/28.jpg", - medium: "https://randomuser.me/api/portraits/med/women/28.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/28.jpg", - }, - nat: "CA", - }, - { - gender: "male", - name: { title: "Mr", first: "Ben", last: "Foster" }, - location: { - street: { number: 4687, name: "Denny Street" }, - city: "Tralee", - state: "Sligo", - country: "Ireland", - postcode: 37238, - coordinates: { latitude: "-81.9420", longitude: "-54.1915" }, - timezone: { - offset: "-7:00", - description: "Mountain Time (US & Canada)", - }, - }, - email: "ben.foster@example.com", - login: { - uuid: "940fe710-9d9b-468d-a63c-1cefac440533", - username: "orangedog652", - password: "katrina", - salt: "VavtwF3S", - md5: "32ea46195ac49787562fa8dbc864b368", - sha1: "5bc4b93e8c9a370c7a54f51cd3d3a106a4788806", - sha256: - "a1150b543d96b597d7f510a763784fa3a991fb65010617976d47650f83073969", - }, - dob: { date: "1978-07-07T09:37:29.474Z", age: 43 }, - registered: { date: "2005-05-26T14:13:57.660Z", age: 16 }, - phone: "051-806-7439", - cell: "081-068-3763", - id: { name: "PPS", value: "3315899T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/38.jpg", - medium: "https://randomuser.me/api/portraits/med/men/38.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/38.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Ms", first: "Avery", last: "Hill" }, - location: { - street: { number: 8553, name: "E Center St" }, - city: "Pembroke Pines", - state: "Alaska", - country: "United States", - postcode: 30854, - coordinates: { latitude: "-69.6665", longitude: "41.6797" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "avery.hill@example.com", - login: { - uuid: "fd7ccfc1-4b5c-4041-bc8f-4ac313163eb8", - username: "goldenswan136", - password: "senna", - salt: "bPmuCHIg", - md5: "6b4f9ec1f85892c6234ff3de2cc04f38", - sha1: "ee4adfad5996c79d5a934b59171ef194d641bcd9", - sha256: - "f27563564cacf25283f18aad84b6193152c9d4808287e9f52eb0012dcabd3c9b", - }, - dob: { date: "1959-01-30T15:26:36.328Z", age: 62 }, - registered: { date: "2008-12-02T23:15:05.525Z", age: 13 }, - phone: "(897)-007-5781", - cell: "(765)-335-1516", - id: { name: "SSN", value: "106-03-0124" }, - picture: { - large: "https://randomuser.me/api/portraits/women/64.jpg", - medium: "https://randomuser.me/api/portraits/med/women/64.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/64.jpg", - }, - nat: "US", - }, - { - gender: "male", - name: { title: "Mr", first: "Arthur", last: "Walters" }, - location: { - street: { number: 5905, name: "New Road" }, - city: "Bandon", - state: "Galway City", - country: "Ireland", - postcode: 34562, - coordinates: { latitude: "-35.1462", longitude: "-172.2228" }, - timezone: { - offset: "-1:00", - description: "Azores, Cape Verde Islands", - }, - }, - email: "arthur.walters@example.com", - login: { - uuid: "7187db5c-cad8-4050-bcfb-71f09f80e925", - username: "organicsnake959", - password: "lakeside", - salt: "BL3sw9oq", - md5: "60b8d22ff71c24b3dbd8325f17dbd9f7", - sha1: "721fba6f631c192ab064edc7bcf53d5ed2ccfb2f", - sha256: - "f9ff7bce40c52e5b58ae3d9c2d354a60f786395d98c32008b05831080ac8cfdb", - }, - dob: { date: "1983-07-18T01:53:22.937Z", age: 38 }, - registered: { date: "2014-11-13T19:36:37.763Z", age: 7 }, - phone: "031-289-8243", - cell: "081-635-0324", - id: { name: "PPS", value: "3393854T" }, - picture: { - large: "https://randomuser.me/api/portraits/men/47.jpg", - medium: "https://randomuser.me/api/portraits/med/men/47.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/men/47.jpg", - }, - nat: "IE", - }, - { - gender: "female", - name: { title: "Ms", first: "Melodie", last: "Miller" }, - location: { - street: { number: 1460, name: "22nd Ave" }, - city: "Princeton", - state: "Yukon", - country: "Canada", - postcode: "T4F 8N9", - coordinates: { latitude: "-27.1574", longitude: "-96.8985" }, - timezone: { offset: "-10:00", description: "Hawaii" }, - }, - email: "melodie.miller@example.com", - login: { - uuid: "39d55ee6-ca07-4791-9a13-05a87b8e58d2", - username: "purplepanda467", - password: "smelly", - salt: "sqFDaqjW", - md5: "54a4df73b97c7eb8307beacb2d76178a", - sha1: "7039dc60ebd8e96b66d3e5addf58b725cf318dd8", - sha256: - "c20460a6cd6830c84c1bd4135e5b05853f92b2e8047f15d548e57a834657a930", - }, - dob: { date: "1971-04-26T18:26:14.469Z", age: 50 }, - registered: { date: "2014-01-21T05:34:19.679Z", age: 7 }, - phone: "586-074-7391", - cell: "782-352-5346", - id: { name: "", value: null }, - picture: { - large: "https://randomuser.me/api/portraits/women/37.jpg", - medium: "https://randomuser.me/api/portraits/med/women/37.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/37.jpg", - }, - nat: "CA", - }, - { - gender: "female", - name: { title: "Ms", first: "Noélie", last: "Louis" }, - location: { - street: { number: 8064, name: "Avenue Vauban" }, - city: "Lyon", - state: "Aisne", - country: "France", - postcode: 28531, - coordinates: { latitude: "23.9851", longitude: "48.5008" }, - timezone: { - offset: "-3:00", - description: "Brazil, Buenos Aires, Georgetown", - }, - }, - email: "noelie.louis@example.com", - login: { - uuid: "37d665f8-afae-4f00-9688-6afd63b7da57", - username: "tinydog830", - password: "grunt", - salt: "QNy3No6x", - md5: "11124351a0022b5def46f8c62e720d80", - sha1: "c82011731f2ae52d62b78d9911b67124c4cae4da", - sha256: - "c8ca6e81ff5e6df51acf5aaa266f47ae02b8da9be062626d9bbff536d479ffa1", - }, - dob: { date: "1979-05-29T06:54:52.225Z", age: 42 }, - registered: { date: "2007-06-21T00:20:50.831Z", age: 14 }, - phone: "02-11-88-23-95", - cell: "06-68-43-10-15", - id: { name: "INSEE", value: "2NNaN17655053 03" }, - picture: { - large: "https://randomuser.me/api/portraits/women/68.jpg", - medium: "https://randomuser.me/api/portraits/med/women/68.jpg", - thumbnail: "https://randomuser.me/api/portraits/thumb/women/68.jpg", - }, - nat: "FR", - }, -]; From 5a9413c4281bedfb5f0f562d82b0edebe4fef974 Mon Sep 17 00:00:00 2001 From: fsantos22 <74519608+fsantos22@users.noreply.github.com> Date: Wed, 31 Mar 2021 14:16:11 -0300 Subject: [PATCH 07/21] Delete _query_template.ts --- src/queries/_query_template.ts | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 src/queries/_query_template.ts diff --git a/src/queries/_query_template.ts b/src/queries/_query_template.ts deleted file mode 100644 index e3276f6..0000000 --- a/src/queries/_query_template.ts +++ /dev/null @@ -1,7 +0,0 @@ -import connection from '../connection'; - -export default async function query_template(): Promise { - const result = await connection.raw(`mySQL function`); - - return result[0]; -} From ad837cffd8da533ad2cbd8d7c125993c420dc0c1 Mon Sep 17 00:00:00 2001 From: fsantos22 <74519608+fsantos22@users.noreply.github.com> Date: Wed, 31 Mar 2021 14:16:22 -0300 Subject: [PATCH 08/21] Delete _template.ts --- src/endpoints/_template.ts | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 src/endpoints/_template.ts diff --git a/src/endpoints/_template.ts b/src/endpoints/_template.ts deleted file mode 100644 index f9b7d4a..0000000 --- a/src/endpoints/_template.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Request, Response } from "express"; - -const endpoint_template = async ( - req: Request, - res: Response -): Promise => { - let errorCode: number = 400; - try { - // const resp = await queryFunction(param) - // res.send(resp) - } catch (error) { - res.status(errorCode).send({ message: error.message || error.sqlMessage }); - } -}; - -export default endpoint_template; From 53faa300a1517dd50f159752129f3d8aebcc99c8 Mon Sep 17 00:00:00 2001 From: MarivoneAraujo <74380088+MarivoneAraujo@users.noreply.github.com> Date: Wed, 31 Mar 2021 16:30:00 -0300 Subject: [PATCH 09/21] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ef4f411..c4eefea 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,10 @@ Projeto desenvolvido durante a semana 17 do curso de Fullstack da Labenu. ``` npm run start ``` -* Faça as requisições +* Faça as requisições. O arquivo ```request.rest``` possui todos as requisições realizadas ## Desenvolvido por: -* Fabio Dos Santos +* Fabio dos Santos * Jéssica Damasceno * Marivone Araujo From c66354869994eefaab3c740fb2802f5f991e4a8a Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 17:02:47 -0300 Subject: [PATCH 10/21] projeto finalizado --- .gitignore | 1 + src/endpoints/addFakeUsers.ts | 2 +- ...addClasstoUser.ts => addStudentToClass.ts} | 36 +++----- src/endpoints/addTeacherToClass.ts | 61 ++++++++++++ src/endpoints/addUser.ts | 4 +- src/endpoints/assignHobbyToStudent.ts | 30 +++--- src/endpoints/assignSpecialityToTeacher.ts | 26 +++--- src/endpoints/changeClassModule.ts | 40 ++++++++ src/endpoints/changeStudentClass.ts | 61 ++++++++++++ src/endpoints/changeTeacherClass.ts | 61 ++++++++++++ src/endpoints/getClassStudents.ts | 2 +- src/endpoints/removeStudent.ts | 47 ++++++++++ src/endpoints/removeStudentFromClass.ts | 58 ++++++++++++ src/endpoints/removeTeacher.ts | 44 +++++++++ src/endpoints/removeTeacherFromClass.ts | 58 ++++++++++++ src/index.ts | 85 ++++++++++++++--- src/queries/deleteClassAssignment.ts | 13 +++ src/queries/deleteUser.ts | 8 ++ src/queries/editClassModule.ts | 12 +++ src/queries/editUserClass.ts | 13 +++ .../{insertPerson.ts => insertUser.ts} | 2 +- src/requests.rest | 92 ++++++++++++++++--- src/types/relationBody.ts | 9 -- 23 files changed, 679 insertions(+), 86 deletions(-) rename src/endpoints/{addClasstoUser.ts => addStudentToClass.ts} (57%) create mode 100644 src/endpoints/addTeacherToClass.ts create mode 100644 src/endpoints/changeClassModule.ts create mode 100644 src/endpoints/changeStudentClass.ts create mode 100644 src/endpoints/changeTeacherClass.ts create mode 100644 src/endpoints/removeStudent.ts create mode 100644 src/endpoints/removeStudentFromClass.ts create mode 100644 src/endpoints/removeTeacher.ts create mode 100644 src/endpoints/removeTeacherFromClass.ts create mode 100644 src/queries/deleteClassAssignment.ts create mode 100644 src/queries/deleteUser.ts create mode 100644 src/queries/editClassModule.ts create mode 100644 src/queries/editUserClass.ts rename src/queries/{insertPerson.ts => insertUser.ts} (86%) delete mode 100644 src/types/relationBody.ts diff --git a/.gitignore b/.gitignore index 1cf040d..a3ec234 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ build .env _query_template.ts _template.ts +addFakeUsers.ts fakeData diff --git a/src/endpoints/addFakeUsers.ts b/src/endpoints/addFakeUsers.ts index 23b4421..689b3e6 100644 --- a/src/endpoints/addFakeUsers.ts +++ b/src/endpoints/addFakeUsers.ts @@ -1,6 +1,6 @@ import { Request, Response } from "express"; import { people } from "../fakeData/people"; -import insertPerson from "../queries/insertPerson"; +import insertPerson from "../queries/insertUser"; import { createId } from "../functions/createId"; import getMaxIdNumber from "../queries/getMaxIdNumber"; diff --git a/src/endpoints/addClasstoUser.ts b/src/endpoints/addStudentToClass.ts similarity index 57% rename from src/endpoints/addClasstoUser.ts rename to src/endpoints/addStudentToClass.ts index 931987d..183a203 100644 --- a/src/endpoints/addClasstoUser.ts +++ b/src/endpoints/addStudentToClass.ts @@ -3,12 +3,12 @@ import findData from "../queries/findData"; import insertUserToClass from "../queries/insertUserToClass"; import findDuplicate from "../queries/findDuplicate"; -const addClasstoUser = async (req: Request, res: Response): Promise => { +const addStudentToClass = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { // Parâmetros do Body - const { category, userId, classId } = req.body; - const body = ["category", "userId", "classId"]; + const { id, classId } = req.body; + const body = ["id", "classId"]; // VALIDAÇÕES // Se existe campo vazio ou ausente do body @@ -19,33 +19,25 @@ const addClasstoUser = async (req: Request, res: Response): Promise => { } }); - // Se a categoria é válida - if (category.toLowerCase() !== "student" && category !== "teacher") { - errorCode = 422; - throw new Error( - `Invalid category. Choose between 'student' or 'teacher'.` - ); - } - //Se o id está na base de usuário selecionada - const findUser = findData(category, "id", userId); + const findUser = await findData("teacher", "id", id); if (!findUser) { errorCode = 404; - throw new Error(`User id ${userId} not found.`); + throw new Error(`User id ${id} not found.`); } //Se o id está na base de turmas - const findClass = findData(category, "id", classId); + const findClass = await findData("class", "id", classId); if (!findClass) { errorCode = 404; - throw new Error(`Class id ${userId} not found.`); + throw new Error(`Class id ${id} not found.`); } //Se a relaçao usuário-turma já foi cadastrada const findRecord = await findDuplicate( - `${category}_class`, - `${category}_id`, - userId, + "teacher_class", + "teacher_id", + id, "class_id", classId ); @@ -55,13 +47,15 @@ const addClasstoUser = async (req: Request, res: Response): Promise => { } //Insere as informações no Banco de Dados - await insertUserToClass(category, userId, classId); + await insertUserToClass("teacher", id, classId); //Resposta para o usuário - res.send({ message: "Success!" }); + res.send({ + message: `Teacher ${findUser.name} assigned to class ${findClass.name}!`, + }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } }; -export default addClasstoUser; +export default addStudentToClass; diff --git a/src/endpoints/addTeacherToClass.ts b/src/endpoints/addTeacherToClass.ts new file mode 100644 index 0000000..8f7e145 --- /dev/null +++ b/src/endpoints/addTeacherToClass.ts @@ -0,0 +1,61 @@ +import { Request, Response } from "express"; +import findData from "../queries/findData"; +import insertUserToClass from "../queries/insertUserToClass"; +import findDuplicate from "../queries/findDuplicate"; + +const addTeacherToClass = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + // Parâmetros do Body + const { id, classId } = req.body; + const body = ["id", "classId"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + //Se o id está na base de usuário selecionada + const findUser = await findData("student", "id", id); + if (!findUser) { + errorCode = 404; + throw new Error(`User id ${id} not found.`); + } + + //Se o id está na base de turmas + const findClass = await findData("class", "id", classId); + if (!findClass) { + errorCode = 404; + throw new Error(`Class id ${id} not found.`); + } + + //Se a relaçao usuário-turma já foi cadastrada + const findRecord = await findDuplicate( + "student_class", + "student_id", + id, + "class_id", + classId + ); + if (findRecord) { + errorCode = 409; + throw new Error(`This register has already been made.`); + } + + //Insere as informações no Banco de Dados + await insertUserToClass("student", id, classId); + + //Resposta para o usuário + res.send({ + message: `Student ${findUser.name} assigned to class ${findClass.name}!`, + }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addTeacherToClass; diff --git a/src/endpoints/addUser.ts b/src/endpoints/addUser.ts index 616f74c..2bf92ec 100644 --- a/src/endpoints/addUser.ts +++ b/src/endpoints/addUser.ts @@ -1,5 +1,5 @@ import { Request, Response } from "express"; -import insertPerson from "../queries/insertPerson"; +import insertUser from "../queries/insertUser"; import { checkDate } from "../functions/checkDate"; import { checkEmail } from "../functions/checkEmail"; import { strDateToDate } from "../functions/strDateToDate"; @@ -66,7 +66,7 @@ const addUser = async (req: Request, res: Response) => { } // Insere as informações no Banco de Dados - await insertPerson(category, id, name, email, modDate); + await insertUser(category, id, name, email, modDate); // Resposta para o usuário res.status(200).send(`${capitalize(category)} registered!`); diff --git a/src/endpoints/assignHobbyToStudent.ts b/src/endpoints/assignHobbyToStudent.ts index c252ea7..426be37 100644 --- a/src/endpoints/assignHobbyToStudent.ts +++ b/src/endpoints/assignHobbyToStudent.ts @@ -1,7 +1,6 @@ import { Request, Response } from "express"; import findData from "../queries/findData"; import findDuplicate from "../queries/findDuplicate"; -import { relationBody, relationType } from "../types/relationBody"; import insertHobbyToStudent from '../queries/insertHobbyToStudent' const assignHobbyToStudent = async ( @@ -10,38 +9,39 @@ const assignHobbyToStudent = async ( ): Promise => { let errorCode: number = 400; try { - const { userId, infoId } = req.body as relationType; + const { id, hobbyId } = req.body; + const body = ["id", "hobbyId"] // VALIDAÇÕES // Se existe campo vazio ou ausente do body - for (let item in relationBody) { + body.forEach((item) => { if (!(item in req.body)) { errorCode = 422; throw new Error(`'${item}' field is missing.`); } - } + }); // Se o usuário existe - const findUser = findData("student", "id", userId); - if (!findUser) { + const findStudent = await findData("student", "id", id); + if (!findStudent) { errorCode = 404; - throw new Error(`Student id '${userId}' not found.`); + throw new Error(`Student id '${id}' not found.`); } // Se o info existe - const findInfo = findData("student", "id", infoId); - if (!findInfo) { + const findHobby = await findData("hobby", "id", hobbyId); + if (!findHobby) { errorCode = 404; - throw new Error(`Hobby id '${infoId}' not found.`); + throw new Error(`Hobby id '${hobbyId}' not found.`); } //Se o regsitro já foi realizado - const findRecord = findDuplicate( + const findRecord = await findDuplicate( "student", "student_id", - userId, + id, "hobby_id", - infoId + hobbyId ); if (findRecord) { errorCode = 409; @@ -49,10 +49,10 @@ const assignHobbyToStudent = async ( } // Insere as informações no Banco de Dados - await insertHobbyToStudent(userId, infoId); + await insertHobbyToStudent(id, hobbyId); // Resposta para o usuário - res.status(201).send({ message: "Success!" }); + res.status(201).send({ message: "Hobby assigned" }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/assignSpecialityToTeacher.ts b/src/endpoints/assignSpecialityToTeacher.ts index afa3cae..fed2bec 100644 --- a/src/endpoints/assignSpecialityToTeacher.ts +++ b/src/endpoints/assignSpecialityToTeacher.ts @@ -2,7 +2,6 @@ import { Request, Response } from "express"; import findData from "../queries/findData"; import findDuplicate from "../queries/findDuplicate"; import insertSpecialityToTeacher from "../queries/insertSpecialityToTeacher"; -import { relationBody, relationType } from "../types/relationBody"; const assignSpecialityToTeacher = async ( req: Request, @@ -10,38 +9,39 @@ const assignSpecialityToTeacher = async ( ): Promise => { let errorCode: number = 400; try { - const { userId, infoId } = req.body as relationType; + const { studentId, specialityId } = req.body; + const body = ["studentId", "specialityId"] // VALIDAÇÕES // Se existe campo vazio ou ausente do body - for (let item in relationBody) { + body.forEach((item) => { if (!(item in req.body)) { errorCode = 422; throw new Error(`'${item}' field is missing.`); } - } + }); // Se o usuário existe - const findUser = findData("teacher", "id", userId); + const findUser = await findData("teacher", "id", studentId); if (!findUser) { errorCode = 404; - throw new Error(`Teacher id '${userId}' not found.`); + throw new Error(`Teacher id '${studentId}' not found.`); } // Se o info existe - const findInfo = findData("teacher", "id", infoId); + const findInfo = await findData("teacher", "id", specialityId); if (!findInfo) { errorCode = 404; - throw new Error(`Speciality id '${infoId}' not found.`); + throw new Error(`Speciality id '${specialityId}' not found.`); } //Se o regsitro já foi realizado - const findRecord = findDuplicate( + const findRecord = await findDuplicate( "teacher", "teacher_id", - userId, + studentId, "speciality_id", - infoId + specialityId ); if (findRecord) { errorCode = 409; @@ -49,10 +49,10 @@ const assignSpecialityToTeacher = async ( } // Insere as informações no Banco de Dados - await insertSpecialityToTeacher(userId, infoId); + await insertSpecialityToTeacher(studentId, specialityId); // Resposta para o usuário - res.status(201).send({ message: "Success!" }); + res.status(201).send({ message: "Speciality assigned!" }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/changeClassModule.ts b/src/endpoints/changeClassModule.ts new file mode 100644 index 0000000..d6ef06a --- /dev/null +++ b/src/endpoints/changeClassModule.ts @@ -0,0 +1,40 @@ +import { Request, Response } from "express"; +import editClassModule from "../queries/editClassModule"; +import findData from "../queries/findData"; + +const changeClassModule = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { id, module } = req.body; + const body = ["id", "module"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + // Se a turma existe + const findClass = await findData("class", "id", id); + if (!findClass) { + errorCode = 404; + throw new Error(`Class id '${module}' not found.`); + } + + // Edita informação + await editClassModule(id, module); + + // Resposta para o usuário + res.send({ message: "Class successfully modified!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default changeClassModule; diff --git a/src/endpoints/changeStudentClass.ts b/src/endpoints/changeStudentClass.ts new file mode 100644 index 0000000..8fbb600 --- /dev/null +++ b/src/endpoints/changeStudentClass.ts @@ -0,0 +1,61 @@ +import { Request, Response } from "express"; +import editUserClass from "../queries/editUserClass"; +import findData from "../queries/findData"; +import findDuplicate from "../queries/findDuplicate"; + +const changeStudentClass = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { id, classId } = req.body; + const body = ["id", "classId"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + // Se o usuário existe + const findStudent = await findData("student", "id", id); + if (!findStudent) { + errorCode = 404; + throw new Error(`Student id '${id}' not found.`); + } + + // Se a turma existe + const findClass = await findData("class", "id", classId); + if (!findClass) { + errorCode = 404; + throw new Error(`Class id '${classId}' not found.`); + } + + //Se a relação existe + const findRecord = await findDuplicate( + "student_class", + "student_id", + id, + "class_id", + classId + ); + if (!findRecord) { + errorCode = 409; + throw new Error("This student is not assigned to this class!"); + } + + // Edita informação + await editUserClass("student", id, classId); + + // Resposta para o usuário + res.send({ message: "Class successfully modified!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default changeStudentClass; diff --git a/src/endpoints/changeTeacherClass.ts b/src/endpoints/changeTeacherClass.ts new file mode 100644 index 0000000..e2e03b0 --- /dev/null +++ b/src/endpoints/changeTeacherClass.ts @@ -0,0 +1,61 @@ +import { Request, Response } from "express"; +import editUserClass from "../queries/editUserClass"; +import findData from "../queries/findData"; +import findDuplicate from "../queries/findDuplicate"; + +const changeTeacherClass = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { id, classId } = req.body; + const body = ["id", "classId"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + // Se o usuário existe + const findTeacher = await findData("teacher", "id", id); + if (!findTeacher) { + errorCode = 404; + throw new Error(`Teacher id '${id}' not found.`); + } + + // Se a turma existe + const findClass = await findData("class", "id", classId); + if (!findClass) { + errorCode = 404; + throw new Error(`Class id '${classId}' not found.`); + } + + //Se a relação existe + const findRecord = await findDuplicate( + "teacher_class", + "teacher_id", + id, + "class_id", + classId + ); + if (!findRecord) { + errorCode = 409; + throw new Error("This teacher is not assigned to this class!"); + } + + // Edita informação + await editUserClass("teacher", id, classId); + + // Resposta para o usuário + res.send({ message: "Class successfully modified!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default changeTeacherClass; diff --git a/src/endpoints/getClassStudents.ts b/src/endpoints/getClassStudents.ts index 8617147..4d3246f 100644 --- a/src/endpoints/getClassStudents.ts +++ b/src/endpoints/getClassStudents.ts @@ -5,7 +5,7 @@ const getClassStudents = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { // Parâmetros do query - const className = req.query.className as string; + const className = req.params.className as string; // Requisição do banco de dados const resp = await getUserByClass("student", className); diff --git a/src/endpoints/removeStudent.ts b/src/endpoints/removeStudent.ts new file mode 100644 index 0000000..25a930e --- /dev/null +++ b/src/endpoints/removeStudent.ts @@ -0,0 +1,47 @@ +import { Request, Response } from "express"; +import deleteClassAssignment from "../queries/deleteClassAssignment"; +import deleteUser from "../queries/deleteUser"; +import findData from "../queries/findData"; + +const removeStudent = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const id = Number(req.params.id); + + // VALIDAÇÕES + // Se id é um número + if (isNaN(id)) { + errorCode = 422; + throw new Error(`Invalid id type`); + } + + // Se o usuário existe + const findStudent = await findData("teacher", "id", id); + if (!findStudent) { + errorCode = 404; + throw new Error(`Student id '${id}' not found.`); + } + + // Se já está inscrito em alguma turma + const findClass = await findData("student_class", "student_id", id); + if (findClass) { + const classId = findClass.class_id; + + // Remove o aluno da turma + await deleteClassAssignment("student", id, classId); + } + + // Remove o aluno da base de dados + await deleteUser("student", id); + + // Resposta para o usuário + res.send({ message: "Student removed from database!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default removeStudent; diff --git a/src/endpoints/removeStudentFromClass.ts b/src/endpoints/removeStudentFromClass.ts new file mode 100644 index 0000000..1a2ce60 --- /dev/null +++ b/src/endpoints/removeStudentFromClass.ts @@ -0,0 +1,58 @@ +import { Request, Response } from "express"; +import deleteClassAssignment from "../queries/deleteClassAssignment"; +import findData from "../queries/findData"; +import findDuplicate from "../queries/findDuplicate"; + +const removeStudentFromClass = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { id, classId } = req.params; + const body = ["id", "classId"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + // Se o usuário existe + const findStudent = await findData("student", "id", id); + if (!findStudent) { + errorCode = 404; + throw new Error(`Student id '${id}' not found.`); + } + + // Se a turma existe + const findClass = await findData("class", "id", classId); + if (!findClass) { + errorCode = 404; + throw new Error(`Class id '${classId}' not found.`); + } + + //Se a relação existe + const findRecord = await findDuplicate( + "techer_class", + "student_id", + id, + "class_id", + classId + ); + if (!findRecord) { + errorCode = 409; + throw new Error("This student is not assigned to this class!"); + } + + await deleteClassAssignment("student", Number(id), Number(classId)); + res.send({ message: "Student removed from class!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default removeStudentFromClass; diff --git a/src/endpoints/removeTeacher.ts b/src/endpoints/removeTeacher.ts new file mode 100644 index 0000000..621616a --- /dev/null +++ b/src/endpoints/removeTeacher.ts @@ -0,0 +1,44 @@ +import { Request, Response } from "express"; +import deleteClassAssignment from "../queries/deleteClassAssignment"; +import deleteUser from "../queries/deleteUser"; +import findData from "../queries/findData"; + +const removeTeacher = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + const id = Number(req.params.id); + + // VALIDAÇÕES + // Se id é um número + if (isNaN(id)) { + errorCode = 422; + throw new Error(`Invalid id type`); + } + + // Se o usuário existe + const findTeacher = await findData("teacher", "id", id); + if (!findTeacher) { + errorCode = 404; + throw new Error(`Teacher id '${id}' not found.`); + } + + // Se já está inscrito em alguma turma + const findClass = await findData("teacher_class", "teacher_id", id); + if (findClass) { + const classId = findClass.class_id; + + // Remove o aluno da turma + await deleteClassAssignment("teacher", id, classId); + } + + // Remove o aluno da base de dados + await deleteUser("teacher", id); + + // Resposta para o usuário + res.send({ message: "Teacher removed from database!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default removeTeacher; diff --git a/src/endpoints/removeTeacherFromClass.ts b/src/endpoints/removeTeacherFromClass.ts new file mode 100644 index 0000000..52f0a3e --- /dev/null +++ b/src/endpoints/removeTeacherFromClass.ts @@ -0,0 +1,58 @@ +import { Request, Response } from "express"; +import deleteClassAssignment from "../queries/deleteClassAssignment"; +import findData from "../queries/findData"; +import findDuplicate from "../queries/findDuplicate"; + +const removeTeacherFromClass = async ( + req: Request, + res: Response +): Promise => { + let errorCode: number = 400; + try { + const { id, classId } = req.params; + const body = ["id", "classId"]; + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + body.forEach((item) => { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + }); + + // Se o usuário existe + const findTeacher = await findData("teacher", "id", id); + if (!findTeacher) { + errorCode = 404; + throw new Error(`Teacher id '${id}' not found.`); + } + + // Se a info existe + const findHobby = await findData("hobby", "id", classId); + if (!findHobby) { + errorCode = 404; + throw new Error(`Hobby id '${classId}' not found.`); + } + + //Se a relação existe + const findRecord = await findDuplicate( + "teacher_class", + "teacher_id", + id, + "class_id", + classId + ); + if (findRecord) { + errorCode = 409; + throw new Error("This teacher is not assigned to this class!"); + } + + await deleteClassAssignment("teacher", Number(id), Number(classId)); + res.send({ message: "Teacher removed from class!" }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default removeTeacherFromClass; diff --git a/src/index.ts b/src/index.ts index e31bb2f..b2ec67c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,25 +1,86 @@ import app from "./app"; -import addUser from "./endpoints/addUser"; +import addClass from "./endpoints/addClass"; +import addStudentToClass from "./endpoints/addStudentToClass"; +import addTeacherToClass from "./endpoints/addTeacherToClass"; import addHobby from "./endpoints/addHobby"; import addSpeciality from "./endpoints/addSpeciality"; -import addClass from "./endpoints/addClass"; -import getStudentAge from "./endpoints/getStudentAge"; +import addUser from "./endpoints/addUser"; +import assignHobbyToStudent from "./endpoints/assignHobbyToStudent"; +import assignSpecialityToTeacher from "./endpoints/assignSpecialityToTeacher"; +import changeClassModule from "./endpoints/changeClassModule"; +import changeStudentClass from "./endpoints/changeStudentClass"; +import changeTeacherClass from "./endpoints/changeTeacherClass"; import getClassStudents from "./endpoints/getClassStudents"; -import getClassTeachers from './endpoints/getClassTeachers'; -import addClasstoUser from './endpoints/addClasstoUser'; -import addFakeUsers from './endpoints/addFakeUsers'; +import getClassTeachers from "./endpoints/getClassTeachers"; +import getStudentAge from "./endpoints/getStudentAge"; +import removeStudent from "./endpoints/removeStudent"; +import removeStudentFromClass from "./endpoints/removeStudentFromClass"; +import removeTeacher from "./endpoints/removeTeacher"; +import removeTeacherFromClass from './endpoints/removeTeacherFromClass'; + +// POST ----------------------------------- +// Cadastrar aluno/profesor app.post("/user/create", addUser); -app.post("/user/create/hobby", addHobby); +// Cadastrar hobby +app.post("/hobby/create", addHobby); -app.post("/user/create/speciality", addSpeciality); +// Cadastrar especialidade +app.post("/speciality/create", addSpeciality); +// Cadastrar turma app.post("/class/create", addClass); +// Cadastrar aluno em uma turma +app.post("/student/class/assign", addStudentToClass); + +// Cadastrar professor em uma turma +app.post("/teacher/class/assign", addTeacherToClass); + + +// Atribuir hobby a um estudante +app.post("/student/hobby/assign",assignHobbyToStudent) + +// Atribuir especialidade a um professor +app.post("/teacher/speciality/assign",assignSpecialityToTeacher); + +// GET ----------------------------------- +// Pegar estudante pelo ID app.get("/student/:id", getStudentAge); -app.post("/user/class/add",addClasstoUser) -app.get("/student", getClassStudents); -app.get("/teacher", getClassTeachers); -app.post("/fake",addFakeUsers) +// Pegar estudantes por turma +app.get("/student/list/:class", getClassStudents); + +// Pegar professores por turma +app.get("/teacher/:className", getClassTeachers); + +// PUT ----------------------------------- +// Alterar módulo da turma +app.put("/class/module/edit",changeClassModule) + +// Alterar turma do aluno +app.put("/student/class/edit", changeStudentClass); + +// Alterar turma do professor +app.put("/teacher/class/edit", changeTeacherClass); + +// DELETE ----------------------------------- +// Remover estudate da base +app.delete("/student/:id/delete",removeStudent); + +// Remover professor da base +app.delete("/teacher/:id/delete", removeTeacher); + +// Remover estudate da turma +app.delete("/student/:id/class/:classId/delete", removeStudentFromClass); + +// Remover professor da turma +app.delete("/teacher/:id/class/:classId/delete", removeTeacherFromClass); + + + + + + + diff --git a/src/queries/deleteClassAssignment.ts b/src/queries/deleteClassAssignment.ts new file mode 100644 index 0000000..615d23d --- /dev/null +++ b/src/queries/deleteClassAssignment.ts @@ -0,0 +1,13 @@ +import connection from "../connection"; + +export default async function deleteClassAssignment( + category: string, + userId: number, + classId: number +): Promise { + await connection.raw(` + DELETE FROM ${category}_class + WHERE ${category}_id = ${userId} + AND class_id = ${classId} + `); +} diff --git a/src/queries/deleteUser.ts b/src/queries/deleteUser.ts new file mode 100644 index 0000000..c28b2d1 --- /dev/null +++ b/src/queries/deleteUser.ts @@ -0,0 +1,8 @@ +import connection from "../connection"; + +export default async function deleteUser(category:string, id:number): Promise { + await connection.raw(` + DELETE FROM ${category} + WHERE id = ${id} + `); +} diff --git a/src/queries/editClassModule.ts b/src/queries/editClassModule.ts new file mode 100644 index 0000000..133992a --- /dev/null +++ b/src/queries/editClassModule.ts @@ -0,0 +1,12 @@ +import connection from "../connection"; + +export default async function editClassModule( + id: number, + module: number +): Promise { + await connection.raw(` + UPDATE class + SET module = ${module} + WHERE id = ${id} + `); +} diff --git a/src/queries/editUserClass.ts b/src/queries/editUserClass.ts new file mode 100644 index 0000000..c41778e --- /dev/null +++ b/src/queries/editUserClass.ts @@ -0,0 +1,13 @@ +import connection from "../connection"; + +export default async function editUserClass( + category: string, + id: number, + classId: number +): Promise { + await connection.raw(` + UPDATE ${category}_class + SET class_id = ${classId} + WHERE ${category}_id = ${id} + `); +} diff --git a/src/queries/insertPerson.ts b/src/queries/insertUser.ts similarity index 86% rename from src/queries/insertPerson.ts rename to src/queries/insertUser.ts index 9d3cc3d..a3f5d6b 100644 --- a/src/queries/insertPerson.ts +++ b/src/queries/insertUser.ts @@ -1,6 +1,6 @@ import connection from "../connection"; -export default async function insertPerson( +export default async function insertUser( table: string, id: number, name: string, diff --git a/src/requests.rest b/src/requests.rest index b5e5ea9..c3a99c7 100644 --- a/src/requests.rest +++ b/src/requests.rest @@ -11,7 +11,7 @@ Content-Type: application/json ### # Criar hobby -POST http://localhost:3003/user/create/hobby +POST http://localhost:3003/hobby/create Content-Type: application/json { @@ -20,7 +20,7 @@ Content-Type: application/json ### # Criar especialidade -POST http://localhost:3003/user/create/speciality +POST http://localhost:3003/speciality/create Content-Type: application/json { @@ -41,26 +41,96 @@ Content-Type: application/json } ### +# Cadastrar aluno em uma turma +POST http://localhost:3003/student/class/assign +Content-Type: application/json -GET http://localhost:3003/student/1 +{ + "id": 1, + "classId": 1 +} ### -# Pegar estudantes de uma turma -GET http://localhost:3003/student?className=Epps +# Cadastrar professor em uma turma +POST http://localhost:3003/teacher/class/assign +Content-Type: application/json + +{ + "id": 1, + "classId": 1 +} ### -# Pegar professores de uma turma -GET http://localhost:3003/teacher?className=Epps +# Atribuir hobby a um estudante +POST http://localhost:3003/student/hobby/assign +Content-Type: application/json + +{ + "id": 1, + "hobbyId": 1 +} ### -POST http://localhost:3003/user/class/add +# Atribuir especialidade a um professor +POST http://localhost:3003/teacher/speciality/assign Content-Type: application/json { - "category": "student", - "userId": 1, + "id": 1, + "hobbyId": 1 +} + +### +# Pegar estudante pelo ID +GET http://localhost:3003/student/:id + +### +# Pegar estudantes por turma +GET http://localhost:3003/student/list/epps + +### +# Pegar estudantes por turma +GET http://localhost:3003/teacher/list/epps + +### +# Alterar módulo da turma +PUT http://localhost:3003/class/module/edit +Content-Type: application/json + +{ + "id": 1, + "module": 1 +} + +### +# Alterar turma do aluno +PUT http://localhost:3003/student/class/edit +Content-Type: application/json + +{ + "id": 1, "classId": 1 } ### -POST http://localhost:3003/fake \ No newline at end of file +# Alterar turma do professor +PUT http://localhost:3003/teacher/class/edit +Content-Type: application/json + +{ + "id": 1, + "classId": 1 +} + +### +# Remover estudate da base +DELETE http://localhost:3003/student/1/delete + +# Remover professor da base +DELETE http://localhost:3003/teacher/1/delete + +# Remover estudate da turma +DELETE http://localhost:3003/student/1/class/1/delete + +# Remover professor da turma +DELETE http://localhost:3003/teacher/1/class/1/delete \ No newline at end of file diff --git a/src/types/relationBody.ts b/src/types/relationBody.ts deleted file mode 100644 index d353a1f..0000000 --- a/src/types/relationBody.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type relationType = { - userId: number; - infoId: number; -}; - -export enum relationBody { - userId = "userId", - infoId = "infoId", -} From 2e4dc0d833525e1d0c10b67dc28f275505a3a3ae Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 17:32:56 -0300 Subject: [PATCH 11/21] editado o addUser --- src/endpoints/{addUser.ts => addStudent.ts} | 20 ++---- src/endpoints/addTeacher.ts | 70 +++++++++++++++++++++ src/index.ts | 10 ++- src/requests.rest | 16 ++++- 4 files changed, 97 insertions(+), 19 deletions(-) rename src/endpoints/{addUser.ts => addStudent.ts} (77%) create mode 100644 src/endpoints/addTeacher.ts diff --git a/src/endpoints/addUser.ts b/src/endpoints/addStudent.ts similarity index 77% rename from src/endpoints/addUser.ts rename to src/endpoints/addStudent.ts index 2bf92ec..b53a035 100644 --- a/src/endpoints/addUser.ts +++ b/src/endpoints/addStudent.ts @@ -9,14 +9,14 @@ import { findAge } from "./../functions/findAge"; import { personBody, personBodyType } from "../types/personBody"; import { capitalize } from "./../functions/capitalize"; -const addUser = async (req: Request, res: Response) => { +const addStudent = async (req: Request, res: Response) => { let errorCode: number = 400; try { // Parâmetros do Body - const { category, name, email, birthdate } = req.body as personBodyType; + const { name, email, birthdate } = req.body as personBodyType; // Gera id - const id: number = await createId(category); + const id: number = await createId("student"); // VALIDAÇÕES // Se existe campo vazio ou ausente do body @@ -27,14 +27,6 @@ const addUser = async (req: Request, res: Response) => { } } - // Se a categoria é válida - if (category.toLowerCase() !== "student" && category !== "teacher") { - errorCode = 422; - throw new Error( - `Invalid category. Choose between 'student' or 'teacher'.` - ); - } - // Se o formato do e-mail é válido if (!checkEmail(email)) { errorCode = 422; @@ -66,13 +58,13 @@ const addUser = async (req: Request, res: Response) => { } // Insere as informações no Banco de Dados - await insertUser(category, id, name, email, modDate); + await insertUser("student", id, name, email, modDate); // Resposta para o usuário - res.status(200).send(`${capitalize(category)} registered!`); + res.status(200).send(`${capitalize("student")} registered!`); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } }; -export default addUser; +export default addStudent; diff --git a/src/endpoints/addTeacher.ts b/src/endpoints/addTeacher.ts new file mode 100644 index 0000000..87c91ee --- /dev/null +++ b/src/endpoints/addTeacher.ts @@ -0,0 +1,70 @@ +import { Request, Response } from "express"; +import insertUser from "../queries/insertUser"; +import { checkDate } from "../functions/checkDate"; +import { checkEmail } from "../functions/checkEmail"; +import { strDateToDate } from "../functions/strDateToDate"; +import { createId } from "./../functions/createId"; +import findData from "../queries/findData"; +import { findAge } from "./../functions/findAge"; +import { personBody, personBodyType } from "../types/personBody"; +import { capitalize } from "./../functions/capitalize"; + +const addTeacher = async (req: Request, res: Response) => { + let errorCode: number = 400; + try { + // Parâmetros do Body + const { name, email, birthdate } = req.body as personBodyType; + + // Gera id + const id: number = await createId("teacher"); + + // VALIDAÇÕES + // Se existe campo vazio ou ausente do body + for (let item in personBody) { + if (!(item in req.body)) { + errorCode = 422; + throw new Error(`'${item}' field is missing.`); + } + } + + // Se o formato do e-mail é válido + if (!checkEmail(email)) { + errorCode = 422; + throw new Error(`invalid e-mail type.`); + } + + // Se o e-mail já foi cadastrado + const findStudentEmail: any = await findData("teacher", "email", email); + const findTeacherEmail: any = await findData("teacher", "email", email); + if (findTeacherEmail || findTeacherEmail) { + errorCode = 422; + throw new Error(`E-mail already registered.`); + } + + // Se o fomrato de data do usuário é DD/MM/YYYY + let modDate: Date; + if (!checkDate(birthdate)) { + errorCode = 422; + throw new Error(`invalid date type. Use the format DD/MM/YYYY`); + } else { + // Converte a data de string pra Date + modDate = strDateToDate(birthdate); + } + + // Se o usuário tem pelo menos 18 anos + if (findAge(modDate) < 18) { + errorCode = 422; + throw new Error(`Invalid age. You must be over 18 to register.`); + } + + // Insere as informações no Banco de Dados + await insertUser("teacher", id, name, email, modDate); + + // Resposta para o usuário + res.status(200).send(`${capitalize("teacher")} registered!`); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default addTeacher; diff --git a/src/index.ts b/src/index.ts index b2ec67c..187b9eb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,7 +4,8 @@ import addStudentToClass from "./endpoints/addStudentToClass"; import addTeacherToClass from "./endpoints/addTeacherToClass"; import addHobby from "./endpoints/addHobby"; import addSpeciality from "./endpoints/addSpeciality"; -import addUser from "./endpoints/addUser"; +import addStudent from "./endpoints/addStudent"; +import addTeacher from "./endpoints/addTeacher"; import assignHobbyToStudent from "./endpoints/assignHobbyToStudent"; import assignSpecialityToTeacher from "./endpoints/assignSpecialityToTeacher"; import changeClassModule from "./endpoints/changeClassModule"; @@ -20,8 +21,11 @@ import removeTeacherFromClass from './endpoints/removeTeacherFromClass'; // POST ----------------------------------- -// Cadastrar aluno/profesor -app.post("/user/create", addUser); +// Cadastrar aluno +app.post("/student/create", addStudent); + +// Cadastrar profesor +app.post("/teacher/create", addTeacher); // Cadastrar hobby app.post("/hobby/create", addHobby); diff --git a/src/requests.rest b/src/requests.rest index c3a99c7..172aed8 100644 --- a/src/requests.rest +++ b/src/requests.rest @@ -1,5 +1,17 @@ -# Criar usuário (estudante ou professor) -POST http://localhost:3003/user/create +# Criar estudante (estudante ou professor) +POST http://localhost:3003/student/create +Content-Type: application/json + +{ + "category": "student", + "name": "user", + "email": "user@labenu.com.br", + "birthdate": "01/01/2000" +} + +### +# Criar professor (estudante ou professor) +POST http://localhost:3003/teacher/create Content-Type: application/json { From e8e4f9e6e2e9197548507053b8813253571f5d69 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 17:45:24 -0300 Subject: [PATCH 12/21] request --- src/requests.rest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/requests.rest b/src/requests.rest index 172aed8..70902c0 100644 --- a/src/requests.rest +++ b/src/requests.rest @@ -89,7 +89,7 @@ Content-Type: application/json { "id": 1, - "hobbyId": 1 + "scpecialityId": 1 } ### From fed2875df3a68e8216b02423c715736b2411f0ce Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 17:48:21 -0300 Subject: [PATCH 13/21] request --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 187b9eb..ca44db3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -54,7 +54,7 @@ app.post("/teacher/speciality/assign",assignSpecialityToTeacher); app.get("/student/:id", getStudentAge); // Pegar estudantes por turma -app.get("/student/list/:class", getClassStudents); +app.get("/student/list/:className", getClassStudents); // Pegar professores por turma app.get("/teacher/:className", getClassTeachers); From 85e3e7d3c3d3e4bb0aaa4854551346376ba22ab5 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Wed, 31 Mar 2021 17:49:16 -0300 Subject: [PATCH 14/21] index.ts --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index ca44db3..b2df16d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -57,7 +57,7 @@ app.get("/student/:id", getStudentAge); app.get("/student/list/:className", getClassStudents); // Pegar professores por turma -app.get("/teacher/:className", getClassTeachers); +app.get("/teacher/list/:className", getClassTeachers); // PUT ----------------------------------- // Alterar módulo da turma From 0bb63deeb0d67a7f2d18b016ab7ee384c17947ae Mon Sep 17 00:00:00 2001 From: MarivoneAraujo <74380088+MarivoneAraujo@users.noreply.github.com> Date: Wed, 31 Mar 2021 18:21:54 -0300 Subject: [PATCH 15/21] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index ef4f411..150d4c0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # LABENU SYSTEM +## 📚📰 Documentação no Postman +https://documenter.getpostman.com/view/14148928/TzCMe8Jy + ## ✨ Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: From 69440f06185855d69a84c75ef929be17ea96027e Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Fri, 2 Apr 2021 14:02:08 -0300 Subject: [PATCH 16/21] fix - queries e endpoints --- .gitignore | 1 + README.md | 2 -- src/endpoints/addClass.ts | 2 +- src/endpoints/addHobby.ts | 14 +++++++---- src/endpoints/addSpeciality.ts | 8 +++++-- src/endpoints/addStudent.ts | 11 +++++++++ src/endpoints/addStudentToClass.ts | 24 ++++++++++++++----- src/endpoints/addTeacher.ts | 11 +++++++++ src/endpoints/addTeacherToClass.ts | 22 +++++++++++++---- src/endpoints/assignHobbyToStudent.ts | 16 +++++++++++-- src/endpoints/assignSpecialityToTeacher.ts | 28 +++++++++++++++------- src/endpoints/changeClassModule.ts | 14 +++++++++++ src/endpoints/changeStudentClass.ts | 16 +++++++++++-- src/endpoints/changeTeacherClass.ts | 12 ++++++++++ src/endpoints/getClassStudents.ts | 4 ++-- src/endpoints/getClassTeachers.ts | 4 ++-- src/endpoints/removeStudent.ts | 2 +- src/endpoints/removeStudentFromClass.ts | 11 +-------- src/endpoints/removeTeacherFromClass.ts | 9 ------- src/index.ts | 4 ++-- src/queries/getUserByClass.ts | 8 +++---- src/queries/insertUserToClass.ts | 2 +- src/requests.rest | 2 +- src/types/personBody.ts | 2 -- 24 files changed, 161 insertions(+), 68 deletions(-) diff --git a/.gitignore b/.gitignore index a3ec234..db23757 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules build .env +.rest _query_template.ts _template.ts addFakeUsers.ts diff --git a/README.md b/README.md index 150d4c0..5e234ec 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,6 @@ Projeto desenvolvido durante a semana 17 do curso de Fullstack da Labenu. ``` npm run start ``` -* Faça as requisições -O arquivo ```request.rest``` possui todos as requisições realizadas ## Desenvolvido por: * Fabio Dos Santos diff --git a/src/endpoints/addClass.ts b/src/endpoints/addClass.ts index 23549a4..db02a16 100644 --- a/src/endpoints/addClass.ts +++ b/src/endpoints/addClass.ts @@ -85,7 +85,7 @@ const addClass = async (req: Request, res: Response): Promise => { // Insere as informações no Banco de Dados await insertClass( id, - capitalize(modName), + modName, convStartDate, convEndDate, module diff --git a/src/endpoints/addHobby.ts b/src/endpoints/addHobby.ts index af779a5..2a727d6 100644 --- a/src/endpoints/addHobby.ts +++ b/src/endpoints/addHobby.ts @@ -19,15 +19,19 @@ const addHobby = async (req: Request, res: Response): Promise => { throw new Error("'title' is mandatory in body."); } - // Se nome tem menos de 3 caracteres + // Se o título é uma palavra e tem menos de 3 caracteres + if (!(/^[A-Za-z]+$/.test(title))) { + errorCode = 422; + throw new Error("'title' must be a word."); + } if (title.length < 3) { errorCode = 422; - throw new Error("Hobby must be at least 3 characters."); + throw new Error("'title' must be at least 3 characters."); } - // Se o hobby já foi cadastrado - const findHobby = await findData("hobby", "title", title); - if (findHobby.length !== 0) { + // Se o hobby já foi cadastrado + const findHobby = await findData("hobby", "title", title); + if (findHobby) { errorCode = 409; throw new Error(`Hobby '${title}' is already registered!`); } diff --git a/src/endpoints/addSpeciality.ts b/src/endpoints/addSpeciality.ts index c5702d3..8ad888e 100644 --- a/src/endpoints/addSpeciality.ts +++ b/src/endpoints/addSpeciality.ts @@ -19,10 +19,14 @@ const addSpeciality = async (req: Request, res: Response): Promise => { throw new Error("'title' is mandatory in body."); } - // Se nome tem menos de 3 caracteres + // Se o título é uma palavra e tem menos de 3 caracteres + if (!/^[A-Za-z]+$/.test(title)) { + errorCode = 422; + throw new Error("'title' must be a word."); + } if (title.length < 3) { errorCode = 422; - throw new Error("Speciality must be at least 3 characters."); + throw new Error("'title' must be at least 3 characters."); } // Se a especialidade já foi cadastrada diff --git a/src/endpoints/addStudent.ts b/src/endpoints/addStudent.ts index b53a035..3a0bf07 100644 --- a/src/endpoints/addStudent.ts +++ b/src/endpoints/addStudent.ts @@ -27,7 +27,18 @@ const addStudent = async (req: Request, res: Response) => { } } + // Se nome tem pelo menos 3 caracteres + if (name.length < 3) { + errorCode = 422; + throw new Error(`'name' field must be at least 3 characters.`); + } + // Se o formato do e-mail é válido + const sufixTest = email.split("."); + if (sufixTest[sufixTest.length - 1].length > 3) { + errorCode = 422; + throw new Error(`invalid e-mail type.`); + } if (!checkEmail(email)) { errorCode = 422; throw new Error(`invalid e-mail type.`); diff --git a/src/endpoints/addStudentToClass.ts b/src/endpoints/addStudentToClass.ts index 183a203..86dd5b2 100644 --- a/src/endpoints/addStudentToClass.ts +++ b/src/endpoints/addStudentToClass.ts @@ -19,24 +19,36 @@ const addStudentToClass = async (req: Request, res: Response): Promise => } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'id' must be a positive and integer number!"); + } + //Se o id está na base de usuário selecionada - const findUser = await findData("teacher", "id", id); + const findUser = await findData("student", "id", id); if (!findUser) { errorCode = 404; throw new Error(`User id ${id} not found.`); } + // Se o valor inserido em 'classId' é um número, inteiro e positivo + if (isNaN(classId) || classId % 1 !== 0) { + errorCode = 422; + throw new Error("'classId' must be a positive and integer number!"); + } + //Se o id está na base de turmas const findClass = await findData("class", "id", classId); if (!findClass) { errorCode = 404; - throw new Error(`Class id ${id} not found.`); + throw new Error(`Class id ${classId} not found.`); } //Se a relaçao usuário-turma já foi cadastrada const findRecord = await findDuplicate( - "teacher_class", - "teacher_id", + "student_class", + "student_id", id, "class_id", classId @@ -47,11 +59,11 @@ const addStudentToClass = async (req: Request, res: Response): Promise => } //Insere as informações no Banco de Dados - await insertUserToClass("teacher", id, classId); + await insertUserToClass("student", id, classId); //Resposta para o usuário res.send({ - message: `Teacher ${findUser.name} assigned to class ${findClass.name}!`, + message: `Student ${findUser.name} assigned to class ${findClass.name}!`, }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); diff --git a/src/endpoints/addTeacher.ts b/src/endpoints/addTeacher.ts index 87c91ee..f89bd3e 100644 --- a/src/endpoints/addTeacher.ts +++ b/src/endpoints/addTeacher.ts @@ -27,7 +27,18 @@ const addTeacher = async (req: Request, res: Response) => { } } + // Se nome tem pelo menos 3 caracteres + if (name.length < 3) { + errorCode = 422; + throw new Error(`'name' field must be at least 3 characters.`); + } + // Se o formato do e-mail é válido + const sufixTest = email.split("."); + if (sufixTest[sufixTest.length - 1].length > 3) { + errorCode = 422; + throw new Error(`invalid e-mail type.`); + } if (!checkEmail(email)) { errorCode = 422; throw new Error(`invalid e-mail type.`); diff --git a/src/endpoints/addTeacherToClass.ts b/src/endpoints/addTeacherToClass.ts index 8f7e145..259eca9 100644 --- a/src/endpoints/addTeacherToClass.ts +++ b/src/endpoints/addTeacherToClass.ts @@ -19,13 +19,25 @@ const addTeacherToClass = async (req: Request, res: Response): Promise => } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'id' must be a positive and integer number!"); + } + //Se o id está na base de usuário selecionada - const findUser = await findData("student", "id", id); + const findUser = await findData("teacher", "id", id); if (!findUser) { errorCode = 404; throw new Error(`User id ${id} not found.`); } + // Se o valor inserido em 'classId' é um número, inteiro e positivo + if (isNaN(classId) || classId % 1 !== 0) { + errorCode = 422; + throw new Error("'classId' must be a positive and integer number!"); + } + //Se o id está na base de turmas const findClass = await findData("class", "id", classId); if (!findClass) { @@ -35,8 +47,8 @@ const addTeacherToClass = async (req: Request, res: Response): Promise => //Se a relaçao usuário-turma já foi cadastrada const findRecord = await findDuplicate( - "student_class", - "student_id", + "teacher_class", + "teacher_id", id, "class_id", classId @@ -47,11 +59,11 @@ const addTeacherToClass = async (req: Request, res: Response): Promise => } //Insere as informações no Banco de Dados - await insertUserToClass("student", id, classId); + await insertUserToClass("teacher", id, classId); //Resposta para o usuário res.send({ - message: `Student ${findUser.name} assigned to class ${findClass.name}!`, + message: `Teacher ${findUser.name} assigned to class ${findClass.name}!`, }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); diff --git a/src/endpoints/assignHobbyToStudent.ts b/src/endpoints/assignHobbyToStudent.ts index 426be37..987d473 100644 --- a/src/endpoints/assignHobbyToStudent.ts +++ b/src/endpoints/assignHobbyToStudent.ts @@ -10,7 +10,7 @@ const assignHobbyToStudent = async ( let errorCode: number = 400; try { const { id, hobbyId } = req.body; - const body = ["id", "hobbyId"] + const body = ["id", "hobbyId"]; // VALIDAÇÕES // Se existe campo vazio ou ausente do body @@ -21,6 +21,12 @@ const assignHobbyToStudent = async ( } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'id' must be a positive and integer number!"); + } + // Se o usuário existe const findStudent = await findData("student", "id", id); if (!findStudent) { @@ -28,6 +34,12 @@ const assignHobbyToStudent = async ( throw new Error(`Student id '${id}' not found.`); } + // Se o valor inserido em 'hobbyId' é um número, inteiro e positivo + if (isNaN(hobbyId) || hobbyId % 1 !== 0) { + errorCode = 422; + throw new Error("'hobbyId' must be a positive and integer number!"); + } + // Se o info existe const findHobby = await findData("hobby", "id", hobbyId); if (!findHobby) { @@ -37,7 +49,7 @@ const assignHobbyToStudent = async ( //Se o regsitro já foi realizado const findRecord = await findDuplicate( - "student", + "student_hobby", "student_id", id, "hobby_id", diff --git a/src/endpoints/assignSpecialityToTeacher.ts b/src/endpoints/assignSpecialityToTeacher.ts index fed2bec..90206e6 100644 --- a/src/endpoints/assignSpecialityToTeacher.ts +++ b/src/endpoints/assignSpecialityToTeacher.ts @@ -9,8 +9,8 @@ const assignSpecialityToTeacher = async ( ): Promise => { let errorCode: number = 400; try { - const { studentId, specialityId } = req.body; - const body = ["studentId", "specialityId"] + const { id, specialityId } = req.body; + const body = ["id", "specialityId"]; // VALIDAÇÕES // Se existe campo vazio ou ausente do body @@ -21,15 +21,27 @@ const assignSpecialityToTeacher = async ( } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'id' must be a positive and integer number!"); + } + // Se o usuário existe - const findUser = await findData("teacher", "id", studentId); + const findUser = await findData("teacher", "id", id); if (!findUser) { errorCode = 404; - throw new Error(`Teacher id '${studentId}' not found.`); + throw new Error(`Teacher id '${id}' not found.`); + } + + // Se o valor inserido em 'specialityId' é um número, inteiro e positivo + if (isNaN(specialityId) || specialityId % 1 !== 0) { + errorCode = 422; + throw new Error("'specialityId' must be a positive and integer number!"); } // Se o info existe - const findInfo = await findData("teacher", "id", specialityId); + const findInfo = await findData("speciality", "id", specialityId); if (!findInfo) { errorCode = 404; throw new Error(`Speciality id '${specialityId}' not found.`); @@ -37,9 +49,9 @@ const assignSpecialityToTeacher = async ( //Se o regsitro já foi realizado const findRecord = await findDuplicate( - "teacher", + "teacher_speciality", "teacher_id", - studentId, + id, "speciality_id", specialityId ); @@ -49,7 +61,7 @@ const assignSpecialityToTeacher = async ( } // Insere as informações no Banco de Dados - await insertSpecialityToTeacher(studentId, specialityId); + await insertSpecialityToTeacher(id, specialityId); // Resposta para o usuário res.status(201).send({ message: "Speciality assigned!" }); diff --git a/src/endpoints/changeClassModule.ts b/src/endpoints/changeClassModule.ts index d6ef06a..2ff2b3e 100644 --- a/src/endpoints/changeClassModule.ts +++ b/src/endpoints/changeClassModule.ts @@ -20,6 +20,20 @@ const changeClassModule = async ( } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'classId' must be a positive and integer number!"); + } + + // Se o valor inserido em 'module' é um número, inteiro, positivo e entre 0 e 7 + if (isNaN(module) || module % 1 !== 0 || module < 0 || module > 7) { + errorCode = 422; + throw new Error( + "'module' must be a positive and integer number between 0 and 7!" + ); + } + // Se a turma existe const findClass = await findData("class", "id", id); if (!findClass) { diff --git a/src/endpoints/changeStudentClass.ts b/src/endpoints/changeStudentClass.ts index 8fbb600..dc27c7a 100644 --- a/src/endpoints/changeStudentClass.ts +++ b/src/endpoints/changeStudentClass.ts @@ -21,6 +21,12 @@ const changeStudentClass = async ( } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'id' must be a positive and integer number!"); + } + // Se o usuário existe const findStudent = await findData("student", "id", id); if (!findStudent) { @@ -28,6 +34,12 @@ const changeStudentClass = async ( throw new Error(`Student id '${id}' not found.`); } + // Se o valor inserido em 'classId' é um número, inteiro e positivo + if (isNaN(classId) || classId % 1 !== 0) { + errorCode = 422; + throw new Error("'classId' must be a positive and integer number!"); + } + // Se a turma existe const findClass = await findData("class", "id", classId); if (!findClass) { @@ -43,9 +55,9 @@ const changeStudentClass = async ( "class_id", classId ); - if (!findRecord) { + if (findRecord) { errorCode = 409; - throw new Error("This student is not assigned to this class!"); + throw new Error("This student is already assigned to this class!"); } // Edita informação diff --git a/src/endpoints/changeTeacherClass.ts b/src/endpoints/changeTeacherClass.ts index e2e03b0..ecc7045 100644 --- a/src/endpoints/changeTeacherClass.ts +++ b/src/endpoints/changeTeacherClass.ts @@ -21,6 +21,12 @@ const changeTeacherClass = async ( } }); + // Se o valor inserido em 'id' é um número, inteiro e positivo + if (isNaN(id) || id % 1 !== 0) { + errorCode = 422; + throw new Error("'classId' must be a positive and integer number!"); + } + // Se o usuário existe const findTeacher = await findData("teacher", "id", id); if (!findTeacher) { @@ -28,6 +34,12 @@ const changeTeacherClass = async ( throw new Error(`Teacher id '${id}' not found.`); } + // Se o valor inserido em 'classId' é um número, inteiro e positivo + if (isNaN(classId) || classId % 1 !== 0) { + errorCode = 422; + throw new Error("'classId' must be a positive and integer number!"); + } + // Se a turma existe const findClass = await findData("class", "id", classId); if (!findClass) { diff --git a/src/endpoints/getClassStudents.ts b/src/endpoints/getClassStudents.ts index 4d3246f..1b4a384 100644 --- a/src/endpoints/getClassStudents.ts +++ b/src/endpoints/getClassStudents.ts @@ -5,10 +5,10 @@ const getClassStudents = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { // Parâmetros do query - const className = req.params.className as string; + const classId = req.params.classId as string; // Requisição do banco de dados - const resp = await getUserByClass("student", className); + const resp = await getUserByClass("student", classId); // Tratando as informações que devolverá ao usuário const students = resp.map((student: any): any => { diff --git a/src/endpoints/getClassTeachers.ts b/src/endpoints/getClassTeachers.ts index 5c2cd0f..e99860f 100644 --- a/src/endpoints/getClassTeachers.ts +++ b/src/endpoints/getClassTeachers.ts @@ -5,10 +5,10 @@ const getClassTeachers = async (req: Request, res: Response): Promise => { let errorCode: number = 400; try { // Parâmetros do query - const className = req.query.className as string; + const classId = req.params.classId as string; // Requisição do banco de dados - const resp = await getUserByClass("teacher", className); + const resp = await getUserByClass("teacher", classId); // Tratando as informações que devolverá ao usuário const teachers = resp.map((teacher: any): any => { diff --git a/src/endpoints/removeStudent.ts b/src/endpoints/removeStudent.ts index 25a930e..7c980ac 100644 --- a/src/endpoints/removeStudent.ts +++ b/src/endpoints/removeStudent.ts @@ -19,7 +19,7 @@ const removeStudent = async ( } // Se o usuário existe - const findStudent = await findData("teacher", "id", id); + const findStudent = await findData("student", "id", id); if (!findStudent) { errorCode = 404; throw new Error(`Student id '${id}' not found.`); diff --git a/src/endpoints/removeStudentFromClass.ts b/src/endpoints/removeStudentFromClass.ts index 1a2ce60..e06eeba 100644 --- a/src/endpoints/removeStudentFromClass.ts +++ b/src/endpoints/removeStudentFromClass.ts @@ -10,17 +10,8 @@ const removeStudentFromClass = async ( let errorCode: number = 400; try { const { id, classId } = req.params; - const body = ["id", "classId"]; // VALIDAÇÕES - // Se existe campo vazio ou ausente do body - body.forEach((item) => { - if (!(item in req.body)) { - errorCode = 422; - throw new Error(`'${item}' field is missing.`); - } - }); - // Se o usuário existe const findStudent = await findData("student", "id", id); if (!findStudent) { @@ -37,7 +28,7 @@ const removeStudentFromClass = async ( //Se a relação existe const findRecord = await findDuplicate( - "techer_class", + "student_class", "student_id", id, "class_id", diff --git a/src/endpoints/removeTeacherFromClass.ts b/src/endpoints/removeTeacherFromClass.ts index 52f0a3e..2325c3e 100644 --- a/src/endpoints/removeTeacherFromClass.ts +++ b/src/endpoints/removeTeacherFromClass.ts @@ -10,17 +10,8 @@ const removeTeacherFromClass = async ( let errorCode: number = 400; try { const { id, classId } = req.params; - const body = ["id", "classId"]; // VALIDAÇÕES - // Se existe campo vazio ou ausente do body - body.forEach((item) => { - if (!(item in req.body)) { - errorCode = 422; - throw new Error(`'${item}' field is missing.`); - } - }); - // Se o usuário existe const findTeacher = await findData("teacher", "id", id); if (!findTeacher) { diff --git a/src/index.ts b/src/index.ts index b2df16d..b609cd9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -54,10 +54,10 @@ app.post("/teacher/speciality/assign",assignSpecialityToTeacher); app.get("/student/:id", getStudentAge); // Pegar estudantes por turma -app.get("/student/list/:className", getClassStudents); +app.get("/student/list/:classId", getClassStudents); // Pegar professores por turma -app.get("/teacher/list/:className", getClassTeachers); +app.get("/teacher/list/:classId", getClassTeachers); // PUT ----------------------------------- // Alterar módulo da turma diff --git a/src/queries/getUserByClass.ts b/src/queries/getUserByClass.ts index a06f4da..deea057 100644 --- a/src/queries/getUserByClass.ts +++ b/src/queries/getUserByClass.ts @@ -1,14 +1,12 @@ import connection from "../connection"; -export default async function getUserByClass(table:string, className: string): Promise { +export default async function getUserByClass(table:string, classId: string): Promise { const result = await connection.raw(` - SELECT ${table}.*, class.name as class_name + SELECT * FROM ${table} JOIN ${table}_class ON ${table}.id = ${table}_class.${table}_id - JOIN class - ON ${table}_class.${table}_id = class.id - WHERE class.name LIKE "%${className}%" + WHERE ${table}_class.class_id = "${classId}" `); return result[0]; diff --git a/src/queries/insertUserToClass.ts b/src/queries/insertUserToClass.ts index 01607bf..95db070 100644 --- a/src/queries/insertUserToClass.ts +++ b/src/queries/insertUserToClass.ts @@ -8,7 +8,7 @@ export default async function insertUserToClass( await connection.raw( ` INSERT - INTO ${table} (${table}_id, class_id) + INTO ${table}_class (${table}_id, class_id) VALUES ("${userId}", "${classId}") ` diff --git a/src/requests.rest b/src/requests.rest index 70902c0..ef347e6 100644 --- a/src/requests.rest +++ b/src/requests.rest @@ -94,7 +94,7 @@ Content-Type: application/json ### # Pegar estudante pelo ID -GET http://localhost:3003/student/:id +GET http://localhost:3003/student/1 ### # Pegar estudantes por turma diff --git a/src/types/personBody.ts b/src/types/personBody.ts index 4cbde32..b804eee 100644 --- a/src/types/personBody.ts +++ b/src/types/personBody.ts @@ -1,12 +1,10 @@ export type personBodyType = { - category: string, name: string, email: string, birthdate: string }; export enum personBody { - category= "category", name= "name", email= "email", birthdate= "birthdate" From 7c578c2fc7657009c545efc32540da771093d014 Mon Sep 17 00:00:00 2001 From: Fabio dos Santos <74519608+fsantos22@users.noreply.github.com> Date: Fri, 2 Apr 2021 14:06:49 -0300 Subject: [PATCH 17/21] Delete requests.rest --- src/requests.rest | 148 ---------------------------------------------- 1 file changed, 148 deletions(-) delete mode 100644 src/requests.rest diff --git a/src/requests.rest b/src/requests.rest deleted file mode 100644 index ef347e6..0000000 --- a/src/requests.rest +++ /dev/null @@ -1,148 +0,0 @@ -# Criar estudante (estudante ou professor) -POST http://localhost:3003/student/create -Content-Type: application/json - -{ - "category": "student", - "name": "user", - "email": "user@labenu.com.br", - "birthdate": "01/01/2000" -} - -### -# Criar professor (estudante ou professor) -POST http://localhost:3003/teacher/create -Content-Type: application/json - -{ - "category": "student", - "name": "user", - "email": "user@labenu.com.br", - "birthdate": "01/01/2000" -} - -### -# Criar hobby -POST http://localhost:3003/hobby/create -Content-Type: application/json - -{ - "title": "Codar" -} - -### -# Criar especialidade -POST http://localhost:3003/speciality/create -Content-Type: application/json - -{ - "title": "React000" -} - -### -# Criar turma -POST http://localhost:3003/class/create -Content-Type: application/json - -{ - "name": "Muñoz", - "period": "Noturno", - "startDate": "30/02/2020", - "endDate": "31/10/2021", - "module": 1 -} - -### -# Cadastrar aluno em uma turma -POST http://localhost:3003/student/class/assign -Content-Type: application/json - -{ - "id": 1, - "classId": 1 -} - -### -# Cadastrar professor em uma turma -POST http://localhost:3003/teacher/class/assign -Content-Type: application/json - -{ - "id": 1, - "classId": 1 -} - -### -# Atribuir hobby a um estudante -POST http://localhost:3003/student/hobby/assign -Content-Type: application/json - -{ - "id": 1, - "hobbyId": 1 -} - -### -# Atribuir especialidade a um professor -POST http://localhost:3003/teacher/speciality/assign -Content-Type: application/json - -{ - "id": 1, - "scpecialityId": 1 -} - -### -# Pegar estudante pelo ID -GET http://localhost:3003/student/1 - -### -# Pegar estudantes por turma -GET http://localhost:3003/student/list/epps - -### -# Pegar estudantes por turma -GET http://localhost:3003/teacher/list/epps - -### -# Alterar módulo da turma -PUT http://localhost:3003/class/module/edit -Content-Type: application/json - -{ - "id": 1, - "module": 1 -} - -### -# Alterar turma do aluno -PUT http://localhost:3003/student/class/edit -Content-Type: application/json - -{ - "id": 1, - "classId": 1 -} - -### -# Alterar turma do professor -PUT http://localhost:3003/teacher/class/edit -Content-Type: application/json - -{ - "id": 1, - "classId": 1 -} - -### -# Remover estudate da base -DELETE http://localhost:3003/student/1/delete - -# Remover professor da base -DELETE http://localhost:3003/teacher/1/delete - -# Remover estudate da turma -DELETE http://localhost:3003/student/1/class/1/delete - -# Remover professor da turma -DELETE http://localhost:3003/teacher/1/class/1/delete \ No newline at end of file From eebdb0866fc487f000f334d415bbe37c9cd135a4 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Fri, 2 Apr 2021 15:17:57 -0300 Subject: [PATCH 18/21] fix - queries e endpoints --- package-lock.json | 5 ++ package.json | 1 + src/endpoints/addClass.ts | 25 +++--- src/endpoints/addStudent.ts | 5 +- src/endpoints/addTeacher.ts | 5 +- src/functions/capitalize.ts | 6 -- src/queries/insertClass.ts | 6 +- src/queries/insertUser.ts | 4 +- src/requests.rest | 148 ++++++++++++++++++++++++++++++++++++ src/sql/database.sql | 2 +- 10 files changed, 179 insertions(+), 28 deletions(-) delete mode 100644 src/functions/capitalize.ts create mode 100644 src/requests.rest diff --git a/package-lock.json b/package-lock.json index b71f619..8b17e6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -813,6 +813,11 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/package.json b/package.json index b57df46..f6d00dc 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "dotenv": "^8.2.0", "express": "^4.17.1", "knex": "^0.95.2", + "moment": "^2.29.1", "mysql": "^2.18.1" }, "devDependencies": { diff --git a/src/endpoints/addClass.ts b/src/endpoints/addClass.ts index db02a16..0b94b2c 100644 --- a/src/endpoints/addClass.ts +++ b/src/endpoints/addClass.ts @@ -5,9 +5,11 @@ import { dateDiff } from "../functions/dateDiff"; import { checkDate } from "./../functions/checkDate"; import { createId } from "./../functions/createId"; import { classBody, classBodyType } from "../types/classBody"; -import { capitalize } from "./../functions/capitalize"; +import moment from 'moment' +import findData from "../queries/findData"; const addClass = async (req: Request, res: Response): Promise => { + moment().format("LLLL"); let errorCode: number = 400; try { // Parâmetros do Body @@ -23,8 +25,10 @@ const addClass = async (req: Request, res: Response): Promise => { const id: number = await createId("class"); // Converte as datas de string para Date format - const convStartDate: Date = strDateToDate(startDate); - const convEndDate: Date = strDateToDate(endDate); + // const convStartDate: Date = strDateToDate(startDate); + // const convEndDate: Date = strDateToDate(endDate); + const convStartDate: any = moment(startDate, "YYYY-MM-DD"); + const convEndDate: any = moment(endDate, "YYYY-MM-DD"); // VALIDAÇÕES // Se existe campo vazio ou ausente do body @@ -41,6 +45,13 @@ const addClass = async (req: Request, res: Response): Promise => { throw new Error("Name must be at least 3 characters."); } + // Se nome já foi registrado + const findClass = await findData("class", "name", name); + if (findClass) { + errorCode = 422; + throw new Error(`class '${name}' is already registered!`); + } + // Se a categoria é válida if ( period.toLowerCase() !== "noturno" && @@ -83,13 +94,7 @@ const addClass = async (req: Request, res: Response): Promise => { } // Insere as informações no Banco de Dados - await insertClass( - id, - modName, - convStartDate, - convEndDate, - module - ); + await insertClass(id, modName, startDate, endDate, module); // Resposta para o usuário res diff --git a/src/endpoints/addStudent.ts b/src/endpoints/addStudent.ts index 3a0bf07..128dc91 100644 --- a/src/endpoints/addStudent.ts +++ b/src/endpoints/addStudent.ts @@ -7,7 +7,6 @@ import { createId } from "./../functions/createId"; import findData from "../queries/findData"; import { findAge } from "./../functions/findAge"; import { personBody, personBodyType } from "../types/personBody"; -import { capitalize } from "./../functions/capitalize"; const addStudent = async (req: Request, res: Response) => { let errorCode: number = 400; @@ -69,10 +68,10 @@ const addStudent = async (req: Request, res: Response) => { } // Insere as informações no Banco de Dados - await insertUser("student", id, name, email, modDate); + await insertUser("student", id, name, email, birthdate); // Resposta para o usuário - res.status(200).send(`${capitalize("student")} registered!`); + res.status(200).send({ message: `Student registered!` }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/addTeacher.ts b/src/endpoints/addTeacher.ts index f89bd3e..72b36fc 100644 --- a/src/endpoints/addTeacher.ts +++ b/src/endpoints/addTeacher.ts @@ -7,7 +7,6 @@ import { createId } from "./../functions/createId"; import findData from "../queries/findData"; import { findAge } from "./../functions/findAge"; import { personBody, personBodyType } from "../types/personBody"; -import { capitalize } from "./../functions/capitalize"; const addTeacher = async (req: Request, res: Response) => { let errorCode: number = 400; @@ -69,10 +68,10 @@ const addTeacher = async (req: Request, res: Response) => { } // Insere as informações no Banco de Dados - await insertUser("teacher", id, name, email, modDate); + await insertUser("teacher", id, name, email, birthdate); // Resposta para o usuário - res.status(200).send(`${capitalize("teacher")} registered!`); + res.status(200).send(`Teacher registered!`); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/functions/capitalize.ts b/src/functions/capitalize.ts deleted file mode 100644 index 4d32298..0000000 --- a/src/functions/capitalize.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const capitalize = (string: string) => { - const capitalizedString = string - .toLocaleLowerCase() - .replace(/\w\S*/g, (w) => w.replace(/^\w/, (c) => c.toUpperCase())); - return capitalizedString; -}; diff --git a/src/queries/insertClass.ts b/src/queries/insertClass.ts index 25d3b4d..c21fcd0 100644 --- a/src/queries/insertClass.ts +++ b/src/queries/insertClass.ts @@ -3,13 +3,13 @@ import connection from "../connection"; export default async function insertClass( id: number, name: string, - startDate: Date, - endDate: Date, + startDate: string, + endDate: string, module: number ): Promise { await connection.raw(` INSERT INTO class (id, name, start_date, end_date, module) VALUES - (${id}, "${name}", "${startDate}", "${endDate}", ${module}) + (${id}, "${name}", str_to_date("${startDate}", '%d/%m/%Y'), str_to_date("${endDate}", '%d/%m/%Y'), ${module}) `); } diff --git a/src/queries/insertUser.ts b/src/queries/insertUser.ts index a3f5d6b..81056bd 100644 --- a/src/queries/insertUser.ts +++ b/src/queries/insertUser.ts @@ -5,11 +5,11 @@ export default async function insertUser( id: number, name: string, email: string, - birthdate: Date + birthdate: string ): Promise { await connection.raw(` INSERT INTO ${table} (id, name, email, birthdate) VALUES - (${id}, "${name}", "${email}", "${birthdate}"}) + (${id}, "${name}", "${email}", str_to_date("${birthdate}", '%d/%m/%Y')) `); } diff --git a/src/requests.rest b/src/requests.rest new file mode 100644 index 0000000..04f798f --- /dev/null +++ b/src/requests.rest @@ -0,0 +1,148 @@ +# Criar estudante +POST http://localhost:3003/student/create +Content-Type: application/json + +{ + "category": "student", + "name": "user", + "email": "user@labenu.com.br", + "birthdate": "01/01/2000" +} + +### +# Criar professor +POST http://localhost:3003/teacher/create +Content-Type: application/json + +{ + "category": "student", + "name": "user", + "email": "user@labenu.com.br", + "birthdate": "01/01/2000" +} + +### +# Criar hobby +POST http://localhost:3003/hobby/create +Content-Type: application/json + +{ + "title": "Codar" +} + +### +# Criar especialidade +POST http://localhost:3003/speciality/create +Content-Type: application/json + +{ + "title": "React000" +} + +### +# Criar turma +POST http://localhost:3003/class/create +Content-Type: application/json + +{ + "name": "Muñoz", + "period": "Noturno", + "startDate": "30/02/2020", + "endDate": "31/10/2021", + "module": 1 +} + +### +# Cadastrar aluno em uma turma +POST http://localhost:3003/student/class/assign +Content-Type: application/json + +{ + "id": 1, + "classId": 1 +} + +### +# Cadastrar professor em uma turma +POST http://localhost:3003/teacher/class/assign +Content-Type: application/json + +{ + "id": 1, + "classId": 1 +} + +### +# Atribuir hobby a um estudante +POST http://localhost:3003/student/hobby/assign +Content-Type: application/json + +{ + "id": 1, + "hobbyId": 1 +} + +### +# Atribuir especialidade a um professor +POST http://localhost:3003/teacher/speciality/assign +Content-Type: application/json + +{ + "id": 1, + "scpecialityId": 1 +} + +### +# Pegar estudante pelo ID +GET http://localhost:3003/student/1 + +### +# Pegar estudantes por turma +GET http://localhost:3003/student/list/epps + +### +# Pegar estudantes por turma +GET http://localhost:3003/teacher/list/epps + +### +# Alterar módulo da turma +PUT http://localhost:3003/class/module/edit +Content-Type: application/json + +{ + "id": 1, + "module": 1 +} + +### +# Alterar turma do aluno +PUT http://localhost:3003/student/class/edit +Content-Type: application/json + +{ + "id": 1, + "classId": 1 +} + +### +# Alterar turma do professor +PUT http://localhost:3003/teacher/class/edit +Content-Type: application/json + +{ + "id": 1, + "classId": 1 +} + +### +# Remover estudate da base +DELETE http://localhost:3003/student/1/delete + +# Remover professor da base +DELETE http://localhost:3003/teacher/1/delete + +# Remover estudate da turma +DELETE http://localhost:3003/student/1/class/1/delete + +# Remover professor da turma +DELETE http://localhost:3003/teacher/1/class/1/delete \ No newline at end of file diff --git a/src/sql/database.sql b/src/sql/database.sql index 6adc410..4087271 100644 --- a/src/sql/database.sql +++ b/src/sql/database.sql @@ -3,7 +3,7 @@ USER `epps-fabio-santos`; CREATE TABLE class ( id INT PRIMARY KEY, - name VARCHAR(50) NOT NULL, + name VARCHAR(50) NOT NULL UNIQUE, start_date DATE NOT NULL, end_date DATE NOT NULL, module INT NOT NULL CHECK (module BETWEEN 0 AND 7) From 5f18fa6ec841a5a0c3888be57dbb0ccbd2aaa363 Mon Sep 17 00:00:00 2001 From: Fabio dos Santos <74519608+fsantos22@users.noreply.github.com> Date: Fri, 2 Apr 2021 16:08:36 -0300 Subject: [PATCH 19/21] Delete addFakeUsers.ts --- src/endpoints/addFakeUsers.ts | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 src/endpoints/addFakeUsers.ts diff --git a/src/endpoints/addFakeUsers.ts b/src/endpoints/addFakeUsers.ts deleted file mode 100644 index 689b3e6..0000000 --- a/src/endpoints/addFakeUsers.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Request, Response } from "express"; -import { people } from "../fakeData/people"; -import insertPerson from "../queries/insertUser"; -import { createId } from "../functions/createId"; -import getMaxIdNumber from "../queries/getMaxIdNumber"; - -const addFakeUsers = async (req: Request, res: Response) => { - let errorCode: number = 400; - try { - const table:string = "teacher"; - for (let i = 161; i < people.length; i++) { - // const id: number = await createId("class"); - const id: number = i+1; - const name:string = people[i].name.first + " " + people[i].name.last; - const email:string = people[i].email; - const birthdate:Date = new Date(people[i].dob.date); - await insertPerson(table, id, name, email, birthdate); - } - res.status(200).send("Users generated!"); - } catch (error) { - res.status(errorCode).send({ message: error.message || error.sqlMessage }); - } -}; - -export default addFakeUsers; From ec77efcab86697543e9312ffd4902ef02e32ff47 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Fri, 2 Apr 2021 16:14:49 -0300 Subject: [PATCH 20/21] package.json --- package-lock.json | 5 ----- package.json | 1 - 2 files changed, 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b17e6c..b71f619 100644 --- a/package-lock.json +++ b/package-lock.json @@ -813,11 +813,6 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/package.json b/package.json index f6d00dc..b57df46 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "dotenv": "^8.2.0", "express": "^4.17.1", "knex": "^0.95.2", - "moment": "^2.29.1", "mysql": "^2.18.1" }, "devDependencies": { From f4f716d984b5e2ff94951b63f3dfde36b4b2e076 Mon Sep 17 00:00:00 2001 From: fsantos22 <22fsantos@gmail.com> Date: Sun, 4 Apr 2021 16:37:08 -0300 Subject: [PATCH 21/21] adc hobby e especialidade na resposta --- src/endpoints/addClass.ts | 8 ++---- src/endpoints/getClassStudents.ts | 20 +++++++++++--- src/endpoints/getClassTeachers.ts | 17 +++++++++--- src/endpoints/getStudentAge.ts | 23 ++++++++++++++++- src/endpoints/getTeacherAge.ts | 43 +++++++++++++++++++++++++++++++ src/index.ts | 7 +++++ src/queries/getHobbies.ts | 14 ++++++++++ src/queries/getSpecs.ts | 14 ++++++++++ src/queries/getStudentByClass.ts | 17 ++++++++++++ src/queries/getTeacherByClass.ts | 13 ++++++++++ src/requests.rest | 16 +++++++----- 11 files changed, 172 insertions(+), 20 deletions(-) create mode 100644 src/endpoints/getTeacherAge.ts create mode 100644 src/queries/getHobbies.ts create mode 100644 src/queries/getSpecs.ts create mode 100644 src/queries/getStudentByClass.ts create mode 100644 src/queries/getTeacherByClass.ts diff --git a/src/endpoints/addClass.ts b/src/endpoints/addClass.ts index 0b94b2c..fb4fbd7 100644 --- a/src/endpoints/addClass.ts +++ b/src/endpoints/addClass.ts @@ -5,11 +5,9 @@ import { dateDiff } from "../functions/dateDiff"; import { checkDate } from "./../functions/checkDate"; import { createId } from "./../functions/createId"; import { classBody, classBodyType } from "../types/classBody"; -import moment from 'moment' import findData from "../queries/findData"; const addClass = async (req: Request, res: Response): Promise => { - moment().format("LLLL"); let errorCode: number = 400; try { // Parâmetros do Body @@ -25,10 +23,8 @@ const addClass = async (req: Request, res: Response): Promise => { const id: number = await createId("class"); // Converte as datas de string para Date format - // const convStartDate: Date = strDateToDate(startDate); - // const convEndDate: Date = strDateToDate(endDate); - const convStartDate: any = moment(startDate, "YYYY-MM-DD"); - const convEndDate: any = moment(endDate, "YYYY-MM-DD"); + const convStartDate: Date = strDateToDate(startDate); + const convEndDate: Date = strDateToDate(endDate); // VALIDAÇÕES // Se existe campo vazio ou ausente do body diff --git a/src/endpoints/getClassStudents.ts b/src/endpoints/getClassStudents.ts index 1b4a384..051c244 100644 --- a/src/endpoints/getClassStudents.ts +++ b/src/endpoints/getClassStudents.ts @@ -1,5 +1,7 @@ import { Request, Response } from "express"; +// import getStudentByClass from "../queries/getStudentByClass"; import getUserByClass from "../queries/getUserByClass"; +import getHobbies from "../queries/getHobbies"; const getClassStudents = async (req: Request, res: Response): Promise => { let errorCode: number = 400; @@ -8,15 +10,25 @@ const getClassStudents = async (req: Request, res: Response): Promise => { const classId = req.params.classId as string; // Requisição do banco de dados - const resp = await getUserByClass("student", classId); + const user = await getUserByClass("student",classId) + const hobbies = await getHobbies(); + const hobbiesGroup = hobbies.reduce((acc:any, item:any) => { + acc[item.student_id] = acc[item.student_id] || []; + acc[item.student_id].push(item.title); + return acc; + }, {}); // Tratando as informações que devolverá ao usuário - const students = resp.map((student: any): any => { - return { name: student.name }; + const students = user.map((student: any): any => { + return { + name: student.name, + birthdate: student.birthdate.toLocaleDateString(), + hobbies: hobbiesGroup[student.id] + }; }); // Resposta para o usuário - res.send({ students: students }); + res.send(students); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/getClassTeachers.ts b/src/endpoints/getClassTeachers.ts index e99860f..81ff94f 100644 --- a/src/endpoints/getClassTeachers.ts +++ b/src/endpoints/getClassTeachers.ts @@ -1,4 +1,5 @@ import { Request, Response } from "express"; +import getSpecs from "../queries/getSpecs"; import getUserByClass from "../queries/getUserByClass"; const getClassTeachers = async (req: Request, res: Response): Promise => { @@ -8,11 +9,21 @@ const getClassTeachers = async (req: Request, res: Response): Promise => { const classId = req.params.classId as string; // Requisição do banco de dados - const resp = await getUserByClass("teacher", classId); + const user = await getUserByClass("teacher", classId); + const specs = await getSpecs(); + const specsGroup = specs.reduce((acc: any, item: any) => { + acc[item.teacher_id] = acc[item.teacher_id] || []; + acc[item.teacher_id].push(item.title); + return acc; + }, {}); // Tratando as informações que devolverá ao usuário - const teachers = resp.map((teacher: any): any => { - return { name: teacher.name }; + const teachers = user.map((teacher: any): any => { + return { + name: teacher.name, + birthdate: teacher.birthdate.toLocaleDateString(), + specialities: specsGroup[teacher.id], + }; }); // Resposta para o usuário diff --git a/src/endpoints/getStudentAge.ts b/src/endpoints/getStudentAge.ts index b79bd0f..03ca554 100644 --- a/src/endpoints/getStudentAge.ts +++ b/src/endpoints/getStudentAge.ts @@ -1,5 +1,6 @@ import { Request, Response } from "express"; import findData from "../queries/findData"; +import getHobbies from "../queries/getHobbies"; import { findAge } from "./../functions/findAge"; const getStudentAge = async (req: Request, res: Response): Promise => { @@ -11,11 +12,31 @@ const getStudentAge = async (req: Request, res: Response): Promise => { // Pegando usuário no banco de dados const profile: any = await findData("student", "id", id); + if (!profile) { + errorCode = 404; + throw new Error("Student not found."); + } + + const hobbies = await getHobbies(); + const hobbiesGroup = hobbies.reduce((acc: any, item: any) => { + acc[item.student_id] = acc[item.student_id] || []; + acc[item.student_id].push(item.title); + return acc; + }, {}); + // Calculando idade pela data de nascimento const age: number = findAge(profile.birthdate); // Resposta para o usuário - res.status(200).send({ user: { name: profile.name, age: age } }); + res + .status(200) + .send({ + user: { + name: profile.name, + age: age, + hobbies: hobbiesGroup[profile.id], + }, + }); } catch (error) { res.status(errorCode).send({ message: error.message || error.sqlMessage }); } diff --git a/src/endpoints/getTeacherAge.ts b/src/endpoints/getTeacherAge.ts new file mode 100644 index 0000000..b8f6f41 --- /dev/null +++ b/src/endpoints/getTeacherAge.ts @@ -0,0 +1,43 @@ +import { Request, Response } from "express"; +import findData from "../queries/findData"; +import { findAge } from "../functions/findAge"; +import getSpecs from "../queries/getSpecs"; + +const getTeacherAge = async (req: Request, res: Response): Promise => { + let errorCode: number = 400; + try { + // Parâmetro do path + const id: number = Number(req.params.id); + + // Pegando usuário no banco de dados + const profile: any = await findData("teacher", "id", id); + + if (!profile) { + errorCode = 404; + throw new Error("Teacher not found."); + } + + const specs = await getSpecs(); + const specsGroup = specs.reduce((acc: any, item: any) => { + acc[item.teacher_id] = acc[item.teacher_id] || []; + acc[item.teacher_id].push(item.title); + return acc; + }, {}); + + // Calculando idade pela data de nascimento + const age: number = findAge(profile.birthdate); + + // Resposta para o usuário + res.status(200).send({ + user: { + name: profile.name, + age: age, + hobbies: specsGroup[profile.id], + }, + }); + } catch (error) { + res.status(errorCode).send({ message: error.message || error.sqlMessage }); + } +}; + +export default getTeacherAge; diff --git a/src/index.ts b/src/index.ts index b609cd9..48b5a73 100644 --- a/src/index.ts +++ b/src/index.ts @@ -12,12 +12,16 @@ import changeClassModule from "./endpoints/changeClassModule"; import changeStudentClass from "./endpoints/changeStudentClass"; import changeTeacherClass from "./endpoints/changeTeacherClass"; import getClassStudents from "./endpoints/getClassStudents"; + +// import getClassStudents2 from "./endpoints/getClassStudents2"; + import getClassTeachers from "./endpoints/getClassTeachers"; import getStudentAge from "./endpoints/getStudentAge"; import removeStudent from "./endpoints/removeStudent"; import removeStudentFromClass from "./endpoints/removeStudentFromClass"; import removeTeacher from "./endpoints/removeTeacher"; import removeTeacherFromClass from './endpoints/removeTeacherFromClass'; +import getTeacherAge from './endpoints/getTeacherAge'; // POST ----------------------------------- @@ -53,6 +57,9 @@ app.post("/teacher/speciality/assign",assignSpecialityToTeacher); // Pegar estudante pelo ID app.get("/student/:id", getStudentAge); +// Pegar professor pelo ID +app.get("/teacher/:id", getTeacherAge); + // Pegar estudantes por turma app.get("/student/list/:classId", getClassStudents); diff --git a/src/queries/getHobbies.ts b/src/queries/getHobbies.ts new file mode 100644 index 0000000..f8d35ef --- /dev/null +++ b/src/queries/getHobbies.ts @@ -0,0 +1,14 @@ +import connection from "../connection"; + +export default async function getHobbies(): Promise { + const result = await connection.raw(` + SELECT student_hobby.*, hobby.title + FROM student_hobby + JOIN student + ON student_hobby.student_id = student.id + JOIN hobby + ON student_hobby.hobby_id = hobby.id + `); + + return result[0]; +} diff --git a/src/queries/getSpecs.ts b/src/queries/getSpecs.ts new file mode 100644 index 0000000..adf434f --- /dev/null +++ b/src/queries/getSpecs.ts @@ -0,0 +1,14 @@ +import connection from "../connection"; + +export default async function getSpecs(): Promise { + const result = await connection.raw(` + SELECT teacher_speciality.*, speciality.title + FROM teacher_speciality + JOIN teacher + ON teacher_speciality.teacher_id = teacher.id + JOIN speciality + ON teacher_speciality.speciality_id = speciality.id + `); + + return result[0]; +} diff --git a/src/queries/getStudentByClass.ts b/src/queries/getStudentByClass.ts new file mode 100644 index 0000000..65a77f2 --- /dev/null +++ b/src/queries/getStudentByClass.ts @@ -0,0 +1,17 @@ +import connection from "../connection"; + +export default async function getStudentByClass(classId: string): Promise { + const result = await connection.raw(` + SELECT student.id, student.name, student.birthdate, student_class.class_id, student_hobby.hobby_id, hobby.title + FROM student_class + JOIN student + ON student_class.student_id = student.id + LEFT JOIN student_hobby + ON student.id = student_hobby.student_id + LEFT JOIN hobby + ON student_hobby.hobby_id = hobby.id + WHERE student_class.class_id = ${classId} + `); + + return result[0]; +} diff --git a/src/queries/getTeacherByClass.ts b/src/queries/getTeacherByClass.ts new file mode 100644 index 0000000..3a26688 --- /dev/null +++ b/src/queries/getTeacherByClass.ts @@ -0,0 +1,13 @@ +import connection from "../connection"; + +export default async function getUserByClass(table:string, classId: string): Promise { + const result = await connection.raw(` + SELECT ${table}.id, ${table}.name, ${table}.birthdate, ${table}_class.class_id + FROM ${table} + JOIN ${table}_class + ON ${table}.id = ${table}_class.${table}_id + WHERE ${table}_class.class_id = "${classId}" + `); + + return result[0]; +} diff --git a/src/requests.rest b/src/requests.rest index 04f798f..eb0ba58 100644 --- a/src/requests.rest +++ b/src/requests.rest @@ -58,8 +58,8 @@ POST http://localhost:3003/student/class/assign Content-Type: application/json { - "id": 1, - "classId": 1 + "id": 10, + "classId": 2 } ### @@ -94,15 +94,19 @@ Content-Type: application/json ### # Pegar estudante pelo ID -GET http://localhost:3003/student/1 +GET http://localhost:3003/student/10000 ### -# Pegar estudantes por turma -GET http://localhost:3003/student/list/epps +# Pegar professor pelo ID +GET http://localhost:3003/teacher/162 ### # Pegar estudantes por turma -GET http://localhost:3003/teacher/list/epps +GET http://localhost:3003/student/list/200 + +### +# Pegar professores por turma +GET http://localhost:3003/teacher/list/1 ### # Alterar módulo da turma