diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..541fd55
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+.licenses/** -diff linguist-generated=true
\ No newline at end of file
diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml
new file mode 100644
index 0000000..ae62613
--- /dev/null
+++ b/.github/workflows/licensed.yml
@@ -0,0 +1,20 @@
+name: Licensed
+
+on:
+  push: {branches: main}
+  pull_request: {branches: main}
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    name: Check licenses
+    steps:
+      - uses: actions/checkout@v2
+      - run: npm ci
+      - name: Install licensed
+        run: |
+          cd $RUNNER_TEMP
+          curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/2.12.2/licensed-2.12.2-linux-x64.tar.gz
+          sudo tar -xzf licensed.tar.gz
+          sudo mv licensed /usr/local/bin/licensed
+      - run: licensed status
\ No newline at end of file
diff --git a/.licensed.yml b/.licensed.yml
new file mode 100644
index 0000000..180cc58
--- /dev/null
+++ b/.licensed.yml
@@ -0,0 +1,16 @@
+sources:
+  npm: true
+
+allowed:
+  - apache-2.0
+  - bsd-2-clause
+  - bsd-3-clause
+  - isc
+  - mit
+  - cc0-1.0
+  - unlicense
+  - 0bsd
+
+reviewed:
+  npm:
+  - sax
\ No newline at end of file
diff --git a/.licenses/npm/@actions/cache.dep.yml b/.licenses/npm/@actions/cache.dep.yml
new file mode 100644
index 0000000..37b565e
Binary files /dev/null and b/.licenses/npm/@actions/cache.dep.yml differ
diff --git a/.licenses/npm/@actions/core.dep.yml b/.licenses/npm/@actions/core.dep.yml
new file mode 100644
index 0000000..6fe946d
Binary files /dev/null and b/.licenses/npm/@actions/core.dep.yml differ
diff --git a/.licenses/npm/@actions/exec.dep.yml b/.licenses/npm/@actions/exec.dep.yml
new file mode 100644
index 0000000..b1effd3
Binary files /dev/null and b/.licenses/npm/@actions/exec.dep.yml differ
diff --git a/.licenses/npm/@actions/glob.dep.yml b/.licenses/npm/@actions/glob.dep.yml
new file mode 100644
index 0000000..df7eaee
Binary files /dev/null and b/.licenses/npm/@actions/glob.dep.yml differ
diff --git a/.licenses/npm/@actions/http-client.dep.yml b/.licenses/npm/@actions/http-client.dep.yml
new file mode 100644
index 0000000..d18a24f
Binary files /dev/null and b/.licenses/npm/@actions/http-client.dep.yml differ
diff --git a/.licenses/npm/@actions/io.dep.yml b/.licenses/npm/@actions/io.dep.yml
new file mode 100644
index 0000000..a23d1af
Binary files /dev/null and b/.licenses/npm/@actions/io.dep.yml differ
diff --git a/.licenses/npm/@azure/abort-controller.dep.yml b/.licenses/npm/@azure/abort-controller.dep.yml
new file mode 100644
index 0000000..a77b873
Binary files /dev/null and b/.licenses/npm/@azure/abort-controller.dep.yml differ
diff --git a/.licenses/npm/@azure/core-asynciterator-polyfill.dep.yml b/.licenses/npm/@azure/core-asynciterator-polyfill.dep.yml
new file mode 100644
index 0000000..6e36cb3
Binary files /dev/null and b/.licenses/npm/@azure/core-asynciterator-polyfill.dep.yml differ
diff --git a/.licenses/npm/@azure/core-auth.dep.yml b/.licenses/npm/@azure/core-auth.dep.yml
new file mode 100644
index 0000000..cf8f4bd
Binary files /dev/null and b/.licenses/npm/@azure/core-auth.dep.yml differ
diff --git a/.licenses/npm/@azure/core-http.dep.yml b/.licenses/npm/@azure/core-http.dep.yml
new file mode 100644
index 0000000..a83956a
Binary files /dev/null and b/.licenses/npm/@azure/core-http.dep.yml differ
diff --git a/.licenses/npm/@azure/core-lro.dep.yml b/.licenses/npm/@azure/core-lro.dep.yml
new file mode 100644
index 0000000..56a8701
Binary files /dev/null and b/.licenses/npm/@azure/core-lro.dep.yml differ
diff --git a/.licenses/npm/@azure/core-paging.dep.yml b/.licenses/npm/@azure/core-paging.dep.yml
new file mode 100644
index 0000000..9ac34d2
Binary files /dev/null and b/.licenses/npm/@azure/core-paging.dep.yml differ
diff --git a/.licenses/npm/@azure/core-tracing.dep.yml b/.licenses/npm/@azure/core-tracing.dep.yml
new file mode 100644
index 0000000..eccbcc6
Binary files /dev/null and b/.licenses/npm/@azure/core-tracing.dep.yml differ
diff --git a/.licenses/npm/@azure/logger.dep.yml b/.licenses/npm/@azure/logger.dep.yml
new file mode 100644
index 0000000..1432c1f
Binary files /dev/null and b/.licenses/npm/@azure/logger.dep.yml differ
diff --git a/.licenses/npm/@azure/ms-rest-js.dep.yml b/.licenses/npm/@azure/ms-rest-js.dep.yml
new file mode 100644
index 0000000..4fbe7cd
Binary files /dev/null and b/.licenses/npm/@azure/ms-rest-js.dep.yml differ
diff --git a/.licenses/npm/@azure/storage-blob.dep.yml b/.licenses/npm/@azure/storage-blob.dep.yml
new file mode 100644
index 0000000..4f40fd4
Binary files /dev/null and b/.licenses/npm/@azure/storage-blob.dep.yml differ
diff --git a/.licenses/npm/@opencensus/web-types.dep.yml b/.licenses/npm/@opencensus/web-types.dep.yml
new file mode 100644
index 0000000..9c2ac25
Binary files /dev/null and b/.licenses/npm/@opencensus/web-types.dep.yml differ
diff --git a/.licenses/npm/@opentelemetry/api.dep.yml b/.licenses/npm/@opentelemetry/api.dep.yml
new file mode 100644
index 0000000..57831e3
Binary files /dev/null and b/.licenses/npm/@opentelemetry/api.dep.yml differ
diff --git a/.licenses/npm/@opentelemetry/context-base.dep.yml b/.licenses/npm/@opentelemetry/context-base.dep.yml
new file mode 100644
index 0000000..46bccdb
Binary files /dev/null and b/.licenses/npm/@opentelemetry/context-base.dep.yml differ
diff --git a/.licenses/npm/@types/node-fetch.dep.yml b/.licenses/npm/@types/node-fetch.dep.yml
new file mode 100644
index 0000000..ae6e370
Binary files /dev/null and b/.licenses/npm/@types/node-fetch.dep.yml differ
diff --git a/.licenses/npm/@types/node.dep.yml b/.licenses/npm/@types/node.dep.yml
new file mode 100644
index 0000000..90e5ac8
Binary files /dev/null and b/.licenses/npm/@types/node.dep.yml differ
diff --git a/.licenses/npm/@types/tunnel.dep.yml b/.licenses/npm/@types/tunnel.dep.yml
new file mode 100644
index 0000000..59643d4
Binary files /dev/null and b/.licenses/npm/@types/tunnel.dep.yml differ
diff --git a/.licenses/npm/abort-controller.dep.yml b/.licenses/npm/abort-controller.dep.yml
new file mode 100644
index 0000000..492a609
Binary files /dev/null and b/.licenses/npm/abort-controller.dep.yml differ
diff --git a/.licenses/npm/asynckit.dep.yml b/.licenses/npm/asynckit.dep.yml
new file mode 100644
index 0000000..905e0aa
Binary files /dev/null and b/.licenses/npm/asynckit.dep.yml differ
diff --git a/.licenses/npm/balanced-match.dep.yml b/.licenses/npm/balanced-match.dep.yml
new file mode 100644
index 0000000..1d768a8
Binary files /dev/null and b/.licenses/npm/balanced-match.dep.yml differ
diff --git a/.licenses/npm/brace-expansion.dep.yml b/.licenses/npm/brace-expansion.dep.yml
new file mode 100644
index 0000000..8fa6cfb
Binary files /dev/null and b/.licenses/npm/brace-expansion.dep.yml differ
diff --git a/.licenses/npm/combined-stream.dep.yml b/.licenses/npm/combined-stream.dep.yml
new file mode 100644
index 0000000..2b39215
Binary files /dev/null and b/.licenses/npm/combined-stream.dep.yml differ
diff --git a/.licenses/npm/concat-map.dep.yml b/.licenses/npm/concat-map.dep.yml
new file mode 100644
index 0000000..20216b9
Binary files /dev/null and b/.licenses/npm/concat-map.dep.yml differ
diff --git a/.licenses/npm/delayed-stream.dep.yml b/.licenses/npm/delayed-stream.dep.yml
new file mode 100644
index 0000000..1240121
Binary files /dev/null and b/.licenses/npm/delayed-stream.dep.yml differ
diff --git a/.licenses/npm/event-target-shim.dep.yml b/.licenses/npm/event-target-shim.dep.yml
new file mode 100644
index 0000000..7a3fc01
Binary files /dev/null and b/.licenses/npm/event-target-shim.dep.yml differ
diff --git a/.licenses/npm/events.dep.yml b/.licenses/npm/events.dep.yml
new file mode 100644
index 0000000..780d4ff
Binary files /dev/null and b/.licenses/npm/events.dep.yml differ
diff --git a/.licenses/npm/form-data-2.5.1.dep.yml b/.licenses/npm/form-data-2.5.1.dep.yml
new file mode 100644
index 0000000..000f222
Binary files /dev/null and b/.licenses/npm/form-data-2.5.1.dep.yml differ
diff --git a/.licenses/npm/form-data-3.0.0.dep.yml b/.licenses/npm/form-data-3.0.0.dep.yml
new file mode 100644
index 0000000..f0b0aa7
Binary files /dev/null and b/.licenses/npm/form-data-3.0.0.dep.yml differ
diff --git a/.licenses/npm/ip-regex.dep.yml b/.licenses/npm/ip-regex.dep.yml
new file mode 100644
index 0000000..95d4b6b
Binary files /dev/null and b/.licenses/npm/ip-regex.dep.yml differ
diff --git a/.licenses/npm/mime-db.dep.yml b/.licenses/npm/mime-db.dep.yml
new file mode 100644
index 0000000..beeb205
Binary files /dev/null and b/.licenses/npm/mime-db.dep.yml differ
diff --git a/.licenses/npm/mime-types.dep.yml b/.licenses/npm/mime-types.dep.yml
new file mode 100644
index 0000000..d63821d
Binary files /dev/null and b/.licenses/npm/mime-types.dep.yml differ
diff --git a/.licenses/npm/minimatch.dep.yml b/.licenses/npm/minimatch.dep.yml
new file mode 100644
index 0000000..317e4bc
Binary files /dev/null and b/.licenses/npm/minimatch.dep.yml differ
diff --git a/.licenses/npm/node-fetch.dep.yml b/.licenses/npm/node-fetch.dep.yml
new file mode 100644
index 0000000..109c6d0
Binary files /dev/null and b/.licenses/npm/node-fetch.dep.yml differ
diff --git a/.licenses/npm/process.dep.yml b/.licenses/npm/process.dep.yml
new file mode 100644
index 0000000..2bf5059
Binary files /dev/null and b/.licenses/npm/process.dep.yml differ
diff --git a/.licenses/npm/psl.dep.yml b/.licenses/npm/psl.dep.yml
new file mode 100644
index 0000000..385e9aa
Binary files /dev/null and b/.licenses/npm/psl.dep.yml differ
diff --git a/.licenses/npm/punycode.dep.yml b/.licenses/npm/punycode.dep.yml
new file mode 100644
index 0000000..4a9547e
Binary files /dev/null and b/.licenses/npm/punycode.dep.yml differ
diff --git a/.licenses/npm/sax.dep.yml b/.licenses/npm/sax.dep.yml
new file mode 100644
index 0000000..e964a17
Binary files /dev/null and b/.licenses/npm/sax.dep.yml differ
diff --git a/.licenses/npm/semver.dep.yml b/.licenses/npm/semver.dep.yml
new file mode 100644
index 0000000..8c62b4f
Binary files /dev/null and b/.licenses/npm/semver.dep.yml differ
diff --git a/.licenses/npm/tough-cookie-3.0.1.dep.yml b/.licenses/npm/tough-cookie-3.0.1.dep.yml
new file mode 100644
index 0000000..1496c10
Binary files /dev/null and b/.licenses/npm/tough-cookie-3.0.1.dep.yml differ
diff --git a/.licenses/npm/tough-cookie-4.0.0.dep.yml b/.licenses/npm/tough-cookie-4.0.0.dep.yml
new file mode 100644
index 0000000..71ee475
Binary files /dev/null and b/.licenses/npm/tough-cookie-4.0.0.dep.yml differ
diff --git a/.licenses/npm/tslib-1.13.0.dep.yml b/.licenses/npm/tslib-1.13.0.dep.yml
new file mode 100644
index 0000000..2ec88c7
Binary files /dev/null and b/.licenses/npm/tslib-1.13.0.dep.yml differ
diff --git a/.licenses/npm/tslib-2.0.0.dep.yml b/.licenses/npm/tslib-2.0.0.dep.yml
new file mode 100644
index 0000000..638eaf7
Binary files /dev/null and b/.licenses/npm/tslib-2.0.0.dep.yml differ
diff --git a/.licenses/npm/tunnel.dep.yml b/.licenses/npm/tunnel.dep.yml
new file mode 100644
index 0000000..9a7111d
Binary files /dev/null and b/.licenses/npm/tunnel.dep.yml differ
diff --git a/.licenses/npm/universalify.dep.yml b/.licenses/npm/universalify.dep.yml
new file mode 100644
index 0000000..0a1c4cd
Binary files /dev/null and b/.licenses/npm/universalify.dep.yml differ
diff --git a/.licenses/npm/uuid-3.4.0.dep.yml b/.licenses/npm/uuid-3.4.0.dep.yml
new file mode 100644
index 0000000..45970fe
Binary files /dev/null and b/.licenses/npm/uuid-3.4.0.dep.yml differ
diff --git a/.licenses/npm/uuid-8.3.0.dep.yml b/.licenses/npm/uuid-8.3.0.dep.yml
new file mode 100644
index 0000000..9d6ccd9
Binary files /dev/null and b/.licenses/npm/uuid-8.3.0.dep.yml differ
diff --git a/.licenses/npm/xml2js.dep.yml b/.licenses/npm/xml2js.dep.yml
new file mode 100644
index 0000000..ea43d8d
Binary files /dev/null and b/.licenses/npm/xml2js.dep.yml differ
diff --git a/.licenses/npm/xmlbuilder.dep.yml b/.licenses/npm/xmlbuilder.dep.yml
new file mode 100644
index 0000000..2198584
Binary files /dev/null and b/.licenses/npm/xmlbuilder.dep.yml differ