diff --git a/.env.cluster b/.env.cluster index a3367d29..b0f144a9 100644 --- a/.env.cluster +++ b/.env.cluster @@ -16,6 +16,7 @@ OPENHIM_MEDIATOR_API_PORT=443 MONGO_SET_COUNT=3 OPENHIM_MONGO_URL=mongodb://mongo-1:27017,mongo-2:27017,mongo-3:27017/openhim?replicaSet=mongo-set OPENHIM_MONGO_ATNAURL=mongodb://mongo-1:27017,mongo-2:27017,mongo-3:27017/openhim?replicaSet=mongo-set +KAFKA_BROKERS=kafka-01,kafka-02,kafka-03 # FHIR Datastore - HAPI FHIR HAPI_FHIR_INSTANCES=3 @@ -64,9 +65,13 @@ JS_REPORT_PACKAGE_PATH= # Message Bus Kafka # Topics should comma seperated, optional include partion and repliction values # e.g. :: -> test:3:2 (defaults to :3:1) -KAFKA_TOPICS=2xx,reprocess,3xx,metrics:3:3 +KAFKA_TOPICS=2xx,2xx-async,reprocess,3xx,metrics:3:3,patient,observation KAFKA_HOSTS=kafka-01:9092,kafka-02:9092,kafka-03:9092 +# Kafka consumer mapper +KAFKA_HOST=kafka-01,kafka-02,kafka-03 +KAFKA_PORT=9092 + # MPI MEDIATOR MPI_MEDIATOR_INSTANCES=3 diff --git a/.github/workflows/ci-cluster.yml b/.github/workflows/ci-cluster.yml index 0eae1e68..6a9c1c04 100644 --- a/.github/workflows/ci-cluster.yml +++ b/.github/workflows/ci-cluster.yml @@ -35,6 +35,7 @@ jobs: shell: bash env: SSH_KEY: ${{ secrets.DEPLOY_KEY_PUB }} + - run: cp ../../test/cucumber/features/resources/testsSecurity.tf ./security.tf - run: terraform init - run: terraform apply -auto-approve - name: Upload terraform state @@ -72,7 +73,7 @@ jobs: run-e2e-tests: runs-on: ubuntu-20.04 needs: configure-e2e-server - timeout-minutes: 120 + timeout-minutes: 160 steps: - uses: actions/checkout@v3 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ed7cedd..eead8635 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,7 @@ jobs: shell: bash env: SSH_KEY: ${{ secrets.DEPLOY_KEY_PUB }} + - run: cp ../../test/cucumber/features/resources/testsSecurity.tf ./security.tf - run: terraform init - run: terraform apply -auto-approve - name: Upload terraform state @@ -71,7 +72,7 @@ jobs: run-e2e-tests: runs-on: ubuntu-20.04 needs: configure-e2e-server - timeout-minutes: 80 + timeout-minutes: 120 steps: - uses: actions/checkout@v3 with: diff --git a/.github/workflows/run-tests.sh b/.github/workflows/run-tests.sh index a144aa89..d1f9a7d7 100755 --- a/.github/workflows/run-tests.sh +++ b/.github/workflows/run-tests.sh @@ -25,14 +25,8 @@ for package in "${CHANGED_FILES[@]}"; do fi done -if [[ ${#changed_packages[@]} -eq 0 ]] || [[ "${!changed_packages[*]}" == *"utils"* ]]; then - DOCKER_HOST=ssh://ubuntu@$GITHUB_RUN_ID.jembi.cloud yarn test:"$NODE_MODE" -elif [[ "${!changed_packages[*]}" == *"features/single-mode"* ]] && [[ $NODE_MODE == "single" ]]; then - DOCKER_HOST=ssh://ubuntu@$GITHUB_RUN_ID.jembi.cloud yarn test:single -elif [[ "${!changed_packages[*]}" == *"features/cluster-mode"* ]] && [[ $NODE_MODE == "cluster" ]]; then - DOCKER_HOST=ssh://ubuntu@$GITHUB_RUN_ID.jembi.cloud yarn test:cluster -elif [[ "${!changed_packages[*]}" == *"infrastructure"* ]] && [[ $openhimRan == "false" ]]; then - openhimRan="true" +if [[ ${#changed_packages[@]} -eq 0 ]] || [[ "${!changed_packages[*]}" == *"utils"* ]] || [[ "${!changed_packages[*]}" == *"features/steps"* ]] || [[ "${!changed_packages[*]}" == *"infrastructure"* ]] ; then + openhim_ran="true" DOCKER_HOST=ssh://ubuntu@$GITHUB_RUN_ID.jembi.cloud yarn test:"$NODE_MODE":openhim else for folder_name in "${!changed_packages[@]}"; do @@ -68,3 +62,6 @@ else fi done fi + +# Run the basic funtional end to end tests for the CDR recipe +DOCKER_HOST=ssh://ubuntu@$GITHUB_RUN_ID.jembi.cloud HOST=$GITHUB_RUN_ID.jembi.cloud yarn test:"$NODE_MODE":recipe diff --git a/cdr-dw.env b/cdr-dw.env index e9e3a6f5..35b8b574 100644 --- a/cdr-dw.env +++ b/cdr-dw.env @@ -18,3 +18,5 @@ KC_JEMPI_SSO_ENABLED=true REACT_APP_JEMPI_BASE_API_PORT=50001 KC_SUPERSET_SSO_ENABLED=true KC_GRAFANA_SSO_ENABLED=true + +INSECURE_PORTS=5001:5001-80:80-8080:8080-3003:3003-8124:8123-5601:5601-5488:5488-3000:3000-9200:9200-8089:8089-9001:9001-3033:3033-50000:50000 diff --git a/config.yaml b/config.yaml index 7478f658..e883f4a5 100644 --- a/config.yaml +++ b/config.yaml @@ -28,13 +28,11 @@ packages: profiles: - name: cdr-dw packages: + - message-bus-kafka - interoperability-layer-openhim - reverse-proxy-nginx - fhir-datastore-hapi-fhir - - message-bus-kafka - job-scheduler-ofelia - - kafka-mapper-consumer - - kafka-unbundler-consumer - analytics-datastore-clickhouse - dashboard-visualiser-superset - monitoring @@ -42,6 +40,8 @@ profiles: - client-registry-jempi - identity-access-manager-keycloak - openhim-mapping-mediator + - kafka-mapper-consumer + - kafka-unbundler-consumer envFiles: - cdr-dw.env diff --git a/dashboard-visualiser-superset/config/requirements-local.txt b/dashboard-visualiser-superset/config/requirements-local.txt index d545505f..f42562d3 100644 --- a/dashboard-visualiser-superset/config/requirements-local.txt +++ b/dashboard-visualiser-superset/config/requirements-local.txt @@ -1,5 +1,5 @@ psycopg2>=2.9.9 clickhouse-connect>=0.7.0 -flask-oidc>=1.3.0 -itsdangerous>=2.0.1 -flask_openid>=1.3.0 +flask-oidc==1.3.0 +itsdangerous==2.0.1 +flask_openid==1.3.0 diff --git a/infrastructure/terraform/security.tf b/infrastructure/terraform/security.tf index 5a1293ff..618ac307 100644 --- a/infrastructure/terraform/security.tf +++ b/infrastructure/terraform/security.tf @@ -15,13 +15,6 @@ resource "aws_security_group" "docker_swarm_sg" { cidr_blocks = [ "0.0.0.0/0"] } - ingress { - from_port = 80 - to_port = 80 - protocol = "tcp" - cidr_blocks = [ - "0.0.0.0/0"] - } ingress { from_port = 443 to_port = 443 diff --git a/mpi-mediator/docker-compose.yml b/mpi-mediator/docker-compose.yml index 7d5a295e..084d7e39 100644 --- a/mpi-mediator/docker-compose.yml +++ b/mpi-mediator/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' services: mpi-mediator: - image: jembi/mpi-mediator:v2.1.0 + image: jembi/mpi-mediator:v2.1.1 networks: openhim: kafka: diff --git a/mpi-mediator/importer/volume/openhim-import.json b/mpi-mediator/importer/volume/openhim-import.json index 3827f33d..5a1b11b9 100644 --- a/mpi-mediator/importer/volume/openhim-import.json +++ b/mpi-mediator/importer/volume/openhim-import.json @@ -217,6 +217,73 @@ "name": "Super User" }, "description": "Sends a fhir bundle to hapi-fhir for validation, and then forwards it to a kafka if valid." + }, + { + "name": "JeMPI Patient links endpoint in fhir", + "description": "JeMPI Patient endpoint for retrieving using the patient interaction id", + "urlPattern": "^/fhir/links/Patient/?[^/]*$", + "isAsynchronousProcess": false, + "methods": [ + "GET", + "POST", + "DELETE", + "PUT", + "OPTIONS", + "HEAD", + "TRACE", + "CONNECT", + "PATCH" + ], + "type": "http", + "tcpPort": null, + "tcpHost": null, + "pollingSchedule": null, + "requestBody": true, + "responseBody": true, + "allow": [ + "instant" + ], + "whitelist": [], + "authType": "private", + "routes": [ + { + "name": "Generic Mapping Mediator", + "type": "http", + "status": "enabled", + "secured": false, + "host": "openhim-mapping-mediator", + "port": 3003, + "path": "", + "pathTransform": "", + "primary": true, + "username": "", + "password": "", + "forwardAuthHeader": true, + "waitPrimaryResponse": false, + "statusCodesCheck": "2**" + } + ], + "matchContentTypes": [], + "matchContentRegex": null, + "matchContentXpath": null, + "matchContentJson": null, + "matchContentValue": null, + "properties": [], + "txViewAcl": [], + "txViewFullAcl": [], + "txRerunAcl": [], + "alerts": [], + "status": "enabled", + "rewriteUrls": false, + "addAutoRewriteRules": true, + "rewriteUrlsConfig": [], + "autoRetryEnabled": false, + "autoRetryPeriodMinutes": 60, + "updatedBy": { + "id": "661e3c1206d33f9dfbcb3094", + "name": "test test" + }, + "priority": 1 } ], "Mediators": [ diff --git a/test/cucumber/features/cluster-mode/recipe.cluster.feature b/test/cucumber/features/cluster-mode/recipe.cluster.feature new file mode 100644 index 00000000..aaf78926 --- /dev/null +++ b/test/cucumber/features/cluster-mode/recipe.cluster.feature @@ -0,0 +1,34 @@ +Feature: CDR recipe? + Does the recipe work as expected + +Scenario: Init the CDR recipe + Given I use parameters "package init -p cdr-dw --dev --env-file=.env.cluster" + When I launch the platform with params + Then The service "mongo-1" should be started with 1 replica + And The service "openhim-core" should be started with 3 replica + And The service "openhim-console" should be started with 3 replica + And The service "kafka-unbundler-consumer" should be started with 1 replica + And The service "kafka-mapper-consumer" should be started with 1 replica + +Scenario: Send Fhir bundle and store the clinical data in the Fhir datastore, and the patient info in the CR + Given I have configured the cdr + When I send a fhir patient bundle + Then the clinical data should be stored in hapi fhir + And the patient data in the Jempi client registry + And the data should be stored in clickhouse + +Scenario: Fetch International Patient summary (IPS) + When I send a fhir patient bundle + And I then send a fhir patient summary request + Then I should get a successful summary response + +Scenario: Fetch everything for a patient (all the clinical data) + When I send a fhir patient bundle + And I then send a request for all the patient's clinical data + Then I should get a successful everything response + +Scenario: Destroy the services + Given I use parameters "package remove -p cdr-dw --env-file=.env.cluster" + When I launch the platform with params + Then There should be 0 service + And There should be 0 volume diff --git a/test/cucumber/features/resources/fhirBundle.json b/test/cucumber/features/resources/fhirBundle.json new file mode 100644 index 00000000..ce9ec14f --- /dev/null +++ b/test/cucumber/features/resources/fhirBundle.json @@ -0,0 +1,1114 @@ +{ + "resourceType": "Bundle", + "type": "transaction", + "entry": [ + { + "fullUrl": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb", + "resource": { + "resourceType": "Patient", + "id": "642b83d3-a43c-41ef-a578-2b730f276bfb", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-religion", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/ValueSet/v3-ReligiousAffiliation", + "code": "1036", + "display": "Orthodox" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-relatedPerson", + "valueReference": { + "reference": "RelatedPerson/f8b7dccb-f1ef-4365-9323-29303479d02bRelatedPerson481" + } + }, + { + "url": "http://cdr.aacahb.gov.et/EducationalLevel", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-EducationLevel", + "code": "ELEM", + "display": "Elementary School" + } + ] + } + }, + { + "url": "http://cdr.aacahb.gov.et/Occupation", + "valueString": "Foreman" + } + ], + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/SmartCareID", + "value": "642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + { + "system": "http://cdr.aacahb.gov.et/NationalID", + "value": "MRN-642b83d3-a43c-41ef-a578-2b730f476bf9" + }, + { + "system": "http://cdr.aacahb.gov.et/UAN", + "value": "UAN-642b83d3-a43c-41ef-a578-2b730f276bfb" + } + ], + "name": [ + { + "use": "official", + "family": "Rodrigues", + "given": ["Liniee"] + } + ], + "telecom": [ + { + "system": "phone", + "value": "+2519000000", + "use": "home" + } + ], + "gender": "female", + "birthDate": "1999-06-19", + "address": [ + { + "type": "physical", + "text": "Urban", + "state": "Addis Ababa", + "city": "Cherkos sub city", + "district": "10", + "line": ["17", "927/5"] + } + ], + "maritalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus", + "code": "M", + "display": "Married" + } + ] + }, + "managingOrganization": { + "reference": "Organization/009a6a861c1b45778c0cbedadefe52a4" + } + }, + "request": { + "method": "PUT", + "url": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + } + }, + { + "resource": { + "resourceType": "Encounter", + "id": "13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481", + "status": "finished", + "extension": [ + { + "url": "http://cdr.aacahb.gov.et/visit-type", + "valueString": "Unscheduled" + }, + { + "url": "http://cdr.aacahb.gov.et/next-visit", + "valueDateTime": "2017-01-19" + } + ], + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/Encounter", + "value": "900326" + } + ], + "type": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "390906007" + } + ], + "text": "Follow-up encounter" + } + ], + "serviceType": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/service-type", + "code": "536", + "display": "Art therapy" + }, + { + "system": "http://snomed.info/sct", + "code": "65153003", + "display": "Art therapy" + } + ] + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "period": { + "start": "2016-12-19", + "end": "2016-12-19" + } + }, + "request": { + "method": "PUT", + "url": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + } + }, + { + "resource": { + "resourceType": "MedicationStatement", + "id": "50d3b3fc-2c52-493f-8890-3eed413b1f66medStat481", + "status": "not-taken", + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "context": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "effectivePeriod": { + "start": "2016-12-22" + }, + "reasonCode": [ + { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/arv-therapy", + "code": "arv-treatment", + "display": "ARV Treatment started" + } + ], + "text": "ARV Treatment started" + } + ] + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/50d3b3fc-2c52-493f-8890-3eed413b1f66medStat481" + } + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "511f54b5-4f2d-4401-85fd-bfea7b2fa8bbMedDisp481", + "extension": [ + { + "url": "http://cdr.aacahb.gov.et/was-switched", + "valueBoolean": "false" + }, + { + "url": "http://cdr.aacahb.gov.et/switch-type", + "valueString": "1st switch" + }, + { + "url": "http://cdr.aacahb.gov.et/switch-reason", + "valueString": "Clinical failure" + }, + { + "url": "http://cdr.aacahb.gov.et/dose-end-date", + "valueDateTime": "2017-04-08" + } + ], + "status": "completed", + "statusReasonCodeableConcept": { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/medication-dispense/status-reason", + "code": "lost" + } + ] + }, + "context": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/hiv-regimen-codes", + "code": "1c" + } + ] + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "quantity": { + "value": "168", + "system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm", + "code": "Tablet", + "unit": "Tablet" + }, + "daysSupply": { + "value": "110", + "unit": "Day", + "system": "http://unitsofmeasure.org", + "code": "d" + } + }, + "request": { + "method": "PUT", + "url": "MedicationDispense/511f54b5-4f2d-4401-85fd-bfea7b2fa8bbMedDisp481" + } + }, + { + "resource": { + "resourceType": "QuestionnaireResponse", + "id": "fcc43c4a-03b5-4c62-87a4-43ace65d4a55PregnancyQuest481", + "questionnaire": "PregnancyStatus", + "status": "completed", + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "item": [ + { + "linkId": "pregnant", + "text": "Is Pregnant", + "answer": [ + { + "valueBoolean": "true", + "item": [ + { + "linkId": "pregnant.want-to-be-pregnant", + "text": "Want to be pregnant", + "answer": [ + { + "valueBoolean": false + } + ] + } + ] + } + ] + }, + { + "linkId": "is-breast-feeding", + "text": "Is breast feeding", + "answer": [ + { + "valueBoolean": "false" + } + ] + } + ] + }, + "request": { + "method": "PUT", + "url": "QuestionnaireResponse/fcc43c4a-03b5-4c62-87a4-43ace65d4a55PregnancyQuest481" + } + }, + { + "resource": { + "resourceType": "QuestionnaireResponse", + "id": "66bb28b3-cd8a-400c-94a2-d669d2e47005ARTQuest481", + "questionnaire": "ARTEligibility", + "status": "completed", + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "source": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "item": [ + { + "linkId": "hiv-confirmation-date", + "text": "HIV Confirmed Date", + "answer": [ + { + "valueDate": "2016-03-15" + } + ] + }, + { + "linkId": "eligbility", + "item": [ + { + "linkId": "eligbility.eligbile", + "text": "Eligible for ART", + "answer": [ + { + "valueBoolean": true, + "item": [ + { + "linkId": "eligbility.eligbile.why", + "text": "Why Eligible", + "answer": [ + { + "valueString": "WHO HIV Clinical Stage 3 && 4,CD4 less than or equal to 500" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "request": { + "method": "PUT", + "url": "QuestionnaireResponse/66bb28b3-cd8a-400c-94a2-d669d2e47005ARTQuest481" + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "410ed3de-82e3-4086-b5bb-fa2f7dfa41baAdherence981", + "status": "final", + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "partOf": [ + { + "reference": "MedicationDispense/511f54b5-4f2d-4401-85fd-bfea7b2fa8bbMedDisp481" + } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "418633004", + "display": "Medication adherence" + } + ] + }, + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "135818000", + "display": "Poor - grade" + } + ] + } + }, + "request": { + "method": "PUT", + "url": "Observation/410ed3de-82e3-4086-b5bb-fa2f7dfa41baAdherence981" + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "190a54e9-b787-4b56-967b-0c929a1d6e31NutrtionalStatus481", + "status": "final", + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history", + "display": "Social History" + } + ] + } + ], + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "87276001", + "display": "Nutritional status" + } + ] + }, + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "255604002", + "display": "Mild Malnutrition" + } + ] + } + }, + "request": { + "method": "PUT", + "url": "Observation/190a54e9-b787-4b56-967b-0c929a1d6e31NutrtionalStatus481" + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "60601a7a-2031-4c43-8881-aaf959d3f3f8Weight481", + "status": "final", + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs", + "display": "Vital Signs" + } + ], + "text": "Vital Signs" + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "29463-7", + "display": "Body weight" + } + ], + "text": "Weight" + }, + "valueQuantity": { + "value": "39", + "unit": "kilogram", + "system": "http://unitsofmeasure.org", + "code": "kg" + } + }, + "request": { + "method": "PUT", + "url": "Observation/60601a7a-2031-4c43-8881-aaf959d3f3f8Weight481" + } + }, + { + "resource": { + "resourceType": "MedicationStatement", + "id": "4ba565ae-aab9-4009-a68d-a1afa6a5110aTbScreening481", + "extention": [ + { + "url": "http://cdr.aacahb.gov.et/TreatmentPhase", + "valueString": "INH1" + } + ], + "context": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "status": "stopped", + "category": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "699618001", + "display": "Tuberculosis preventive therapy" + } + ] + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "effectivePeriod": { + "start": "2016-12-10", + "end": "2017-01-11" + }, + "reasonCode": [ + { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/prophylaxis-type", + "code": "continuous" + } + ] + } + ] + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/4ba565ae-aab9-4009-a68d-a1afa6a5110aTbScreening481" + } + }, + { + "resource": { + "resourceType": "MedicationStatement", + "id": "85823549-616c-4ed1-9f78-d385c4374072TbrxTreatment481", + "extention": [ + { + "url": "http://cdr.aacahb.gov.et/TreatmentPhase", + "valueString": "TBRx1" + } + ], + "context": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "status": "completed", + "category": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "tb-treatment", + "display": "TB Treatment" + } + ] + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "effectivePeriod": { + "start": "2017-01-28", + "end": "2017-01-30" + }, + "reasonCode": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "56717001", + "display": "Tuberculosis (disorder)" + } + ] + } + ] + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/85823549-616c-4ed1-9f78-d385c4374072TbrxTreatment481" + } + }, + { + "resource": { + "resourceType": "MedicationStatement", + "id": "efc1a629-0e1a-4326-88e7-fbd0be2fe9dbCotrimoxazolTreatment481", + "extention": [ + { + "url": "http://cdr.aacahb.gov.et/Adherence-level", + "valueString": "good" + } + ], + "context": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "status": "active", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "398731002", + "display": "Product containing sulfamethoxazole and trimethoprim" + } + ], + "text": "Co-trimoxazole" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "effectivePeriod": { + "start": "2016-11-10", + "end": "2016-11-20" + }, + "dosage": [ + { + "maxDosePerPeriod": { + "numerator": { + "value": 30, + "unit": "Dose", + "system": "http://unitsofmeasure.org", + "code": "Dose" + }, + "denominator": { + "value": 30, + "unit": "days", + "system": "http://unitsofmeasure.org", + "code": "d" + } + } + } + ] + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/efc1a629-0e1a-4326-88e7-fbd0be2fe9dbCotrimoxazolTreatment481" + } + }, + { + "resource": { + "resourceType": "MedicationStatement", + "id": "bf03f2eb-1fd0-4d45-972b-86c5969d33c4FluconazoleTreatment481", + "context": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "status": "active", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "387174006", + "display": "Fluconazole" + } + ], + "text": "Fluconazole" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "effectivePeriod": { + "start": "2016-12-08", + "end": "2017-01-23" + } + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/bf03f2eb-1fd0-4d45-972b-86c5969d33c4FluconazoleTreatment481" + } + }, + { + "resource": { + "resourceType": "DiagnosticReport", + "id": "1546df70-7168-4a2f-9f89-7e134d42c07eViralLoad481", + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0074", + "code": "LAB", + "display": "Laboratory" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "315124004", + "display": "Human immunodeficiency virus viral load" + } + ], + "text": "viral load" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "effectivePeriod": { + "start": "2017-01-03", + "end": "2017-01-13" + }, + "conclusion": "Suppressed" + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/1546df70-7168-4a2f-9f89-7e134d42c07eViralLoad481" + } + }, + { + "resource": { + "resourceType": "QuestionnaireResponse", + "id": "141326b1-27f1-4c5e-9553-0bdccab9dc40ASM481", + "questionnaire": "AppointmentSpacingModel", + "status": "completed", + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "item": [ + { + "linkId": "assessment", + "item": [ + { + "linkId": "assessment.assessed", + "text": "Assessed For ASM", + "answer": [ + { + "valueBoolean": "false" + } + ] + }, + { + "linkId": "assessment.date", + "text": "Assessed Date", + "answer": [ + { + "valueBoolean": "false" + } + ] + } + ] + }, + { + "linkId": "category", + "text": "Category", + "answer": [ + { + "valueString": "Category 4e" + } + ] + }, + { + "linkId": "eligible", + "text": "Is Eligible For ASM", + "answer": [ + { + "valueBoolean": "false" + } + ] + }, + { + "linkId": "counseled", + "text": "Counseled", + "answer": [ + { + "valueBoolean": "true" + } + ] + }, + { + "linkId": "enrollment", + "item": [ + { + "linkId": "enrollment.agree", + "text": "Agree To Be Enrolled", + "answer": [ + { + "valueBoolean": "true" + } + ] + }, + { + "linkId": "enrollment.enrolled", + "text": "Enrolled To ASM", + "answer": [ + { + "valueBoolean": "true" + } + ] + }, + { + "linkId": "enrollment.reason", + "text": "Reason Not Enrolled To ASM", + "answer": [ + { + "valueString": "Drug Stock Out" + } + ] + }, + { + "linkId": "enrollment.date", + "text": "Enrollment Date", + "answer": [ + { + "valueDate": "2016-12-31" + } + ] + } + ] + }, + { + "linkId": "couple-enrollment", + "item": [ + { + "linkId": "couple-enrollment.enrolled", + "text": "Couple Enrolled To ASM", + "answer": [ + { + "valueBoolean": "true" + } + ] + }, + { + "linkId": "couple-enrollment.uat-no", + "text": "Couple UAT No", + "answer": [ + { + "valueString": "14097912" + } + ] + } + ] + }, + { + "linkId": "new-category-change", + "item": [ + { + "linkId": "new-category-change.type", + "text": "New Category Change", + "answer": [ + { + "valueBoolean": "false" + } + ] + }, + { + "linkId": "new-category-change.reason", + "text": "Reason For Category Change", + "answer": [ + { + "valueBoolean": "false" + } + ] + }, + { + "linkId": "new-category-change.date", + "text": "Category Change Date", + "answer": [ + { + "valueBoolean": "false" + } + ] + } + ] + }, + { + "linkId": "termination", + "item": [ + { + "linkId": "termination.terminated", + "text": "Terminated From ASM", + "answer": [ + { + "valueBoolean": "true" + } + ] + }, + { + "linkId": "termination.reason", + "text": "Reason For Termination", + "answer": [ + { + "valueString": "Lost from follow up" + } + ] + }, + { + "linkId": "termination.date", + "text": "Terminated Date", + "answer": [ + { + "valueDate": "2016-12-27" + } + ] + } + ] + } + ] + }, + "request": { + "method": "PUT", + "url": "QuestionnaireResponse/141326b1-27f1-4c5e-9553-0bdccab9dc40ASM481" + } + }, + { + "resource": { + "resourceType": "CarePlan", + "id": "691dac7c-ead7-4bfa-bd7c-32f33d10f4c4CarePlan481", + "category": [ + { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/care-plan", + "code": "hiv-positive-tracking", + "display": "HIV Positive Tracking" + } + ] + } + ], + "status": "active", + "intent": "order", + "created": "2016-12-14", + "period": { + "start": "2016-12-19", + "end": "2020-09-13" + }, + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "supportingInfo": { + "reference": "ServiceRequest/5366affa-0576-41a1-931b-aa6e3c64894dServiceRequest481" + }, + "activity": [ + { + "detail": { + "code": { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/tracking", + "code": "started-art", + "display": "Started ART" + } + ] + }, + "status": "not-started", + "statusReason": { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/tracking/status-reason", + "code": "on-oi-management" + } + ] + }, + "description": "Address adherence barriers" + } + }, + { + "detail": { + "code": { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/tracking", + "code": "linked-to-care", + "display": "Linked to care and treatment" + } + ] + }, + "status": "not-started", + "scheduledPeriod": { + "valueBoolean": "false" + } + } + }, + { + "extension": [ + { + "url": "http://cdr.aacahb.gov.et/FinalOutcomeKnown", + "valueBoolean": "true" + } + ], + "outcomeCodeableConcept": [ + { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/final-outcome", + "code": "confirmed-referral", + "display": "Confirmed referral" + } + ] + } + ], + "detail": { + "code": { + "coding": [ + { + "system": "http://cdr.aacahb.gov.et/tracking", + "code": "final-outcome", + "display": "Final Outcome" + } + ] + }, + "kind": "ServiceRequest", + "location": { + "display": "Teklehaymanot medium clinic" + }, + "scheduledPeriod": { + "start": "2017-01-12" + } + } + } + ] + }, + "request": { + "method": "PUT", + "url": "CarePlan/691dac7c-ead7-4bfa-bd7c-32f33d10f4c4CarePlan481" + } + }, + { + "resource": { + "resourceType": "Observation", + "id": "280ecb76-0f77-48ab-b1fd-4aa59fa91925ViralLoadResult480", + "status": "final", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/Laoratory", + "value": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + } + ], + "encounter": { + "reference": "Encounter/13588dce-9c0d-4ac1-959f-3a9f49b0d573encounter481" + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory", + "display": "Laboratory" + } + ] + } + ], + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + }, + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "315124004", + "display": "Human immunodeficiency virus viral load" + } + ], + "text": "Viral load count" + }, + "valueQuantity": { + "value": "1100", + "unit": "Count", + "system": "http://unitsofmeasure.org", + "code": "{Count}" + } + }, + "request": { + "method": "PUT", + "url": "Observation/280ecb76-0f77-48ab-b1fd-4aa59fa91925ViralLoadResult461" + } + }, + { + "resource": { + "resourceType": "ServiceRequest", + "id": "5366affa-0576-41a1-931b-aa6e3c64894dServiceRequest481", + "basedOn": [ + { + "reference": "CarePlan/691dac7c-ead7-4bfa-bd7c-32f33d10f4c4CarePlan481" + } + ], + "status": "active", + "code": { + "text": "From Within Facility", + "coding": [ + { + "display": "Internal facility referral or transfer", + "system": "http://loinc.org", + "code": "LA9328-1" + } + ] + }, + "locationCode": [ + { + "text": "Homenickmouth" + } + ], + "intent": "plan", + "subject": { + "reference": "Patient/642b83d3-a43c-41ef-a578-2b730f276bfb" + } + }, + "request": { + "method": "PUT", + "url": "ServiceRequest/5366affa-0576-41a1-931b-aa6e3c64894dServiceRequest481" + } + } + ] +} diff --git a/test/cucumber/features/resources/organization.json b/test/cucumber/features/resources/organization.json new file mode 100644 index 00000000..4d11a798 --- /dev/null +++ b/test/cucumber/features/resources/organization.json @@ -0,0 +1,339 @@ +{ + "resourceType": "Bundle", + "type": "transaction", + "entry": [ + { + "resource": { + "resourceType": "Organization", + "id": "009a6a861c1b45778c0cbedadefe52a4", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "141010063" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID", + "value": "xQcwHlb5f7a" + } + ], + "active": true, + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "code": "prov", + "display": "Healthcare Provider" + } + ] + } + ], + "name": "Teklehaymanot medium clinic", + "telecom": [ + { + "system": "phone", + "value": "+2519000003", + "use": "work" + } + ], + "address": [ + { + "type": "physical", + "text": "Urban", + "state": "Addis Ababa", + "city": "Cherkos sub city", + "district": "10", + "line": ["17", "927/5"] + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/009a6a861c1b45778c0cbedadefe52a4" + } + }, + { + "resource": { + "resourceType": "Organization", + "id": "878066e1-cca1-406e-ab74-fe49040aeec0", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "111" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID", + "value": "DGjspVpNRWY" + } + ], + "active": true, + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "code": "prov", + "display": "Healthcare Provider" + } + ] + } + ], + "name": "22 Maazoria Higher Clinic", + "telecom": [ + { + "system": "phone", + "value": "+2519000003", + "use": "work" + } + ], + "address": [ + { + "type": "physical", + "text": "Urban", + "state": "Addis Ababa", + "city": "Bole Sub City", + "district": "10", + "line": ["17", "927/5"] + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/878066e1-cca1-406e-ab74-fe49040aeec0" + } + }, + { + "resource": { + "resourceType": "Organization", + "id": "90e0848e-0674-4f3d-af15-8b2f43530453", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "222" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID", + "value": "zHir1atyWSU" + } + ], + "active": true, + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "code": "prov", + "display": "Healthcare Provider" + } + ] + } + ], + "name": "3S Pedatric Specality Clinc", + "telecom": [ + { + "system": "phone", + "value": "+2519000003", + "use": "work" + } + ], + "address": [ + { + "type": "physical", + "text": "Urban", + "state": "Addis Ababa", + "city": "Lideta Sub City", + "district": "10", + "line": ["17", "927/5"] + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/90e0848e-0674-4f3d-af15-8b2f43530453" + } + }, + { + "resource": { + "meta": { + "versionId": "1", + "lastUpdated": "2021-09-27T12:36:43.000+00:00", + "source": "#qlEFrVn4Kr0jUJJT" + }, + "active": true, + "id": "18d5a42102424a9586867549b5abb350", + "resourceType": "Organization", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "141050012" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID" + } + ], + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "display": "Healthcare Provider", + "code": "prov" + } + ] + } + ], + "address": [ + { + "city": "Horo Gudru Welega", + "state": "Oromia", + "line": ["Ref Balcha Hamile"], + "district": "Hababo Gudru" + } + ], + "name": "Dj Balcha Hospital" + }, + "request": { + "method": "PUT", + "url": "Organization/18d5a42102424a9586867549b5abb350" + } + }, + { + "resource": { + "meta": { + "versionId": "1", + "lastUpdated": "2021-09-27T12:41:09.000+00:00", + "source": "#40prM4CLrTYzFp8d" + }, + "active": true, + "id": "b6e9f3f4307c4d12914a4ceba24f9217", + "resourceType": "Organization", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "306120023" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID", + "value": "KZfdQbGXABc" + } + ], + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "display": "Healthcare Provider", + "code": "prov" + } + ] + } + ], + "address": [ + { + "city": "East Gojam", + "state": "Amhara", + "line": ["Ref Balcha Hamile"], + "district": "Awabel" + } + ], + "name": "Wojel Health Center" + }, + "request": { + "method": "PUT", + "url": "Organization/b6e9f3f4307c4d12914a4ceba24f9217" + } + }, + { + "resource": { + "meta": { + "versionId": "1", + "lastUpdated": "2021-09-27T12:49:09.000+00:00", + "source": "#SM7EDfMuLn9ehHd0" + }, + "active": true, + "id": "7c18655bec4542fd8d323045b8d953d4", + "resourceType": "Organization", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "419040024" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID", + "value": "JsM59TuriZg" + } + ], + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "display": "Healthcare Provider", + "code": "prov" + } + ] + } + ], + "address": [ + { + "city": "Horo Gudru Welega", + "state": "Oromia", + "line": ["Ref Toko Tane Hamile"], + "district": "Hababo Gudru" + } + ], + "name": "Kenate Biya Health Center" + }, + "request": { + "method": "PUT", + "url": "Organization/7c18655bec4542fd8d323045b8d953d4" + } + }, + { + "resource": { + "meta": { + "versionId": "1", + "lastUpdated": "2021-09-27T12:55:13.000+00:00", + "source": "#A2NbGgtGWC0lO6j8" + }, + "active": true, + "id": "1490b3ca120c457b998b8d5b719d8378", + "resourceType": "Organization", + "identifier": [ + { + "system": "http://cdr.aacahb.gov.et/MOHId", + "value": "204050011" + }, + { + "system": "http://cdr.aacahb.gov.et/HFUID", + "value": "MxsObjvc3WV" + } + ], + "type": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/organization-type", + "display": "Healthcare Provider", + "code": "prov" + } + ] + } + ], + "address": [ + { + "city": "Fanti (zone 4)", + "state": "Afar", + "line": ["Kebele 01"], + "district": "Golina" + } + ], + "name": "Kelewan District Hospital" + }, + "request": { + "method": "PUT", + "url": "Organization/1490b3ca120c457b998b8d5b719d8378" + } + } + ] +} diff --git a/test/cucumber/features/resources/testsSecurity.tf b/test/cucumber/features/resources/testsSecurity.tf new file mode 100644 index 00000000..cb1a8d2e --- /dev/null +++ b/test/cucumber/features/resources/testsSecurity.tf @@ -0,0 +1,93 @@ +########## Security for platform tests (insecure mode) ########### + +resource "aws_security_group" "docker_swarm_sg" { + vpc_id = "${var.VPC_ID}" + name = "${var.PROJECT_NAME}_sg" + egress { + from_port = 0 + to_port = 0 + protocol = -1 + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 80 + to_port = 80 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 5001 + to_port = 5001 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 8124 + to_port = 8124 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 3033 + to_port = 3033 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 3447 + to_port = 3447 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 2376 + to_port = 2377 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 7946 + to_port = 7946 + protocol = "udp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 7946 + to_port = 7946 + protocol = "tcp" + cidr_blocks = [ + "0.0.0.0/0"] + } + ingress { + from_port = 4789 + to_port = 4789 + protocol = "udp" + cidr_blocks = [ + "0.0.0.0/0"] + } + tags = { + Name = "${var.PROJECT_NAME}-docker-swarm-sg" + } +} diff --git a/test/cucumber/features/single-mode/recipe.feature b/test/cucumber/features/single-mode/recipe.feature new file mode 100644 index 00000000..54a93c50 --- /dev/null +++ b/test/cucumber/features/single-mode/recipe.feature @@ -0,0 +1,74 @@ +Feature: CDR-DW recipe? + Does the recipe work as expected + +Scenario: Init the CDR recipe + Given I use parameters "package init -p cdr-dw --dev --env-file=cdr-dw.env" + When I launch the platform with params + Then The service "mongo-1" should be started with 1 replica + And The service "openhim-core" should be started with 1 replica + And The service "openhim-console" should be started with 1 replica + And The service "postgres-1" should be started with 1 replica + And The service "hapi-fhir" should be started with 1 replica + And The service "kafka-01" should be started with 1 replica + And The service "kafdrop" should be started with 1 replica + And The service "kafka-minion" should be started with 1 replica + And The service "keycloak-postgres-1" should be started with 1 replica + And The service "identity-access-manager-keycloak" should be started with 1 replica + And The service "jempi-ratel" should be started with 1 replica + And The service "jempi-alpha-01" should be started with 1 replica + And The service "jempi-alpha-02" should be started with 1 replica + And The service "jempi-alpha-03" should be started with 1 replica + And The service "jempi-zero-01" should be started with 1 replica + And The service "jempi-async-receiver" should be started with 1 replica + And The service "kafka-unbundler-consumer" should be started with 1 replica + And The service "kafka-mapper-consumer" should be started with 1 replica + And The service "mpi-mediator" should be started with 1 replica + And The service "openhim-mapping-mediator" should be started with 1 replica + And The service "grafana" should be started with 1 replica + And The service "prometheus" should be started with 1 replica + And The service "cadvisor" should be started with 1 replica + And The service "node-exporter" should be started with 1 replica + And The service "cadvisor" should have healthy containers + And The service "loki" should be started with 1 replica + And The service "promtail" should be started with 1 replica + And The service "minio-01" should be started with 1 replica + And The service "dashboard-visualiser-superset" should be started with 1 replica + And The service "analytics-datastore-clickhouse" should be started with 1 replica + +Scenario: Send Fhir bundle and store the clinical data in the Fhir datastore, the patient info in the CR + Given I have configured the cdr + When I send a fhir patient bundle + Then the clinical data should be stored in hapi fhir + And the patient data in the Jempi client registry + And the data should be stored in clickhouse + +Scenario: Fetch International Patient summary (IPS) + When I then send a fhir patient summary request + Then I should get a successful summary response + +Scenario: Fetch everything for a patient (all the clinical data) + When I then send a request for all the patient's clinical data + Then I should get a successful everything response + +Scenario: Bring down the servers + Given I use parameters "package down -p cdr-dw --env-file=cdr-dw.env" + When I launch the platform with params + Then a request to fetch data from the cdr should fail + +Scenario: Bring up the servers and test + Given I use parameters "package up -p cdr-dw --dev --env-file=cdr-dw.env" + When I launch the platform with params + Then The service "mongo-1" should be started with 1 replica + And The service "openhim-core" should be started with 1 replica + And The service "openhim-console" should be started with 1 replica + And The service "postgres-1" should be started with 1 replica + And The service "hapi-fhir" should be started with 1 replica + When I then send a request for all the patient's clinical data + Then I should get a successful everything response + And the data should be stored in clickhouse + +Scenario: Destroy the services + Given I use parameters "package remove -p cdr-dw --env-file=cdr-dw.env" + When I launch the platform with params + Then There should be 0 service + And There should be 0 volume diff --git a/test/cucumber/features/single-mode/superset.feature b/test/cucumber/features/single-mode/superset.feature index 21463078..4666504f 100644 --- a/test/cucumber/features/single-mode/superset.feature +++ b/test/cucumber/features/single-mode/superset.feature @@ -5,12 +5,13 @@ Feature: Dashboard Visualiser Superset? Given I use parameters "package init -n=dashboard-visualiser-superset --only --dev --env-file=.env.local" When I launch the platform with params Then The service "dashboard-visualiser-superset" should be started with 1 replica + And The service "postgres-metastore" should be started with 1 replica And The service "superset-config-importer" should be removed And The service "ddashboard-visualiser-superset" should have healthy containers And The service "dashboard-visualiser-superset" should be connected to the networks | reverse-proxy_public | clickhouse_public | keycloak_public | superset_default | - And There should be 1 service - And There should be 3 volumes + And There should be 2 service + And There should be 2 volumes Scenario: Destroy Dashboard Visualiser Superset Given I use parameters "package destroy -n=dashboard-visualiser-superset --only --dev --env-file=.env.local" diff --git a/test/cucumber/features/steps/recipesSteps.js b/test/cucumber/features/steps/recipesSteps.js new file mode 100644 index 00000000..9c119150 --- /dev/null +++ b/test/cucumber/features/steps/recipesSteps.js @@ -0,0 +1,118 @@ +"use strict" + +const axios = require("axios"); +const fs = require("fs"); +const path = require('path'); +const chai = require("chai"); +const { ClickHouse } = require('clickhouse'); +const { Given, When, Then, setDefaultTimeout } = require("@cucumber/cucumber"); +setDefaultTimeout(30 * 60 * 1000); + +const HOST = + process.env.HOST || 'localhost'; +const CLICKHOUSE_PORT = parseInt(process.env.CLICKHOUSE_PORT || '8124'); +const CLICKHOUSE_DEBUG = Boolean(process.env.CLICKHOUSE_DEBUG || false); + +const { expect } = chai; + +const clickhouse = new ClickHouse({ + url: HOST, + port: CLICKHOUSE_PORT, + debug: CLICKHOUSE_DEBUG, + raw: true, +}); + +const query = table => `SELECT * FROM ${table}`; + +const sendRequest = (url, method='POST', data={}) => { + return axios({ + url, + headers: { + 'Content-Type': 'application/fhir+json', + Authorization: `Custom test` + }, + data, + method + }) +}; + +let PatientID; + +Given("I have configured the cdr", async function () { + await new Promise((resolve) => { + setTimeout(() => resolve(), 300000) + }); + const organization = JSON.parse( + fs.readFileSync(path.resolve(__dirname, '..' , 'resources', 'organization.json')) + ); + + this.cdrConfigResult = await sendRequest(`http://${HOST}:5001/fhir`, 'POST', organization); +}); + +When("I send a fhir patient bundle", async function () { + const fhirBundle = JSON.parse( + fs.readFileSync(path.resolve(__dirname, '..' , 'resources', 'fhirBundle.json')) + ); + + this.fhirBundleSentResult = await sendRequest(`http://${HOST}:5001/fhir`, 'POST', fhirBundle); +}); + +When("I then send a fhir patient summary request", async function () { + this.IPSResult = await sendRequest(`http://${HOST}:5001/fhir/Patient/${PatientID}/$summary`, 'GET'); +}); + +When("I then send a request for all the patient's clinical data", async function () { + this.EverythingResult = await sendRequest(`http://${HOST}:5001/fhir/Patient/${PatientID}/$everything?_mdm=true`, 'GET'); +}); + +When("I wait for the services to start up", async function() { + await new Promise((resolve) => { + setTimeout(() => resolve(), 1500000); + }); +}); + +Then("the clinical data should be stored in hapi fhir", async function () { + this.fhirBundleSentResult.data.entry.forEach(rec => { + expect(rec.response.status).to.match(/201|200/); + }); +}); + +Then("the patient data in the Jempi client registry", async function () { + const patientResource = this.fhirBundleSentResult.data.entry.filter(rec => rec.response.location.match('Patient'))[0]; + + PatientID = patientResource.response.location.split('/')[1]; + + const patient = await sendRequest(`http://${HOST}:5001/fhir/links/Patient/${PatientID}`, 'GET'); + + expect(patient.data.link.filter(pat => pat.other.reference.match(`Patient/${PatientID}`)).length).to.equal(1); +}); + +Then("I should get a successful summary response", function () { + expect(this.IPSResult.data.total).to.be.greaterThan(0); +}); + +Then("I should get a successful everything response", function () { + expect(this.EverythingResult.data.total).to.be.greaterThan(0); +}); + +Then("a request to fetch data from the cdr should fail", async function () { + await sendRequest(`http://${HOST}:5001/fhir/links/Patient/${PatientID}`).catch(err => { + expect(err.message).to.match(/ECONNREFUSED|socket hang up|ETIMEDOUT/); + }); +}); + +Then("the data should be stored in clickhouse", async function () { + await new Promise((resolve) => { + setTimeout(() => resolve(), 20000) + }); + + const patient = await clickhouse.query( + query("patient_example"), + ).toPromise(); + const observation = await clickhouse.query( + query("observation_example") + ).toPromise(); + + expect(JSON.parse(patient).rows).to.be.greaterThan(0); + expect(JSON.parse(observation).rows).to.be.greaterThan(0); +}); diff --git a/test/cucumber/package.json b/test/cucumber/package.json index b9684654..5cb81a4e 100644 --- a/test/cucumber/package.json +++ b/test/cucumber/package.json @@ -4,7 +4,9 @@ "description": "A package to test the platform", "scripts": { "test:single": "cucumber-js 'features/single-mode/**/*.feature'", + "test:single:recipe": "cucumber-js 'features/single-mode/recipe.feature'", "test:cluster": "cucumber-js 'features/cluster-mode/**/*.feature'", + "test:cluster:recipe": "cucumber-js 'features/cluster-mode/recipe.cluster.feature'", "test:single:clickhouse": "cucumber-js 'features/single-mode/clickhouse.feature'", "test:cluster:clickhouse": "cucumber-js 'features/cluster-mode/clickhouse.cluster.feature'", "test:single:elk": "cucumber-js 'features/single-mode/elastic-packages.feature'", @@ -31,9 +33,11 @@ }, "devDependencies": { "@cucumber/cucumber": "8.5.0", + "axios": "^1.6.8", "chai": "4.3.6", "chai-arrays": "2.2.0", "chai-things": "0.2.0", + "clickhouse": "^2.6.0", "dockerode": "3.3.2" } } diff --git a/test/cucumber/yarn.lock b/test/cucumber/yarn.lock index 548e8686..0246101d 100644 --- a/test/cucumber/yarn.lock +++ b/test/cucumber/yarn.lock @@ -3,40 +3,40 @@ "@babel/runtime@^7.15.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== + "integrity" "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz" + "version" "7.22.6" dependencies: - regenerator-runtime "^0.13.4" + "regenerator-runtime" "^0.13.11" "@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "integrity" "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + "resolved" "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + "version" "1.5.0" "@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + "integrity" "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==" + "resolved" "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + "version" "0.8.1" dependencies: "@jridgewell/trace-mapping" "0.3.9" "@cucumber/ci-environment@9.0.4": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@cucumber/ci-environment/-/ci-environment-9.0.4.tgz#12cb8335905cbaa5029d43006eaa69f9e1b05ec5" - integrity sha512-da6H/wtVerhGUP4OCWTOmbNd4+gC1FhAcLzYgn6O68HgQbMwkmV3M8AwtbQWZkfF+Ph7z0M/UQYYdNIDu5V5MA== + "integrity" "sha512-da6H/wtVerhGUP4OCWTOmbNd4+gC1FhAcLzYgn6O68HgQbMwkmV3M8AwtbQWZkfF+Ph7z0M/UQYYdNIDu5V5MA==" + "resolved" "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.0.4.tgz" + "version" "9.0.4" "@cucumber/cucumber-expressions@16.0.0": - version "16.0.0" - resolved "https://registry.yarnpkg.com/@cucumber/cucumber-expressions/-/cucumber-expressions-16.0.0.tgz#f8bc43da26f12db8f0d74ff3031a881e4fa4516d" - integrity sha512-HTh+Pg7oQ5aLuCkSbD2Q6jBaE40M3R/XaLEz+UqD5d9dZRu6P38W4LTooV5bV6dZgBunlMLK8+6ug2ziYvRddw== + "integrity" "sha512-HTh+Pg7oQ5aLuCkSbD2Q6jBaE40M3R/XaLEz+UqD5d9dZRu6P38W4LTooV5bV6dZgBunlMLK8+6ug2ziYvRddw==" + "resolved" "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-16.0.0.tgz" + "version" "16.0.0" dependencies: - regexp-match-indices "1.0.2" + "regexp-match-indices" "1.0.2" "@cucumber/cucumber@8.5.0": - version "8.5.0" - resolved "https://registry.yarnpkg.com/@cucumber/cucumber/-/cucumber-8.5.0.tgz#265348b0c7680426006fc4e41abc9424bd5cc8b3" - integrity sha512-Ac64lYhgzRxFGf3MnlysMG0zmHa18HfuOU1BA5RfXsrHeWtZx525zH4FsqtRW2AnlYHGu3pQpww5zyQKWi1WDA== + "integrity" "sha512-Ac64lYhgzRxFGf3MnlysMG0zmHa18HfuOU1BA5RfXsrHeWtZx525zH4FsqtRW2AnlYHGu3pQpww5zyQKWi1WDA==" + "resolved" "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-8.5.0.tgz" + "version" "8.5.0" dependencies: "@cspotcode/source-map-support" "^0.8.0" "@cucumber/ci-environment" "9.0.4" @@ -48,962 +48,1321 @@ "@cucumber/message-streams" "4.0.1" "@cucumber/messages" "19.1.2" "@cucumber/tag-expressions" "4.1.0" - assertion-error-formatter "^3.0.0" - capital-case "^1.0.4" - chalk "^4.1.2" - cli-table3 "0.6.2" - commander "^9.0.0" - duration "^0.2.2" - durations "^3.4.2" - figures "^3.2.0" - glob "^7.1.6" - has-ansi "^4.0.1" - indent-string "^4.0.0" - is-installed-globally "^0.4.0" - is-stream "^2.0.0" - knuth-shuffle-seeded "^1.0.6" - lodash.merge "^4.6.2" - lodash.mergewith "^4.6.2" - mz "^2.7.0" - progress "^2.0.3" - resolve-pkg "^2.0.0" - semver "7.3.7" - stack-chain "^2.0.0" - string-argv "^0.3.1" - strip-ansi "6.0.1" - supports-color "^8.1.1" - tmp "^0.2.1" - util-arity "^1.1.0" - verror "^1.10.0" - yup "^0.32.11" + "assertion-error-formatter" "^3.0.0" + "capital-case" "^1.0.4" + "chalk" "^4.1.2" + "cli-table3" "0.6.2" + "commander" "^9.0.0" + "duration" "^0.2.2" + "durations" "^3.4.2" + "figures" "^3.2.0" + "glob" "^7.1.6" + "has-ansi" "^4.0.1" + "indent-string" "^4.0.0" + "is-installed-globally" "^0.4.0" + "is-stream" "^2.0.0" + "knuth-shuffle-seeded" "^1.0.6" + "lodash.merge" "^4.6.2" + "lodash.mergewith" "^4.6.2" + "mz" "^2.7.0" + "progress" "^2.0.3" + "resolve-pkg" "^2.0.0" + "semver" "7.3.7" + "stack-chain" "^2.0.0" + "string-argv" "^0.3.1" + "strip-ansi" "6.0.1" + "supports-color" "^8.1.1" + "tmp" "^0.2.1" + "util-arity" "^1.1.0" + "verror" "^1.10.0" + "yup" "^0.32.11" "@cucumber/gherkin-streams@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz#8c2142d295cd05644456be7282b4bd756c95c4cd" - integrity sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q== + "integrity" "sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==" + "resolved" "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz" + "version" "5.0.1" dependencies: - commander "9.1.0" - source-map-support "0.5.21" + "commander" "9.1.0" + "source-map-support" "0.5.21" "@cucumber/gherkin-utils@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@cucumber/gherkin-utils/-/gherkin-utils-8.0.0.tgz#8730d001f16ab9ff6e41febf72575d1c63477edb" - integrity sha512-8uIZInEe3cO1cASmy3BA0PbVFUI+xWBnZAxmICbVOPsZaMB85MtESZLafzErgfRQPsHf6uYbVagP7MIjNPM5Jw== + "integrity" "sha512-8uIZInEe3cO1cASmy3BA0PbVFUI+xWBnZAxmICbVOPsZaMB85MtESZLafzErgfRQPsHf6uYbVagP7MIjNPM5Jw==" + "resolved" "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-8.0.0.tgz" + "version" "8.0.0" dependencies: "@cucumber/messages" "^19.0.0" "@teppeis/multimaps" "2.0.0" - commander "9.3.0" + "commander" "9.3.0" -"@cucumber/gherkin@24.0.0": - version "24.0.0" - resolved "https://registry.yarnpkg.com/@cucumber/gherkin/-/gherkin-24.0.0.tgz#b0d2ab328caa5357491f1117c31195d3e545da0c" - integrity sha512-b7OsnvX1B8myDAKMc+RAiUX9bzgtNdjGsiMj10O13xu2HBWIOQ19EqBJ4xLO5CFG/lGk1J/+L0lANQVowxLVBg== +"@cucumber/gherkin@>=22.0.0", "@cucumber/gherkin@24.0.0": + "integrity" "sha512-b7OsnvX1B8myDAKMc+RAiUX9bzgtNdjGsiMj10O13xu2HBWIOQ19EqBJ4xLO5CFG/lGk1J/+L0lANQVowxLVBg==" + "resolved" "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-24.0.0.tgz" + "version" "24.0.0" dependencies: "@cucumber/messages" "^19.0.0" "@cucumber/html-formatter@19.2.0": - version "19.2.0" - resolved "https://registry.yarnpkg.com/@cucumber/html-formatter/-/html-formatter-19.2.0.tgz#47b9fcb58fbb48d0e6124fd2e867d9c6fe299470" - integrity sha512-qGms4588jmVF/G3fTbgZvxn6OQw9GaTFV007nZZ9/10M9DfrgRqjFjVxVI9TPV63xOLPicEVoqsKZtcECbdMSA== + "integrity" "sha512-qGms4588jmVF/G3fTbgZvxn6OQw9GaTFV007nZZ9/10M9DfrgRqjFjVxVI9TPV63xOLPicEVoqsKZtcECbdMSA==" + "resolved" "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-19.2.0.tgz" + "version" "19.2.0" -"@cucumber/message-streams@4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@cucumber/message-streams/-/message-streams-4.0.1.tgz#a5339d3504594bb2edb5732aaae94dddb24d0970" - integrity sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA== +"@cucumber/message-streams@>=4.0.0", "@cucumber/message-streams@4.0.1": + "integrity" "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==" + "resolved" "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz" + "version" "4.0.1" -"@cucumber/messages@19.1.2", "@cucumber/messages@^19.0.0": - version "19.1.2" - resolved "https://registry.yarnpkg.com/@cucumber/messages/-/messages-19.1.2.tgz#cc846c191b124deb352dd1992bd49a82f30b0add" - integrity sha512-vhWkNmQco+7tk/DWqpN0/R9KTNvsKsXVfZ7IsJs+dEeWmTuRztklHq8lJalwMSQBl71+2/KqGHzOO4BMTC9wIQ== +"@cucumber/messages@^19.0.0", "@cucumber/messages@>=17.1.1", "@cucumber/messages@>=18", "@cucumber/messages@19.1.2": + "integrity" "sha512-vhWkNmQco+7tk/DWqpN0/R9KTNvsKsXVfZ7IsJs+dEeWmTuRztklHq8lJalwMSQBl71+2/KqGHzOO4BMTC9wIQ==" + "resolved" "https://registry.npmjs.org/@cucumber/messages/-/messages-19.1.2.tgz" + "version" "19.1.2" dependencies: "@types/uuid" "8.3.4" - class-transformer "0.5.1" - reflect-metadata "0.1.13" - uuid "8.3.2" + "class-transformer" "0.5.1" + "reflect-metadata" "0.1.13" + "uuid" "8.3.2" "@cucumber/tag-expressions@4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@cucumber/tag-expressions/-/tag-expressions-4.1.0.tgz#9a91b0e0dd2f2ba703e3038c52b49b9ac06c2c6f" - integrity sha512-chTnjxV3vryL75N90wJIMdMafXmZoO2JgNJLYpsfcALL2/IQrRiny3vM9DgD5RDCSt1LNloMtb7rGey9YWxCsA== + "integrity" "sha512-chTnjxV3vryL75N90wJIMdMafXmZoO2JgNJLYpsfcALL2/IQrRiny3vM9DgD5RDCSt1LNloMtb7rGey9YWxCsA==" + "resolved" "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-4.1.0.tgz" + "version" "4.1.0" "@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + "integrity" "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + "version" "3.1.1" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + "integrity" "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + "version" "1.4.15" "@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + "version" "0.3.9" dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@teppeis/multimaps@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@teppeis/multimaps/-/multimaps-2.0.0.tgz#2114ee964b702f9777d0e07899087ad9cd89a0de" - integrity sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w== + "integrity" "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==" + "resolved" "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz" + "version" "2.0.0" "@types/lodash@^4.14.175": - version "4.14.184" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" - integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== + "integrity" "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==" + "resolved" "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz" + "version" "4.14.195" "@types/uuid@8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== - -ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -asn1@^0.2.4: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assertion-error-formatter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz#be9c8825dee6a8a6c72183d915912d9b57d5d265" - integrity sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ== - dependencies: - diff "^4.0.1" - pad-right "^0.2.2" - repeat-string "^1.6.1" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bcrypt-pbkdf@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buildcheck@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5" - integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA== - -capital-case@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" - integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - -chai-arrays@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/chai-arrays/-/chai-arrays-2.2.0.tgz#571479cbc5eca81605ed4eed1e8a2a28552d2a25" - integrity sha512-4awrdGI2EH8owJ9I58PXwG4N56/FiM8bsn4CVSNEgr4GKAM6Kq5JPVApUbhUBjDakbZNuRvV7quRSC38PWq/tg== - -chai-things@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/chai-things/-/chai-things-0.2.0.tgz#c55128378f9bb399e994f00052151984ed6ebe70" - integrity sha512-6ns0SU21xdRCoEXVKH3HGbwnsgfVMXQ+sU5V8PI9rfxaITos8lss1vUxbF1FAcJKjfqmmmLVlr/z3sLes00w+A== - -chai@4.3.6: - version "4.3.6" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" - integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - -chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -class-transformer@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/class-transformer/-/class-transformer-0.5.1.tgz#24147d5dffd2a6cea930a3250a677addf96ab336" - integrity sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw== - -cli-table3@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" - integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== - dependencies: - string-width "^4.2.0" + "integrity" "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" + "resolved" "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz" + "version" "8.3.4" + +"ajv@^6.12.3": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + dependencies: + "fast-deep-equal" "^3.1.1" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.4.1" + "uri-js" "^4.2.2" + +"ansi-regex@^4.1.0": + "integrity" "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" + "version" "4.1.1" + +"ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"any-promise@^1.0.0": + "integrity" "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "resolved" "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" + "version" "1.3.0" + +"asn1@^0.2.6", "asn1@~0.2.3": + "integrity" "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==" + "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" + "version" "0.2.6" + dependencies: + "safer-buffer" "~2.1.0" + +"assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" + +"assertion-error-formatter@^3.0.0": + "integrity" "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==" + "resolved" "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "diff" "^4.0.1" + "pad-right" "^0.2.2" + "repeat-string" "^1.6.1" + +"assertion-error@^1.1.0": + "integrity" "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + "resolved" "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" + "version" "1.1.0" + +"asynckit@^0.4.0": + "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"aws-sign2@~0.7.0": + "integrity" "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + "version" "0.7.0" + +"aws4@^1.8.0": + "integrity" "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz" + "version" "1.12.0" + +"axios@^1.6.8": + "integrity" "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==" + "resolved" "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz" + "version" "1.6.8" + dependencies: + "follow-redirects" "^1.15.6" + "form-data" "^4.0.0" + "proxy-from-env" "^1.1.0" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"base64-js@^1.3.1": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" + +"bcrypt-pbkdf@^1.0.0", "bcrypt-pbkdf@^1.0.2": + "integrity" "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==" + "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "tweetnacl" "^0.14.3" + +"bl@^4.0.3": + "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"buffer-from@^1.0.0": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"buffer@^5.5.0": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"buildcheck@~0.0.6": + "integrity" "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==" + "resolved" "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz" + "version" "0.0.6" + +"capital-case@^1.0.4": + "integrity" "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==" + "resolved" "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + "upper-case-first" "^2.0.2" + +"caseless@~0.12.0": + "integrity" "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + "version" "0.12.0" + +"chai-arrays@2.2.0": + "integrity" "sha512-4awrdGI2EH8owJ9I58PXwG4N56/FiM8bsn4CVSNEgr4GKAM6Kq5JPVApUbhUBjDakbZNuRvV7quRSC38PWq/tg==" + "resolved" "https://registry.npmjs.org/chai-arrays/-/chai-arrays-2.2.0.tgz" + "version" "2.2.0" + +"chai-things@0.2.0": + "integrity" "sha512-6ns0SU21xdRCoEXVKH3HGbwnsgfVMXQ+sU5V8PI9rfxaITos8lss1vUxbF1FAcJKjfqmmmLVlr/z3sLes00w+A==" + "resolved" "https://registry.npmjs.org/chai-things/-/chai-things-0.2.0.tgz" + "version" "0.2.0" + +"chai@4.3.6": + "integrity" "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==" + "resolved" "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz" + "version" "4.3.6" + dependencies: + "assertion-error" "^1.1.0" + "check-error" "^1.0.2" + "deep-eql" "^3.0.1" + "get-func-name" "^2.0.0" + "loupe" "^2.3.1" + "pathval" "^1.1.1" + "type-detect" "^4.0.5" + +"chalk@^4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"check-error@^1.0.2": + "integrity" "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" + "resolved" "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" + "version" "1.0.2" + +"chownr@^1.1.1": + "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + "version" "1.1.4" + +"class-transformer@0.5.1": + "integrity" "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" + "resolved" "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz" + "version" "0.5.1" + +"cli-table3@0.6.2": + "integrity" "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==" + "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "string-width" "^4.2.0" optionalDependencies: "@colors/colors" "1.5.0" -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -commander@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.1.0.tgz#a6b263b2327f2e188c6402c42623327909f2dbec" - integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w== - -commander@9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" - integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== - -commander@^9.0.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -cpu-features@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz#0023475bb4f4c525869c162e4108099e35bf19d8" - integrity sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A== - dependencies: - buildcheck "0.0.3" - nan "^2.15.0" - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -debug@^4.1.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -docker-modem@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-3.0.6.tgz#8c76338641679e28ec2323abb65b3276fb1ce597" - integrity sha512-h0Ow21gclbYsZ3mkHDfsYNDqtRhXS8fXr51bU0qr1dxgTMJj0XufbzX+jhNOvA8KuEEzn6JbvLVhXyv+fny9Uw== - dependencies: - debug "^4.1.1" - readable-stream "^3.5.0" - split-ca "^1.0.1" - ssh2 "^1.11.0" - -dockerode@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-3.3.2.tgz#f3545700d2f7f86141b58843a755eeb21e38d5cd" - integrity sha512-oXN+1XVH2TeyE0Jj9Ci6Fim8ZIDxyqeJrkx9qhEOaRiA+nhLihKfd3M2L+Aqrj5C2ObPw8RVN2zPWvvk0x2dwg== - dependencies: - docker-modem "^3.0.0" - tar-fs "~2.0.1" - -duration@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/duration/-/duration-0.2.2.tgz#ddf149bc3bc6901150fe9017111d016b3357f529" - integrity sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg== - dependencies: - d "1" - es5-ext "~0.10.46" - -durations@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/durations/-/durations-3.4.2.tgz#1de230454373cccfecab927de0bebae2295301db" - integrity sha512-V/lf7y33dGaypZZetVI1eu7BmvkbC4dItq12OElLRpKuaU5JxQstV2zHwLv8P7cNbQ+KL1WD80zMCTx5dNC4dg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.46: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== - -glob@^7.1.3, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - -has-ansi@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-4.0.1.tgz#f216a8c8d7b129e490dc15f4a62cc1cdb9603ce8" - integrity sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A== - dependencies: - ansi-regex "^4.1.0" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -knuth-shuffle-seeded@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz#01f1b65733aa7540ee08d8b0174164d22081e4e1" - integrity sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg== - dependencies: - seed-random "~2.2.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loupe@^2.3.1: - version "2.3.4" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" - integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== - dependencies: - get-func-name "^2.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.15.0, nan@^2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" - integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== - -nanoclone@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" - integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -pad-right@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" - integrity sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g== - dependencies: - repeat-string "^1.5.2" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -property-expr@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.5.tgz#278bdb15308ae16af3e3b9640024524f4dc02cb4" - integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -reflect-metadata@0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== - -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regexp-match-indices@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz#cf20054a6f7d5b3e116a701a7b00f82889d10da6" - integrity sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ== - dependencies: - regexp-tree "^0.1.11" - -regexp-tree@^0.1.11: - version "0.1.24" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.24.tgz#3d6fa238450a4d66e5bc9c4c14bb720e2196829d" - integrity sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw== - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-2.0.0.tgz#ac06991418a7623edc119084edc98b0e6bf05a41" - integrity sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ== - dependencies: - resolve-from "^5.0.0" - -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -seed-random@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/seed-random/-/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54" - integrity sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ== - -semver@7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -source-map-support@0.5.21: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -split-ca@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" - integrity sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ== - -ssh2@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.11.0.tgz#ce60186216971e12f6deb553dcf82322498fe2e4" - integrity sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw== - dependencies: - asn1 "^0.2.4" - bcrypt-pbkdf "^1.0.2" +"clickhouse@^2.6.0": + "integrity" "sha512-HC5OV99GJOup4qZsTuWWPpXlj+847Z0OeygDU2x22rNYost0V/vWapzFWYZdV/5iRbGMrhFQPOyQEzmGvoaWRQ==" + "resolved" "https://registry.npmjs.org/clickhouse/-/clickhouse-2.6.0.tgz" + "version" "2.6.0" + dependencies: + "JSONStream" "1.3.4" + "lodash" "4.17.21" + "querystring" "0.2.0" + "request" "2.88.0" + "stream2asynciter" "1.0.3" + "through" "2.3.8" + "tsv" "0.2.0" + "uuid" "3.4.0" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"combined-stream@^1.0.6", "combined-stream@^1.0.8", "combined-stream@~1.0.6": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"commander@^9.0.0": + "integrity" "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" + "version" "9.5.0" + +"commander@9.1.0": + "integrity" "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==" + "resolved" "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz" + "version" "9.1.0" + +"commander@9.3.0": + "integrity" "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz" + "version" "9.3.0" + +"concat-map@0.0.1": + "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"core-util-is@1.0.2": + "integrity" "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + +"cpu-features@~0.0.8": + "integrity" "sha512-BbHBvtYhUhksqTjr6bhNOjGgMnhwhGTQmOoZGD+K7BCaQDCuZl/Ve1ZxUSMRwVC4D/rkCPQ2MAIeYzrWyK7eEg==" + "resolved" "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.8.tgz" + "version" "0.0.8" + dependencies: + "buildcheck" "~0.0.6" + "nan" "^2.17.0" + +"d@^1.0.1", "d@1": + "integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==" + "resolved" "https://registry.npmjs.org/d/-/d-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "es5-ext" "^0.10.50" + "type" "^1.0.1" + +"dashdash@^1.12.0": + "integrity" "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==" + "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "assert-plus" "^1.0.0" + +"debug@^4.1.1": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"deep-eql@^3.0.1": + "integrity" "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==" + "resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "type-detect" "^4.0.0" + +"delayed-stream@~1.0.0": + "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + +"diff@^4.0.1": + "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + "version" "4.0.2" + +"docker-modem@^3.0.0": + "integrity" "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==" + "resolved" "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz" + "version" "3.0.8" + dependencies: + "debug" "^4.1.1" + "readable-stream" "^3.5.0" + "split-ca" "^1.0.1" + "ssh2" "^1.11.0" + +"dockerode@3.3.2": + "integrity" "sha512-oXN+1XVH2TeyE0Jj9Ci6Fim8ZIDxyqeJrkx9qhEOaRiA+nhLihKfd3M2L+Aqrj5C2ObPw8RVN2zPWvvk0x2dwg==" + "resolved" "https://registry.npmjs.org/dockerode/-/dockerode-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "docker-modem" "^3.0.0" + "tar-fs" "~2.0.1" + +"duration@^0.2.2": + "integrity" "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==" + "resolved" "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "d" "1" + "es5-ext" "~0.10.46" + +"durations@^3.4.2": + "integrity" "sha512-V/lf7y33dGaypZZetVI1eu7BmvkbC4dItq12OElLRpKuaU5JxQstV2zHwLv8P7cNbQ+KL1WD80zMCTx5dNC4dg==" + "resolved" "https://registry.npmjs.org/durations/-/durations-3.4.2.tgz" + "version" "3.4.2" + +"ecc-jsbn@~0.1.1": + "integrity" "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==" + "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "jsbn" "~0.1.0" + "safer-buffer" "^2.1.0" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"end-of-stream@^1.1.0", "end-of-stream@^1.4.1": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"es5-ext@^0.10.35", "es5-ext@^0.10.50", "es5-ext@~0.10.46": + "integrity" "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==" + "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" + "version" "0.10.62" + dependencies: + "es6-iterator" "^2.0.3" + "es6-symbol" "^3.1.3" + "next-tick" "^1.1.0" + +"es6-iterator@^2.0.3": + "integrity" "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==" + "resolved" "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "d" "1" + "es5-ext" "^0.10.35" + "es6-symbol" "^3.1.1" + +"es6-symbol@^3.1.1", "es6-symbol@^3.1.3": + "integrity" "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==" + "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "d" "^1.0.1" + "ext" "^1.1.2" + +"escape-string-regexp@^1.0.5": + "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"ext@^1.1.2": + "integrity" "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==" + "resolved" "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "type" "^2.7.2" + +"extend@~3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"extsprintf@^1.2.0": + "integrity" "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz" + "version" "1.4.1" + +"extsprintf@1.3.0": + "integrity" "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + +"fast-deep-equal@^3.1.1": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-json-stable-stringify@^2.0.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" + +"figures@^3.2.0": + "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "escape-string-regexp" "^1.0.5" + +"follow-redirects@^1.15.6": + "integrity" "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" + "version" "1.15.6" + +"forever-agent@~0.6.1": + "integrity" "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "version" "0.6.1" + +"form-data@^4.0.0": + "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.8" + "mime-types" "^2.1.12" + +"form-data@~2.3.2": + "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + +"fs-constants@^1.0.0": + "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + "version" "1.0.0" + +"fs.realpath@^1.0.0": + "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"get-func-name@^2.0.0": + "integrity" "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" + "resolved" "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" + "version" "2.0.0" + +"getpass@^0.1.1": + "integrity" "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==" + "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "assert-plus" "^1.0.0" + +"glob@^7.1.3", "glob@^7.1.6": + "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + "version" "7.2.3" + dependencies: + "fs.realpath" "^1.0.0" + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^3.1.1" + "once" "^1.3.0" + "path-is-absolute" "^1.0.0" + +"global-dirs@^3.0.0": + "integrity" "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==" + "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ini" "2.0.0" + +"har-schema@^2.0.0": + "integrity" "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + "version" "2.0.0" + +"har-validator@~5.1.0": + "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + "version" "5.1.5" + dependencies: + "ajv" "^6.12.3" + "har-schema" "^2.0.0" + +"has-ansi@^4.0.1": + "integrity" "sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A==" + "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "ansi-regex" "^4.1.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"http-signature@~1.2.0": + "integrity" "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "assert-plus" "^1.0.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" + +"ieee754@^1.1.13": + "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + "version" "1.2.1" + +"indent-string@^4.0.0": + "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + "version" "4.0.0" + +"inflight@^1.0.4": + "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.3", "inherits@^2.0.4", "inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"ini@2.0.0": + "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + "version" "2.0.0" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + +"is-installed-globally@^0.4.0": + "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" + "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "global-dirs" "^3.0.0" + "is-path-inside" "^3.0.2" + +"is-path-inside@^3.0.2": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"is-typedarray@~1.0.0": + "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"isstream@~0.1.2": + "integrity" "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "version" "0.1.2" + +"jsbn@~0.1.0": + "integrity" "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + "version" "0.1.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-schema@0.4.0": + "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + "version" "0.4.0" + +"json-stringify-safe@~5.0.1": + "integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "version" "5.0.1" + +"jsonparse@^1.2.0": + "integrity" "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" + "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + "version" "1.3.1" + +"JSONStream@1.3.4": + "integrity" "sha512-Y7vfi3I5oMOYIr+WxV8NZxDSwcbNgzdKYsTNInmycOq9bUYwGg9ryu57Wg5NLmCjqdFPNUmpMBo3kSJN9tCbXg==" + "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz" + "version" "1.3.4" + dependencies: + "jsonparse" "^1.2.0" + "through" ">=2.2.7 <3" + +"jsprim@^1.2.2": + "integrity" "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" + "version" "1.4.2" + dependencies: + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.4.0" + "verror" "1.10.0" + +"knuth-shuffle-seeded@^1.0.6": + "integrity" "sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg==" + "resolved" "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "seed-random" "~2.2.0" + +"lodash-es@^4.17.21": + "integrity" "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + "resolved" "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + "version" "4.17.21" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash.mergewith@^4.6.2": + "integrity" "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + "resolved" "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" + "version" "4.6.2" + +"lodash@^4.17.21", "lodash@4.17.21": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"loupe@^2.3.1": + "integrity" "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==" + "resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz" + "version" "2.3.6" + dependencies: + "get-func-name" "^2.0.0" + +"lower-case@^2.0.2": + "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" + "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "tslib" "^2.0.3" + +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + +"mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.12", "mime-types@~2.1.19": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"minimatch@^3.1.1": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"mkdirp-classic@^0.5.2": + "integrity" "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "resolved" "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" + "version" "0.5.3" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"mz@^2.7.0": + "integrity" "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==" + "resolved" "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "any-promise" "^1.0.0" + "object-assign" "^4.0.1" + "thenify-all" "^1.0.0" + +"nan@^2.17.0": + "integrity" "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + "resolved" "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz" + "version" "2.17.0" + +"nanoclone@^0.2.1": + "integrity" "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + "resolved" "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" + "version" "0.2.1" + +"next-tick@^1.1.0": + "integrity" "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" + "version" "1.1.0" + +"no-case@^3.0.4": + "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" + "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "lower-case" "^2.0.2" + "tslib" "^2.0.3" + +"oauth-sign@~0.9.0": + "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + "version" "0.9.0" + +"object-assign@^4.0.1": + "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"pad-right@^0.2.2": + "integrity" "sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==" + "resolved" "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "repeat-string" "^1.5.2" + +"path-is-absolute@^1.0.0": + "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"pathval@^1.1.1": + "integrity" "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + "resolved" "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" + "version" "1.1.1" + +"performance-now@^2.1.0": + "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + +"progress@^2.0.3": + "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + "version" "2.0.3" + +"property-expr@^2.0.4": + "integrity" "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + "resolved" "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz" + "version" "2.0.5" + +"proxy-from-env@^1.1.0": + "integrity" "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + "version" "1.1.0" + +"psl@^1.1.24": + "integrity" "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" + "version" "1.9.0" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"punycode@^1.4.1": + "integrity" "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + +"punycode@^2.1.0": + "integrity" "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + "version" "2.3.1" + +"qs@~6.5.2": + "integrity" "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" + "version" "6.5.3" + +"querystring@0.2.0": + "integrity" "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + "version" "0.2.0" + +"readable-stream@^3.1.1", "readable-stream@^3.4.0", "readable-stream@^3.5.0": + "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + "version" "3.6.2" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"reflect-metadata@0.1.13": + "integrity" "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + "resolved" "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz" + "version" "0.1.13" + +"regenerator-runtime@^0.13.11": + "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + "version" "0.13.11" + +"regexp-match-indices@1.0.2": + "integrity" "sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ==" + "resolved" "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "regexp-tree" "^0.1.11" + +"regexp-tree@^0.1.11": + "integrity" "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==" + "resolved" "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" + "version" "0.1.27" + +"repeat-string@^1.5.2", "repeat-string@^1.6.1": + "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"request@2.88.0": + "integrity" "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.0.tgz" + "version" "2.88.0" + dependencies: + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.0" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.19" + "oauth-sign" "~0.9.0" + "performance-now" "^2.1.0" + "qs" "~6.5.2" + "safe-buffer" "^5.1.2" + "tough-cookie" "~2.4.3" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve-pkg@^2.0.0": + "integrity" "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==" + "resolved" "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"rimraf@^3.0.0": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"safe-buffer@^5.0.1", "safe-buffer@^5.1.2", "safe-buffer@~5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@~2.1.0": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" + +"seed-random@~2.2.0": + "integrity" "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==" + "resolved" "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz" + "version" "2.2.0" + +"semver@7.3.7": + "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + "version" "7.3.7" + dependencies: + "lru-cache" "^6.0.0" + +"source-map-support@0.5.21": + "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + "version" "0.5.21" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map@^0.6.0": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"split-ca@^1.0.1": + "integrity" "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" + "resolved" "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz" + "version" "1.0.1" + +"ssh2@^1.11.0": + "integrity" "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==" + "resolved" "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz" + "version" "1.14.0" + dependencies: + "asn1" "^0.2.6" + "bcrypt-pbkdf" "^1.0.2" optionalDependencies: - cpu-features "~0.0.4" - nan "^2.16.0" - -stack-chain@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-2.0.0.tgz#d73d1172af89565f07438b5bcc086831b6689b2d" - integrity sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg== - -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@6.0.1, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -tar-fs@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.1.tgz#e44086c1c60d31a4f0cf893b1c4e155dabfae9e2" - integrity sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.0.0" - -tar-stream@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" + "cpu-features" "~0.0.8" + "nan" "^2.17.0" + +"sshpk@^1.7.0": + "integrity" "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==" + "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz" + "version" "1.18.0" + dependencies: + "asn1" "~0.2.3" + "assert-plus" "^1.0.0" + "bcrypt-pbkdf" "^1.0.0" + "dashdash" "^1.12.0" + "ecc-jsbn" "~0.1.1" + "getpass" "^0.1.1" + "jsbn" "~0.1.0" + "safer-buffer" "^2.0.2" + "tweetnacl" "~0.14.0" + +"stack-chain@^2.0.0": + "integrity" "sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==" + "resolved" "https://registry.npmjs.org/stack-chain/-/stack-chain-2.0.0.tgz" + "version" "2.0.0" + +"stream2asynciter@1.0.3": + "integrity" "sha512-9/dEZW+LQjuW6ub5hmWi4n9Pn8W8qA8k7NAE1isecesA164e73xTdy1CJ3S9o9YS+O21HuiK7T+4uS7FgKDy4w==" + "resolved" "https://registry.npmjs.org/stream2asynciter/-/stream2asynciter-1.0.3.tgz" + "version" "1.0.3" + +"string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + +"string-argv@^0.3.1": + "integrity" "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" + "resolved" "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + "version" "0.3.2" + +"string-width@^4.2.0": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"strip-ansi@^6.0.1", "strip-ansi@6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "ansi-regex" "^5.0.1" + +"supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"supports-color@^8.1.1": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "has-flag" "^4.0.0" + +"tar-fs@~2.0.1": + "integrity" "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==" + "resolved" "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "chownr" "^1.1.1" + "mkdirp-classic" "^0.5.2" + "pump" "^3.0.0" + "tar-stream" "^2.0.0" + +"tar-stream@^2.0.0": + "integrity" "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" + "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "bl" "^4.0.3" + "end-of-stream" "^1.4.1" + "fs-constants" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" + +"thenify-all@^1.0.0": + "integrity" "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==" + "resolved" "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" + "version" "1.6.0" + dependencies: + "thenify" ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" - integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== - -tslib@^2.0.3: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tweetnacl@^0.14.3: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -upper-case-first@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" - integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== - dependencies: - tslib "^2.0.3" - -util-arity@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/util-arity/-/util-arity-1.1.0.tgz#59d01af1fdb3fede0ac4e632b0ab5f6ce97c9330" - integrity sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA== - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -verror@^1.10.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" - integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yup@^0.32.11: - version "0.32.11" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" - integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== + "integrity" "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==" + "resolved" "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" + "version" "3.3.1" + dependencies: + "any-promise" "^1.0.0" + +"through@>=2.2.7 <3", "through@2.3.8": + "integrity" "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + +"tmp@^0.2.1": + "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "rimraf" "^3.0.0" + +"toposort@^2.0.2": + "integrity" "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + "resolved" "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" + "version" "2.0.2" + +"tough-cookie@~2.4.3": + "integrity" "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz" + "version" "2.4.3" + dependencies: + "psl" "^1.1.24" + "punycode" "^1.4.1" + +"tslib@^2.0.3": + "integrity" "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz" + "version" "2.6.0" + +"tsv@0.2.0": + "integrity" "sha512-GG6xbOP85giXXom0dS6z9uyDsxktznjpa1AuDlPrIXDqDnbhjr9Vk6Us8iz6U1nENL4CPS2jZDvIjEdaZsmc4Q==" + "resolved" "https://registry.npmjs.org/tsv/-/tsv-0.2.0.tgz" + "version" "0.2.0" + +"tunnel-agent@^0.6.0": + "integrity" "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "safe-buffer" "^5.0.1" + +"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": + "integrity" "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + "version" "0.14.5" + +"type-detect@^4.0.0", "type-detect@^4.0.5": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type@^1.0.1": + "integrity" "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + "resolved" "https://registry.npmjs.org/type/-/type-1.2.0.tgz" + "version" "1.2.0" + +"type@^2.7.2": + "integrity" "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + "resolved" "https://registry.npmjs.org/type/-/type-2.7.2.tgz" + "version" "2.7.2" + +"upper-case-first@^2.0.2": + "integrity" "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==" + "resolved" "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "tslib" "^2.0.3" + +"uri-js@^4.2.2": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"util-arity@^1.1.0": + "integrity" "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==" + "resolved" "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz" + "version" "1.1.0" + +"util-deprecate@^1.0.1": + "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"uuid@^3.3.2": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" + +"uuid@3.4.0": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" + +"uuid@8.3.2": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" + +"verror@^1.10.0": + "integrity" "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz" + "version" "1.10.1" + dependencies: + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" + +"verror@1.10.0": + "integrity" "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" + +"wrappy@1": + "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yup@^0.32.11": + "integrity" "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==" + "resolved" "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz" + "version" "0.32.11" dependencies: "@babel/runtime" "^7.15.4" "@types/lodash" "^4.14.175" - lodash "^4.17.21" - lodash-es "^4.17.21" - nanoclone "^0.2.1" - property-expr "^2.0.4" - toposort "^2.0.2" + "lodash" "^4.17.21" + "lodash-es" "^4.17.21" + "nanoclone" "^0.2.1" + "property-expr" "^2.0.4" + "toposort" "^2.0.2"