From 23576edc9da02c7d6ca5332cd4b5d40e615eb942 Mon Sep 17 00:00:00 2001 From: Itamarmalka Date: Mon, 23 May 2022 14:02:29 +0300 Subject: [PATCH] hello pulumi --- pulumi/aws/hello-world/.gitignore | 2 + pulumi/aws/hello-world/Pulumi.dev.yaml | 2 + pulumi/aws/hello-world/Pulumi.yaml | 3 + pulumi/aws/hello-world/README.md | 11 + pulumi/aws/hello-world/env0.yml | 22 + pulumi/aws/hello-world/index.template.html | 54 ++ pulumi/aws/hello-world/index.ts | 17 + pulumi/aws/hello-world/package-lock.json | 958 +++++++++++++++++++++ pulumi/aws/hello-world/package.json | 13 + pulumi/aws/hello-world/sample.png | Bin 0 -> 522798 bytes pulumi/aws/hello-world/tsconfig.json | 18 + pulumi/aws/hello-world/www/index.html | 54 ++ 12 files changed, 1154 insertions(+) create mode 100644 pulumi/aws/hello-world/.gitignore create mode 100644 pulumi/aws/hello-world/Pulumi.dev.yaml create mode 100644 pulumi/aws/hello-world/Pulumi.yaml create mode 100644 pulumi/aws/hello-world/README.md create mode 100644 pulumi/aws/hello-world/env0.yml create mode 100644 pulumi/aws/hello-world/index.template.html create mode 100644 pulumi/aws/hello-world/index.ts create mode 100644 pulumi/aws/hello-world/package-lock.json create mode 100644 pulumi/aws/hello-world/package.json create mode 100644 pulumi/aws/hello-world/sample.png create mode 100644 pulumi/aws/hello-world/tsconfig.json create mode 100644 pulumi/aws/hello-world/www/index.html diff --git a/pulumi/aws/hello-world/.gitignore b/pulumi/aws/hello-world/.gitignore new file mode 100644 index 0000000..c695889 --- /dev/null +++ b/pulumi/aws/hello-world/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/node_modules/ diff --git a/pulumi/aws/hello-world/Pulumi.dev.yaml b/pulumi/aws/hello-world/Pulumi.dev.yaml new file mode 100644 index 0000000..1a38cef --- /dev/null +++ b/pulumi/aws/hello-world/Pulumi.dev.yaml @@ -0,0 +1,2 @@ +config: + aws:region: us-east-1 diff --git a/pulumi/aws/hello-world/Pulumi.yaml b/pulumi/aws/hello-world/Pulumi.yaml new file mode 100644 index 0000000..5ef7571 --- /dev/null +++ b/pulumi/aws/hello-world/Pulumi.yaml @@ -0,0 +1,3 @@ +name: hello-world +runtime: nodejs +description: A static website S3 bucket serving an HTML greeting the user with their own custom cat image diff --git a/pulumi/aws/hello-world/README.md b/pulumi/aws/hello-world/README.md new file mode 100644 index 0000000..682fd46 --- /dev/null +++ b/pulumi/aws/hello-world/README.md @@ -0,0 +1,11 @@ +# Hello World on AWS +A static website S3 bucket serving an HTML greeting the user with their own custom cat image +![](sample.png) + +## Configuration + +### Environment Variables +- `USER` - sets the user name to greet on the html generated from `index.template.html` + +### Terraform Variables +None diff --git a/pulumi/aws/hello-world/env0.yml b/pulumi/aws/hello-world/env0.yml new file mode 100644 index 0000000..0d3a8f6 --- /dev/null +++ b/pulumi/aws/hello-world/env0.yml @@ -0,0 +1,22 @@ +version: 1 + +deploy: + steps: + setupVariables: + after: + - npm i + - ls /opt + - ls / + - ls . + - pwd + +destroy: + steps: + setupVariables: + after: + - npm i + - ls + - ls /opt + - ls / + - ls . + - pwd \ No newline at end of file diff --git a/pulumi/aws/hello-world/index.template.html b/pulumi/aws/hello-world/index.template.html new file mode 100644 index 0000000..8448d0e --- /dev/null +++ b/pulumi/aws/hello-world/index.template.html @@ -0,0 +1,54 @@ + + + + + Hello from env0! + + + + + + +
+

Welcome to your own environment !!!USER!!!

