From 52df6a6cc77ad6e7a98b68b0f6eeaf9ac8bd3a59 Mon Sep 17 00:00:00 2001 From: James Batt Date: Tue, 28 Jan 2020 21:34:13 +1100 Subject: [PATCH 01/14] logging wip wip wip wip --- .gitignore | 1 + codegen.sh | 13 + go.mod | 34 +- go.sum | 86 + internal/auth/authconfig.go | 25 + internal/auth/basic.go | 85 + internal/auth/config.go | 63 - internal/auth/dex.go | 133 - internal/auth/gitlab.go | 21 + internal/auth/oauth.go | 1 + internal/auth/oidc.go | 104 + internal/auth/router.go | 41 + internal/auth/runtime.go | 32 + internal/auth/session.go | 65 + internal/config/config.go | 40 +- internal/{services => devices}/devices.go | 33 +- .../{services/dns.go => dnsproxy/server.go} | 16 +- internal/services/converters.go | 32 + internal/services/device_service.go | 82 + internal/services/network.go | 26 + internal/services/server_service.go | 41 + internal/services/wireguard.go | 176 - internal/services/wireguard_userspace.go | 42 - internal/storage/contracts.go | 13 +- internal/web/add_device.go | 56 - internal/web/delete_device.go | 35 - internal/web/list_devices.go | 45 - main.go | 153 +- proto/devices.proto | 37 + proto/proto/devices.pb.go | 441 + proto/proto/server.pb.go | 225 + proto/server.proto | 20 + website/.gitignore | 1 + website/package-lock.json | 38 + website/package.json | 16 +- website/src/Api.ts | 16 + website/src/Store.ts | 17 +- website/src/components/AddDevice.tsx | 78 +- .../{Device.tsx => DeviceListItem.tsx} | 23 +- website/src/components/Devices.tsx | 10 +- website/src/components/GetConnected.tsx | 20 +- website/src/sdk/devices_pb.ts | 610 + website/src/sdk/server_pb.ts | 262 + website/yarn.lock | 10214 ---------------- 44 files changed, 2515 insertions(+), 11007 deletions(-) create mode 100644 .gitignore create mode 100755 codegen.sh create mode 100644 internal/auth/authconfig.go create mode 100644 internal/auth/basic.go delete mode 100644 internal/auth/config.go delete mode 100644 internal/auth/dex.go create mode 100644 internal/auth/gitlab.go create mode 100644 internal/auth/oauth.go create mode 100644 internal/auth/oidc.go create mode 100644 internal/auth/router.go create mode 100644 internal/auth/runtime.go create mode 100644 internal/auth/session.go rename internal/{services => devices}/devices.go (82%) rename internal/{services/dns.go => dnsproxy/server.go} (82%) create mode 100644 internal/services/converters.go create mode 100644 internal/services/device_service.go create mode 100644 internal/services/server_service.go delete mode 100644 internal/services/wireguard.go delete mode 100644 internal/services/wireguard_userspace.go delete mode 100644 internal/web/add_device.go delete mode 100644 internal/web/delete_device.go delete mode 100644 internal/web/list_devices.go create mode 100644 proto/devices.proto create mode 100644 proto/proto/devices.pb.go create mode 100644 proto/proto/server.pb.go create mode 100644 proto/server.proto create mode 100644 website/src/Api.ts rename website/src/components/{Device.tsx => DeviceListItem.tsx} (79%) create mode 100644 website/src/sdk/devices_pb.ts create mode 100644 website/src/sdk/server_pb.ts delete mode 100644 website/yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5b6b0720 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +config.yaml diff --git a/codegen.sh b/codegen.sh new file mode 100755 index 00000000..76882b6c --- /dev/null +++ b/codegen.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +OUT_DIR="$DIR/proto/proto" + +mkdir -p "$OUT_DIR" || true + +protoc \ + -I proto/ \ + proto/*.proto \ + --go_out="plugins=grpc:$OUT_DIR" diff --git a/go.mod b/go.mod index 73b66c67..06d3aa66 100644 --- a/go.mod +++ b/go.mod @@ -3,14 +3,25 @@ module github.com/place1/wireguard-access-server go 1.13 require ( + github.com/Azure/azure-sdk-for-go v39.0.0+incompatible + github.com/Azure/go-autorest/autorest v0.9.5 // indirect + github.com/Azure/go-autorest/autorest/to v0.3.0 // indirect + github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect github.com/alexedwards/scs/v2 v2.2.0 github.com/beevik/etree v1.1.0 // indirect + github.com/coreos/etcd v3.3.18+incompatible github.com/coreos/go-iptables v0.4.3 - github.com/coreos/go-oidc v2.1.0+incompatible + github.com/coreos/go-oidc v2.2.1+incompatible + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dexidp/dex v2.13.0+incompatible github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/golang/protobuf v1.3.3 github.com/gorilla/handlers v1.4.2 // indirect - github.com/gorilla/mux v1.7.3 + github.com/gorilla/mux v1.7.4 + github.com/gorilla/sessions v1.2.0 + github.com/gorilla/websocket v1.4.1 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 + github.com/improbable-eng/grpc-web v0.12.0 github.com/jonboulle/clockwork v0.1.0 // indirect github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/kr/pretty v0.1.0 // indirect @@ -18,20 +29,21 @@ require ( github.com/miekg/dns v1.1.27 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pkg/errors v0.8.1 + github.com/place1/wg-embed v0.0.0 github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect github.com/prometheus/client_golang v1.2.1 + github.com/rs/cors v1.7.0 // indirect github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 // indirect github.com/sirupsen/logrus v1.4.2 - github.com/stretchr/testify v1.4.0 // indirect + github.com/tg123/go-htpasswd v1.0.0 github.com/vishvananda/netlink v1.0.0 - github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f // indirect - golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 // indirect - golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 // indirect - golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 - golang.org/x/sys v0.0.0-20191210023423-ac6580df4449 // indirect - golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191008142428-8d021180e987 + golang.org/x/net v0.0.0-20200202094626-16171245cfb2 // indirect + golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d + golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 // indirect + golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191205174707-786493d6718c google.golang.org/appengine v1.6.1 // indirect - google.golang.org/grpc v1.25.1 // indirect + google.golang.org/genproto v0.0.0-20200210034751-acff78025515 // indirect + google.golang.org/grpc v1.27.1 gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect @@ -39,3 +51,5 @@ require ( gopkg.in/square/go-jose.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.2.2 ) + +replace github.com/place1/wg-embed => ../wg-embed diff --git a/go.sum b/go.sum index df9d282e..68fc6aec 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,29 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/Azure/azure-sdk-for-go v39.0.0+incompatible h1:l2FVXqtd34UC7OZYkhcWY843CSFjRdrIRdBCTOanYwg= +github.com/Azure/azure-sdk-for-go v39.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-autorest v13.3.3+incompatible h1:oYzB8/Ldlo1Bq7By79KO/1nxWuoLnEoGQiToUM2rBZo= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.5 h1:IvOB+EPvwfzDNJBPe1i3wtnNKl1d/LJ+tweb0N1H3hg= +github.com/Azure/go-autorest/autorest v0.9.5/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.2 h1:O1X4oexUxnZCaEUGsvMnr8ZGj8HI37tNezwY4npRqA0= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0 h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/autorest/to v0.3.0 h1:zebkZaadz7+wIQYgC7GXaz3Wb28yKYfVkkBKwc38VF8= +github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= +github.com/Azure/go-autorest/autorest/validation v0.2.0 h1:15vMO4y76dehZSq7pAaOLQxC6dZYsSrj2GQpflyM/L4= +github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= +github.com/Azure/go-autorest/logger v0.1.0 h1:ruG4BSDXONFRrZZJ2GUXDiUyVpayPmb1GnWeHDdaNKY= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= @@ -22,16 +46,25 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/cespare/xxhash/v2 v2.1.0 h1:yTUvW7Vhb89inJ+8irsUqiWjh8iT6sQPZiQzI6ReGkA= github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/etcd v3.3.18+incompatible h1:Zz1aXgDrFFi1nadh58tA9ktt06cmPTwNNP3dXwIq1lE= +github.com/coreos/etcd v3.3.18+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-iptables v0.4.3 h1:jJg1aFuhCqWbgBl1VTqgTHG5faPM60A5JDMjQ2HYv+A= github.com/coreos/go-iptables v0.4.3/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= +github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= +github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dexidp/dex v2.13.0+incompatible h1:EQPpzCi51omkwBe0KYpRGaV3rk6CVvjcqeMGCe3Q00w= github.com/dexidp/dex v2.13.0+incompatible/go.mod h1:cRGkPWqKhDD1FMCICe2JbYDdVR2xGLa38F6iuH/jNAs= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -41,6 +74,7 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -49,6 +83,8 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= @@ -58,6 +94,18 @@ github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YAR github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ= +github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 h1:0IKlLyQ3Hs9nDaiK5cSHAGmcQEIC8l2Ts1u6x5Dfrqg= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= +github.com/improbable-eng/grpc-web v0.12.0 h1:GlCS+lMZzIkfouf7CNqY+qqpowdKuJLSLLcKVfM1oLc= +github.com/improbable-eng/grpc-web v0.12.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a h1:84IpUNXj4mCR9CuCEvSiCArMbzr/TMbuPIadKDwypkI= @@ -65,6 +113,8 @@ github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a/go.mod h1:Oz+ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= @@ -81,10 +131,14 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mdlayher/genetlink v0.0.0-20191004171646-5cf585d3b847 h1:EFRfaQaWMFsAqLGDvz9jYIlcMImQFCnCmohvVdVgdY8= github.com/mdlayher/genetlink v0.0.0-20191004171646-5cf585d3b847/go.mod h1:LNhNWFVJapYK8zEjVHUIle4gy+Oahfc3UtcaqZ8Dz98= +github.com/mdlayher/genetlink v0.0.0-20191205172946-651acf4b47ef h1:VOblll+3pOfnsJfEjrEX3TeKeF/gKkXOK20KMR7II+8= +github.com/mdlayher/genetlink v0.0.0-20191205172946-651acf4b47ef/go.mod h1:0rJ0h4itni50A86M2kHcgS85ttZazNt7a8H2a2cw0Gc= github.com/mdlayher/netlink v0.0.0-20190409211403-11939a169225/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA= github.com/mdlayher/netlink v0.0.0-20191004170026-3c8695cb0643/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M= github.com/mdlayher/netlink v0.0.0-20191008140946-2a17fd90af51 h1:rP02cBlv8sk9kC1iRINOapZNB9B5S6JChwmYXDiFKpU= github.com/mdlayher/netlink v0.0.0-20191008140946-2a17fd90af51/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M= +github.com/mdlayher/netlink v1.0.0 h1:vySPY5Oxnn/8lxAPn2cK6kAzcZzYJl3KriSLO46OT18= +github.com/mdlayher/netlink v1.0.0/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M= github.com/miekg/dns v1.1.27 h1:aEH/kqUzUxGJ/UHcEKdJY+ugH6WEzsEBBSPa8zuy1aM= github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721 h1:RlZweED6sbSArvlE924+mUcZuXKLBHA35U7LN621Bws= @@ -94,6 +148,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -118,6 +173,8 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8= github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao= github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -131,11 +188,19 @@ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/tg123/go-htpasswd v1.0.0 h1:Ze/pZsz73JiCwXIyJBPvNs75asKBgfodCf8iTEkgkXs= +github.com/tg123/go-htpasswd v1.0.0/go.mod h1:eQTgl67UrNKQvEPKrDLGBssjVwYQClFZjALVLhIv8C0= github.com/vishvananda/netlink v1.0.0 h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM= github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f h1:nBX3nTcmxEtHSERBJaIo1Qa26VwRaopnZmfDQUXsF4I= github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df h1:OviZH7qLw/7ZovXvuNyL3XQl8UFofeikI1NW1Gypu7k= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -143,6 +208,7 @@ golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc h1:c0o/qxkaO2LF5t6fQrT4b5 golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191205161847-0a08dada0ff9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -165,11 +231,16 @@ golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191007182048-72f939374954 h1:JGZucVF/L/TotR719NbujzadOZ2AgnYlqphQGHDCKaU= golang.org/x/net v0.0.0-20191007182048-72f939374954/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191204025024-5ee1b9f4859a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -192,11 +263,15 @@ golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9Y golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47 h1:/XfQ9z7ib8eEJX2hdgFTZJ/ntt0swNk5oYBziWeTCvY= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191210023423-ac6580df4449 h1:gSbV7h1NRL2G1xTg/owz62CST1oJBmxy4QpMMregXVQ= golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -207,8 +282,12 @@ golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapK golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.zx2c4.com/wireguard v0.0.20190908 h1:SUoXDdwSMtomLdvke+zz83/u9tNvl4hHmcTIWp38tow= golang.zx2c4.com/wireguard v0.0.20190908/go.mod h1:LhfXh5z6bLC2lW2ve6BzYZFwnnsXK3OQjySR0Yh2dO8= +golang.zx2c4.com/wireguard v0.0.20191012 h1:sdX+y3hrHkW8KJkjY7ZgzpT5Tqo8XnBkH55U1klphko= +golang.zx2c4.com/wireguard v0.0.20191012/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191008142428-8d021180e987 h1:26OAgqBTufVr8WKonCEhhjO1oKsYhHv0iM5Dg92G1TM= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191008142428-8d021180e987/go.mod h1:7hq1rEDsx7/FWl8IEEnfH2Xhs6M2MNnjUfN0PeI8Rm0= +golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191205174707-786493d6718c h1:9MFH2Au7qF0HJOS0QMGcQDzJliDbgfRxCJL2bC7mg9M= +golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191205174707-786493d6718c/go.mod h1:TzydbNMXe6on65zGwIBoz1YK7nFWpVIXTU6/2ODwUOs= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -218,10 +297,15 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200210034751-acff78025515 h1:SlofR15fzhHsop1cmdda0uNO88mGfustCgMZoy2VGfA= +google.golang.org/genproto v0.0.0-20200210034751-acff78025515/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1 h1:wdKvqQk7IttEw92GoRyKG2IDrUIpgpj6H6m81yfeMW0= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM= @@ -229,6 +313,8 @@ gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUy gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ldap.v2 v2.5.1 h1:wiu0okdNfjlBzg6UWvd1Hn8Y+Ux17/u/4nlk4CQr6tU= gopkg.in/ldap.v2 v2.5.1/go.mod h1:oI0cpe/D7HRtBQl8aTg+ZmzFUAvu4lsv3eLXMLGFxWk= gopkg.in/square/go-jose.v2 v2.4.0 h1:0kXPskUMGAXXWJlP05ktEMOV0vmzFQUWw6d+aZJQU8A= diff --git a/internal/auth/authconfig.go b/internal/auth/authconfig.go new file mode 100644 index 00000000..fe9e0af7 --- /dev/null +++ b/internal/auth/authconfig.go @@ -0,0 +1,25 @@ +package auth + +type AuthConfig struct { + OIDC *OIDCConfig `yaml:"oidc"` + Gitlab *GitlabConfig `yaml:"gitlab"` + Basic *BasicAuthConfig `yaml:"basic"` +} + +func (c *AuthConfig) Providers() []*Provider { + providers := []*Provider{} + + if c.OIDC != nil { + providers = append(providers, c.OIDC.Provider()) + } + + if c.Gitlab != nil { + providers = append(providers, c.Gitlab.Provider()) + } + + if c.Basic != nil { + providers = append(providers, c.Basic.Provider()) + } + + return providers +} diff --git a/internal/auth/basic.go b/internal/auth/basic.go new file mode 100644 index 00000000..19bf4d90 --- /dev/null +++ b/internal/auth/basic.go @@ -0,0 +1,85 @@ +package auth + +import ( + "fmt" + "net/http" + "strings" + + "github.com/gorilla/mux" + "github.com/tg123/go-htpasswd" +) + +type BasicAuthConfig struct { + // Users is a list of htpasswd encoded username:password pairs + // supports BCrypt, Sha, Ssha, Md5 + // example: "htpasswd -nB " + // copy the result into your user's array + Users []string `yaml:"users"` +} + +func (c *BasicAuthConfig) Provider() *Provider { + return &Provider{ + RegisterRoutes: func(router *mux.Router, runtime *ProviderRuntime) error { + router.HandleFunc("/login", basicAuthLogin(c, runtime)) + return nil + }, + } +} + +func basicAuthLogin(c *BasicAuthConfig, runtime *ProviderRuntime) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + + u, p, ok := r.BasicAuth() + if !ok { + w.Header().Set("WWW-Authenticate", `Basic realm="site"`) + w.WriteHeader(http.StatusUnauthorized) + fmt.Fprintln(w, "unauthorized") + return + } + + if ok := checkCreds(c.Users, u, p); ok { + runtime.SetSession(w, r, &AuthSession{ + Identity: &Identity{ + Subject: u, + }, + }) + } + + runtime.Done(w, r) + } +} + +func checkCreds(users []string, username string, password string) bool { + for _, user := range users { + if u, p, ok := parsehtpassword(user); ok { + if u == username { + return checkhtpasswd(p, password) + } + } + } + return false +} + +func parsehtpassword(user string) (string, string, bool) { + segments := strings.SplitN(user, ":", 2) + if len(segments) >= 1 { + return segments[0], segments[1], true + } + return "", "", false +} + +func checkhtpasswd(required string, given string) bool { + if encoded, err := htpasswd.AcceptBcrypt(required); encoded != nil && err == nil { + return encoded.MatchesPassword(given) + } + if encoded, err := htpasswd.AcceptSha(required); encoded != nil && err == nil { + return encoded.MatchesPassword(given) + } + if encoded, err := htpasswd.AcceptSsha(required); encoded != nil && err == nil { + return encoded.MatchesPassword(given) + } + if encoded, err := htpasswd.AcceptMd5(required); encoded != nil && err == nil { + return encoded.MatchesPassword(given) + } + return false +} diff --git a/internal/auth/config.go b/internal/auth/config.go deleted file mode 100644 index 71c45d5d..00000000 --- a/internal/auth/config.go +++ /dev/null @@ -1,63 +0,0 @@ -package auth - -import ( - "fmt" - - "github.com/dexidp/dex/storage" -) - -type Config struct { - Connectors []AuthConnector -} - -type AuthConnector interface { - toDexConnector(externalAddress string) storage.Connector -} - -// implements toDexConnector -type OIDCConfig struct { - Name string `yaml:"name"` - Issuer string `yaml:"issuer"` - ClientID string `yaml:"clientID"` - ClientSecret string `yaml:"clientSecret"` -} - -func (c *OIDCConfig) toDexConnector(externalAddr string) storage.Connector { - return storage.Connector{ - ID: storage.NewID(), - Type: "oidc", - Name: c.Name, - ResourceVersion: "1", - Config: []byte(fmt.Sprintf(`{ - "issuer": "%s", - "redirectURI": "%s/auth/callback", - "clientID": "%s", - "clientSecret": "%s" - }`, c.Issuer, externalAddr, c.ClientID, c.ClientSecret)), - } -} - -// implements toDexConnector -type GitlabConfig struct { - Name string `yaml:"name"` - BaseURL string `yaml:"baseURL"` - ClientID string `yaml:"clientID"` - ClientSecret string `yaml:"clientSecret"` -} - -func (c *GitlabConfig) toDexConnector(externalAddr string) storage.Connector { - return storage.Connector{ - ID: "gitlab", - Type: "gitlab", - Name: c.Name, - ResourceVersion: "1", - Config: []byte(fmt.Sprintf(`{ - "baseURL": "%s", - "redirectURI": "%s/auth/callback", - "clientID": "%s", - "clientSecret": "%s" - }`, c.BaseURL, externalAddr, c.ClientID, c.ClientSecret)), - } -} - -// TODO: others diff --git a/internal/auth/dex.go b/internal/auth/dex.go deleted file mode 100644 index b7bd41c6..00000000 --- a/internal/auth/dex.go +++ /dev/null @@ -1,133 +0,0 @@ -package auth - -import ( - "context" - "fmt" - "net/http" - - "github.com/alexedwards/scs/v2" - "github.com/coreos/go-oidc" - "github.com/dexidp/dex/storage" - "github.com/dexidp/dex/storage/memory" - "github.com/gorilla/mux" - "github.com/prometheus/client_golang/prometheus" - "github.com/sirupsen/logrus" - "golang.org/x/oauth2" - - "github.com/dexidp/dex/server" -) - -type DexIntegration struct { - router *mux.Router - externalAddr string - port int -} - -func NewDexServer(session *scs.SessionManager, externalAddr string, port int, config Config) (*DexIntegration, error) { - connectors := []storage.Connector{} - if config.Connectors != nil { - for _, c := range config.Connectors { - connectors = append(connectors, c.toDexConnector(externalAddr)) - } - } - - s := storage.WithStaticClients(memory.New(logrus.New()), []storage.Client{ - storage.Client{ - ID: "internal", - Name: "internal", - RedirectURIs: []string{fmt.Sprintf("%s/auth/-/callback", externalAddr)}, - Secret: "dummy-secret", - }, - }) - if len(connectors) > 0 { - s = storage.WithStaticConnectors(s, connectors) - } - - serv, err := server.NewServer(context.TODO(), server.Config{ - Logger: logrus.New(), - Issuer: fmt.Sprintf("%s/auth", externalAddr), - PrometheusRegistry: prometheus.NewRegistry(), - Storage: s, - Web: server.WebConfig{ - Dir: "dex-web", - LogoURL: "todo", - }, - SkipApprovalScreen: true, - }) - if err != nil { - return nil, err - } - - router := mux.NewRouter().PathPrefix("/auth").Subrouter() - - dex := &DexIntegration{ - router: router, - externalAddr: externalAddr, - port: port, - } - - router.HandleFunc("/login", dex.handleLogin).Methods("GET") - router.HandleFunc("/-/callback", dex.handleCallback(session)).Methods("GET") - router.PathPrefix("/").Handler(serv) - - return dex, nil -} - -func (d *DexIntegration) Router() *mux.Router { - return d.router -} - -func (d *DexIntegration) oauthConfig() (*oauth2.Config, *oidc.IDTokenVerifier) { - provider, err := oidc.NewProvider(context.TODO(), fmt.Sprintf("%s/auth", d.externalAddr)) - if err != nil { - panic(err) - } - return &oauth2.Config{ - ClientID: "internal", - ClientSecret: "dummy-secret", - Endpoint: provider.Endpoint(), - Scopes: []string{"openid", "email", "profile"}, - RedirectURL: fmt.Sprintf("%s/auth/-/callback", d.externalAddr), - }, provider.Verifier(&oidc.Config{ClientID: "internal"}) -} - -func (d *DexIntegration) handleLogin(w http.ResponseWriter, r *http.Request) { - logrus.Info("handling login") - c, _ := d.oauthConfig() - authCodeURL := c.AuthCodeURL("dummy-state") - http.Redirect(w, r, authCodeURL, http.StatusSeeOther) -} - -func (d *DexIntegration) handleCallback(session *scs.SessionManager) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - logrus.Info("handling callback") - state := r.URL.Query().Get("state") - - // Verify state. - if state != "dummy-state" { - panic("boom") - } - - c, idTokenVerifier := d.oauthConfig() - oauth2Token, err := c.Exchange(r.Context(), r.URL.Query().Get("code")) - if err != nil { - panic(err) - } - - // Extract the ID Token from OAuth2 token. - rawIDToken, ok := oauth2Token.Extra("id_token").(string) - if !ok { - panic("missing token") - } - - // Parse and verify ID Token payload. - idToken, err := idTokenVerifier.Verify(r.Context(), rawIDToken) - if err != nil { - // handle error - panic(err) - } - - session.Put(r.Context(), "auth/subject", idToken.Subject) - http.Redirect(w, r, "/", http.StatusSeeOther) - } -} diff --git a/internal/auth/gitlab.go b/internal/auth/gitlab.go new file mode 100644 index 00000000..481591a1 --- /dev/null +++ b/internal/auth/gitlab.go @@ -0,0 +1,21 @@ +package auth + +type GitlabConfig struct { + Name string `yaml:"name"` + BaseURL string `yaml:"baseURL"` + ClientID string `yaml:"clientID"` + ClientSecret string `yaml:"clientSecret"` + RedirectURL string `yaml:"redirectURL"` +} + +func (c *GitlabConfig) Provider() *Provider { + o := OIDCConfig{ + Name: c.Name, + Issuer: c.BaseURL, + ClientID: c.ClientID, + ClientSecret: c.ClientSecret, + RedirectURL: c.RedirectURL, + Scopes: []string{"openid"}, + } + return o.Provider() +} diff --git a/internal/auth/oauth.go b/internal/auth/oauth.go new file mode 100644 index 00000000..8832b06d --- /dev/null +++ b/internal/auth/oauth.go @@ -0,0 +1 @@ +package auth diff --git a/internal/auth/oidc.go b/internal/auth/oidc.go new file mode 100644 index 00000000..ab2e3c24 --- /dev/null +++ b/internal/auth/oidc.go @@ -0,0 +1,104 @@ +package auth + +import ( + "context" + "crypto/rand" + "encoding/base64" + "net/http" + "time" + + "github.com/coreos/go-oidc" + "github.com/gorilla/mux" + "github.com/sirupsen/logrus" + "golang.org/x/oauth2" +) + +type OIDCConfig struct { + Name string `yaml:"name"` + Issuer string `yaml:"issuer"` + ClientID string `yaml:"clientID"` + ClientSecret string `yaml:"clientSecret"` + Scopes []string `yaml:"scopes"` + RedirectURL string `yaml:"redirectURL"` +} + +func (c *OIDCConfig) Provider() *Provider { + ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) + defer cancel() + provider, err := oidc.NewProvider(ctx, c.Issuer) + if err != nil { + logrus.Fatal(err) + } + + if c.Scopes == nil { + c.Scopes = []string{"openid"} + } + + oauthConfig := &oauth2.Config{ + RedirectURL: c.RedirectURL, + ClientID: c.ClientID, + ClientSecret: c.ClientSecret, + Scopes: c.Scopes, + Endpoint: provider.Endpoint(), + } + + return &Provider{ + RegisterRoutes: func(router *mux.Router, runtime *ProviderRuntime) error { + router.HandleFunc("/login", loginHandler(runtime, oauthConfig)) + router.HandleFunc("/callback", callbackHandler(runtime, oauthConfig, provider)) + return nil + }, + } +} + +func loginHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + oauthStateString := randomString(32) + runtime.SetSession(w, r, &AuthSession{ + Nonce: &oauthStateString, + }) + url := oauthConfig.AuthCodeURL(oauthStateString) + http.Redirect(w, r, url, http.StatusTemporaryRedirect) + } +} + +func callbackHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config, provider *oidc.Provider) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + s, err := runtime.GetSession(r) + if err != nil { + http.Error(w, "no session", http.StatusBadRequest) + return + } + + state := r.FormValue("state") + if s.Nonce == nil || *s.Nonce != state { + http.Error(w, "bad nonce", http.StatusBadRequest) + return + } + + code := r.FormValue("code") + token, _ := oauthConfig.Exchange(r.Context(), code) + info, err := provider.UserInfo(r.Context(), oauthConfig.TokenSource(r.Context(), token)) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + + runtime.SetSession(w, r, &AuthSession{ + Identity: &Identity{ + Subject: info.Subject, + }, + }) + + runtime.Done(w, r) + } +} + +func randomString(size int) string { + blk := make([]byte, size) + _, err := rand.Read(blk) + if err != nil { + logrus.Fatal(err) + } + return base64.StdEncoding.EncodeToString(blk) +} diff --git a/internal/auth/router.go b/internal/auth/router.go new file mode 100644 index 00000000..baebde34 --- /dev/null +++ b/internal/auth/router.go @@ -0,0 +1,41 @@ +package auth + +import ( + "fmt" + "net/http" + + "github.com/gorilla/mux" + "github.com/gorilla/sessions" +) + +type AuthMiddleware struct { + config *AuthConfig +} + +func New(config *AuthConfig) *AuthMiddleware { + return &AuthMiddleware{config} +} + +func (m *AuthMiddleware) Wrap(next http.Handler) http.Handler { + + runtime := NewProviderRuntime(sessions.NewCookieStore([]byte(randomString(32)))) + router := mux.NewRouter() + + for _, p := range m.config.Providers() { + p.RegisterRoutes(router, runtime) + } + + router.PathPrefix("/").Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if s, err := runtime.GetSession(r); err == nil { + next.ServeHTTP(w, r.WithContext(setIdentityCtx(r.Context(), s))) + } else { + http.Redirect(w, r, "/login", http.StatusTemporaryRedirect) + } + })) + + return router +} + +func indexHandler(w http.ResponseWriter, r *http.Request) { + fmt.Fprintln(w, "Index") +} diff --git a/internal/auth/runtime.go b/internal/auth/runtime.go new file mode 100644 index 00000000..c0be7ab9 --- /dev/null +++ b/internal/auth/runtime.go @@ -0,0 +1,32 @@ +package auth + +import ( + "net/http" + + "github.com/gorilla/mux" + "github.com/gorilla/sessions" +) + +type Provider struct { + RegisterRoutes func(*mux.Router, *ProviderRuntime) error +} + +type ProviderRuntime struct { + store sessions.Store +} + +func NewProviderRuntime(store sessions.Store) *ProviderRuntime { + return &ProviderRuntime{store} +} + +func (p *ProviderRuntime) SetSession(w http.ResponseWriter, r *http.Request, s *AuthSession) error { + return setSession(p.store, r, w, s) +} + +func (p *ProviderRuntime) GetSession(r *http.Request) (*AuthSession, error) { + return getSession(p.store, r) +} + +func (p *ProviderRuntime) Done(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, "/", http.StatusTemporaryRedirect) +} diff --git a/internal/auth/session.go b/internal/auth/session.go new file mode 100644 index 00000000..91604ae4 --- /dev/null +++ b/internal/auth/session.go @@ -0,0 +1,65 @@ +package auth + +import ( + "context" + "encoding/json" + "net/http" + + "github.com/gorilla/sessions" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" +) + +type AuthSession struct { + Nonce *string + Identity *Identity +} + +type Identity struct { + Subject string +} + +type authSessionKey string + +var sessionKey authSessionKey = "auth-session" + +func getSession(store sessions.Store, r *http.Request) (*AuthSession, error) { + session, _ := store.Get(r, string(sessionKey)) + if data, ok := session.Values[string(sessionKey)].([]byte); ok { + s := &AuthSession{} + err := json.Unmarshal(data, s) + if err != nil { + return nil, errors.Wrap(err, "failed to parse session") + } + return s, nil + } + return nil, errors.New("session not authenticated") +} + +func setSession(store sessions.Store, r *http.Request, w http.ResponseWriter, s *AuthSession) error { + data, err := json.Marshal(s) + if err != nil { + return errors.Wrap(err, "failed to marshal session") + } + session, _ := store.Get(r, string(sessionKey)) + session.Values[string(sessionKey)] = data + err = session.Save(r, w) + if err != nil { + logrus.Error(errors.Wrap(err, "failed to save session")) + return err + } + return nil +} + +func setIdentityCtx(parent context.Context, session *AuthSession) context.Context { + return context.WithValue(parent, sessionKey, session) +} + +func CurrentUser(ctx context.Context) (*Identity, error) { + if session, ok := ctx.Value(sessionKey).(*AuthSession); ok { + if session.Identity != nil { + return session.Identity, nil + } + } + return nil, errors.New("unauthenticated") +} diff --git a/internal/config/config.go b/internal/config/config.go index 29d704d5..9f0081ed 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -40,13 +40,9 @@ type AppConfig struct { Directory string `yaml:"directory"` } `yaml:"storage"` WireGuard struct { - // UserspaceImplementation is a command (program on $PATH) - // that implements the WireGuard protocol in userspace. - // In our Docker image we make use of `boringtun` so that - // users aren't required to setup kernel modules - UserspaceImplementation string `yaml:"userspaceImplementation"` // The network interface name of the WireGuard - // network device + // network device. + // Defaults to wg0 InterfaceName string `yaml:"interfaceName"` // The WireGuard PrivateKey // If this value is lost then any existing @@ -60,7 +56,7 @@ type AppConfig struct { // use to connect to the wireguard interface // By default, this will use the Web.ExternalAddress // domain with the WireGuard.Port - ExternalAddress string `yaml:"externalAddress` + ExternalAddress *string `yaml:"externalAddress"` // The WireGuard ListenPort Port int `yaml:"port"` } `yaml:"wireguard"` @@ -73,16 +69,13 @@ type AppConfig struct { // rules that send VPN traffic from clients to this interface // Most use-cases will want this interface to have access // to the outside internet - GatewayInterface string `yaml:"gatewayInterface` + GatewayInterface string `yaml:"gatewayInterface"` } DNS struct { // TODO: docs Upstream []string `yaml:"upstream"` } `yaml:"dns"` - Auth struct { - OIDC *auth.OIDCConfig `yaml:"oidc"` - Gitlab *auth.GitlabConfig `yaml:"gitlab"` - } `yaml:"auth"` + Auth *auth.AuthConfig `yaml:"auth"` } var ( @@ -122,10 +115,6 @@ func Read() *AppConfig { config.WireGuard.PrivateKey = v } - if v, ok := os.LookupEnv("WIREGUARD_USERSPACE_IMPLEMENTATION"); ok { - config.WireGuard.UserspaceImplementation = v - } - level, err := logrus.ParseLevel(config.LogLevel) if err != nil { logrus.Fatal(errors.Wrap(err, "invalid log level - should be one of fatal, error, warn, info, debug, trace")) @@ -148,22 +137,6 @@ func Read() *AppConfig { } } - // if config.Web.ExternalAddress == "" && config.VPN.GatewayInterface != "" { - // if ip, err := linkIPAddr(config.VPN.GatewayInterface); err == nil { - // config.Web.ExternalAddress = fmt.Sprintf("http://%s:%d", ip.String(), config.Web.Port) - // logrus.Warnf("no external address was configured - using %s from the gateway interface", config.Web.ExternalAddress) - // } - // } - - // if config.WireGuard.ExternalAddress == "" { - // u, err := url.Parse(config.Web.ExternalAddress) - // if err != nil { - // logrus.Warn(errors.Wrap(err, "no WireGuard.External was configured and Web.ExternalAddress could not be parsed")) - // } else { - // config.WireGuard.ExternalAddress = fmt.Sprintf("%s:%d", u.Hostname(), config.WireGuard.Port) - // } - // } - if config.WireGuard.PrivateKey == "" { logrus.Warn("no private key has been configured! using an in-memory private key that will be lost when the process exits!") key, err := wgtypes.GeneratePrivateKey() @@ -181,6 +154,9 @@ func Read() *AppConfig { } func IsAuthEnabled(config *AppConfig) bool { + if config.Auth == nil { + return false + } return config.Auth.OIDC != nil || config.Auth.Gitlab != nil } diff --git a/internal/services/devices.go b/internal/devices/devices.go similarity index 82% rename from internal/services/devices.go rename to internal/devices/devices.go index ee909fb2..4c5b9edd 100644 --- a/internal/services/devices.go +++ b/internal/devices/devices.go @@ -1,4 +1,4 @@ -package services +package devices import ( "fmt" @@ -7,19 +7,21 @@ import ( "sync" "time" + "github.com/place1/wg-embed/pkg/wgembed" + "github.com/pkg/errors" "github.com/place1/wireguard-access-server/internal/storage" "github.com/sirupsen/logrus" ) type DeviceManager struct { - wgserver *WireGuard - storage storage.Storage - cidr string + iface string + storage storage.Storage + cidr string } -func NewDeviceManager(w *WireGuard, s storage.Storage, cidr string) *DeviceManager { - return &DeviceManager{w, s, cidr} +func New(iface string, s storage.Storage, cidr string) *DeviceManager { + return &DeviceManager{iface, s, cidr} } func (d *DeviceManager) Sync() error { @@ -28,7 +30,7 @@ func (d *DeviceManager) Sync() error { return errors.Wrap(err, "failed to list devices") } for _, device := range devices { - if err := d.wgserver.AddPeer(device.PublicKey, device.Address); err != nil { + if err := wgembed.AddPeer(d.iface, device.PublicKey, device.Address); err != nil { logrus.Warn(errors.Wrapf(err, "failed to sync device '%s' (ignoring)", device.Name)) } } @@ -46,21 +48,18 @@ func (d *DeviceManager) AddDevice(user string, name string, publicKey string) (* } device := &storage.Device{ - Owner: user, - Name: name, - PublicKey: publicKey, - Endpoint: d.wgserver.Endpoint(), - Address: clientAddr, - DNS: d.wgserver.DNS(), - CreatedAt: time.Now(), - ServerPublicKey: d.wgserver.PublicKey(), + Owner: user, + Name: name, + PublicKey: publicKey, + Address: clientAddr, + CreatedAt: time.Now(), } if err := d.storage.Save(key(user, device.Name), device); err != nil { return nil, errors.Wrap(err, "failed to save the new device") } - if err := d.wgserver.AddPeer(publicKey, clientAddr); err != nil { + if err := wgembed.AddPeer(d.iface, publicKey, clientAddr); err != nil { return nil, errors.Wrap(err, "unable to provision peer") } @@ -83,7 +82,7 @@ func (d *DeviceManager) DeleteDevice(user string, name string) error { if err := d.storage.Delete(key(user, name)); err != nil { return err } - if err := d.wgserver.RemovePeer(device.PublicKey); err != nil { + if err := wgembed.RemovePeer(d.iface, device.PublicKey); err != nil { return errors.Wrap(err, "device was removed from storage but failed to be removed from the wireguard interface") } return nil diff --git a/internal/services/dns.go b/internal/dnsproxy/server.go similarity index 82% rename from internal/services/dns.go rename to internal/dnsproxy/server.go index 41348240..3bfd3b55 100644 --- a/internal/services/dns.go +++ b/internal/dnsproxy/server.go @@ -1,4 +1,4 @@ -package services +package dnsproxy import ( "fmt" @@ -19,7 +19,7 @@ type DNSServer struct { upstream []string } -func NewDNSServer(upstream []string) (*DNSServer, error) { +func New(upstream []string) (*DNSServer, error) { if len(upstream) == 0 { upstream = []string{"1.1.1.1"} } @@ -61,11 +61,7 @@ func (d *DNSServer) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { } }() - if logrus.GetLevel() == logrus.DebugLevel { - // log behind a condition to ensure we don't call prettyPrintMsg - // when the log level would filter out the message anyway - logrus.Debugf("dns query: %s", prettyPrintMsg(r)) - } + logrus.Debugf("dns query: %s", prettyPrintMsg(r)) switch r.Opcode { case dns.OpcodeQuery: @@ -90,9 +86,7 @@ func (d *DNSServer) Lookup(m *dns.Msg) (*dns.Msg, error) { // check the cache first if item, found := d.cache.Get(key); found { - if logrus.GetLevel() == logrus.DebugLevel { - logrus.Debugf("dns cache hit %s", prettyPrintMsg(m)) - } + logrus.Debugf("dns cache hit %s", prettyPrintMsg(m)) return item.(*dns.Msg), nil } @@ -104,7 +98,7 @@ func (d *DNSServer) Lookup(m *dns.Msg) (*dns.Msg, error) { if len(response.Answer) > 0 { ttl := time.Duration(response.Answer[0].Header().Ttl) * time.Second - logrus.Debugf("caching dns response for %v seconds", ttl) + logrus.Debugf("caching dns response for %s for %v seconds", prettyPrintMsg(m), ttl) d.cache.Set(key, response, ttl) } diff --git a/internal/services/converters.go b/internal/services/converters.go new file mode 100644 index 00000000..2bcb3ac9 --- /dev/null +++ b/internal/services/converters.go @@ -0,0 +1,32 @@ +package services + +import ( + "time" + + "github.com/golang/protobuf/ptypes" + "github.com/golang/protobuf/ptypes/timestamp" + "github.com/golang/protobuf/ptypes/wrappers" + "github.com/sirupsen/logrus" +) + +func TimestampToTime(value *timestamp.Timestamp) time.Time { + return time.Unix(value.Seconds, int64(value.Nanos)) +} + +func TimeToTimestamp(value time.Time) *timestamp.Timestamp { + t, err := ptypes.TimestampProto(value) + if err != nil { + logrus.Error("bad time value") + t = ptypes.TimestampNow() + } + return t +} + +func stringValue(value *string) *wrappers.StringValue { + if value != nil { + return &wrappers.StringValue{ + Value: *value, + } + } + return nil +} diff --git a/internal/services/device_service.go b/internal/services/device_service.go new file mode 100644 index 00000000..eacac650 --- /dev/null +++ b/internal/services/device_service.go @@ -0,0 +1,82 @@ +package services + +import ( + "context" + + "github.com/place1/wireguard-access-server/internal/auth" + + "github.com/golang/protobuf/ptypes/empty" + "github.com/place1/wireguard-access-server/internal/devices" + "github.com/place1/wireguard-access-server/internal/storage" + "github.com/place1/wireguard-access-server/proto/proto" + "github.com/sirupsen/logrus" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type DeviceService struct { + DeviceManager *devices.DeviceManager +} + +func (d *DeviceService) AddDevice(ctx context.Context, req *proto.AddDeviceReq) (*proto.Device, error) { + user, err := auth.CurrentUser(ctx) + if err != nil { + return nil, status.Errorf(codes.PermissionDenied, "not authenticated") + } + + device, err := d.DeviceManager.AddDevice(user.Subject, req.GetName(), req.GetPublicKey()) + if err != nil { + logrus.Error(err) + return nil, status.Errorf(codes.Internal, "failed to add device") + } + + return mapDevice(device), nil +} + +func (d *DeviceService) ListDevices(ctx context.Context, req *proto.ListDevicesReq) (*proto.ListDevicesRes, error) { + user, err := auth.CurrentUser(ctx) + if err != nil { + return nil, status.Errorf(codes.PermissionDenied, "not authenticated") + } + + devices, err := d.DeviceManager.ListDevices(user.Subject) + if err != nil { + logrus.Error(err) + return nil, status.Errorf(codes.Internal, "failed to retrieve devices") + } + return &proto.ListDevicesRes{ + Items: mapDevices(devices), + }, nil +} + +func (d *DeviceService) DeleteDevice(ctx context.Context, req *proto.DeleteDeviceReq) (*empty.Empty, error) { + user, err := auth.CurrentUser(ctx) + if err != nil { + return nil, status.Errorf(codes.PermissionDenied, "not authenticated") + } + + if err := d.DeviceManager.DeleteDevice(user.Subject, req.GetName()); err != nil { + logrus.Error(err) + return nil, status.Errorf(codes.Internal, "failed to delete device") + } + + return &empty.Empty{}, nil +} + +func mapDevice(d *storage.Device) *proto.Device { + return &proto.Device{ + Name: d.Name, + Owner: d.Owner, + PublicKey: d.PublicKey, + Address: d.Address, + CreatedAt: TimeToTimestamp(d.CreatedAt), + } +} + +func mapDevices(devices []*storage.Device) []*proto.Device { + items := []*proto.Device{} + for _, d := range devices { + items = append(items, mapDevice(d)) + } + return items +} diff --git a/internal/services/network.go b/internal/services/network.go index 16b28385..92f2e014 100644 --- a/internal/services/network.go +++ b/internal/services/network.go @@ -1,6 +1,7 @@ package services import ( + "fmt" "net" "github.com/coreos/go-iptables/iptables" @@ -60,3 +61,28 @@ func ConfigureForwarding(wgIface string, gatewayIface string, cidr string) error } return nil } + +func MustParseCIDR(cidr string) (net.IP, *net.IPNet) { + ip, ipnet, err := net.ParseCIDR(cidr) + if err != nil { + panic(err) + } + return ip, ipnet +} + +func MustParseIP(ip string) net.IP { + netip, _ := MustParseCIDR(fmt.Sprintf("%s/32", ip)) + return netip +} + +func nextIP(ip net.IP) net.IP { + next := make([]byte, len(ip)) + copy(next, ip) + for j := len(next) - 1; j >= 0; j-- { + next[j]++ + if next[j] > 0 { + break + } + } + return next +} diff --git a/internal/services/server_service.go b/internal/services/server_service.go new file mode 100644 index 00000000..df63aedd --- /dev/null +++ b/internal/services/server_service.go @@ -0,0 +1,41 @@ +package services + +import ( + "context" + + "github.com/place1/wg-embed/pkg/wgembed" + "github.com/place1/wireguard-access-server/internal/auth" + "github.com/place1/wireguard-access-server/internal/config" + "github.com/place1/wireguard-access-server/proto/proto" + "github.com/sirupsen/logrus" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ServerService struct { + Config *config.AppConfig +} + +func (s *ServerService) Info(ctx context.Context, req *proto.InfoReq) (*proto.InfoRes, error) { + if _, err := auth.CurrentUser(ctx); err != nil { + return nil, status.Errorf(codes.PermissionDenied, "not authenticated") + } + + publicKey, err := wgembed.PublicKey(s.Config.WireGuard.InterfaceName) + if err != nil { + logrus.Error(err) + return nil, status.Errorf(codes.Internal, "failed to get public key") + } + + port, err := wgembed.Port(s.Config.WireGuard.InterfaceName) + if err != nil { + logrus.Error(err) + return nil, status.Errorf(codes.Internal, "failed to get port") + } + + return &proto.InfoRes{ + Host: stringValue(s.Config.WireGuard.ExternalAddress), + PublicKey: publicKey, + Port: int32(port), + }, nil +} diff --git a/internal/services/wireguard.go b/internal/services/wireguard.go deleted file mode 100644 index 90aa1533..00000000 --- a/internal/services/wireguard.go +++ /dev/null @@ -1,176 +0,0 @@ -package services - -import ( - "fmt" - "net" - "strings" - "sync" - - "github.com/pkg/errors" - "github.com/sirupsen/logrus" - "golang.zx2c4.com/wireguard/wgctrl" - "golang.zx2c4.com/wireguard/wgctrl/wgtypes" -) - -type WireGuard struct { - client *wgctrl.Client - iface string - externalAddress string - port int - dns []string - publicKey wgtypes.Key - lock sync.Mutex -} - -func NewWireGuard(iface string, privateKey string, port int, externalAddress string, dns []string) (*WireGuard, error) { - // wgctrl.New() will search for a kernel implementation - // of wireguard, then user implementations - // user implementations are found in /var/run/wireguard/.sock - // this unix socket likely requires root to access - client, err := wgctrl.New() - if err != nil { - logrus.Fatal(errors.Wrap(err, "failed to create wgctrl")) - } - key, err := wgtypes.ParseKey(privateKey) - if err != nil { - return nil, errors.Wrap(err, "bad private key format") - } - server := &WireGuard{ - client: client, - iface: iface, - port: port, - externalAddress: externalAddress, - dns: dns, - publicKey: key.PublicKey(), - } - err = server.configure(func(config *wgtypes.Config) error { - config.PrivateKey = &key - config.ListenPort = &port - return nil - }) - if err != nil { - return nil, errors.Wrap(err, "failed to configure wireguard - is wireguard running?") - } - return server, nil -} - -func (s *WireGuard) AddPeer(publicKey string, addressCIDR string) error { - logrus. - WithField("publicKey", publicKey). - WithField("address", addressCIDR). - Debugf("adding peer") - key, err := wgtypes.ParseKey(publicKey) - if err != nil { - return errors.Wrapf(err, "bad public key %v", publicKey) - } - _, allowedIPs, err := net.ParseCIDR(addressCIDR) - if err != nil || allowedIPs == nil { - return errors.Wrap(err, "bad CIDR value for AllowedIPs") - } - if s.HasPeer(key.String()) { - s.RemovePeer(key.String()) - } - return s.configure(func(config *wgtypes.Config) error { - config.ReplacePeers = false - config.Peers = []wgtypes.PeerConfig{ - wgtypes.PeerConfig{ - PublicKey: key, - AllowedIPs: []net.IPNet{*allowedIPs}, - }, - } - return nil - }) -} - -func (s *WireGuard) ListPeers() ([]wgtypes.Peer, error) { - d, err := s.Device() - if err != nil { - return nil, err - } - return d.Peers, nil -} - -func (s *WireGuard) Peer(publicKey string) (*wgtypes.Peer, error) { - peers, err := s.ListPeers() - if err != nil { - return nil, err - } - for _, peer := range peers { - if peer.PublicKey.String() == publicKey { - return &peer, nil - } - } - return nil, fmt.Errorf("peer with public key '%s' not found", publicKey) -} - -func (s *WireGuard) HasPeer(publicKey string) bool { - peers, err := s.ListPeers() - if err != nil { - logrus.Error(errors.Wrap(err, "failed to list peers")) - return false - } - for _, peer := range peers { - if peer.PublicKey.String() == publicKey { - return true - } - } - return false -} - -func (s *WireGuard) RemovePeer(publicKey string) error { - logrus.WithField("publicKey", publicKey).Debug("removing peer") - key, err := wgtypes.ParseKey(publicKey) - if err != nil { - return errors.Wrap(err, "bad public key") - } - return s.configure(func(config *wgtypes.Config) error { - config.ReplacePeers = false - config.Peers = []wgtypes.PeerConfig{ - wgtypes.PeerConfig{ - Remove: true, - PublicKey: key, - }, - } - return nil - }) -} - -func (s *WireGuard) PublicKey() string { - return s.publicKey.String() -} - -func (s *WireGuard) Endpoint() string { - return s.externalAddress -} - -func (s *WireGuard) DNS() string { - return strings.Join(s.dns, ", ") -} - -func (s *WireGuard) Device() (*wgtypes.Device, error) { - return s.client.Device(s.iface) -} - -func (s *WireGuard) Close() error { - return s.client.Close() -} - -func (s *WireGuard) configure(cb func(*wgtypes.Config) error) error { - s.lock.Lock() - defer s.lock.Unlock() - next := wgtypes.Config{} - if err := cb(&next); err != nil { - return errors.Wrap(err, "failed to get next wireguard config") - } else { - return s.client.ConfigureDevice(s.iface, next) - } -} - -func trimLines(input string) string { - lines := strings.Split(strings.TrimSpace(input), "\n") - output := make([]string, len(lines)) - for index, line := range lines { - output[index] = strings.TrimSpace(line) - } - return strings.Join(output, "\n") -} diff --git a/internal/services/wireguard_userspace.go b/internal/services/wireguard_userspace.go deleted file mode 100644 index abb19d31..00000000 --- a/internal/services/wireguard_userspace.go +++ /dev/null @@ -1,42 +0,0 @@ -package services - -import ( - "os/exec" - - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -) - -func ExecUserWireGuard(wgcommand string, ifaceName string) error { - logrus.Infof("using userspace wireguard implementation %s", wgcommand) - - // create the command to exec - // if it's "boringtun" we'll provide some non-standard - // flags to better support running within a docker container - var cmd *exec.Cmd - if wgcommand == "boringtun" { - cmd = exec.Command( - wgcommand, - ifaceName, - "--disable-drop-privileges=root", - "--foreground", - "--verbosity=debug", - ) - } else { - cmd = exec.Command( - wgcommand, - "-f", - ifaceName, - ) - } - - entry := logrus.NewEntry(logrus.New()).WithField("process", wgcommand) - cmd.Stdout = entry.Writer() - cmd.Stderr = entry.Writer() - logrus.Infof("starting %s", cmd.String()) - if err := cmd.Run(); err != nil { - return errors.Wrap(err, "userspace wireguard exitted") - } - - return nil -} diff --git a/internal/storage/contracts.go b/internal/storage/contracts.go index 77a5f6e5..26ae9f3d 100644 --- a/internal/storage/contracts.go +++ b/internal/storage/contracts.go @@ -12,12 +12,9 @@ type Storage interface { } type Device struct { - Owner string `json:"owner"` - Name string `json:"name"` - PublicKey string `json:"publicKey"` - Endpoint string `json:"endpoint"` - Address string `json:"address"` - DNS string `json:"dns"` - CreatedAt time.Time `json:"createdAt"` - ServerPublicKey string `json:"serverPublicKey"` + Owner string `json:"owner"` + Name string `json:"name"` + PublicKey string `json:"publicKey"` + Address string `json:"address"` + CreatedAt time.Time `json:"createdAt"` } diff --git a/internal/web/add_device.go b/internal/web/add_device.go deleted file mode 100644 index 505ba74d..00000000 --- a/internal/web/add_device.go +++ /dev/null @@ -1,56 +0,0 @@ -package web - -import ( - "encoding/json" - "net/http" - - "github.com/alexedwards/scs/v2" - "github.com/place1/wireguard-access-server/internal/services" - "github.com/place1/wireguard-access-server/internal/storage" - - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -) - -type AddDeviceRequest struct { - Name string `json:"name"` - PublicKey string `json:"publicKey"` -} - -type AddDeviceResponse struct { - Device *storage.Device `json:"device"` -} - -func AddDevice(session *scs.SessionManager, devices *services.DeviceManager) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - decoder := json.NewDecoder(r.Body) - req := AddDeviceRequest{} - if err := decoder.Decode(&req); err != nil { - logrus.Error(errors.Wrap(err, "unable to decode request body")) - http.Error(w, "bad request payload", http.StatusBadRequest) - return - } - - user := session.GetString(r.Context(), "auth/subject") - - device, err := devices.AddDevice(user, req.Name, req.PublicKey) - if err != nil { - logrus.Error(errors.Wrap(err, "unable to add device")) - http.Error(w, "failed to add the new device", http.StatusInternalServerError) - return - } - - response, err := json.Marshal(AddDeviceResponse{ - Device: device, - }) - if err != nil { - logrus.Error(errors.Wrap(err, "failed to marshal response")) - http.Error(w, "failed to marshal response", http.StatusInternalServerError) - return - } - - w.Header().Set("Content-Type", "application/json") - w.Write(response) - return - } -} diff --git a/internal/web/delete_device.go b/internal/web/delete_device.go deleted file mode 100644 index b763a2ad..00000000 --- a/internal/web/delete_device.go +++ /dev/null @@ -1,35 +0,0 @@ -package web - -import ( - "net/http" - - "github.com/alexedwards/scs/v2" - "github.com/gorilla/mux" - - "github.com/place1/wireguard-access-server/internal/services" - - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -) - -func DeleteDevice(session *scs.SessionManager, devices *services.DeviceManager) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - vars := mux.Vars(r) - name, ok := vars["name"] - if !ok { - http.Error(w, "missing device name in path", http.StatusBadRequest) - return - } - - user := session.GetString(r.Context(), "auth/subject") - - if err := devices.DeleteDevice(user, name); err != nil { - logrus.Error(errors.Wrap(err, "failed to remove device")) - http.Error(w, "failed to remove device", http.StatusInternalServerError) - return - } - - w.WriteHeader(http.StatusNoContent) - return - } -} diff --git a/internal/web/list_devices.go b/internal/web/list_devices.go deleted file mode 100644 index 5089cbd7..00000000 --- a/internal/web/list_devices.go +++ /dev/null @@ -1,45 +0,0 @@ -package web - -import ( - "encoding/json" - "net/http" - - "github.com/alexedwards/scs/v2" - - "github.com/pkg/errors" - "github.com/place1/wireguard-access-server/internal/services" - "github.com/place1/wireguard-access-server/internal/storage" - "github.com/sirupsen/logrus" -) - -type ListDeviceRequest struct{} - -type ListDeviceResponse struct { - Items []*storage.Device `json:"items"` -} - -func ListDevices(session *scs.SessionManager, devices *services.DeviceManager) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - user := session.GetString(r.Context(), "auth/subject") - - devices, err := devices.ListDevices(user) - if err != nil { - logrus.Error(errors.Wrap(err, "failed to list devices")) - http.Error(w, "failed to list devices", http.StatusInternalServerError) - return - } - - response, err := json.Marshal(ListDeviceResponse{ - Items: devices, - }) - if err != nil { - logrus.Error(errors.Wrap(err, "failed to marshal response")) - http.Error(w, "failed to marshal response", http.StatusInternalServerError) - return - } - - w.Header().Set("Content-Type", "application/json") - w.Write(response) - return - } -} diff --git a/main.go b/main.go index 31bfeba1..cc89af28 100644 --- a/main.go +++ b/main.go @@ -1,59 +1,53 @@ package main import ( + "crypto/rand" "fmt" + "math" "net/http" - "time" + "runtime/debug" + + "github.com/improbable-eng/grpc-web/go/grpcweb" + "github.com/place1/wireguard-access-server/proto/proto" - "github.com/alexedwards/scs/v2" - "github.com/alexedwards/scs/v2/memstore" "github.com/gorilla/mux" + "github.com/place1/wg-embed/pkg/wgembed" "github.com/pkg/errors" "github.com/place1/wireguard-access-server/internal/auth" "github.com/place1/wireguard-access-server/internal/config" + "github.com/place1/wireguard-access-server/internal/devices" + "github.com/place1/wireguard-access-server/internal/dnsproxy" "github.com/place1/wireguard-access-server/internal/services" "github.com/place1/wireguard-access-server/internal/storage" - "github.com/place1/wireguard-access-server/internal/web" "github.com/sirupsen/logrus" + + grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" + grpc_logrus "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus" + grpc_recovery "github.com/grpc-ecosystem/go-grpc-middleware/recovery" + "google.golang.org/grpc" ) func main() { conf := config.Read() - // Userspace wireguard command - if conf.WireGuard.UserspaceImplementation != "" { - go func() { - // execute the userspace wireguard implementation - // if it exists/crashes for some reason then we'll also crash - if err := services.ExecUserWireGuard(conf.WireGuard.UserspaceImplementation, conf.WireGuard.InterfaceName); err != nil { - logrus.Fatal(err) - } - }() - // Wait for the userspace wireguard process to - // startup and create the wg0 interface - // Super sorry if this just caused a race - // condition for you :( - time.Sleep(1 * time.Second) - } - // The server's IP within the VPN virtual network vpnip := services.ServerVPNIP(conf.VPN.CIDR) - // WireGuard - wgserver, err := services.NewWireGuard( - conf.WireGuard.InterfaceName, - conf.WireGuard.PrivateKey, - conf.WireGuard.Port, - conf.WireGuard.ExternalAddress, - []string{vpnip.IP.String()}, - ) + // WireGuard Server + wg, err := wgembed.New(conf.WireGuard.InterfaceName) if err != nil { - logrus.Fatal(errors.Wrap(err, "failed to create wgserver")) + logrus.Fatal(errors.Wrap(err, "failed to create wireguard interface")) } - defer wgserver.Close() - logrus.Infof("wireguard server public key is %s", wgserver.PublicKey()) - logrus.Infof("wireguard endpoint is %s", wgserver.Endpoint()) + defer wg.Close() + + wg.LoadConfig(&wgembed.ConfigFile{ + Interface: wgembed.IfaceConfig{ + PrivateKey: conf.WireGuard.PrivateKey, + Address: vpnip.IP.String(), + ListenPort: &conf.WireGuard.Port, + }, + }) // Networking configuration if err := services.ConfigureRouting(conf.WireGuard.InterfaceName, conf.VPN.CIDR); err != nil { @@ -69,7 +63,7 @@ func main() { } // DNS Server - dns, err := services.NewDNSServer(conf.DNS.Upstream) + dns, err := dnsproxy.New(conf.DNS.Upstream) if err != nil { logrus.Fatal(errors.Wrap(err, "failed to start dns server")) } @@ -84,64 +78,67 @@ func main() { } // Services - deviceManager := services.NewDeviceManager(wgserver, storageDriver, conf.VPN.CIDR) + deviceManager := devices.New(wg.Name(), storageDriver, conf.VPN.CIDR) if err := deviceManager.Sync(); err != nil { logrus.Fatal(errors.Wrap(err, "failed to sync")) } - // Http sessions - session := scs.New() - session.Store = memstore.New() - // Router router := mux.NewRouter() - if dex := dexIntegration(conf, session); dex != nil { - router.PathPrefix("/auth").Handler(dex) - } - secureRouter := router.PathPrefix("/").Subrouter() - secureRouter.Use(func(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if config.IsAuthEnabled(conf) && session.GetString(r.Context(), "auth/subject") == "" { - http.Redirect(w, r, "/auth/login", http.StatusTemporaryRedirect) - } else { - next.ServeHTTP(w, r) + router.PathPrefix("/").Handler(http.FileServer(http.Dir("website/build"))) + + // GRPC Server + server := grpc.NewServer([]grpc.ServerOption{ + grpc.MaxRecvMsgSize(int(1 * math.Pow(2, 20))), // 1MB + grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer( + grpc_recovery.UnaryServerInterceptor(), + grpc_logrus.UnaryServerInterceptor(logrus.NewEntry(logrus.StandardLogger())), + )), + }...) + proto.RegisterServerServer(server, &services.ServerService{ + Config: conf, + }) + proto.RegisterDevicesServer(server, &services.DeviceService{ + DeviceManager: deviceManager, + }) + grpcServer := grpcweb.WrapServer(server) + + var handler http.Handler = http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) { + defer func() { + if err := recover(); err != nil { + logrus.WithField("stack", string(debug.Stack())).Error(err) } - }) + }() + if grpcServer.IsGrpcWebRequest(req) { + grpcServer.ServeHTTP(resp, req) + } else { + router.ServeHTTP(resp, req) + } }) - secureRouter.HandleFunc("/api/devices", web.AddDevice(session, deviceManager)).Methods("POST") - secureRouter.HandleFunc("/api/devices", web.ListDevices(session, deviceManager)).Methods("GET") - secureRouter.HandleFunc("/api/devices/{name}", web.DeleteDevice(session, deviceManager)).Methods("DELETE") - secureRouter.PathPrefix("/").Handler(http.FileServer(http.Dir("website/build"))) + + if conf.Auth != nil { + handler = auth.New(conf.Auth).Wrap(handler) + } // Listen address := fmt.Sprintf("0.0.0.0:%d", conf.Web.Port) - logrus.Infof("website external address is '%s'", conf.Web.ExternalAddress) - logrus.Infof("website listening on '%s'", address) - if err := http.ListenAndServe(address, session.LoadAndSave(router)); err != nil { - logrus.Fatal(errors.Wrap(err, "server exited")) + srv := &http.Server{ + Addr: address, + Handler: handler, } -} -func dexIntegration(config *config.AppConfig, session *scs.SessionManager) *mux.Router { - authBackends := []auth.AuthConnector{} - if config.Auth.OIDC != nil { - logrus.Infof("adding oidc auth backend '%s'", config.Auth.OIDC.Name) - authBackends = append(authBackends, config.Auth.OIDC) - } - if config.Auth.Gitlab != nil { - logrus.Infof("adding gitlab auth backend %s", config.Auth.Gitlab.Name) - authBackends = append(authBackends, config.Auth.Gitlab) + // Start Web server + logrus.Infof("listening on %v", address) + if err := srv.ListenAndServe(); err != nil { + logrus.Fatal(errors.Wrap(err, "unable to start http server")) } - c := auth.Config{} - if len(authBackends) > 0 { - c.Connectors = authBackends - } - if c.Connectors != nil { - dex, err := auth.NewDexServer(session, config.Web.ExternalAddress, config.Web.Port, c) - if err != nil { - logrus.Fatal(errors.Wrap(err, "failed to initialize auth system")) - } - return dex.Router() +} + +func randomBytes(size int) []byte { + blk := make([]byte, size) + _, err := rand.Read(blk) + if err != nil { + logrus.Fatal(err) } - return nil + return blk } diff --git a/proto/devices.proto b/proto/devices.proto new file mode 100644 index 00000000..17bada35 --- /dev/null +++ b/proto/devices.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +package proto; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/empty.proto"; + +service Devices { + rpc AddDevice(AddDeviceReq) returns (Device) {} + rpc ListDevices(ListDevicesReq) returns (ListDevicesRes) {} + rpc DeleteDevice(DeleteDeviceReq) returns (google.protobuf.Empty) {} +} + +message Device { + string name = 1; + string owner = 2; + string public_key = 3; + string address = 4; + google.protobuf.Timestamp created_at = 5; +} + +message AddDeviceReq { + string name = 1; + string public_key = 2; +} + +message ListDevicesReq { + +} + +message ListDevicesRes { + repeated Device items = 1; +} + +message DeleteDeviceReq { + string name = 1; +} diff --git a/proto/proto/devices.pb.go b/proto/proto/devices.pb.go new file mode 100644 index 00000000..9fbe763e --- /dev/null +++ b/proto/proto/devices.pb.go @@ -0,0 +1,441 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: devices.proto + +package proto + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + empty "github.com/golang/protobuf/ptypes/empty" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type Device struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + PublicKey string `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + CreatedAt *timestamp.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Device) Reset() { *m = Device{} } +func (m *Device) String() string { return proto.CompactTextString(m) } +func (*Device) ProtoMessage() {} +func (*Device) Descriptor() ([]byte, []int) { + return fileDescriptor_6d27ec3f2c0e2043, []int{0} +} + +func (m *Device) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Device.Unmarshal(m, b) +} +func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Device.Marshal(b, m, deterministic) +} +func (m *Device) XXX_Merge(src proto.Message) { + xxx_messageInfo_Device.Merge(m, src) +} +func (m *Device) XXX_Size() int { + return xxx_messageInfo_Device.Size(m) +} +func (m *Device) XXX_DiscardUnknown() { + xxx_messageInfo_Device.DiscardUnknown(m) +} + +var xxx_messageInfo_Device proto.InternalMessageInfo + +func (m *Device) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Device) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *Device) GetPublicKey() string { + if m != nil { + return m.PublicKey + } + return "" +} + +func (m *Device) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *Device) GetCreatedAt() *timestamp.Timestamp { + if m != nil { + return m.CreatedAt + } + return nil +} + +type AddDeviceReq struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddDeviceReq) Reset() { *m = AddDeviceReq{} } +func (m *AddDeviceReq) String() string { return proto.CompactTextString(m) } +func (*AddDeviceReq) ProtoMessage() {} +func (*AddDeviceReq) Descriptor() ([]byte, []int) { + return fileDescriptor_6d27ec3f2c0e2043, []int{1} +} + +func (m *AddDeviceReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddDeviceReq.Unmarshal(m, b) +} +func (m *AddDeviceReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddDeviceReq.Marshal(b, m, deterministic) +} +func (m *AddDeviceReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddDeviceReq.Merge(m, src) +} +func (m *AddDeviceReq) XXX_Size() int { + return xxx_messageInfo_AddDeviceReq.Size(m) +} +func (m *AddDeviceReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddDeviceReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddDeviceReq proto.InternalMessageInfo + +func (m *AddDeviceReq) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *AddDeviceReq) GetPublicKey() string { + if m != nil { + return m.PublicKey + } + return "" +} + +type ListDevicesReq struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListDevicesReq) Reset() { *m = ListDevicesReq{} } +func (m *ListDevicesReq) String() string { return proto.CompactTextString(m) } +func (*ListDevicesReq) ProtoMessage() {} +func (*ListDevicesReq) Descriptor() ([]byte, []int) { + return fileDescriptor_6d27ec3f2c0e2043, []int{2} +} + +func (m *ListDevicesReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDevicesReq.Unmarshal(m, b) +} +func (m *ListDevicesReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDevicesReq.Marshal(b, m, deterministic) +} +func (m *ListDevicesReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDevicesReq.Merge(m, src) +} +func (m *ListDevicesReq) XXX_Size() int { + return xxx_messageInfo_ListDevicesReq.Size(m) +} +func (m *ListDevicesReq) XXX_DiscardUnknown() { + xxx_messageInfo_ListDevicesReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDevicesReq proto.InternalMessageInfo + +type ListDevicesRes struct { + Items []*Device `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListDevicesRes) Reset() { *m = ListDevicesRes{} } +func (m *ListDevicesRes) String() string { return proto.CompactTextString(m) } +func (*ListDevicesRes) ProtoMessage() {} +func (*ListDevicesRes) Descriptor() ([]byte, []int) { + return fileDescriptor_6d27ec3f2c0e2043, []int{3} +} + +func (m *ListDevicesRes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListDevicesRes.Unmarshal(m, b) +} +func (m *ListDevicesRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListDevicesRes.Marshal(b, m, deterministic) +} +func (m *ListDevicesRes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListDevicesRes.Merge(m, src) +} +func (m *ListDevicesRes) XXX_Size() int { + return xxx_messageInfo_ListDevicesRes.Size(m) +} +func (m *ListDevicesRes) XXX_DiscardUnknown() { + xxx_messageInfo_ListDevicesRes.DiscardUnknown(m) +} + +var xxx_messageInfo_ListDevicesRes proto.InternalMessageInfo + +func (m *ListDevicesRes) GetItems() []*Device { + if m != nil { + return m.Items + } + return nil +} + +type DeleteDeviceReq struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteDeviceReq) Reset() { *m = DeleteDeviceReq{} } +func (m *DeleteDeviceReq) String() string { return proto.CompactTextString(m) } +func (*DeleteDeviceReq) ProtoMessage() {} +func (*DeleteDeviceReq) Descriptor() ([]byte, []int) { + return fileDescriptor_6d27ec3f2c0e2043, []int{4} +} + +func (m *DeleteDeviceReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteDeviceReq.Unmarshal(m, b) +} +func (m *DeleteDeviceReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteDeviceReq.Marshal(b, m, deterministic) +} +func (m *DeleteDeviceReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteDeviceReq.Merge(m, src) +} +func (m *DeleteDeviceReq) XXX_Size() int { + return xxx_messageInfo_DeleteDeviceReq.Size(m) +} +func (m *DeleteDeviceReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteDeviceReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteDeviceReq proto.InternalMessageInfo + +func (m *DeleteDeviceReq) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func init() { + proto.RegisterType((*Device)(nil), "proto.Device") + proto.RegisterType((*AddDeviceReq)(nil), "proto.AddDeviceReq") + proto.RegisterType((*ListDevicesReq)(nil), "proto.ListDevicesReq") + proto.RegisterType((*ListDevicesRes)(nil), "proto.ListDevicesRes") + proto.RegisterType((*DeleteDeviceReq)(nil), "proto.DeleteDeviceReq") +} + +func init() { proto.RegisterFile("devices.proto", fileDescriptor_6d27ec3f2c0e2043) } + +var fileDescriptor_6d27ec3f2c0e2043 = []byte{ + // 332 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x4e, 0xfa, 0x40, + 0x10, 0xc6, 0x29, 0x50, 0x48, 0x07, 0xf8, 0xff, 0xcd, 0xa8, 0x64, 0xb3, 0xc6, 0x48, 0xd6, 0x98, + 0x70, 0x2a, 0x11, 0xe3, 0xc1, 0x83, 0x89, 0x24, 0x78, 0xd2, 0x53, 0xe3, 0x9d, 0x14, 0x76, 0x24, + 0x8d, 0x94, 0x96, 0xee, 0xa2, 0xe1, 0x85, 0x7c, 0x0b, 0xdf, 0xcd, 0xb8, 0x5b, 0x08, 0xad, 0xc4, + 0xd3, 0xee, 0x7c, 0xdf, 0xe4, 0x9b, 0xdf, 0x6c, 0x16, 0x3a, 0x92, 0xde, 0xa3, 0x19, 0x29, 0x3f, + 0xcd, 0x12, 0x9d, 0xa0, 0x6b, 0x0e, 0x7e, 0x31, 0x4f, 0x92, 0xf9, 0x82, 0x06, 0xa6, 0x9a, 0xae, + 0x5f, 0x07, 0x3a, 0x8a, 0x49, 0xe9, 0x30, 0x4e, 0x6d, 0x1f, 0x3f, 0x2b, 0x37, 0x50, 0x9c, 0xea, + 0x8d, 0x35, 0xc5, 0xa7, 0x03, 0x8d, 0xb1, 0x89, 0x45, 0x84, 0xfa, 0x32, 0x8c, 0x89, 0x39, 0x3d, + 0xa7, 0xef, 0x05, 0xe6, 0x8e, 0x27, 0xe0, 0x26, 0x1f, 0x4b, 0xca, 0x58, 0xd5, 0x88, 0xb6, 0xc0, + 0x73, 0x80, 0x74, 0x3d, 0x5d, 0x44, 0xb3, 0xc9, 0x1b, 0x6d, 0x58, 0xcd, 0x58, 0x9e, 0x55, 0x9e, + 0x68, 0x83, 0x0c, 0x9a, 0xa1, 0x94, 0x19, 0x29, 0xc5, 0xea, 0xc6, 0xdb, 0x96, 0x78, 0x07, 0x30, + 0xcb, 0x28, 0xd4, 0x24, 0x27, 0xa1, 0x66, 0x6e, 0xcf, 0xe9, 0xb7, 0x86, 0xdc, 0xb7, 0x7c, 0xfe, + 0x96, 0xcf, 0x7f, 0xd9, 0x2e, 0x10, 0x78, 0x79, 0xf7, 0x48, 0x8b, 0x11, 0xb4, 0x47, 0x52, 0x5a, + 0xd4, 0x80, 0x56, 0x07, 0x69, 0x8b, 0x5c, 0xd5, 0x12, 0x97, 0x38, 0x82, 0x7f, 0xcf, 0x91, 0xd2, + 0x36, 0x43, 0x05, 0xb4, 0x12, 0xb7, 0x25, 0x45, 0xe1, 0x25, 0xb8, 0x91, 0xa6, 0x58, 0x31, 0xa7, + 0x57, 0xeb, 0xb7, 0x86, 0x1d, 0x4b, 0xe5, 0xe7, 0x73, 0xad, 0x27, 0xae, 0xe0, 0xff, 0x98, 0x16, + 0xa4, 0xe9, 0x4f, 0x9c, 0xe1, 0x97, 0x03, 0xcd, 0x3c, 0x1a, 0xaf, 0xc1, 0xdb, 0xe1, 0xe3, 0x71, + 0x9e, 0xba, 0xbf, 0x10, 0x2f, 0x8e, 0x12, 0x15, 0xbc, 0x87, 0xd6, 0x1e, 0x1c, 0x9e, 0xe6, 0x7e, + 0x71, 0x05, 0x7e, 0x50, 0x56, 0xa2, 0x82, 0x0f, 0xd0, 0xde, 0x87, 0xc4, 0xee, 0x2e, 0xbf, 0x40, + 0xce, 0xbb, 0xbf, 0xde, 0xff, 0xf1, 0xe7, 0x7f, 0x88, 0xca, 0xb4, 0x61, 0x94, 0x9b, 0xef, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x55, 0x8e, 0x8a, 0x9f, 0x78, 0x02, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// DevicesClient is the client API for Devices service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DevicesClient interface { + AddDevice(ctx context.Context, in *AddDeviceReq, opts ...grpc.CallOption) (*Device, error) + ListDevices(ctx context.Context, in *ListDevicesReq, opts ...grpc.CallOption) (*ListDevicesRes, error) + DeleteDevice(ctx context.Context, in *DeleteDeviceReq, opts ...grpc.CallOption) (*empty.Empty, error) +} + +type devicesClient struct { + cc grpc.ClientConnInterface +} + +func NewDevicesClient(cc grpc.ClientConnInterface) DevicesClient { + return &devicesClient{cc} +} + +func (c *devicesClient) AddDevice(ctx context.Context, in *AddDeviceReq, opts ...grpc.CallOption) (*Device, error) { + out := new(Device) + err := c.cc.Invoke(ctx, "/proto.Devices/AddDevice", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *devicesClient) ListDevices(ctx context.Context, in *ListDevicesReq, opts ...grpc.CallOption) (*ListDevicesRes, error) { + out := new(ListDevicesRes) + err := c.cc.Invoke(ctx, "/proto.Devices/ListDevices", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *devicesClient) DeleteDevice(ctx context.Context, in *DeleteDeviceReq, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/proto.Devices/DeleteDevice", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DevicesServer is the server API for Devices service. +type DevicesServer interface { + AddDevice(context.Context, *AddDeviceReq) (*Device, error) + ListDevices(context.Context, *ListDevicesReq) (*ListDevicesRes, error) + DeleteDevice(context.Context, *DeleteDeviceReq) (*empty.Empty, error) +} + +// UnimplementedDevicesServer can be embedded to have forward compatible implementations. +type UnimplementedDevicesServer struct { +} + +func (*UnimplementedDevicesServer) AddDevice(ctx context.Context, req *AddDeviceReq) (*Device, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddDevice not implemented") +} +func (*UnimplementedDevicesServer) ListDevices(ctx context.Context, req *ListDevicesReq) (*ListDevicesRes, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDevices not implemented") +} +func (*UnimplementedDevicesServer) DeleteDevice(ctx context.Context, req *DeleteDeviceReq) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDevice not implemented") +} + +func RegisterDevicesServer(s *grpc.Server, srv DevicesServer) { + s.RegisterService(&_Devices_serviceDesc, srv) +} + +func _Devices_AddDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddDeviceReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DevicesServer).AddDevice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/proto.Devices/AddDevice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DevicesServer).AddDevice(ctx, req.(*AddDeviceReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Devices_ListDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDevicesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DevicesServer).ListDevices(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/proto.Devices/ListDevices", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DevicesServer).ListDevices(ctx, req.(*ListDevicesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Devices_DeleteDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDeviceReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DevicesServer).DeleteDevice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/proto.Devices/DeleteDevice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DevicesServer).DeleteDevice(ctx, req.(*DeleteDeviceReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _Devices_serviceDesc = grpc.ServiceDesc{ + ServiceName: "proto.Devices", + HandlerType: (*DevicesServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AddDevice", + Handler: _Devices_AddDevice_Handler, + }, + { + MethodName: "ListDevices", + Handler: _Devices_ListDevices_Handler, + }, + { + MethodName: "DeleteDevice", + Handler: _Devices_DeleteDevice_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "devices.proto", +} diff --git a/proto/proto/server.pb.go b/proto/proto/server.pb.go new file mode 100644 index 00000000..e6e78bf3 --- /dev/null +++ b/proto/proto/server.pb.go @@ -0,0 +1,225 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: server.proto + +package proto + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type InfoReq struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InfoReq) Reset() { *m = InfoReq{} } +func (m *InfoReq) String() string { return proto.CompactTextString(m) } +func (*InfoReq) ProtoMessage() {} +func (*InfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ad098daeda4239f7, []int{0} +} + +func (m *InfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InfoReq.Unmarshal(m, b) +} +func (m *InfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InfoReq.Marshal(b, m, deterministic) +} +func (m *InfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_InfoReq.Merge(m, src) +} +func (m *InfoReq) XXX_Size() int { + return xxx_messageInfo_InfoReq.Size(m) +} +func (m *InfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_InfoReq.DiscardUnknown(m) +} + +var xxx_messageInfo_InfoReq proto.InternalMessageInfo + +type InfoRes struct { + PublicKey string `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + Host *wrappers.StringValue `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` + HostVpnIp string `protobuf:"bytes,4,opt,name=host_vpn_ip,json=hostVpnIp,proto3" json:"host_vpn_ip,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InfoRes) Reset() { *m = InfoRes{} } +func (m *InfoRes) String() string { return proto.CompactTextString(m) } +func (*InfoRes) ProtoMessage() {} +func (*InfoRes) Descriptor() ([]byte, []int) { + return fileDescriptor_ad098daeda4239f7, []int{1} +} + +func (m *InfoRes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InfoRes.Unmarshal(m, b) +} +func (m *InfoRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InfoRes.Marshal(b, m, deterministic) +} +func (m *InfoRes) XXX_Merge(src proto.Message) { + xxx_messageInfo_InfoRes.Merge(m, src) +} +func (m *InfoRes) XXX_Size() int { + return xxx_messageInfo_InfoRes.Size(m) +} +func (m *InfoRes) XXX_DiscardUnknown() { + xxx_messageInfo_InfoRes.DiscardUnknown(m) +} + +var xxx_messageInfo_InfoRes proto.InternalMessageInfo + +func (m *InfoRes) GetPublicKey() string { + if m != nil { + return m.PublicKey + } + return "" +} + +func (m *InfoRes) GetHost() *wrappers.StringValue { + if m != nil { + return m.Host + } + return nil +} + +func (m *InfoRes) GetPort() int32 { + if m != nil { + return m.Port + } + return 0 +} + +func (m *InfoRes) GetHostVpnIp() string { + if m != nil { + return m.HostVpnIp + } + return "" +} + +func init() { + proto.RegisterType((*InfoReq)(nil), "proto.InfoReq") + proto.RegisterType((*InfoRes)(nil), "proto.InfoRes") +} + +func init() { proto.RegisterFile("server.proto", fileDescriptor_ad098daeda4239f7) } + +var fileDescriptor_ad098daeda4239f7 = []byte{ + // 217 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x4e, 0xc3, 0x30, + 0x10, 0x44, 0x31, 0xa4, 0x45, 0xd9, 0x22, 0x0e, 0x7b, 0xb2, 0x2a, 0xa8, 0xa2, 0x9c, 0x7c, 0x72, + 0x51, 0xf8, 0x8a, 0x8a, 0x9b, 0x2b, 0xf5, 0x1a, 0x35, 0x68, 0x1b, 0x22, 0x22, 0x7b, 0xb1, 0x9d, + 0xa2, 0xfe, 0x04, 0xdf, 0x8c, 0x62, 0xd3, 0x03, 0x27, 0xcf, 0x8c, 0x47, 0x7a, 0xb3, 0xf0, 0x10, + 0xc8, 0x9f, 0xc9, 0x6b, 0xf6, 0x2e, 0x3a, 0x5c, 0xa4, 0x67, 0xbd, 0xe9, 0x9d, 0xeb, 0x47, 0xda, + 0x26, 0xd7, 0x4d, 0xa7, 0xed, 0xb7, 0x3f, 0x32, 0x93, 0x0f, 0xb9, 0x56, 0x97, 0x70, 0xbf, 0xb3, + 0x27, 0x67, 0xe8, 0xab, 0xfe, 0x11, 0x57, 0x1d, 0xf0, 0x19, 0x80, 0xa7, 0x6e, 0x1c, 0xde, 0xdb, + 0x4f, 0xba, 0x48, 0x51, 0x09, 0x55, 0x9a, 0x32, 0x27, 0x6f, 0x74, 0xc1, 0x17, 0x28, 0x3e, 0x5c, + 0x88, 0xf2, 0xb6, 0x12, 0x6a, 0xd5, 0x3c, 0xe9, 0x0c, 0xd1, 0x57, 0x88, 0xde, 0x47, 0x3f, 0xd8, + 0xfe, 0x70, 0x1c, 0x27, 0x32, 0xa9, 0x89, 0x08, 0x05, 0x3b, 0x1f, 0xe5, 0x5d, 0x25, 0xd4, 0xc2, + 0x24, 0x8d, 0x1b, 0x58, 0xcd, 0x7f, 0xed, 0x99, 0x6d, 0x3b, 0xb0, 0x2c, 0x32, 0x65, 0x8e, 0x0e, + 0x6c, 0x77, 0xdc, 0x34, 0xb0, 0xdc, 0xa7, 0x93, 0x50, 0x41, 0x31, 0x2f, 0xc3, 0xc7, 0x8c, 0xd0, + 0x7f, 0x93, 0xd7, 0xff, 0x7d, 0xa8, 0x6f, 0xba, 0x65, 0x0a, 0x5e, 0x7f, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x4d, 0xc6, 0xae, 0x09, 0x0d, 0x01, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ServerClient is the client API for Server service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ServerClient interface { + Info(ctx context.Context, in *InfoReq, opts ...grpc.CallOption) (*InfoRes, error) +} + +type serverClient struct { + cc grpc.ClientConnInterface +} + +func NewServerClient(cc grpc.ClientConnInterface) ServerClient { + return &serverClient{cc} +} + +func (c *serverClient) Info(ctx context.Context, in *InfoReq, opts ...grpc.CallOption) (*InfoRes, error) { + out := new(InfoRes) + err := c.cc.Invoke(ctx, "/proto.Server/Info", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ServerServer is the server API for Server service. +type ServerServer interface { + Info(context.Context, *InfoReq) (*InfoRes, error) +} + +// UnimplementedServerServer can be embedded to have forward compatible implementations. +type UnimplementedServerServer struct { +} + +func (*UnimplementedServerServer) Info(ctx context.Context, req *InfoReq) (*InfoRes, error) { + return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") +} + +func RegisterServerServer(s *grpc.Server, srv ServerServer) { + s.RegisterService(&_Server_serviceDesc, srv) +} + +func _Server_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InfoReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ServerServer).Info(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/proto.Server/Info", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ServerServer).Info(ctx, req.(*InfoReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _Server_serviceDesc = grpc.ServiceDesc{ + ServiceName: "proto.Server", + HandlerType: (*ServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Info", + Handler: _Server_Info_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "server.proto", +} diff --git a/proto/server.proto b/proto/server.proto new file mode 100644 index 00000000..ab97418b --- /dev/null +++ b/proto/server.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; + +package proto; + +import "google/protobuf/wrappers.proto"; + +service Server { + rpc Info(InfoReq) returns (InfoRes) {} +} + +message InfoReq { + +} + +message InfoRes { + string public_key = 1; + google.protobuf.StringValue host = 2; + int32 port = 3; + string host_vpn_ip = 4; +} diff --git a/website/.gitignore b/website/.gitignore index 4d29575d..7d3cec2e 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -21,3 +21,4 @@ npm-debug.log* yarn-debug.log* yarn-error.log* +yarn.lock diff --git a/website/package-lock.json b/website/package-lock.json index 897e19bd..ffc9a2b5 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -1541,6 +1541,12 @@ "@types/node": "*" } }, + "@types/google-protobuf": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.7.2.tgz", + "integrity": "sha512-ifFemzjNchFBCtHS6bZNhSZCBu7tbtOe0e8qY0z2J4HtFXmPJjm6fXSaQsTG7yhShBEZtt2oP/bkwu5k+emlkQ==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", @@ -6364,6 +6370,12 @@ } } }, + "google-protobuf": { + "version": "3.11.4", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.11.4.tgz", + "integrity": "sha512-lL6b04rDirurUBOgsY2+LalI6Evq8eH5TcNzi7TYQ3BsIWelT0KSOQSBsXuavEkNf+odQU6c0lgz3UsZXeNX9Q==", + "dev": true + }, "graceful-fs": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", @@ -6374,6 +6386,32 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, + "grpc-ts-web": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/grpc-ts-web/-/grpc-ts-web-0.1.5.tgz", + "integrity": "sha512-gfO+9pwlIIQZY4XxPel5oh3tZ02pXjkdTGFHBUC4T2yOZr4fGWct63xn8/ptkHVb9m/ScHxpfotRyPiA0ENM8A==", + "dev": true, + "requires": { + "@types/google-protobuf": "^3.7.2", + "commander": "^4.1.1", + "google-protobuf": "^3.11.4", + "grpc-web": "^1.0.7" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "grpc-web": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.0.7.tgz", + "integrity": "sha512-Fkbz1nyvvt6GC6ODcxh9Fen6LLB3OTCgGHzHwM2Eni44SUhzqPz1UQgFp9sfBEfInOhx3yBdwo9ZLjZAmJ+TtA==", + "dev": true + }, "gzip-size": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", diff --git a/website/package.json b/website/package.json index 370b8e9a..d9879139 100644 --- a/website/package.json +++ b/website/package.json @@ -2,6 +2,14 @@ "name": "website", "version": "0.1.0", "private": true, + "scripts": { + "codegen": "grpc-ts-web -o src/sdk ../proto/*.proto", + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject", + "prettier": "prettier ./src/**/*.{ts,tsx} --write" + }, "dependencies": { "@material-ui/core": "^4.9.0", "@material-ui/icons": "^4.5.1", @@ -20,13 +28,6 @@ "typeface-roboto": "0.0.75", "typescript": "3.7.5" }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject", - "prettier": "prettier ./src/**/*.{ts,tsx} --write" - }, "eslintConfig": { "extends": "react-app" }, @@ -46,6 +47,7 @@ "devDependencies": { "@types/common-tags": "^1.8.0", "@types/qrcode": "^1.3.4", + "grpc-ts-web": "0.1.5", "prettier": "^1.19.1" } } diff --git a/website/src/Api.ts b/website/src/Api.ts new file mode 100644 index 00000000..16584e82 --- /dev/null +++ b/website/src/Api.ts @@ -0,0 +1,16 @@ +import { Devices } from './sdk/devices_pb'; +import { Server } from './sdk/server_pb'; + +const backend = window.location.origin; + +export const grpc = { + server: new Server(backend), + devices: new Devices(backend), +} + + +// https://github.com/SafetyCulture/grpc-web-devtools +const devtools = (window as any).__GRPCWEB_DEVTOOLS__; +if (devtools) { + devtools(Object.values(grpc)); +} diff --git a/website/src/Store.ts b/website/src/Store.ts index 86564db7..54118fa5 100644 --- a/website/src/Store.ts +++ b/website/src/Store.ts @@ -1,19 +1,6 @@ import { store } from 'react-easy-state'; - -export interface IDevice { - name: string; - publicKey: string; - endpoint: string; - address: string; - dns: string[]; - createdAt: string; - serverPublicKey: string; - // TODO: these fields on backend - // receiveBytes: number; - // transmitBytes: number; - // lastHandshakeTime: string; -} +import { Device } from './sdk/devices_pb'; export const AppState = store({ - devices: new Array(), + devices: new Array(), }); diff --git a/website/src/components/AddDevice.tsx b/website/src/components/AddDevice.tsx index e2f88a02..f6889661 100644 --- a/website/src/components/AddDevice.tsx +++ b/website/src/components/AddDevice.tsx @@ -1,11 +1,9 @@ import React from 'react'; import Button from '@material-ui/core/Button'; -import Container from '@material-ui/core/Container'; import Dialog from '@material-ui/core/Dialog'; import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogTitle from '@material-ui/core/DialogTitle'; -import Fab from '@material-ui/core/Fab'; import FormControl from '@material-ui/core/FormControl'; import FormHelperText from '@material-ui/core/FormHelperText'; import Grid from '@material-ui/core/Grid'; @@ -18,8 +16,9 @@ import qrcode from 'qrcode'; import { makeStyles } from '@material-ui/core/styles'; import { codeBlock } from 'common-tags'; import { box_keyPair } from 'tweetnacl-ts'; -import { AppState, IDevice } from '../Store'; +import { AppState } from '../Store'; import { GetConnected } from './GetConnected'; +import { grpc } from '../Api'; const useStyles = makeStyles(theme => ({ @@ -42,15 +41,13 @@ const useStyles = makeStyles(theme => ({ export default function AddDevice() { const classes = useStyles(); - const [formOpen, setFormOpen] = React.useState(false); const [dialogOpen, setDialogOpen] = React.useState(false); const [error, setError] = React.useState(''); const [name, setName] = React.useState(''); const [qrCodeUri, setQrCodeUri] = React.useState(''); const [configFileUri, setConfigFileUri] = React.useState(''); - const closeForm = () => { - setFormOpen(false); + const reset = () => { setName(''); }; @@ -58,41 +55,32 @@ export default function AddDevice() { event.preventDefault(); const keypair = box_keyPair(); - const b64PublicKey = window.btoa(String.fromCharCode(...(new Uint8Array(keypair.publicKey) as any))); - const b64PrivateKey = window.btoa(String.fromCharCode(...(new Uint8Array(keypair.secretKey) as any))); + const publicKey = window.btoa(String.fromCharCode(...(new Uint8Array(keypair.publicKey) as any))); + const privateKey = window.btoa(String.fromCharCode(...(new Uint8Array(keypair.secretKey) as any))); - const res = await fetch('/api/devices', { - method: 'POST', - body: JSON.stringify({ - name: name, - publicKey: b64PublicKey, - }), - }); - if (res.status >= 400) { - setError(await res.text()); - return; - } - const { device } = (await res.json()) as { device: IDevice }; - - AppState.devices.push(device); - - const configFile = codeBlock` - [Interface] - PrivateKey = ${b64PrivateKey} - Address = ${device.address} - DNS = ${device.dns} + try { + const device = await grpc.devices.addDevice({ name, publicKey }); + const info = await grpc.server.info({}); + AppState.devices.push(device); + const configFile = codeBlock` + [Interface] + PrivateKey = ${privateKey} + Address = ${device.address} + DNS = ${info.hostVpnIp} - [Peer] - PublicKey = ${device.serverPublicKey} - AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/0 - Endpoint = ${device.endpoint || `${window.location.hostname}:51820`} - `; - - setQrCodeUri(await qrcode.toDataURL(configFile)); - setConfigFileUri(URL.createObjectURL(new Blob([configFile]))); - - closeForm(); - setDialogOpen(true); + [Peer] + PublicKey = ${info.publicKey} + AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/0 + Endpoint = ${`${info.host?.value || window.location.hostname}:${info.port || '51820'}`} + `; + setQrCodeUri(await qrcode.toDataURL(configFile)); + setConfigFileUri(URL.createObjectURL(new Blob([configFile]))); + reset(); + setDialogOpen(true); + } catch (error) { + console.log(error); + setError('failed'); + } }; return ( @@ -100,12 +88,8 @@ export default function AddDevice() { - - -