+ + hello +
+ Powered by   + + + +
+
+ + + diff --git a/pulumi/aws/hello-world/index.ts b/pulumi/aws/hello-world/index.ts new file mode 100644 index 0000000..cb04f89 --- /dev/null +++ b/pulumi/aws/hello-world/index.ts @@ -0,0 +1,17 @@ +import * as apigateway from "@pulumi/aws-apigateway"; +import * as fs from 'fs'; + +const indexTemplate = fs.readFileSync('index.template.html', 'utf-8'); +const index = indexTemplate.replace(new RegExp('!!!USER!!!', 'g'), process.env.USER!); +fs.writeFileSync('www/index.html', index); + +const api = new apigateway.RestAPI("api", { + routes: [ + { + path: "/", + localPath: "www" + }, + ], + }); + +export const url = api.url; \ No newline at end of file diff --git a/pulumi/aws/hello-world/package-lock.json b/pulumi/aws/hello-world/package-lock.json new file mode 100644 index 0000000..f24ec96 --- /dev/null +++ b/pulumi/aws/hello-world/package-lock.json @@ -0,0 +1,958 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@grpc/grpc-js": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.8.tgz", + "integrity": "sha512-4qJqqn+CU/nBydz9ePJP+oa8dz0U42Ut/GejlbyaQ1xTkynCc+ndNHHnISlNeHawDsv4MOAyP3mV/EnDNUw2zA==", + "requires": { + "@types/node": ">=12.12.47" + }, + "dependencies": { + "@types/node": { + "version": "17.0.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", + "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==" + } + } + }, + "@logdna/tail-file": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@logdna/tail-file/-/tail-file-2.1.0.tgz", + "integrity": "sha512-8zYzetB1zfa7WA4c0RS1EU9pNKcj1BqilU2fCsEvmKfWgEdpaphff6hk2Rcn3A0qHwynEdw9lTrlYN4sUw2FpA==" + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@pulumi/aws": { + "version": "4.38.1", + "resolved": "https://registry.npmjs.org/@pulumi/aws/-/aws-4.38.1.tgz", + "integrity": "sha512-WeOprXm/c9n8QmP5qLNEVk1FZTCa7KGgUj/P1drlazJr1LIvrq+KSWcUxayLeFJvpLCbYd19aI2jdyQqZJAjEw==", + "requires": { + "@pulumi/pulumi": "^3.0.0", + "aws-sdk": "^2.0.0", + "builtin-modules": "3.0.0", + "mime": "^2.0.0", + "read-package-tree": "^5.2.1", + "resolve": "^1.7.1" + } + }, + "@pulumi/aws-apigateway": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@pulumi/aws-apigateway/-/aws-apigateway-0.0.6.tgz", + "integrity": "sha512-aaptYgfnPLZWh0K5g58rjzfpj/nY5bL1rF2q7AjMXjBsI1b/Y976Do5JsOpMqqbkfXkfZC7j82hKQOdOgTfLcw==", + "requires": { + "@pulumi/aws": "^4.5.1" + } + }, + "@pulumi/awsx": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/@pulumi/awsx/-/awsx-0.30.0.tgz", + "integrity": "sha512-QtYVDFSkZxJ/JkAxaSwms9i/tJU2rA9F/VncCN6e8D0r29C5t4eYQhmB4chsLww9AjWJPRM7CXosDJs8+gy1Zg==", + "requires": { + "@pulumi/docker": "^3.0.0", + "@types/aws-lambda": "^8.10.23", + "mime": "^2.0.0" + } + }, + "@pulumi/docker": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@pulumi/docker/-/docker-3.1.0.tgz", + "integrity": "sha512-8IQGo+Hj6oxgzP6p4/lhO/GjNDISaIm8YuuecD4W+e0fIt5KfEMKNLLhJD8SD5pSuOBM6EkF5W1kJAQb9CpK0g==", + "requires": { + "@pulumi/pulumi": "^3.0.0", + "semver": "^5.4.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@pulumi/pulumi": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/@pulumi/pulumi/-/pulumi-3.26.1.tgz", + "integrity": "sha512-tsj2WR43b8+uMvJq9LNHNxSKfI3HNP+rE2fAAP7cZ/7YLGxBXAA/Y9X/8MbiIqkN03QtKY5q0l7/djTTBW7FPQ==", + "requires": { + "@grpc/grpc-js": "~1.3.8", + "@logdna/tail-file": "^2.0.6", + "@pulumi/query": "^0.3.0", + "google-protobuf": "^3.5.0", + "js-yaml": "^3.14.0", + "minimist": "^1.2.0", + "normalize-package-data": "^2.4.0", + "protobufjs": "^6.8.6", + "read-package-tree": "^5.3.1", + "require-from-string": "^2.0.1", + "semver": "^6.1.0", + "source-map-support": "^0.4.16", + "ts-node": "^7.0.1", + "typescript": "~3.7.3", + "upath": "^1.1.0" + } + }, + "@pulumi/query": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@pulumi/query/-/query-0.3.0.tgz", + "integrity": "sha512-xfo+yLRM2zVjVEA4p23IjQWzyWl1ZhWOGobsBqRpIarzLvwNH/RAGaoehdxlhx4X92302DrpdIFgTICMN4P38w==" + }, + "@types/aws-lambda": { + "version": "8.10.93", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.93.tgz", + "integrity": "sha512-Vsyi9ogDAY3REZDjYnXMRJJa62SDvxHXxJI5nGDQdZW058dDE+av/anynN2rLKbCKXDRNw3D/sQmqxVflZFi4A==" + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "@types/node": { + "version": "14.18.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz", + "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "aws-sdk": { + "version": "2.1092.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1092.0.tgz", + "integrity": "sha512-8PH2rOgZazGT3VfGPkKcvzz2K9ylVfDniJH4WfJXHEBGxu0+XEMDbjuYpe8k/L1C7w0UTP6CuChjqCxgJznrxg==", + "requires": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "builtin-modules": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz", + "integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "google-protobuf": { + "version": "3.19.4", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.19.4.tgz", + "integrity": "sha512-OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg==" + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "17.0.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz", + "integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==" + } + } + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "requires": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", + "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "requires": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "^0.5.6" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "requires": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "typescript": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.7.tgz", + "integrity": "sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA==" + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "util-promisify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", + "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" + } + } +} diff --git a/pulumi/aws/hello-world/package.json b/pulumi/aws/hello-world/package.json new file mode 100644 index 0000000..91e47dd --- /dev/null +++ b/pulumi/aws/hello-world/package.json @@ -0,0 +1,13 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "devDependencies": { + "@types/node": "^14" + }, + "dependencies": { + "@pulumi/aws": "^4.0.0", + "@pulumi/aws-apigateway": "0.0.6", + "@pulumi/awsx": "^0.30.0", + "@pulumi/pulumi": "^3.0.0" + } +} diff --git a/pulumi/aws/hello-world/sample.png b/pulumi/aws/hello-world/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..47b7b205867c8246bcbf2588586b22943cf2f464 GIT binary patch literal 522798 zcmafb1z4Otmo~+rXeq_L#l5%}iaW*K-QB0SyStQ9C=SJ~xD}Vd2X`23aQUa7?7rV_ z-~G#QP5LA!PjYgSoO9<65lRY@=%|FKFfcIa(o!E)U|St!&L;U}zIe3=LmNGtv$k85tT5jxx}pI(w*uhexXz0=j?pk`MhH z{W*}Iny#z6hL5!dr`iqkMY*fd1}&QWu9kVQ{Ff;(TP90pCmNXdbjyBfW%yn4g)Uub z-;l^1Ce}9^yw@qLtgOW_3&Y#*5Xjw;;+a(7U0=rwBK0bSRdauym&UrnuFi}nw;;bq zjAx3^PC(`eIzx!BND6+N8`~SY_!72_xl%|7wNipQ^bM&${IV=Nt#k$Li^;KDgcR|N zeS&wWu|Jh$)J}iN&P^+`va_-q8p4F|euV52tyP=8-V_P{Dqv>FI);F1P2O7zkB{#T zFfqhhj>P%|K)#&QMGS>|fe;}c;fTcQZ$hW=o-44rx$!+~wZi@LvkMO#Tq`wP59sju z`FZu}`59z}hW4xRvv=nU81z&FM2j_%Y^Y+5%`~OW<>g`Mp=o3o*cY#0;Gn4&&>xsE zD;W5Hq+wvFq2JK4NDPHRf_}e({wn3e{yP@|kPr9oG#u9Nf*(GKNlQb&Kbbh2nc2Ho zI=CWkSrx&+zzSKZYPxF5%kh~w*fATKIvATVd)hhv7J(7)& zN=sK)M?Mx74-XG!kN3`c%SOfFvbu120r_AXTatmNPId^B@0 zakg@FwQ{g0|6Q+ckkb8Qrg5K)q{v6*qU+UGl_GelC!f_5 z9dmA-B>CE`?6NGYDt`y_R6&>Bj^Gpksi&x}-`+-)2^#7@5FbDlU*-CFXPdM*2gRau~&M4LGWm38n zli>7P9p$T2iumko#(~6G*+l;UXzAYt$(5Fn{=LF~YtEOtY?{prEK6{4jRb zKBKf69A$hf0!#1#2Gam_501b$5|@e5=UI^a{)v~Ij*gB%nPlYcAKM?0P9vf*%YmjG z@_t0=MjnpaoFd@YTcui0<*s@esy~Zl%Y5E&2&OWq{m3?y$Knv&oSqFYMb3b{rp;8U zf5-7>O$|oC(>_VC9^77hk1tvchL#Grp-?*iQAn7Sg=xEC(L1m5C&2(q?ED*|7egC; z_?z6Yx^gnGY-0JIlcH?XZ@7a0Yy#|2Fnu6osol|@+cV0aeMN7v-orx`j`QBmNbJwU zL|%vdvD}>cWQEFW_lY{<<&Nw|3ukf8klJ|a*2ST;N{{T@X4BH}#au_%w5?Sk*;nq5 zbP>;$&M6vgEk()AQVPj-lytXLS=CneHG1q;*R~muaRDuF$9lRd_XO*ytsi&JYWw{v zTn47wy!=VrWC(9*Fe{Tp+OP(*!hrT|(YQ;}u+ZWApC2qiSQG}Jy$niY({h=*)T%>A zVy%t3RAnH7xP_35nV`3v0;v$=(s(7EGRE^ocsSyG?&jQL;svNB7 zDD};L9F2{uG$D)qKrFGSWG>*Zc2kk;Q?n)fB|WuZ!yzy=-{ycR5Tn5Pbagh0s;6w#~ZfcM}M7q6c7=Z_NP>RcCR%Bl7 zLAVjOLzOU3Z&DKJAE<43X@|9luW%V?zk$}&RlIoOcVA@itYLbbS?_$5?oCy;J(8v|#&^%?)u4e%rzg6k z@aOsR&q)+Oi>1W9bc)92FJFRGHc?#CjhZm)dy155JVkCtD;8~lbI=v}V<>a8C^ZOk zPPvFwjIapZEd0zyz<1?Vz%1QPL#tR00?TD3hKs+wx!Dh(^KjpLE1SlcR8;hqPX9+q zvQiBmCF|8X{*-C)<1Ns4q1~tPNLl$VPFU>ymEDpNI^=BRmsYLOrUXdLsjl4x$SmE} zEJqchoV)_Tgty#&kOh{vBI}J-a*F@P%ELBNM?JemzvrwADJ9MJxz5AW~0B56i?|m!#;$1=4 zy?BA8YcDG|7ugK{d%S($@s+8vYnOBI(_=AHv-5VUZn&BJ2s<>n zx@I}@Pc6g<+@wFP{_!Hnutp5J(6#9eulFy#?EdkP(tInSO7sgnD>-eT`p?dxzOpD{ z-V?sq4Xh*};oNa?F`LzK4a~@*_;)KWLP@+^Tm58{k@|bi7-^#XY)i02G$`p{*2kw+ zr%2^%WbuvJh{hl{NFg5Ze9Nuob_yerYq?nM0pixLJav7v?4_ZIYS>>F6mXm{lva=+ zj{VeNyWo5ag2T)p;jXu4NTOCupm4xU(m+H@z9Ipqx*zjrngk5*`#uL1lUOQVlvO3| zcmCpl=+2dg{OI_a!>HGAq-qw+sgqkr)_Q%!Cc0Kqvni+LvEq{VE1Pp^%X=$=X1kTl z|1$aXF-{oeib?H>CYCI%_2h^gs=!393j0)J@u)$A19Y^J6#ldY@X%n298J71z~5@M zJj3^?FHIkoHQ3;&hpng};g1T1L4l{nx(ap}+65*hfntSmukpI8XgXl$j8L3aHh)su z(aO@fBoME3Xqw!8{~R=d7GEHrQH-DVxvcwmQf%Pu*CX+Q$Rz4-vuRq-%y@LVKbdZ< zGfu)WCD0lI&jFHhi}45&bX^B2W$%;^J6cVU6eCVG%auB^7gpC^ z3c|k!0iL~T%eC7V>x7<0s!Y2*K(d{?_nDeKg5HqSNL+fU3x+JODIN{1exqfJJlSWw zyred-i&Ct|#MiW%N~GRvfLv3xGW7(~mApg?Z%BfX7?SM%)Yt86;hmviFd#lxuw|&Z z-X_ZtD`0q`*(D6M|I=5{%kdFK92%KMQo-#zo2rDy`f?A|5`Ui?A9mY8Lq$JLl$kg_ zx3LtvrG}A0@u=-lZbZTwkDrG@TeZ|N+Yc>nriG}}-1>kVx|fH$z)~t5E{9Z9++iPh zeNQuuN)_=2+ZF4n4_KivawFQXio&^9_(DF4OZFziN`QJ)LNL=a4Iq%P4&?tF45fGoNfV?Z)2BUo^+d zIqE(_a3Fl*AH>0(Jc@k_@5gxbIvx&)yw;xXx1y&N(;6ythO)#!wc_5X0e3IX z@UD8l#7QmGT1Y{SUd~IW!8V~RlRIr4>_?uSj=|+|0zP*I4r~wP(F|GfE#yusFsRF2 z9Xa(eyGL{y84!*cH<6mbs&Cc9I;x{~rq44e`GT&F9j*_&zDA~OeNFpv*acR5!Tskg zmK^OL3(h-P>BNrW&h4zKqN7Y)W=uo=7uliSp9iY2{W;O6LTi&B%(gz(FPVPfE6wdN z>F|cxeV^2t;Y)b%g0xfOW|l*WXn1&sf$Fz&QR|c~C)grY6z>gV0?RXRg!^fB6R(>E zx)GW$3KPmU+|F{R)8lZa+GePH{i;Mj;H5YfTmFe1h@&l z@&V^G7MaHo<}!AU-OB6x4!slTit>DV=rlXc5)&LaoNfJCchVYoNwNf5U(joIez#EV z^d%#GjLy*K6_0vko_nSRgC?((>GaO{x6MlRK_+!PdR3`J&dZRhkORq5m3Q)~8}u99 zu_W?|bz_y^b-%y#%sDJ*?)N-aBd(j>*5x+uA3`TNLZBSU0>3I@I}BPoHJ zX%*y#M9|yToGZlb&#SVCCOqXUfHGz8$`@c+e7NFkw2hN9ditX^9E6}IAC23&9h{Jj zDZP*NgtMmmiDv#IT5YZw*ns0MY%0n9Eo-`i8t>GVl#}f~JYbrl5D61Hp)Ml=hi*?4 zODFwqu1oB4g%RGvLLY=BF;19(4o}aup#Nc%fz0Tozv zTjZ#z(U+xF)W;BU4{1UW$12tl<7u?7I(@*CJYTc6`?K^my!~)JbXK=eKde{9j?stO zFVw0nE+0f1EtX8aJMZ0$yOSk!HR#UBVR-}v=0lc0|<4VBQXYRFpQRHGsbor{a$m2LyN1gglN zn2Q?{`+V&4jehrccK=g2;CINrU^V&hZA~9D;6RPRbB;=jfcr`I_Ou6^+Mf9wal1sBA;_RGhhge?PX+Yec6qZvnPgr>H8hKy|2+39(uh1IQ@+Bdyck( zn;FD{4P4n&u|#e1M;VkcYlSbh7z#D=2F8`FAZUiwjPGx(_s6WRX0VPo6g6PHAWn?F|Dl`QCEg^EoJuIR{{0BrKUgQ^! zRP^ne+JHZ5=D!|d<3KB=uGMW0rJ^;SNG8Bcovw!C+ zbdLA31o(P+p$~xfYPSEY#=j=4D4;ErvrbQsfrcVjo$xm>H2wpzOf-K2A*6_);Ej=^ ztdvx|amdS%ghXlR-esI3QbQR64`lxvV{}ISEfnoqIvpvUE705{HS`wx{u&t=pku^z zWWV*rJoBF*h!?NI`JjRn@jK&r8VU^hZ$HwLQbQji!M=;aOL>TXB*GNy<4XLKZ}~9* z3Pq4($(AUo7T9Kx(|LwNfs$2ZRa%WuOxF#&iFy4$y)b|S+mI0ssX;d)B9YsHbSRA` z?lqIP6wilbI1CMG@+>ToWzf{SNZEuy1k>lPoaWex4+yFh0CFV6;(9udJeP||GXGL$1T7R9@V-ju#K>TT+n@Q!f2t+qA{6KOEmIz z1j{(^@^Z;wH3$iFc(wh$NVRlIrOELFK-$=v%;c$m#xd9)Ed(?XogVl%L-|wuCm&X^ z8cgVEs{=@%cQbk#&inpkv0XB@w63t8o&FV-y1hF`I4B&U%?4;c-L8rEneM57QY%~u z^C~dri+Nq?e<5S5tW1qqG0<(QegOtI;Uw?S8guhkCuU zxRvK5f=aO~9TeE;jEToH8%|Co;dlRzrOQ<;Cc=6oMx0|G#?f>cfkU%V(#P9cn&x7*jJkAFfGB zE&p+ricCQc-5M2#Qw6Eavq*8r4VnPgUIlskTlql!;lwe8JYJnwuU>6Uh2jwb4}V$0 z-wCdVk!_E6?u_h=>d2+w(kG{B@6N=#H!g2P+@I}C7@f~kVHTH34_ukBwx4T3^Vbs_J;Dd#ZG+{iei1-8I?xSx8hGia>Z(^SSeQ$5AaTSJ9*1gD@8rD0am6BeflPo&>iwSl22T4*%_{|)A5=rGTS~)FiA{IeC0l; zRcA4>BnC>{9?_86mPz@#8iF^xF#CNdqG$=(tR^#(3V$T)Z2HMsawD zNoT8w`Q@ANqkUENA3&|$sjsrz%Zv3nt$~$*+ii`VHYT<2rW3AD7?t{U62*!+)b-ZD z#2_S$p&OQt_()s^_~^dPs_63hu!fVx`jKC+2o)a3{6mw3mN~MZK`glAxk~^ag(#=8||IjXqb^BK7O8w#?i;1c}U-Hl%*^tBi!d zyoEZM7UqAh#Uf*r`PkxW59ki(jVrC!G7+!(+Wo`2Hm|EfWK}-2ezB7c2y+NIw~$#` z+#P&+L^2)k_yl`OnnTXS%iBk+n8G{eu{D+>`*dponCS(v<;A4o-F4E_DCEZT?S@t{ zAatkW?}_l-=X5*VqHb^X3AOhOrBYZC8ch8}hQl%d7r0hGI zzy2=jh-USaDJ*>CoKP)!O?p0)q_~fhWukxEP-1ZgcP&hgwcA|-IRuUzEp#HvdF$p$ z_+3s)o}UI`4vjn-BS{PTdqT=l^zIEH=TwE=9AS`owsAJP15$6-j8lT7d>tUi^d*C zp9~6^FQB|w0*fXPs5uE`SE*jcY@ElCgo4z1retR!Z8b%zTabLFN5jCE&TJ%y&hP#* zVd|^yhkA-%8*n{B#A2DsRKmDh5xp3tj@&9NJm17OQlfnU4U_4qd+_+0-3E3Ibd6ezIfnZae!lI@}(-)>Ku zl0!(FBLSQG^J2V{e5ug^$W7akcKh-vwGl)>4chbDtQ!}qlQwooaR4oJKGDYsT$NaD z9%R?FW>jLAOU?c+Q@Qbd6l4z>1u9W3ZHI&=qr$o*wY_`Oxc3&F1M z$w|f%Cj<(e1?)bZrGX;-dPK>UJA7{+iqTa=LA@tAaRTS*9PNb}ZP%;!>?apzQ!S%R z=lOieA%~W)%8x__b{?*>TwA`mvTP_h_&9exd7Up4KtX>;-A!_%j9n!um{8 zf``}Uy}q*aFw9^(t1sJo1BDRkfgP8&*#f0Pw?>Ow(n+I3S8G89CTLXX3UW~84yQ6P z03IP46EsYxzwS+YY5HYvpbLH~H&Q1Zzeh`OJ9NaAisdpWpZCj_pbu+MZ7Ul+F zW^Oj*Zc5WcU?>)-4dW6&QFyIP0Dxi$_&|f{9Wc9WL~seV8h8!U;Hyd$X5(}3H)jCXr?(ta8U+Xa4m8j27M$r}RCuSjKNAqunAjL-uO z%f%RXy9MXSfuAqnwy)eh292)eiFTO;k~(L?=y_OHryS|$s$-vY;@02ErV=s_28GeH zbe?}-b~TZm7V@m#$QEzqUs)M)(Jv@BFdt*L({CPj1L5*gcsQlfCxsvf zoZ42c7RyDCAh(a@dKQ-X@>&0|OSOn_6$``Q++`aU)lnX(HUg(VtX=izbIW;0ll0GA zUnF|3_P|00h-ZW?C817%Tvitgv7-H!xX($)A#)Pu?LahvO;oZ?WwW+E(M=|bVv>&7 zEr->zrdaUnBoe-L5%Qii;V~4}dUu1}=b>L_KZ10z^nE%#fi^SgB_=@WE_FX`SaO5S+PKJ)RkO@K;I|(eB5O+p_?_h zsvdk`o`0_8)d$Ny&e)nhx6eKjiJ|u>W?hScPn&n589c)JM?lbK22n`|xZ_>{Y!;Vp zy|m)q>I(F6WnHSgE<(Yf-h*u1Nh;+3=o%CAF}V9+a<@uC$bpT--CRy++)9hDT@;1sroT=~Ia?Z?qBo7ik3s@qZ0Ow2uHOVNO2jGptaU=)* z?W6vf`F?vroVz!hclEopv69YYHQP>qJ@dp`g72QpI9*!Q_^DThLHcAH#dmx|*j;;9 zS5HJWtrCg}(CC;2p+a#9&H7+1cCQV^^IMC}Eg$rioBeO40Hph}_e}R!miGmIAvT8F z_o=>3UVhUnPD@PGEikE*)!}_0O3Fd|$>nfPTCHCkPrs<{9cdyr z$LsE4wX*0YMDDvN=9a;5;ii0jAXzPRgx?3wg%D2TQ(j%4Xq02q+#ENqrkV^S6+wab zKrX<=C^x%FKN{0v5q2)N?eb#8=D;Y2w*`;h{dH#1+bcF%k6q+9xgCWyyZDXK<&76KJ@5LWh zQ+j=2N>{$1U9(>$%JiYjMHC{W31%Z{LqV7V__fDf2XJ{g{2qfNEbWwyKib9lmKQ#x z?lCNF_Q$?Az)<_H%E@iK#D#nS7|Wu;+vl;Hh$myM{-NHaL~-oFOVzgISCG0n0H7di zd+u2FQ>58nYOKnoVfYG)VhJrLgPp{Q6Q=Ou=vQvEU)e(QOAn}qpPNW?JDeNlr;qO@ zPk&1yOwGOQ8KgRazc4-fX<_lL;I4X^X9T8g?iIG8lA`dV>wZ-rS(_?&Z$iIiFDP}J zP`l6~E;o^ZZSwT)YRMr+1SQqbZ}k>WD&}A|y6MvS`DrTu1Kd93sIJ!M+Wx&hGAX7Q zK@yE(Vl4d|_a_4jf{H@0s$aVE&+&R>>^na{c5SI!p{tusXT#?Y`||}s&FU>e3$rt4 zX9Hv-P^)0>i^5C$)+)GtyFB@X@xFf!=e-hOf?8K6NFSg_cmN6HqGEQy^P7h0wq^~o zT)oZpaZMcaWp|u7oGMYK@-w`sRZ!V)q0#$_^GTim-qrWT}e`0frn?yd~RE%-}0uy@O-u= z!^pTq{Y$RIjvm2l6fP&a#n*z!Kttb%(3;Qrcj5YRUgtY0tA6)``xeP5m3pn##J7D7 z+MOdgt?rrgT4O;vmjwd=!VA(laG!szNS~E14%7m;uA`On{14=Etpzo8SVKJ>Uvyns zwd+G+ws)Je7k8U+LR{PM-@(3ud0

YEc&vapUq7ms9yHMZn3E(mmCGW>PG-88R@ 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