TODO: I don't have an android phone :(

-

PRs welcome :)

+ + + + + + + + + + + + + + + + wireguard qr code + +
diff --git a/website/src/sdk/devices_pb.ts b/website/src/sdk/devices_pb.ts new file mode 100644 index 00000000..71524cc2 --- /dev/null +++ b/website/src/sdk/devices_pb.ts @@ -0,0 +1,610 @@ +// Generated by protoc-gen-grpc-ts-web. DO NOT EDIT! +/* eslint-disable */ +/* tslint:disable */ + +import * as jspb from 'google-protobuf'; +import * as grpcWeb from 'grpc-web'; + +import * as googleProtobufTimestamp from 'google-protobuf/google/protobuf/timestamp_pb'; +import * as googleProtobufEmpty from 'google-protobuf/google/protobuf/empty_pb'; + +export class Devices { + + private client_ = new grpcWeb.GrpcWebClientBase({ + format: 'text', + }); + + private methodInfoAddDevice = new grpcWeb.AbstractClientBase.MethodInfo( + Device, + (req: AddDeviceReq) => req.serializeBinary(), + Device.deserializeBinary + ); + + private methodInfoListDevices = new grpcWeb.AbstractClientBase.MethodInfo( + ListDevicesRes, + (req: ListDevicesReq) => req.serializeBinary(), + ListDevicesRes.deserializeBinary + ); + + private methodInfoDeleteDevice = new grpcWeb.AbstractClientBase.MethodInfo( + googleProtobufEmpty.Empty, + (req: DeleteDeviceReq) => req.serializeBinary(), + googleProtobufEmpty.Empty.deserializeBinary + ); + + constructor( + private hostname: string, + private defaultMetadata?: () => grpcWeb.Metadata, + ) { } + + addDevice(req: AddDeviceReq.AsObject, metadata?: grpcWeb.Metadata): Promise { + return new Promise((resolve, reject) => { + const message = AddDeviceReqFromObject(req); + this.client_.rpcCall( + this.hostname + '/proto.Devices/AddDevice', + message, + Object.assign({}, this.defaultMetadata ? this.defaultMetadata() : {}, metadata), + this.methodInfoAddDevice, + (err: grpcWeb.Error, res: Device) => { + if (err) { + reject(err); + } else { + resolve(res.toObject()); + } + }, + ); + }); + } + + listDevices(req: ListDevicesReq.AsObject, metadata?: grpcWeb.Metadata): Promise { + return new Promise((resolve, reject) => { + const message = ListDevicesReqFromObject(req); + this.client_.rpcCall( + this.hostname + '/proto.Devices/ListDevices', + message, + Object.assign({}, this.defaultMetadata ? this.defaultMetadata() : {}, metadata), + this.methodInfoListDevices, + (err: grpcWeb.Error, res: ListDevicesRes) => { + if (err) { + reject(err); + } else { + resolve(res.toObject()); + } + }, + ); + }); + } + + deleteDevice(req: DeleteDeviceReq.AsObject, metadata?: grpcWeb.Metadata): Promise { + return new Promise((resolve, reject) => { + const message = DeleteDeviceReqFromObject(req); + this.client_.rpcCall( + this.hostname + '/proto.Devices/DeleteDevice', + message, + Object.assign({}, this.defaultMetadata ? this.defaultMetadata() : {}, metadata), + this.methodInfoDeleteDevice, + (err: grpcWeb.Error, res: googleProtobufEmpty.Empty) => { + if (err) { + reject(err); + } else { + resolve(res.toObject()); + } + }, + ); + }); + } + +} + + + + +export declare namespace Device { + export type AsObject = { + name: string, + owner: string, + publicKey: string, + address: string, + createdAt?: googleProtobufTimestamp.Timestamp.AsObject, + } +} + +export class Device extends jspb.Message { + + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, Device.repeatedFields_, null); + } + + + getName(): string { + return jspb.Message.getFieldWithDefault(this, 1, ""); + } + + setName(value: string): void { + (jspb.Message as any).setProto3StringField(this, 1, value); + } + + getOwner(): string { + return jspb.Message.getFieldWithDefault(this, 2, ""); + } + + setOwner(value: string): void { + (jspb.Message as any).setProto3StringField(this, 2, value); + } + + getPublicKey(): string { + return jspb.Message.getFieldWithDefault(this, 3, ""); + } + + setPublicKey(value: string): void { + (jspb.Message as any).setProto3StringField(this, 3, value); + } + + getAddress(): string { + return jspb.Message.getFieldWithDefault(this, 4, ""); + } + + setAddress(value: string): void { + (jspb.Message as any).setProto3StringField(this, 4, value); + } + + getCreatedAt(): googleProtobufTimestamp.Timestamp { + return jspb.Message.getWrapperField(this, googleProtobufTimestamp.Timestamp, 5); + } + + setCreatedAt(value?: googleProtobufTimestamp.Timestamp): void { + (jspb.Message as any).setWrapperField(this, 5, value); + } + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + Device.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): Device.AsObject { + let f: any; + return {name: this.getName(), + owner: this.getOwner(), + publicKey: this.getPublicKey(), + address: this.getAddress(), + createdAt: (f = this.getCreatedAt()) && f.toObject(), + + }; + } + + static serializeBinaryToWriter(message: Device, writer: jspb.BinaryWriter): void { + const field1 = message.getName(); + if (field1.length > 0) { + writer.writeString(1, field1); + } + const field2 = message.getOwner(); + if (field2.length > 0) { + writer.writeString(2, field2); + } + const field3 = message.getPublicKey(); + if (field3.length > 0) { + writer.writeString(3, field3); + } + const field4 = message.getAddress(); + if (field4.length > 0) { + writer.writeString(4, field4); + } + const field5 = message.getCreatedAt(); + if (field5 != null) { + writer.writeMessage(5, field5, googleProtobufTimestamp.Timestamp.serializeBinaryToWriter); + } + } + + static deserializeBinary(bytes: Uint8Array): Device { + var reader = new jspb.BinaryReader(bytes); + var message = new Device(); + return Device.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: Device, reader: jspb.BinaryReader): Device { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + case 1: + const field1 = reader.readString() + message.setName(field1); + break; + case 2: + const field2 = reader.readString() + message.setOwner(field2); + break; + case 3: + const field3 = reader.readString() + message.setPublicKey(field3); + break; + case 4: + const field4 = reader.readString() + message.setAddress(field4); + break; + case 5: + const field5 = new googleProtobufTimestamp.Timestamp(); + reader.readMessage(field5, googleProtobufTimestamp.Timestamp.deserializeBinaryFromReader); + message.setCreatedAt(field5); + break; + default: + reader.skipField(); + break; + } + } + return message; + } + +} +export declare namespace AddDeviceReq { + export type AsObject = { + name: string, + publicKey: string, + } +} + +export class AddDeviceReq extends jspb.Message { + + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, AddDeviceReq.repeatedFields_, null); + } + + + getName(): string { + return jspb.Message.getFieldWithDefault(this, 1, ""); + } + + setName(value: string): void { + (jspb.Message as any).setProto3StringField(this, 1, value); + } + + getPublicKey(): string { + return jspb.Message.getFieldWithDefault(this, 2, ""); + } + + setPublicKey(value: string): void { + (jspb.Message as any).setProto3StringField(this, 2, value); + } + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + AddDeviceReq.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): AddDeviceReq.AsObject { + let f: any; + return {name: this.getName(), + publicKey: this.getPublicKey(), + + }; + } + + static serializeBinaryToWriter(message: AddDeviceReq, writer: jspb.BinaryWriter): void { + const field1 = message.getName(); + if (field1.length > 0) { + writer.writeString(1, field1); + } + const field2 = message.getPublicKey(); + if (field2.length > 0) { + writer.writeString(2, field2); + } + } + + static deserializeBinary(bytes: Uint8Array): AddDeviceReq { + var reader = new jspb.BinaryReader(bytes); + var message = new AddDeviceReq(); + return AddDeviceReq.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: AddDeviceReq, reader: jspb.BinaryReader): AddDeviceReq { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + case 1: + const field1 = reader.readString() + message.setName(field1); + break; + case 2: + const field2 = reader.readString() + message.setPublicKey(field2); + break; + default: + reader.skipField(); + break; + } + } + return message; + } + +} +export declare namespace ListDevicesReq { + export type AsObject = { + } +} + +export class ListDevicesReq extends jspb.Message { + + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, ListDevicesReq.repeatedFields_, null); + } + + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + ListDevicesReq.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): ListDevicesReq.AsObject { + let f: any; + return { + }; + } + + static serializeBinaryToWriter(message: ListDevicesReq, writer: jspb.BinaryWriter): void { + } + + static deserializeBinary(bytes: Uint8Array): ListDevicesReq { + var reader = new jspb.BinaryReader(bytes); + var message = new ListDevicesReq(); + return ListDevicesReq.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: ListDevicesReq, reader: jspb.BinaryReader): ListDevicesReq { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return message; + } + +} +export declare namespace ListDevicesRes { + export type AsObject = { + items: Array, + } +} + +export class ListDevicesRes extends jspb.Message { + + private static repeatedFields_ = [ + 1, + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, ListDevicesRes.repeatedFields_, null); + } + + + getItems(): Array { + return jspb.Message.getRepeatedWrapperField(this, Device, 1); + } + + setItems(value: Array): void { + (jspb.Message as any).setRepeatedWrapperField(this, 1, value); + } + + addItems(value?: Device, index?: number): Device { + return jspb.Message.addToRepeatedWrapperField(this, 1, value, Device, index); + } + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + ListDevicesRes.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): ListDevicesRes.AsObject { + let f: any; + return { + items: this.getItems().map((item) => item.toObject()), + }; + } + + static serializeBinaryToWriter(message: ListDevicesRes, writer: jspb.BinaryWriter): void { + const field1 = message.getItems(); + if (field1.length > 0) { + writer.writeRepeatedMessage(1, field1, Device.serializeBinaryToWriter); + } + } + + static deserializeBinary(bytes: Uint8Array): ListDevicesRes { + var reader = new jspb.BinaryReader(bytes); + var message = new ListDevicesRes(); + return ListDevicesRes.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: ListDevicesRes, reader: jspb.BinaryReader): ListDevicesRes { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + case 1: + const field1 = new Device(); + reader.readMessage(field1, Device.deserializeBinaryFromReader); + message.addItems(field1); + break; + default: + reader.skipField(); + break; + } + } + return message; + } + +} +export declare namespace DeleteDeviceReq { + export type AsObject = { + name: string, + } +} + +export class DeleteDeviceReq extends jspb.Message { + + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, DeleteDeviceReq.repeatedFields_, null); + } + + + getName(): string { + return jspb.Message.getFieldWithDefault(this, 1, ""); + } + + setName(value: string): void { + (jspb.Message as any).setProto3StringField(this, 1, value); + } + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + DeleteDeviceReq.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): DeleteDeviceReq.AsObject { + let f: any; + return {name: this.getName(), + + }; + } + + static serializeBinaryToWriter(message: DeleteDeviceReq, writer: jspb.BinaryWriter): void { + const field1 = message.getName(); + if (field1.length > 0) { + writer.writeString(1, field1); + } + } + + static deserializeBinary(bytes: Uint8Array): DeleteDeviceReq { + var reader = new jspb.BinaryReader(bytes); + var message = new DeleteDeviceReq(); + return DeleteDeviceReq.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: DeleteDeviceReq, reader: jspb.BinaryReader): DeleteDeviceReq { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + case 1: + const field1 = reader.readString() + message.setName(field1); + break; + default: + reader.skipField(); + break; + } + } + return message; + } + +} + + +function DeviceFromObject(obj: Device.AsObject | undefined): Device | undefined { + if (obj === undefined) { + return undefined; + } + const message = new Device(); + message.setName(obj.name); + message.setOwner(obj.owner); + message.setPublicKey(obj.publicKey); + message.setAddress(obj.address); + message.setCreatedAt(TimestampFromObject(obj.createdAt)); + return message; +} + +function TimestampFromObject(obj: googleProtobufTimestamp.Timestamp.AsObject | undefined): googleProtobufTimestamp.Timestamp | undefined { + if (obj === undefined) { + return undefined; + } + const message = new googleProtobufTimestamp.Timestamp(); + message.setSeconds(obj.seconds); + message.setNanos(obj.nanos); + return message; +} + +function AddDeviceReqFromObject(obj: AddDeviceReq.AsObject | undefined): AddDeviceReq | undefined { + if (obj === undefined) { + return undefined; + } + const message = new AddDeviceReq(); + message.setName(obj.name); + message.setPublicKey(obj.publicKey); + return message; +} + +function ListDevicesReqFromObject(obj: ListDevicesReq.AsObject | undefined): ListDevicesReq | undefined { + if (obj === undefined) { + return undefined; + } + const message = new ListDevicesReq(); + return message; +} + +function ListDevicesResFromObject(obj: ListDevicesRes.AsObject | undefined): ListDevicesRes | undefined { + if (obj === undefined) { + return undefined; + } + const message = new ListDevicesRes(); + (obj.items || []) + .map((item) => DeviceFromObject(item)) + .forEach((item) => message.addItems(item)); + return message; +} + +function DeleteDeviceReqFromObject(obj: DeleteDeviceReq.AsObject | undefined): DeleteDeviceReq | undefined { + if (obj === undefined) { + return undefined; + } + const message = new DeleteDeviceReq(); + message.setName(obj.name); + return message; +} + +function EmptyFromObject(obj: googleProtobufEmpty.Empty.AsObject | undefined): googleProtobufEmpty.Empty | undefined { + if (obj === undefined) { + return undefined; + } + const message = new googleProtobufEmpty.Empty(); + return message; +} + diff --git a/website/src/sdk/server_pb.ts b/website/src/sdk/server_pb.ts new file mode 100644 index 00000000..321f835b --- /dev/null +++ b/website/src/sdk/server_pb.ts @@ -0,0 +1,262 @@ +// Generated by protoc-gen-grpc-ts-web. DO NOT EDIT! +/* eslint-disable */ +/* tslint:disable */ + +import * as jspb from 'google-protobuf'; +import * as grpcWeb from 'grpc-web'; + +import * as googleProtobufWrappers from 'google-protobuf/google/protobuf/wrappers_pb'; + +export class Server { + + private client_ = new grpcWeb.GrpcWebClientBase({ + format: 'text', + }); + + private methodInfoInfo = new grpcWeb.AbstractClientBase.MethodInfo( + InfoRes, + (req: InfoReq) => req.serializeBinary(), + InfoRes.deserializeBinary + ); + + constructor( + private hostname: string, + private defaultMetadata?: () => grpcWeb.Metadata, + ) { } + + info(req: InfoReq.AsObject, metadata?: grpcWeb.Metadata): Promise { + return new Promise((resolve, reject) => { + const message = InfoReqFromObject(req); + this.client_.rpcCall( + this.hostname + '/proto.Server/Info', + message, + Object.assign({}, this.defaultMetadata ? this.defaultMetadata() : {}, metadata), + this.methodInfoInfo, + (err: grpcWeb.Error, res: InfoRes) => { + if (err) { + reject(err); + } else { + resolve(res.toObject()); + } + }, + ); + }); + } + +} + + + + +export declare namespace InfoReq { + export type AsObject = { + } +} + +export class InfoReq extends jspb.Message { + + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, InfoReq.repeatedFields_, null); + } + + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + InfoReq.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): InfoReq.AsObject { + let f: any; + return { + }; + } + + static serializeBinaryToWriter(message: InfoReq, writer: jspb.BinaryWriter): void { + } + + static deserializeBinary(bytes: Uint8Array): InfoReq { + var reader = new jspb.BinaryReader(bytes); + var message = new InfoReq(); + return InfoReq.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: InfoReq, reader: jspb.BinaryReader): InfoReq { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return message; + } + +} +export declare namespace InfoRes { + export type AsObject = { + publicKey: string, + host?: googleProtobufWrappers.StringValue.AsObject, + port: number, + hostVpnIp: string, + } +} + +export class InfoRes extends jspb.Message { + + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { + super(); + jspb.Message.initialize(this, data || [], 0, -1, InfoRes.repeatedFields_, null); + } + + + getPublicKey(): string { + return jspb.Message.getFieldWithDefault(this, 1, ""); + } + + setPublicKey(value: string): void { + (jspb.Message as any).setProto3StringField(this, 1, value); + } + + getHost(): googleProtobufWrappers.StringValue { + return jspb.Message.getWrapperField(this, googleProtobufWrappers.StringValue, 2); + } + + setHost(value?: googleProtobufWrappers.StringValue): void { + (jspb.Message as any).setWrapperField(this, 2, value); + } + + getPort(): number { + return jspb.Message.getFieldWithDefault(this, 3, 0); + } + + setPort(value: number): void { + (jspb.Message as any).setProto3IntField(this, 3, value); + } + + getHostVpnIp(): string { + return jspb.Message.getFieldWithDefault(this, 4, ""); + } + + setHostVpnIp(value: string): void { + (jspb.Message as any).setProto3StringField(this, 4, value); + } + + serializeBinary(): Uint8Array { + const writer = new jspb.BinaryWriter(); + InfoRes.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); + } + + toObject(): InfoRes.AsObject { + let f: any; + return {publicKey: this.getPublicKey(), + host: (f = this.getHost()) && f.toObject(), + port: this.getPort(), + hostVpnIp: this.getHostVpnIp(), + + }; + } + + static serializeBinaryToWriter(message: InfoRes, writer: jspb.BinaryWriter): void { + const field1 = message.getPublicKey(); + if (field1.length > 0) { + writer.writeString(1, field1); + } + const field2 = message.getHost(); + if (field2 != null) { + writer.writeMessage(2, field2, googleProtobufWrappers.StringValue.serializeBinaryToWriter); + } + const field3 = message.getPort(); + if (field3 != 0) { + writer.writeInt32(3, field3); + } + const field4 = message.getHostVpnIp(); + if (field4.length > 0) { + writer.writeString(4, field4); + } + } + + static deserializeBinary(bytes: Uint8Array): InfoRes { + var reader = new jspb.BinaryReader(bytes); + var message = new InfoRes(); + return InfoRes.deserializeBinaryFromReader(message, reader); + } + + static deserializeBinaryFromReader(message: InfoRes, reader: jspb.BinaryReader): InfoRes { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + const field = reader.getFieldNumber(); + switch (field) { + case 1: + const field1 = reader.readString() + message.setPublicKey(field1); + break; + case 2: + const field2 = new googleProtobufWrappers.StringValue(); + reader.readMessage(field2, googleProtobufWrappers.StringValue.deserializeBinaryFromReader); + message.setHost(field2); + break; + case 3: + const field3 = reader.readInt32() + message.setPort(field3); + break; + case 4: + const field4 = reader.readString() + message.setHostVpnIp(field4); + break; + default: + reader.skipField(); + break; + } + } + return message; + } + +} + + +function InfoReqFromObject(obj: InfoReq.AsObject | undefined): InfoReq | undefined { + if (obj === undefined) { + return undefined; + } + const message = new InfoReq(); + return message; +} + +function InfoResFromObject(obj: InfoRes.AsObject | undefined): InfoRes | undefined { + if (obj === undefined) { + return undefined; + } + const message = new InfoRes(); + message.setPublicKey(obj.publicKey); + message.setHost(StringValueFromObject(obj.host)); + message.setPort(obj.port); + message.setHostVpnIp(obj.hostVpnIp); + return message; +} + +function StringValueFromObject(obj: googleProtobufWrappers.StringValue.AsObject | undefined): googleProtobufWrappers.StringValue | undefined { + if (obj === undefined) { + return undefined; + } + const message = new googleProtobufWrappers.StringValue(); + message.setValue(obj.value); + return message; +} + diff --git a/website/yarn.lock b/website/yarn.lock deleted file mode 100644 index 6f01e298..00000000 --- a/website/yarn.lock +++ /dev/null @@ -1,10214 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.5.5", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz#9b00f73554edd67bebc86df8303ef678be3d7b48" - integrity sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.0" - "@babel/helpers" "^7.6.0" - "@babel/parser" "^7.6.0" - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.0" - "@babel/types" "^7.6.0" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.2.tgz#069a776e8d5e9eefff76236bc8845566bd31dd91" - integrity sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.2" - "@babel/helpers" "^7.6.2" - "@babel/parser" "^7.6.2" - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.2" - "@babel/types" "^7.6.0" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" - integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== - dependencies: - "@babel/types" "^7.6.0" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== - dependencies: - "@babel/types" "^7.3.0" - esutils "^2.0.0" - -"@babel/helper-call-delegate@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" - integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" - integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - -"@babel/helper-define-map@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" - integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== - dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-hoist-variables@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" - integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-member-expression-to-functions@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" - integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== - dependencies: - "@babel/types" "^7.5.5" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" - integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/template" "^7.4.4" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-replace-supers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" - integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" - -"@babel/helpers@^7.6.0", "@babel/helpers@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" - integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== - dependencies: - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.2" - "@babel/types" "^7.6.0" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" - integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== - -"@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - -"@babel/plugin-proposal-class-properties@7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" - integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.5" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-decorators@7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz#6659d2572a17d70abd68123e89a12a43d90aa30c" - integrity sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.6.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-decorators" "^7.2.0" - -"@babel/plugin-proposal-dynamic-import@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" - integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" - integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" - integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz#05413762894f41bfe42b9a5e80919bd575dcc802" - integrity sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-decorators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b" - integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-dynamic-import@7.2.0", "@babel/plugin-syntax-dynamic-import@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-flow@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" - integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-typescript@^7.2.0": - version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" - integrity sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-async-to-generator@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" - integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - -"@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-block-scoping@^7.6.0", "@babel/plugin-transform-block-scoping@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz#96c33ab97a9ae500cc6f5b19e04a7e6553360a79" - integrity sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - -"@babel/plugin-transform-classes@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" - integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@7.6.0", "@babel/plugin-transform-destructuring@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" - integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz#44abb948b88f0199a627024e1508acaf8dc9b2f9" - integrity sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - -"@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" - integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-flow-strip-types@7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" - integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.2.0" - -"@babel/plugin-transform-for-of@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" - integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-function-name@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" - integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-amd@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" - integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-commonjs@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486" - integrity sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g== - dependencies: - "@babel/helper-module-transforms" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-systemjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" - integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-umd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz#c1ca0bb84b94f385ca302c3932e870b0fb0e522b" - integrity sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g== - dependencies: - regexpu-core "^4.6.0" - -"@babel/plugin-transform-new-target@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" - integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-super@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" - integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - -"@babel/plugin-transform-parameters@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" - integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== - dependencies: - "@babel/helper-call-delegate" "^7.4.4" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-property-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.0.tgz#13b8434fb817d30feebd811256eb402c9a245c9e" - integrity sha512-np/nPuII8DHOZWB3u8u+NSeKlEz0eBrOlnVksIQog4C9NGVzXO+NLxMcXn4Eu4GMFzOw2W6Tyo6L3+Wv8z9Y5w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-display-name@7.2.0", "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" - integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx@^7.0.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== - dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-regenerator@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== - dependencies: - regenerator-transform "^0.14.0" - -"@babel/plugin-transform-reserved-words@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" - integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-runtime@7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz#85a3cce402b28586138e368fce20ab3019b9713e" - integrity sha512-Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@^7.2.0", "@babel/plugin-transform-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" - integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - -"@babel/plugin-transform-template-literals@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" - integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typescript@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz#48d78405f1aa856ebeea7288a48a19ed8da377a6" - integrity sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.6.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.2.0" - -"@babel/plugin-transform-unicode-regex@^7.4.4", "@babel/plugin-transform-unicode-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz#b692aad888a7e8d8b1b214be6b9dc03d5031f698" - integrity sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - -"@babel/preset-env@7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.0.tgz#aae4141c506100bb2bfaa4ac2a5c12b395619e50" - integrity sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-dynamic-import" "^7.5.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.5.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.6.0" - "@babel/plugin-transform-classes" "^7.5.5" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.6.0" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.5.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.4.4" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.6.0" - "@babel/plugin-transform-modules-systemjs" "^7.5.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.0" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.5.5" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.5" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.4.4" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.6.0" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-env@^7.4.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.2.tgz#abbb3ed785c7fe4220d4c82a53621d71fc0c75d3" - integrity sha512-Ru7+mfzy9M1/YTEtlDS8CD45jd22ngb9tXnn64DvQK3ooyqSw9K4K9DUWmYknTTVk4TqygL9dqCrZgm1HMea/Q== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-dynamic-import" "^7.5.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.6.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.6.2" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.5.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.6.2" - "@babel/plugin-transform-classes" "^7.5.5" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.6.0" - "@babel/plugin-transform-dotall-regex" "^7.6.2" - "@babel/plugin-transform-duplicate-keys" "^7.5.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.4.4" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.6.0" - "@babel/plugin-transform-modules-systemjs" "^7.5.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.2" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.5.5" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.5" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.6.2" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.4.4" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.6.2" - "@babel/types" "^7.6.0" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" - integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - -"@babel/preset-typescript@7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98" - integrity sha512-4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.6.0" - -"@babel/runtime@7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205" - integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz#c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd" - integrity sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" - integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.6.0" - "@babel/types" "^7.6.0" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" - integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.2" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.6.2" - "@babel/types" "^7.6.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" - integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - -"@csstools/normalize.css@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" - integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== - -"@hapi/address@2.x.x": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222" - integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q== - -"@hapi/bourne@1.x.x": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== - -"@hapi/hoek@8.x.x": - version "8.2.5" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.5.tgz#b307d3f1aced22e05bd6a2403c302eaebb577da3" - integrity sha512-rmGFzok1zR3xZKd5m3ihWdqafXFxvPHoQ/78+AG5URKbEbJiwBBfRgzbu+07W5f3+07JRshw6QqGbVmCp8ntig== - -"@hapi/joi@^15.0.0": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== - dependencies: - "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/topo" "3.x.x" - -"@hapi/topo@3.x.x": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.4.tgz#42e2fe36f593d90ad258a08b582be128c141c45d" - integrity sha512-aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA== - dependencies: - "@hapi/hoek" "8.x.x" - -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" - integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig== - -"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" - integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" - integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" - integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== - -"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" - integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== - -"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" - integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w== - -"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" - integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw== - -"@svgr/babel-plugin-transform-svg-component@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" - integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== - -"@svgr/babel-preset@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" - integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" - "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" - "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" - "@svgr/babel-plugin-transform-svg-component" "^4.2.0" - -"@svgr/core@^4.3.2": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" - integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== - dependencies: - "@svgr/plugin-jsx" "^4.3.3" - camelcase "^5.3.1" - cosmiconfig "^5.2.1" - -"@svgr/hast-util-to-babel-ast@^4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" - integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== - dependencies: - "@babel/types" "^7.4.4" - -"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" - integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== - dependencies: - "@babel/core" "^7.4.5" - "@svgr/babel-preset" "^4.3.3" - "@svgr/hast-util-to-babel-ast" "^4.3.2" - svg-parser "^2.0.0" - -"@svgr/plugin-svgo@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" - integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== - dependencies: - cosmiconfig "^5.2.1" - merge-deep "^3.0.2" - svgo "^1.2.2" - -"@svgr/webpack@4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" - integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w== - dependencies: - "@babel/core" "^7.4.5" - "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.4.5" - "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.3.2" - "@svgr/plugin-jsx" "^4.3.2" - "@svgr/plugin-svgo" "^4.3.1" - loader-utils "^1.2.3" - -"@types/babel__core@^7.1.0": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" - integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" - integrity sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/jest-diff@*": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" - integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== - -"@types/jest@24.0.19": - version "24.0.19" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.19.tgz#f7036058d2a5844fe922609187c0ad8be430aff5" - integrity sha512-YYiqfSjocv7lk5H/T+v5MjATYjaTMsUkbDnjGqSMoO88jWdtJXJV4ST/7DKZcoMHMBvB2SeSfyOzZfkxXHR5xg== - dependencies: - "@types/jest-diff" "*" - -"@types/json-schema@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" - integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== - -"@types/node@12.11.5": - version "12.11.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.5.tgz#6c3c8dc84988aff11fd2a63d7b5fbf39eaaab7b1" - integrity sha512-LC8ALj/24PhByn39nr5jnTvpE7MujK8y7LQmV74kHYF5iQ0odCPkMH4IZNZw+cobKfSXqaC8GgegcbIsQpffdA== - -"@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== - -"@types/q@^1.5.1": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" - integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== - -"@types/react-dom@16.9.2": - version "16.9.2" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" - integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@16.9.9": - version "16.9.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" - integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== - -"@types/yargs@^13.0.0": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380" - integrity sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^2.2.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.2.tgz#7e112ca0bb29044d915baf10163a8199a20f7c69" - integrity sha512-tcnpksq1bXzcIRbYLeXkgp6l+ggEMXXUcl1wsSvL807fRtmvVQKygElwEUf4hBA76dNag3VAK1q2m3vd7qJaZA== - dependencies: - "@typescript-eslint/experimental-utils" "2.3.2" - eslint-utils "^1.4.2" - functional-red-black-tree "^1.0.1" - regexpp "^2.0.1" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.2.tgz#e50f31264507e6fec7b33840bb6af260c24f4ea8" - integrity sha512-t+JGdTT6dRbmvKDlhlVkEueoZa0fhJNfG6z2cpnRPLwm3VwYr2BjR//acJGC1Yza0I9ZNcDfRY7ubQEvvfG6Jg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.3.2" - eslint-scope "^5.0.0" - -"@typescript-eslint/parser@^2.2.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.3.2.tgz#e9b742e191cd1209930da469cde379591ad0af5b" - integrity sha512-nq1UQeNGdKdqdgF6Ww+Ov2OidWgiL96+JYdXXZ2rkP/OWyc6KMNSbs6MpRCpI8q+PmDa7hBnHNQIo7w/drYccA== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.3.2" - "@typescript-eslint/typescript-estree" "2.3.2" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/typescript-estree@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.2.tgz#107414aa04e689fe6f7251eb63fb500217f2b7f4" - integrity sha512-eZNEAai16nwyhIVIEaWQlaUgAU3S9CkQ58qvK0+3IuSdLJD3W1PNuehQFMIhW/mTP1oFR9GNoTcLg7gtXz6lzA== - dependencies: - glob "^7.1.4" - is-glob "^4.0.1" - lodash.unescape "4.0.1" - semver "^6.3.0" - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d" - integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" - integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn@^5.5.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" - integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== - -acorn@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" - integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== - -address@1.1.2, address@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - -adjust-sourcemap-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" - integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA== - dependencies: - assert "1.4.1" - camelcase "5.0.0" - loader-utils "1.2.3" - object-path "0.11.4" - regex-parser "2.2.10" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" - integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== - dependencies: - type-fest "^0.5.2" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== - dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -axobject-query@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== - dependencies: - ast-types-flow "0.0.7" - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-eslint@10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" - integrity sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-extract-comments@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" - integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== - dependencies: - babylon "^6.18.0" - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-loader@8.0.6: - version "8.0.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== - dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - pify "^4.0.1" - -babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" - integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== - dependencies: - "@babel/runtime" "^7.4.2" - cosmiconfig "^5.2.0" - resolve "^1.10.0" - -babel-plugin-named-asset-import@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz#4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd" - integrity sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV/olpvQd9vrUWRx4bnhpw== - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-remove-prop-types@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-preset-react-app@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz#247d37e883d6d6f4b4691e5f23711bb2dd80567d" - integrity sha512-aXD+CTH8Chn8sNJr4tO/trWKqe5sSE4hdO76j9fhVezJSzmpWYWUSc5JoPmdSxADwef5kQFNGKXd433vvkd2VQ== - dependencies: - "@babel/core" "7.6.0" - "@babel/plugin-proposal-class-properties" "7.5.5" - "@babel/plugin-proposal-decorators" "7.6.0" - "@babel/plugin-proposal-object-rest-spread" "7.5.5" - "@babel/plugin-syntax-dynamic-import" "7.2.0" - "@babel/plugin-transform-destructuring" "7.6.0" - "@babel/plugin-transform-flow-strip-types" "7.4.4" - "@babel/plugin-transform-react-display-name" "7.2.0" - "@babel/plugin-transform-runtime" "7.6.0" - "@babel/preset-env" "7.6.0" - "@babel/preset-react" "7.0.0" - "@babel/preset-typescript" "7.6.0" - "@babel/runtime" "7.6.0" - babel-plugin-dynamic-import-node "2.3.0" - babel-plugin-macros "2.6.1" - babel-plugin-transform-react-remove-prop-types "0.4.24" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -bluebird@^3.5.5: - version "3.7.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.0.tgz#56a6a886e03f6ae577cffedeb524f8f2450293cf" - integrity sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -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" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@4.7.0, browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: - version "4.7.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" - integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== - dependencies: - caniuse-lite "^1.0.30000989" - electron-to-chromium "^1.3.247" - node-releases "^1.1.29" - -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989: - version "1.0.30000998" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000998.tgz#7227a8046841e7d01e156ae7227a504d065f6744" - integrity sha512-8Tj5sPZR9kMHeDD9SZXIVr5m9ofufLLCG2Y4QwQrH18GIwG+kCc+zYdlR036ZRkuKjVVetyxeAgGA1xF7XdmzQ== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -case-sensitive-paths-webpack-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" - integrity sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chownr@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.2.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== - dependencies: - source-map "~0.6.0" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - -commander@^2.11.0, commander@^2.20.0, commander@~2.20.0: - version "2.20.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" - integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg== - -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - -common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - -compressible@~2.0.16: - version "2.0.17" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" - integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== - dependencies: - mime-db ">= 1.40.0 < 2" - -compression@^1.5.2: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== - -connect-history-api-fallback@^1.3.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@1.6.0, convert-source-map@^1.1.0, convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" - integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== - dependencies: - browserslist "^4.6.6" - semver "^6.3.0" - -core-js@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" - integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== - -core-js@^2.4.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== - dependencies: - camelcase "^5.2.0" - icss-utils "^4.1.0" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.14" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.6" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^2.0.0" - postcss-value-parser "^3.3.0" - schema-utils "^1.0.0" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== - dependencies: - boolbase "^1.0.0" - css-what "^2.1.2" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.29: - version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.33: - version "1.0.0-alpha.33" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" - integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== - dependencies: - mdn-data "2.0.4" - source-map "^0.5.3" - -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= - -css-what@2.1, css-what@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== - dependencies: - css-tree "1.0.0-alpha.29" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== - dependencies: - cssom "0.3.x" - -csstype@^2.2.0: - version "2.6.7" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" - integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -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" - -damerau-levenshtein@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" - integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0, data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.0.0, debug@^3.2.5, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== - dependencies: - xregexp "4.0.0" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-equal@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745" - integrity sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" - integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -dotenv-expand@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" - integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== - -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.247: - version "1.3.273" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.273.tgz#94872d6823219f2812f2e35a2ce2a7d03c1eaa3f" - integrity sha512-0kUppiHQvHEENHh+nTtvTt4eXMwcPyWmMaj73GPrSEm3ldKhmmHuOH6IjrmuW6YmyS/fpXcLvMQLNVpqRhpNWw== - -elliptic@^6.0.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" - integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1, emoji-regex@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - 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" - -enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" - integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" - object-keys "^1.1.1" - string.prototype.trimleft "^2.1.0" - string.prototype.trimright "^2.1.0" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.51: - version "0.10.51" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz#ed2d7d9d48a12df86e0299287e93a09ff478842f" - integrity sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "^1.0.0" - -es6-iterator@2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz#859fdd34f32e905ff06d752e7171ddd4444a7ed1" - integrity sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.51" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.11.0, escodegen@^1.9.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.2.tgz#df40d73a1402986030680c040bbee520db5a32a4" - integrity sha512-VhlESAQM83uULJ9jsvcKxx2Ab0yrmjUt8kDz5DyhTQufqWE0ssAnejlWri5LXv25xoXfdqOyeDPdfJS9dXKagQ== - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== - dependencies: - debug "^2.6.9" - resolve "^1.5.0" - -eslint-loader@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" - integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw== - dependencies: - fs-extra "^8.1.0" - loader-fs-cache "^1.0.2" - loader-utils "^1.2.3" - object-hash "^1.3.1" - schema-utils "^2.2.0" - -eslint-module-utils@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" - integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== - dependencies: - debug "^2.6.8" - pkg-dir "^2.0.0" - -eslint-plugin-flowtype@3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" - integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== - dependencies: - lodash "^4.17.15" - -eslint-plugin-import@2.18.2: - version "2.18.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" - integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== - dependencies: - array-includes "^3.0.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.0" - read-pkg-up "^2.0.0" - resolve "^1.11.0" - -eslint-plugin-jsx-a11y@6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" - integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== - dependencies: - "@babel/runtime" "^7.4.5" - aria-query "^3.0.0" - array-includes "^3.0.3" - ast-types-flow "^0.0.7" - axobject-query "^2.0.2" - damerau-levenshtein "^1.0.4" - emoji-regex "^7.0.2" - has "^1.0.3" - jsx-ast-utils "^2.2.1" - -eslint-plugin-react-hooks@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" - integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== - -eslint-plugin-react@7.14.3: - version "7.14.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" - integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA== - dependencies: - array-includes "^3.0.3" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.1.0" - object.entries "^1.1.0" - object.fromentries "^2.0.0" - object.values "^1.1.0" - prop-types "^15.7.2" - resolve "^1.10.1" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" - integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== - dependencies: - eslint-visitor-keys "^1.0.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== - -eslint@^6.1.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6" - integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.2" - eslint-visitor-keys "^1.1.0" - espree "^6.1.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.4.1" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" - integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== - dependencies: - acorn "^7.0.0" - acorn-jsx "^5.0.2" - eslint-visitor-keys "^1.1.0" - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.0, esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" - integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -express@^4.16.2: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-glob@^2.0.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-loader@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" - integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - -filesize@3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" - integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== - -flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" - integrity sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A== - dependencies: - debug "^3.0.0" - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -fork-ts-checker-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" - integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA== - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^2.0.4" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@7.0.1, fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" - integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== - -fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== - dependencies: - nan "^2.12.1" - node-pre-gyp "^0.12.0" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" - integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0, globals@^11.7.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== - -handlebars@^4.1.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.2.tgz#8810a9821a9d6d52cb2f57d326d6ce7c3dfe741d" - integrity sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= - -html-minifier@^3.5.20: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - -html-webpack-plugin@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" - integrity sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ== - dependencies: - html-minifier "^3.5.20" - loader-utils "^1.1.0" - lodash "^4.17.11" - pretty-error "^2.1.1" - tapable "^1.1.0" - util.promisify "1.0.0" - -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -"http-parser-js@>=0.4.0 <0.4.11": - version "0.4.10" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" - integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= - -http-proxy-middleware@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" - integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-walk@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.2.tgz#99d83a246c196ea5c93ef9315ad7b0819c35069b" - integrity sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw== - dependencies: - minimatch "^3.0.4" - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -immer@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" - integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" - integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -inquirer@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^6.4.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -internal-ip@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - -ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-obj@^1.0.0, is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-root@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== - dependencies: - handlebars "^4.1.2" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom-fourteen@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" - integrity sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA== - dependencies: - jest-mock "^24.5.0" - jest-util "^24.5.0" - jsdom "^14.0.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.5.0, jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== - dependencies: - "@jest/types" "^24.9.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve@24.9.0, jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-util@^24.5.0, jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-watch-typeahead@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz#4d5356839a85421588ce452d2440bf0d25308397" - integrity sha512-bJR/HPNgOQnkmttg1OkBIrYFAYuxFxExtgQh67N2qPvaWGVC8TCkedRNPKBfmZfVXFD3u2sCH+9OuS5ApBfCgA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.1" - jest-watcher "^24.3.0" - slash "^3.0.0" - string-length "^3.1.0" - strip-ansi "^5.0.0" - -jest-watcher@^24.3.0, jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest@24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsdom@^14.0.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" - integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== - dependencies: - abab "^2.0.0" - acorn "^6.0.4" - acorn-globals "^4.3.0" - array-equal "^1.0.0" - cssom "^0.3.4" - cssstyle "^1.1.1" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.0" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.1.3" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.5" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^2.5.0" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^6.1.2" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" - integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== - dependencies: - array-includes "^3.0.3" - object.assign "^4.1.0" - -killable@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-fs-cache@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" - integrity sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw== - dependencies: - find-cache-dir "^0.1.1" - mkdirp "0.5.1" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.template@^4.4.0, lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.unescape@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -loglevel@^1.4.1: - version "1.6.4" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56" - integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdn-data@~1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.0, memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -"mime-db@>= 1.40.0 < 2": - version "1.42.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" - integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" - integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mini-css-extract-plugin@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" - integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -nan@^2.12.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -next-tick@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.29: - version "1.1.33" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.33.tgz#349f10291234624574f44cf32b7de259bf028303" - integrity sha512-I0V30bWQEoHb+10W8oedVoUrdjW5wIkYm0w7vvcrPO95pZY738m1k77GF5sO0vKg5eXYg9oGtrMAETbgZGm11A== - dependencies: - semver "^5.3.0" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.0.7, nwsapi@^2.1.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" - integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@4.1.1, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== - -object-is@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" - integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-path@0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" - integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.entries@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" - function-bind "^1.1.1" - has "^1.0.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -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 sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -open@^6.3.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - dependencies: - is-wsl "^1.1.0" - -opn@^5.1.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optimize-css-assets-webpack-plugin@5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" - integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-up@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -pnp-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" - integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg== - dependencies: - ts-pnp "^1.1.2" - -portfinder@^1.0.9: - version "1.0.24" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.24.tgz#11efbc6865f12f37624b6531ead1d809ed965cfa" - integrity sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg== - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7" - integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0" - -postcss-browser-comments@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz#dc48d6a8ddbff188a80a000b7393436cb18aed88" - integrity sha512-xGG0UvoxwBc4Yx4JX3gc0RuDl1kc4bVihCzzk6UC72YPfq5fu3c717Nu8Un3nvnq1BJ31gBnFXIG/OaUTnpHgA== - dependencies: - postcss "^7.0.2" - -postcss-calc@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== - dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-flexbugs-fixes@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" - integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== - dependencies: - postcss "^7.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz#99d319669a13d6c06ef8e70d852f68cb1b399b61" - integrity sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw== - dependencies: - lodash.template "^4.5.0" - postcss "^7.0.2" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^3.3.1" - -postcss-modules-scope@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" - integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^7.0.6" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz#eb51568d962b8aa61a8318383c8bb7e54332282e" - integrity sha512-NOp1fwrG+6kVXWo7P9SizCHX6QvioxFD/hZcI2MLxPmVnFJFC0j0DDpIuNw2tUDeCFMni59gCVgeJ1/hYhj2OQ== - dependencies: - "@csstools/normalize.css" "^9.0.1" - browserslist "^4.1.1" - postcss "^7.0.2" - postcss-browser-comments "^2.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-safe-parser@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" - integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== - dependencies: - postcss "^7.0.0" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" - integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= - dependencies: - dot-prop "^4.1.1" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.0.14: - version "7.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" - integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -pretty-bytes@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== - -pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz#f592e099c6cddc000d538ee7283bb190452b0bf6" - integrity sha512-HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.0" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.24, psl@^1.1.28: - version "1.4.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" - integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -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" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== - -raf@3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-app-polyfill@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz#4dd2636846b585c2d842b1e44e1bc29044345874" - integrity sha512-5Vte6ki7jpNsNCUKaboyofAhmURmCn2Y6Hu7ydJ6Iu4dct1CIGoh/1FT7gUZKAbowVX2lxVPlijvp1nKxfAl4w== - dependencies: - core-js "3.2.1" - object-assign "4.1.1" - promise "8.0.3" - raf "3.4.1" - regenerator-runtime "0.13.3" - whatwg-fetch "3.0.0" - -react-dev-utils@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" - integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg== - dependencies: - "@babel/code-frame" "7.5.5" - address "1.1.2" - browserslist "4.7.0" - chalk "2.4.2" - cross-spawn "6.0.5" - detect-port-alt "1.1.6" - escape-string-regexp "1.0.5" - filesize "3.6.1" - find-up "3.0.0" - fork-ts-checker-webpack-plugin "1.5.0" - global-modules "2.0.0" - globby "8.0.2" - gzip-size "5.1.1" - immer "1.10.0" - inquirer "6.5.0" - is-root "2.1.0" - loader-utils "1.2.3" - open "^6.3.0" - pkg-up "2.0.0" - react-error-overlay "^6.0.3" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - sockjs-client "1.4.0" - strip-ansi "5.2.0" - text-table "0.2.0" - -react-dom@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.11.0.tgz#7e7c4a5a85a569d565c2462f5d345da2dd849af5" - integrity sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.17.0" - -react-error-overlay@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d" - integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw== - -react-is@^16.8.1, react-is@^16.8.4: - version "16.10.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.1.tgz#0612786bf19df406502d935494f0450b40b8294f" - integrity sha512-BXUMf9sIOPXXZWqr7+c5SeOKJykyVr2u0UDzEf4LNGc6taGkQe1A9DFD07umCIXz45RLr9oAAwZbAJ0Pkknfaw== - -react-scripts@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c" - integrity sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA== - dependencies: - "@babel/core" "7.6.0" - "@svgr/webpack" "4.3.2" - "@typescript-eslint/eslint-plugin" "^2.2.0" - "@typescript-eslint/parser" "^2.2.0" - babel-eslint "10.0.3" - babel-jest "^24.9.0" - babel-loader "8.0.6" - babel-plugin-named-asset-import "^0.3.4" - babel-preset-react-app "^9.0.2" - camelcase "^5.2.0" - case-sensitive-paths-webpack-plugin "2.2.0" - css-loader "2.1.1" - dotenv "6.2.0" - dotenv-expand "5.1.0" - eslint "^6.1.0" - eslint-config-react-app "^5.0.2" - eslint-loader "3.0.2" - eslint-plugin-flowtype "3.13.0" - eslint-plugin-import "2.18.2" - eslint-plugin-jsx-a11y "6.2.3" - eslint-plugin-react "7.14.3" - eslint-plugin-react-hooks "^1.6.1" - file-loader "3.0.1" - fs-extra "7.0.1" - html-webpack-plugin "4.0.0-beta.5" - identity-obj-proxy "3.0.0" - is-wsl "^1.1.0" - jest "24.9.0" - jest-environment-jsdom-fourteen "0.1.0" - jest-resolve "24.9.0" - jest-watch-typeahead "0.4.0" - mini-css-extract-plugin "0.8.0" - optimize-css-assets-webpack-plugin "5.0.3" - pnp-webpack-plugin "1.5.0" - postcss-flexbugs-fixes "4.1.0" - postcss-loader "3.0.0" - postcss-normalize "7.0.1" - postcss-preset-env "6.7.0" - postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.4" - react-dev-utils "^9.1.0" - resolve "1.12.0" - resolve-url-loader "3.1.0" - sass-loader "7.2.0" - semver "6.3.0" - style-loader "1.0.0" - terser-webpack-plugin "1.4.1" - ts-pnp "1.1.4" - url-loader "2.1.0" - webpack "4.41.0" - webpack-dev-server "3.2.1" - webpack-manifest-plugin "2.1.1" - workbox-webpack-plugin "4.3.1" - optionalDependencies: - fsevents "2.0.7" - -react@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" - integrity sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== - dependencies: - util.promisify "^1.0.0" - -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - -regenerate-unicode-properties@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@0.13.3, regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== - dependencies: - private "^0.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regex-parser@2.2.10: - version "2.2.10" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" - integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== - -regexp.prototype.flags@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" - integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== - dependencies: - define-properties "^1.1.2" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpu-core@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" - integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - -regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== - -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== - dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== - dependencies: - lodash "^4.17.11" - -request-promise-native@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== - dependencies: - request-promise-core "1.1.2" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0, request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - 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" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url-loader@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" - integrity sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg== - dependencies: - adjust-sourcemap-loader "2.0.0" - camelcase "5.0.0" - compose-function "3.0.3" - convert-source-map "1.6.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.14" - rework "1.0.1" - rework-visit "1.0.0" - source-map "0.6.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.12.0, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.4.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sass-loader@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" - integrity sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA== - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.0.1" - neo-async "^2.5.0" - pify "^4.0.1" - semver "^5.5.0" - -sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -scheduler@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" - integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.4.1.tgz#e89ade5d056dc8bcaca377574bb4a9c4e1b8be56" - integrity sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w== - dependencies: - ajv "^6.10.2" - ajv-keywords "^3.4.1" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.9.1: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== - dependencies: - node-forge "0.9.0" - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^1.7.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== - -serve-index@^1.7.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" - integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2" - integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - 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" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string.prototype.trimleft@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== - dependencies: - define-properties "^1.1.3" - function-bind "^1.1.1" - -string.prototype.trimright@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== - dependencies: - define-properties "^1.1.3" - function-bind "^1.1.1" - -string_decoder@^1.0.0, 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" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-comments@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" - integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== - dependencies: - babel-extract-comments "^1.0.0" - babel-plugin-transform-object-rest-spread "^6.26.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-loader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" - integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.0.1" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -svg-parser@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" - integrity sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg== - -svgo@^1.0.0, svgo@^1.2.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" - integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.33" - csso "^3.5.1" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^4: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -terser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" - integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^1.7.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.4.tgz#ad91bade95619e3434685d69efa621a5af5f877d" - integrity sha512-Kcrn3RiW8NtHBP0ssOAzwa2MsIRQ8lJWiBG/K7JgqPlomA3mtb2DEmp4/hrUA+Jujx+WZ02zqd7GYD+QRBB/2Q== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-table@0.2.0, text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -ts-pnp@1.1.4, ts-pnp@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" - integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== - -tslib@^1.8.1, tslib@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-fest@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" - integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -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== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@3.6.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" - integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" - integrity sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A== - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.0.0" - -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@^0.4.0, utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.0.1, uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vendors@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" - integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== - -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= - dependencies: - browser-process-hrtime "^0.1.2" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -watchpack@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-dev-middleware@^3.5.1: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" - integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" - debug "^4.1.1" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" - http-proxy-middleware "^0.19.1" - import-local "^2.0.0" - internal-ip "^4.2.0" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - schema-utils "^1.0.0" - selfsigned "^1.9.1" - semver "^5.6.0" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.3.0" - spdy "^4.0.0" - strip-ansi "^3.0.0" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.5.1" - webpack-log "^2.0.0" - yargs "12.0.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-manifest-plugin@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz#6b3e280327815b83152c79f42d0ca13b665773c4" - integrity sha512-2zqJ6mvc3yoiqfDjghAIpljhLSDh/G7vqGrzYcYqqRCd/ZZZCAuc/YPE5xG0LGpLgDJRhUNV1H+znyyhIxahzA== - dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - object.entries "^1.1.0" - tapable "^1.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@4.41.0: - version "4.41.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b" - integrity sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.1" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.1" - watchpack "^1.6.0" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" - integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== - dependencies: - http-parser-js ">=0.4.0 <0.4.11" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.0, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -workbox-background-sync@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" - integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== - dependencies: - workbox-core "^4.3.1" - -workbox-broadcast-update@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" - integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== - dependencies: - workbox-core "^4.3.1" - -workbox-build@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" - integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== - dependencies: - "@babel/runtime" "^7.3.4" - "@hapi/joi" "^15.0.0" - common-tags "^1.8.0" - fs-extra "^4.0.2" - glob "^7.1.3" - lodash.template "^4.4.0" - pretty-bytes "^5.1.0" - stringify-object "^3.3.0" - strip-comments "^1.0.2" - workbox-background-sync "^4.3.1" - workbox-broadcast-update "^4.3.1" - workbox-cacheable-response "^4.3.1" - workbox-core "^4.3.1" - workbox-expiration "^4.3.1" - workbox-google-analytics "^4.3.1" - workbox-navigation-preload "^4.3.1" - workbox-precaching "^4.3.1" - workbox-range-requests "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - workbox-streams "^4.3.1" - workbox-sw "^4.3.1" - workbox-window "^4.3.1" - -workbox-cacheable-response@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" - integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== - dependencies: - workbox-core "^4.3.1" - -workbox-core@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" - integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== - -workbox-expiration@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" - integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== - dependencies: - workbox-core "^4.3.1" - -workbox-google-analytics@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" - integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== - dependencies: - workbox-background-sync "^4.3.1" - workbox-core "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - -workbox-navigation-preload@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" - integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== - dependencies: - workbox-core "^4.3.1" - -workbox-precaching@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" - integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== - dependencies: - workbox-core "^4.3.1" - -workbox-range-requests@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" - integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== - dependencies: - workbox-core "^4.3.1" - -workbox-routing@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" - integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== - dependencies: - workbox-core "^4.3.1" - -workbox-strategies@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" - integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== - dependencies: - workbox-core "^4.3.1" - -workbox-streams@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" - integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== - dependencies: - workbox-core "^4.3.1" - -workbox-sw@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" - integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== - -workbox-webpack-plugin@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" - integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== - dependencies: - "@babel/runtime" "^7.0.0" - json-stable-stringify "^1.0.1" - workbox-build "^4.3.1" - -workbox-window@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" - integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== - dependencies: - workbox-core "^4.3.1" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== - dependencies: - microevent.ts "~0.1.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== - dependencies: - async-limiter "~1.0.0" - -ws@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yargs-parser@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" - -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^10.1.0" - -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" From 86ce8d2c2bbf5e6b6f947873961124debc45c16d Mon Sep 17 00:00:00 2001 From: James Batt Date: Wed, 19 Feb 2020 22:49:05 +1100 Subject: [PATCH 02/14] wip --- internal/auth/{ => authconfig}/authconfig.go | 8 +- internal/auth/{ => authconfig}/basic.go | 16 ++- internal/auth/{ => authconfig}/gitlab.go | 6 +- internal/auth/{ => authconfig}/oidc.go | 34 ++--- internal/auth/{ => authruntime}/runtime.go | 11 +- internal/auth/{ => authsession}/session.go | 8 +- internal/auth/authtemplates/login.go | 138 +++++++++++++++++++ internal/auth/authutil/random.go | 17 +++ internal/auth/oauth.go | 1 - internal/auth/router.go | 21 ++- internal/config/config.go | 4 +- internal/services/device_service.go | 8 +- internal/services/server_service.go | 4 +- 13 files changed, 221 insertions(+), 55 deletions(-) rename internal/auth/{ => authconfig}/authconfig.go (67%) rename internal/auth/{ => authconfig}/basic.go (77%) rename internal/auth/{ => authconfig}/gitlab.go (74%) rename internal/auth/{ => authconfig}/oidc.go (69%) rename internal/auth/{ => authruntime}/runtime.go (61%) rename internal/auth/{ => authsession}/session.go (86%) create mode 100644 internal/auth/authtemplates/login.go create mode 100644 internal/auth/authutil/random.go delete mode 100644 internal/auth/oauth.go diff --git a/internal/auth/authconfig.go b/internal/auth/authconfig/authconfig.go similarity index 67% rename from internal/auth/authconfig.go rename to internal/auth/authconfig/authconfig.go index fe9e0af7..244575ba 100644 --- a/internal/auth/authconfig.go +++ b/internal/auth/authconfig/authconfig.go @@ -1,4 +1,6 @@ -package auth +package authconfig + +import "github.com/place1/wireguard-access-server/internal/auth/authruntime" type AuthConfig struct { OIDC *OIDCConfig `yaml:"oidc"` @@ -6,8 +8,8 @@ type AuthConfig struct { Basic *BasicAuthConfig `yaml:"basic"` } -func (c *AuthConfig) Providers() []*Provider { - providers := []*Provider{} +func (c *AuthConfig) Providers() []*authruntime.Provider { + providers := []*authruntime.Provider{} if c.OIDC != nil { providers = append(providers, c.OIDC.Provider()) diff --git a/internal/auth/basic.go b/internal/auth/authconfig/basic.go similarity index 77% rename from internal/auth/basic.go rename to internal/auth/authconfig/basic.go index 19bf4d90..84bd7647 100644 --- a/internal/auth/basic.go +++ b/internal/auth/authconfig/basic.go @@ -1,4 +1,4 @@ -package auth +package authconfig import ( "fmt" @@ -6,6 +6,8 @@ import ( "strings" "github.com/gorilla/mux" + "github.com/place1/wireguard-access-server/internal/auth/authruntime" + "github.com/place1/wireguard-access-server/internal/auth/authsession" "github.com/tg123/go-htpasswd" ) @@ -17,16 +19,16 @@ type BasicAuthConfig struct { Users []string `yaml:"users"` } -func (c *BasicAuthConfig) Provider() *Provider { - return &Provider{ - RegisterRoutes: func(router *mux.Router, runtime *ProviderRuntime) error { +func (c *BasicAuthConfig) Provider() *authruntime.Provider { + return &authruntime.Provider{ + RegisterRoutes: func(router *mux.Router, runtime *authruntime.ProviderRuntime) error { router.HandleFunc("/login", basicAuthLogin(c, runtime)) return nil }, } } -func basicAuthLogin(c *BasicAuthConfig, runtime *ProviderRuntime) http.HandlerFunc { +func basicAuthLogin(c *BasicAuthConfig, runtime *authruntime.ProviderRuntime) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { u, p, ok := r.BasicAuth() @@ -38,8 +40,8 @@ func basicAuthLogin(c *BasicAuthConfig, runtime *ProviderRuntime) http.HandlerFu } if ok := checkCreds(c.Users, u, p); ok { - runtime.SetSession(w, r, &AuthSession{ - Identity: &Identity{ + runtime.SetSession(w, r, &authsession.AuthSession{ + Identity: &authsession.Identity{ Subject: u, }, }) diff --git a/internal/auth/gitlab.go b/internal/auth/authconfig/gitlab.go similarity index 74% rename from internal/auth/gitlab.go rename to internal/auth/authconfig/gitlab.go index 481591a1..b17ba273 100644 --- a/internal/auth/gitlab.go +++ b/internal/auth/authconfig/gitlab.go @@ -1,4 +1,6 @@ -package auth +package authconfig + +import "github.com/place1/wireguard-access-server/internal/auth/authruntime" type GitlabConfig struct { Name string `yaml:"name"` @@ -8,7 +10,7 @@ type GitlabConfig struct { RedirectURL string `yaml:"redirectURL"` } -func (c *GitlabConfig) Provider() *Provider { +func (c *GitlabConfig) Provider() *authruntime.Provider { o := OIDCConfig{ Name: c.Name, Issuer: c.BaseURL, diff --git a/internal/auth/oidc.go b/internal/auth/authconfig/oidc.go similarity index 69% rename from internal/auth/oidc.go rename to internal/auth/authconfig/oidc.go index ab2e3c24..f5c76085 100644 --- a/internal/auth/oidc.go +++ b/internal/auth/authconfig/oidc.go @@ -1,14 +1,15 @@ -package auth +package authconfig import ( "context" - "crypto/rand" - "encoding/base64" "net/http" "time" "github.com/coreos/go-oidc" "github.com/gorilla/mux" + "github.com/place1/wireguard-access-server/internal/auth/authruntime" + "github.com/place1/wireguard-access-server/internal/auth/authsession" + "github.com/place1/wireguard-access-server/internal/auth/authutil" "github.com/sirupsen/logrus" "golang.org/x/oauth2" ) @@ -22,7 +23,7 @@ type OIDCConfig struct { RedirectURL string `yaml:"redirectURL"` } -func (c *OIDCConfig) Provider() *Provider { +func (c *OIDCConfig) Provider() *authruntime.Provider { ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) defer cancel() provider, err := oidc.NewProvider(ctx, c.Issuer) @@ -42,8 +43,8 @@ func (c *OIDCConfig) Provider() *Provider { Endpoint: provider.Endpoint(), } - return &Provider{ - RegisterRoutes: func(router *mux.Router, runtime *ProviderRuntime) error { + return &authruntime.Provider{ + RegisterRoutes: func(router *mux.Router, runtime *authruntime.ProviderRuntime) error { router.HandleFunc("/login", loginHandler(runtime, oauthConfig)) router.HandleFunc("/callback", callbackHandler(runtime, oauthConfig, provider)) return nil @@ -51,10 +52,10 @@ func (c *OIDCConfig) Provider() *Provider { } } -func loginHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config) http.HandlerFunc { +func loginHandler(runtime *authruntime.ProviderRuntime, oauthConfig *oauth2.Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - oauthStateString := randomString(32) - runtime.SetSession(w, r, &AuthSession{ + oauthStateString := authutil.RandomString(32) + runtime.SetSession(w, r, &authsession.AuthSession{ Nonce: &oauthStateString, }) url := oauthConfig.AuthCodeURL(oauthStateString) @@ -62,7 +63,7 @@ func loginHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config) http.Han } } -func callbackHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config, provider *oidc.Provider) http.HandlerFunc { +func callbackHandler(runtime *authruntime.ProviderRuntime, oauthConfig *oauth2.Config, provider *oidc.Provider) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { s, err := runtime.GetSession(r) if err != nil { @@ -84,8 +85,8 @@ func callbackHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config, provi return } - runtime.SetSession(w, r, &AuthSession{ - Identity: &Identity{ + runtime.SetSession(w, r, &authsession.AuthSession{ + Identity: &authsession.Identity{ Subject: info.Subject, }, }) @@ -93,12 +94,3 @@ func callbackHandler(runtime *ProviderRuntime, oauthConfig *oauth2.Config, provi runtime.Done(w, r) } } - -func randomString(size int) string { - blk := make([]byte, size) - _, err := rand.Read(blk) - if err != nil { - logrus.Fatal(err) - } - return base64.StdEncoding.EncodeToString(blk) -} diff --git a/internal/auth/runtime.go b/internal/auth/authruntime/runtime.go similarity index 61% rename from internal/auth/runtime.go rename to internal/auth/authruntime/runtime.go index c0be7ab9..582c62bf 100644 --- a/internal/auth/runtime.go +++ b/internal/auth/authruntime/runtime.go @@ -1,10 +1,11 @@ -package auth +package authruntime import ( "net/http" "github.com/gorilla/mux" "github.com/gorilla/sessions" + "github.com/place1/wireguard-access-server/internal/auth/authsession" ) type Provider struct { @@ -19,12 +20,12 @@ func NewProviderRuntime(store sessions.Store) *ProviderRuntime { return &ProviderRuntime{store} } -func (p *ProviderRuntime) SetSession(w http.ResponseWriter, r *http.Request, s *AuthSession) error { - return setSession(p.store, r, w, s) +func (p *ProviderRuntime) SetSession(w http.ResponseWriter, r *http.Request, s *authsession.AuthSession) error { + return authsession.SetSession(p.store, r, w, s) } -func (p *ProviderRuntime) GetSession(r *http.Request) (*AuthSession, error) { - return getSession(p.store, r) +func (p *ProviderRuntime) GetSession(r *http.Request) (*authsession.AuthSession, error) { + return authsession.GetSession(p.store, r) } func (p *ProviderRuntime) Done(w http.ResponseWriter, r *http.Request) { diff --git a/internal/auth/session.go b/internal/auth/authsession/session.go similarity index 86% rename from internal/auth/session.go rename to internal/auth/authsession/session.go index 91604ae4..ad7f4ec6 100644 --- a/internal/auth/session.go +++ b/internal/auth/authsession/session.go @@ -1,4 +1,4 @@ -package auth +package authsession import ( "context" @@ -23,7 +23,7 @@ type authSessionKey string var sessionKey authSessionKey = "auth-session" -func getSession(store sessions.Store, r *http.Request) (*AuthSession, error) { +func GetSession(store sessions.Store, r *http.Request) (*AuthSession, error) { session, _ := store.Get(r, string(sessionKey)) if data, ok := session.Values[string(sessionKey)].([]byte); ok { s := &AuthSession{} @@ -36,7 +36,7 @@ func getSession(store sessions.Store, r *http.Request) (*AuthSession, error) { return nil, errors.New("session not authenticated") } -func setSession(store sessions.Store, r *http.Request, w http.ResponseWriter, s *AuthSession) error { +func SetSession(store sessions.Store, r *http.Request, w http.ResponseWriter, s *AuthSession) error { data, err := json.Marshal(s) if err != nil { return errors.Wrap(err, "failed to marshal session") @@ -51,7 +51,7 @@ func setSession(store sessions.Store, r *http.Request, w http.ResponseWriter, s return nil } -func setIdentityCtx(parent context.Context, session *AuthSession) context.Context { +func SetIdentityCtx(parent context.Context, session *AuthSession) context.Context { return context.WithValue(parent, sessionKey, session) } diff --git a/internal/auth/authtemplates/login.go b/internal/auth/authtemplates/login.go new file mode 100644 index 00000000..18ad5452 --- /dev/null +++ b/internal/auth/authtemplates/login.go @@ -0,0 +1,138 @@ +package authtemplates + +import ( + "html/template" + "io" + + "github.com/place1/wireguard-access-server/internal/auth/authconfig" +) + +type LoginPage struct { + Config *authconfig.AuthConfig +} + +func RenderLoginPage(w io.Writer, data LoginPage) error { + tpl, err := template.New("login-page").Parse(loginPage) + if err != nil { + return err + } + return tpl.Execute(w, data) +} + +const loginPage string = ` + + + + +
+

Login To Your Account

+

Valid. Please wait a moment.

+

Error. Please enter correct Username & password.

+
+ + {{if .Config.Basic}} + + + + {{end}} + +
+ + {{if .Config.OIDC}} + + {{end}} + + {{if .Config.Gitlab}} + + {{end}} + +
+
+` diff --git a/internal/auth/authutil/random.go b/internal/auth/authutil/random.go new file mode 100644 index 00000000..79cd0dd7 --- /dev/null +++ b/internal/auth/authutil/random.go @@ -0,0 +1,17 @@ +package authutil + +import ( + "crypto/rand" + "encoding/base64" + + "github.com/sirupsen/logrus" +) + +func RandomString(size int) string { + blk := make([]byte, size) + _, err := rand.Read(blk) + if err != nil { + logrus.Fatal(err) + } + return base64.StdEncoding.EncodeToString(blk) +} diff --git a/internal/auth/oauth.go b/internal/auth/oauth.go deleted file mode 100644 index 8832b06d..00000000 --- a/internal/auth/oauth.go +++ /dev/null @@ -1 +0,0 @@ -package auth diff --git a/internal/auth/router.go b/internal/auth/router.go index baebde34..3f034fd4 100644 --- a/internal/auth/router.go +++ b/internal/auth/router.go @@ -4,30 +4,43 @@ import ( "fmt" "net/http" + "github.com/place1/wireguard-access-server/internal/auth/authconfig" + "github.com/place1/wireguard-access-server/internal/auth/authruntime" + "github.com/place1/wireguard-access-server/internal/auth/authsession" + "github.com/place1/wireguard-access-server/internal/auth/authtemplates" + "github.com/place1/wireguard-access-server/internal/auth/authutil" + "github.com/gorilla/mux" "github.com/gorilla/sessions" ) type AuthMiddleware struct { - config *AuthConfig + config *authconfig.AuthConfig } -func New(config *AuthConfig) *AuthMiddleware { +func New(config *authconfig.AuthConfig) *AuthMiddleware { return &AuthMiddleware{config} } func (m *AuthMiddleware) Wrap(next http.Handler) http.Handler { - runtime := NewProviderRuntime(sessions.NewCookieStore([]byte(randomString(32)))) + runtime := authruntime.NewProviderRuntime(sessions.NewCookieStore([]byte(authutil.RandomString(32)))) router := mux.NewRouter() for _, p := range m.config.Providers() { p.RegisterRoutes(router, runtime) } + router.PathPrefix("/signin").Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + fmt.Fprint(w, authtemplates.RenderLoginPage(w, authtemplates.LoginPage{ + Config: m.config, + })) + })) + router.PathPrefix("/").Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if s, err := runtime.GetSession(r); err == nil { - next.ServeHTTP(w, r.WithContext(setIdentityCtx(r.Context(), s))) + next.ServeHTTP(w, r.WithContext(authsession.SetIdentityCtx(r.Context(), s))) } else { http.Redirect(w, r, "/login", http.StatusTemporaryRedirect) } diff --git a/internal/config/config.go b/internal/config/config.go index 9f0081ed..d1370081 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -10,7 +10,7 @@ import ( "gopkg.in/yaml.v2" - "github.com/place1/wireguard-access-server/internal/auth" + "github.com/place1/wireguard-access-server/internal/auth/authconfig" "github.com/vishvananda/netlink" "github.com/pkg/errors" @@ -75,7 +75,7 @@ type AppConfig struct { // TODO: docs Upstream []string `yaml:"upstream"` } `yaml:"dns"` - Auth *auth.AuthConfig `yaml:"auth"` + Auth *authconfig.AuthConfig `yaml:"auth"` } var ( diff --git a/internal/services/device_service.go b/internal/services/device_service.go index eacac650..8dea6928 100644 --- a/internal/services/device_service.go +++ b/internal/services/device_service.go @@ -3,7 +3,7 @@ package services import ( "context" - "github.com/place1/wireguard-access-server/internal/auth" + "github.com/place1/wireguard-access-server/internal/auth/authsession" "github.com/golang/protobuf/ptypes/empty" "github.com/place1/wireguard-access-server/internal/devices" @@ -19,7 +19,7 @@ type DeviceService struct { } func (d *DeviceService) AddDevice(ctx context.Context, req *proto.AddDeviceReq) (*proto.Device, error) { - user, err := auth.CurrentUser(ctx) + user, err := authsession.CurrentUser(ctx) if err != nil { return nil, status.Errorf(codes.PermissionDenied, "not authenticated") } @@ -34,7 +34,7 @@ func (d *DeviceService) AddDevice(ctx context.Context, req *proto.AddDeviceReq) } func (d *DeviceService) ListDevices(ctx context.Context, req *proto.ListDevicesReq) (*proto.ListDevicesRes, error) { - user, err := auth.CurrentUser(ctx) + user, err := authsession.CurrentUser(ctx) if err != nil { return nil, status.Errorf(codes.PermissionDenied, "not authenticated") } @@ -50,7 +50,7 @@ func (d *DeviceService) ListDevices(ctx context.Context, req *proto.ListDevicesR } func (d *DeviceService) DeleteDevice(ctx context.Context, req *proto.DeleteDeviceReq) (*empty.Empty, error) { - user, err := auth.CurrentUser(ctx) + user, err := authsession.CurrentUser(ctx) if err != nil { return nil, status.Errorf(codes.PermissionDenied, "not authenticated") } diff --git a/internal/services/server_service.go b/internal/services/server_service.go index df63aedd..25f6192e 100644 --- a/internal/services/server_service.go +++ b/internal/services/server_service.go @@ -4,7 +4,7 @@ import ( "context" "github.com/place1/wg-embed/pkg/wgembed" - "github.com/place1/wireguard-access-server/internal/auth" + "github.com/place1/wireguard-access-server/internal/auth/authsession" "github.com/place1/wireguard-access-server/internal/config" "github.com/place1/wireguard-access-server/proto/proto" "github.com/sirupsen/logrus" @@ -17,7 +17,7 @@ type ServerService struct { } func (s *ServerService) Info(ctx context.Context, req *proto.InfoReq) (*proto.InfoRes, error) { - if _, err := auth.CurrentUser(ctx); err != nil { + if _, err := authsession.CurrentUser(ctx); err != nil { return nil, status.Errorf(codes.PermissionDenied, "not authenticated") } From 383dd631391c6ec6617fd1ef4dc147581a724428 Mon Sep 17 00:00:00 2001 From: James Batt Date: Wed, 19 Feb 2020 23:38:46 +1100 Subject: [PATCH 03/14] wip --- internal/auth/authconfig/authconfig.go | 4 +- internal/auth/authconfig/basic.go | 8 ++- internal/auth/authconfig/gitlab.go | 4 +- internal/auth/authconfig/oidc.go | 14 ++++- internal/auth/authruntime/runtime.go | 2 + internal/auth/authtemplates/login.go | 48 +++++++---------- internal/auth/router.go | 26 ++++++++-- website/src/sdk/devices_pb.ts | 71 +++++++++----------------- website/src/sdk/server_pb.ts | 24 +++------ 9 files changed, 93 insertions(+), 108 deletions(-) diff --git a/internal/auth/authconfig/authconfig.go b/internal/auth/authconfig/authconfig.go index 244575ba..3c506a30 100644 --- a/internal/auth/authconfig/authconfig.go +++ b/internal/auth/authconfig/authconfig.go @@ -1,6 +1,8 @@ package authconfig -import "github.com/place1/wireguard-access-server/internal/auth/authruntime" +import ( + "github.com/place1/wireguard-access-server/internal/auth/authruntime" +) type AuthConfig struct { OIDC *OIDCConfig `yaml:"oidc"` diff --git a/internal/auth/authconfig/basic.go b/internal/auth/authconfig/basic.go index 84bd7647..083819ba 100644 --- a/internal/auth/authconfig/basic.go +++ b/internal/auth/authconfig/basic.go @@ -5,7 +5,6 @@ import ( "net/http" "strings" - "github.com/gorilla/mux" "github.com/place1/wireguard-access-server/internal/auth/authruntime" "github.com/place1/wireguard-access-server/internal/auth/authsession" "github.com/tg123/go-htpasswd" @@ -21,16 +20,15 @@ type BasicAuthConfig struct { func (c *BasicAuthConfig) Provider() *authruntime.Provider { return &authruntime.Provider{ - RegisterRoutes: func(router *mux.Router, runtime *authruntime.ProviderRuntime) error { - router.HandleFunc("/login", basicAuthLogin(c, runtime)) - return nil + Type: "Basic", + Invoke: func(w http.ResponseWriter, r *http.Request, runtime *authruntime.ProviderRuntime) { + basicAuthLogin(c, runtime)(w, r) }, } } func basicAuthLogin(c *BasicAuthConfig, runtime *authruntime.ProviderRuntime) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - u, p, ok := r.BasicAuth() if !ok { w.Header().Set("WWW-Authenticate", `Basic realm="site"`) diff --git a/internal/auth/authconfig/gitlab.go b/internal/auth/authconfig/gitlab.go index b17ba273..847e5c73 100644 --- a/internal/auth/authconfig/gitlab.go +++ b/internal/auth/authconfig/gitlab.go @@ -19,5 +19,7 @@ func (c *GitlabConfig) Provider() *authruntime.Provider { RedirectURL: c.RedirectURL, Scopes: []string{"openid"}, } - return o.Provider() + p := o.Provider() + p.Type = "Gitlab" + return p } diff --git a/internal/auth/authconfig/oidc.go b/internal/auth/authconfig/oidc.go index f5c76085..53ea5969 100644 --- a/internal/auth/authconfig/oidc.go +++ b/internal/auth/authconfig/oidc.go @@ -3,10 +3,12 @@ package authconfig import ( "context" "net/http" + "net/url" "time" "github.com/coreos/go-oidc" "github.com/gorilla/mux" + "github.com/pkg/errors" "github.com/place1/wireguard-access-server/internal/auth/authruntime" "github.com/place1/wireguard-access-server/internal/auth/authsession" "github.com/place1/wireguard-access-server/internal/auth/authutil" @@ -43,10 +45,18 @@ func (c *OIDCConfig) Provider() *authruntime.Provider { Endpoint: provider.Endpoint(), } + redirectURL, err := url.Parse(c.RedirectURL) + if err != nil { + panic(errors.Wrapf(err, "redirect url is not valid: %s", c.RedirectURL)) + } + return &authruntime.Provider{ + Type: "OIDC", + Invoke: func(w http.ResponseWriter, r *http.Request, runtime *authruntime.ProviderRuntime) { + loginHandler(runtime, oauthConfig)(w, r) + }, RegisterRoutes: func(router *mux.Router, runtime *authruntime.ProviderRuntime) error { - router.HandleFunc("/login", loginHandler(runtime, oauthConfig)) - router.HandleFunc("/callback", callbackHandler(runtime, oauthConfig, provider)) + router.HandleFunc(redirectURL.Path, callbackHandler(runtime, oauthConfig, provider)) return nil }, } diff --git a/internal/auth/authruntime/runtime.go b/internal/auth/authruntime/runtime.go index 582c62bf..779faeb4 100644 --- a/internal/auth/authruntime/runtime.go +++ b/internal/auth/authruntime/runtime.go @@ -9,6 +9,8 @@ import ( ) type Provider struct { + Type string + Invoke func(http.ResponseWriter, *http.Request, *ProviderRuntime) RegisterRoutes func(*mux.Router, *ProviderRuntime) error } diff --git a/internal/auth/authtemplates/login.go b/internal/auth/authtemplates/login.go index 18ad5452..43e341db 100644 --- a/internal/auth/authtemplates/login.go +++ b/internal/auth/authtemplates/login.go @@ -4,11 +4,11 @@ import ( "html/template" "io" - "github.com/place1/wireguard-access-server/internal/auth/authconfig" + "github.com/place1/wireguard-access-server/internal/auth/authruntime" ) type LoginPage struct { - Config *authconfig.AuthConfig + Providers []*authruntime.Provider } func RenderLoginPage(w io.Writer, data LoginPage) error { @@ -34,11 +34,11 @@ const loginPage string = ` .form { position: absolute; - top: 40%; + top: 50%; left: 50%; + transform: translate(-50%, -50%); background-color: #fff; width: 285px; - margin: -140px 0 0 -182px; padding: 40px; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); } @@ -59,7 +59,6 @@ const loginPage string = ` border: 1px solid #ccc; color: #ccc; box-sizing: border-box; - transition: 0.2s linear; } .form * { @@ -105,34 +104,25 @@ const loginPage string = ` background-color: #4d4d4d; border-radius: 50%; } - - .error, .valid{display:none;} - - -
+

Login To Your Account

-

Valid. Please wait a moment.

-

Error. Please enter correct Username & password.

-
- - {{if .Config.Basic}} - - - - {{end}} - -
- - {{if .Config.OIDC}} - - {{end}} - - {{if .Config.Gitlab}} - - {{end}} + {{range $i, $p := .Providers}} + + + + {{end}} + + +
` diff --git a/internal/auth/router.go b/internal/auth/router.go index 3f034fd4..41cca08c 100644 --- a/internal/auth/router.go +++ b/internal/auth/router.go @@ -3,6 +3,7 @@ package auth import ( "fmt" "net/http" + "strconv" "github.com/place1/wireguard-access-server/internal/auth/authconfig" "github.com/place1/wireguard-access-server/internal/auth/authruntime" @@ -27,16 +28,31 @@ func (m *AuthMiddleware) Wrap(next http.Handler) http.Handler { runtime := authruntime.NewProviderRuntime(sessions.NewCookieStore([]byte(authutil.RandomString(32)))) router := mux.NewRouter() - for _, p := range m.config.Providers() { - p.RegisterRoutes(router, runtime) + providers := m.config.Providers() + + for _, p := range providers { + if p.RegisterRoutes != nil { + p.RegisterRoutes(router, runtime) + } } - router.PathPrefix("/signin").Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + router.HandleFunc("/signin", func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) fmt.Fprint(w, authtemplates.RenderLoginPage(w, authtemplates.LoginPage{ - Config: m.config, + Providers: providers, })) - })) + }) + + router.HandleFunc("/signin/{index}", func(w http.ResponseWriter, r *http.Request) { + index, err := strconv.Atoi(mux.Vars(r)["index"]) + if err != nil || (index < 0 || index >= len(providers)) { + fmt.Fprintf(w, "unknown provider") + w.WriteHeader(http.StatusBadRequest) + return + } + provider := providers[index] + provider.Invoke(w, r, runtime) + }) router.PathPrefix("/").Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if s, err := runtime.GetSession(r); err == nil { diff --git a/website/src/sdk/devices_pb.ts b/website/src/sdk/devices_pb.ts index 71524cc2..51811d3e 100644 --- a/website/src/sdk/devices_pb.ts +++ b/website/src/sdk/devices_pb.ts @@ -98,7 +98,6 @@ export class Devices { - export declare namespace Device { export type AsObject = { name: string, @@ -111,13 +110,9 @@ export declare namespace Device { export class Device extends jspb.Message { - private static repeatedFields_ = [ - - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, Device.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -169,12 +164,12 @@ export class Device extends jspb.Message { toObject(): Device.AsObject { let f: any; - return {name: this.getName(), + return { + name: this.getName(), owner: this.getOwner(), publicKey: this.getPublicKey(), address: this.getAddress(), createdAt: (f = this.getCreatedAt()) && f.toObject(), - }; } @@ -243,8 +238,7 @@ export class Device extends jspb.Message { return message; } -} -export declare namespace AddDeviceReq { +}export declare namespace AddDeviceReq { export type AsObject = { name: string, publicKey: string, @@ -253,13 +247,9 @@ export declare namespace AddDeviceReq { export class AddDeviceReq extends jspb.Message { - private static repeatedFields_ = [ - - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, AddDeviceReq.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -287,9 +277,9 @@ export class AddDeviceReq extends jspb.Message { toObject(): AddDeviceReq.AsObject { let f: any; - return {name: this.getName(), + return { + name: this.getName(), publicKey: this.getPublicKey(), - }; } @@ -333,21 +323,16 @@ export class AddDeviceReq extends jspb.Message { return message; } -} -export declare namespace ListDevicesReq { +}export declare namespace ListDevicesReq { export type AsObject = { } } export class ListDevicesReq extends jspb.Message { - private static repeatedFields_ = [ - - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, ListDevicesReq.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -387,22 +372,17 @@ export class ListDevicesReq extends jspb.Message { return message; } -} -export declare namespace ListDevicesRes { +}export declare namespace ListDevicesRes { export type AsObject = { - items: Array, + items?: Array, } } export class ListDevicesRes extends jspb.Message { - private static repeatedFields_ = [ - 1, - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, ListDevicesRes.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -410,7 +390,7 @@ export class ListDevicesRes extends jspb.Message { return jspb.Message.getRepeatedWrapperField(this, Device, 1); } - setItems(value: Array): void { + setItems(value?: Array): void { (jspb.Message as any).setRepeatedWrapperField(this, 1, value); } @@ -427,7 +407,7 @@ export class ListDevicesRes extends jspb.Message { toObject(): ListDevicesRes.AsObject { let f: any; return { - items: this.getItems().map((item) => item.toObject()), + items: (f = this.getItems()) && f.toObject(), }; } @@ -464,8 +444,7 @@ export class ListDevicesRes extends jspb.Message { return message; } -} -export declare namespace DeleteDeviceReq { +}export declare namespace DeleteDeviceReq { export type AsObject = { name: string, } @@ -473,13 +452,9 @@ export declare namespace DeleteDeviceReq { export class DeleteDeviceReq extends jspb.Message { - private static repeatedFields_ = [ - - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, DeleteDeviceReq.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -499,8 +474,8 @@ export class DeleteDeviceReq extends jspb.Message { toObject(): DeleteDeviceReq.AsObject { let f: any; - return {name: this.getName(), - + return { + name: this.getName(), }; } diff --git a/website/src/sdk/server_pb.ts b/website/src/sdk/server_pb.ts index 321f835b..0467a37c 100644 --- a/website/src/sdk/server_pb.ts +++ b/website/src/sdk/server_pb.ts @@ -47,7 +47,6 @@ export class Server { - export declare namespace InfoReq { export type AsObject = { } @@ -55,13 +54,9 @@ export declare namespace InfoReq { export class InfoReq extends jspb.Message { - private static repeatedFields_ = [ - - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, InfoReq.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -101,8 +96,7 @@ export class InfoReq extends jspb.Message { return message; } -} -export declare namespace InfoRes { +}export declare namespace InfoRes { export type AsObject = { publicKey: string, host?: googleProtobufWrappers.StringValue.AsObject, @@ -113,13 +107,9 @@ export declare namespace InfoRes { export class InfoRes extends jspb.Message { - private static repeatedFields_ = [ - - ]; - - constructor(data?: jspb.Message.MessageArray) { + constructor() { super(); - jspb.Message.initialize(this, data || [], 0, -1, InfoRes.repeatedFields_, null); + jspb.Message.initialize(this, [], 0, -1, [], null); } @@ -163,11 +153,11 @@ export class InfoRes extends jspb.Message { toObject(): InfoRes.AsObject { let f: any; - return {publicKey: this.getPublicKey(), + return { + publicKey: this.getPublicKey(), host: (f = this.getHost()) && f.toObject(), port: this.getPort(), hostVpnIp: this.getHostVpnIp(), - }; } From 925f217cd00dc49cbe8345e6507ca777b8f85a1b Mon Sep 17 00:00:00 2001 From: James Batt Date: Wed, 19 Feb 2020 23:43:37 +1100 Subject: [PATCH 04/14] wip --- website/package-lock.json | 6 +-- website/package.json | 2 +- website/src/sdk/devices_pb.ts | 71 +++++++++++++++++++++++------------ website/src/sdk/server_pb.ts | 24 ++++++++---- 4 files changed, 69 insertions(+), 34 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index ffc9a2b5..b501af27 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -6387,9 +6387,9 @@ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, "grpc-ts-web": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/grpc-ts-web/-/grpc-ts-web-0.1.5.tgz", - "integrity": "sha512-gfO+9pwlIIQZY4XxPel5oh3tZ02pXjkdTGFHBUC4T2yOZr4fGWct63xn8/ptkHVb9m/ScHxpfotRyPiA0ENM8A==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/grpc-ts-web/-/grpc-ts-web-0.1.6.tgz", + "integrity": "sha512-upgzst6traNLuJ2FynUGobSEprIK7MedAOgLPaVk0csrAgjlNkLRsxt3tuFa+6LN/isvrvTKxNSs0UB8878vfw==", "dev": true, "requires": { "@types/google-protobuf": "^3.7.2", diff --git a/website/package.json b/website/package.json index d9879139..fbfccd0f 100644 --- a/website/package.json +++ b/website/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@types/common-tags": "^1.8.0", "@types/qrcode": "^1.3.4", - "grpc-ts-web": "0.1.5", + "grpc-ts-web": "0.1.6", "prettier": "^1.19.1" } } diff --git a/website/src/sdk/devices_pb.ts b/website/src/sdk/devices_pb.ts index 51811d3e..71524cc2 100644 --- a/website/src/sdk/devices_pb.ts +++ b/website/src/sdk/devices_pb.ts @@ -98,6 +98,7 @@ export class Devices { + export declare namespace Device { export type AsObject = { name: string, @@ -110,9 +111,13 @@ export declare namespace Device { export class Device extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, Device.repeatedFields_, null); } @@ -164,12 +169,12 @@ export class Device extends jspb.Message { toObject(): Device.AsObject { let f: any; - return { - name: this.getName(), + return {name: this.getName(), owner: this.getOwner(), publicKey: this.getPublicKey(), address: this.getAddress(), createdAt: (f = this.getCreatedAt()) && f.toObject(), + }; } @@ -238,7 +243,8 @@ export class Device extends jspb.Message { return message; } -}export declare namespace AddDeviceReq { +} +export declare namespace AddDeviceReq { export type AsObject = { name: string, publicKey: string, @@ -247,9 +253,13 @@ export class Device extends jspb.Message { export class AddDeviceReq extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, AddDeviceReq.repeatedFields_, null); } @@ -277,9 +287,9 @@ export class AddDeviceReq extends jspb.Message { toObject(): AddDeviceReq.AsObject { let f: any; - return { - name: this.getName(), + return {name: this.getName(), publicKey: this.getPublicKey(), + }; } @@ -323,16 +333,21 @@ export class AddDeviceReq extends jspb.Message { return message; } -}export declare namespace ListDevicesReq { +} +export declare namespace ListDevicesReq { export type AsObject = { } } export class ListDevicesReq extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, ListDevicesReq.repeatedFields_, null); } @@ -372,17 +387,22 @@ export class ListDevicesReq extends jspb.Message { return message; } -}export declare namespace ListDevicesRes { +} +export declare namespace ListDevicesRes { export type AsObject = { - items?: Array, + items: Array, } } export class ListDevicesRes extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + 1, + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, ListDevicesRes.repeatedFields_, null); } @@ -390,7 +410,7 @@ export class ListDevicesRes extends jspb.Message { return jspb.Message.getRepeatedWrapperField(this, Device, 1); } - setItems(value?: Array): void { + setItems(value: Array): void { (jspb.Message as any).setRepeatedWrapperField(this, 1, value); } @@ -407,7 +427,7 @@ export class ListDevicesRes extends jspb.Message { toObject(): ListDevicesRes.AsObject { let f: any; return { - items: (f = this.getItems()) && f.toObject(), + items: this.getItems().map((item) => item.toObject()), }; } @@ -444,7 +464,8 @@ export class ListDevicesRes extends jspb.Message { return message; } -}export declare namespace DeleteDeviceReq { +} +export declare namespace DeleteDeviceReq { export type AsObject = { name: string, } @@ -452,9 +473,13 @@ export class ListDevicesRes extends jspb.Message { export class DeleteDeviceReq extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, DeleteDeviceReq.repeatedFields_, null); } @@ -474,8 +499,8 @@ export class DeleteDeviceReq extends jspb.Message { toObject(): DeleteDeviceReq.AsObject { let f: any; - return { - name: this.getName(), + return {name: this.getName(), + }; } diff --git a/website/src/sdk/server_pb.ts b/website/src/sdk/server_pb.ts index 0467a37c..321f835b 100644 --- a/website/src/sdk/server_pb.ts +++ b/website/src/sdk/server_pb.ts @@ -47,6 +47,7 @@ export class Server { + export declare namespace InfoReq { export type AsObject = { } @@ -54,9 +55,13 @@ export declare namespace InfoReq { export class InfoReq extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, InfoReq.repeatedFields_, null); } @@ -96,7 +101,8 @@ export class InfoReq extends jspb.Message { return message; } -}export declare namespace InfoRes { +} +export declare namespace InfoRes { export type AsObject = { publicKey: string, host?: googleProtobufWrappers.StringValue.AsObject, @@ -107,9 +113,13 @@ export class InfoReq extends jspb.Message { export class InfoRes extends jspb.Message { - constructor() { + private static repeatedFields_ = [ + + ]; + + constructor(data?: jspb.Message.MessageArray) { super(); - jspb.Message.initialize(this, [], 0, -1, [], null); + jspb.Message.initialize(this, data || [], 0, -1, InfoRes.repeatedFields_, null); } @@ -153,11 +163,11 @@ export class InfoRes extends jspb.Message { toObject(): InfoRes.AsObject { let f: any; - return { - publicKey: this.getPublicKey(), + return {publicKey: this.getPublicKey(), host: (f = this.getHost()) && f.toObject(), port: this.getPort(), hostVpnIp: this.getHostVpnIp(), + }; } From 8e629af3c7890be7e6649047a56134e539bd361c Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 00:34:34 +1100 Subject: [PATCH 05/14] wip --- internal/auth/authruntime/runtime.go | 8 ++++++++ internal/auth/authsession/session.go | 22 +++++++++++++++++----- internal/auth/authtemplates/login.go | 21 +++++++++++++++------ internal/auth/router.go | 7 ++++++- main.go | 13 +++++++++---- website/src/Cookies.ts | 23 +++++++++++++++++++++++ website/src/components/Navigation.tsx | 14 ++++++++++++-- 7 files changed, 90 insertions(+), 18 deletions(-) create mode 100644 website/src/Cookies.ts diff --git a/internal/auth/authruntime/runtime.go b/internal/auth/authruntime/runtime.go index 779faeb4..1a4bc5b1 100644 --- a/internal/auth/authruntime/runtime.go +++ b/internal/auth/authruntime/runtime.go @@ -30,6 +30,14 @@ func (p *ProviderRuntime) GetSession(r *http.Request) (*authsession.AuthSession, return authsession.GetSession(p.store, r) } +func (p *ProviderRuntime) ClearSession(w http.ResponseWriter, r *http.Request) error { + return authsession.ClearSession(p.store, r, w) +} + +func (p *ProviderRuntime) Restart(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, "/signin", http.StatusTemporaryRedirect) +} + func (p *ProviderRuntime) Done(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, "/", http.StatusTemporaryRedirect) } diff --git a/internal/auth/authsession/session.go b/internal/auth/authsession/session.go index ad7f4ec6..b0793735 100644 --- a/internal/auth/authsession/session.go +++ b/internal/auth/authsession/session.go @@ -27,8 +27,7 @@ func GetSession(store sessions.Store, r *http.Request) (*AuthSession, error) { session, _ := store.Get(r, string(sessionKey)) if data, ok := session.Values[string(sessionKey)].([]byte); ok { s := &AuthSession{} - err := json.Unmarshal(data, s) - if err != nil { + if err := json.Unmarshal(data, s); err != nil { return nil, errors.Wrap(err, "failed to parse session") } return s, nil @@ -43,9 +42,17 @@ func SetSession(store sessions.Store, r *http.Request, w http.ResponseWriter, s } session, _ := store.Get(r, string(sessionKey)) session.Values[string(sessionKey)] = data - err = session.Save(r, w) - if err != nil { - logrus.Error(errors.Wrap(err, "failed to save session")) + if err := session.Save(r, w); err != nil { + return err + } + return nil +} + +func ClearSession(store sessions.Store, r *http.Request, w http.ResponseWriter) error { + session, _ := store.Get(r, string(sessionKey)) + session.Options.MaxAge = -1 + if err := session.Save(r, w); err != nil { + logrus.Error(err) return err } return nil @@ -63,3 +70,8 @@ func CurrentUser(ctx context.Context) (*Identity, error) { } return nil, errors.New("unauthenticated") } + +func Authenticated(ctx context.Context) bool { + _, err := CurrentUser(ctx) + return err == nil +} diff --git a/internal/auth/authtemplates/login.go b/internal/auth/authtemplates/login.go index 43e341db..f9f476b2 100644 --- a/internal/auth/authtemplates/login.go +++ b/internal/auth/authtemplates/login.go @@ -29,7 +29,7 @@ const loginPage string = ` } body { - background-color: #44c4e7; + background-color: #3899c9; } .form { @@ -40,13 +40,14 @@ const loginPage string = ` background-color: #fff; width: 285px; padding: 40px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } .form h2 { - margin: 0 0 20px; + margin: 0 0 35px; + text-align: center; line-height: 1; - color: #44c4e7; + color: black; font-size: 22px; font-weight: 400; } @@ -61,10 +62,18 @@ const loginPage string = ` box-sizing: border-box; } - .form * { + .form a { + display: block; + } + + .form > * { margin: 0 0 20px; } + .form > *:last-child { + margin-bottom: 0px; + } + .form input:focus { color: #333; border: 1px solid #44c4e7; @@ -107,7 +116,7 @@ const loginPage string = `
-

Login To Your Account

+

Sign In

{{range $i, $p := .Providers}} diff --git a/internal/auth/router.go b/internal/auth/router.go index 41cca08c..8a23a79b 100644 --- a/internal/auth/router.go +++ b/internal/auth/router.go @@ -54,11 +54,16 @@ func (m *AuthMiddleware) Wrap(next http.Handler) http.Handler { provider.Invoke(w, r, runtime) }) + router.HandleFunc("/signout", func(w http.ResponseWriter, r *http.Request) { + runtime.ClearSession(w, r) + runtime.Restart(w, r) + }) + router.PathPrefix("/").Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if s, err := runtime.GetSession(r); err == nil { next.ServeHTTP(w, r.WithContext(authsession.SetIdentityCtx(r.Context(), s))) } else { - http.Redirect(w, r, "/login", http.StatusTemporaryRedirect) + next.ServeHTTP(w, r) } })) diff --git a/main.go b/main.go index cc89af28..dbca2b9c 100644 --- a/main.go +++ b/main.go @@ -15,6 +15,7 @@ import ( "github.com/pkg/errors" "github.com/place1/wireguard-access-server/internal/auth" + "github.com/place1/wireguard-access-server/internal/auth/authsession" "github.com/place1/wireguard-access-server/internal/config" "github.com/place1/wireguard-access-server/internal/devices" "github.com/place1/wireguard-access-server/internal/dnsproxy" @@ -103,16 +104,20 @@ func main() { }) grpcServer := grpcweb.WrapServer(server) - var handler http.Handler = http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) { + var handler http.Handler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { defer func() { if err := recover(); err != nil { logrus.WithField("stack", string(debug.Stack())).Error(err) } }() - if grpcServer.IsGrpcWebRequest(req) { - grpcServer.ServeHTTP(resp, req) + if grpcServer.IsGrpcWebRequest(r) { + grpcServer.ServeHTTP(w, r) } else { - router.ServeHTTP(resp, req) + if authsession.Authenticated(r.Context()) { + router.ServeHTTP(w, r) + } else { + http.Redirect(w, r, "/signin", http.StatusTemporaryRedirect) + } } }) diff --git a/website/src/Cookies.ts b/website/src/Cookies.ts new file mode 100644 index 00000000..6d2f882e --- /dev/null +++ b/website/src/Cookies.ts @@ -0,0 +1,23 @@ +// adapted from: +// https://stackoverflow.com/questions/5968196/check-cookie-if-cookie-exists +export function getCookie(name: string): string | undefined { + const dc = document.cookie; + const prefix = name + '='; + let begin = dc.indexOf('; ' + prefix); + let end = undefined; + if (begin == -1) { + begin = dc.indexOf(prefix); + if (begin != 0) { + return undefined; + } + } else { + begin += 2; + end = document.cookie.indexOf(';', begin); + if (end == -1) { + end = dc.length; + } + } + // because unescape has been deprecated, replaced with decodeURI + // return unescape(dc.substring(begin + prefix.length, end)); + return decodeURI(dc.substring(begin + prefix.length, end)); +} diff --git a/website/src/components/Navigation.tsx b/website/src/components/Navigation.tsx index b27b1237..a671138e 100644 --- a/website/src/components/Navigation.tsx +++ b/website/src/components/Navigation.tsx @@ -3,6 +3,9 @@ import { makeStyles } from '@material-ui/core/styles'; import AppBar from '@material-ui/core/AppBar'; import Toolbar from '@material-ui/core/Toolbar'; import Typography from '@material-ui/core/Typography'; +import Link from '@material-ui/core/Link'; +import Button from '@material-ui/core/Button'; +import { getCookie } from '../Cookies'; const useStyles = makeStyles(theme => ({ title: { @@ -12,14 +15,21 @@ const useStyles = makeStyles(theme => ({ export default function Navigation() { const classes = useStyles(); - + const hasAuthCookie = !!getCookie('auth-session'); return ( Your Devices + {hasAuthCookie && + + + + } ); -} \ No newline at end of file +} From 70bc176c673ab7258236e29ace9d3bea2428c3c6 Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 21:01:06 +1100 Subject: [PATCH 06/14] wip --- internal/config/config.go | 7 ++----- main.go | 11 ++++++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/internal/config/config.go b/internal/config/config.go index d1370081..ce944230 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -153,11 +153,8 @@ func Read() *AppConfig { return &config } -func IsAuthEnabled(config *AppConfig) bool { - if config.Auth == nil { - return false - } - return config.Auth.OIDC != nil || config.Auth.Gitlab != nil +func (config *AppConfig) IsAuthEnabled() bool { + return config.Auth != nil } func defaultInterface() (string, error) { diff --git a/main.go b/main.go index dbca2b9c..2fcd15bd 100644 --- a/main.go +++ b/main.go @@ -121,8 +121,17 @@ func main() { } }) - if conf.Auth != nil { + if conf.IsAuthEnabled() { handler = auth.New(conf.Auth).Wrap(handler) + } else { + base := handler + handler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + base.ServeHTTP(w, r.WithContext(authsession.SetIdentityCtx(r.Context(), &authsession.AuthSession{ + Identity: &authsession.Identity{ + Subject: "default", + }, + }))) + }) } // Listen From e8d88f7e71fc1ca3fd1ac60c58a41e82cd690cc7 Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 21:12:30 +1100 Subject: [PATCH 07/14] wip --- .gitignore | 1 + internal/config/config.go | 5 +++++ internal/devices/devices.go | 3 ++- main.go | 3 ++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b6b0720..f979fd1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ config.yaml +data/ diff --git a/internal/config/config.go b/internal/config/config.go index ce944230..1cfcba8b 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -148,6 +148,11 @@ func Read() *AppConfig { if config.Storage.Directory == "" { logrus.Warn("storage directory not configured - using in-memory storage backend! wireguard devices will be lost when the process exits!") + } else { + config.Storage.Directory, err = filepath.Abs(config.Storage.Directory) + if err != nil { + logrus.Fatal(errors.Wrap(err, "failed to get absolute path to storage directory")) + } } return &config diff --git a/internal/devices/devices.go b/internal/devices/devices.go index 4c5b9edd..3abce552 100644 --- a/internal/devices/devices.go +++ b/internal/devices/devices.go @@ -4,6 +4,7 @@ import ( "fmt" "net" "os" + "path/filepath" "sync" "time" @@ -89,7 +90,7 @@ func (d *DeviceManager) DeleteDevice(user string, name string) error { } func key(user string, device string) string { - return fmt.Sprintf("%s/%s", user, device) + return filepath.Join(user, device) } var nextIPLock = sync.Mutex{} diff --git a/main.go b/main.go index 2fcd15bd..b0afa703 100644 --- a/main.go +++ b/main.go @@ -73,6 +73,7 @@ func main() { // Storage var storageDriver storage.Storage if conf.Storage.Directory != "" { + logrus.Infof("storing data in %s", conf.Storage.Directory) storageDriver = storage.NewDiskStorage(conf.Storage.Directory) } else { storageDriver = storage.NewMemoryStorage() @@ -128,7 +129,7 @@ func main() { handler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { base.ServeHTTP(w, r.WithContext(authsession.SetIdentityCtx(r.Context(), &authsession.AuthSession{ Identity: &authsession.Identity{ - Subject: "default", + Subject: "", }, }))) }) From af5f2b609c7eb3a08aefeb75612edc4669e586b4 Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 21:15:27 +1100 Subject: [PATCH 08/14] wip --- Dockerfile | 11 --- dex-web/static/img/bitbucket-icon.svg | 5 - dex-web/static/img/coreos-icon.svg | 19 ---- dex-web/static/img/email-icon.svg | 12 --- dex-web/static/img/github-icon.svg | 5 - dex-web/static/img/gitlab-icon.svg | 53 ---------- dex-web/static/img/google-icon.svg | 16 ---- dex-web/static/img/ldap-icon.svg | 12 --- dex-web/static/img/linkedin-icon.svg | 1 - dex-web/static/img/microsoft-icon.svg | 9 -- dex-web/static/img/saml-icon.svg | 12 --- dex-web/static/main.css | 130 ------------------------- dex-web/templates/approval.html | 40 -------- dex-web/templates/error.html | 8 -- dex-web/templates/footer.html | 3 - dex-web/templates/header.html | 21 ---- dex-web/templates/login.html | 19 ---- dex-web/templates/oob.html | 9 -- dex-web/templates/password.html | 35 ------- dex-web/themes/coreos/favicon.png | Bin 11861 -> 0 bytes dex-web/themes/coreos/logo.png | Bin 2218 -> 0 bytes dex-web/themes/coreos/styles.css | 113 ---------------------- dex-web/themes/tectonic/favicon.png | Bin 3964 -> 0 bytes dex-web/themes/tectonic/logo.png | Bin 6081 -> 0 bytes dex-web/themes/tectonic/styles.css | 106 -------------------- go.mod | 21 +--- go.sum | 133 +++----------------------- 27 files changed, 16 insertions(+), 777 deletions(-) delete mode 100644 dex-web/static/img/bitbucket-icon.svg delete mode 100644 dex-web/static/img/coreos-icon.svg delete mode 100644 dex-web/static/img/email-icon.svg delete mode 100644 dex-web/static/img/github-icon.svg delete mode 100644 dex-web/static/img/gitlab-icon.svg delete mode 100644 dex-web/static/img/google-icon.svg delete mode 100644 dex-web/static/img/ldap-icon.svg delete mode 100644 dex-web/static/img/linkedin-icon.svg delete mode 100644 dex-web/static/img/microsoft-icon.svg delete mode 100644 dex-web/static/img/saml-icon.svg delete mode 100644 dex-web/static/main.css delete mode 100644 dex-web/templates/approval.html delete mode 100644 dex-web/templates/error.html delete mode 100644 dex-web/templates/footer.html delete mode 100644 dex-web/templates/header.html delete mode 100644 dex-web/templates/login.html delete mode 100644 dex-web/templates/oob.html delete mode 100644 dex-web/templates/password.html delete mode 100644 dex-web/themes/coreos/favicon.png delete mode 100644 dex-web/themes/coreos/logo.png delete mode 100644 dex-web/themes/coreos/styles.css delete mode 100644 dex-web/themes/tectonic/favicon.png delete mode 100644 dex-web/themes/tectonic/logo.png delete mode 100644 dex-web/themes/tectonic/styles.css diff --git a/Dockerfile b/Dockerfile index c600fc1d..f873d8d5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,3 @@ -FROM rust:1.38.0-alpine as boringtun -RUN apk add musl-dev -RUN cargo install \ - --root / \ - --bin boringtun \ - --git https://github.com/cloudflare/boringtun.git \ - --rev 0b980a2f5a5f8622bf0e3a024ace63ad01b5d0f6 - FROM node:10 as website WORKDIR /code COPY ./website/package.json ./ @@ -30,10 +22,7 @@ RUN go build -o server FROM alpine:3.10 RUN apk add iptables RUN apk add wireguard-tools -ENV WIREGUARD_USERSPACE_IMPLEMENTATION=boringtun ENV STORAGE_DIRECTORY="/data" -COPY ./dex-web /dex-web -COPY --from=boringtun /bin/boringtun /usr/local/bin/boringtun COPY --from=server /code/server /server COPY --from=website /code/build /website/build CMD /server diff --git a/dex-web/static/img/bitbucket-icon.svg b/dex-web/static/img/bitbucket-icon.svg deleted file mode 100644 index 72f4eb10..00000000 --- a/dex-web/static/img/bitbucket-icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dex-web/static/img/coreos-icon.svg b/dex-web/static/img/coreos-icon.svg deleted file mode 100644 index f9958a50..00000000 --- a/dex-web/static/img/coreos-icon.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - diff --git a/dex-web/static/img/email-icon.svg b/dex-web/static/img/email-icon.svg deleted file mode 100644 index 10f0d8d0..00000000 --- a/dex-web/static/img/email-icon.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - Shape - Created with Sketch. - - - - - diff --git a/dex-web/static/img/github-icon.svg b/dex-web/static/img/github-icon.svg deleted file mode 100644 index 5d607282..00000000 --- a/dex-web/static/img/github-icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dex-web/static/img/gitlab-icon.svg b/dex-web/static/img/gitlab-icon.svg deleted file mode 100644 index e8d408fa..00000000 --- a/dex-web/static/img/gitlab-icon.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - logo-square - Created with Sketch. - - - - - - - - - - - \ No newline at end of file diff --git a/dex-web/static/img/google-icon.svg b/dex-web/static/img/google-icon.svg deleted file mode 100644 index d667afdf..00000000 --- a/dex-web/static/img/google-icon.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - logo_googleg_48dp - Created with Sketch. - - - - - - - - - - - \ No newline at end of file diff --git a/dex-web/static/img/ldap-icon.svg b/dex-web/static/img/ldap-icon.svg deleted file mode 100644 index 506dadc0..00000000 --- a/dex-web/static/img/ldap-icon.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - Combined-Shape - Created with Sketch. - - - - - diff --git a/dex-web/static/img/linkedin-icon.svg b/dex-web/static/img/linkedin-icon.svg deleted file mode 100644 index 409bad5e..00000000 --- a/dex-web/static/img/linkedin-icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/dex-web/static/img/microsoft-icon.svg b/dex-web/static/img/microsoft-icon.svg deleted file mode 100644 index 739c395a..00000000 --- a/dex-web/static/img/microsoft-icon.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/dex-web/static/img/saml-icon.svg b/dex-web/static/img/saml-icon.svg deleted file mode 100644 index 506dadc0..00000000 --- a/dex-web/static/img/saml-icon.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - Combined-Shape - Created with Sketch. - - - - - diff --git a/dex-web/static/main.css b/dex-web/static/main.css deleted file mode 100644 index 552479ad..00000000 --- a/dex-web/static/main.css +++ /dev/null @@ -1,130 +0,0 @@ -* { - box-sizing: border-box; -} - -body { - margin: 0; -} - -.dex-container { - color: #333; - margin: 45px auto; - max-width: 500px; - min-width: 320px; - text-align: center; -} - -.dex-btn { - border-radius: 4px; - border: 0; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 1px rgba(0, 0, 0, 0.25); - cursor: pointer; - font-size: 16px; - padding: 0; -} - -.dex-btn:focus { - outline: none; -} - -.dex-btn:active { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - outline: none; -} - -.dex-btn-icon { - background-position: center; - background-repeat: no-repeat; - background-size: 24px; - border-radius: 4px 0 0 4px; - float: left; - height: 36px; - margin-right: 5px; - width: 36px; -} - -.dex-btn-icon--google { - background-color: #FFFFFF; - background-image: url(../static/img/google-icon.svg);; -} - -.dex-btn-icon--local { - background-color: #84B6EF; - background-image: url(../static/img/email-icon.svg); -} - -.dex-btn-icon--coreos { - /* B&W CoreOS SVG logo */ - background-image: url(../static/img/coreos-icon.svg); -} - -.dex-btn-icon--github { - background-color: #F5F5F5; - background-image: url(../static/img/github-icon.svg); -} - -.dex-btn-icon--gitlab { - background-image: url(../static/img/gitlab-icon.svg); - background-size: contain; -} - -.dex-btn-icon--bitbucket { - background-color: #205081; - background-image: url(../static/img/bitbucket-icon.svg); -} - -.dex-btn-icon--ldap, .dex-btn-icon--tectonic-ldap { - background-color: #84B6EF; - background-image: url(../static/img/ldap-icon.svg); -} - -.dex-btn-icon--saml { - background-color: #84B6EF; - background-image: url(../static/img/saml-icon.svg); -} - -.dex-btn-icon--linkedin { - background-image: url(../static/img/linkedin-icon.svg); - background-size: contain; -} - -.dex-btn-icon--microsoft { - background-image: url(../static/img/microsoft-icon.svg); -} - -.dex-btn-text { - font-weight: 600; - line-height: 36px; - padding: 6px 12px; - text-align: center; -} - -.dex-subtle-text { - color: #999; - font-size: 12px; -} - -.dex-separator { - color: #999; -} - -.dex-list { - color: #999; - display: inline-block; - font-size: 12px; - list-style: circle; - text-align: left; -} - -.dex-error-box { - background-color: #DD1327; - color: #fff; - font-size: 14px; - font-weight: normal; - max-width: 320px; - padding: 4px 0; -} - -.dex-error-box { - margin: 20px auto; -} diff --git a/dex-web/templates/approval.html b/dex-web/templates/approval.html deleted file mode 100644 index 2fa7bf21..00000000 --- a/dex-web/templates/approval.html +++ /dev/null @@ -1,40 +0,0 @@ -{{ template "header.html" . }} - -
-

Grant Access

- -
-
-
{{ .Client }} would like to:
-
    - {{ range $scope := .Scopes }} -
  • {{ $scope }}
  • - {{ end }} -
-
-
- -
-
- - - - - -
-
-
- - - -
-
-
- -
- -{{ template "footer.html" . }} diff --git a/dex-web/templates/error.html b/dex-web/templates/error.html deleted file mode 100644 index 418f76fb..00000000 --- a/dex-web/templates/error.html +++ /dev/null @@ -1,8 +0,0 @@ -{{ template "header.html" . }} - -
-

{{ .ErrType }}

-

{{ .ErrMsg }}

-
- -{{ template "footer.html" . }} diff --git a/dex-web/templates/footer.html b/dex-web/templates/footer.html deleted file mode 100644 index 5b6e2d65..00000000 --- a/dex-web/templates/footer.html +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/dex-web/templates/header.html b/dex-web/templates/header.html deleted file mode 100644 index 0a8d8f39..00000000 --- a/dex-web/templates/header.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - {{ issuer }} - - - - - - - -
-
- -
-
- -
- diff --git a/dex-web/templates/login.html b/dex-web/templates/login.html deleted file mode 100644 index 56151a78..00000000 --- a/dex-web/templates/login.html +++ /dev/null @@ -1,19 +0,0 @@ -{{ template "header.html" . }} - - - -{{ template "footer.html" . }} diff --git a/dex-web/templates/oob.html b/dex-web/templates/oob.html deleted file mode 100644 index ba84d817..00000000 --- a/dex-web/templates/oob.html +++ /dev/null @@ -1,9 +0,0 @@ -{{ template "header.html" . }} - -
-

Login Successful

-

Please copy this code, switch to your application and paste it there:

- -
- -{{ template "footer.html" . }} diff --git a/dex-web/templates/password.html b/dex-web/templates/password.html deleted file mode 100644 index 5b585b4e..00000000 --- a/dex-web/templates/password.html +++ /dev/null @@ -1,35 +0,0 @@ -{{ template "header.html" . }} - -
-

Log in to Your Account

-
-
-
- -
- -
-
-
- -
- -
- - {{ if .Invalid }} -
- Invalid {{ .UsernamePrompt }} and password. -
- {{ end }} - - - -
- {{ if .BackLink }} - - {{ end }} -
- -{{ template "footer.html" . }} diff --git a/dex-web/themes/coreos/favicon.png b/dex-web/themes/coreos/favicon.png deleted file mode 100644 index db13cf7fd68dc0a739480482d8a6aadfa71987e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11861 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 NtEp%sD-ln^{|ovfIobdK diff --git a/dex-web/themes/tectonic/styles.css b/dex-web/themes/tectonic/styles.css deleted file mode 100644 index 7930e073..00000000 --- a/dex-web/themes/tectonic/styles.css +++ /dev/null @@ -1,106 +0,0 @@ -.theme-body { - background-color: #1C425B; - color: #333; - font-family: 'Source Sans Pro', Helvetica, sans-serif; -} - -.theme-navbar { - display: none; -} - -.theme-navbar__logo-wrap { - display: inline-block; - height: 100%; - overflow: hidden; - padding: 10px 15px; - width: 300px; -} - -.theme-navbar__logo { - height: 100%; - max-height: 25px; -} - -.theme-heading { - font-size: 20px; - font-weight: 500; - padding-bottom: 10px; - margin-top: 0; -} - -.theme-panel { - background-color: #fff; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - padding: 30px; -} - -.theme-btn-provider { - background-color: #fff; - color: #333; - min-width: 250px; -} - -.theme-btn-provider:hover { - color: #999; -} - -.theme-btn--primary { - background-color: #2fc98e; - border: none; - color: #fff; - min-width: 200px; - padding: 6px 12px; -} - -.theme-btn--primary:hover { - background-color: #25a071; - color: #fff; -} - -.theme-btn--success { - background-color: #2FC98E; - color: #fff; - width: 250px; -} - -.theme-btn--success:hover { - background-color: #49E3A8; -} - -.theme-form-row { - display: block; - margin: 20px auto; -} - -.theme-form-input { - display: block; - height: 36px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #666; - border: 1px solid #CCC; - border-radius: 4px; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - width: 250px; - margin: auto; -} - -.theme-form-input:focus, -.theme-form-input:active { - outline: none; - border-color: #66AFE9; -} - -.theme-form-label { - width: 250px; - margin: 4px auto; - text-align: left; - position: relative; - font-size: 13px; - font-weight: 600; -} - -.dex-container { - margin: 60px auto; -} diff --git a/go.mod b/go.mod index 06d3aa66..8b75cc2a 100644 --- a/go.mod +++ b/go.mod @@ -3,40 +3,31 @@ module github.com/place1/wireguard-access-server go 1.13 require ( - github.com/Azure/azure-sdk-for-go v39.0.0+incompatible - github.com/Azure/go-autorest/autorest v0.9.5 // indirect - github.com/Azure/go-autorest/autorest/to v0.3.0 // indirect - github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect - github.com/alexedwards/scs/v2 v2.2.0 - github.com/beevik/etree v1.1.0 // indirect - github.com/coreos/etcd v3.3.18+incompatible + github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect + github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 // indirect github.com/coreos/go-iptables v0.4.3 github.com/coreos/go-oidc v2.2.1+incompatible github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dexidp/dex v2.13.0+incompatible - github.com/felixge/httpsnoop v1.0.1 // indirect github.com/golang/protobuf v1.3.3 - github.com/gorilla/handlers v1.4.2 // indirect github.com/gorilla/mux v1.7.4 github.com/gorilla/sessions v1.2.0 github.com/gorilla/websocket v1.4.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 github.com/improbable-eng/grpc-web v0.12.0 - github.com/jonboulle/clockwork v0.1.0 // indirect github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/kr/pretty v0.1.0 // indirect - github.com/kylelemons/godebug v1.1.0 // indirect github.com/miekg/dns v1.1.27 + github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pkg/errors v0.8.1 github.com/place1/wg-embed v0.0.0 github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect - github.com/prometheus/client_golang v1.2.1 github.com/rs/cors v1.7.0 // indirect - github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 // indirect github.com/sirupsen/logrus v1.4.2 + github.com/smartystreets/goconvey v1.6.4 // indirect github.com/tg123/go-htpasswd v1.0.0 github.com/vishvananda/netlink v1.0.0 + golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 // indirect golang.org/x/net v0.0.0-20200202094626-16171245cfb2 // indirect golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 // indirect @@ -45,9 +36,7 @@ require ( google.golang.org/genproto v0.0.0-20200210034751-acff78025515 // indirect google.golang.org/grpc v1.27.1 gopkg.in/alecthomas/kingpin.v2 v2.2.6 - gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect - gopkg.in/ldap.v2 v2.5.1 // indirect gopkg.in/square/go-jose.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.2.2 ) diff --git a/go.sum b/go.sum index 68fc6aec..f7fb660a 100644 --- a/go.sum +++ b/go.sum @@ -1,57 +1,16 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/Azure/azure-sdk-for-go v39.0.0+incompatible h1:l2FVXqtd34UC7OZYkhcWY843CSFjRdrIRdBCTOanYwg= -github.com/Azure/azure-sdk-for-go v39.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/go-autorest v13.3.3+incompatible h1:oYzB8/Ldlo1Bq7By79KO/1nxWuoLnEoGQiToUM2rBZo= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.5 h1:IvOB+EPvwfzDNJBPe1i3wtnNKl1d/LJ+tweb0N1H3hg= -github.com/Azure/go-autorest/autorest v0.9.5/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.2 h1:O1X4oexUxnZCaEUGsvMnr8ZGj8HI37tNezwY4npRqA0= -github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0 h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/to v0.3.0 h1:zebkZaadz7+wIQYgC7GXaz3Wb28yKYfVkkBKwc38VF8= -github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= -github.com/Azure/go-autorest/autorest/validation v0.2.0 h1:15vMO4y76dehZSq7pAaOLQxC6dZYsSrj2GQpflyM/L4= -github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= -github.com/Azure/go-autorest/logger v0.1.0 h1:ruG4BSDXONFRrZZJ2GUXDiUyVpayPmb1GnWeHDdaNKY= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 h1:Hs82Z41s6SdL1CELW+XaDYmOH4hkBN4/N9og/AsOv7E= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alexedwards/scs/v2 v2.2.0 h1:C0iQ8WHgzEe0zck4whkzvCXnLMP/rw2AM6BdQYNa4/c= -github.com/alexedwards/scs/v2 v2.2.0/go.mod h1:ToaROZxyKukJKT/xLcVQAChi5k6+Pn1Gvmdl7h3RRj8= -github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= -github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.0 h1:yTUvW7Vhb89inJ+8irsUqiWjh8iT6sQPZiQzI6ReGkA= -github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/coreos/etcd v3.3.18+incompatible h1:Zz1aXgDrFFi1nadh58tA9ktt06cmPTwNNP3dXwIq1lE= -github.com/coreos/etcd v3.3.18+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-iptables v0.4.3 h1:jJg1aFuhCqWbgBl1VTqgTHG5faPM60A5JDMjQ2HYv+A= github.com/coreos/go-iptables v0.4.3/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -59,21 +18,12 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dexidp/dex v2.13.0+incompatible h1:EQPpzCi51omkwBe0KYpRGaV3rk6CVvjcqeMGCe3Q00w= -github.com/dexidp/dex v2.13.0+incompatible/go.mod h1:cRGkPWqKhDD1FMCICe2JbYDdVR2xGLa38F6iuH/jNAs= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -86,14 +36,10 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg= -github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= -github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= @@ -106,13 +52,10 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 h1:0IKlLyQ3Hs9nDaiK5cSHAGmcQ github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= github.com/improbable-eng/grpc-web v0.12.0 h1:GlCS+lMZzIkfouf7CNqY+qqpowdKuJLSLLcKVfM1oLc= github.com/improbable-eng/grpc-web v0.12.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= -github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a h1:84IpUNXj4mCR9CuCEvSiCArMbzr/TMbuPIadKDwypkI= github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a/go.mod h1:Oz+70psSo5OFh8DBl0Zv2ACw7Esh6pPUphlvZG9x7uw= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= @@ -125,85 +68,54 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mdlayher/genetlink v0.0.0-20191004171646-5cf585d3b847 h1:EFRfaQaWMFsAqLGDvz9jYIlcMImQFCnCmohvVdVgdY8= -github.com/mdlayher/genetlink v0.0.0-20191004171646-5cf585d3b847/go.mod h1:LNhNWFVJapYK8zEjVHUIle4gy+Oahfc3UtcaqZ8Dz98= github.com/mdlayher/genetlink v0.0.0-20191205172946-651acf4b47ef h1:VOblll+3pOfnsJfEjrEX3TeKeF/gKkXOK20KMR7II+8= github.com/mdlayher/genetlink v0.0.0-20191205172946-651acf4b47ef/go.mod h1:0rJ0h4itni50A86M2kHcgS85ttZazNt7a8H2a2cw0Gc= github.com/mdlayher/netlink v0.0.0-20190409211403-11939a169225/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA= -github.com/mdlayher/netlink v0.0.0-20191004170026-3c8695cb0643/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M= -github.com/mdlayher/netlink v0.0.0-20191008140946-2a17fd90af51 h1:rP02cBlv8sk9kC1iRINOapZNB9B5S6JChwmYXDiFKpU= -github.com/mdlayher/netlink v0.0.0-20191008140946-2a17fd90af51/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M= github.com/mdlayher/netlink v1.0.0 h1:vySPY5Oxnn/8lxAPn2cK6kAzcZzYJl3KriSLO46OT18= github.com/mdlayher/netlink v1.0.0/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M= github.com/miekg/dns v1.1.27 h1:aEH/kqUzUxGJ/UHcEKdJY+ugH6WEzsEBBSPa8zuy1aM= github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721 h1:RlZweED6sbSArvlE924+mUcZuXKLBHA35U7LN621Bws= github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 h1:F9x/1yl3T2AeKLr2AMdilSD8+f9bvMnNN8VS5iDtovc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 h1:J9b7z+QKAmPf4YLrFg6oQUotqHQeUNWwkvo7jZp1GLU= github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.2.1 h1:JnMpQc6ppsNgw9QPAGF6Dod479itz7lvlsMzzNayLOI= -github.com/prometheus/client_golang v1.2.1/go.mod h1:XMU6Z2MjaRKVu/dC1qupJI9SiNkDYzz3xecMgSW/F+U= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.7.0 h1:L+1lyG48J1zAQXA3RBX/nG/B3gjlHq0zTt2tlbJLyCY= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8= -github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao= -github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/tg123/go-htpasswd v1.0.0 h1:Ze/pZsz73JiCwXIyJBPvNs75asKBgfodCf8iTEkgkXs= github.com/tg123/go-htpasswd v1.0.0/go.mod h1:eQTgl67UrNKQvEPKrDLGBssjVwYQClFZjALVLhIv8C0= github.com/vishvananda/netlink v1.0.0 h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM= github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= -github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f h1:nBX3nTcmxEtHSERBJaIo1Qa26VwRaopnZmfDQUXsF4I= -github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df h1:OviZH7qLw/7ZovXvuNyL3XQl8UFofeikI1NW1Gypu7k= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc h1:c0o/qxkaO2LF5t6fQrT4b5hzyggAkLLlCUjqfRxd8Q4= golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= @@ -218,13 +130,11 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -232,13 +142,9 @@ golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191007182048-72f939374954 h1:JGZucVF/L/TotR719NbujzadOZ2AgnYlqphQGHDCKaU= golang.org/x/net v0.0.0-20191007182048-72f939374954/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191204025024-5ee1b9f4859a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -247,8 +153,6 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190411185658-b44545bcd369/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -256,16 +160,11 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190830023255-19e00faab6ad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191003212358-c178f38b412c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9YmqEm0diQn9QmZw/0mU= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191010194322-b09406accb47 h1:/XfQ9z7ib8eEJX2hdgFTZJ/ntt0swNk5oYBziWeTCvY= -golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191210023423-ac6580df4449 h1:gSbV7h1NRL2G1xTg/owz62CST1oJBmxy4QpMMregXVQ= -golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -276,16 +175,13 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.zx2c4.com/wireguard v0.0.20190908 h1:SUoXDdwSMtomLdvke+zz83/u9tNvl4hHmcTIWp38tow= -golang.zx2c4.com/wireguard v0.0.20190908/go.mod h1:LhfXh5z6bLC2lW2ve6BzYZFwnnsXK3OQjySR0Yh2dO8= golang.zx2c4.com/wireguard v0.0.20191012 h1:sdX+y3hrHkW8KJkjY7ZgzpT5Tqo8XnBkH55U1klphko= golang.zx2c4.com/wireguard v0.0.20191012/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4= -golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191008142428-8d021180e987 h1:26OAgqBTufVr8WKonCEhhjO1oKsYhHv0iM5Dg92G1TM= -golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191008142428-8d021180e987/go.mod h1:7hq1rEDsx7/FWl8IEEnfH2Xhs6M2MNnjUfN0PeI8Rm0= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191205174707-786493d6718c h1:9MFH2Au7qF0HJOS0QMGcQDzJliDbgfRxCJL2bC7mg9M= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191205174707-786493d6718c/go.mod h1:TzydbNMXe6on65zGwIBoz1YK7nFWpVIXTU6/2ODwUOs= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -301,25 +197,18 @@ google.golang.org/genproto v0.0.0-20200210034751-acff78025515 h1:SlofR15fzhHsop1 google.golang.org/genproto v0.0.0-20200210034751-acff78025515/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1 h1:wdKvqQk7IttEw92GoRyKG2IDrUIpgpj6H6m81yfeMW0= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM= -gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ldap.v2 v2.5.1 h1:wiu0okdNfjlBzg6UWvd1Hn8Y+Ux17/u/4nlk4CQr6tU= -gopkg.in/ldap.v2 v2.5.1/go.mod h1:oI0cpe/D7HRtBQl8aTg+ZmzFUAvu4lsv3eLXMLGFxWk= gopkg.in/square/go-jose.v2 v2.4.0 h1:0kXPskUMGAXXWJlP05ktEMOV0vmzFQUWw6d+aZJQU8A= gopkg.in/square/go-jose.v2 v2.4.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From a0f4597c9ea77e65e292c84f49ba0c1d21186774 Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 21:34:08 +1100 Subject: [PATCH 09/14] wip --- go.mod | 4 +--- go.sum | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8b75cc2a..e41b504a 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pkg/errors v0.8.1 - github.com/place1/wg-embed v0.0.0 + github.com/place1/wg-embed v0.0.0-20200220103052-288c50323e73 github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect github.com/rs/cors v1.7.0 // indirect github.com/sirupsen/logrus v1.4.2 @@ -40,5 +40,3 @@ require ( gopkg.in/square/go-jose.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.2.2 ) - -replace github.com/place1/wg-embed => ../wg-embed diff --git a/go.sum b/go.sum index f7fb660a..e6b05752 100644 --- a/go.sum +++ b/go.sum @@ -84,6 +84,8 @@ github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaR github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/place1/wg-embed v0.0.0-20200220103052-288c50323e73 h1:vqidjPSGwdYc3zR3O1+0HrME8By/CGbRXsLY45xFxyI= +github.com/place1/wg-embed v0.0.0-20200220103052-288c50323e73/go.mod h1:Nse1dFm7Lq10qbz5FlM3vjZch0Dif6xjJL1OfrXuozc= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 h1:J9b7z+QKAmPf4YLrFg6oQUotqHQeUNWwkvo7jZp1GLU= From fa4948b6a862124d309ba5953cc79b8a1ad88495 Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 21:34:53 +1100 Subject: [PATCH 10/14] wip --- demo.sh | 4 ++-- go.mod | 2 +- internal/auth/authconfig/authconfig.go | 2 +- internal/auth/authconfig/basic.go | 4 ++-- internal/auth/authconfig/gitlab.go | 2 +- internal/auth/authconfig/oidc.go | 6 +++--- internal/auth/authruntime/runtime.go | 2 +- internal/auth/authtemplates/login.go | 2 +- internal/auth/router.go | 10 +++++----- internal/config/config.go | 2 +- internal/devices/devices.go | 2 +- internal/services/device_service.go | 8 ++++---- internal/services/server_service.go | 6 +++--- main.go | 16 ++++++++-------- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/demo.sh b/demo.sh index 0dbf6373..581aed8a 100755 --- a/demo.sh +++ b/demo.sh @@ -15,7 +15,7 @@ fi CONFIG_FILE="$1" -docker build -t place1/wireguard-access-server . +docker build -t place1/wg-access-server . docker run \ -it \ @@ -29,4 +29,4 @@ docker run \ -p 8000:8000/tcp \ -p 51820:51820/udp \ -p 53:53/udp \ - place1/wireguard-access-server /server --config /config.yaml + place1/wg-access-server /server --config /config.yaml diff --git a/go.mod b/go.mod index e41b504a..db175f0e 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/place1/wireguard-access-server +module github.com/place1/wg-access-server go 1.13 diff --git a/internal/auth/authconfig/authconfig.go b/internal/auth/authconfig/authconfig.go index 3c506a30..38b3056a 100644 --- a/internal/auth/authconfig/authconfig.go +++ b/internal/auth/authconfig/authconfig.go @@ -1,7 +1,7 @@ package authconfig import ( - "github.com/place1/wireguard-access-server/internal/auth/authruntime" + "github.com/place1/wg-access-server/internal/auth/authruntime" ) type AuthConfig struct { diff --git a/internal/auth/authconfig/basic.go b/internal/auth/authconfig/basic.go index 083819ba..00d1f502 100644 --- a/internal/auth/authconfig/basic.go +++ b/internal/auth/authconfig/basic.go @@ -5,8 +5,8 @@ import ( "net/http" "strings" - "github.com/place1/wireguard-access-server/internal/auth/authruntime" - "github.com/place1/wireguard-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/auth/authruntime" + "github.com/place1/wg-access-server/internal/auth/authsession" "github.com/tg123/go-htpasswd" ) diff --git a/internal/auth/authconfig/gitlab.go b/internal/auth/authconfig/gitlab.go index 847e5c73..a12e431c 100644 --- a/internal/auth/authconfig/gitlab.go +++ b/internal/auth/authconfig/gitlab.go @@ -1,6 +1,6 @@ package authconfig -import "github.com/place1/wireguard-access-server/internal/auth/authruntime" +import "github.com/place1/wg-access-server/internal/auth/authruntime" type GitlabConfig struct { Name string `yaml:"name"` diff --git a/internal/auth/authconfig/oidc.go b/internal/auth/authconfig/oidc.go index 53ea5969..9579b593 100644 --- a/internal/auth/authconfig/oidc.go +++ b/internal/auth/authconfig/oidc.go @@ -9,9 +9,9 @@ import ( "github.com/coreos/go-oidc" "github.com/gorilla/mux" "github.com/pkg/errors" - "github.com/place1/wireguard-access-server/internal/auth/authruntime" - "github.com/place1/wireguard-access-server/internal/auth/authsession" - "github.com/place1/wireguard-access-server/internal/auth/authutil" + "github.com/place1/wg-access-server/internal/auth/authruntime" + "github.com/place1/wg-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/auth/authutil" "github.com/sirupsen/logrus" "golang.org/x/oauth2" ) diff --git a/internal/auth/authruntime/runtime.go b/internal/auth/authruntime/runtime.go index 1a4bc5b1..1a82abf7 100644 --- a/internal/auth/authruntime/runtime.go +++ b/internal/auth/authruntime/runtime.go @@ -5,7 +5,7 @@ import ( "github.com/gorilla/mux" "github.com/gorilla/sessions" - "github.com/place1/wireguard-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/auth/authsession" ) type Provider struct { diff --git a/internal/auth/authtemplates/login.go b/internal/auth/authtemplates/login.go index f9f476b2..b70aa98b 100644 --- a/internal/auth/authtemplates/login.go +++ b/internal/auth/authtemplates/login.go @@ -4,7 +4,7 @@ import ( "html/template" "io" - "github.com/place1/wireguard-access-server/internal/auth/authruntime" + "github.com/place1/wg-access-server/internal/auth/authruntime" ) type LoginPage struct { diff --git a/internal/auth/router.go b/internal/auth/router.go index 8a23a79b..a8865105 100644 --- a/internal/auth/router.go +++ b/internal/auth/router.go @@ -5,11 +5,11 @@ import ( "net/http" "strconv" - "github.com/place1/wireguard-access-server/internal/auth/authconfig" - "github.com/place1/wireguard-access-server/internal/auth/authruntime" - "github.com/place1/wireguard-access-server/internal/auth/authsession" - "github.com/place1/wireguard-access-server/internal/auth/authtemplates" - "github.com/place1/wireguard-access-server/internal/auth/authutil" + "github.com/place1/wg-access-server/internal/auth/authconfig" + "github.com/place1/wg-access-server/internal/auth/authruntime" + "github.com/place1/wg-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/auth/authtemplates" + "github.com/place1/wg-access-server/internal/auth/authutil" "github.com/gorilla/mux" "github.com/gorilla/sessions" diff --git a/internal/config/config.go b/internal/config/config.go index 1cfcba8b..c8fe469e 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -10,7 +10,7 @@ import ( "gopkg.in/yaml.v2" - "github.com/place1/wireguard-access-server/internal/auth/authconfig" + "github.com/place1/wg-access-server/internal/auth/authconfig" "github.com/vishvananda/netlink" "github.com/pkg/errors" diff --git a/internal/devices/devices.go b/internal/devices/devices.go index 3abce552..e7de1ca5 100644 --- a/internal/devices/devices.go +++ b/internal/devices/devices.go @@ -11,7 +11,7 @@ import ( "github.com/place1/wg-embed/pkg/wgembed" "github.com/pkg/errors" - "github.com/place1/wireguard-access-server/internal/storage" + "github.com/place1/wg-access-server/internal/storage" "github.com/sirupsen/logrus" ) diff --git a/internal/services/device_service.go b/internal/services/device_service.go index 8dea6928..2a0f29c8 100644 --- a/internal/services/device_service.go +++ b/internal/services/device_service.go @@ -3,12 +3,12 @@ package services import ( "context" - "github.com/place1/wireguard-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/auth/authsession" "github.com/golang/protobuf/ptypes/empty" - "github.com/place1/wireguard-access-server/internal/devices" - "github.com/place1/wireguard-access-server/internal/storage" - "github.com/place1/wireguard-access-server/proto/proto" + "github.com/place1/wg-access-server/internal/devices" + "github.com/place1/wg-access-server/internal/storage" + "github.com/place1/wg-access-server/proto/proto" "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/internal/services/server_service.go b/internal/services/server_service.go index 25f6192e..0c7017de 100644 --- a/internal/services/server_service.go +++ b/internal/services/server_service.go @@ -4,9 +4,9 @@ import ( "context" "github.com/place1/wg-embed/pkg/wgembed" - "github.com/place1/wireguard-access-server/internal/auth/authsession" - "github.com/place1/wireguard-access-server/internal/config" - "github.com/place1/wireguard-access-server/proto/proto" + "github.com/place1/wg-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/config" + "github.com/place1/wg-access-server/proto/proto" "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/main.go b/main.go index b0afa703..023d7d41 100644 --- a/main.go +++ b/main.go @@ -8,19 +8,19 @@ import ( "runtime/debug" "github.com/improbable-eng/grpc-web/go/grpcweb" - "github.com/place1/wireguard-access-server/proto/proto" + "github.com/place1/wg-access-server/proto/proto" "github.com/gorilla/mux" "github.com/place1/wg-embed/pkg/wgembed" "github.com/pkg/errors" - "github.com/place1/wireguard-access-server/internal/auth" - "github.com/place1/wireguard-access-server/internal/auth/authsession" - "github.com/place1/wireguard-access-server/internal/config" - "github.com/place1/wireguard-access-server/internal/devices" - "github.com/place1/wireguard-access-server/internal/dnsproxy" - "github.com/place1/wireguard-access-server/internal/services" - "github.com/place1/wireguard-access-server/internal/storage" + "github.com/place1/wg-access-server/internal/auth" + "github.com/place1/wg-access-server/internal/auth/authsession" + "github.com/place1/wg-access-server/internal/config" + "github.com/place1/wg-access-server/internal/devices" + "github.com/place1/wg-access-server/internal/dnsproxy" + "github.com/place1/wg-access-server/internal/services" + "github.com/place1/wg-access-server/internal/storage" "github.com/sirupsen/logrus" grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" From 7dd4d2b4b50103ecbfc6198df60ab117d88d3a61 Mon Sep 17 00:00:00 2001 From: James Batt Date: Thu, 20 Feb 2020 21:50:57 +1100 Subject: [PATCH 11/14] wip --- Dockerfile | 3 ++- README.md | 1 - internal/services/server_service.go | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f873d8d5..e0338f5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN npm install COPY ./website/ ./ RUN npm run build -FROM golang:1.13 as server +FROM golang:1.13.8 as server WORKDIR /code ENV GOOS=linux ENV GARCH=amd64 @@ -15,6 +15,7 @@ ENV GO111MODULE=on COPY ./go.mod ./ COPY ./go.sum ./ RUN go mod download +COPY ./proto/ ./proto/ COPY ./main.go ./main.go COPY ./internal/ ./internal RUN go build -o server diff --git a/README.md b/README.md index e8b2fe4e..86e2c4cd 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,6 @@ Soon I hope to add the following features docker run \ -it \ --rm \ - --name wg \ --cap-add NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ -p 8000:8000/tcp \ diff --git a/internal/services/server_service.go b/internal/services/server_service.go index 0c7017de..ed3c749c 100644 --- a/internal/services/server_service.go +++ b/internal/services/server_service.go @@ -3,10 +3,10 @@ package services import ( "context" - "github.com/place1/wg-embed/pkg/wgembed" "github.com/place1/wg-access-server/internal/auth/authsession" "github.com/place1/wg-access-server/internal/config" "github.com/place1/wg-access-server/proto/proto" + "github.com/place1/wg-embed/pkg/wgembed" "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -37,5 +37,6 @@ func (s *ServerService) Info(ctx context.Context, req *proto.InfoReq) (*proto.In Host: stringValue(s.Config.WireGuard.ExternalAddress), PublicKey: publicKey, Port: int32(port), + HostVpnIp: ServerVPNIP(s.Config.VPN.CIDR).IP.String(), }, nil } From dff8fcefb1e0bbf16bac62af08ea66cac0b443ce Mon Sep 17 00:00:00 2001 From: James Batt Date: Fri, 21 Feb 2020 00:09:27 +1100 Subject: [PATCH 12/14] wip --- .gitignore | 1 + Dockerfile | 1 + README.md | 187 +++++++++++--------------- codegen.sh | 2 + demo.sh | 32 ----- dev-wg.sh | 14 -- go.mod | 3 + go.sum | 7 + internal/config/config.go | 43 +++--- internal/dnsproxy/server.go | 17 ++- internal/services/server_service.go | 10 +- main.go | 5 +- screenshots/connect-ios.png | Bin 0 -> 151028 bytes screenshots/connect-macos.png | Bin 0 -> 161948 bytes screenshots/devices.png | Bin 0 -> 57789 bytes screenshots/get-connected-ios.png | Bin 301861 -> 0 bytes screenshots/get-connected-windows.png | Bin 258376 -> 0 bytes screenshots/signin.png | Bin 0 -> 39018 bytes 18 files changed, 130 insertions(+), 192 deletions(-) delete mode 100755 demo.sh delete mode 100755 dev-wg.sh create mode 100644 screenshots/connect-ios.png create mode 100644 screenshots/connect-macos.png create mode 100644 screenshots/devices.png delete mode 100644 screenshots/get-connected-ios.png delete mode 100644 screenshots/get-connected-windows.png create mode 100644 screenshots/signin.png diff --git a/.gitignore b/.gitignore index f979fd1c..583e1243 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ config.yaml data/ +wg-access-server diff --git a/Dockerfile b/Dockerfile index e0338f5c..ae00f254 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,6 +23,7 @@ RUN go build -o server FROM alpine:3.10 RUN apk add iptables RUN apk add wireguard-tools +ENV CONFIG="/config.yaml" ENV STORAGE_DIRECTORY="/data" COPY --from=server /code/server /server COPY --from=website /code/build /website/build diff --git a/README.md b/README.md index 86e2c4cd..82850fbc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,4 @@ -# WG Access Server - -_i'm still thinking of a name..._ +# wg-access-server ## What is this @@ -8,120 +6,94 @@ This project aims to create a simple VPN solution for developers, homelab enthusiasts and anyone else feeling adventurous. This project offers a single docker container that provides a WireGuard -VPN server and device management web ui that's simple to use. - -Today, this project allows you to deploy a WireGuard VPN using a single -docker container; use a web ui to add/connect your Linux/Mac/Windows/iOS/Android -device; and manage connected devices. The server will automatically -configure ip routes and iptables rules to ensure that client VPN traffic -can access the internet. - -The docker container runs wireguard in userspace using [boringtun](https://github.com/cloudflare/boringtun) -and only required NET_ADMIN plus access to /dev/net/tun. -The privileges are required by boringtun to create a userspace tun/tap device -which is a userspace virtual network interface ([wikipedia](https://en.wikipedia.org/wiki/TUN/TAP)) -and for the software to configure iptables and network routes within it's network -namespace. The container doesn't require host networking but it can be used so that -VPN client's can access IP addresses otherwise accessible from the host's network. - -Soon I hope to add the following features - -- [ ] headless mode - * in this mode there'll be no web ui - * you can add devices (i.e. WireGuard peers) via files, flags or the environment - * intended for use by developers to easily deploy a one-shot style - VPN into a network to get access to it on their local machine, - i'm hoping to use this mode to VPN into a kubernetes cluster's - overlay network including DNS and cluster service routing. -- [x] singleuser mode - * this is how the project currently works but I'll expand it to support authentication -- [x] multiuser mode - - [x] support pluggable authentication backends including OAuth, OpenID Connect, LDAP, etc. - - [x] allow different users to manage thier own devices without seeing others - - [ ] allow network isolation to be turned on or off allowing users to communicate or be isolated +VPN server and device management web ui. + +You can use wg-access-server's web ui to connect your Linux/Mac/Windows/iOS/Android +devices. The server automatically configure iptables rules to ensure that client VPN traffic +can access the internet via the server's default gateway or configured gateway NIC. +Currently, all VPN clients can route traffic to each other. VPN client isolation via +iptables can be added if there's demand for it. + +wg-access-server embeds a user-space wireguard implementation to simplify +deployment - you just run the container, no kernel setup required. + +Support for the kernal's wireguard implementation could be added if +there's demand for it. + +Currently wg-access-server requires `NET_ADMIN` and access to `/dev/net/tun` to create +a user-space virtual network interface ([wikipedia](https://en.wikipedia.org/wiki/TUN/TAP)). + +wg-access-server also configures iptables and network routes within it's own network +namespace to route client VPN traffic. The container doesn't require host networking +but it can be enabled if you want client VPN traffic to be able to access the host's +network as well. ## Running with Docker +Here's a quick command to run the server to try it out. + +If you open your browser using your LAN ip address you can even connect your +phone to try it out: for example, i'll open my browser at http://192.168.0.15:8000 +using my laptop's LAN IP address. + ``` docker run \ -it \ --rm \ --cap-add NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ + -v wg-access-server-data:/data \ -p 8000:8000/tcp \ -p 51820:51820/udp \ place1/wg-access-server ``` -To use a custom [configuration](#configuration) file, please add a `CONFIG` environment variable and make sure the configuration file is mounted: -``` - ... - -e CONFIG=/config/config.yaml - -v ./config.yaml:/config/config.yaml - ... -``` - ## Configuration -You can configure the server using a config file. +You can configure the server using a yaml configuration file. Just mount the file into the container like this: -```bash -sudo go run ./main.go --config ./config.yaml +``` +docker run \ + ... \ + -v $(pwd)/config.yaml:/config.yaml \ + place1/wg-access-server ``` Here's an example showing the default values: ```yaml loglevel: debug -web: - // ExternalAddress is that users access the web ui - // using. This value is required for using auth backends - // This value should include the scheme. - // The port should be included if non-standard. - // e.g. http://192.168.0.2:8000 - // or https://myvpn.example.com - externalAddress: "" - // Port that the web server should listen on - port: 8000 storage: // Directory that VPN devices (WireGuard peers) // should be saved under. // If this value is empty then an InMemory storage // backend will be used (not recommended). - directory: "" + // Defaults to "/data" inside the docker container + directory: /data wireguard: - // UserspaceImplementation is a command (program on $PATH) - // that implements the WireGuard protocol in userspace. - // In our Docker image we make use of `boringtun` so that - // users aren't required to setup kernel modules. - // You can leave this value empty if you want to run wireguard - // in-kernal. The server will still connect to the "WireGuard.InterfaceName" - userspaceImplementation: "" // The network interface name for wireguard + // Optional interfaceName: wg0 // The WireGuard PrivateKey - // If this value is lost then any existing - // clients (WireGuard peers) will no longer - // be able to connect. - // Clients will either have to manually update - // their connection configuration or setup - // their VPN again using the web ui (easier for most people) + // You can generate this value using "$ wg genkey" // If this value is empty then the server will use an in-memory // generated key privateKey: "" - // ExternalAddress is the address that users + // ExternalAddress is the address that clients // use to connect to the wireguard interface - // This value is used in the generated client config - // files. If this value is empty then the frontend - // will use `${window.location.hostname}:51820` - externalAddress: "" + // By default, this will be empty and the web ui + // will use the current page's origin i.e. window.location.origin + // Optional + externalHost: "" // The WireGuard ListenPort + // Optional port: 51820 } `yaml:"wireguard"` vpn: // CIDR configures a network address space // that client (WireGuard peers) will be allocated - // an IP address from + // an IP address from. + // Optional cidr: "10.44.0.0/24" // GatewayInterface will be used in iptable forwarding // rules that send VPN traffic from clients to this interface @@ -129,63 +101,68 @@ vpn: // to the outside internet // If not configured then the server will select the default // network interface e.g. eth0 + // Optional gatewayInterface: "" -dns: - // The upstream DNS servers that VPN clients will use - // VPN Clients will connect to a DNS proxy running on the - // wireguard server, which will send DNS requests to this - // upstream server. - upstream: - - "1.1.1.1" +// Auth configures optional authentication backends +// to controll access to the web ui. +// Devices will be managed on a per-user basis if any +// auth backends are configured. +// If no authentication backends are configured then +// the server will not require any authentication. +// It's recommended to make use of basic authentication +// or use an upstream HTTP proxy that enforces authentication +// Optional auth: - // The below are all optional. - // Different authentication backends can be configured. - // If no authentication backends are configured then - // the server will not require authentication. - // The server embeds dex to provide the authentication - // integrations - https://github.com/dexidp/dex + // HTTP Basic Authentication + basic: + // Users is a list of htpasswd encoded username:password pairs + // supports BCrypt, Sha, Ssha, Md5 + // You can create a user using "htpasswd -nB " + users: [] oidc: name: "" issuer: "" clientID: "" clientSecret: "" + scopes: "" + redirectURL: "" gitlab: name: "" baseURL: "" clientID: "" clientSecret: "" -} + redirectURL: "" ``` -You can also set some configuration via environment variables: +## Screenshots -```bash -export LOG_LEVEL="info" -export STORAGE_DIRECTORY="/my-data" -export WIREGUARD_PRIVATE_KEY="$(wg genkey)" -sudo go run ./main.go -``` +![Connect iOS](./screenshots/connect-ios.png) -## Screenshots +![Connect MacOS](./screenshots/connect-macos.png) -![IOS Connection Dialog](./screenshots/get-connected-ios.png) +![Devices](./screenshots/devices.png) -![Windows Connection Dialog](./screenshots/get-connected-windows.png) +![Sign In](./screenshots/signin.png) ## Development -The software is made up a Golang server, React webapp and a WireGuard -implementation that must be provided by the system. +The software is made up a Golang Server and React App. Here's how I develop locally: -1. run `./dev-wg.sh` to get wireguard running locally on `:51820` 2. run `cd website && npm install && npm start` to get the frontend running on `:3000` 3. run `sudo go run ./main.go` to get the server running on `:8000` Here are some notes about the development configuration: - sudo is required because the server uses iptables/ip to configure the VPN networking -- you'll access the website on `:3000` and it'll proxy API requests to `:8000` thanks to webpack dev proxy -- because we haven't configured a WIREGUARD_PRIVATE_KEY the server will generate one in-memory -- similarly we didn't configure a STORAGE_DIRECTORY so the server will store client config in-memory +- you'll access the website on `:3000` and it'll proxy API requests to `:8000` thanks to webpack +- in-memory storage and generated wireguard keys will be used + +GRPC codegeneration: + +The client communicates with the server via gRPC-Web. You can edit the API specification +in `./proto/*.proto`. + +After changing a service or message definition you'll want to re-generate server and client +code using: `./codegen.sh`. diff --git a/codegen.sh b/codegen.sh index 76882b6c..b70cc497 100755 --- a/codegen.sh +++ b/codegen.sh @@ -11,3 +11,5 @@ protoc \ -I proto/ \ proto/*.proto \ --go_out="plugins=grpc:$OUT_DIR" + +cd website && npm run codegen diff --git a/demo.sh b/demo.sh deleted file mode 100755 index 581aed8a..00000000 --- a/demo.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -# This script will build the Dockerfile -# and then run it with a minimalistic set of -# docker run arguments -# -# note that "WIREGUARD_PRIVATE_KEY" used in -# this configuration is for the demo and clearly -# not secure, please don't copy-paste it -set -eo pipefail - -if [[ -z $1 ]]; then - echo "USAGE: $0 " - exit 1 -fi - -CONFIG_FILE="$1" - -docker build -t place1/wg-access-server . - -docker run \ - -it \ - --rm \ - --name wg \ - --cap-add NET_ADMIN \ - --device /dev/net/tun:/dev/net/tun \ - -v "$CONFIG_FILE:/config.yaml" \ - -v demo-data:/data \ - -e "LOG_LEVEL=Debug" \ - -p 8000:8000/tcp \ - -p 51820:51820/udp \ - -p 53:53/udp \ - place1/wg-access-server /server --config /config.yaml diff --git a/dev-wg.sh b/dev-wg.sh deleted file mode 100755 index 8635c051..00000000 --- a/dev-wg.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -eou pipefail - -docker build -t dev-wg --target boringtun . - -docker run \ - --rm \ - -it \ - --network host \ - --device /dev/net/tun:/dev/net/tun \ - --cap-add NET_ADMIN \ - -v /var/run/wireguard:/var/run/wireguard \ - dev-wg \ - boringtun wg0 --disable-drop-privileges=root --foreground --verbosity=debug diff --git a/go.mod b/go.mod index db175f0e..622d741e 100644 --- a/go.mod +++ b/go.mod @@ -8,12 +8,15 @@ require ( github.com/coreos/go-iptables v0.4.3 github.com/coreos/go-oidc v2.2.1+incompatible github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect + github.com/docker/docker v1.13.1 // indirect + github.com/docker/libnetwork v0.8.0-dev.2.0.20200217033114-6659f7f4d8c1 github.com/golang/protobuf v1.3.3 github.com/gorilla/mux v1.7.4 github.com/gorilla/sessions v1.2.0 github.com/gorilla/websocket v1.4.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 github.com/improbable-eng/grpc-web v0.12.0 + github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 // indirect github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/kr/pretty v0.1.0 // indirect github.com/miekg/dns v1.1.27 diff --git a/go.sum b/go.sum index e6b05752..f76b4d43 100644 --- a/go.sum +++ b/go.sum @@ -3,6 +3,7 @@ cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/Sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 h1:Hs82Z41s6SdL1CELW+XaDYmOH4hkBN4/N9og/AsOv7E= @@ -18,6 +19,10 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= +github.com/docker/docker v1.13.1 h1:IkZjBSIc8hBjLpqeAbeE5mca5mNgeatLHBy3GO78BWo= +github.com/docker/docker v1.13.1/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/libnetwork v0.8.0-dev.2.0.20200217033114-6659f7f4d8c1 h1:Y1inpcbXnwGzRxGAwp7Hduv68mbKo8IDO9/w1KaHqQQ= +github.com/docker/libnetwork v0.8.0-dev.2.0.20200217033114-6659f7f4d8c1/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -52,6 +57,8 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 h1:0IKlLyQ3Hs9nDaiK5cSHAGmcQ github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= github.com/improbable-eng/grpc-web v0.12.0 h1:GlCS+lMZzIkfouf7CNqY+qqpowdKuJLSLLcKVfM1oLc= github.com/improbable-eng/grpc-web v0.12.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= +github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 h1:rw3IAne6CDuVFlZbPOkA7bhxlqawFh7RJJ+CejfMaxE= +github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a h1:84IpUNXj4mCR9CuCEvSiCArMbzr/TMbuPIadKDwypkI= github.com/jsimonetti/rtnetlink v0.0.0-20190606172950-9527aa82566a/go.mod h1:Oz+70psSo5OFh8DBl0Zv2ACw7Esh6pPUphlvZG9x7uw= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= diff --git a/internal/config/config.go b/internal/config/config.go index c8fe469e..154b3290 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -21,18 +21,7 @@ import ( type AppConfig struct { LogLevel string `yaml:"loglevel"` - Web struct { - // ExternalAddress is that users access the web ui - // using. This value is required for using auth backends - // This value should include the scheme. - // The port should be included if non-standard. - // e.g. http://192.168.0.2:8000 - // or https://myvpn.example.com - ExternalAddress string `yaml:"externalAddress"` - // Port that the web server should listen on - Port int `yaml:"port"` - } `yaml:"web"` - Storage struct { + Storage struct { // Directory that VPN devices (WireGuard peers) // should be saved under. // If this value is empty then an InMemory storage @@ -52,12 +41,13 @@ type AppConfig struct { // their connection configuration or setup // their VPN again using the web ui (easier for most people) PrivateKey string `yaml:"privateKey"` - // ExternalAddress is the address that users + // ExternalAddress is the address that clients // use to connect to the wireguard interface - // By default, this will use the Web.ExternalAddress - // domain with the WireGuard.Port - ExternalAddress *string `yaml:"externalAddress"` + // By default, this will be empty and the web ui + // will use the current page's origin. + ExternalHost *string `yaml:"externalHost"` // The WireGuard ListenPort + // Defaults to 51820 Port int `yaml:"port"` } `yaml:"wireguard"` VPN struct { @@ -71,10 +61,12 @@ type AppConfig struct { // to the outside internet GatewayInterface string `yaml:"gatewayInterface"` } - DNS struct { - // TODO: docs - Upstream []string `yaml:"upstream"` - } `yaml:"dns"` + // Auth configures optional authentication backends + // to controll access to the web ui. + // Devices will be managed on a per-user basis if any + // auth backends are configured. + // If no authentication backends are configured then + // the server will not require any authentication. Auth *authconfig.AuthConfig `yaml:"auth"` } @@ -88,18 +80,15 @@ func Read() *AppConfig { config := AppConfig{} config.LogLevel = "info" - config.Web.Port = 8000 config.WireGuard.InterfaceName = "wg0" config.WireGuard.Port = 51820 config.VPN.CIDR = "10.44.0.0/24" if *configPath != "" { - b, err := ioutil.ReadFile(*configPath) - if err != nil { - logrus.Fatal(errors.Wrap(err, "failed to read the configuration file")) - } - if err := yaml.Unmarshal(b, &config); err != nil { - logrus.Fatal(errors.Wrap(err, "failed to bind configuration file")) + if b, err := ioutil.ReadFile(*configPath); err == nil { + if err := yaml.Unmarshal(b, &config); err != nil { + logrus.Fatal(errors.Wrap(err, "failed to bind configuration file")) + } } } diff --git a/internal/dnsproxy/server.go b/internal/dnsproxy/server.go index 3bfd3b55..aec7f107 100644 --- a/internal/dnsproxy/server.go +++ b/internal/dnsproxy/server.go @@ -4,8 +4,11 @@ import ( "fmt" "net" "runtime/debug" + "strings" "time" + "github.com/docker/libnetwork/resolvconf" + "github.com/docker/libnetwork/types" "github.com/miekg/dns" "github.com/patrickmn/go-cache" "github.com/pkg/errors" @@ -19,12 +22,20 @@ type DNSServer struct { upstream []string } -func New(upstream []string) (*DNSServer, error) { +func New() (*DNSServer, error) { + + upstream := []string{} + + if r, err := resolvconf.Get(); err == nil { + upstream = resolvconf.GetNameservers(r.Content, types.IPv4) + } + if len(upstream) == 0 { - upstream = []string{"1.1.1.1"} + logrus.Warn("failed to get nameservers from /etc/resolv.conf defaulting to 1.1.1.1 for DNS instead") + upstream = append(upstream, "1.1.1.1") } - logrus.Infof("starting dns server with upstreams: %v", upstream) + logrus.Infof("starting dns server with upstreams: %s", strings.Join(upstream, ", ")) dnsServer := &DNSServer{ server: &dns.Server{ diff --git a/internal/services/server_service.go b/internal/services/server_service.go index ed3c749c..6b2e7736 100644 --- a/internal/services/server_service.go +++ b/internal/services/server_service.go @@ -27,16 +27,10 @@ func (s *ServerService) Info(ctx context.Context, req *proto.InfoReq) (*proto.In return nil, status.Errorf(codes.Internal, "failed to get public key") } - port, err := wgembed.Port(s.Config.WireGuard.InterfaceName) - if err != nil { - logrus.Error(err) - return nil, status.Errorf(codes.Internal, "failed to get port") - } - return &proto.InfoRes{ - Host: stringValue(s.Config.WireGuard.ExternalAddress), + Host: stringValue(s.Config.WireGuard.ExternalHost), PublicKey: publicKey, - Port: int32(port), + Port: int32(s.Config.WireGuard.Port), HostVpnIp: ServerVPNIP(s.Config.VPN.CIDR).IP.String(), }, nil } diff --git a/main.go b/main.go index 023d7d41..31a44e2c 100644 --- a/main.go +++ b/main.go @@ -2,7 +2,6 @@ package main import ( "crypto/rand" - "fmt" "math" "net/http" "runtime/debug" @@ -64,7 +63,7 @@ func main() { } // DNS Server - dns, err := dnsproxy.New(conf.DNS.Upstream) + dns, err := dnsproxy.New() if err != nil { logrus.Fatal(errors.Wrap(err, "failed to start dns server")) } @@ -136,7 +135,7 @@ func main() { } // Listen - address := fmt.Sprintf("0.0.0.0:%d", conf.Web.Port) + address := "0.0.0.0:8000" srv := &http.Server{ Addr: address, Handler: handler, diff --git a/screenshots/connect-ios.png b/screenshots/connect-ios.png new file mode 100644 index 0000000000000000000000000000000000000000..35fe29379e9855629c1e82e9ef67a75683e7ee40 GIT binary patch literal 151028 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 z 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

Wt&xFj(8<_a#6pQ5wit|`5XhY?c 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%0AX`d;9-%H3lb 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 z%0A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 literal 0 HcmV?d00001 diff --git a/screenshots/connect-macos.png b/screenshots/connect-macos.png new file mode 100644 index 0000000000000000000000000000000000000000..0529c37f11fce3efab93699c0f40ac26654a857d GIT binary patch literal 161948 zcmeFZXIN8Pw+6Zrzyb5#-i z5RjsDDM5M<0YV8WcgC{M{?2!Q-sk>0>v@1AYppp)o9}qXm@7QJuB)+^ou3_opuN|w zUN(Rr=1VruT|2;^w)Na?2s#X1yZo1t|MP`mEjNqVP#H&-f2mMCaU6MbbTv zo@~K)^8JHy&i&b4e_Ksf4ods`4M=qL(rop6AHKXifAQeHTYua-N)Y`d`AJD_2kf-= ziJ+L^d(Vz-Zs62;)TOVzx;#7iGDBn;5~#cE=>ZO_&``p?)%!9mK#HHor{sIx9KYW{ zkhd=EkAL2IUj4r}|7QaT`v1fRy10iYi|yRSXrBMX7wzOU8}6bdzuA+=dSO9IynIAz zjq7Lp{haB5O-DItaSx%gk=y3I3~LV3=$GI<1axFt6@Dx{6oEFmopt?Nq1nD$XJ?RN=`GB=u@8VeWpk8W6a zPa`LheM{~ZNGFVuXiqVgRaK%ERavRq#c?t`zlZBYdLket)$_s~nuY4+o;TmnrmM>Z z6O&$kGgiXHQX0q@Fx_6ZRJM48 zv6atViLi8@CKcP>D)Q;BENo7#?qner_6g-erXu^?>CKl31@rkGRcRvx-H4Hs#}LxL z$9ch6Q-`@@WBXdN4m?&}?=?t>R(`lVkaz|hGA1m zrJg40lAWxQd6ey)lg2!Kc57)W0f^t@c`v+AEUosoQ+ia?u%!8T;(cSEtiOwrv{jJM z{Ywp1!Ot-&;t(cc)z8>GmsD8Pw0tiM!i0UF?KLph=-P?)Fk{0NzF)&2Rs9`QuJGjZ z9ml2f3M}Q$qF}#f_!K?MTWDnGG~ci#YNvrLI@v{fQ6ijgq0{i{?zyBX6foGAWh3LMX3EF){Re6mnRqA4|t?Z*Y#^Se& zpXHVGawY7}D3=Vs>QiOIh2*SQg{WW{cCM26yG_}D@%xxV!9<@SA*T$9szVi;;;z1# zse68Fo}T)&6yN@(YNvM;=P7S2cYaR+-|3C^q?!wI8(#aCAjFVGRCeKqjN(HTg_=rr zUYny9R%V#YtrWM-?JbR+*rmnNN4h3=#HD)}gB1}=#-ce6K{j>Qilf;<=usoHBQ7Eo zmTo7tuzUE``W≤ke)S$hxT~s9bjCHE%Rprg7XYoHUv?P#rLSW9KDXOxQaoJK63T z+wYxyLU#i{^Y9T#?;CTb8+uDDFWGr`-BJ+_t>f;%SUnk(=L~2I5iEo@Pq%YLHGY`v zeLrRJcyX4aFK29>_HctZzGbTvd{)Gd7}>Cc0w!Qf68Hx?w!6*ApgOxL}d|-oS znfhdKV|x5ue53z*u&l7E*^}?z^LQ^9i<56y*2)VU)jLFR%hfw%J3-gB#QMJNpwc{} zn%ZJ1p7i=f1oq~6(_dyh936##1nUv5sqegsosOVwXYC9n)om!Z{c#b`nfkjEscBNi)t!2ShbV0orsAWei-Z7I-jT^x=wBDnQl8OU~IS6{(W$< zbJo2p-9B-0@tW%@6@G83Y%EEGb*+KRa!tIM^*Cc)IrqV)k28Eu5eIYkY zVjQFlR}YPSrG3qav+=p9Qdj<^ZF1fi=8hS zIwZ#>`C?JuEIKyg%U+p~x}I82qKIXY)9~%eakH*6Uu#G({Cji6Y|Ms~oU8iHiRHz$ z_l3Z9Z|l;R@CG+2o%#ogRR%r{`L35&RCD*~BM^yJ4(LEmp|}88p)p!yNTae zw_oRzoDX-CTVK<|KiZHPu%h^SbvUWk`@V0@h58LC#nAc9)2@g3<@+N%5ysa_B4ej9 zywVj>rhUe{U8I(lOyEjA@KO3#ZlHGdbfJ2Ew%f+`S4>o0dcx#fWv^Xz0L|g^pVsM0 zj@HYwVrO|&`z-vfrUN52EwAZL6LTwt9G#kWqV~)Z&mA^S+y$7mw zlX(XF@BF4muY4omqn*y$a^B}89_HO=(AzaX7}eM5^SaX0m^hz#ztl1!^L_@gifSlUQNiEs4o?0D*{4+zx^>)Nml@P&RYQC{1<<3BkpY7CE@KC+%A%tb{ z!Ta(#V@p+&pIxwcKHre8M{mug2;G{r9!*E-EK1 zauCCj&D(qeL1FMw%9Y>^#}h@ptrmTFbL^(e1z*^*u~TVLrKz*Td_%-4kAq!V04rwh zwo+YusqSO^ILX%QPLWUT$UD)tc@IXJ_59U`7O9sqE3F{syT*NJud`mau%(}4;pJgI zW`iO2fhy&}7gA(j+WWW`*-MPdVD8W({OsuZ>rv$Q4T-(_r@5Rme}};_zcmmB@py6n zKD+Zy*K?KGWl#6@Cz|yS_Vss(ev2$k+6PzcB2OAZ3*sRbfGi~F^X4avd9=^)-CyCe7;8}6&7CAPnT9J~Ox!5h_Ae6`iO>Fn5HIjMSZl#}9# zI9VBdTdFmYRAYRl{Ly)#LB*;7Kz1g3?UhvfLt!Nq!KUHa_e0M=I-PUa+Hs_&{i7*f z4$JU0e=;aVc&w@9_)L0h&T%#9Tg2mSojd6jMQ@xuwqIe1zkCQac>;~dUmnpLdzoM; zE8oN)s64Ne{!;N|kj6q?&uoyw_aExeEFeK=*W#tD$S=)h?0!3wI(7iCd3SM7$GPZ> zRR^Ps&(VhS4ng_))qTT0K$+1*Tgh|C6K#r-0AnoY-Wsh-2ulhY<34YuCG~}-nsE=g zHGQ>)of`LX5|H)0DqB9e>OAtNgLZE4%pWB|p{L5Kvb6|u(GsSS?;B_u5!5lfktMdv zvB2KwuV1pGMwqgXlnt%?c_tQ9m78F4XAZR|ng7D!K~jNzQj3YKcWw=uRGx3bE?O7N zj#ADp=0Ht9&dKULeb6l{omctACnI^KVQO`of4}8KYs`%(r-4zu3Mi%G()kQSamae8 zuIqKrUH!BS<+YlPg(r6_KJmX_19TE^fFi#gjq0<8xu3v4%Vk)#r>s{8SP`Cu z0|u)abhbRVKCq#a8d{z!KC&%z$Es>_`alrlc6GPG{sNa9V*|9^jVizNc%ipu0CQiA z!E{)DUKo7*Mm@lL>{hZKtR#2M59YpXzbCZ(%V`O7E1#S6&aXXN?@0c=rzw`=u9d44 zdGp*V7y94nTOf8W+)cHXw@aukoUGV%_1;o@*f_O;)*osW<2i(`cil{5dP<5gMz?RM zWJmEGWj7Xeh}tr{6)90IbmnnE7V%1})I9b=Z@uJrVHYKIQ`%X>qn5ivxUI3xqImow zSMc<2DtEyzLL4Qq)8(#o>*6@hV59-R4=T@rmI|Q$Uy=WVChsE@I=CzVR}^lQ=GuDa z&z72XeZ1YwU*lSKXQH;;8u~1@(R1j~dX%KR!HD1Ep40*$?y^%bEps5nnZK}jbB2r| z<`%+juFRGiq+FPCh}AbzeluIsJB>XpV3$hBI$>cUYbb^vw%AGR|1Dc!>lY5xC4#Hm znrMqhRbS;3XH)@pa`&{@ri zz&!}+ES8vR*Z@ipK<9@Tw6`~)`W{NE$(3jeXsCE5kkxB-;ON%g$R_v9ujc)q-wNc% zb9j(ZK5V}Npi?o*8em0zZ>P*1hwEhx%F%_TIYn)qBm3yaXpu_Epq=NPQZwHUw)UNc zfB)c zV4=k;K7mW4dBHNeABROx%GOke`16I_Pw|6j4-83DI3yjh%$>Radq@}AIO*Fmmc z5SEl%li^G+T#JF*^d-BU!1LG2?c@r+@g(+P!*Ci)kobL>OR$nN?5M~5;Z3bN(Zdpr zZN9=mP6`q_#e-$<(38OHq$1<|kM~dNApMGco{dKNmOYmEIGl6D*2hz>tOYGK`SAo0 z`Ap8EA~~K*itBfYQCQ<}-^b3%Ntt~fh|fG4`h3uw>9 zp>*e&StEJdS2c{4ck{fdPBW&?g^i05?-JMB{c8nQ34&)^M*d{O70DnB^(J4u>y~bB z)E-~^*uf<(!im|#hHDptDl>f&YTNw%7nhstb=(vQmWS)UY&p8q450eA4xuEp1xD)V zg4Id9!75=iPxFF`iHvo#g{Bx1>E@GIxDho zG@aQ#jTkZu%f`o9_3lDiS!3QQH@qG;4OB^#&7U%j&?cUx4jU`E=GVP~`ggP82Gg_1ob~61Aso;aNF2pS<|@2WeGRE^cX(+&;k&LI%5FBQ$nq+ju|G@hKN{rwEYQu z<+^n1=b@3mZGDzv@;r79NQ=;E{E1VEeat=@p8WwgM zS*jfK5O`?zTP^Q(kTDY5#H5Wm&#t$P&^tTj=XJ_0jqQ9g1?}v96tF!xu&g&696Pyq zeX@8Pa|X^;Y0m45Nj8>GYmuxnxzDsJ2JLKkbHi>WblvgZuodR1zwx(WiQR7J!bGG= zHC9|PTTOM4bO3JM$o_h_%PE2DIhS%4>p;D-y-RLIp}+5Z$z-U|hpxmF>WQqH&_bUF zEgv)=7NQg3hkqHQa~>FEF!o&f;`QEzr+gBC6Frk9yOnduPuZ2(j~0X&RoShiE$GAb zZfzBP{^*!j(Uj0rXO{ka-o{s(4W|oYayIa0?xez-)>e-*cHNaSt_STf0bzaS=kQmo z?Ugo6m82_NHyfu96e94MB;M4ayW&wjff&g235N-Oe2Qip(eC0PjVvrXRK+DRYvs)U z=q=`G`txY5RK+wC4|1A80evmyZXS0Pmw@c@h^Ap{jmJ*2s5+MgZ{Yvix-6E10}i4} zhd#s?vV9uM>aAQSN4&h{lE1%WY4HpfwIbEOvSjt9*);mBo1a;hj4QreaXW!sMpq+q zi>L$pU6ZfXFL8s~4->&5e|vmj?Y7bBTIs||Po+B5QsQB=ROzUu<<$x?Bp zsP-nZoI}^b(n@6GqG)ysqJ!VxNnRq{iR3>qYG8Zvr&;F5ytyU#5L0u$pQELk#zi?u z%gqKrS^K0@7*q4HiYUA*^%;=C}8tC=# z)+5@7jG6KbS2g-CgQ8z!V<4co_#?UC;#jA5#O+FqUsjoE)R$>hW#a0jm?W@Qp;sZ- zh?`JhiE%#u>x6AY#OIG>ivu3C5$!#y=25BS2(pS?e5lB;sDa$)tQ$KE^Qr^fF1U`Q zKFJJ!+@TVXB2yI6)T7wtu{vU8*&r)?zbUYNNt*ERq@4%3eS5kt)JbW_Ag^=yI3TOI zhZf=b&U_Vxd$SYo=e}q-FA%R0Fp?n!Rk}HOY%RxbsrVnP;utu3Sokh2rejpJPs8uD zFjm0s!{XxT1#u`tB>12_$G~Iv4&Ig*!l`%U?G?VUfE zre%ncYXD<=FmlDaw6J58I@)?3=~P3msp=i`O>6BlV*(@)qz^mXkDU8HMK(4Mj}>r9 z*jN1doN&Z>FD+WENo73fPIyBPJ6JjUc5+DH?``P7}3FU{+%gUKYd=IkI5Tl=~ zIW5G+K3`f}f#CC!Zwb%#S5oTzE;x38WYxu8o34FxFaWlkOZLYN%>gW`)SQ>4+zKSz zc~#yJrnQl5>*;}Zd1D;@t@k!Fu6yJ-;&?zGbi9;os%-P%U5lpzM$w?=z;AJ9J`RXM z880|YPK;3+n1!75BVq@BG3bD-_mH@rOjHy3`v5OSmFL6JGajq$)u($f?6UrL60V#b z_+{GGQpk?x`Y^4kobmNf+Z~MchP>*)#U2uRW6adD;fzp~#+2=5S`DvoYSg^EwV!F! zkXu7XbjPelKNTo5!7^M7yt&j$ZL#zCiAscD3~+sMa-1!rwNy{3;JFGoa1 zHqQ4IkN4!8=!Dxp*Z|^lV8SDDrp$kFJ1beaD;Ed`Tnf>9#`arUT zH8xbp&dyF&R(4-kSC_1!qJY~-{ZrdgUY79i@Y0f!KUP;)gEUd&=#T>^! zn+=eIeqBi2REBlKro4&@CYLI&sw%?4!BJXW&C8;tr4@Sv{`}dqu%}O-a@peo|6D!~ zX8YY7gP@T4YUR2>MDYkA?b)*yNrse^R3mO>#j`$S+gES5yQ{18?c29)Z{I$VlasTa z^8ESl1|kI27St4*5J_!qZHwZJhLCN!q~v5f8y}x@{933+TMxZ`KW=t#u=Dj@{}BJX zPJ*Ce6XJZ&b`W_CQEED5NVl-Eio9o#$DN;_Us_hS9|#O|Y_ydfsSj9vN2Mx3ok!3yO-aNmDbl&GpSXTm4_xh6?VwU$-T6OI}7eDvEJeQ z797PC4j9g?dvpBf_9X7R0f7KRC2-D-o!eNS3&BucBgrcSJRZLdAI0OZ6ciUD#o)cI zDDp)cJMllD_Loy4CO;+DHJ;nP1jQIMQ~{Iq1ciXbKnCY>YI3KHcwD#s8G-RV+p2 zAmlyvqTSlAs(55$@Y}brdy9*U{opVDh)p?uCySbl;!M-8Jy`=n2OQLsDcGGS)4i2KeAPA`F?K`1IpsRn9xlaDP zjwVhHIR$~4?&i0e5NRP|klfwr-O%XUSM-}dYt&I^%@Fh+h~M6acA5hP#hA~D=={9b zF@ZwogKqJ?HqQSdNxlekm&;c9)ip)=zQPpmzzrnykXt1oIPT6h+W4-YcQwUQLIog) zG>|c_y;9l7^5avKt7ZseFRJ_+><^S-JmuA|&1l_AbK9QKb0KyV^t`%T^j8eUT%6nX zhSpTs)F9oH(cBPh=1sTgue{#b3e3gw0xJf=I}hgR{o0H>tOvq~ z<%KHv)Lk-9FXHD2hdT@iM3%z@Fv9t`ZqbWBKkWq9GFT4(7}sxuBvR-tW-%0%KcNOa zpe;+bN?voagV4U;&jQqSi;n!9IWHT7i1*7Q^1wR>flQwgD3?#@8KBSpoM+<3+_q9c z9EA=BVw&wxo}P8!jkyChKW;{qA0dZiS|?IejzA3>;53&3x?~M#Rq=CdARt{|=2{41 zA8G_hsb-Ylg3Qx1{VC&&_T07>m>s)I&FwnGdVbshogzm4d9HJB9#K^s4v+a8ei+A> zM7ec&mh0z?@i7!k!v4cht~%_G(Fo0u{V$hy{x}1?A41UF{Rb-kCA7LN*|u&_|-hYX_;S|QjY#RdcsLpbXTW}yd)0CB-b{<)HcXB zU?qgGQ;A1O zA#+zs?KGHm0t5A%Qu9T2Ei5hJxm2ltRG9A_{k-}8v52RgpP#(E0i*pdE1G|9=+O$& zMY}l;*`^-M+nV`u0SMwaG4MIL3ixVrLhah)$WNT#fqQ?+P{JBG^|8iWJ{1Zt?s_{gJ;&d$!f z;ya-8@l4lDSY$*`zd&b8(%y zJJ+n%3|W({Ra1%-tn zDYuW2)zd$8=Z1sJ!?UxqC+4}J!{?g3AZRP8YFy!}xX)}cPb={A&FyO;#d}fflW!nX zMrIxlWMX0xpX>qYYR$zViW3tChj@54w9gnYlJO0%F~Q{7G4Mfr zu_}b>{^h2q=@-&I`$|l-?&Yl?%_GVH#F(&f!WwN?$Y4!8`{|o5lHl{C`eeA_f|fxt4FL7ZNk2B+;-U+i z+URFs8pZiW)rTs9R^x2=$jHbH49+yq$kxv8!(KZGwIga8f>xyTn!Gym11t8V*rMZV z*K%2R{YWgz(mn$+K3g(9#K^xz0^)KxB3yY{ptqhs)?>hhjQjPPR=boIX_|9i(fbdp zVVIaz-Te?-Za~)xx%WCbTlhBm!@=-IQ!}%to;CH;N9<(Y5G19OTbV2m@VhO5!dKe> z;;3OJXZ@psHLWo7_PJYDs;wY;t@c5jInb`o4+cDRgG7cdrRo(zV?!$>Hr#u~``#C( z@W%fmyqHgbOmP;g1VCRWV1YoRx%Y^$6~Z-|?^!LYZo|2(!T-L=-6*d$L_-RmaqG|P zOh5o>s58qTnZ9C9A0$3F<`b*;E;>HpzqO7BChEJ!SCaM+S8fc~9_E7`24q5wOVf&? z*tUX@4;A2ys~ydqX}V)-YWk^-4L>D-2V}gtPXtoC`;W-(-wb#lu9I-z{6Ai^?o!hP z8A17k&#VmBB-U3~C4qKc>%S%LY$C8x2d2_v1<8!S z(#_;r@7&iKb^opO_2kkwgii?JtF2MNJkK`bf*9_K5%9yfz?=F5}5iJ#3BM}aWju(A+?h~mwzruVgNR9 z@zQW%AGCX~CMxge#K-)ST7coGhHF`fiCK7-0HDx?|19j$vuhT7%dfY00OFt<4r0RA zA(QI&{J^7n9)2; zH*peMZc5b($rNwB#);H(OF^Tf0ayWi4U#^+{*ux*1}Y~|$H=OxqW{zAO#=zF)Z{mR z`0podxE_Qh{-QY#D1}geeaBMb3PPA2Xn#G{?f*slN+oW19W9+Wx&H;=Sp%=2T`^a& zNsOo<&zQ$!1T&fS^r=&{x4EJBJbZk7e!IW6mh%0P$J~En(^gDvcXF+mzX74gS{x>K z=!YOXKuBGt6jJ*l$)Zn*oD zPcG|d0f^(PFVI&Q`9yS3=BD5NNr3W{Y)pzevAK)wihKkNGXI$)l!Q9|QZz`0m51FM zrjM+Db3}n{5+gY4)l0BbO`w9Y3kgv+HZd7r9IPTuwWXz`rasNf%S%Z~c~V+h$}1oc z4hrWKP(P=prZOD}>S8%?IrA=Xb3B&oe0TyQFsK{b&8B)>^+Mv0FeHL9ZC$WQM_c=2 zzDe=R>tY`_2uKmo1bD(DWBudx!;61fHv}F$aNs~t)VyZ4!O8|8ZPDX3R3^R}No)ap z9S8Voi9itNHcWP3hyC$FL=2j`T45duxB!4pP>!o`Q=^>j-jx73Cd*P%??!cTNFi|$RmxR{I3E}~0CIUzU7!P!-nVDk}l%hHNPaX$LxD6u)%UMcRvN8_qHe*6NML~q1pVw0ThTaqIFqgrDm&nOk__$fa z&HCC}e$eb7jWvcB4Idln2$Ncu*#5 z|6(i@3E$-|CkCy*775+_vt`orb9;M+|E!y8d3iY?M&pk~La$;}UZBMo+2RcQ^vmMZ zFERjHNRq>+M*91ofQ(vL3agjQ4;zS$|efwl;~S%h5~u(<&%FM6OxQIJq9-jw%yCDua=Ub=f~Mm zPXQJDxVh=SVt~kHhJc;j(Jjh-rRMP&WZU+r^+^V8y$TzNWNaYyLR`iEEuTUgmNtlO zL{J+MYqxfnkT9kr?98;2s{uQeIXO8wp^h1E*>-?(uWc0vHDW2(I#lW7syQm6-249L zh0f!Ed5G2yYkzE6tTRT~~2o|r!vXf|?% z;WV~uR}`egM)*z=guY87x)=~HEtUeq_`FM$T}ezZqpmO@s*}76 z8O@ecP`D#u)Be_43KD*cRxVs2=mVWaFaKK5PezPwY04}2 zjnQ}aH>s-~<3lxGq-Ig{#~QEcF+KW(-dKCOqU?nW&u*nMnSKY0!OY|=lIvSX#w`%3 z6XWM6LFegzLVw@BSzmq*rnh~~S(P~0)Q+p6;av8C3irRz2OTI*U@|c(Xl|ne-z|Yo_Rb`RGy)@t z4yD}LvuDr8`#ZUGL$-2qbAMnheG7MIt`Rz=#av2YvF zA0DNGZND;uyo6g18lr(@IQVE+uAZH{`>7o}c8taAsaz|I$Tkq)nq~oOo;cBhOw>G1 z-a`M|Lu+O&lV$rycWVwSz-CO?QC8C1+B!Pvfu&3D?(YPWmc2@0_rH6$MGWx|fO%LR^DYzID`OpT9kZRuHs_*P&mJ{oCnZ+dzHU`0d-bdmv*aK!f7U zMGltYL>k;`>^b5H5qIo@N@nRR;S6e2D>UE$HX>sBp9G1fPM+nv<#w z@{Td;M~{)e&L9^TO!Pn!fBuEBe)7Mg#uQpG-hC<`>JR_1+$I22C4;2;iVfGAykmR= z!2WoCF@|#L8-j-9;^f2wcaP6@6K31I`6l{HQwV!*BGLab4e47n$??U zacS~y;L=U-Jc&#wDg0KeqKb+zNC?fU^5?}H3?OGe?6ao-27op;oKhmF&!F|MVyL`2 zQHXX0R>A=q_VJ0cpxZwN!i=;n!jK^`RO%0P5kh|aI2mFi8sCdF+J287W7IAa#-fp1 z*d`={h@@mf=TDuA@lNdnBOqPf4ORg3^a2b^zx>>2%MDP;{|a!;?5|G~L56_9v&IY4 zcTk3YdJrWN=+5MyU?aDSv5v5HnM*EhSZ+$~%?ag8#!!oc*il(oSgUheD;BJa0<>7lnW+}iD`WNFp9KjU z!;K);Pau=oeFHheoSx4E{fJT#y0tcP!^~NR>QNs^3Fpej&JtC^nJ&m?kThgZo%#b2 zLcT$LCqn(}xuT!+tfxtS&jcD_Rm6b`M>K79jL0x5E^p;P90d3m3lG%5PXL^&Iq!@^4bG0rt76E#;ligjTzuFaQ#PgIq4VI=~SSkMI% zs-c=lCmW&}PyYpZSJC!9KIBiwabz<2fH*7zxP=Flr9VBioWd+1;G2E-sL9 z)FPszHNewvVDVwloSQ>3XZo1*9#9^p-}a*tZ0?6rf3l~Wd$3sdSYwZ z#BT^bO3lhVzhQQXRNRtT_2dOEYpjf)Ek02q9{qUK)D{ z5swY);IhPbjOWizy}T)Pw<2+qvWjMZ1ne-$V!dI~$4)BRsnTHtc$u~`1wlKO-37N< zecA<5*W9Y=e^7>U&_}(M1Sx{YYz*NGllnhO9Cg@o3drd32O%cIKg&!G0HuYbyh0Li z_*oQ^6pr{fGc%JX&G@m}i!*o{iKcvvxerh7C8OzUjKccx zbbOzg;2qN_2D)LJ%XOk?m0E1RbQ%Wd8)JLO`?BQGt}(Z-<^BgAl5d~miT~odN9>j< z_n74cJG~jc*6|EJy(9QCskwDdhTquSc42YNAT8;=-&Uwj*teCH!r_(B4#eRjK({Jr>z7Rbf7CP}OaqwX&*Deq&oIRduYx*)m{db|0Tf zS6uTFV*K)ZZt@Lebi)m}+EHmioi}m4XX2V?Ug|`I@6QVkKCi&Dxy{#It4u#b7v4L! zrm8xw3RnBFi^Kf2=|Ut__&TumN9RI2hF_e*n_?rNl13d}-5vWG!-4aKll~pmwBkX& zDi~({o6~Xr$Rv^JOCpr(8t4z*-A1ECbmcFQN~r7ty2)< zY*a7bq7)n|e!l0mcDMDV3;OiUPY;IAJ%eN3rD)r`sED5VQ`4W}^>Y05^ctB(pRaEb zW1YC~=#f3q-&CUSmxOXc!&J}F6ZF;n&;{E2%h0b~QwY?=?(9%xz+Ol|9Tf>z^J2XU zed4wIe1{b!we<1n0ikHdQp3i`o38D%I;+9M-`!0wX2yIRC#@hkA71oa=r4^@jy@o& z%Sxy7IjKOO!&I`v-n==T*!~R}rDClTqIbR4c)a% zJOCFJERs!*|LkGU2-;(QQQZ)70MOhZNJvN1Atl)iwg$six^@SvavH#-EOZ|PKr zD8?@6=e8WM_^A9*$U6*b6NUA1K(q+x{sp!eC`J|^=m3P5e$vHotta7ET!OQ{I2!g9 zzPYPF(K-=7$q4SbVdAq^!%71pPaeYUP0l;8RkH{3I&ic-cbD8QsO#wyFC|kSDRKRE z5eLU1sza+4jbY?~jW^UA#JfjCC!)$cpzt9GE zJ=SPIYYxoMS3xCRB=kP0Hu67hVu5wpG={ZnifYch^!S({rmg6G{)i2e~AKU-*su*|N)nj9=WJNX)x51qGnH;r^= zQLo=&bJMM{Y^b&jdY?8GEHQGZY#AO|TeOq5E%J}N6wnCJ)?uCDhWPirAQ4N=BcVYb z_QO9+3gXgY2%K)xWt@4B^<_nsnifbvdmevqLF%44bLJiviGRikbtOWlF1RvQUq|ju z{7@YTv+=)mvCNln)KJ09&1SRuR)I)gll`aJbzIH!2~WfQXI$G9m85GIy{?%Y!M>|@ zydiRi4Hc{3+9ZKKBYe*K!#@4GQRT%6&bdXTg)*&!%Au3h#fV_A9fTeJN9b>jf>3*V zdkc8#>w_WG=2te?Esh%6ks^yv31H&j!a%vuZb)@4lj|C=uTyb@F}FHN3W~UVWPjw9 zl|RbrDC=uKsmgox9#X`Hyr^3GECw0JgEc}L#bLNwG16~+Wfs}H z84dlwd9@`fB5I)C2u=^6kF z?%gKJy2n(Gn+?u)Xug@FeAq9{8|TqL@p@b8*fYKu68-K?v4C)&Gv={4w1+DR?R5V1 zu}hck?=K20+I`LM-S)t&&+04^Pe@|Htbw7yM^Ux`yW7J(6pF1TeOyGtj4#a)I+aJ3d5>awlBiaOQ z?T_l!gS|k5gu#aDWgL%B{!fS4?uCZ0pr)Wsak%#ZDDWw?8{)Hz;5!Pf-4xZ!aCQ>& z1KFdw8@=}vb=JwAzE*LX^wjAXH+zLQyUhZZYr@(`#mTv?O~@83DIsF)3XuJm=2KY@g=Zt!HnbQ-*ZnnOf3$uO(pzq}LstvpVr>mX-AB+uqllo`LW5 zc@2Os7YRYnL@srm{qpv0c+(7#+`5QN+Y4Dd{dY#`l%leOkD$SQkngq&>b|Q!uU$c( z1~l^ll#}21TO$Se;(%POuu&lMWYpk@8AizcOkeO|Y(vv_H(IbLjN$qeV>YFSIGHOt zBDFCRq{ZM&ew zBWmLW{hFG+?xJvsTp*uQ@;|bDj|}E4lTlQu8M3WAnzSf!}B`1u%c9)Jv{V{Zjhy-!iRk? zw`Wwh%TdnAD3f#*yl2<}4e(s7=nD*k-1tKMJ~RmjZ+x%(h{KnTZ#YXjMMs~g>qrZ^01FlPK(tB5za8_DD=BSAVJ znlQ&HxB0>>r8baL)y1&UwKeZiqDkLRnP4_`Zj5<9$dP9MDUbr_2Efhz5PU{){;ttW z{Z%8g!M&6>zuYux11f%VJ=ohTsJ~cIG!V0$%IqMuuIz$BzJbzd&f>7&Lcc7SYEl9^ zOJF~rsx4QqtJ8HXQ4`>-C%NAcDRB$p~K|U7fLHuF8t~>p9(FFSHoS_lAd&uHbcIhQPRB=U^yjyc*YaPXERY zgXUMq48`?t=&V^<8~16I`HZq;x`-F@97A`h-!P2RK5;x%`{|oE^;c%ZSy8`K`J>+Z z!s0A9pvNGytZ%}UG3R#7(L z3v0!e%1g6Po$Sy0W(@(@!6;R&PIv62tH@4GbJ{Y6bONEi&Gu<&9lP^5G$i@@Wp&s$ zNyE6Z`hB<9s*k2+$0dAr>iQB?mwiy*PN)8g><#1B(Dt{bq)CU8x8e<7@gPioT2pNq zP#xbYnA{OHEU2{L$DmsgvQvN$s618^)qU=$5VwunE>2#JC$4Zqp>uki;V;GZhc^P; zYfdz=Hshoh7~Z&Xgjj5nWkb1+sRAOr#u0N4L>j#c$%3;IpNt>Ll54%@R}+Z}%S`|KSYcn5+a}$`SKc$u zarT_1CT3#WK2yv2)?EVey>F+5c#$R6XUOwCX6mk!`VbnBuc-p?gH16wEjob36g7I zWGArkFAY$}U<<$`9p0}E_3PzA&scE28mPZEn5425kjhJY&Yn9rsdb9EKDTH`MG`jD zcTD665dQR|z8jpp_lnjWB2r5l_MGYbGoY_-e7-aA7Z>q8q8=c^{y;#*6G_oqp zCn%VZUsS7kG4r~PrGM*Af<&LywlBeT!)c_un>&|LiV@6Z4D3X?>N4{Ewh>36vy88| zI3b7Iw?Wm=fv8jelJM=ij{d5_MpT7`)60P&cKIZZ(I<74J5h>d&&r-|jnx*o^=y?b zzPvSNwZfmd_&>#A;VEWhz2$%`YW9{Wz}FO^1+pP@e~Fo_k~N_IN6KL91hdndOJ(y# z@PeI4JYzOzqj|9C!ZBjQl9Xptp-Hn4a@jY4vDYoxX~e@cN=R{P&I6Rf)-_`YhLeJK zBQ}nUK&|_63Lm4GJ2 zkv}h8x|E@}xZU5Rass^E&-wVcAZKe~)yTI>r}T^rPAbi&KuFOM_JWYh*az`z#^ozC z%ABy~e0}n6h3HU#6VcZ`-zcHteOST7YMFs)Vg-4x_&N4m-zxi{AY^v1%dOnP8!DIv zDOYo4(FzYEqwX6U(T*GZdGoH=Kn*!9bu$a8g$9+AY-Uy`HSe@qq*pivN`Z$g><3pS z>nx6&AuJN#Yg(@`&l6&FOi15!$>XjTh-4vgmx9*2H`Q0R4w{JQk6Uq0@X>=|GF30AacSoilOlalw-ENvJ9~n+E@F=7{ zJIJ12W-QrL?=X^KeJyO8NNmyk3*f&kecuu2*Ownqqp2*oz+4DaTeM%zgp@Q;F5dwU zdU=k0d|G)0)ldT39iQI6zc@qnK&IwN zrfsvxfPs}2-g$GKp+g;RwVUsy%sTSpN@{5CTXG+F>ln)|oP29=#e;gGu7+#rZpMq( zg&Cs`tNh}T60PZR1ye>(`+}@X6K)x6NsnDg>pW9l%5Y(SDf%4I`k>Na!??4~>F#2l zpW=}t7G;=%UV3n9k+R7Kz4;vBnx>P2zKd(#0*!oXKtj`6r#oZW(Ofby_G0stzMt{& z$?p!Q_z_99$kUbbx777|8pQ!U@ae`8GbFBzF z`gcLY&*3v0E~qv}dla+b!Z`v$uiAH*y*e3Gux6^ohA^9QB*J%P4SU;_G0zQ10An5i zSZ>VS(<5gFlMM2V8m{DaxfF$&d#$`!jjJ(ed+H&?0m-j@Yw8Lc5w;tgI@CD#W?bA~ zQJ^)h;J}q$$<+AB+MYBW=yhT9?Y{~I(r&!3i1>fld&{_}w!Q&$6M_jUDhdcHB~pTf zGzK6bAl;#WsFZXwqaHb z91hIhd#&|f|E^_9u0s!1vl@53x?O&!=|p@=ntq@$rWf@~eYW40wLncOzZ+ek$9^Zj zxc%p%?25;zDImK{Y_J4(R*sRCr}(fk-|#HoaLEICQfX-CwZ98^MlDIDr#O(_fT!D% z^#lR#PJtZVzwKEnaUe%p8;QnHiGM!yXxn5Z1Qa;*(m@nCmBK*y0v zcXzLy>fTZkKGc_xf@fW9V;^<81oi02{}k7u%R^W3 zud<(Nr$8EoquNS%E#$*!l*DaP&#f>zr#1IDu{TKhNbW;+Tk_oao?69{r<&Z%Il|iV zWApl+brf?SSmick(WyMki*96mYtX8Vj=okV0~_J z`K63{5C-i#D3qN1A&isBSU*H9q@nMHkw>|;KZ{Gdm5ne%Z)w5Ix72i6;rB%qY@Ety z3TGgl_aXV@C+h(N2`MPhx=*Vn**?Mkk zv1_T?Ppj)HtQ_v%b1NMeGv)8<<^}emo^x;d^yUW--{UY`Oq=qM^0C}kmtq$+6{tA! z>N|JmWqbfPcFWDrU+bf%XGW2($K>#+-%P>Rw&?Wqljf$07pKxVQ8}f7wztENY_ea( z{nhJ{a7#@;EVK=b&RwgZoaS)IW)CIC1(Km=29n4*gErr7TqyUXABc}S0c3p}Fo8?} zYv30YJn8xdo1&zoR0nJDSz@L$eb<1;V6C_bcN~fw2D*Fm)}hzHeArTJGbR}bQ(}1o z_85(_Zn$3|1o=O-ENtlt>Xmn$EWuklxLDcbq;)5&8fByv9MfzhTrLYcxzg34q)`AH2g4j0;(3!&GVS=Ma^(~&KRjBLzjyUJi6~6^9fl)ajp*Dq= z6Bbf{wO%^nj1`PpV_|hG-Ml&%W+qc0rWCTLe2Qim!Quy489?9JI1WiJ)-uC-arGoX zw;T2M^Y}$X&bUTnXMqp=8_Y4YgiT{~g!_Pxu=Gb0)Z8$Gpszw?0O~Sr12Uf_Mj5!0 z;#8&+E^9`Xsb?OdPtYgJh%k&d-|!1q`FX`hItLhLnd$B1NIpC9?97wS=n(7qjoMLr zYnHdQ-Q>@l=bSz}qGEbSe!g&bMoShRf=)J^|0$69Vf3d+X~?v*dB$i#7NVhassNjC zk~=Q{E&70>c2%)QZ-KA0V2)(^EgBM&hs8pV9sLZ}c#Og_?%r?Mv|hVHf6^&KxwEwN zd`Uz9K62y^qkx)qla*sGQ6go@I~t*RV3k$$QWV9Im?YbfF*t^NK5beqN?J*k+0R^A zS0`V0Kko^qF~I3j`Dv(dcohS%%W?}CDH)i1~paXJ!CJiP}ZKyrn8IC8!@{39}yq+b>L^30j+Uwr$>#SSb5V z9z`Z!j+-yN0YX75&FIZa7nVCLjS1z~+jNZN-0#&o>Lo&t@83_l1Oa2N9WgcnT*{o# z^6?#;0}%*ie*q4dSKI7m3Rez(e)~+yPRw~$@a!m5IJJr~B9&g6K{Nqhrld`|lO*3(Qrxg*!y4#c zQpQ#9l-zdnK_Q=dvMotZ_K(F!ii_>1xw-~cF(bSgM^=UepC_o0m?Q;~#It_P6HDQJ zC%EBO=liH!#-?ql2UWH*oI{cIjIxikva9uAB2WS7@Nb(#R*dJIGDe3}t|vZ5?Ga+h z6QHymiwEqb99DLL*4q>#hF#=90z-|3)GQ!pR2Dit;AluK-e>6qQYoKcf&%vOkybX6 z17EWeo*wFwv2c3&Aq*^HuI-mVR7tuuNqldeXBZ9EQxz4xB2evWRM_L0(wkwwa&KmM zO$XBX#zELByEyvl$EcHX`pc+ir+Vj4K(p@aOFvCGTK&l@Cj=p-#b>4!Cc;CXp9Cq$veR6Dc zwt%ccrVlMwTWwcVv*yU?1`VeaXt^SM$!PYwpTj zXP|E{#ubK5GGb@0=dykC(~tF>nNsIvOzSW#I57X{TSng@z`t^rJVieQu0+nw7>|!~ zL-`^rs(k&KMe>Dn`onUpf14DY!1db=0pFk{$a4qQAPF6jklxk}xm*AlGvuco!(m}@ z6>LIZPme)7n!+0t(TOYs^ZBgkK^@;G5H_ThvdKh28c5HU*u6#)|MG-Wlzv94<*Z7P z1DL71b@NF}{4KPEHE?>_hE5Z@W^51)X(A1cJnt1V1rGK(n-{S4==(09-{fos)Vv>kC9^;W`2jZvar$AER$3{_EImsUB9Qk_#j+VufN((1L zCBP>Oo14H%AjJ$#KQSzGRsAuM|1q^|bzDVLQ$D%X9^|N0#tEDDij!8hlU4!`l2|Ok z?}7zT7{5qVlXRRxKgJx()Y6Q(l*;^lsb8r$VKG zQ-O;26Bju1H9sEtmB1IZ-Z;CWDv;9sER??heMx>RO8m==W|UMEITG4=H9u4abSYH1LMm;DJpkz&G#kR6%OOCT4?tEtzpya- zgrgoCJG+-Z0eqUfyX%dPjutiWn)0|blS!k|L~Cv6s)WSZF<2!b*_(gK8o9egDa#_2U zgRGm)RxXNuZUsW~ewPw5y2CY{*^kJE)ZbfMoVGc2GsA7>WQ(=`C!@oVjM)ve8~$Fx zspz4fz|j2g&6uXO-THHdVN~mE0_yR83ba;RSFKte;%StSRR5%2d7c2;yo${}fXzY8 zaoqu}e(B{YVM$>Qw^F_4S&haA*X^AV5ooN8N{0a%$+_Raag0uS7)u6xp&b_?s}Z5f zZJjS#7V7vC6&DwNh?b|eGta{O{(V^>Tv>so@dju>ZsYHKzCG!`K`p@o9H#b*zvM-n zCf|TyA$;w~=jVs`L2rZgC6jbo>@09#W7zeNKn=u!e&F6b0S8Y?GC{x<2rJ6-(1}je z^=~|+UDPS4)Ccae_Qla=j)oe7s`N5%!yLs|(^-m(zO3DPh^nVGb1FE;i8HVJc%b`b z9pRm@c_&?wOkx6yM%}M4*6`TwD8`&3TDQTRj(HCBO09_OV_DMqR1C0bb&E=7k9O;<~ zcUgHw3`2_=#yTlnyM@?gXQl2ZZAFN*pq%@~COlK)8Z3_mRt_(-LH@4$XPAgzKR zdN>+OIxYlRoggW^0tsA@-gZG|9)lghG(fuY0P$HjsS=fo$~_PuuJl?XQJ>N_qbu5A zY&NH@jl0IDKtiG^|7Nd8PD#E#${+!Um6JdDeo)gY^H%CxEc@#;hp7&uBan<9t~lUf zW6p@OY8HJ?7cZN8`71}4hEc7O(T8gJrC}@gGg&XSJW$h$?)y5k!bXe+5v*O0igK$! z#;8yw(0E}-FYM~gIVTIJm?)*w143Dd0~!Gb0aW*u6yvjC1L?YBHktIX*JnFxyL%RY zHVmbvTNR0$+gjYPcTRpQq9iYG%O4lIKLW4vY4NW6iD@&xy{!qxJsq zL!0ovtM9u1?0VCxP>Yb_hI)T0ycI1b29)aRDuXcB))>6hjf#L{w~%vxHPZwbS` zR~^$REZ{lg(>jFW3>@ZG(Z&?>xJj6MbayV^lUH>}Q+qV2KX)tT)iJ?A28C+%lJpa3 z197b^O5|q0rGrvfn^}ysARC7SZ=jxP{j+afxtHX-^?B#YeYzI)o>k^fl6=U&hY%Zj zpb;KeVqD5i&v{05xN)u+kJl{N%>@976lgtrrjXe%Gr^EtM8li+mPpuX{rfT3%Yk1d>W8cN0M(PV2<-rvp%fbK!f9u2(}F zB_L_K-aY3c{RgGau7w<`uHLW)HF+VwsoaV}o~bI-n?eJ2Wg%)bQDV$u8g-w|x>%+mtnTl&T2_55p4}AC5o06VPE9)>b)5Id;QttT=4Kr*Pem)Y@ zXXUUyQ7)_#mu+1Z$Nv}e@LI^s{52XV~JgM~VBOu38 z5T|lJW|BpYj3xyj>J@}p%u*3(G?PKBoU;H*Gsff*D-DBUuI#WTF&%gTe8C`Y#tVW;thIDd-vfI>mqVwFqeB`f=7z1%0 z8c4JX0iyToBXvO07InG=LXCTnYqo$5004X7JA!q;ThO+;eJx-I;M&00`bRQAHnxc* z-f%}J$L}n;$onvWayAfxAng3tp1B7>fJyeb5!G7JX}pg*COCO`v4GD~ke&h+5LKLDv57b7A0aunx3Us>UI4nj z9f{!%h!n(Y0N7_?Bme~+kKNrP|JYt@Q!4Q2W8aT>@SC{IBqV!3EL|Xystm3O1$#2Q_>CgSq5C6NG*WG&n(5uUxqS zk`tcVsKdD=|CgQgrUuS4^7S)t(pAtOpfgON1u)$~Zz_;l2=5z}JD?x)r+-|9PoUqs zN~e4mv_b$oY>0|~;Ezq)EC}*CkxJ7ZDp9%{kYlvX=iL}cOg2e(c+DO}$Uj@}U?Z?l z0dwcx1#&tQB-%>||6}mpbQ+-eTO)rXZs+ds|I5yT{r%$sc%L1lgDqefk3e$>Jt9fm zA6HOnX8mTMAm1~3cL32E1c;EfP6&{k+naV*BM&6*G^ruCllptwGY;mQJH%P!T!jF} z4mTeE2Tef&z@EmBj)87YU~?7!FMIV2%nzY@ZdaiI(h&1V5E6G7y{!-YpgSDzyZHZ! zAN(&c%IqeSPW}f+ee8U6@A>6Y|EK2*(L!{XqCW)^{jq=0*#Ev0uw>r@?YPu$LGQnd z3oL(tfOvjK88%|r<{aRYmaeh4cIuWyL~|ot?w}K!7I;$9I$l7(-5d z-F?b4YDiG&&_5Dj0r~%v<^C@q{{Q6S|G-V;fAD+2^+_w8H)m`S^`}h%=iB>e51j%D ztlNaTw>f}NyWp(u6Nr>`(v2sm5t7=hrr-vb1MF zq0XN}fx8X)rZ6?x6i@J=%^55#cIg(LK}PN&Vt{chT+igT(xyG~3xvoH^v(o%hg<0e`Ejr}H90)V_D8hPVJ;&~73-c>0K>KW}twoS)v z%W!trKXHQvTAoB>@EK*G>dPLtXzqp^2_MnMY-l!z|F&~s z4a*omslB*Z&s#rIA3m~zHD(7xZ_k-(N9Ws_Gc)7~Z*&!{@f+i>qtj@jASDu1l3z1E_4jQcl_HI_(x`OjrX4@kF54)- zOo~6^Zu==RbIOW^tx?5GKOi7ea6%N{j7obbGyKA z42H7%ldH`@rZuR1Vqw7Qxu%PpVWR6mq~8^Zoq0M|ts~70E?)jaL0~umW56~J;DDYl z$bJ6HmoH99AnB0*IDKf2nL^T!&PD_68q&)2+f_cRl9DHAK~Uzbo>pklLS!%lZEqFU ztiVn+AWK!2CB^Ae6V22lEJoa~{jFP29oz%>)_w@z^_LpeOpndut2{Ig))kpS`;e&t z5wYDb>6$lR$t(OU3IeI^fs)25-?Ar45`DFdn4Ry)0to!ia9*|?g&tqN%%voIdfmXu-$NpUuWApx@Sbz52=zRkny_>2lc-yaNM zqfo{1h!^hOhjIm6u7&*=GkZ9jz_rg?qCGC~dtbo>tyxM{oa+C&zwyRPN1<76Zqpl~ zkoAKyrKS&wBqp@qHKB;Gg}bdB0WE*Me^xQe*oR8`c72)Zt&{-Q()p#J+O6i^+*hJw zr^$E%nL=?l1Q7tkm$ue>Ex7vfpx-Ub~A#d)9 zdhzjJQa6fIbhep`ToFNJ7F)Qeo|2o({>zDqzNCNkXZeR5)z-1zkqb~6X3{Q?W30*W z2ji=0eM1BNs~rAR=yW5x@{C0{Tct45Pm$Sk+`@HL&4f(Eol_t`S&rSTZ#}xXfgd5o z4p8xTDki9a0s1oh238l0hk92?OoUh!fa^Q4EhmyL^ZY( z!KWxe==&s!PTlOHl_-fVpsNdhU)3MhiF(J$0`y`D#ZT=IuD#h%)6k?JGHe%Rd3wL1 zquFh?ADyH9J|!e3T1m3ZN&38;DEs}GX`$pGMJ`bthlXS38YsP_Rm=Rp4$okG24#~E zCn?2=MW^=!T}_ksBsv8LIAX2+!jHGF+uj^yc9GXA*3Z2mXQ@KY5ScDwon=j8vO!X( zhatY}W~DDy&wZB2Ph_jF$s`nUbv@6fafyz&g&RruoYvPYeEb4 z5tEae{Odm_{$n@s|J=>?+fYQ*M{*7Dy3dM0k^9Xk7SB) zeHm`o=dwJ`lrEl}Bihd^p>=@9=XlbXB;UOa#vA;z=XI>6a@koegT^T&jXeB}R-bZR zLTmRPzbcky@O%Bm#y=?(OIVZR|=A8sVoc7WQ`wDg1tf=MI(Sv)Bl3bngQAKl&IwKC5xc4(0Pj;8v+)#n5uV3sycxXxz6Ag>UN_p#AY|Agc!}J~4 z$OYKF(Y1yqgc!JIcoDy^d`koUqSi2YUTY6e266Zqdu+1cKB=^q!HaJ>T{9Rgh4r&HC*nEe7iB;8b;LbWHcgr0u=l7o~%HH`_&uzDm&m+YEp z3Co3~S{0Y|GY5jT(t^+_wEehtMqgcb2}9>Q2`taB$@ zs_ciwIV|syJo634MqwDYSwY-Zu=B{fWTUXees@(WqH&Yrc$NzTCAel4*PtjB#w4+c z=<=Tapx9J5>R=pdD=xtujF{uWeRGjgE2zP^gnJH8JnZzGOo4Kp95m>vqTlRMHl-XQ};~n==qFpgD!K@C=?w( zBl`96Ti@3TA8F5|A-WApJIRq}1n;}s+*MU`m}OF-&+wdSj(8y0#K|tgZR87OpwG6` zBn69z$BC%_qCJ~c++eGPy{VbZV(sGJ6(3fTcI~QmX9E9)C7+;a?nUV~4i5q)lGgnE zJ;}G1H9b<}+}cA9n-(CFxh~1wM)PTzb69{PE|gcj_fMDSY6rG55zY3W<0h7_3)gM2 z=fda$^a!emdpQ@WC6-^oS*kWggA^j}%O86jnj{uGOoQthsfeF}dNUBuAwewhTnY~# zS(54s%_FY+rPXeGNY7nuzcmNLR5&&^^8kTvh8`p{KS!<%U60rO2TBSClMM9S{O)Mq z6Cd!Xy)yL(iHW0uV@*xnx39NYo7IE#Rg^6Gpy(^l-ER19VBZy$T4&CHh`f-N?-T`v z*}3CcUV#kZuYWxrF{`*4W2tIdZAlx}!jX)vBH+HWa-wO2*d)ICUQ<@o>X#Hw!cxyL zjCw#3F#^50E;^$%JOX7es>ZpUo_+c-?4l*C=Z zzT5TVnj)0<2go}Y3K3vkguDw5#-r|B{8a>3VSz&L=5U}ABZabMy@k^;&5pmeOQMc4 zELpq9b!{Y!%{P@K7gk)nFoP+-OvUyOjvgrjF))UJUT0k&f)x3Wg})v*X-n~Z#;2Lv zUSoL!Ivpg|`?URKi7aRGTp*~U?9&60rJfgOZR<+V(_i6Q)ZIo7IFE!6s`*U%v*2##y{}`6b0OEY4MHJuNbv2HX*GvP&iT3 zJy&=NO66Y5+alh4%gS-#P7G8lW+>!cyzxaFpK|gF`N1=kahF8 z{f1eGx&9B3rcvRQd5lzcHthL(HbtI$)sxV?P#qQfB(JER6cl}{s6x=rt)>BerQ*h^ z(e$`0%!h0<2(hx+=*Pnin|J$}W&soi;6}=pl>0w2T;ueTJD&F>{1pO(UgJI2RA%nv3KGV_f6RVgr$v zX1Vn`(}h3O>EHY2Or7 z-3Uv}%SgiJT@fQ1cTL_92AfNh45uY|I#X--rHGT=kcHBm!;E!!DMIm~X0CSsJzq$P z&t%z1_a~1i0^jlR3${dG2_Vf}5_Jf8?z3WXjJqJ&Nu-EDStr2tFkP1)T z7$To@&2x=aWFvz%DrjNbz}RRC(Z}Im&8^xuuXRm%5PR05!U=VnTNdlHDg;lW-74c0 z6LHg+d?mj*`A@rMTi<3eUn1VjLp8X&mLW+i*W(v-m=m!^u!0~YSzXiVZ7v#*DRZ0<>HgTXA2Ke<@4XCpKAQ3$sqp}x zf=q~s9}d?fB$m(rCo>61$&fO_#6VXWDi0v=q_g-(syuoaK zdX{NJvh}l_)_NFIPD4sGY*wN1`s+`Li)p7NG5N-(cBNebiU{#NHf(xK{{58U4gV{Y z$Y%>(SmyAMXd$*6BUmmjg-4C6Is7%8XefwnMyjU%XT*q5<>W1pxJJ{tTF&;w>RK4v zZ1^-%guF~9wxA$Lb%*=rT(H>f;-ZpNG!A-dC_tz!TW7dh&di@iVqgVa?B< zr>(S3*$61F!0KtzE89hy&;ej}Gq}@}_ zyq#Xpvithu>-`!dD}ezIlg{0F?HiBq?k@N)U&m-KxvzN*x}2uazO`^OX;6^oQj$Kc zu~*hihMz;Rf9~Z6?u={Rh4%XWE?!;7SG=@F5f(&KtV-=?YqS=q&x&>m0MQc==fQyP z)T&JD?-?XLi?-I@+C}vn@UXA-I0TLU?pH|Alm1o}Dehp2)d((L z-g@x=GaGtFZX+k%wiaqwU*s*Xw&_6;iox<<9nZcM z#i|Z|%d_0g1t?yz(UBDl&WfssE{E6G{-x$tL3XUPsm)BlN<8`e=B?~W4~t33tkfF% z0EM6HP0TcXv8Dr2ulG6p6xJg)4c=QmRa4mrfFGVhweopQjNGd_DUGb^^~0JbLtvP0 zxzT0?YbR86r>h!ko$_uf8nHDP&AOs|uuOM!&IRu50fYVI!F|5{d>0m64c_QWUR3d1 zQAfp87!iQqOI`8^h{bT6@*jcbYhN>8GX{lmBlN^&&bRm}B{y6FHp)97+}OkLKG9vh zVnGG7xBzzG?Dh`OR?P3y=IaHGkvKq4-PorU7I9u$74y$|YiU%(2Pc=d5qvmUYIb9R zB%VenZu1dvXf%vf&@H#h#Qo_>+Qwh4=U!jzdsbP*4TGYX3xUa7i9F0MP}k*&ng02J zwVD17OK5?&vOg#;XRaIk=5(>_jT5-~+V+ErHd~pU> zFT?&Lw=>ub1up(`gM)l6;52D9ACNeTI{sf^7-DcK|i6cXwm1h%tYHhBa^0^%+ z_UaK}>LDL~wWILf#8!3ih+_Z7SQ5s2M4!k-T%ea)UGUpM^T(^dLR1ta<7_9xDzeHJ{eCUsUK|?$ z;5`rcM1#=<8fD_du)Z5=Xz$|tbA zMyT(TQnwc5n%oFoL&32j;J4Z=<6rF<=qc=1Tn*?Z2+`us8iS)$v^+Wp0kqzm`MWX6^aPMM=o*r zbdzs_#vt~nw|-IgM3O=8m3;rBhTlOsSbbfOU8{%iWftH35r^E!02zA2r9Ny>YG8tl z;qfGO$}c%78*x&qUe?2f?AIuA4&@#dQ9IjQ?xd0Xg(>`b%Nwq*KohLBZeyYj{PuLD zz*+_1v%!YZtlzJJW1a2p#WA&2k1UJ(N#TaFGnG&`_xw>*Z?e zkXGs|W8scB+q}bHMpbhCehu_^Y0ef!+#18yBM3`Vz&C#V-O=R_WYVpK!5XRXY3&MT zjJF+j1-rFTWvILU&E*%9_tuh-(HZC`Y*(#<_U9v@+nqJeF4k@I3=nY6TRH%?V%k_$spcjrkqVdC ziv!q(nN<(yGx3VEFc0g+bbkkFB%}5sbqz{&u3V2q4%p89#GGg4NpUR1VbgqJM(js- zrMw#Wvosy>XIfB+{0uopOGepO85C>Z)L&ImIUE`{H?EO5c16`!$R{L$67OJRq!s@B zqu`=LN0d#7RjN>sl|H;#s8ys{|Kw0tW`*LZjF#jtr$U+ANCsjYg82GB2MUAy%B8qk z*p+`AN=WppO8D#gc^H~7hk%jt7m=q7!+^K;-q zI2FW=OJnywhgd+X6ce_Hi)fWPV~K@lLPp0R0a*aqf>_s~1Go(=X104+Vzt9`5%7%m ztuRg!-|$T~c@}q<|bOQ&wm3r)|%RVagxV`L48|YV|(!5*jT(VnFbnkFrlU= zELlA^^xU?j%2i@F8ygml3129G^(Wbc|5zh3;fS53#PO1;&Bi5yWz%%0#PinZ-igLW zA;-czQR`&p`}bXXW@EMTl@js=RBv@%izWG=f#FNw2P zt+utbg<4Z(c}p4^8szJ&Om*oYv0P4HbeBv1b%XmNyBgXRFEd7rdj_L5rMHOeppZEDrr7F8a32T zT~NjSmb#i7>v`42+A>(*5+9vw9jM=pYMM#Xl<2d+Q4x9{dI0SoSuRAEbMwEwy}Y_w z{hW3yZ+-qGQPH4fF>hf5;dX7g54YACCk!g}Xbm1;YZR=cHFQ)x5+_nQDM1`+Sr3sS z)?5{GP8e?z5puo&3}GT4RfT|7l?BC}2$FNzs-T3edU|>~0a1Y<64n6*8?6STt-A|l zv=7epW28z-OX~?akOH6EWX--BS6)U8`-MkWAkT$$iG2vq#h;7BVCSQE!8Ae6uzW!+ zbSL#5lkLM=Bl@2F535aboS?@NbomIG^rLrZwD1@U2J~6i&LXqfYCBCwcWGlOSz%Krg;Qy|2buN_?yB<;MnS-p2={H(x^;Ot`^qd};C}Nj&^! z(Uc;SPEjZ@UJ`4W@0vhlSr!RMR#3!-XoZ2VO+fCHMmOk=W#BsayyfT5H~?k@gk2fb)d|md?qG~W zJq0Qjaaq-hKEXU27N&{Af}Zyw&%kgt} zG%1kjaui7Tjncp$hCUo@?_1>b9qgYPa?08qYgwn7>vnJYy`QNmX=$8deNh+!T4MTM3PTD=7qu>HypIXzyWGrW(T*fmHXd(hBsI6Rq-dyTv z(B}!Pu72_0!FuR}o*sq_rjp{(Ci%3zd6_?WaB*z8BGjP2yQAZDl#sPwP*Bh`(Woxs zs7VHHjyOZVu#WfI{?||J7Jh_xgifWjLGvqODzdF>$=YWt6;9GYv;7#%eX`1zF9!z) z$7g4Q8XJ{wNXHKyhIE7BZ8!q4rhtkk1+{Oxo1zEkbCs??EG+D#gsic#vGX#vwKW9a z4-@0tIBsbtrJ#UnVacVqVJ6Yid+w7rGvcTqD2qb~>d7&ctCGB*!--sidy#?-IZX1z zj~_CV;D-dj`_21F3qV^OAPpY6{RMjU2tL|DDN3m7Ijzz5`rf^JcT!3Vv|q96%I5&n zXwW+_hnWeTT+Cd*AQU(GJowL-g zKU6vEV~Nj)?9-j0h;$CVTF$Xyo|D^Ks;sQ6

o4)^?KE1=4AmrQ_58=YfB0Y-|iY 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 literal 0 HcmV?d00001 diff --git a/screenshots/get-connected-ios.png b/screenshots/get-connected-ios.png deleted file mode 100644 index 91a4ef9753402f13b32f18a0a021c686d9f0867f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301861 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ΝseESY%H5D;-CEB|Ps8=xJj6dD- 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 LvBR`OUcdhz;yB`E diff --git a/screenshots/get-connected-windows.png b/screenshots/get-connected-windows.png deleted file mode 100644 index 80754b2062f9e61fbb38acc79ed6f9d9ae2c11c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258376 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
P6D_ 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 o5bycqz3jZ#C;!*g=)`?t^8 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 Y-&j0+qn0CZyo7 Date: Fri, 21 Feb 2020 00:11:57 +1100 Subject: [PATCH 13/14] wip --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 82850fbc..0ed3e661 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,15 @@ auth: ![Sign In](./screenshots/signin.png) +## Roadmap + +- [ ] Implement administration features + - administration of all devices + - see when a device last connected + - see owns the device +- [ ] VPN network client isolation +- [ ] ??? PRs, feedback, suggestions welcome + ## Development The software is made up a Golang Server and React App. From 4488cec6210f0b347967eef80656527b12c7a179 Mon Sep 17 00:00:00 2001 From: James Batt Date: Fri, 21 Feb 2020 07:47:19 +1100 Subject: [PATCH 14/14] wip --- README.md | 37 ++++++++++++++++++++++++++++++++++++- internal/config/config.go | 3 +++ internal/dnsproxy/server.go | 10 +++++----- main.go | 2 +- 4 files changed, 45 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0ed3e661..009f4a21 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,34 @@ docker run \ place1/wg-access-server ``` -Here's an example showing the default values: +Here's and example showing the recommended config: + +```yaml +wireguard: + // The WireGuard PrivateKey + // You can generate this value using "$ wg genkey" + // If this value is empty then the server will use an in-memory + // generated key + privateKey: "" +// Auth configures optional authentication backends +// to controll access to the web ui. +// Devices will be managed on a per-user basis if any +// auth backends are configured. +// If no authentication backends are configured then +// the server will not require any authentication. +// It's recommended to make use of basic authentication +// or use an upstream HTTP proxy that enforces authentication +// Optional +auth: + // HTTP Basic Authentication + basic: + // Users is a list of htpasswd encoded username:password pairs + // supports BCrypt, Sha, Ssha, Md5 + // You can create a user using "htpasswd -nB " + users: [] +``` + +Here's an example showing the all config values: ```yaml loglevel: debug @@ -103,6 +130,14 @@ vpn: // network interface e.g. eth0 // Optional gatewayInterface: "" +dns: + // upstream DNS servers. + // that the server-side DNS proxy will forward requests to. + // By default /etc/resolv.conf will be used to find upstream + // DNS servers. + // Optional + upstream: + - "1.1.1.1" // Auth configures optional authentication backends // to controll access to the web ui. // Devices will be managed on a per-user basis if any diff --git a/internal/config/config.go b/internal/config/config.go index 154b3290..fb04c44a 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -61,6 +61,9 @@ type AppConfig struct { // to the outside internet GatewayInterface string `yaml:"gatewayInterface"` } + DNS struct { + Upstream []string `yaml:"upstream"` + } `yaml:"dns"` // Auth configures optional authentication backends // to controll access to the web ui. // Devices will be managed on a per-user basis if any diff --git a/internal/dnsproxy/server.go b/internal/dnsproxy/server.go index aec7f107..eb98e711 100644 --- a/internal/dnsproxy/server.go +++ b/internal/dnsproxy/server.go @@ -22,12 +22,12 @@ type DNSServer struct { upstream []string } -func New() (*DNSServer, error) { +func New(upstream []string) (*DNSServer, error) { - upstream := []string{} - - if r, err := resolvconf.Get(); err == nil { - upstream = resolvconf.GetNameservers(r.Content, types.IPv4) + if len(upstream) == 0 { + if r, err := resolvconf.Get(); err == nil { + upstream = resolvconf.GetNameservers(r.Content, types.IPv4) + } } if len(upstream) == 0 { diff --git a/main.go b/main.go index 31a44e2c..da02ac29 100644 --- a/main.go +++ b/main.go @@ -63,7 +63,7 @@ func main() { } // DNS Server - dns, err := dnsproxy.New() + dns, err := dnsproxy.New(conf.DNS.Upstream) if err != nil { logrus.Fatal(errors.Wrap(err, "failed to start dns server")) }