diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml
index 6a22b5bf5..e627b9232 100644
--- a/.github/boring-cyborg.yml
+++ b/.github/boring-cyborg.yml
@@ -21,9 +21,6 @@ labelPRBasedOnFilePath:
area/batch:
- libraries/src/AWS.Lambda.Powertools.Batch/*
- libraries/src/AWS.Lambda.Powertools.Batch/**/*
- area/metrics-aspnetcore:
- - libraries/src/AWS.Lambda.Powertools.Metrics.AspNetCore/*
- - libraries/src/AWS.Lambda.Powertools.Metrics.AspNetCore/**/*
documentation:
- docs/*
diff --git a/.gitignore b/.gitignore
index 76b1dfce6..3e593c9af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,8 +12,6 @@ deploy/**
.vs/
.aws-sam
-node_modules/*
-
examples/SimpleLambda/.aws-sam
examples/SimpleLambda/samconfig.toml
@@ -21,13 +19,7 @@ AWS.Lambda.Powertools.sln.DotSettings.user
[Oo]bj/**
[Bb]in/**
.DS_Store
-.cache
dist/
site/
-samconfig.toml
-
-.kiro
-.claude
-.amazonq
-.github/instructions
+samconfig.toml
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 7f7def166..da8dca0c5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,4 @@
-# 6.0-bullseye-slim
-FROM mcr.microsoft.com/dotnet/sdk@sha256:fc71510497ce2ec3575359068b9c7b1b9f449cfdb0371b5c71a939963a2fedfd AS build-image
+FROM mcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim AS build-image
ARG FUNCTION_DIR="/build"
ARG SAM_BUILD_MODE="run"
@@ -20,7 +19,7 @@ WORKDIR $FUNCTION_DIR/examples/SimpleLambda/src/HelloWorld/
RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then dotnet lambda package --configuration Debug; else dotnet lambda package --configuration Release; fi
RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then cp -r /bin/Debug/net6.0/publish/* /build/build_artifacts; else cp -r bin/Release/net6.0/publish/* /build/build_artifacts; fi
-FROM public.ecr.aws/lambda/dotnet@sha256:ec61a7f638e2a0c86d75204117cc7710bcdc70222ffc777e3fc1458287b09834
+FROM public.ecr.aws/lambda/dotnet:6
COPY --from=build-image /build/build_artifacts/ /var/task/
# Command can be overwritten by providing a different command in the template directly.
diff --git a/apidocs/docfx.json b/apidocs/docfx.json
index 7c1c0c1fe..4576b299c 100644
--- a/apidocs/docfx.json
+++ b/apidocs/docfx.json
@@ -9,7 +9,7 @@
],
"dest": "api",
"properties": {
- "TargetFramework": "net8.0"
+ "TargetFramework": "net6.0"
},
"disableGitFeatures": false,
"disableDefaultFilter": false
@@ -48,9 +48,6 @@
"noLangKeyword": false,
"keepFileLink": false,
"cleanupCacheHistory": false,
- "disableGitFeatures": false,
- "sitemap": {
- "baseUrl": "https://docs.powertools.aws.dev/lambda/dotnet/api/api"
- }
+ "disableGitFeatures": false
}
}
diff --git a/docs/Dockerfile b/docs/Dockerfile
index aea0f721d..4f576cc60 100644
--- a/docs/Dockerfile
+++ b/docs/Dockerfile
@@ -1,5 +1,3 @@
# v9.1.18
-FROM squidfunk/mkdocs-material@sha256:209b62dd9530163cc5cf9a49853b5bb8570ffb3f3b5fe4eadc1d319bbda5ce2f
-
-COPY requirements.txt /tmp/
-RUN pip install --require-hashes -r /tmp/requirements.txt
+FROM squidfunk/mkdocs-material@sha256:c62453b1ba229982c6325a71165c1a3007c11bd3dd470e7a1446c5783bd145b4
+RUN pip install mkdocs-git-revision-date-plugin
diff --git a/docs/requirements.in b/docs/requirements.in
deleted file mode 100644
index 2b9323e7b..000000000
--- a/docs/requirements.in
+++ /dev/null
@@ -1,2 +0,0 @@
-mkdocs-git-revision-date-plugin==0.3.2
-mkdocs-llmstxt==0.2.0
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index 6f492883d..000000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1,302 +0,0 @@
-#
-# This file is autogenerated by pip-compile with Python 3.10
-# by the following command:
-#
-# pip-compile --generate-hashes --output-file=requirements.txt requirements.in
-#
-beautifulsoup4==4.13.4 \
- --hash=sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b \
- --hash=sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195
- # via
- # markdownify
- # mkdocs-llmstxt
-click==8.1.8 \
- --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \
- --hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a
- # via mkdocs
-ghp-import==2.1.0 \
- --hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \
- --hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343
- # via mkdocs
-gitdb==4.0.12 \
- --hash=sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571 \
- --hash=sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf
- # via gitpython
-gitpython==3.1.44 \
- --hash=sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110 \
- --hash=sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269
- # via mkdocs-git-revision-date-plugin
-jinja2==3.1.6 \
- --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
- --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
- # via
- # mkdocs
- # mkdocs-git-revision-date-plugin
-markdown==3.7 \
- --hash=sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2 \
- --hash=sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803
- # via mkdocs
-markdown-it-py==3.0.0 \
- --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
- --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
- # via mdformat
-markdownify==1.1.0 \
- --hash=sha256:32a5a08e9af02c8a6528942224c91b933b4bd2c7d078f9012943776fc313eeef \
- --hash=sha256:449c0bbbf1401c5112379619524f33b63490a8fa479456d41de9dc9e37560ebd
- # via mkdocs-llmstxt
-markupsafe==3.0.2 \
- --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \
- --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \
- --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 \
- --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 \
- --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 \
- --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 \
- --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 \
- --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca \
- --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 \
- --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 \
- --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 \
- --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b \
- --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 \
- --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a \
- --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c \
- --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff \
- --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c \
- --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 \
- --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 \
- --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb \
- --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e \
- --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 \
- --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a \
- --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d \
- --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a \
- --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b \
- --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 \
- --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 \
- --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c \
- --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 \
- --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f \
- --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 \
- --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d \
- --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 \
- --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf \
- --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 \
- --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 \
- --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb \
- --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \
- --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 \
- --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c \
- --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 \
- --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd \
- --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d \
- --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 \
- --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d \
- --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca \
- --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a \
- --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 \
- --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe \
- --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 \
- --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c \
- --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \
- --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f \
- --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \
- --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a \
- --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 \
- --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 \
- --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 \
- --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 \
- --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50
- # via
- # jinja2
- # mkdocs
-mdformat==0.7.22 \
- --hash=sha256:61122637c9e1d9be1329054f3fa216559f0d1f722b7919b060a8c2a4ae1850e5 \
- --hash=sha256:eef84fa8f233d3162734683c2a8a6222227a229b9206872e6139658d99acb1ea
- # via mkdocs-llmstxt
-mdurl==0.1.2 \
- --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
- --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
- # via markdown-it-py
-mergedeep==1.3.4 \
- --hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \
- --hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
- # via
- # mkdocs
- # mkdocs-get-deps
-mkdocs==1.6.1 \
- --hash=sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2 \
- --hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e
- # via mkdocs-git-revision-date-plugin
-mkdocs-get-deps==0.2.0 \
- --hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \
- --hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134
- # via mkdocs
-mkdocs-git-revision-date-plugin==0.3.2 \
- --hash=sha256:2e67956cb01823dd2418e2833f3623dee8604cdf223bddd005fe36226a56f6ef
- # via -r requirements.in
-mkdocs-llmstxt==0.2.0 \
- --hash=sha256:104f10b8101167d6baf7761942b4743869be3d8f8a8d909f4e9e0b63307f709e \
- --hash=sha256:907de892e0c8be74002e8b4d553820c2b5bbcf03cc303b95c8bca48fb49c1a29
- # via -r requirements.in
-packaging==24.2 \
- --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
- --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
- # via mkdocs
-pathspec==0.12.1 \
- --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \
- --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
- # via mkdocs
-platformdirs==4.3.6 \
- --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \
- --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb
- # via mkdocs-get-deps
-python-dateutil==2.9.0.post0 \
- --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
- --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
- # via ghp-import
-pyyaml==6.0.2 \
- --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \
- --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \
- --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \
- --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \
- --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \
- --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \
- --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \
- --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \
- --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \
- --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \
- --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \
- --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \
- --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \
- --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \
- --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \
- --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \
- --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \
- --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \
- --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \
- --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \
- --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \
- --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \
- --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \
- --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \
- --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \
- --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \
- --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \
- --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \
- --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \
- --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \
- --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \
- --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \
- --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \
- --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \
- --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \
- --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \
- --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \
- --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \
- --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \
- --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \
- --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \
- --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \
- --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \
- --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \
- --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \
- --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \
- --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \
- --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \
- --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \
- --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \
- --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \
- --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \
- --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4
- # via
- # mkdocs
- # mkdocs-get-deps
- # pyyaml-env-tag
-pyyaml-env-tag==0.1 \
- --hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb \
- --hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069
- # via mkdocs
-six==1.17.0 \
- --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
- --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
- # via
- # markdownify
- # python-dateutil
-smmap==5.0.2 \
- --hash=sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5 \
- --hash=sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e
- # via gitdb
-soupsieve==2.7 \
- --hash=sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4 \
- --hash=sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a
- # via beautifulsoup4
-tomli==2.2.1 \
- --hash=sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6 \
- --hash=sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd \
- --hash=sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c \
- --hash=sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b \
- --hash=sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8 \
- --hash=sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6 \
- --hash=sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77 \
- --hash=sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff \
- --hash=sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea \
- --hash=sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192 \
- --hash=sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249 \
- --hash=sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee \
- --hash=sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4 \
- --hash=sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98 \
- --hash=sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8 \
- --hash=sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4 \
- --hash=sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281 \
- --hash=sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744 \
- --hash=sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69 \
- --hash=sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13 \
- --hash=sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140 \
- --hash=sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e \
- --hash=sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e \
- --hash=sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc \
- --hash=sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff \
- --hash=sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec \
- --hash=sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2 \
- --hash=sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222 \
- --hash=sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106 \
- --hash=sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272 \
- --hash=sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a \
- --hash=sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7
- # via mdformat
-typing-extensions==4.13.2 \
- --hash=sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c \
- --hash=sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef
- # via beautifulsoup4
-watchdog==6.0.0 \
- --hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a \
- --hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 \
- --hash=sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f \
- --hash=sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c \
- --hash=sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c \
- --hash=sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c \
- --hash=sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0 \
- --hash=sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13 \
- --hash=sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134 \
- --hash=sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa \
- --hash=sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e \
- --hash=sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379 \
- --hash=sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a \
- --hash=sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11 \
- --hash=sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282 \
- --hash=sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b \
- --hash=sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f \
- --hash=sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c \
- --hash=sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112 \
- --hash=sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948 \
- --hash=sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881 \
- --hash=sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860 \
- --hash=sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3 \
- --hash=sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680 \
- --hash=sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26 \
- --hash=sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26 \
- --hash=sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e \
- --hash=sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8 \
- --hash=sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c \
- --hash=sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2
- # via mkdocs
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index 93b397f56..f24b32faa 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -33,9 +33,3 @@
[data-md-color-scheme="slate"] {
--md-typeset-a-color: rgb(28, 152, 152)
}
-
-/*.md-nav__link[for] {*/
-/* font-weight: bold*/
-/*}*/
-.md-nav__link[for] { color: var(--md-default-fg-color) !important; }
-
diff --git a/dotnet6-deprecation-only.patch b/dotnet6-deprecation-only.patch
new file mode 100644
index 000000000..971f6f8f3
--- /dev/null
+++ b/dotnet6-deprecation-only.patch
@@ -0,0 +1,56215 @@
+diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml
+index 6a22b5bf..e627b923 100644
+--- a/.github/boring-cyborg.yml
++++ b/.github/boring-cyborg.yml
+@@ -21,9 +21,6 @@ labelPRBasedOnFilePath:
+ area/batch:
+ - libraries/src/AWS.Lambda.Powertools.Batch/*
+ - libraries/src/AWS.Lambda.Powertools.Batch/**/*
+- area/metrics-aspnetcore:
+- - libraries/src/AWS.Lambda.Powertools.Metrics.AspNetCore/*
+- - libraries/src/AWS.Lambda.Powertools.Metrics.AspNetCore/**/*
+
+ documentation:
+ - docs/*
+diff --git a/.gitignore b/.gitignore
+index 76b1dfce..3e593c9a 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -12,8 +12,6 @@ deploy/**
+ .vs/
+ .aws-sam
+
+-node_modules/*
+-
+ examples/SimpleLambda/.aws-sam
+ examples/SimpleLambda/samconfig.toml
+
+@@ -21,13 +19,7 @@ AWS.Lambda.Powertools.sln.DotSettings.user
+ [Oo]bj/**
+ [Bb]in/**
+ .DS_Store
+-.cache
+
+ dist/
+ site/
+-samconfig.toml
+-
+-.kiro
+-.claude
+-.amazonq
+-.github/instructions
++samconfig.toml
+\ No newline at end of file
+diff --git a/Dockerfile b/Dockerfile
+index 7f7def16..da8dca0c 100644
+--- a/Dockerfile
++++ b/Dockerfile
+@@ -1,5 +1,4 @@
+-# 6.0-bullseye-slim
+-FROM mcr.microsoft.com/dotnet/sdk@sha256:fc71510497ce2ec3575359068b9c7b1b9f449cfdb0371b5c71a939963a2fedfd AS build-image
++FROM mcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim AS build-image
+
+ ARG FUNCTION_DIR="/build"
+ ARG SAM_BUILD_MODE="run"
+@@ -20,7 +19,7 @@ WORKDIR $FUNCTION_DIR/examples/SimpleLambda/src/HelloWorld/
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then dotnet lambda package --configuration Debug; else dotnet lambda package --configuration Release; fi
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then cp -r /bin/Debug/net6.0/publish/* /build/build_artifacts; else cp -r bin/Release/net6.0/publish/* /build/build_artifacts; fi
+
+-FROM public.ecr.aws/lambda/dotnet@sha256:ec61a7f638e2a0c86d75204117cc7710bcdc70222ffc777e3fc1458287b09834
++FROM public.ecr.aws/lambda/dotnet:6
+
+ COPY --from=build-image /build/build_artifacts/ /var/task/
+ # Command can be overwritten by providing a different command in the template directly.
+diff --git a/apidocs/docfx.json b/apidocs/docfx.json
+index 7c1c0c1f..4576b299 100644
+--- a/apidocs/docfx.json
++++ b/apidocs/docfx.json
+@@ -9,7 +9,7 @@
+ ],
+ "dest": "api",
+ "properties": {
+- "TargetFramework": "net8.0"
++ "TargetFramework": "net6.0"
+ },
+ "disableGitFeatures": false,
+ "disableDefaultFilter": false
+@@ -48,9 +48,6 @@
+ "noLangKeyword": false,
+ "keepFileLink": false,
+ "cleanupCacheHistory": false,
+- "disableGitFeatures": false,
+- "sitemap": {
+- "baseUrl": "https://docs.powertools.aws.dev/lambda/dotnet/api/api"
+- }
++ "disableGitFeatures": false
+ }
+ }
+diff --git a/docs/Dockerfile b/docs/Dockerfile
+index aea0f721..4f576cc6 100644
+--- a/docs/Dockerfile
++++ b/docs/Dockerfile
+@@ -1,5 +1,3 @@
+ # v9.1.18
+-FROM squidfunk/mkdocs-material@sha256:209b62dd9530163cc5cf9a49853b5bb8570ffb3f3b5fe4eadc1d319bbda5ce2f
+-
+-COPY requirements.txt /tmp/
+-RUN pip install --require-hashes -r /tmp/requirements.txt
++FROM squidfunk/mkdocs-material@sha256:c62453b1ba229982c6325a71165c1a3007c11bd3dd470e7a1446c5783bd145b4
++RUN pip install mkdocs-git-revision-date-plugin
+diff --git a/docs/requirements.in b/docs/requirements.in
+deleted file mode 100644
+index 2b9323e7..00000000
+--- a/docs/requirements.in
++++ /dev/null
+@@ -1,2 +0,0 @@
+-mkdocs-git-revision-date-plugin==0.3.2
+-mkdocs-llmstxt==0.2.0
+diff --git a/docs/requirements.txt b/docs/requirements.txt
+deleted file mode 100644
+index 6f492883..00000000
+--- a/docs/requirements.txt
++++ /dev/null
+@@ -1,302 +0,0 @@
+-#
+-# This file is autogenerated by pip-compile with Python 3.10
+-# by the following command:
+-#
+-# pip-compile --generate-hashes --output-file=requirements.txt requirements.in
+-#
+-beautifulsoup4==4.13.4 \
+- --hash=sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b \
+- --hash=sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195
+- # via
+- # markdownify
+- # mkdocs-llmstxt
+-click==8.1.8 \
+- --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \
+- --hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a
+- # via mkdocs
+-ghp-import==2.1.0 \
+- --hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \
+- --hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343
+- # via mkdocs
+-gitdb==4.0.12 \
+- --hash=sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571 \
+- --hash=sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf
+- # via gitpython
+-gitpython==3.1.44 \
+- --hash=sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110 \
+- --hash=sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269
+- # via mkdocs-git-revision-date-plugin
+-jinja2==3.1.6 \
+- --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
+- --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
+- # via
+- # mkdocs
+- # mkdocs-git-revision-date-plugin
+-markdown==3.7 \
+- --hash=sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2 \
+- --hash=sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803
+- # via mkdocs
+-markdown-it-py==3.0.0 \
+- --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
+- --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
+- # via mdformat
+-markdownify==1.1.0 \
+- --hash=sha256:32a5a08e9af02c8a6528942224c91b933b4bd2c7d078f9012943776fc313eeef \
+- --hash=sha256:449c0bbbf1401c5112379619524f33b63490a8fa479456d41de9dc9e37560ebd
+- # via mkdocs-llmstxt
+-markupsafe==3.0.2 \
+- --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \
+- --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \
+- --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 \
+- --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 \
+- --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 \
+- --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 \
+- --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 \
+- --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca \
+- --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 \
+- --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 \
+- --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 \
+- --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b \
+- --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 \
+- --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a \
+- --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c \
+- --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff \
+- --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c \
+- --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 \
+- --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 \
+- --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb \
+- --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e \
+- --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 \
+- --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a \
+- --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d \
+- --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a \
+- --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b \
+- --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 \
+- --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 \
+- --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c \
+- --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 \
+- --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f \
+- --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 \
+- --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d \
+- --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 \
+- --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf \
+- --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 \
+- --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 \
+- --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb \
+- --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \
+- --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 \
+- --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c \
+- --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 \
+- --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd \
+- --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d \
+- --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 \
+- --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d \
+- --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca \
+- --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a \
+- --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 \
+- --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe \
+- --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 \
+- --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c \
+- --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \
+- --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f \
+- --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \
+- --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a \
+- --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 \
+- --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 \
+- --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 \
+- --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 \
+- --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50
+- # via
+- # jinja2
+- # mkdocs
+-mdformat==0.7.22 \
+- --hash=sha256:61122637c9e1d9be1329054f3fa216559f0d1f722b7919b060a8c2a4ae1850e5 \
+- --hash=sha256:eef84fa8f233d3162734683c2a8a6222227a229b9206872e6139658d99acb1ea
+- # via mkdocs-llmstxt
+-mdurl==0.1.2 \
+- --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
+- --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
+- # via markdown-it-py
+-mergedeep==1.3.4 \
+- --hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \
+- --hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
+- # via
+- # mkdocs
+- # mkdocs-get-deps
+-mkdocs==1.6.1 \
+- --hash=sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2 \
+- --hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e
+- # via mkdocs-git-revision-date-plugin
+-mkdocs-get-deps==0.2.0 \
+- --hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \
+- --hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134
+- # via mkdocs
+-mkdocs-git-revision-date-plugin==0.3.2 \
+- --hash=sha256:2e67956cb01823dd2418e2833f3623dee8604cdf223bddd005fe36226a56f6ef
+- # via -r requirements.in
+-mkdocs-llmstxt==0.2.0 \
+- --hash=sha256:104f10b8101167d6baf7761942b4743869be3d8f8a8d909f4e9e0b63307f709e \
+- --hash=sha256:907de892e0c8be74002e8b4d553820c2b5bbcf03cc303b95c8bca48fb49c1a29
+- # via -r requirements.in
+-packaging==24.2 \
+- --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
+- --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
+- # via mkdocs
+-pathspec==0.12.1 \
+- --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \
+- --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
+- # via mkdocs
+-platformdirs==4.3.6 \
+- --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \
+- --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb
+- # via mkdocs-get-deps
+-python-dateutil==2.9.0.post0 \
+- --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
+- --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
+- # via ghp-import
+-pyyaml==6.0.2 \
+- --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \
+- --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \
+- --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \
+- --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \
+- --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \
+- --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \
+- --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \
+- --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \
+- --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \
+- --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \
+- --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \
+- --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \
+- --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \
+- --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \
+- --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \
+- --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \
+- --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \
+- --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \
+- --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \
+- --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \
+- --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \
+- --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \
+- --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \
+- --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \
+- --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \
+- --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \
+- --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \
+- --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \
+- --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \
+- --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \
+- --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \
+- --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \
+- --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \
+- --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \
+- --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \
+- --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \
+- --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \
+- --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \
+- --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \
+- --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \
+- --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \
+- --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \
+- --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \
+- --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \
+- --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \
+- --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \
+- --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \
+- --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \
+- --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \
+- --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \
+- --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \
+- --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \
+- --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4
+- # via
+- # mkdocs
+- # mkdocs-get-deps
+- # pyyaml-env-tag
+-pyyaml-env-tag==0.1 \
+- --hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb \
+- --hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069
+- # via mkdocs
+-six==1.17.0 \
+- --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
+- --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
+- # via
+- # markdownify
+- # python-dateutil
+-smmap==5.0.2 \
+- --hash=sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5 \
+- --hash=sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e
+- # via gitdb
+-soupsieve==2.7 \
+- --hash=sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4 \
+- --hash=sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a
+- # via beautifulsoup4
+-tomli==2.2.1 \
+- --hash=sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6 \
+- --hash=sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd \
+- --hash=sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c \
+- --hash=sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b \
+- --hash=sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8 \
+- --hash=sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6 \
+- --hash=sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77 \
+- --hash=sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff \
+- --hash=sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea \
+- --hash=sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192 \
+- --hash=sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249 \
+- --hash=sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee \
+- --hash=sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4 \
+- --hash=sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98 \
+- --hash=sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8 \
+- --hash=sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4 \
+- --hash=sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281 \
+- --hash=sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744 \
+- --hash=sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69 \
+- --hash=sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13 \
+- --hash=sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140 \
+- --hash=sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e \
+- --hash=sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e \
+- --hash=sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc \
+- --hash=sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff \
+- --hash=sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec \
+- --hash=sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2 \
+- --hash=sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222 \
+- --hash=sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106 \
+- --hash=sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272 \
+- --hash=sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a \
+- --hash=sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7
+- # via mdformat
+-typing-extensions==4.13.2 \
+- --hash=sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c \
+- --hash=sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef
+- # via beautifulsoup4
+-watchdog==6.0.0 \
+- --hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a \
+- --hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 \
+- --hash=sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f \
+- --hash=sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c \
+- --hash=sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c \
+- --hash=sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c \
+- --hash=sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0 \
+- --hash=sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13 \
+- --hash=sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134 \
+- --hash=sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa \
+- --hash=sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e \
+- --hash=sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379 \
+- --hash=sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a \
+- --hash=sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11 \
+- --hash=sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282 \
+- --hash=sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b \
+- --hash=sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f \
+- --hash=sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c \
+- --hash=sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112 \
+- --hash=sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948 \
+- --hash=sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881 \
+- --hash=sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860 \
+- --hash=sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3 \
+- --hash=sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680 \
+- --hash=sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26 \
+- --hash=sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26 \
+- --hash=sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e \
+- --hash=sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8 \
+- --hash=sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c \
+- --hash=sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2
+- # via mkdocs
+diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
+index 93b397f5..f24b32fa 100644
+--- a/docs/stylesheets/extra.css
++++ b/docs/stylesheets/extra.css
+@@ -33,9 +33,3 @@
+ [data-md-color-scheme="slate"] {
+ --md-typeset-a-color: rgb(28, 152, 152)
+ }
+-
+-/*.md-nav__link[for] {*/
+-/* font-weight: bold*/
+-/*}*/
+-.md-nav__link[for] { color: var(--md-default-fg-color) !important; }
+-
+diff --git a/examples/AOT/AOT_Logging/src/AOT_Logging/AOT_Logging.csproj b/examples/AOT/AOT_Logging/src/AOT_Logging/AOT_Logging.csproj
+index d06a0a53..97cc041c 100644
+--- a/examples/AOT/AOT_Logging/src/AOT_Logging/AOT_Logging.csproj
++++ b/examples/AOT/AOT_Logging/src/AOT_Logging/AOT_Logging.csproj
+@@ -18,8 +18,8 @@
+
+
+
+-
+-
+-
++
++
++
+
+
+diff --git a/examples/AOT/AOT_Logging/test/AOT_Logging.Tests/AOT_Logging.Tests.csproj b/examples/AOT/AOT_Logging/test/AOT_Logging.Tests/AOT_Logging.Tests.csproj
+index cba0ba03..3d996e24 100644
+--- a/examples/AOT/AOT_Logging/test/AOT_Logging.Tests/AOT_Logging.Tests.csproj
++++ b/examples/AOT/AOT_Logging/test/AOT_Logging.Tests/AOT_Logging.Tests.csproj
+@@ -6,7 +6,7 @@
+ true
+
+
+-
++
+
+
+
+diff --git a/examples/AOT/AOT_Metrics/src/AOT_Metrics/AOT_Metrics.csproj b/examples/AOT/AOT_Metrics/src/AOT_Metrics/AOT_Metrics.csproj
+index 74caf11d..ec08ac52 100644
+--- a/examples/AOT/AOT_Metrics/src/AOT_Metrics/AOT_Metrics.csproj
++++ b/examples/AOT/AOT_Metrics/src/AOT_Metrics/AOT_Metrics.csproj
+@@ -18,8 +18,8 @@
+
+
+
+-
+-
+-
++
++
++
+
+
+\ No newline at end of file
+diff --git a/examples/AOT/AOT_Metrics/test/AOT_Metrics.Tests/AOT_Metrics.Tests.csproj b/examples/AOT/AOT_Metrics/test/AOT_Metrics.Tests/AOT_Metrics.Tests.csproj
+index fb935a9a..34fa6d4c 100644
+--- a/examples/AOT/AOT_Metrics/test/AOT_Metrics.Tests/AOT_Metrics.Tests.csproj
++++ b/examples/AOT/AOT_Metrics/test/AOT_Metrics.Tests/AOT_Metrics.Tests.csproj
+@@ -6,7 +6,7 @@
+ true
+
+
+-
++
+
+
+
+diff --git a/examples/AOT/AOT_Tracing/src/AOT_Tracing/AOT_Tracing.csproj b/examples/AOT/AOT_Tracing/src/AOT_Tracing/AOT_Tracing.csproj
+index 6e92d331..20100166 100644
+--- a/examples/AOT/AOT_Tracing/src/AOT_Tracing/AOT_Tracing.csproj
++++ b/examples/AOT/AOT_Tracing/src/AOT_Tracing/AOT_Tracing.csproj
+@@ -18,8 +18,8 @@
+
+
+
+-
+-
+-
++
++
++
+
+
+\ No newline at end of file
+diff --git a/examples/AOT/AOT_Tracing/test/AOT_Tracing.Tests/AOT_Tracing.Tests.csproj b/examples/AOT/AOT_Tracing/test/AOT_Tracing.Tests/AOT_Tracing.Tests.csproj
+index b62601e6..2bdc9557 100644
+--- a/examples/AOT/AOT_Tracing/test/AOT_Tracing.Tests/AOT_Tracing.Tests.csproj
++++ b/examples/AOT/AOT_Tracing/test/AOT_Tracing.Tests/AOT_Tracing.Tests.csproj
+@@ -6,7 +6,7 @@
+ true
+
+
+-
++
+
+
+
+diff --git a/examples/BatchProcessing/events/event.json b/examples/BatchProcessing/events/event.json
+index f98443d8..6b9c1b91 100644
+--- a/examples/BatchProcessing/events/event.json
++++ b/examples/BatchProcessing/events/event.json
+@@ -7,7 +7,7 @@
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1545082649183",
+- "SenderId": "SENDER_ID",
++ "SenderId": "AIDAIENQZJOLO23YVJ4VO",
+ "ApproximateFirstReceiveTimestamp": "1545082649185"
+ },
+ "messageAttributes": {},
+@@ -23,7 +23,7 @@
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1545082649183",
+- "SenderId": "SENDER_ID",
++ "SenderId": "AIDAIENQZJOLO23YVJ4VO",
+ "ApproximateFirstReceiveTimestamp": "1545082649185"
+ },
+ "messageAttributes": {},
+diff --git a/examples/BatchProcessing/events/typed-dynamodb-event.json b/examples/BatchProcessing/events/typed-dynamodb-event.json
+deleted file mode 100644
+index 858454d6..00000000
+--- a/examples/BatchProcessing/events/typed-dynamodb-event.json
++++ /dev/null
+@@ -1,82 +0,0 @@
+-{
+- "Records": [
+- {
+- "eventID": "1",
+- "eventVersion": "1.0",
+- "dynamodb": {
+- "Keys": {
+- "customerId": {
+- "S": "CUST-123"
+- }
+- },
+- "NewImage": {
+- "customerId": {
+- "S": "CUST-123"
+- },
+- "name": {
+- "S": "John Doe"
+- },
+- "email": {
+- "S": "john.doe@example.com"
+- },
+- "createdAt": {
+- "S": "2024-01-15T10:30:00Z"
+- }
+- },
+- "StreamViewType": "NEW_AND_OLD_IMAGES",
+- "SequenceNumber": "111",
+- "SizeBytes": 26
+- },
+- "awsRegion": "us-west-2",
+- "eventName": "INSERT",
+- "eventSourceARN": "arn:aws:dynamodb:us-west-2:123456789012:table/customers/stream/2015-06-27T00:48:05.899",
+- "eventSource": "aws:dynamodb"
+- },
+- {
+- "eventID": "2",
+- "eventVersion": "1.0",
+- "dynamodb": {
+- "Keys": {
+- "customerId": {
+- "S": "CUST-124"
+- }
+- },
+- "NewImage": {
+- "customerId": {
+- "S": "CUST-124"
+- },
+- "name": {
+- "S": "Jane Smith"
+- },
+- "email": {
+- "S": "jane.smith@example.com"
+- },
+- "createdAt": {
+- "S": "2024-01-15T10:35:00Z"
+- }
+- },
+- "OldImage": {
+- "customerId": {
+- "S": "CUST-124"
+- },
+- "name": {
+- "S": "Jane Doe"
+- },
+- "email": {
+- "S": "jane.doe@example.com"
+- },
+- "createdAt": {
+- "S": "2024-01-15T10:35:00Z"
+- }
+- },
+- "StreamViewType": "NEW_AND_OLD_IMAGES",
+- "SequenceNumber": "222",
+- "SizeBytes": 59
+- },
+- "awsRegion": "us-west-2",
+- "eventName": "MODIFY",
+- "eventSourceARN": "arn:aws:dynamodb:us-west-2:123456789012:table/customers/stream/2015-06-27T00:48:05.899",
+- "eventSource": "aws:dynamodb"
+- }
+- ]
+-}
+\ No newline at end of file
+diff --git a/examples/BatchProcessing/events/typed-kinesis-event.json b/examples/BatchProcessing/events/typed-kinesis-event.json
+deleted file mode 100644
+index c9d66d8e..00000000
+--- a/examples/BatchProcessing/events/typed-kinesis-event.json
++++ /dev/null
+@@ -1,36 +0,0 @@
+-{
+- "Records": [
+- {
+- "kinesis": {
+- "kinesisSchemaVersion": "1.0",
+- "partitionKey": "order-1",
+- "sequenceNumber": "49590338271490256608559692538361571095921575989136588898",
+- "data": "eyJvcmRlcklkIjogIk9SRC0xMjMiLCAib3JkZXJEYXRlIjogIjIwMjQtMDEtMTVUMTA6MzA6MDBaIiwgImN1c3RvbWVySWQiOiAiQ1VTVC0xMjMiLCAiaXRlbXMiOiBbeyJpZCI6IDEsICJuYW1lIjogIkxhcHRvcCIsICJwcmljZSI6IDk5OS45OX0sIHsiaWQiOiAyLCAibmFtZSI6ICJNb3VzZSIsICJwcmljZSI6IDI5Ljk5fV0sICJ0b3RhbEFtb3VudCI6IDEwMjkuOTgsICJzdGF0dXMiOiAiUGVuZGluZyJ9",
+- "approximateArrivalTimestamp": 1545084650.987
+- },
+- "eventSource": "aws:kinesis",
+- "eventVersion": "1.0",
+- "eventID": "shardId-000000000006:49590338271490256608559692538361571095921575989136588898",
+- "eventName": "aws:kinesis:record",
+- "invokeIdentityArn": "arn:aws:iam::123456789012:role/lambda-kinesis-role",
+- "awsRegion": "us-east-1",
+- "eventSourceARN": "arn:aws:kinesis:us-east-1:123456789012:stream/lambda-stream"
+- },
+- {
+- "kinesis": {
+- "kinesisSchemaVersion": "1.0",
+- "partitionKey": "order-2",
+- "sequenceNumber": "49590338271490256608559692538361571095921575989136588899",
+- "data": "eyJvcmRlcklkIjogIk9SRC0xMjQiLCAib3JkZXJEYXRlIjogIjIwMjQtMDEtMTVUMTA6MzU6MDBaIiwgImN1c3RvbWVySWQiOiAiQ1VTVC0xMjQiLCAiaXRlbXMiOiBbeyJpZCI6IDMsICJuYW1lIjogIktleWJvYXJkIiwgInByaWNlIjogNzkuOTl9XSwgInRvdGFsQW1vdW50IjogNzkuOTksICJzdGF0dXMiOiAiUGVuZGluZyJ9",
+- "approximateArrivalTimestamp": 1545084651.987
+- },
+- "eventSource": "aws:kinesis",
+- "eventVersion": "1.0",
+- "eventID": "shardId-000000000006:49590338271490256608559692538361571095921575989136588899",
+- "eventName": "aws:kinesis:record",
+- "invokeIdentityArn": "arn:aws:iam::123456789012:role/lambda-kinesis-role",
+- "awsRegion": "us-east-1",
+- "eventSourceARN": "arn:aws:kinesis:us-east-1:123456789012:stream/lambda-stream"
+- }
+- ]
+-}
+\ No newline at end of file
+diff --git a/examples/BatchProcessing/events/typed-sqs-event.json b/examples/BatchProcessing/events/typed-sqs-event.json
+deleted file mode 100644
+index 864180c0..00000000
+--- a/examples/BatchProcessing/events/typed-sqs-event.json
++++ /dev/null
+@@ -1,52 +0,0 @@
+-{
+- "Records": [
+- {
+- "messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb78",
+- "receiptHandle": "MessageReceiptHandle",
+- "body": "{\"id\": 1, \"name\": \"Laptop Computer\", \"price\": 999.99}",
+- "attributes": {
+- "ApproximateReceiveCount": "1",
+- "SentTimestamp": "1523232000000",
+- "SenderId": "123456789012",
+- "ApproximateFirstReceiveTimestamp": "1523232000001"
+- },
+- "messageAttributes": {},
+- "md5OfBody": "7b270e59b47ff90a553787216d55d91d",
+- "eventSource": "aws:sqs",
+- "eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
+- "awsRegion": "us-east-1"
+- },
+- {
+- "messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb79",
+- "receiptHandle": "MessageReceiptHandle2",
+- "body": "{\"id\": 2, \"name\": \"Wireless Mouse\", \"price\": 29.99}",
+- "attributes": {
+- "ApproximateReceiveCount": "1",
+- "SentTimestamp": "1523232000000",
+- "SenderId": "123456789012",
+- "ApproximateFirstReceiveTimestamp": "1523232000001"
+- },
+- "messageAttributes": {},
+- "md5OfBody": "7b270e59b47ff90a553787216d55d92e",
+- "eventSource": "aws:sqs",
+- "eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
+- "awsRegion": "us-east-1"
+- },
+- {
+- "messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb80",
+- "receiptHandle": "MessageReceiptHandle3",
+- "body": "{\"id\": 999, \"name\": \"Invalid Product\", \"price\": -10.00}",
+- "attributes": {
+- "ApproximateReceiveCount": "1",
+- "SentTimestamp": "1523232000000",
+- "SenderId": "123456789012",
+- "ApproximateFirstReceiveTimestamp": "1523232000001"
+- },
+- "messageAttributes": {},
+- "md5OfBody": "7b270e59b47ff90a553787216d55d93f",
+- "eventSource": "aws:sqs",
+- "eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
+- "awsRegion": "us-east-1"
+- }
+- ]
+-}
+\ No newline at end of file
+diff --git a/examples/BatchProcessing/src/HelloWorld/Data/Order.cs b/examples/BatchProcessing/src/HelloWorld/Data/Order.cs
+deleted file mode 100644
+index 89703a92..00000000
+--- a/examples/BatchProcessing/src/HelloWorld/Data/Order.cs
++++ /dev/null
+@@ -1,50 +0,0 @@
+-/*
+- * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License").
+- * You may not use this file except in compliance with the License.
+- * A copy of the License is located at
+- *
+- * http://aws.amazon.com/apache2.0
+- *
+- * or in the "license" file accompanying this file. This file is distributed
+- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+- * express or implied. See the License for the specific language governing
+- * permissions and limitations under the License.
+- */
+-
+-using System;
+-using System.Collections.Generic;
+-using System.Text.Json.Serialization;
+-
+-namespace HelloWorld.Data;
+-
+-public class Order
+-{
+- public string? OrderId { get; set; }
+- public DateTime OrderDate { get; set; }
+- public string? CustomerId { get; set; }
+- public List Items { get; set; } = new();
+- public decimal TotalAmount { get; set; }
+- public string? Status { get; set; }
+-}
+-
+-public class Customer
+-{
+- public string? CustomerId { get; set; }
+- public string? Name { get; set; }
+- public string? Email { get; set; }
+- public DateTime CreatedAt { get; set; }
+-}
+-
+-///
+-/// JsonSerializerContext for AOT compatibility
+-///
+-[JsonSerializable(typeof(Product))]
+-[JsonSerializable(typeof(Order))]
+-[JsonSerializable(typeof(Customer))]
+-[JsonSerializable(typeof(List))]
+-[JsonSerializable(typeof(List))]
+-public partial class ExampleJsonSerializerContext : JsonSerializerContext
+-{
+-}
+\ No newline at end of file
+diff --git a/examples/BatchProcessing/src/HelloWorld/Dockerfile b/examples/BatchProcessing/src/HelloWorld/Dockerfile
+index 0b025f36..eb6d0e0b 100644
+--- a/examples/BatchProcessing/src/HelloWorld/Dockerfile
++++ b/examples/BatchProcessing/src/HelloWorld/Dockerfile
+@@ -1,4 +1,4 @@
+-FROM mcr.microsoft.com/dotnet/sdk@sha256:c8fdd06e430de9f4ddd066b475ea350d771f341b77dd5ff4c2fafa748e3f2ef2 AS build-image
++FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-image
+
+ ARG FUNCTION_DIR="/build"
+ ARG SAM_BUILD_MODE="run"
+@@ -15,7 +15,7 @@ RUN mkdir -p build_artifacts
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then dotnet lambda package --configuration Debug; else dotnet lambda package --configuration Release; fi
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then cp -r /build/bin/Debug/net6.0/publish/* /build/build_artifacts; else cp -r /build/bin/Release/net6.0/publish/* /build/build_artifacts; fi
+
+-FROM public.ecr.aws/lambda/dotnet@sha256:ec61a7f638e2a0c86d75204117cc7710bcdc70222ffc777e3fc1458287b09834
++FROM public.ecr.aws/lambda/dotnet:6
+
+ COPY --from=build-image /build/build_artifacts/ /var/task/
+ # Command can be overwritten by providing a different command in the template directly.
+diff --git a/examples/BatchProcessing/src/HelloWorld/HelloWorld.csproj b/examples/BatchProcessing/src/HelloWorld/HelloWorld.csproj
+index 7d3263e2..d34e3e63 100644
+--- a/examples/BatchProcessing/src/HelloWorld/HelloWorld.csproj
++++ b/examples/BatchProcessing/src/HelloWorld/HelloWorld.csproj
+@@ -5,10 +5,10 @@
+ enable
+
+
+-
+-
++
++
+
+-
+-
++
++
+
+
+diff --git a/examples/BatchProcessing/test/HelloWorld.Test/HelloWorld.Tests.csproj b/examples/BatchProcessing/test/HelloWorld.Test/HelloWorld.Tests.csproj
+index 3990c011..903aee7d 100644
+--- a/examples/BatchProcessing/test/HelloWorld.Test/HelloWorld.Tests.csproj
++++ b/examples/BatchProcessing/test/HelloWorld.Test/HelloWorld.Tests.csproj
+@@ -3,12 +3,12 @@
+ net8.0
+
+
+-
++
+
+
+
+
+-
++
+
+
+
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/.gitignore b/examples/Event Handler/BedrockAgentFunction/infra/.gitignore
+deleted file mode 100644
+index f60797b6..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/.gitignore
++++ /dev/null
+@@ -1,8 +0,0 @@
+-*.js
+-!jest.config.js
+-*.d.ts
+-node_modules
+-
+-# CDK asset staging directory
+-.cdk.staging
+-cdk.out
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/.npmignore b/examples/Event Handler/BedrockAgentFunction/infra/.npmignore
+deleted file mode 100644
+index c1d6d45d..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/.npmignore
++++ /dev/null
+@@ -1,6 +0,0 @@
+-*.ts
+-!*.d.ts
+-
+-# CDK asset staging directory
+-.cdk.staging
+-cdk.out
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/cdk.json b/examples/Event Handler/BedrockAgentFunction/infra/cdk.json
+deleted file mode 100644
+index eea31fee..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/cdk.json
++++ /dev/null
+@@ -1,96 +0,0 @@
+-{
+- "app": "npx ts-node --prefer-ts-exts bin/infra.ts",
+- "watch": {
+- "include": [
+- "**"
+- ],
+- "exclude": [
+- "README.md",
+- "cdk*.json",
+- "**/*.d.ts",
+- "**/*.js",
+- "tsconfig.json",
+- "package*.json",
+- "yarn.lock",
+- "node_modules",
+- "test"
+- ]
+- },
+- "context": {
+- "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
+- "@aws-cdk/core:checkSecretUsage": true,
+- "@aws-cdk/core:target-partitions": [
+- "aws",
+- "aws-cn"
+- ],
+- "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
+- "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
+- "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
+- "@aws-cdk/aws-iam:minimizePolicies": true,
+- "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
+- "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
+- "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
+- "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
+- "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
+- "@aws-cdk/core:enablePartitionLiterals": true,
+- "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
+- "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
+- "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
+- "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
+- "@aws-cdk/aws-route53-patters:useCertificate": true,
+- "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
+- "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
+- "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
+- "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
+- "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
+- "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
+- "@aws-cdk/aws-redshift:columnId": true,
+- "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
+- "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
+- "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
+- "@aws-cdk/aws-kms:aliasNameRef": true,
+- "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
+- "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
+- "@aws-cdk/aws-efs:denyAnonymousAccess": true,
+- "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
+- "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
+- "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
+- "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
+- "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
+- "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
+- "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
+- "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
+- "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
+- "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
+- "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
+- "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
+- "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
+- "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
+- "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
+- "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
+- "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
+- "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true,
+- "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
+- "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true,
+- "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
+- "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true,
+- "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true,
+- "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true,
+- "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true,
+- "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true,
+- "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true,
+- "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true,
+- "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true,
+- "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true,
+- "@aws-cdk/core:enableAdditionalMetadataCollection": true,
+- "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": false,
+- "@aws-cdk/aws-s3:setUniqueReplicationRoleName": true,
+- "@aws-cdk/aws-events:requireEventBusPolicySid": true,
+- "@aws-cdk/core:aspectPrioritiesMutating": true,
+- "@aws-cdk/aws-dynamodb:retainTableReplica": true,
+- "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": true,
+- "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": true,
+- "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": true,
+- "@aws-cdk/aws-s3:publicAccessBlockedByDefault": true
+- }
+-}
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/jest.config.js b/examples/Event Handler/BedrockAgentFunction/infra/jest.config.js
+deleted file mode 100644
+index 08263b89..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/jest.config.js
++++ /dev/null
+@@ -1,8 +0,0 @@
+-module.exports = {
+- testEnvironment: 'node',
+- roots: ['/test'],
+- testMatch: ['**/*.test.ts'],
+- transform: {
+- '^.+\\.tsx?$': 'ts-jest'
+- }
+-};
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/lib/bedrockagents-stack.ts b/examples/Event Handler/BedrockAgentFunction/infra/lib/bedrockagents-stack.ts
+deleted file mode 100644
+index 001d9912..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/lib/bedrockagents-stack.ts
++++ /dev/null
+@@ -1,121 +0,0 @@
+-import {
+- Stack,
+- type StackProps,
+- CfnOutput,
+- RemovalPolicy,
+- Arn,
+- Duration,
+-} from 'aws-cdk-lib';
+-import type { Construct } from 'constructs';
+-import { Runtime, Function as LambdaFunction, Code, Architecture } from 'aws-cdk-lib/aws-lambda';
+-import { LogGroup, RetentionDays } from 'aws-cdk-lib/aws-logs';
+-import { CfnAgent } from 'aws-cdk-lib/aws-bedrock';
+-import {
+- PolicyDocument,
+- PolicyStatement,
+- Role,
+- ServicePrincipal,
+-} from 'aws-cdk-lib/aws-iam';
+-
+-export class BedrockAgentsStack extends Stack {
+- constructor(scope: Construct, id: string, props?: StackProps) {
+- super(scope, id, props);
+-
+- const fnName = 'BedrockAgentsFn';
+- const logGroup = new LogGroup(this, 'MyLogGroup', {
+- logGroupName: `/aws/lambda/${fnName}`,
+- removalPolicy: RemovalPolicy.DESTROY,
+- retention: RetentionDays.ONE_DAY,
+- });
+-
+- const fn = new LambdaFunction(this, 'MyFunction', {
+- functionName: fnName,
+- logGroup,
+- timeout: Duration.minutes(3),
+- runtime: Runtime.DOTNET_8,
+- handler: 'BedrockAgentFunction',
+- code: Code.fromAsset('../release/BedrockAgentFunction.zip'),
+- architecture: Architecture.X86_64,
+- });
+-
+- const agentRole = new Role(this, 'MyAgentRole', {
+- assumedBy: new ServicePrincipal('bedrock.amazonaws.com'),
+- description: 'Role for Bedrock airport agent',
+- inlinePolicies: {
+- bedrock: new PolicyDocument({
+- statements: [
+- new PolicyStatement({
+- actions: [
+- 'bedrock:*',
+- ],
+- resources: [
+- Arn.format(
+- {
+- service: 'bedrock',
+- resource: 'foundation-model/*',
+- region: 'us-*',
+- account: '',
+- },
+- Stack.of(this)
+- ),
+- Arn.format(
+- {
+- service: 'bedrock',
+- resource: 'inference-profile/*',
+- region: 'us-*',
+- account: '*',
+- },
+- Stack.of(this)
+- ),
+- ],
+- }),
+- ],
+- }),
+- },
+- });
+-
+- const agent = new CfnAgent(this, 'MyCfnAgent', {
+- agentName: 'airportAgent',
+- actionGroups: [
+- {
+- actionGroupName: 'airportActionGroup',
+- actionGroupExecutor: {
+- lambda: fn.functionArn,
+- },
+- functionSchema: {
+- functions: [
+- {
+- name: 'getAirportCodeForCity',
+- description: 'Get airport code and full airport name for a specific city',
+- parameters: {
+- city: {
+- type: 'string',
+- description: 'The name of the city to get the airport code for',
+- required: true,
+- },
+- },
+- },
+- ],
+- },
+- },
+- ],
+- agentResourceRoleArn: agentRole.roleArn,
+- autoPrepare: true,
+- description: 'A simple airport agent',
+- foundationModel: `arn:aws:bedrock:us-west-2:${Stack.of(this).account}:inference-profile/us.amazon.nova-pro-v1:0`,
+- instruction:
+- 'You are an airport traffic control agent. You will be given a city name and you will return the airport code and airport full name for that city.',
+- });
+-
+- fn.addPermission('BedrockAgentInvokePermission', {
+- principal: new ServicePrincipal('bedrock.amazonaws.com'),
+- action: 'lambda:InvokeFunction',
+- sourceAccount: this.account,
+- sourceArn: `arn:aws:bedrock:${this.region}:${this.account}:agent/${agent.attrAgentId}`,
+- });
+-
+- new CfnOutput(this, 'FunctionArn', {
+- value: fn.functionArn,
+- });
+- }
+-}
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/package-lock.json b/examples/Event Handler/BedrockAgentFunction/infra/package-lock.json
+deleted file mode 100644
+index 1cf13f4b..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/package-lock.json
++++ /dev/null
+@@ -1,4453 +0,0 @@
+-{
+- "name": "infra",
+- "version": "0.1.0",
+- "lockfileVersion": 3,
+- "requires": true,
+- "packages": {
+- "": {
+- "name": "infra",
+- "version": "0.1.0",
+- "dependencies": {
+- "aws-cdk-lib": "2.198.0",
+- "constructs": "^10.0.0"
+- },
+- "bin": {
+- "infra": "bin/infra.js"
+- },
+- "devDependencies": {
+- "@types/jest": "^29.5.14",
+- "@types/node": "22.7.9",
+- "aws-cdk": "2.1017.1",
+- "jest": "^29.7.0",
+- "ts-jest": "^29.2.5",
+- "ts-node": "^10.9.2",
+- "typescript": "~5.6.3"
+- }
+- },
+- "node_modules/@ampproject/remapping": {
+- "version": "2.3.0",
+- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "@jridgewell/gen-mapping": "^0.3.5",
+- "@jridgewell/trace-mapping": "^0.3.24"
+- },
+- "engines": {
+- "node": ">=6.0.0"
+- }
+- },
+- "node_modules/@aws-cdk/asset-awscli-v1": {
+- "version": "2.2.237",
+- "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.237.tgz",
+- "integrity": "sha512-OlXylbXI52lboFVJBFLae+WB99qWmI121x/wXQHEMj2RaVNVbWE+OAHcDk2Um1BitUQCaTf9ki57B0Fuqx0Rvw==",
+- "license": "Apache-2.0"
+- },
+- "node_modules/@aws-cdk/asset-node-proxy-agent-v6": {
+- "version": "2.1.0",
+- "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.1.0.tgz",
+- "integrity": "sha512-7bY3J8GCVxLupn/kNmpPc5VJz8grx+4RKfnnJiO1LG+uxkZfANZG3RMHhE+qQxxwkyQ9/MfPtTpf748UhR425A==",
+- "license": "Apache-2.0"
+- },
+- "node_modules/@aws-cdk/cloud-assembly-schema": {
+- "version": "41.2.0",
+- "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-41.2.0.tgz",
+- "integrity": "sha512-JaulVS6z9y5+u4jNmoWbHZRs9uGOnmn/ktXygNWKNu1k6lF3ad4so3s18eRu15XCbUIomxN9WPYT6Ehh7hzONw==",
+- "bundleDependencies": [
+- "jsonschema",
+- "semver"
+- ],
+- "license": "Apache-2.0",
+- "dependencies": {
+- "jsonschema": "~1.4.1",
+- "semver": "^7.7.1"
+- },
+- "engines": {
+- "node": ">= 14.15.0"
+- }
+- },
+- "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": {
+- "version": "1.4.1",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": "*"
+- }
+- },
+- "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": {
+- "version": "7.7.1",
+- "inBundle": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/@babel/code-frame": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-validator-identifier": "^7.27.1",
+- "js-tokens": "^4.0.0",
+- "picocolors": "^1.1.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/compat-data": {
+- "version": "7.27.3",
+- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.3.tgz",
+- "integrity": "sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/core": {
+- "version": "7.27.4",
+- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
+- "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@ampproject/remapping": "^2.2.0",
+- "@babel/code-frame": "^7.27.1",
+- "@babel/generator": "^7.27.3",
+- "@babel/helper-compilation-targets": "^7.27.2",
+- "@babel/helper-module-transforms": "^7.27.3",
+- "@babel/helpers": "^7.27.4",
+- "@babel/parser": "^7.27.4",
+- "@babel/template": "^7.27.2",
+- "@babel/traverse": "^7.27.4",
+- "@babel/types": "^7.27.3",
+- "convert-source-map": "^2.0.0",
+- "debug": "^4.1.0",
+- "gensync": "^1.0.0-beta.2",
+- "json5": "^2.2.3",
+- "semver": "^6.3.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "funding": {
+- "type": "opencollective",
+- "url": "https://opencollective.com/babel"
+- }
+- },
+- "node_modules/@babel/generator": {
+- "version": "7.27.3",
+- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.3.tgz",
+- "integrity": "sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/parser": "^7.27.3",
+- "@babel/types": "^7.27.3",
+- "@jridgewell/gen-mapping": "^0.3.5",
+- "@jridgewell/trace-mapping": "^0.3.25",
+- "jsesc": "^3.0.2"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helper-compilation-targets": {
+- "version": "7.27.2",
+- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+- "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/compat-data": "^7.27.2",
+- "@babel/helper-validator-option": "^7.27.1",
+- "browserslist": "^4.24.0",
+- "lru-cache": "^5.1.1",
+- "semver": "^6.3.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helper-module-imports": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+- "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/traverse": "^7.27.1",
+- "@babel/types": "^7.27.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helper-module-transforms": {
+- "version": "7.27.3",
+- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
+- "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-module-imports": "^7.27.1",
+- "@babel/helper-validator-identifier": "^7.27.1",
+- "@babel/traverse": "^7.27.3"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0"
+- }
+- },
+- "node_modules/@babel/helper-plugin-utils": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+- "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helper-string-parser": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helper-validator-identifier": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helper-validator-option": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/helpers": {
+- "version": "7.27.4",
+- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.4.tgz",
+- "integrity": "sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/template": "^7.27.2",
+- "@babel/types": "^7.27.3"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/parser": {
+- "version": "7.27.4",
+- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.4.tgz",
+- "integrity": "sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/types": "^7.27.3"
+- },
+- "bin": {
+- "parser": "bin/babel-parser.js"
+- },
+- "engines": {
+- "node": ">=6.0.0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-async-generators": {
+- "version": "7.8.4",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-bigint": {
+- "version": "7.8.3",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-class-properties": {
+- "version": "7.12.13",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.12.13"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-class-static-block": {
+- "version": "7.14.5",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.14.5"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-import-attributes": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
+- "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.27.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-import-meta": {
+- "version": "7.10.4",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.10.4"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-json-strings": {
+- "version": "7.8.3",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-jsx": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
+- "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.27.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+- "version": "7.10.4",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.10.4"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+- "version": "7.8.3",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-numeric-separator": {
+- "version": "7.10.4",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.10.4"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-object-rest-spread": {
+- "version": "7.8.3",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+- "version": "7.8.3",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-optional-chaining": {
+- "version": "7.8.3",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.8.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-private-property-in-object": {
+- "version": "7.14.5",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.14.5"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-top-level-await": {
+- "version": "7.14.5",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.14.5"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/plugin-syntax-typescript": {
+- "version": "7.27.1",
+- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
+- "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.27.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0-0"
+- }
+- },
+- "node_modules/@babel/template": {
+- "version": "7.27.2",
+- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/code-frame": "^7.27.1",
+- "@babel/parser": "^7.27.2",
+- "@babel/types": "^7.27.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/traverse": {
+- "version": "7.27.4",
+- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
+- "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/code-frame": "^7.27.1",
+- "@babel/generator": "^7.27.3",
+- "@babel/parser": "^7.27.4",
+- "@babel/template": "^7.27.2",
+- "@babel/types": "^7.27.3",
+- "debug": "^4.3.1",
+- "globals": "^11.1.0"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@babel/types": {
+- "version": "7.27.3",
+- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.3.tgz",
+- "integrity": "sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/helper-string-parser": "^7.27.1",
+- "@babel/helper-validator-identifier": "^7.27.1"
+- },
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/@bcoe/v8-coverage": {
+- "version": "0.2.3",
+- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@cspotcode/source-map-support": {
+- "version": "0.8.1",
+- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jridgewell/trace-mapping": "0.3.9"
+- },
+- "engines": {
+- "node": ">=12"
+- }
+- },
+- "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
+- "version": "0.3.9",
+- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jridgewell/resolve-uri": "^3.0.3",
+- "@jridgewell/sourcemap-codec": "^1.4.10"
+- }
+- },
+- "node_modules/@istanbuljs/load-nyc-config": {
+- "version": "1.1.0",
+- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "camelcase": "^5.3.1",
+- "find-up": "^4.1.0",
+- "get-package-type": "^0.1.0",
+- "js-yaml": "^3.13.1",
+- "resolve-from": "^5.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/@istanbuljs/schema": {
+- "version": "0.1.3",
+- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/@jest/console": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+- "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "chalk": "^4.0.0",
+- "jest-message-util": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "slash": "^3.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/core": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+- "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/console": "^29.7.0",
+- "@jest/reporters": "^29.7.0",
+- "@jest/test-result": "^29.7.0",
+- "@jest/transform": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "ansi-escapes": "^4.2.1",
+- "chalk": "^4.0.0",
+- "ci-info": "^3.2.0",
+- "exit": "^0.1.2",
+- "graceful-fs": "^4.2.9",
+- "jest-changed-files": "^29.7.0",
+- "jest-config": "^29.7.0",
+- "jest-haste-map": "^29.7.0",
+- "jest-message-util": "^29.7.0",
+- "jest-regex-util": "^29.6.3",
+- "jest-resolve": "^29.7.0",
+- "jest-resolve-dependencies": "^29.7.0",
+- "jest-runner": "^29.7.0",
+- "jest-runtime": "^29.7.0",
+- "jest-snapshot": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "jest-validate": "^29.7.0",
+- "jest-watcher": "^29.7.0",
+- "micromatch": "^4.0.4",
+- "pretty-format": "^29.7.0",
+- "slash": "^3.0.0",
+- "strip-ansi": "^6.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+- },
+- "peerDependenciesMeta": {
+- "node-notifier": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/@jest/environment": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+- "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/fake-timers": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "jest-mock": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/expect": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+- "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "expect": "^29.7.0",
+- "jest-snapshot": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/expect-utils": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+- "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "jest-get-type": "^29.6.3"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/fake-timers": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+- "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "@sinonjs/fake-timers": "^10.0.2",
+- "@types/node": "*",
+- "jest-message-util": "^29.7.0",
+- "jest-mock": "^29.7.0",
+- "jest-util": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/globals": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+- "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/environment": "^29.7.0",
+- "@jest/expect": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "jest-mock": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/reporters": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+- "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@bcoe/v8-coverage": "^0.2.3",
+- "@jest/console": "^29.7.0",
+- "@jest/test-result": "^29.7.0",
+- "@jest/transform": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@jridgewell/trace-mapping": "^0.3.18",
+- "@types/node": "*",
+- "chalk": "^4.0.0",
+- "collect-v8-coverage": "^1.0.0",
+- "exit": "^0.1.2",
+- "glob": "^7.1.3",
+- "graceful-fs": "^4.2.9",
+- "istanbul-lib-coverage": "^3.0.0",
+- "istanbul-lib-instrument": "^6.0.0",
+- "istanbul-lib-report": "^3.0.0",
+- "istanbul-lib-source-maps": "^4.0.0",
+- "istanbul-reports": "^3.1.3",
+- "jest-message-util": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "jest-worker": "^29.7.0",
+- "slash": "^3.0.0",
+- "string-length": "^4.0.1",
+- "strip-ansi": "^6.0.0",
+- "v8-to-istanbul": "^9.0.1"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+- },
+- "peerDependenciesMeta": {
+- "node-notifier": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/@jest/schemas": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@sinclair/typebox": "^0.27.8"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/source-map": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+- "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jridgewell/trace-mapping": "^0.3.18",
+- "callsites": "^3.0.0",
+- "graceful-fs": "^4.2.9"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/test-result": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+- "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/console": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/istanbul-lib-coverage": "^2.0.0",
+- "collect-v8-coverage": "^1.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/test-sequencer": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+- "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/test-result": "^29.7.0",
+- "graceful-fs": "^4.2.9",
+- "jest-haste-map": "^29.7.0",
+- "slash": "^3.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/transform": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+- "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/core": "^7.11.6",
+- "@jest/types": "^29.6.3",
+- "@jridgewell/trace-mapping": "^0.3.18",
+- "babel-plugin-istanbul": "^6.1.1",
+- "chalk": "^4.0.0",
+- "convert-source-map": "^2.0.0",
+- "fast-json-stable-stringify": "^2.1.0",
+- "graceful-fs": "^4.2.9",
+- "jest-haste-map": "^29.7.0",
+- "jest-regex-util": "^29.6.3",
+- "jest-util": "^29.7.0",
+- "micromatch": "^4.0.4",
+- "pirates": "^4.0.4",
+- "slash": "^3.0.0",
+- "write-file-atomic": "^4.0.2"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jest/types": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/schemas": "^29.6.3",
+- "@types/istanbul-lib-coverage": "^2.0.0",
+- "@types/istanbul-reports": "^3.0.0",
+- "@types/node": "*",
+- "@types/yargs": "^17.0.8",
+- "chalk": "^4.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/@jridgewell/gen-mapping": {
+- "version": "0.3.8",
+- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+- "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jridgewell/set-array": "^1.2.1",
+- "@jridgewell/sourcemap-codec": "^1.4.10",
+- "@jridgewell/trace-mapping": "^0.3.24"
+- },
+- "engines": {
+- "node": ">=6.0.0"
+- }
+- },
+- "node_modules/@jridgewell/resolve-uri": {
+- "version": "3.1.2",
+- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.0.0"
+- }
+- },
+- "node_modules/@jridgewell/set-array": {
+- "version": "1.2.1",
+- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.0.0"
+- }
+- },
+- "node_modules/@jridgewell/sourcemap-codec": {
+- "version": "1.5.0",
+- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@jridgewell/trace-mapping": {
+- "version": "0.3.25",
+- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jridgewell/resolve-uri": "^3.1.0",
+- "@jridgewell/sourcemap-codec": "^1.4.14"
+- }
+- },
+- "node_modules/@sinclair/typebox": {
+- "version": "0.27.8",
+- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+- "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@sinonjs/commons": {
+- "version": "3.0.1",
+- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "type-detect": "4.0.8"
+- }
+- },
+- "node_modules/@sinonjs/fake-timers": {
+- "version": "10.3.0",
+- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+- "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "@sinonjs/commons": "^3.0.0"
+- }
+- },
+- "node_modules/@tsconfig/node10": {
+- "version": "1.0.11",
+- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+- "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@tsconfig/node12": {
+- "version": "1.0.11",
+- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@tsconfig/node14": {
+- "version": "1.0.3",
+- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@tsconfig/node16": {
+- "version": "1.0.4",
+- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@types/babel__core": {
+- "version": "7.20.5",
+- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+- "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/parser": "^7.20.7",
+- "@babel/types": "^7.20.7",
+- "@types/babel__generator": "*",
+- "@types/babel__template": "*",
+- "@types/babel__traverse": "*"
+- }
+- },
+- "node_modules/@types/babel__generator": {
+- "version": "7.27.0",
+- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+- "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/types": "^7.0.0"
+- }
+- },
+- "node_modules/@types/babel__template": {
+- "version": "7.4.4",
+- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+- "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/parser": "^7.1.0",
+- "@babel/types": "^7.0.0"
+- }
+- },
+- "node_modules/@types/babel__traverse": {
+- "version": "7.20.7",
+- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
+- "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/types": "^7.20.7"
+- }
+- },
+- "node_modules/@types/graceful-fs": {
+- "version": "4.1.9",
+- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+- "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@types/node": "*"
+- }
+- },
+- "node_modules/@types/istanbul-lib-coverage": {
+- "version": "2.0.6",
+- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+- "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@types/istanbul-lib-report": {
+- "version": "3.0.3",
+- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+- "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@types/istanbul-lib-coverage": "*"
+- }
+- },
+- "node_modules/@types/istanbul-reports": {
+- "version": "3.0.4",
+- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+- "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@types/istanbul-lib-report": "*"
+- }
+- },
+- "node_modules/@types/jest": {
+- "version": "29.5.14",
+- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz",
+- "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "expect": "^29.0.0",
+- "pretty-format": "^29.0.0"
+- }
+- },
+- "node_modules/@types/node": {
+- "version": "22.7.9",
+- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.9.tgz",
+- "integrity": "sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "undici-types": "~6.19.2"
+- }
+- },
+- "node_modules/@types/stack-utils": {
+- "version": "2.0.3",
+- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+- "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/@types/yargs": {
+- "version": "17.0.33",
+- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
+- "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@types/yargs-parser": "*"
+- }
+- },
+- "node_modules/@types/yargs-parser": {
+- "version": "21.0.3",
+- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+- "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/acorn": {
+- "version": "8.14.1",
+- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
+- "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
+- "dev": true,
+- "license": "MIT",
+- "bin": {
+- "acorn": "bin/acorn"
+- },
+- "engines": {
+- "node": ">=0.4.0"
+- }
+- },
+- "node_modules/acorn-walk": {
+- "version": "8.3.4",
+- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+- "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "acorn": "^8.11.0"
+- },
+- "engines": {
+- "node": ">=0.4.0"
+- }
+- },
+- "node_modules/ansi-escapes": {
+- "version": "4.3.2",
+- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "type-fest": "^0.21.3"
+- },
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/ansi-regex": {
+- "version": "5.0.1",
+- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/ansi-styles": {
+- "version": "4.3.0",
+- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "color-convert": "^2.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+- }
+- },
+- "node_modules/anymatch": {
+- "version": "3.1.3",
+- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "normalize-path": "^3.0.0",
+- "picomatch": "^2.0.4"
+- },
+- "engines": {
+- "node": ">= 8"
+- }
+- },
+- "node_modules/arg": {
+- "version": "4.1.3",
+- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/argparse": {
+- "version": "1.0.10",
+- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "sprintf-js": "~1.0.2"
+- }
+- },
+- "node_modules/async": {
+- "version": "3.2.6",
+- "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk": {
+- "version": "2.1017.1",
+- "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.1017.1.tgz",
+- "integrity": "sha512-KtDdkMhfVjDeexjpMrVoSlz2mTYI5BE/KotvJ7iFbZy1G0nkpW1ImZ54TdBefeeFmZ+8DAjU3I6nUFtymyOI1A==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "bin": {
+- "cdk": "bin/cdk"
+- },
+- "engines": {
+- "node": ">= 14.15.0"
+- },
+- "optionalDependencies": {
+- "fsevents": "2.3.2"
+- }
+- },
+- "node_modules/aws-cdk-lib": {
+- "version": "2.198.0",
+- "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.198.0.tgz",
+- "integrity": "sha512-CyZ+lnRsCsLskzQLPO0EiGl5EVcLluhfa67df3b8/gJfsm+91SHJa75OH+ymdGtUp5Vn/MWUPsujw0EhWMfsIQ==",
+- "bundleDependencies": [
+- "@balena/dockerignore",
+- "case",
+- "fs-extra",
+- "ignore",
+- "jsonschema",
+- "minimatch",
+- "punycode",
+- "semver",
+- "table",
+- "yaml",
+- "mime-types"
+- ],
+- "license": "Apache-2.0",
+- "dependencies": {
+- "@aws-cdk/asset-awscli-v1": "2.2.237",
+- "@aws-cdk/asset-node-proxy-agent-v6": "^2.1.0",
+- "@aws-cdk/cloud-assembly-schema": "^41.2.0",
+- "@balena/dockerignore": "^1.0.2",
+- "case": "1.6.3",
+- "fs-extra": "^11.3.0",
+- "ignore": "^5.3.2",
+- "jsonschema": "^1.5.0",
+- "mime-types": "^2.1.35",
+- "minimatch": "^3.1.2",
+- "punycode": "^2.3.1",
+- "semver": "^7.7.2",
+- "table": "^6.9.0",
+- "yaml": "1.10.2"
+- },
+- "engines": {
+- "node": ">= 14.15.0"
+- },
+- "peerDependencies": {
+- "constructs": "^10.0.0"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": {
+- "version": "1.0.2",
+- "inBundle": true,
+- "license": "Apache-2.0"
+- },
+- "node_modules/aws-cdk-lib/node_modules/ajv": {
+- "version": "8.17.1",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "fast-deep-equal": "^3.1.3",
+- "fast-uri": "^3.0.1",
+- "json-schema-traverse": "^1.0.0",
+- "require-from-string": "^2.0.2"
+- },
+- "funding": {
+- "type": "github",
+- "url": "https://github.com/sponsors/epoberezkin"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/ansi-regex": {
+- "version": "5.0.1",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/ansi-styles": {
+- "version": "4.3.0",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "color-convert": "^2.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/astral-regex": {
+- "version": "2.0.0",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/balanced-match": {
+- "version": "1.0.2",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/brace-expansion": {
+- "version": "1.1.11",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "balanced-match": "^1.0.0",
+- "concat-map": "0.0.1"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/case": {
+- "version": "1.6.3",
+- "inBundle": true,
+- "license": "(MIT OR GPL-3.0-or-later)",
+- "engines": {
+- "node": ">= 0.8.0"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/color-convert": {
+- "version": "2.0.1",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "color-name": "~1.1.4"
+- },
+- "engines": {
+- "node": ">=7.0.0"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/color-name": {
+- "version": "1.1.4",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/concat-map": {
+- "version": "0.0.1",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/emoji-regex": {
+- "version": "8.0.0",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/fast-deep-equal": {
+- "version": "3.1.3",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/fast-uri": {
+- "version": "3.0.6",
+- "funding": [
+- {
+- "type": "github",
+- "url": "https://github.com/sponsors/fastify"
+- },
+- {
+- "type": "opencollective",
+- "url": "https://opencollective.com/fastify"
+- }
+- ],
+- "inBundle": true,
+- "license": "BSD-3-Clause"
+- },
+- "node_modules/aws-cdk-lib/node_modules/fs-extra": {
+- "version": "11.3.0",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "graceful-fs": "^4.2.0",
+- "jsonfile": "^6.0.1",
+- "universalify": "^2.0.0"
+- },
+- "engines": {
+- "node": ">=14.14"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/graceful-fs": {
+- "version": "4.2.11",
+- "inBundle": true,
+- "license": "ISC"
+- },
+- "node_modules/aws-cdk-lib/node_modules/ignore": {
+- "version": "5.3.2",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">= 4"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/is-fullwidth-code-point": {
+- "version": "3.0.0",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/json-schema-traverse": {
+- "version": "1.0.0",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/jsonfile": {
+- "version": "6.1.0",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "universalify": "^2.0.0"
+- },
+- "optionalDependencies": {
+- "graceful-fs": "^4.1.6"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/jsonschema": {
+- "version": "1.5.0",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": "*"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/lodash.truncate": {
+- "version": "4.4.2",
+- "inBundle": true,
+- "license": "MIT"
+- },
+- "node_modules/aws-cdk-lib/node_modules/mime-db": {
+- "version": "1.52.0",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">= 0.6"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/mime-types": {
+- "version": "2.1.35",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "mime-db": "1.52.0"
+- },
+- "engines": {
+- "node": ">= 0.6"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/minimatch": {
+- "version": "3.1.2",
+- "inBundle": true,
+- "license": "ISC",
+- "dependencies": {
+- "brace-expansion": "^1.1.7"
+- },
+- "engines": {
+- "node": "*"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/punycode": {
+- "version": "2.3.1",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/require-from-string": {
+- "version": "2.0.2",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/semver": {
+- "version": "7.7.2",
+- "inBundle": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/slice-ansi": {
+- "version": "4.0.0",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "ansi-styles": "^4.0.0",
+- "astral-regex": "^2.0.0",
+- "is-fullwidth-code-point": "^3.0.0"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/string-width": {
+- "version": "4.2.3",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "emoji-regex": "^8.0.0",
+- "is-fullwidth-code-point": "^3.0.0",
+- "strip-ansi": "^6.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/strip-ansi": {
+- "version": "6.0.1",
+- "inBundle": true,
+- "license": "MIT",
+- "dependencies": {
+- "ansi-regex": "^5.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/table": {
+- "version": "6.9.0",
+- "inBundle": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "ajv": "^8.0.1",
+- "lodash.truncate": "^4.4.2",
+- "slice-ansi": "^4.0.0",
+- "string-width": "^4.2.3",
+- "strip-ansi": "^6.0.1"
+- },
+- "engines": {
+- "node": ">=10.0.0"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/universalify": {
+- "version": "2.0.1",
+- "inBundle": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">= 10.0.0"
+- }
+- },
+- "node_modules/aws-cdk-lib/node_modules/yaml": {
+- "version": "1.10.2",
+- "inBundle": true,
+- "license": "ISC",
+- "engines": {
+- "node": ">= 6"
+- }
+- },
+- "node_modules/babel-jest": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
+- "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/transform": "^29.7.0",
+- "@types/babel__core": "^7.1.14",
+- "babel-plugin-istanbul": "^6.1.1",
+- "babel-preset-jest": "^29.6.3",
+- "chalk": "^4.0.0",
+- "graceful-fs": "^4.2.9",
+- "slash": "^3.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.8.0"
+- }
+- },
+- "node_modules/babel-plugin-istanbul": {
+- "version": "6.1.1",
+- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "@babel/helper-plugin-utils": "^7.0.0",
+- "@istanbuljs/load-nyc-config": "^1.0.0",
+- "@istanbuljs/schema": "^0.1.2",
+- "istanbul-lib-instrument": "^5.0.4",
+- "test-exclude": "^6.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+- "version": "5.2.1",
+- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "@babel/core": "^7.12.3",
+- "@babel/parser": "^7.14.7",
+- "@istanbuljs/schema": "^0.1.2",
+- "istanbul-lib-coverage": "^3.2.0",
+- "semver": "^6.3.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/babel-plugin-jest-hoist": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
+- "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/template": "^7.3.3",
+- "@babel/types": "^7.3.3",
+- "@types/babel__core": "^7.1.14",
+- "@types/babel__traverse": "^7.0.6"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/babel-preset-current-node-syntax": {
+- "version": "1.1.0",
+- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz",
+- "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/plugin-syntax-async-generators": "^7.8.4",
+- "@babel/plugin-syntax-bigint": "^7.8.3",
+- "@babel/plugin-syntax-class-properties": "^7.12.13",
+- "@babel/plugin-syntax-class-static-block": "^7.14.5",
+- "@babel/plugin-syntax-import-attributes": "^7.24.7",
+- "@babel/plugin-syntax-import-meta": "^7.10.4",
+- "@babel/plugin-syntax-json-strings": "^7.8.3",
+- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+- "@babel/plugin-syntax-top-level-await": "^7.14.5"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0"
+- }
+- },
+- "node_modules/babel-preset-jest": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
+- "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "babel-plugin-jest-hoist": "^29.6.3",
+- "babel-preset-current-node-syntax": "^1.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "@babel/core": "^7.0.0"
+- }
+- },
+- "node_modules/balanced-match": {
+- "version": "1.0.2",
+- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/brace-expansion": {
+- "version": "1.1.12",
+- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "balanced-match": "^1.0.0",
+- "concat-map": "0.0.1"
+- }
+- },
+- "node_modules/braces": {
+- "version": "3.0.3",
+- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "fill-range": "^7.1.1"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/browserslist": {
+- "version": "4.25.0",
+- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz",
+- "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
+- "dev": true,
+- "funding": [
+- {
+- "type": "opencollective",
+- "url": "https://opencollective.com/browserslist"
+- },
+- {
+- "type": "tidelift",
+- "url": "https://tidelift.com/funding/github/npm/browserslist"
+- },
+- {
+- "type": "github",
+- "url": "https://github.com/sponsors/ai"
+- }
+- ],
+- "license": "MIT",
+- "dependencies": {
+- "caniuse-lite": "^1.0.30001718",
+- "electron-to-chromium": "^1.5.160",
+- "node-releases": "^2.0.19",
+- "update-browserslist-db": "^1.1.3"
+- },
+- "bin": {
+- "browserslist": "cli.js"
+- },
+- "engines": {
+- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+- }
+- },
+- "node_modules/bs-logger": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
+- "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "fast-json-stable-stringify": "2.x"
+- },
+- "engines": {
+- "node": ">= 6"
+- }
+- },
+- "node_modules/bser": {
+- "version": "2.1.1",
+- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "node-int64": "^0.4.0"
+- }
+- },
+- "node_modules/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==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/callsites": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/camelcase": {
+- "version": "5.3.1",
+- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/caniuse-lite": {
+- "version": "1.0.30001720",
+- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz",
+- "integrity": "sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==",
+- "dev": true,
+- "funding": [
+- {
+- "type": "opencollective",
+- "url": "https://opencollective.com/browserslist"
+- },
+- {
+- "type": "tidelift",
+- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+- },
+- {
+- "type": "github",
+- "url": "https://github.com/sponsors/ai"
+- }
+- ],
+- "license": "CC-BY-4.0"
+- },
+- "node_modules/chalk": {
+- "version": "4.1.2",
+- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "ansi-styles": "^4.1.0",
+- "supports-color": "^7.1.0"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/chalk?sponsor=1"
+- }
+- },
+- "node_modules/char-regex": {
+- "version": "1.0.2",
+- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+- "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/ci-info": {
+- "version": "3.9.0",
+- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+- "dev": true,
+- "funding": [
+- {
+- "type": "github",
+- "url": "https://github.com/sponsors/sibiraj-s"
+- }
+- ],
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/cjs-module-lexer": {
+- "version": "1.4.3",
+- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz",
+- "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/cliui": {
+- "version": "8.0.1",
+- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "string-width": "^4.2.0",
+- "strip-ansi": "^6.0.1",
+- "wrap-ansi": "^7.0.0"
+- },
+- "engines": {
+- "node": ">=12"
+- }
+- },
+- "node_modules/co": {
+- "version": "4.6.0",
+- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+- "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "iojs": ">= 1.0.0",
+- "node": ">= 0.12.0"
+- }
+- },
+- "node_modules/collect-v8-coverage": {
+- "version": "1.0.2",
+- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
+- "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/color-convert": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "color-name": "~1.1.4"
+- },
+- "engines": {
+- "node": ">=7.0.0"
+- }
+- },
+- "node_modules/color-name": {
+- "version": "1.1.4",
+- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/concat-map": {
+- "version": "0.0.1",
+- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/constructs": {
+- "version": "10.4.2",
+- "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.2.tgz",
+- "integrity": "sha512-wsNxBlAott2qg8Zv87q3eYZYgheb9lchtBfjHzzLHtXbttwSrHPs1NNQbBrmbb1YZvYg2+Vh0Dor76w4mFxJkA==",
+- "license": "Apache-2.0"
+- },
+- "node_modules/convert-source-map": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/create-jest": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
+- "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "chalk": "^4.0.0",
+- "exit": "^0.1.2",
+- "graceful-fs": "^4.2.9",
+- "jest-config": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "prompts": "^2.0.1"
+- },
+- "bin": {
+- "create-jest": "bin/create-jest.js"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/create-require": {
+- "version": "1.1.1",
+- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/cross-spawn": {
+- "version": "7.0.6",
+- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "path-key": "^3.1.0",
+- "shebang-command": "^2.0.0",
+- "which": "^2.0.1"
+- },
+- "engines": {
+- "node": ">= 8"
+- }
+- },
+- "node_modules/debug": {
+- "version": "4.4.1",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "ms": "^2.1.3"
+- },
+- "engines": {
+- "node": ">=6.0"
+- },
+- "peerDependenciesMeta": {
+- "supports-color": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/dedent": {
+- "version": "1.6.0",
+- "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz",
+- "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==",
+- "dev": true,
+- "license": "MIT",
+- "peerDependencies": {
+- "babel-plugin-macros": "^3.1.0"
+- },
+- "peerDependenciesMeta": {
+- "babel-plugin-macros": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/deepmerge": {
+- "version": "4.3.1",
+- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/detect-newline": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/diff": {
+- "version": "4.0.2",
+- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "engines": {
+- "node": ">=0.3.1"
+- }
+- },
+- "node_modules/diff-sequences": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+- "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/ejs": {
+- "version": "3.1.10",
+- "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+- "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "jake": "^10.8.5"
+- },
+- "bin": {
+- "ejs": "bin/cli.js"
+- },
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/electron-to-chromium": {
+- "version": "1.5.161",
+- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz",
+- "integrity": "sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/emittery": {
+- "version": "0.13.1",
+- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+- "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=12"
+- },
+- "funding": {
+- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+- }
+- },
+- "node_modules/emoji-regex": {
+- "version": "8.0.0",
+- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/error-ex": {
+- "version": "1.3.2",
+- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "is-arrayish": "^0.2.1"
+- }
+- },
+- "node_modules/escalade": {
+- "version": "3.2.0",
+- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/escape-string-regexp": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/esprima": {
+- "version": "4.0.1",
+- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+- "dev": true,
+- "license": "BSD-2-Clause",
+- "bin": {
+- "esparse": "bin/esparse.js",
+- "esvalidate": "bin/esvalidate.js"
+- },
+- "engines": {
+- "node": ">=4"
+- }
+- },
+- "node_modules/execa": {
+- "version": "5.1.1",
+- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "cross-spawn": "^7.0.3",
+- "get-stream": "^6.0.0",
+- "human-signals": "^2.1.0",
+- "is-stream": "^2.0.0",
+- "merge-stream": "^2.0.0",
+- "npm-run-path": "^4.0.1",
+- "onetime": "^5.1.2",
+- "signal-exit": "^3.0.3",
+- "strip-final-newline": "^2.0.0"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+- }
+- },
+- "node_modules/exit": {
+- "version": "0.1.2",
+- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+- "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+- "dev": true,
+- "engines": {
+- "node": ">= 0.8.0"
+- }
+- },
+- "node_modules/expect": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
+- "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/expect-utils": "^29.7.0",
+- "jest-get-type": "^29.6.3",
+- "jest-matcher-utils": "^29.7.0",
+- "jest-message-util": "^29.7.0",
+- "jest-util": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/fast-json-stable-stringify": {
+- "version": "2.1.0",
+- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/fb-watchman": {
+- "version": "2.0.2",
+- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+- "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "bser": "2.1.1"
+- }
+- },
+- "node_modules/filelist": {
+- "version": "1.0.4",
+- "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+- "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "minimatch": "^5.0.1"
+- }
+- },
+- "node_modules/filelist/node_modules/brace-expansion": {
+- "version": "2.0.2",
+- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "balanced-match": "^1.0.0"
+- }
+- },
+- "node_modules/filelist/node_modules/minimatch": {
+- "version": "5.1.6",
+- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "brace-expansion": "^2.0.1"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/fill-range": {
+- "version": "7.1.1",
+- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "to-regex-range": "^5.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/find-up": {
+- "version": "4.1.0",
+- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "locate-path": "^5.0.0",
+- "path-exists": "^4.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/fs.realpath": {
+- "version": "1.0.0",
+- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/fsevents": {
+- "version": "2.3.2",
+- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+- "dev": true,
+- "hasInstallScript": true,
+- "license": "MIT",
+- "optional": true,
+- "os": [
+- "darwin"
+- ],
+- "engines": {
+- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+- }
+- },
+- "node_modules/function-bind": {
+- "version": "1.1.2",
+- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+- "dev": true,
+- "license": "MIT",
+- "funding": {
+- "url": "https://github.com/sponsors/ljharb"
+- }
+- },
+- "node_modules/gensync": {
+- "version": "1.0.0-beta.2",
+- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6.9.0"
+- }
+- },
+- "node_modules/get-caller-file": {
+- "version": "2.0.5",
+- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+- "dev": true,
+- "license": "ISC",
+- "engines": {
+- "node": "6.* || 8.* || >= 10.*"
+- }
+- },
+- "node_modules/get-package-type": {
+- "version": "0.1.0",
+- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8.0.0"
+- }
+- },
+- "node_modules/get-stream": {
+- "version": "6.0.1",
+- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/glob": {
+- "version": "7.2.3",
+- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+- "deprecated": "Glob versions prior to v9 are no longer supported",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "fs.realpath": "^1.0.0",
+- "inflight": "^1.0.4",
+- "inherits": "2",
+- "minimatch": "^3.1.1",
+- "once": "^1.3.0",
+- "path-is-absolute": "^1.0.0"
+- },
+- "engines": {
+- "node": "*"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/isaacs"
+- }
+- },
+- "node_modules/globals": {
+- "version": "11.12.0",
+- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=4"
+- }
+- },
+- "node_modules/graceful-fs": {
+- "version": "4.2.11",
+- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/has-flag": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/hasown": {
+- "version": "2.0.2",
+- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "function-bind": "^1.1.2"
+- },
+- "engines": {
+- "node": ">= 0.4"
+- }
+- },
+- "node_modules/html-escaper": {
+- "version": "2.0.2",
+- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/human-signals": {
+- "version": "2.1.0",
+- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "engines": {
+- "node": ">=10.17.0"
+- }
+- },
+- "node_modules/import-local": {
+- "version": "3.2.0",
+- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
+- "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "pkg-dir": "^4.2.0",
+- "resolve-cwd": "^3.0.0"
+- },
+- "bin": {
+- "import-local-fixture": "fixtures/cli.js"
+- },
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/imurmurhash": {
+- "version": "0.1.4",
+- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.8.19"
+- }
+- },
+- "node_modules/inflight": {
+- "version": "1.0.6",
+- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "once": "^1.3.0",
+- "wrappy": "1"
+- }
+- },
+- "node_modules/inherits": {
+- "version": "2.0.4",
+- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/is-arrayish": {
+- "version": "0.2.1",
+- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/is-core-module": {
+- "version": "2.16.1",
+- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "hasown": "^2.0.2"
+- },
+- "engines": {
+- "node": ">= 0.4"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/ljharb"
+- }
+- },
+- "node_modules/is-fullwidth-code-point": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/is-generator-fn": {
+- "version": "2.1.0",
+- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/is-number": {
+- "version": "7.0.0",
+- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.12.0"
+- }
+- },
+- "node_modules/is-stream": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/isexe": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/istanbul-lib-coverage": {
+- "version": "3.2.2",
+- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+- "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/istanbul-lib-instrument": {
+- "version": "6.0.3",
+- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
+- "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "@babel/core": "^7.23.9",
+- "@babel/parser": "^7.23.9",
+- "@istanbuljs/schema": "^0.1.3",
+- "istanbul-lib-coverage": "^3.2.0",
+- "semver": "^7.5.4"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/istanbul-lib-instrument/node_modules/semver": {
+- "version": "7.7.2",
+- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+- "dev": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/istanbul-lib-report": {
+- "version": "3.0.1",
+- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+- "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "istanbul-lib-coverage": "^3.0.0",
+- "make-dir": "^4.0.0",
+- "supports-color": "^7.1.0"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/istanbul-lib-source-maps": {
+- "version": "4.0.1",
+- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "debug": "^4.1.1",
+- "istanbul-lib-coverage": "^3.0.0",
+- "source-map": "^0.6.1"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/istanbul-reports": {
+- "version": "3.1.7",
+- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+- "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "html-escaper": "^2.0.0",
+- "istanbul-lib-report": "^3.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/jake": {
+- "version": "10.9.2",
+- "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz",
+- "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "async": "^3.2.3",
+- "chalk": "^4.0.2",
+- "filelist": "^1.0.4",
+- "minimatch": "^3.1.2"
+- },
+- "bin": {
+- "jake": "bin/cli.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/jest": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
+- "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/core": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "import-local": "^3.0.2",
+- "jest-cli": "^29.7.0"
+- },
+- "bin": {
+- "jest": "bin/jest.js"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+- },
+- "peerDependenciesMeta": {
+- "node-notifier": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/jest-changed-files": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
+- "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "execa": "^5.0.0",
+- "jest-util": "^29.7.0",
+- "p-limit": "^3.1.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-circus": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
+- "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/environment": "^29.7.0",
+- "@jest/expect": "^29.7.0",
+- "@jest/test-result": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "chalk": "^4.0.0",
+- "co": "^4.6.0",
+- "dedent": "^1.0.0",
+- "is-generator-fn": "^2.0.0",
+- "jest-each": "^29.7.0",
+- "jest-matcher-utils": "^29.7.0",
+- "jest-message-util": "^29.7.0",
+- "jest-runtime": "^29.7.0",
+- "jest-snapshot": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "p-limit": "^3.1.0",
+- "pretty-format": "^29.7.0",
+- "pure-rand": "^6.0.0",
+- "slash": "^3.0.0",
+- "stack-utils": "^2.0.3"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-cli": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
+- "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/core": "^29.7.0",
+- "@jest/test-result": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "chalk": "^4.0.0",
+- "create-jest": "^29.7.0",
+- "exit": "^0.1.2",
+- "import-local": "^3.0.2",
+- "jest-config": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "jest-validate": "^29.7.0",
+- "yargs": "^17.3.1"
+- },
+- "bin": {
+- "jest": "bin/jest.js"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+- },
+- "peerDependenciesMeta": {
+- "node-notifier": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/jest-config": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
+- "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/core": "^7.11.6",
+- "@jest/test-sequencer": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "babel-jest": "^29.7.0",
+- "chalk": "^4.0.0",
+- "ci-info": "^3.2.0",
+- "deepmerge": "^4.2.2",
+- "glob": "^7.1.3",
+- "graceful-fs": "^4.2.9",
+- "jest-circus": "^29.7.0",
+- "jest-environment-node": "^29.7.0",
+- "jest-get-type": "^29.6.3",
+- "jest-regex-util": "^29.6.3",
+- "jest-resolve": "^29.7.0",
+- "jest-runner": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "jest-validate": "^29.7.0",
+- "micromatch": "^4.0.4",
+- "parse-json": "^5.2.0",
+- "pretty-format": "^29.7.0",
+- "slash": "^3.0.0",
+- "strip-json-comments": "^3.1.1"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "peerDependencies": {
+- "@types/node": "*",
+- "ts-node": ">=9.0.0"
+- },
+- "peerDependenciesMeta": {
+- "@types/node": {
+- "optional": true
+- },
+- "ts-node": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/jest-diff": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+- "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "chalk": "^4.0.0",
+- "diff-sequences": "^29.6.3",
+- "jest-get-type": "^29.6.3",
+- "pretty-format": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-docblock": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
+- "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "detect-newline": "^3.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-each": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
+- "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "chalk": "^4.0.0",
+- "jest-get-type": "^29.6.3",
+- "jest-util": "^29.7.0",
+- "pretty-format": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-environment-node": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
+- "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/environment": "^29.7.0",
+- "@jest/fake-timers": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "jest-mock": "^29.7.0",
+- "jest-util": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-get-type": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+- "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-haste-map": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+- "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "@types/graceful-fs": "^4.1.3",
+- "@types/node": "*",
+- "anymatch": "^3.0.3",
+- "fb-watchman": "^2.0.0",
+- "graceful-fs": "^4.2.9",
+- "jest-regex-util": "^29.6.3",
+- "jest-util": "^29.7.0",
+- "jest-worker": "^29.7.0",
+- "micromatch": "^4.0.4",
+- "walker": "^1.0.8"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- },
+- "optionalDependencies": {
+- "fsevents": "^2.3.2"
+- }
+- },
+- "node_modules/jest-leak-detector": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
+- "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "jest-get-type": "^29.6.3",
+- "pretty-format": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-matcher-utils": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+- "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "chalk": "^4.0.0",
+- "jest-diff": "^29.7.0",
+- "jest-get-type": "^29.6.3",
+- "pretty-format": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-message-util": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
+- "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/code-frame": "^7.12.13",
+- "@jest/types": "^29.6.3",
+- "@types/stack-utils": "^2.0.0",
+- "chalk": "^4.0.0",
+- "graceful-fs": "^4.2.9",
+- "micromatch": "^4.0.4",
+- "pretty-format": "^29.7.0",
+- "slash": "^3.0.0",
+- "stack-utils": "^2.0.3"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-mock": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
+- "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "jest-util": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-pnp-resolver": {
+- "version": "1.2.3",
+- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+- "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- },
+- "peerDependencies": {
+- "jest-resolve": "*"
+- },
+- "peerDependenciesMeta": {
+- "jest-resolve": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/jest-regex-util": {
+- "version": "29.6.3",
+- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+- "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-resolve": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
+- "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "chalk": "^4.0.0",
+- "graceful-fs": "^4.2.9",
+- "jest-haste-map": "^29.7.0",
+- "jest-pnp-resolver": "^1.2.2",
+- "jest-util": "^29.7.0",
+- "jest-validate": "^29.7.0",
+- "resolve": "^1.20.0",
+- "resolve.exports": "^2.0.0",
+- "slash": "^3.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-resolve-dependencies": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
+- "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "jest-regex-util": "^29.6.3",
+- "jest-snapshot": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-runner": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
+- "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/console": "^29.7.0",
+- "@jest/environment": "^29.7.0",
+- "@jest/test-result": "^29.7.0",
+- "@jest/transform": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "chalk": "^4.0.0",
+- "emittery": "^0.13.1",
+- "graceful-fs": "^4.2.9",
+- "jest-docblock": "^29.7.0",
+- "jest-environment-node": "^29.7.0",
+- "jest-haste-map": "^29.7.0",
+- "jest-leak-detector": "^29.7.0",
+- "jest-message-util": "^29.7.0",
+- "jest-resolve": "^29.7.0",
+- "jest-runtime": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "jest-watcher": "^29.7.0",
+- "jest-worker": "^29.7.0",
+- "p-limit": "^3.1.0",
+- "source-map-support": "0.5.13"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-runtime": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
+- "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/environment": "^29.7.0",
+- "@jest/fake-timers": "^29.7.0",
+- "@jest/globals": "^29.7.0",
+- "@jest/source-map": "^29.6.3",
+- "@jest/test-result": "^29.7.0",
+- "@jest/transform": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "chalk": "^4.0.0",
+- "cjs-module-lexer": "^1.0.0",
+- "collect-v8-coverage": "^1.0.0",
+- "glob": "^7.1.3",
+- "graceful-fs": "^4.2.9",
+- "jest-haste-map": "^29.7.0",
+- "jest-message-util": "^29.7.0",
+- "jest-mock": "^29.7.0",
+- "jest-regex-util": "^29.6.3",
+- "jest-resolve": "^29.7.0",
+- "jest-snapshot": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "slash": "^3.0.0",
+- "strip-bom": "^4.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-snapshot": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
+- "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/core": "^7.11.6",
+- "@babel/generator": "^7.7.2",
+- "@babel/plugin-syntax-jsx": "^7.7.2",
+- "@babel/plugin-syntax-typescript": "^7.7.2",
+- "@babel/types": "^7.3.3",
+- "@jest/expect-utils": "^29.7.0",
+- "@jest/transform": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "babel-preset-current-node-syntax": "^1.0.0",
+- "chalk": "^4.0.0",
+- "expect": "^29.7.0",
+- "graceful-fs": "^4.2.9",
+- "jest-diff": "^29.7.0",
+- "jest-get-type": "^29.6.3",
+- "jest-matcher-utils": "^29.7.0",
+- "jest-message-util": "^29.7.0",
+- "jest-util": "^29.7.0",
+- "natural-compare": "^1.4.0",
+- "pretty-format": "^29.7.0",
+- "semver": "^7.5.3"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-snapshot/node_modules/semver": {
+- "version": "7.7.2",
+- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+- "dev": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/jest-util": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+- "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "chalk": "^4.0.0",
+- "ci-info": "^3.2.0",
+- "graceful-fs": "^4.2.9",
+- "picomatch": "^2.2.3"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-validate": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+- "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/types": "^29.6.3",
+- "camelcase": "^6.2.0",
+- "chalk": "^4.0.0",
+- "jest-get-type": "^29.6.3",
+- "leven": "^3.1.0",
+- "pretty-format": "^29.7.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-validate/node_modules/camelcase": {
+- "version": "6.3.0",
+- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/jest-watcher": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
+- "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/test-result": "^29.7.0",
+- "@jest/types": "^29.6.3",
+- "@types/node": "*",
+- "ansi-escapes": "^4.2.1",
+- "chalk": "^4.0.0",
+- "emittery": "^0.13.1",
+- "jest-util": "^29.7.0",
+- "string-length": "^4.0.1"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-worker": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+- "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@types/node": "*",
+- "jest-util": "^29.7.0",
+- "merge-stream": "^2.0.0",
+- "supports-color": "^8.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/jest-worker/node_modules/supports-color": {
+- "version": "8.1.1",
+- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "has-flag": "^4.0.0"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/supports-color?sponsor=1"
+- }
+- },
+- "node_modules/js-tokens": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/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==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "argparse": "^1.0.7",
+- "esprima": "^4.0.0"
+- },
+- "bin": {
+- "js-yaml": "bin/js-yaml.js"
+- }
+- },
+- "node_modules/jsesc": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+- "dev": true,
+- "license": "MIT",
+- "bin": {
+- "jsesc": "bin/jsesc"
+- },
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/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==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/json5": {
+- "version": "2.2.3",
+- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+- "dev": true,
+- "license": "MIT",
+- "bin": {
+- "json5": "lib/cli.js"
+- },
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/kleur": {
+- "version": "3.0.3",
+- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/leven": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/lines-and-columns": {
+- "version": "1.2.4",
+- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/locate-path": {
+- "version": "5.0.0",
+- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "p-locate": "^4.1.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/lodash.memoize": {
+- "version": "4.1.2",
+- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+- "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/lru-cache": {
+- "version": "5.1.1",
+- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "yallist": "^3.0.2"
+- }
+- },
+- "node_modules/make-dir": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+- "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "semver": "^7.5.3"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/make-dir/node_modules/semver": {
+- "version": "7.7.2",
+- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+- "dev": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/make-error": {
+- "version": "1.3.6",
+- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/makeerror": {
+- "version": "1.0.12",
+- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+- "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "dependencies": {
+- "tmpl": "1.0.5"
+- }
+- },
+- "node_modules/merge-stream": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/micromatch": {
+- "version": "4.0.8",
+- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "braces": "^3.0.3",
+- "picomatch": "^2.3.1"
+- },
+- "engines": {
+- "node": ">=8.6"
+- }
+- },
+- "node_modules/mimic-fn": {
+- "version": "2.1.0",
+- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/minimatch": {
+- "version": "3.1.2",
+- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "brace-expansion": "^1.1.7"
+- },
+- "engines": {
+- "node": "*"
+- }
+- },
+- "node_modules/ms": {
+- "version": "2.1.3",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/natural-compare": {
+- "version": "1.4.0",
+- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/node-int64": {
+- "version": "0.4.0",
+- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+- "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/node-releases": {
+- "version": "2.0.19",
+- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/normalize-path": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/npm-run-path": {
+- "version": "4.0.1",
+- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "path-key": "^3.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/once": {
+- "version": "1.4.0",
+- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "wrappy": "1"
+- }
+- },
+- "node_modules/onetime": {
+- "version": "5.1.2",
+- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "mimic-fn": "^2.1.0"
+- },
+- "engines": {
+- "node": ">=6"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/p-limit": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "yocto-queue": "^0.1.0"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/p-locate": {
+- "version": "4.1.0",
+- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "p-limit": "^2.2.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/p-locate/node_modules/p-limit": {
+- "version": "2.3.0",
+- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "p-try": "^2.0.0"
+- },
+- "engines": {
+- "node": ">=6"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/p-try": {
+- "version": "2.2.0",
+- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/parse-json": {
+- "version": "5.2.0",
+- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@babel/code-frame": "^7.0.0",
+- "error-ex": "^1.3.1",
+- "json-parse-even-better-errors": "^2.3.0",
+- "lines-and-columns": "^1.1.6"
+- },
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/path-exists": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/path-is-absolute": {
+- "version": "1.0.1",
+- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/path-key": {
+- "version": "3.1.1",
+- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/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==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/picocolors": {
+- "version": "1.1.1",
+- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/picomatch": {
+- "version": "2.3.1",
+- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8.6"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/jonschlinkert"
+- }
+- },
+- "node_modules/pirates": {
+- "version": "4.0.7",
+- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+- "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">= 6"
+- }
+- },
+- "node_modules/pkg-dir": {
+- "version": "4.2.0",
+- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "find-up": "^4.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/pretty-format": {
+- "version": "29.7.0",
+- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+- "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@jest/schemas": "^29.6.3",
+- "ansi-styles": "^5.0.0",
+- "react-is": "^18.0.0"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+- }
+- },
+- "node_modules/pretty-format/node_modules/ansi-styles": {
+- "version": "5.2.0",
+- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+- }
+- },
+- "node_modules/prompts": {
+- "version": "2.4.2",
+- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "kleur": "^3.0.3",
+- "sisteransi": "^1.0.5"
+- },
+- "engines": {
+- "node": ">= 6"
+- }
+- },
+- "node_modules/pure-rand": {
+- "version": "6.1.0",
+- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
+- "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
+- "dev": true,
+- "funding": [
+- {
+- "type": "individual",
+- "url": "https://github.com/sponsors/dubzzz"
+- },
+- {
+- "type": "opencollective",
+- "url": "https://opencollective.com/fast-check"
+- }
+- ],
+- "license": "MIT"
+- },
+- "node_modules/react-is": {
+- "version": "18.3.1",
+- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/require-directory": {
+- "version": "2.1.1",
+- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/resolve": {
+- "version": "1.22.10",
+- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "is-core-module": "^2.16.0",
+- "path-parse": "^1.0.7",
+- "supports-preserve-symlinks-flag": "^1.0.0"
+- },
+- "bin": {
+- "resolve": "bin/resolve"
+- },
+- "engines": {
+- "node": ">= 0.4"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/ljharb"
+- }
+- },
+- "node_modules/resolve-cwd": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "resolve-from": "^5.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/resolve-from": {
+- "version": "5.0.0",
+- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/resolve.exports": {
+- "version": "2.0.3",
+- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
+- "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/semver": {
+- "version": "6.3.1",
+- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+- "dev": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- }
+- },
+- "node_modules/shebang-command": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "shebang-regex": "^3.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/shebang-regex": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/signal-exit": {
+- "version": "3.0.7",
+- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/sisteransi": {
+- "version": "1.0.5",
+- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/slash": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/source-map": {
+- "version": "0.6.1",
+- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+- "dev": true,
+- "license": "BSD-3-Clause",
+- "engines": {
+- "node": ">=0.10.0"
+- }
+- },
+- "node_modules/source-map-support": {
+- "version": "0.5.13",
+- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "buffer-from": "^1.0.0",
+- "source-map": "^0.6.0"
+- }
+- },
+- "node_modules/sprintf-js": {
+- "version": "1.0.3",
+- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+- "dev": true,
+- "license": "BSD-3-Clause"
+- },
+- "node_modules/stack-utils": {
+- "version": "2.0.6",
+- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+- "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "escape-string-regexp": "^2.0.0"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/string-length": {
+- "version": "4.0.2",
+- "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+- "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "char-regex": "^1.0.2",
+- "strip-ansi": "^6.0.0"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/string-width": {
+- "version": "4.2.3",
+- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "emoji-regex": "^8.0.0",
+- "is-fullwidth-code-point": "^3.0.0",
+- "strip-ansi": "^6.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/strip-ansi": {
+- "version": "6.0.1",
+- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "ansi-regex": "^5.0.1"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/strip-bom": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/strip-final-newline": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/strip-json-comments": {
+- "version": "3.1.1",
+- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=8"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/supports-color": {
+- "version": "7.2.0",
+- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "has-flag": "^4.0.0"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/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==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">= 0.4"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/ljharb"
+- }
+- },
+- "node_modules/test-exclude": {
+- "version": "6.0.0",
+- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "@istanbuljs/schema": "^0.1.2",
+- "glob": "^7.1.4",
+- "minimatch": "^3.0.4"
+- },
+- "engines": {
+- "node": ">=8"
+- }
+- },
+- "node_modules/tmpl": {
+- "version": "1.0.5",
+- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+- "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+- "dev": true,
+- "license": "BSD-3-Clause"
+- },
+- "node_modules/to-regex-range": {
+- "version": "5.0.1",
+- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "is-number": "^7.0.0"
+- },
+- "engines": {
+- "node": ">=8.0"
+- }
+- },
+- "node_modules/ts-jest": {
+- "version": "29.3.4",
+- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.4.tgz",
+- "integrity": "sha512-Iqbrm8IXOmV+ggWHOTEbjwyCf2xZlUMv5npExksXohL+tk8va4Fjhb+X2+Rt9NBmgO7bJ8WpnMLOwih/DnMlFA==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "bs-logger": "^0.2.6",
+- "ejs": "^3.1.10",
+- "fast-json-stable-stringify": "^2.1.0",
+- "jest-util": "^29.0.0",
+- "json5": "^2.2.3",
+- "lodash.memoize": "^4.1.2",
+- "make-error": "^1.3.6",
+- "semver": "^7.7.2",
+- "type-fest": "^4.41.0",
+- "yargs-parser": "^21.1.1"
+- },
+- "bin": {
+- "ts-jest": "cli.js"
+- },
+- "engines": {
+- "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0"
+- },
+- "peerDependencies": {
+- "@babel/core": ">=7.0.0-beta.0 <8",
+- "@jest/transform": "^29.0.0",
+- "@jest/types": "^29.0.0",
+- "babel-jest": "^29.0.0",
+- "jest": "^29.0.0",
+- "typescript": ">=4.3 <6"
+- },
+- "peerDependenciesMeta": {
+- "@babel/core": {
+- "optional": true
+- },
+- "@jest/transform": {
+- "optional": true
+- },
+- "@jest/types": {
+- "optional": true
+- },
+- "babel-jest": {
+- "optional": true
+- },
+- "esbuild": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/ts-jest/node_modules/semver": {
+- "version": "7.7.2",
+- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+- "dev": true,
+- "license": "ISC",
+- "bin": {
+- "semver": "bin/semver.js"
+- },
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/ts-jest/node_modules/type-fest": {
+- "version": "4.41.0",
+- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+- "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
+- "dev": true,
+- "license": "(MIT OR CC0-1.0)",
+- "engines": {
+- "node": ">=16"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/ts-node": {
+- "version": "10.9.2",
+- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "@cspotcode/source-map-support": "^0.8.0",
+- "@tsconfig/node10": "^1.0.7",
+- "@tsconfig/node12": "^1.0.7",
+- "@tsconfig/node14": "^1.0.0",
+- "@tsconfig/node16": "^1.0.2",
+- "acorn": "^8.4.1",
+- "acorn-walk": "^8.1.1",
+- "arg": "^4.1.0",
+- "create-require": "^1.1.0",
+- "diff": "^4.0.1",
+- "make-error": "^1.1.1",
+- "v8-compile-cache-lib": "^3.0.1",
+- "yn": "3.1.1"
+- },
+- "bin": {
+- "ts-node": "dist/bin.js",
+- "ts-node-cwd": "dist/bin-cwd.js",
+- "ts-node-esm": "dist/bin-esm.js",
+- "ts-node-script": "dist/bin-script.js",
+- "ts-node-transpile-only": "dist/bin-transpile.js",
+- "ts-script": "dist/bin-script-deprecated.js"
+- },
+- "peerDependencies": {
+- "@swc/core": ">=1.2.50",
+- "@swc/wasm": ">=1.2.50",
+- "@types/node": "*",
+- "typescript": ">=2.7"
+- },
+- "peerDependenciesMeta": {
+- "@swc/core": {
+- "optional": true
+- },
+- "@swc/wasm": {
+- "optional": true
+- }
+- }
+- },
+- "node_modules/type-detect": {
+- "version": "4.0.8",
+- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=4"
+- }
+- },
+- "node_modules/type-fest": {
+- "version": "0.21.3",
+- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+- "dev": true,
+- "license": "(MIT OR CC0-1.0)",
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- },
+- "node_modules/typescript": {
+- "version": "5.6.3",
+- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
+- "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "bin": {
+- "tsc": "bin/tsc",
+- "tsserver": "bin/tsserver"
+- },
+- "engines": {
+- "node": ">=14.17"
+- }
+- },
+- "node_modules/undici-types": {
+- "version": "6.19.8",
+- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+- "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/update-browserslist-db": {
+- "version": "1.1.3",
+- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+- "dev": true,
+- "funding": [
+- {
+- "type": "opencollective",
+- "url": "https://opencollective.com/browserslist"
+- },
+- {
+- "type": "tidelift",
+- "url": "https://tidelift.com/funding/github/npm/browserslist"
+- },
+- {
+- "type": "github",
+- "url": "https://github.com/sponsors/ai"
+- }
+- ],
+- "license": "MIT",
+- "dependencies": {
+- "escalade": "^3.2.0",
+- "picocolors": "^1.1.1"
+- },
+- "bin": {
+- "update-browserslist-db": "cli.js"
+- },
+- "peerDependencies": {
+- "browserslist": ">= 4.21.0"
+- }
+- },
+- "node_modules/v8-compile-cache-lib": {
+- "version": "3.0.1",
+- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+- "dev": true,
+- "license": "MIT"
+- },
+- "node_modules/v8-to-istanbul": {
+- "version": "9.3.0",
+- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
+- "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "@jridgewell/trace-mapping": "^0.3.12",
+- "@types/istanbul-lib-coverage": "^2.0.1",
+- "convert-source-map": "^2.0.0"
+- },
+- "engines": {
+- "node": ">=10.12.0"
+- }
+- },
+- "node_modules/walker": {
+- "version": "1.0.8",
+- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+- "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+- "dev": true,
+- "license": "Apache-2.0",
+- "dependencies": {
+- "makeerror": "1.0.12"
+- }
+- },
+- "node_modules/which": {
+- "version": "2.0.2",
+- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "isexe": "^2.0.0"
+- },
+- "bin": {
+- "node-which": "bin/node-which"
+- },
+- "engines": {
+- "node": ">= 8"
+- }
+- },
+- "node_modules/wrap-ansi": {
+- "version": "7.0.0",
+- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "ansi-styles": "^4.0.0",
+- "string-width": "^4.1.0",
+- "strip-ansi": "^6.0.0"
+- },
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+- }
+- },
+- "node_modules/wrappy": {
+- "version": "1.0.2",
+- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/write-file-atomic": {
+- "version": "4.0.2",
+- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+- "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+- "dev": true,
+- "license": "ISC",
+- "dependencies": {
+- "imurmurhash": "^0.1.4",
+- "signal-exit": "^3.0.7"
+- },
+- "engines": {
+- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+- }
+- },
+- "node_modules/y18n": {
+- "version": "5.0.8",
+- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+- "dev": true,
+- "license": "ISC",
+- "engines": {
+- "node": ">=10"
+- }
+- },
+- "node_modules/yallist": {
+- "version": "3.1.1",
+- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+- "dev": true,
+- "license": "ISC"
+- },
+- "node_modules/yargs": {
+- "version": "17.7.2",
+- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+- "dev": true,
+- "license": "MIT",
+- "dependencies": {
+- "cliui": "^8.0.1",
+- "escalade": "^3.1.1",
+- "get-caller-file": "^2.0.5",
+- "require-directory": "^2.1.1",
+- "string-width": "^4.2.3",
+- "y18n": "^5.0.5",
+- "yargs-parser": "^21.1.1"
+- },
+- "engines": {
+- "node": ">=12"
+- }
+- },
+- "node_modules/yargs-parser": {
+- "version": "21.1.1",
+- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+- "dev": true,
+- "license": "ISC",
+- "engines": {
+- "node": ">=12"
+- }
+- },
+- "node_modules/yn": {
+- "version": "3.1.1",
+- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=6"
+- }
+- },
+- "node_modules/yocto-queue": {
+- "version": "0.1.0",
+- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+- "dev": true,
+- "license": "MIT",
+- "engines": {
+- "node": ">=10"
+- },
+- "funding": {
+- "url": "https://github.com/sponsors/sindresorhus"
+- }
+- }
+- }
+-}
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/package.json b/examples/Event Handler/BedrockAgentFunction/infra/package.json
+deleted file mode 100644
+index eb6545ca..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/package.json
++++ /dev/null
+@@ -1,26 +0,0 @@
+-{
+- "name": "infra",
+- "version": "0.1.0",
+- "bin": {
+- "infra": "bin/infra.js"
+- },
+- "scripts": {
+- "build": "tsc",
+- "watch": "tsc -w",
+- "test": "jest",
+- "cdk": "cdk"
+- },
+- "devDependencies": {
+- "@types/jest": "^29.5.14",
+- "@types/node": "22.7.9",
+- "jest": "^29.7.0",
+- "ts-jest": "^29.2.5",
+- "aws-cdk": "2.1017.1",
+- "ts-node": "^10.9.2",
+- "typescript": "~5.6.3"
+- },
+- "dependencies": {
+- "aws-cdk-lib": "2.198.0",
+- "constructs": "^10.0.0"
+- }
+-}
+diff --git a/examples/Event Handler/BedrockAgentFunction/infra/tsconfig.json b/examples/Event Handler/BedrockAgentFunction/infra/tsconfig.json
+deleted file mode 100644
+index 28bb557f..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/infra/tsconfig.json
++++ /dev/null
+@@ -1,31 +0,0 @@
+-{
+- "compilerOptions": {
+- "target": "ES2022",
+- "module": "NodeNext",
+- "moduleResolution": "NodeNext",
+- "lib": [
+- "es2022"
+- ],
+- "declaration": true,
+- "strict": true,
+- "noImplicitAny": true,
+- "strictNullChecks": true,
+- "noImplicitThis": true,
+- "alwaysStrict": true,
+- "noUnusedLocals": false,
+- "noUnusedParameters": false,
+- "noImplicitReturns": true,
+- "noFallthroughCasesInSwitch": false,
+- "inlineSourceMap": true,
+- "inlineSources": true,
+- "experimentalDecorators": true,
+- "strictPropertyInitialization": false,
+- "typeRoots": [
+- "./node_modules/@types"
+- ]
+- },
+- "exclude": [
+- "node_modules",
+- "cdk.out"
+- ]
+-}
+diff --git a/examples/Event Handler/BedrockAgentFunction/src/AirportService.cs b/examples/Event Handler/BedrockAgentFunction/src/AirportService.cs
+deleted file mode 100644
+index aa26e7f9..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/src/AirportService.cs
++++ /dev/null
+@@ -1,222 +0,0 @@
+-namespace BedrockAgentFunction;
+-
+-public class AirportService
+-{
+- private readonly Dictionary _airportsByCity = new(StringComparer.OrdinalIgnoreCase)
+- {
+- {
+- "New York",
+- new AirportInfo { City = "New York", Code = "JFK", Name = "John F. Kennedy International Airport" }
+- },
+- { "London", new AirportInfo { City = "London", Code = "LHR", Name = "London Heathrow Airport" } },
+- { "Paris", new AirportInfo { City = "Paris", Code = "CDG", Name = "Charles de Gaulle Airport" } },
+- { "Tokyo", new AirportInfo { City = "Tokyo", Code = "HND", Name = "Tokyo Haneda Airport" } },
+- { "Sydney", new AirportInfo { City = "Sydney", Code = "SYD", Name = "Sydney Airport" } },
+- {
+- "Los Angeles",
+- new AirportInfo { City = "Los Angeles", Code = "LAX", Name = "Los Angeles International Airport" }
+- },
+- { "Berlin", new AirportInfo { City = "Berlin", Code = "TXL", Name = "Berlin Tegel Airport" } },
+- { "Dubai", new AirportInfo { City = "Dubai", Code = "DXB", Name = "Dubai International Airport" } },
+- {
+- "Toronto",
+- new AirportInfo { City = "Toronto", Code = "YYZ", Name = "Toronto Pearson International Airport" }
+- },
+- { "Singapore", new AirportInfo { City = "Singapore", Code = "SIN", Name = "Singapore Changi Airport" } },
+- { "Hong Kong", new AirportInfo { City = "Hong Kong", Code = "HKG", Name = "Hong Kong International Airport" } },
+- { "Madrid", new AirportInfo { City = "Madrid", Code = "MAD", Name = "Adolfo Suárez Madrid–Barajas Airport" } },
+- { "Rome", new AirportInfo { City = "Rome", Code = "FCO", Name = "Leonardo da Vinci International Airport" } },
+- { "Moscow", new AirportInfo { City = "Moscow", Code = "SVO", Name = "Sheremetyevo International Airport" } },
+- {
+- "São Paulo",
+- new AirportInfo
+- {
+- City = "São Paulo", Code = "GRU",
+- Name = "São Paulo/Guarulhos–Governador André Franco Montoro International Airport"
+- }
+- },
+- { "Istanbul", new AirportInfo { City = "Istanbul", Code = "IST", Name = "Istanbul Airport" } },
+- { "Bangkok", new AirportInfo { City = "Bangkok", Code = "BKK", Name = "Suvarnabhumi Airport" } },
+- {
+- "Mexico City",
+- new AirportInfo { City = "Mexico City", Code = "MEX", Name = "Mexico City International Airport" }
+- },
+- { "Cairo", new AirportInfo { City = "Cairo", Code = "CAI", Name = "Cairo International Airport" } },
+- {
+- "Buenos Aires",
+- new AirportInfo { City = "Buenos Aires", Code = "EZE", Name = "Ministro Pistarini International Airport" }
+- },
+- {
+- "Kuala Lumpur",
+- new AirportInfo { City = "Kuala Lumpur", Code = "KUL", Name = "Kuala Lumpur International Airport" }
+- },
+- { "Amsterdam", new AirportInfo { City = "Amsterdam", Code = "AMS", Name = "Amsterdam Airport Schiphol" } },
+- { "Barcelona", new AirportInfo { City = "Barcelona", Code = "BCN", Name = "Barcelona–El Prat Airport" } },
+- { "Lima", new AirportInfo { City = "Lima", Code = "LIM", Name = "Jorge Chávez International Airport" } },
+- { "Seoul", new AirportInfo { City = "Seoul", Code = "ICN", Name = "Incheon International Airport" } },
+- {
+- "Rio de Janeiro",
+- new AirportInfo
+- {
+- City = "Rio de Janeiro", Code = "GIG",
+- Name = "Rio de Janeiro/Galeão–Antonio Carlos Jobim International Airport"
+- }
+- },
+- { "Dublin", new AirportInfo { City = "Dublin", Code = "DUB", Name = "Dublin Airport" } },
+- { "Brussels", new AirportInfo { City = "Brussels", Code = "BRU", Name = "Brussels Airport" } },
+- { "Lisbon", new AirportInfo { City = "Lisbon", Code = "LIS", Name = "Lisbon Portela Airport" } },
+- { "Athens", new AirportInfo { City = "Athens", Code = "ATH", Name = "Athens International Airport" } },
+- { "Oslo", new AirportInfo { City = "Oslo", Code = "OSL", Name = "Oslo Airport, Gardermoen" } },
+- { "Stockholm", new AirportInfo { City = "Stockholm", Code = "ARN", Name = "Stockholm Arlanda Airport" } },
+- { "Helsinki", new AirportInfo { City = "Helsinki", Code = "HEL", Name = "Helsinki-Vantaa Airport" } },
+- { "Prague", new AirportInfo { City = "Prague", Code = "PRG", Name = "Václav Havel Airport Prague" } },
+- { "Warsaw", new AirportInfo { City = "Warsaw", Code = "WAW", Name = "Warsaw Chopin Airport" } },
+- { "Copenhagen", new AirportInfo { City = "Copenhagen", Code = "CPH", Name = "Copenhagen Airport" } },
+- {
+- "Budapest",
+- new AirportInfo { City = "Budapest", Code = "BUD", Name = "Budapest Ferenc Liszt International Airport" }
+- },
+- { "Osaka", new AirportInfo { City = "Osaka", Code = "KIX", Name = "Kansai International Airport" } },
+- {
+- "San Francisco",
+- new AirportInfo { City = "San Francisco", Code = "SFO", Name = "San Francisco International Airport" }
+- },
+- { "Miami", new AirportInfo { City = "Miami", Code = "MIA", Name = "Miami International Airport" } },
+- {
+- "Seattle", new AirportInfo { City = "Seattle", Code = "SEA", Name = "Seattle–Tacoma International Airport" }
+- },
+- { "Vancouver", new AirportInfo { City = "Vancouver", Code = "YVR", Name = "Vancouver International Airport" } },
+- { "Melbourne", new AirportInfo { City = "Melbourne", Code = "MEL", Name = "Melbourne Airport" } },
+- { "Auckland", new AirportInfo { City = "Auckland", Code = "AKL", Name = "Auckland Airport" } },
+- { "Doha", new AirportInfo { City = "Doha", Code = "DOH", Name = "Hamad International Airport" } },
+- {
+- "Kuwait City", new AirportInfo { City = "Kuwait City", Code = "KWI", Name = "Kuwait International Airport" }
+- },
+- {
+- "Bangalore", new AirportInfo { City = "Bangalore", Code = "BLR", Name = "Kempegowda International Airport" }
+- },
+- {
+- "Beijing",
+- new AirportInfo { City = "Beijing", Code = "PEK", Name = "Beijing Capital International Airport" }
+- },
+- {
+- "Shanghai",
+- new AirportInfo { City = "Shanghai", Code = "PVG", Name = "Shanghai Pudong International Airport" }
+- },
+- { "Manila", new AirportInfo { City = "Manila", Code = "MNL", Name = "Ninoy Aquino International Airport" } },
+- {
+- "Jakarta", new AirportInfo { City = "Jakarta", Code = "CGK", Name = "Soekarno–Hatta International Airport" }
+- },
+- {
+- "Santiago",
+- new AirportInfo
+- { City = "Santiago", Code = "SCL", Name = "Comodoro Arturo Merino Benítez International Airport" }
+- },
+- { "Lagos", new AirportInfo { City = "Lagos", Code = "LOS", Name = "Murtala Muhammed International Airport" } },
+- { "Nairobi", new AirportInfo { City = "Nairobi", Code = "NBO", Name = "Jomo Kenyatta International Airport" } },
+- { "Chicago", new AirportInfo { City = "Chicago", Code = "ORD", Name = "O'Hare International Airport" } },
+- {
+- "Atlanta",
+- new AirportInfo
+- { City = "Atlanta", Code = "ATL", Name = "Hartsfield–Jackson Atlanta International Airport" }
+- },
+- {
+- "Dallas",
+- new AirportInfo { City = "Dallas", Code = "DFW", Name = "Dallas/Fort Worth International Airport" }
+- },
+- {
+- "Washington, D.C.",
+- new AirportInfo
+- { City = "Washington, D.C.", Code = "IAD", Name = "Washington Dulles International Airport" }
+- },
+- { "Boston", new AirportInfo { City = "Boston", Code = "BOS", Name = "Logan International Airport" } },
+- {
+- "Philadelphia",
+- new AirportInfo { City = "Philadelphia", Code = "PHL", Name = "Philadelphia International Airport" }
+- },
+- { "Orlando", new AirportInfo { City = "Orlando", Code = "MCO", Name = "Orlando International Airport" } },
+- { "Denver", new AirportInfo { City = "Denver", Code = "DEN", Name = "Denver International Airport" } },
+- {
+- "Phoenix",
+- new AirportInfo { City = "Phoenix", Code = "PHX", Name = "Phoenix Sky Harbor International Airport" }
+- },
+- { "Las Vegas", new AirportInfo { City = "Las Vegas", Code = "LAS", Name = "McCarran International Airport" } },
+- {
+- "Houston", new AirportInfo { City = "Houston", Code = "IAH", Name = "George Bush Intercontinental Airport" }
+- },
+- {
+- "Detroit",
+- new AirportInfo { City = "Detroit", Code = "DTW", Name = "Detroit Metropolitan Wayne County Airport" }
+- },
+- {
+- "Charlotte",
+- new AirportInfo { City = "Charlotte", Code = "CLT", Name = "Charlotte Douglas International Airport" }
+- },
+- {
+- "Baltimore",
+- new AirportInfo
+- {
+- City = "Baltimore", Code = "BWI", Name = "Baltimore/Washington International Thurgood Marshall Airport"
+- }
+- },
+- {
+- "Minneapolis",
+- new AirportInfo
+- { City = "Minneapolis", Code = "MSP", Name = "Minneapolis–Saint Paul International Airport" }
+- },
+- { "San Diego", new AirportInfo { City = "San Diego", Code = "SAN", Name = "San Diego International Airport" } },
+- { "Portland", new AirportInfo { City = "Portland", Code = "PDX", Name = "Portland International Airport" } },
+- {
+- "Salt Lake City",
+- new AirportInfo { City = "Salt Lake City", Code = "SLC", Name = "Salt Lake City International Airport" }
+- },
+- {
+- "Cincinnati",
+- new AirportInfo
+- { City = "Cincinnati", Code = "CVG", Name = "Cincinnati/Northern Kentucky International Airport" }
+- },
+- {
+- "St. Louis",
+- new AirportInfo { City = "St. Louis", Code = "STL", Name = "St. Louis Lambert International Airport" }
+- },
+- {
+- "Indianapolis",
+- new AirportInfo { City = "Indianapolis", Code = "IND", Name = "Indianapolis International Airport" }
+- },
+- { "Tampa", new AirportInfo { City = "Tampa", Code = "TPA", Name = "Tampa International Airport" } },
+- { "Milan", new AirportInfo { City = "Milan", Code = "MXP", Name = "Milan Malpensa Airport" } },
+- { "Frankfurt", new AirportInfo { City = "Frankfurt", Code = "FRA", Name = "Frankfurt am Main Airport" } },
+- { "Munich", new AirportInfo { City = "Munich", Code = "MUC", Name = "Munich Airport" } },
+- {
+- "Mumbai",
+- new AirportInfo
+- { City = "Mumbai", Code = "BOM", Name = "Chhatrapati Shivaji Maharaj International Airport" }
+- },
+- { "Cape Town", new AirportInfo { City = "Cape Town", Code = "CPT", Name = "Cape Town International Airport" } },
+- { "Zurich", new AirportInfo { City = "Zurich", Code = "ZRH", Name = "Zurich Airport" } },
+- { "Vienna", new AirportInfo { City = "Vienna", Code = "VIE", Name = "Vienna International Airport" } }
+- // Add more airports as needed
+- };
+-
+- public AirportInfo GetAirportInfoForCity(string city)
+- {
+- if (_airportsByCity.TryGetValue(city, out var airportInfo))
+- {
+- return airportInfo;
+- }
+-
+- throw new KeyNotFoundException($"No airport information found for city: {city}");
+- }
+-}
+-
+-public class AirportInfo
+-{
+- public string City { get; set; } = string.Empty;
+- public string Code { get; set; } = string.Empty;
+- public string Name { get; set; } = string.Empty;
+-
+- public override string ToString()
+- {
+- return $"{Name} ({Code}) in {City}";
+- }
+-}
+\ No newline at end of file
+diff --git a/examples/Event Handler/BedrockAgentFunction/src/BedrockAgentFunction.csproj b/examples/Event Handler/BedrockAgentFunction/src/BedrockAgentFunction.csproj
+deleted file mode 100644
+index bcd2c51c..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/src/BedrockAgentFunction.csproj
++++ /dev/null
+@@ -1,22 +0,0 @@
+-
+-
+- Exe
+- net8.0
+- enable
+- enable
+- true
+- Lambda
+-
+- true
+-
+- true
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+\ No newline at end of file
+diff --git a/examples/Event Handler/BedrockAgentFunction/src/Function.cs b/examples/Event Handler/BedrockAgentFunction/src/Function.cs
+deleted file mode 100644
+index c4e847ef..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/src/Function.cs
++++ /dev/null
+@@ -1,45 +0,0 @@
+-using Amazon.Lambda.Core;
+-using Amazon.Lambda.RuntimeSupport;
+-using Amazon.Lambda.Serialization.SystemTextJson;
+-using AWS.Lambda.Powertools.EventHandler.Resolvers;
+-using AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction.Models;
+-using AWS.Lambda.Powertools.Logging;
+-using BedrockAgentFunction;
+-using Microsoft.Extensions.Logging;
+-
+-
+-var logger = LoggerFactory.Create(builder =>
+-{
+- builder.AddPowertoolsLogger(config => { config.Service = "AirportService"; });
+-}).CreatePowertoolsLogger();
+-
+-var resolver = new BedrockAgentFunctionResolver();
+-
+-
+-resolver.Tool("getAirportCodeForCity", "Get airport code and full name for a specific city", (string city, ILambdaContext context) =>
+-{
+- logger.LogInformation("Getting airport code for city: {City}", city);
+- var airportService = new AirportService();
+- var airportInfo = airportService.GetAirportInfoForCity(city);
+-
+- logger.LogInformation("Airport for {City}: {AirportInfoCode} - {AirportInfoName}", city, airportInfo.Code, airportInfo.Name);
+-
+- // Note: Best approach is to override the ToString method in the AirportInfo class
+- return airportInfo;
+-});
+-
+-
+-// The function handler that will be called for each Lambda event
+-var handler = async (BedrockFunctionRequest input, ILambdaContext context) =>
+-{
+- return await resolver.ResolveAsync(input, context);
+-};
+-
+-// Build the Lambda runtime client passing in the handler to call for each
+-// event and the JSON serializer to use for translating Lambda JSON documents
+-// to .NET types.
+-await LambdaBootstrapBuilder.Create(handler, new DefaultLambdaJsonSerializer())
+- .Build()
+- .RunAsync();
+-
+-
+diff --git a/examples/Event Handler/BedrockAgentFunction/src/aws-lambda-tools-defaults.json b/examples/Event Handler/BedrockAgentFunction/src/aws-lambda-tools-defaults.json
+deleted file mode 100644
+index 1dc447ae..00000000
+--- a/examples/Event Handler/BedrockAgentFunction/src/aws-lambda-tools-defaults.json
++++ /dev/null
+@@ -1,15 +0,0 @@
+-{
+- "Information": [
+- "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
+- "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
+- "dotnet lambda help",
+- "All the command line options for the Lambda command can be specified in this file."
+- ],
+- "profile": "",
+- "region": "",
+- "configuration": "Release",
+- "function-runtime": "dotnet8",
+- "function-memory-size": 512,
+- "function-timeout": 30,
+- "function-handler": "BedrockAgentFunction"
+-}
+\ No newline at end of file
+diff --git a/examples/Idempotency/src/HelloWorld/HelloWorld.csproj b/examples/Idempotency/src/HelloWorld/HelloWorld.csproj
+index 39615764..86f103f9 100644
+--- a/examples/Idempotency/src/HelloWorld/HelloWorld.csproj
++++ b/examples/Idempotency/src/HelloWorld/HelloWorld.csproj
+@@ -5,10 +5,10 @@
+ enable
+
+
+-
++
+
+-
+-
+-
++
++
++
+
+
+diff --git a/examples/Idempotency/test/HelloWorld.Test/HelloWorld.Tests.csproj b/examples/Idempotency/test/HelloWorld.Test/HelloWorld.Tests.csproj
+index e143aa86..b00a6873 100644
+--- a/examples/Idempotency/test/HelloWorld.Test/HelloWorld.Tests.csproj
++++ b/examples/Idempotency/test/HelloWorld.Test/HelloWorld.Tests.csproj
+@@ -3,9 +3,9 @@
+ net6.0;net8.0
+
+
+-
++
+
+-
++
+
+
+
+diff --git a/examples/Kafka/Avro/src/Avro.csproj b/examples/Kafka/Avro/src/Avro.csproj
+deleted file mode 100644
+index 05314f2f..00000000
+--- a/examples/Kafka/Avro/src/Avro.csproj
++++ /dev/null
+@@ -1,35 +0,0 @@
+-
+-
+- Exe
+- net8.0
+- enable
+- enable
+- true
+- Lambda
+-
+- true
+-
+- true
+-
+- Avro.Example
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+- PreserveNewest
+-
+-
+-
+\ No newline at end of file
+diff --git a/examples/Kafka/Avro/src/CustomerProfile.avsc b/examples/Kafka/Avro/src/CustomerProfile.avsc
+deleted file mode 100644
+index bf8cc090..00000000
+--- a/examples/Kafka/Avro/src/CustomerProfile.avsc
++++ /dev/null
+@@ -1,46 +0,0 @@
+-{
+- "type": "record",
+- "name": "CustomerProfile",
+- "namespace": "com.example",
+- "fields": [
+- {"name": "user_id", "type": "string"},
+- {"name": "full_name", "type": "string"},
+- {"name": "email", "type": {
+- "type": "record",
+- "name": "EmailAddress",
+- "fields": [
+- {"name": "address", "type": "string"},
+- {"name": "verified", "type": "boolean"},
+- {"name": "primary", "type": "boolean"}
+- ]
+- }},
+- {"name": "age", "type": "int"},
+- {"name": "address", "type": {
+- "type": "record",
+- "name": "Address",
+- "fields": [
+- {"name": "street", "type": "string"},
+- {"name": "city", "type": "string"},
+- {"name": "state", "type": "string"},
+- {"name": "country", "type": "string"},
+- {"name": "zip_code", "type": "string"}
+- ]
+- }},
+- {"name": "phone_numbers", "type": {
+- "type": "array",
+- "items": {
+- "type": "record",
+- "name": "PhoneNumber",
+- "fields": [
+- {"name": "number", "type": "string"},
+- {"name": "type", "type": {"type": "enum", "name": "PhoneType", "symbols": ["HOME", "WORK", "MOBILE"]}}
+- ]
+- }
+- }},
+- {"name": "preferences", "type": {
+- "type": "map",
+- "values": "string"
+- }},
+- {"name": "account_status", "type": {"type": "enum", "name": "AccountStatus", "symbols": ["ACTIVE", "INACTIVE", "SUSPENDED"]}}
+- ]
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Avro/src/Function.cs b/examples/Kafka/Avro/src/Function.cs
+deleted file mode 100644
+index 6ca9ebdb..00000000
+--- a/examples/Kafka/Avro/src/Function.cs
++++ /dev/null
+@@ -1,21 +0,0 @@
+-using Amazon.Lambda.Core;
+-using Amazon.Lambda.RuntimeSupport;
+-using AWS.Lambda.Powertools.Kafka;
+-using AWS.Lambda.Powertools.Kafka.Avro;
+-using AWS.Lambda.Powertools.Logging;
+-using com.example;
+-
+-string Handler(ConsumerRecords records, ILambdaContext context)
+-{
+- foreach (var record in records)
+- {
+- Logger.LogInformation("Record Value: {@record}", record.Value);
+- }
+-
+- return "Processed " + records.Count() + " records";
+-}
+-
+-await LambdaBootstrapBuilder.Create((Func, ILambdaContext, string>?)Handler,
+- new PowertoolsKafkaAvroSerializer()) // Use PowertoolsKafkaAvroSerializer for Avro serialization
+- .Build()
+- .RunAsync();
+\ No newline at end of file
+diff --git a/examples/Kafka/Avro/src/Generated/com/example/AccountStatus.cs b/examples/Kafka/Avro/src/Generated/com/example/AccountStatus.cs
+deleted file mode 100644
+index c7809f51..00000000
+--- a/examples/Kafka/Avro/src/Generated/com/example/AccountStatus.cs
++++ /dev/null
+@@ -1,23 +0,0 @@
+-// ------------------------------------------------------------------------------
+-//
+-// Generated by avrogen, version 1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
+-// Changes to this file may cause incorrect behavior and will be lost if code
+-// is regenerated
+-//
+-// ------------------------------------------------------------------------------
+-namespace com.example
+-{
+- using System;
+- using System.Collections.Generic;
+- using System.Text;
+- using global::Avro;
+- using global::Avro.Specific;
+-
+- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen", "1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
+- public enum AccountStatus
+- {
+- ACTIVE,
+- INACTIVE,
+- SUSPENDED,
+- }
+-}
+diff --git a/examples/Kafka/Avro/src/Generated/com/example/Address.cs b/examples/Kafka/Avro/src/Generated/com/example/Address.cs
+deleted file mode 100644
+index e2053e0f..00000000
+--- a/examples/Kafka/Avro/src/Generated/com/example/Address.cs
++++ /dev/null
+@@ -1,115 +0,0 @@
+-// ------------------------------------------------------------------------------
+-//
+-// Generated by avrogen, version 1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
+-// Changes to this file may cause incorrect behavior and will be lost if code
+-// is regenerated
+-//
+-// ------------------------------------------------------------------------------
+-namespace com.example
+-{
+- using System;
+- using System.Collections.Generic;
+- using System.Text;
+- using global::Avro;
+- using global::Avro.Specific;
+-
+- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen", "1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
+- public partial class Address : global::Avro.Specific.ISpecificRecord
+- {
+- public static global::Avro.Schema _SCHEMA = global::Avro.Schema.Parse("{\"type\":\"record\",\"name\":\"Address\",\"namespace\":\"com.example\",\"fields\":[{\"name\":\"st" +
+- "reet\",\"type\":\"string\"},{\"name\":\"city\",\"type\":\"string\"},{\"name\":\"state\",\"type\":\"s" +
+- "tring\"},{\"name\":\"country\",\"type\":\"string\"},{\"name\":\"zip_code\",\"type\":\"string\"}]}" +
+- "");
+- private string _street;
+- private string _city;
+- private string _state;
+- private string _country;
+- private string _zip_code;
+- public virtual global::Avro.Schema Schema
+- {
+- get
+- {
+- return Address._SCHEMA;
+- }
+- }
+- public string street
+- {
+- get
+- {
+- return this._street;
+- }
+- set
+- {
+- this._street = value;
+- }
+- }
+- public string city
+- {
+- get
+- {
+- return this._city;
+- }
+- set
+- {
+- this._city = value;
+- }
+- }
+- public string state
+- {
+- get
+- {
+- return this._state;
+- }
+- set
+- {
+- this._state = value;
+- }
+- }
+- public string country
+- {
+- get
+- {
+- return this._country;
+- }
+- set
+- {
+- this._country = value;
+- }
+- }
+- public string zip_code
+- {
+- get
+- {
+- return this._zip_code;
+- }
+- set
+- {
+- this._zip_code = value;
+- }
+- }
+- public virtual object Get(int fieldPos)
+- {
+- switch (fieldPos)
+- {
+- case 0: return this.street;
+- case 1: return this.city;
+- case 2: return this.state;
+- case 3: return this.country;
+- case 4: return this.zip_code;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Get()");
+- };
+- }
+- public virtual void Put(int fieldPos, object fieldValue)
+- {
+- switch (fieldPos)
+- {
+- case 0: this.street = (System.String)fieldValue; break;
+- case 1: this.city = (System.String)fieldValue; break;
+- case 2: this.state = (System.String)fieldValue; break;
+- case 3: this.country = (System.String)fieldValue; break;
+- case 4: this.zip_code = (System.String)fieldValue; break;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Put()");
+- };
+- }
+- }
+-}
+diff --git a/examples/Kafka/Avro/src/Generated/com/example/CustomerProfile.cs b/examples/Kafka/Avro/src/Generated/com/example/CustomerProfile.cs
+deleted file mode 100644
+index 15d62095..00000000
+--- a/examples/Kafka/Avro/src/Generated/com/example/CustomerProfile.cs
++++ /dev/null
+@@ -1,154 +0,0 @@
+-// ------------------------------------------------------------------------------
+-//
+-// Generated by avrogen, version 1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
+-// Changes to this file may cause incorrect behavior and will be lost if code
+-// is regenerated
+-//
+-// ------------------------------------------------------------------------------
+-namespace com.example
+-{
+- using System;
+- using System.Collections.Generic;
+- using System.Text;
+- using global::Avro;
+- using global::Avro.Specific;
+-
+- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen", "1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
+- public partial class CustomerProfile : global::Avro.Specific.ISpecificRecord
+- {
+- public static global::Avro.Schema _SCHEMA = global::Avro.Schema.Parse(@"{""type"":""record"",""name"":""CustomerProfile"",""namespace"":""com.example"",""fields"":[{""name"":""user_id"",""type"":""string""},{""name"":""full_name"",""type"":""string""},{""name"":""email"",""type"":{""type"":""record"",""name"":""EmailAddress"",""namespace"":""com.example"",""fields"":[{""name"":""address"",""type"":""string""},{""name"":""verified"",""type"":""boolean""},{""name"":""primary"",""type"":""boolean""}]}},{""name"":""age"",""type"":""int""},{""name"":""address"",""type"":{""type"":""record"",""name"":""Address"",""namespace"":""com.example"",""fields"":[{""name"":""street"",""type"":""string""},{""name"":""city"",""type"":""string""},{""name"":""state"",""type"":""string""},{""name"":""country"",""type"":""string""},{""name"":""zip_code"",""type"":""string""}]}},{""name"":""phone_numbers"",""type"":{""type"":""array"",""items"":{""type"":""record"",""name"":""PhoneNumber"",""namespace"":""com.example"",""fields"":[{""name"":""number"",""type"":""string""},{""name"":""type"",""type"":{""type"":""enum"",""name"":""PhoneType"",""namespace"":""com.example"",""symbols"":[""HOME"",""WORK"",""MOBILE""]}}]}}},{""name"":""preferences"",""type"":{""type"":""map"",""values"":""string""}},{""name"":""account_status"",""type"":{""type"":""enum"",""name"":""AccountStatus"",""namespace"":""com.example"",""symbols"":[""ACTIVE"",""INACTIVE"",""SUSPENDED""]}}]}");
+- private string _user_id;
+- private string _full_name;
+- private com.example.EmailAddress _email;
+- private int _age;
+- private com.example.Address _address;
+- private IList _phone_numbers;
+- private IDictionary _preferences;
+- private com.example.AccountStatus _account_status;
+- public virtual global::Avro.Schema Schema
+- {
+- get
+- {
+- return CustomerProfile._SCHEMA;
+- }
+- }
+- public string user_id
+- {
+- get
+- {
+- return this._user_id;
+- }
+- set
+- {
+- this._user_id = value;
+- }
+- }
+- public string full_name
+- {
+- get
+- {
+- return this._full_name;
+- }
+- set
+- {
+- this._full_name = value;
+- }
+- }
+- public com.example.EmailAddress email
+- {
+- get
+- {
+- return this._email;
+- }
+- set
+- {
+- this._email = value;
+- }
+- }
+- public int age
+- {
+- get
+- {
+- return this._age;
+- }
+- set
+- {
+- this._age = value;
+- }
+- }
+- public com.example.Address address
+- {
+- get
+- {
+- return this._address;
+- }
+- set
+- {
+- this._address = value;
+- }
+- }
+- public IList phone_numbers
+- {
+- get
+- {
+- return this._phone_numbers;
+- }
+- set
+- {
+- this._phone_numbers = value;
+- }
+- }
+- public IDictionary preferences
+- {
+- get
+- {
+- return this._preferences;
+- }
+- set
+- {
+- this._preferences = value;
+- }
+- }
+- public com.example.AccountStatus account_status
+- {
+- get
+- {
+- return this._account_status;
+- }
+- set
+- {
+- this._account_status = value;
+- }
+- }
+- public virtual object Get(int fieldPos)
+- {
+- switch (fieldPos)
+- {
+- case 0: return this.user_id;
+- case 1: return this.full_name;
+- case 2: return this.email;
+- case 3: return this.age;
+- case 4: return this.address;
+- case 5: return this.phone_numbers;
+- case 6: return this.preferences;
+- case 7: return this.account_status;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Get()");
+- };
+- }
+- public virtual void Put(int fieldPos, object fieldValue)
+- {
+- switch (fieldPos)
+- {
+- case 0: this.user_id = (System.String)fieldValue; break;
+- case 1: this.full_name = (System.String)fieldValue; break;
+- case 2: this.email = (com.example.EmailAddress)fieldValue; break;
+- case 3: this.age = (System.Int32)fieldValue; break;
+- case 4: this.address = (com.example.Address)fieldValue; break;
+- case 5: this.phone_numbers = (IList)fieldValue; break;
+- case 6: this.preferences = (IDictionary)fieldValue; break;
+- case 7: this.account_status = (com.example.AccountStatus)fieldValue; break;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Put()");
+- };
+- }
+- }
+-}
+diff --git a/examples/Kafka/Avro/src/Generated/com/example/EmailAddress.cs b/examples/Kafka/Avro/src/Generated/com/example/EmailAddress.cs
+deleted file mode 100644
+index 4a25a6e0..00000000
+--- a/examples/Kafka/Avro/src/Generated/com/example/EmailAddress.cs
++++ /dev/null
+@@ -1,86 +0,0 @@
+-// ------------------------------------------------------------------------------
+-//
+-// Generated by avrogen, version 1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
+-// Changes to this file may cause incorrect behavior and will be lost if code
+-// is regenerated
+-//
+-// ------------------------------------------------------------------------------
+-namespace com.example
+-{
+- using System;
+- using System.Collections.Generic;
+- using System.Text;
+- using global::Avro;
+- using global::Avro.Specific;
+-
+- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen", "1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
+- public partial class EmailAddress : global::Avro.Specific.ISpecificRecord
+- {
+- public static global::Avro.Schema _SCHEMA = global::Avro.Schema.Parse("{\"type\":\"record\",\"name\":\"EmailAddress\",\"namespace\":\"com.example\",\"fields\":[{\"name" +
+- "\":\"address\",\"type\":\"string\"},{\"name\":\"verified\",\"type\":\"boolean\"},{\"name\":\"prima" +
+- "ry\",\"type\":\"boolean\"}]}");
+- private string _address;
+- private bool _verified;
+- private bool _primary;
+- public virtual global::Avro.Schema Schema
+- {
+- get
+- {
+- return EmailAddress._SCHEMA;
+- }
+- }
+- public string address
+- {
+- get
+- {
+- return this._address;
+- }
+- set
+- {
+- this._address = value;
+- }
+- }
+- public bool verified
+- {
+- get
+- {
+- return this._verified;
+- }
+- set
+- {
+- this._verified = value;
+- }
+- }
+- public bool primary
+- {
+- get
+- {
+- return this._primary;
+- }
+- set
+- {
+- this._primary = value;
+- }
+- }
+- public virtual object Get(int fieldPos)
+- {
+- switch (fieldPos)
+- {
+- case 0: return this.address;
+- case 1: return this.verified;
+- case 2: return this.primary;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Get()");
+- };
+- }
+- public virtual void Put(int fieldPos, object fieldValue)
+- {
+- switch (fieldPos)
+- {
+- case 0: this.address = (System.String)fieldValue; break;
+- case 1: this.verified = (System.Boolean)fieldValue; break;
+- case 2: this.primary = (System.Boolean)fieldValue; break;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Put()");
+- };
+- }
+- }
+-}
+diff --git a/examples/Kafka/Avro/src/Generated/com/example/PhoneNumber.cs b/examples/Kafka/Avro/src/Generated/com/example/PhoneNumber.cs
+deleted file mode 100644
+index ea3d2b8e..00000000
+--- a/examples/Kafka/Avro/src/Generated/com/example/PhoneNumber.cs
++++ /dev/null
+@@ -1,72 +0,0 @@
+-// ------------------------------------------------------------------------------
+-//
+-// Generated by avrogen, version 1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
+-// Changes to this file may cause incorrect behavior and will be lost if code
+-// is regenerated
+-//
+-// ------------------------------------------------------------------------------
+-namespace com.example
+-{
+- using System;
+- using System.Collections.Generic;
+- using System.Text;
+- using global::Avro;
+- using global::Avro.Specific;
+-
+- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen", "1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
+- public partial class PhoneNumber : global::Avro.Specific.ISpecificRecord
+- {
+- public static global::Avro.Schema _SCHEMA = global::Avro.Schema.Parse("{\"type\":\"record\",\"name\":\"PhoneNumber\",\"namespace\":\"com.example\",\"fields\":[{\"name\"" +
+- ":\"number\",\"type\":\"string\"},{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"PhoneTyp" +
+- "e\",\"namespace\":\"com.example\",\"symbols\":[\"HOME\",\"WORK\",\"MOBILE\"]}}]}");
+- private string _number;
+- private com.example.PhoneType _type;
+- public virtual global::Avro.Schema Schema
+- {
+- get
+- {
+- return PhoneNumber._SCHEMA;
+- }
+- }
+- public string number
+- {
+- get
+- {
+- return this._number;
+- }
+- set
+- {
+- this._number = value;
+- }
+- }
+- public com.example.PhoneType type
+- {
+- get
+- {
+- return this._type;
+- }
+- set
+- {
+- this._type = value;
+- }
+- }
+- public virtual object Get(int fieldPos)
+- {
+- switch (fieldPos)
+- {
+- case 0: return this.number;
+- case 1: return this.type;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Get()");
+- };
+- }
+- public virtual void Put(int fieldPos, object fieldValue)
+- {
+- switch (fieldPos)
+- {
+- case 0: this.number = (System.String)fieldValue; break;
+- case 1: this.type = (com.example.PhoneType)fieldValue; break;
+- default: throw new global::Avro.AvroRuntimeException("Bad index " + fieldPos + " in Put()");
+- };
+- }
+- }
+-}
+diff --git a/examples/Kafka/Avro/src/Generated/com/example/PhoneType.cs b/examples/Kafka/Avro/src/Generated/com/example/PhoneType.cs
+deleted file mode 100644
+index f592d869..00000000
+--- a/examples/Kafka/Avro/src/Generated/com/example/PhoneType.cs
++++ /dev/null
+@@ -1,23 +0,0 @@
+-// ------------------------------------------------------------------------------
+-//
+-// Generated by avrogen, version 1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e
+-// Changes to this file may cause incorrect behavior and will be lost if code
+-// is regenerated
+-//
+-// ------------------------------------------------------------------------------
+-namespace com.example
+-{
+- using System;
+- using System.Collections.Generic;
+- using System.Text;
+- using global::Avro;
+- using global::Avro.Specific;
+-
+- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("avrogen", "1.12.0+8c27801dc8d42ccc00997f25c0b8f45f8d4a233e")]
+- public enum PhoneType
+- {
+- HOME,
+- WORK,
+- MOBILE,
+- }
+-}
+diff --git a/examples/Kafka/Avro/src/aws-lambda-tools-defaults.json b/examples/Kafka/Avro/src/aws-lambda-tools-defaults.json
+deleted file mode 100644
+index cd93437e..00000000
+--- a/examples/Kafka/Avro/src/aws-lambda-tools-defaults.json
++++ /dev/null
+@@ -1,15 +0,0 @@
+-{
+- "Information": [
+- "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
+- "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
+- "dotnet lambda help",
+- "All the command line options for the Lambda command can be specified in this file."
+- ],
+- "profile": "",
+- "region": "",
+- "configuration": "Release",
+- "function-runtime": "dotnet8",
+- "function-memory-size": 512,
+- "function-timeout": 30,
+- "function-handler": "Avro.Example"
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Avro/src/kafka-avro-event.json b/examples/Kafka/Avro/src/kafka-avro-event.json
+deleted file mode 100644
+index 6f5e045e..00000000
+--- a/examples/Kafka/Avro/src/kafka-avro-event.json
++++ /dev/null
+@@ -1,23 +0,0 @@
+-{
+- "eventSource": "aws:kafka",
+- "eventSourceArn": "arn:aws:kafka:us-east-1:0123456789019:cluster/CustomerCluster/abcd1234-abcd-cafe-abab-9876543210ab-4",
+- "bootstrapServers": "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
+- "records": {
+- "customer-topic-0": [
+- {
+- "topic": "customer-topic",
+- "partition": 0,
+- "offset": 15,
+- "timestamp": 1545084650987,
+- "timestampType": "CREATE_TIME",
+- "key": "dXNlcl85NzU0",
+- "value": "EnVzZXJfOTc1NBxVc2VyIHVzZXJfOTc1NCh1c2VyXzk3NTRAaWNsb3VkLmNvbQABahg5MzQwIE1haW4gU3QQU2FuIEpvc2UEQ0EGVVNBCjM5NTk2AhgyNDQtNDA3LTg4NzECAAYQdGltZXpvbmUOZW5hYmxlZBBsYW5ndWFnZRBkaXNhYmxlZBpub3RpZmljYXRpb25zCGRhcmsABA==",
+- "headers": [
+- {
+- "headerKey": [104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101]
+- }
+- ]
+- }
+- ]
+- }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Avro/src/template.yaml b/examples/Kafka/Avro/src/template.yaml
+deleted file mode 100644
+index a08325be..00000000
+--- a/examples/Kafka/Avro/src/template.yaml
++++ /dev/null
+@@ -1,27 +0,0 @@
+-AWSTemplateFormatVersion: '2010-09-09'
+-Transform: AWS::Serverless-2016-10-31
+-Description: >
+- kafka
+-
+- Sample SAM Template for kafka
+-
+-# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
+-Globals:
+- Function:
+- Timeout: 15
+- MemorySize: 512
+- Runtime: dotnet8
+-
+-Resources:
+- AvroDeserializationFunction:
+- Type: AWS::Serverless::Function
+- Properties:
+- Handler: Avro.Example
+- Architectures:
+- - x86_64
+- Tracing: Active
+- Environment: # Powertools env vars: https://awslabs.github.io/aws-lambda-powertools-python/#environment-variables
+- Variables:
+- POWERTOOLS_SERVICE_NAME: PowertoolsHelloWorld
+- POWERTOOLS_LOG_LEVEL: Info
+- POWERTOOLS_LOGGER_CASE: PascalCase # Allowed values are: CamelCase, PascalCase and SnakeCase (Default)
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Function.cs b/examples/Kafka/Json/src/Function.cs
+deleted file mode 100644
+index d7d96bfc..00000000
+--- a/examples/Kafka/Json/src/Function.cs
++++ /dev/null
+@@ -1,21 +0,0 @@
+-using Amazon.Lambda.Core;
+-using Amazon.Lambda.RuntimeSupport;
+-using AWS.Lambda.Powertools.Kafka;
+-using AWS.Lambda.Powertools.Kafka.Json;
+-using AWS.Lambda.Powertools.Logging;
+-using Json.Models;
+-
+-string Handler(ConsumerRecords records, ILambdaContext context)
+-{
+- foreach (var record in records)
+- {
+- Logger.LogInformation("Record Value: {@record}", record.Value);
+- }
+-
+- return "Processed " + records.Count() + " records";
+-}
+-
+-await LambdaBootstrapBuilder.Create((Func, ILambdaContext, string>?)Handler,
+- new PowertoolsKafkaJsonSerializer()) // Use PowertoolsKafkaJsonSerializer for Json serialization
+- .Build()
+- .RunAsync();
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Json.csproj b/examples/Kafka/Json/src/Json.csproj
+deleted file mode 100644
+index aba6cde8..00000000
+--- a/examples/Kafka/Json/src/Json.csproj
++++ /dev/null
+@@ -1,30 +0,0 @@
+-
+-
+- Exe
+- net8.0
+- enable
+- enable
+- true
+- Lambda
+-
+- true
+-
+- true
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+- PreserveNewest
+-
+-
+-
+-
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Models/Address.cs b/examples/Kafka/Json/src/Models/Address.cs
+deleted file mode 100644
+index a011b3ce..00000000
+--- a/examples/Kafka/Json/src/Models/Address.cs
++++ /dev/null
+@@ -1,16 +0,0 @@
+-using System.Text.Json.Serialization;
+-
+-namespace Json.Models;
+-
+-public partial class Address
+-{
+- [JsonPropertyName("street")] public string Street { get; set; }
+-
+- [JsonPropertyName("city")] public string City { get; set; }
+-
+- [JsonPropertyName("state")] public string State { get; set; }
+-
+- [JsonPropertyName("country")] public string Country { get; set; }
+-
+- [JsonPropertyName("zip_code")] public string ZipCode { get; set; }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Models/CustomerProfile.cs b/examples/Kafka/Json/src/Models/CustomerProfile.cs
+deleted file mode 100644
+index 1e7ab62b..00000000
+--- a/examples/Kafka/Json/src/Models/CustomerProfile.cs
++++ /dev/null
+@@ -1,22 +0,0 @@
+-using System.Text.Json.Serialization;
+-
+-namespace Json.Models;
+-
+-public partial class CustomerProfile
+-{
+- [JsonPropertyName("user_id")] public string UserId { get; set; }
+-
+- [JsonPropertyName("full_name")] public string FullName { get; set; }
+-
+- [JsonPropertyName("email")] public Email Email { get; set; }
+-
+- [JsonPropertyName("age")] public long Age { get; set; }
+-
+- [JsonPropertyName("address")] public Address Address { get; set; }
+-
+- [JsonPropertyName("phone_numbers")] public List PhoneNumbers { get; set; }
+-
+- [JsonPropertyName("preferences")] public Preferences Preferences { get; set; }
+-
+- [JsonPropertyName("account_status")] public string AccountStatus { get; set; }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Models/Email.cs b/examples/Kafka/Json/src/Models/Email.cs
+deleted file mode 100644
+index 045118ba..00000000
+--- a/examples/Kafka/Json/src/Models/Email.cs
++++ /dev/null
+@@ -1,12 +0,0 @@
+-using System.Text.Json.Serialization;
+-
+-namespace Json.Models;
+-
+-public partial class Email
+-{
+- [JsonPropertyName("address")] public string Address { get; set; }
+-
+- [JsonPropertyName("verified")] public bool Verified { get; set; }
+-
+- [JsonPropertyName("primary")] public bool Primary { get; set; }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Models/PhoneNumber.cs b/examples/Kafka/Json/src/Models/PhoneNumber.cs
+deleted file mode 100644
+index 7681265d..00000000
+--- a/examples/Kafka/Json/src/Models/PhoneNumber.cs
++++ /dev/null
+@@ -1,10 +0,0 @@
+-using System.Text.Json.Serialization;
+-
+-namespace Json.Models;
+-
+-public partial class PhoneNumber
+-{
+- [JsonPropertyName("number")] public string Number { get; set; }
+-
+- [JsonPropertyName("type")] public string Type { get; set; }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/Models/Preferences.cs b/examples/Kafka/Json/src/Models/Preferences.cs
+deleted file mode 100644
+index 5dd84aa9..00000000
+--- a/examples/Kafka/Json/src/Models/Preferences.cs
++++ /dev/null
+@@ -1,12 +0,0 @@
+-using System.Text.Json.Serialization;
+-
+-namespace Json.Models;
+-
+-public partial class Preferences
+-{
+- [JsonPropertyName("language")] public string Language { get; set; }
+-
+- [JsonPropertyName("notifications")] public string Notifications { get; set; }
+-
+- [JsonPropertyName("timezone")] public string Timezone { get; set; }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/aws-lambda-tools-defaults.json b/examples/Kafka/Json/src/aws-lambda-tools-defaults.json
+deleted file mode 100644
+index fb324090..00000000
+--- a/examples/Kafka/Json/src/aws-lambda-tools-defaults.json
++++ /dev/null
+@@ -1,15 +0,0 @@
+-{
+- "Information": [
+- "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
+- "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
+- "dotnet lambda help",
+- "All the command line options for the Lambda command can be specified in this file."
+- ],
+- "profile": "",
+- "region": "",
+- "configuration": "Release",
+- "function-runtime": "dotnet8",
+- "function-memory-size": 512,
+- "function-timeout": 30,
+- "function-handler": "Json"
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/kafka-json-event.json b/examples/Kafka/Json/src/kafka-json-event.json
+deleted file mode 100644
+index 66dc2ab5..00000000
+--- a/examples/Kafka/Json/src/kafka-json-event.json
++++ /dev/null
+@@ -1,23 +0,0 @@
+-{
+- "eventSource": "aws:kafka",
+- "eventSourceArn": "arn:aws:kafka:us-east-1:0123456789019:cluster/CustomerCluster/abcd1234-abcd-cafe-abab-9876543210ab-4",
+- "bootstrapServers": "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
+- "records": {
+- "customer-topic-0": [
+- {
+- "topic": "customer-topic",
+- "partition": 0,
+- "offset": 15,
+- "timestamp": 1545084650987,
+- "timestampType": "CREATE_TIME",
+- "key": "dXNlcl85NzU0",
+- "value": "eyJwaG9uZV9udW1iZXJzIjpbeyJudW1iZXIiOiIyNDQtNDA3LTg4NzEiLCJ0eXBlIjoiV09SSyJ9XSwicHJlZmVyZW5jZXMiOnsidGltZXpvbmUiOiJlbmFibGVkIiwibGFuZ3VhZ2UiOiJkaXNhYmxlZCIsIm5vdGlmaWNhdGlvbnMiOiJkYXJrIn0sImZ1bGxfbmFtZSI6IlVzZXIgdXNlcl85NzU0IiwiYWRkcmVzcyI6eyJjb3VudHJ5IjoiVVNBIiwiY2l0eSI6IlNhbiBKb3NlIiwic3RyZWV0IjoiOTM0MCBNYWluIFN0Iiwic3RhdGUiOiJDQSIsInppcF9jb2RlIjoiMzk1OTYifSwidXNlcl9pZCI6InVzZXJfOTc1NCIsImFjY291bnRfc3RhdHVzIjoiU1VTUEVOREVEIiwiYWdlIjo1MywiZW1haWwiOnsiYWRkcmVzcyI6InVzZXJfOTc1NEBpY2xvdWQuY29tIiwidmVyaWZpZWQiOmZhbHNlLCJwcmltYXJ5Ijp0cnVlfX0=",
+- "headers": [
+- {
+- "headerKey": [104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101]
+- }
+- ]
+- }
+- ]
+- }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Json/src/template.yaml b/examples/Kafka/Json/src/template.yaml
+deleted file mode 100644
+index dd4bfb9f..00000000
+--- a/examples/Kafka/Json/src/template.yaml
++++ /dev/null
+@@ -1,27 +0,0 @@
+-AWSTemplateFormatVersion: '2010-09-09'
+-Transform: AWS::Serverless-2016-10-31
+-Description: >
+- kafka
+-
+- Sample SAM Template for kafka
+-
+-# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
+-Globals:
+- Function:
+- Timeout: 15
+- MemorySize: 512
+- Runtime: dotnet8
+-
+-Resources:
+- JsonDeserializationFunction:
+- Type: AWS::Serverless::Function
+- Properties:
+- Handler: Json
+- Architectures:
+- - x86_64
+- Tracing: Active
+- Environment: # Powertools env vars: https://awslabs.github.io/aws-lambda-powertools-python/#environment-variables
+- Variables:
+- POWERTOOLS_SERVICE_NAME: PowertoolsHelloWorld
+- POWERTOOLS_LOG_LEVEL: Info
+- POWERTOOLS_LOGGER_CASE: PascalCase # Allowed values are: CamelCase, PascalCase and SnakeCase (Default)
+\ No newline at end of file
+diff --git a/examples/Kafka/JsonClassLibrary/src/CustomerProfile.proto b/examples/Kafka/JsonClassLibrary/src/CustomerProfile.proto
+deleted file mode 100644
+index 9c69b1c4..00000000
+--- a/examples/Kafka/JsonClassLibrary/src/CustomerProfile.proto
++++ /dev/null
+@@ -1,49 +0,0 @@
+-syntax = "proto3";
+-
+-package com.example;
+-
+-enum PhoneType {
+- HOME = 0;
+- WORK = 1;
+- MOBILE = 2;
+-}
+-
+-enum AccountStatus {
+- ACTIVE = 0;
+- INACTIVE = 1;
+- SUSPENDED = 2;
+-}
+-
+-// EmailAddress message
+-message EmailAddress {
+- string address = 1;
+- bool verified = 2;
+- bool primary = 3;
+-}
+-
+-// Address message
+-message Address {
+- string street = 1;
+- string city = 2;
+- string state = 3;
+- string country = 4;
+- string zip_code = 5;
+-}
+-
+-// PhoneNumber message
+-message PhoneNumber {
+- string number = 1;
+- PhoneType type = 2;
+-}
+-
+-// CustomerProfile message
+-message CustomerProfile {
+- string user_id = 1;
+- string full_name = 2;
+- EmailAddress email = 3;
+- int32 age = 4;
+- Address address = 5;
+- repeated PhoneNumber phone_numbers = 6;
+- map preferences = 7;
+- AccountStatus account_status = 8;
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/JsonClassLibrary/src/Function.cs b/examples/Kafka/JsonClassLibrary/src/Function.cs
+deleted file mode 100644
+index 98795029..00000000
+--- a/examples/Kafka/JsonClassLibrary/src/Function.cs
++++ /dev/null
+@@ -1,32 +0,0 @@
+-using Amazon.Lambda.Core;
+-using AWS.Lambda.Powertools.Kafka;
+-using AWS.Lambda.Powertools.Kafka.Protobuf;
+-using AWS.Lambda.Powertools.Logging;
+-using Com.Example;
+-
+-// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class.
+-[assembly: LambdaSerializer(typeof(PowertoolsKafkaProtobufSerializer))]
+-
+-namespace ProtoBufClassLibrary;
+-
+-public class Function
+-{
+- public string FunctionHandler(ConsumerRecords records, ILambdaContext context)
+- {
+- foreach (var record in records)
+- {
+- Logger.LogInformation("Processing messagem from topic: {topic}", record.Topic);
+- Logger.LogInformation("Partition: {partition}, Offset: {offset}", record.Partition, record.Offset);
+- Logger.LogInformation("Produced at: {timestamp}", record.Timestamp);
+-
+- foreach (var header in record.Headers.DecodedValues())
+- {
+- Logger.LogInformation($"{header.Key}: {header.Value}");
+- }
+-
+- Logger.LogInformation("Processing order for: {fullName}", record.Value.FullName);
+- }
+-
+- return "Processed " + records.Count() + " records";
+- }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/JsonClassLibrary/src/ProtoBufClassLibrary.csproj b/examples/Kafka/JsonClassLibrary/src/ProtoBufClassLibrary.csproj
+deleted file mode 100644
+index a28e1a2f..00000000
+--- a/examples/Kafka/JsonClassLibrary/src/ProtoBufClassLibrary.csproj
++++ /dev/null
+@@ -1,42 +0,0 @@
+-
+-
+- net8.0
+- enable
+- enable
+- true
+- Lambda
+-
+- true
+-
+- true
+-
+-
+-
+-
+-
+-
+- all
+- runtime; build; native; contentfiles; analyzers; buildtransitive
+-
+-
+-
+-
+-
+-
+-
+- PreserveNewest
+-
+-
+-
+-
+- Client
+- Public
+- True
+- True
+- obj/Debug/net8.0/
+- MSBuild:Compile
+- PreserveNewest
+-
+-
+-
+-
+\ No newline at end of file
+diff --git a/examples/Kafka/JsonClassLibrary/src/aws-lambda-tools-defaults.json b/examples/Kafka/JsonClassLibrary/src/aws-lambda-tools-defaults.json
+deleted file mode 100644
+index d4ec43f1..00000000
+--- a/examples/Kafka/JsonClassLibrary/src/aws-lambda-tools-defaults.json
++++ /dev/null
+@@ -1,16 +0,0 @@
+-{
+- "Information": [
+- "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
+- "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
+- "dotnet lambda help",
+- "All the command line options for the Lambda command can be specified in this file."
+- ],
+- "profile": "",
+- "region": "",
+- "configuration": "Release",
+- "function-architecture": "x86_64",
+- "function-runtime": "dotnet8",
+- "function-memory-size": 512,
+- "function-timeout": 30,
+- "function-handler": "ProtoBufClassLibrary::ProtoBufClassLibrary.Function::FunctionHandler"
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/JsonClassLibrary/src/kafka-protobuf-event.json b/examples/Kafka/JsonClassLibrary/src/kafka-protobuf-event.json
+deleted file mode 100644
+index 6731ceb4..00000000
+--- a/examples/Kafka/JsonClassLibrary/src/kafka-protobuf-event.json
++++ /dev/null
+@@ -1,23 +0,0 @@
+-{
+- "eventSource": "aws:kafka",
+- "eventSourceArn": "arn:aws:kafka:us-east-1:0123456789019:cluster/CustomerCluster/abcd1234-abcd-cafe-abab-9876543210ab-4",
+- "bootstrapServers": "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
+- "records": {
+- "customer-topic-0": [
+- {
+- "topic": "customer-topic",
+- "partition": 0,
+- "offset": 15,
+- "timestamp": 1545084650987,
+- "timestampType": "CREATE_TIME",
+- "key": "dXNlcl85NzU0",
+- "value": "Cgl1c2VyXzk3NTQSDlVzZXIgdXNlcl85NzU0GhgKFHVzZXJfOTc1NEBpY2xvdWQuY29tGAEgNSooCgw5MzQwIE1haW4gU3QSCFNhbiBKb3NlGgJDQSIDVVNBKgUzOTU5NjIQCgwyNDQtNDA3LTg4NzEQAToUCghsYW5ndWFnZRIIZGlzYWJsZWQ6FQoNbm90aWZpY2F0aW9ucxIEZGFyazoTCgh0aW1lem9uZRIHZW5hYmxlZEAC",
+- "headers": [
+- {
+- "headerKey": [104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101]
+- }
+- ]
+- }
+- ]
+- }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/JsonClassLibrary/src/template.yaml b/examples/Kafka/JsonClassLibrary/src/template.yaml
+deleted file mode 100644
+index 0df5feaa..00000000
+--- a/examples/Kafka/JsonClassLibrary/src/template.yaml
++++ /dev/null
+@@ -1,27 +0,0 @@
+-AWSTemplateFormatVersion: '2010-09-09'
+-Transform: AWS::Serverless-2016-10-31
+-Description: >
+- kafka
+-
+- Sample SAM Template for kafka
+-
+-# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
+-Globals:
+- Function:
+- Timeout: 15
+- MemorySize: 512
+- Runtime: dotnet8
+-
+-Resources:
+- ProtobufClassLibraryDeserializationFunction:
+- Type: AWS::Serverless::Function
+- Properties:
+- Handler: ProtoBufClassLibrary::ProtoBufClassLibrary.Function::FunctionHandler
+- Architectures:
+- - x86_64
+- Tracing: Active
+- Environment: # Powertools env vars: https://awslabs.github.io/aws-lambda-powertools-python/#environment-variables
+- Variables:
+- POWERTOOLS_SERVICE_NAME: PowertoolsHelloWorld
+- POWERTOOLS_LOG_LEVEL: Info
+- POWERTOOLS_LOGGER_CASE: PascalCase # Allowed values are: CamelCase, PascalCase and SnakeCase (Default)
+\ No newline at end of file
+diff --git a/examples/Kafka/Protobuf/src/CustomerProfile.proto b/examples/Kafka/Protobuf/src/CustomerProfile.proto
+deleted file mode 100644
+index 9c69b1c4..00000000
+--- a/examples/Kafka/Protobuf/src/CustomerProfile.proto
++++ /dev/null
+@@ -1,49 +0,0 @@
+-syntax = "proto3";
+-
+-package com.example;
+-
+-enum PhoneType {
+- HOME = 0;
+- WORK = 1;
+- MOBILE = 2;
+-}
+-
+-enum AccountStatus {
+- ACTIVE = 0;
+- INACTIVE = 1;
+- SUSPENDED = 2;
+-}
+-
+-// EmailAddress message
+-message EmailAddress {
+- string address = 1;
+- bool verified = 2;
+- bool primary = 3;
+-}
+-
+-// Address message
+-message Address {
+- string street = 1;
+- string city = 2;
+- string state = 3;
+- string country = 4;
+- string zip_code = 5;
+-}
+-
+-// PhoneNumber message
+-message PhoneNumber {
+- string number = 1;
+- PhoneType type = 2;
+-}
+-
+-// CustomerProfile message
+-message CustomerProfile {
+- string user_id = 1;
+- string full_name = 2;
+- EmailAddress email = 3;
+- int32 age = 4;
+- Address address = 5;
+- repeated PhoneNumber phone_numbers = 6;
+- map preferences = 7;
+- AccountStatus account_status = 8;
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Protobuf/src/Function.cs b/examples/Kafka/Protobuf/src/Function.cs
+deleted file mode 100644
+index 44632869..00000000
+--- a/examples/Kafka/Protobuf/src/Function.cs
++++ /dev/null
+@@ -1,22 +0,0 @@
+-using Amazon.Lambda.Core;
+-using Amazon.Lambda.RuntimeSupport;
+-using AWS.Lambda.Powertools.Kafka;
+-using AWS.Lambda.Powertools.Kafka.Protobuf;
+-using AWS.Lambda.Powertools.Logging;
+-using Com.Example;
+-
+-string Handler(ConsumerRecords records, ILambdaContext context)
+-{
+- foreach (var record in records)
+- {
+- Logger.LogInformation("Record Value: {@record}", record.Value);
+- }
+-
+- return "Processed " + records.Count() + " records";
+-}
+-
+-await LambdaBootstrapBuilder.Create((Func, ILambdaContext, string>?)Handler,
+- new PowertoolsKafkaProtobufSerializer()) // Use PowertoolsKafkaProtobufSerializer for Protobuf serialization
+- .Build()
+- .RunAsync();
+-
+diff --git a/examples/Kafka/Protobuf/src/Protobuf.csproj b/examples/Kafka/Protobuf/src/Protobuf.csproj
+deleted file mode 100644
+index 858ccfb4..00000000
+--- a/examples/Kafka/Protobuf/src/Protobuf.csproj
++++ /dev/null
+@@ -1,44 +0,0 @@
+-
+-
+- Exe
+- net8.0
+- enable
+- enable
+- true
+- Lambda
+-
+- true
+-
+- true
+-
+-
+-
+-
+-
+-
+-
+- all
+- runtime; build; native; contentfiles; analyzers; buildtransitive
+-
+-
+-
+-
+- PreserveNewest
+-
+-
+-
+-
+- Client
+- Public
+- True
+-
+- True
+- obj\Debug/net8.0/
+- MSBuild:Compile
+- PreserveNewest
+-
+-
+-
+-
+-
+-
+\ No newline at end of file
+diff --git a/examples/Kafka/Protobuf/src/aws-lambda-tools-defaults.json b/examples/Kafka/Protobuf/src/aws-lambda-tools-defaults.json
+deleted file mode 100644
+index 1a1c5de1..00000000
+--- a/examples/Kafka/Protobuf/src/aws-lambda-tools-defaults.json
++++ /dev/null
+@@ -1,15 +0,0 @@
+-{
+- "Information": [
+- "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
+- "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
+- "dotnet lambda help",
+- "All the command line options for the Lambda command can be specified in this file."
+- ],
+- "profile": "",
+- "region": "",
+- "configuration": "Release",
+- "function-runtime": "dotnet8",
+- "function-memory-size": 512,
+- "function-timeout": 30,
+- "function-handler": "Protobuf"
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Protobuf/src/kafka-protobuf-event.json b/examples/Kafka/Protobuf/src/kafka-protobuf-event.json
+deleted file mode 100644
+index 6731ceb4..00000000
+--- a/examples/Kafka/Protobuf/src/kafka-protobuf-event.json
++++ /dev/null
+@@ -1,23 +0,0 @@
+-{
+- "eventSource": "aws:kafka",
+- "eventSourceArn": "arn:aws:kafka:us-east-1:0123456789019:cluster/CustomerCluster/abcd1234-abcd-cafe-abab-9876543210ab-4",
+- "bootstrapServers": "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
+- "records": {
+- "customer-topic-0": [
+- {
+- "topic": "customer-topic",
+- "partition": 0,
+- "offset": 15,
+- "timestamp": 1545084650987,
+- "timestampType": "CREATE_TIME",
+- "key": "dXNlcl85NzU0",
+- "value": "Cgl1c2VyXzk3NTQSDlVzZXIgdXNlcl85NzU0GhgKFHVzZXJfOTc1NEBpY2xvdWQuY29tGAEgNSooCgw5MzQwIE1haW4gU3QSCFNhbiBKb3NlGgJDQSIDVVNBKgUzOTU5NjIQCgwyNDQtNDA3LTg4NzEQAToUCghsYW5ndWFnZRIIZGlzYWJsZWQ6FQoNbm90aWZpY2F0aW9ucxIEZGFyazoTCgh0aW1lem9uZRIHZW5hYmxlZEAC",
+- "headers": [
+- {
+- "headerKey": [104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101]
+- }
+- ]
+- }
+- ]
+- }
+-}
+\ No newline at end of file
+diff --git a/examples/Kafka/Protobuf/src/template.yaml b/examples/Kafka/Protobuf/src/template.yaml
+deleted file mode 100644
+index b8f7df6a..00000000
+--- a/examples/Kafka/Protobuf/src/template.yaml
++++ /dev/null
+@@ -1,27 +0,0 @@
+-AWSTemplateFormatVersion: '2010-09-09'
+-Transform: AWS::Serverless-2016-10-31
+-Description: >
+- kafka
+-
+- Sample SAM Template for kafka
+-
+-# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
+-Globals:
+- Function:
+- Timeout: 15
+- MemorySize: 512
+- Runtime: dotnet8
+-
+-Resources:
+- ProtobufDeserializationFunction:
+- Type: AWS::Serverless::Function
+- Properties:
+- Handler: Protobuf
+- Architectures:
+- - x86_64
+- Tracing: Active
+- Environment: # Powertools env vars: https://awslabs.github.io/aws-lambda-powertools-python/#environment-variables
+- Variables:
+- POWERTOOLS_SERVICE_NAME: PowertoolsHelloWorld
+- POWERTOOLS_LOG_LEVEL: Info
+- POWERTOOLS_LOGGER_CASE: PascalCase # Allowed values are: CamelCase, PascalCase and SnakeCase (Default)
+\ No newline at end of file
+diff --git a/examples/Logging/src/HelloWorld/Dockerfile b/examples/Logging/src/HelloWorld/Dockerfile
+index 0b025f36..eb6d0e0b 100644
+--- a/examples/Logging/src/HelloWorld/Dockerfile
++++ b/examples/Logging/src/HelloWorld/Dockerfile
+@@ -1,4 +1,4 @@
+-FROM mcr.microsoft.com/dotnet/sdk@sha256:c8fdd06e430de9f4ddd066b475ea350d771f341b77dd5ff4c2fafa748e3f2ef2 AS build-image
++FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-image
+
+ ARG FUNCTION_DIR="/build"
+ ARG SAM_BUILD_MODE="run"
+@@ -15,7 +15,7 @@ RUN mkdir -p build_artifacts
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then dotnet lambda package --configuration Debug; else dotnet lambda package --configuration Release; fi
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then cp -r /build/bin/Debug/net6.0/publish/* /build/build_artifacts; else cp -r /build/bin/Release/net6.0/publish/* /build/build_artifacts; fi
+
+-FROM public.ecr.aws/lambda/dotnet@sha256:ec61a7f638e2a0c86d75204117cc7710bcdc70222ffc777e3fc1458287b09834
++FROM public.ecr.aws/lambda/dotnet:6
+
+ COPY --from=build-image /build/build_artifacts/ /var/task/
+ # Command can be overwritten by providing a different command in the template directly.
+diff --git a/examples/Logging/src/HelloWorld/HelloWorld.csproj b/examples/Logging/src/HelloWorld/HelloWorld.csproj
+index 36e8ed0d..2fa0c42d 100644
+--- a/examples/Logging/src/HelloWorld/HelloWorld.csproj
++++ b/examples/Logging/src/HelloWorld/HelloWorld.csproj
+@@ -5,10 +5,10 @@
+ enable
+
+
+-
++
+
+-
+-
++
++
+
+
+
+diff --git a/examples/Logging/test/HelloWorld.Test/HelloWorld.Tests.csproj b/examples/Logging/test/HelloWorld.Test/HelloWorld.Tests.csproj
+index 14917e4c..446d7f28 100644
+--- a/examples/Logging/test/HelloWorld.Test/HelloWorld.Tests.csproj
++++ b/examples/Logging/test/HelloWorld.Test/HelloWorld.Tests.csproj
+@@ -3,9 +3,9 @@
+ net6.0;net8.0
+
+
+-
++
+
+-
++
+
+
+
+diff --git a/examples/Metrics/src/HelloWorld/Dockerfile b/examples/Metrics/src/HelloWorld/Dockerfile
+index 932a2740..8cf3b466 100644
+--- a/examples/Metrics/src/HelloWorld/Dockerfile
++++ b/examples/Metrics/src/HelloWorld/Dockerfile
+@@ -1,4 +1,4 @@
+-FROM mcr.microsoft.com/dotnet/sdk@sha256:c8fdd06e430de9f4ddd066b475ea350d771f341b77dd5ff4c2fafa748e3f2ef2 AS build-image
++FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-image
+
+ ARG FUNCTION_DIR="/build"
+ ARG SAM_BUILD_MODE="run"
+@@ -16,7 +16,7 @@ RUN mkdir -p build_artifacts
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then dotnet lambda package --configuration Debug; else dotnet lambda package --configuration Release; fi
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then cp -r /build/bin/Debug/net6.0/publish/* /build/build_artifacts; else cp -r /build/bin/Release/net6.0/publish/* /build/build_artifacts; fi
+
+-FROM public.ecr.aws/lambda/dotnet@sha256:ec61a7f638e2a0c86d75204117cc7710bcdc70222ffc777e3fc1458287b09834
++FROM public.ecr.aws/lambda/dotnet:6
+
+ COPY --from=build-image /build/build_artifacts/ /var/task/
+ # Command can be overwritten by providing a different command in the template directly.
+diff --git a/examples/Metrics/src/HelloWorld/Function.cs b/examples/Metrics/src/HelloWorld/Function.cs
+index 9c797f6e..f99cf395 100644
+--- a/examples/Metrics/src/HelloWorld/Function.cs
++++ b/examples/Metrics/src/HelloWorld/Function.cs
+@@ -82,11 +82,11 @@ public class Function
+
+ // Add Metric to capture the amount of time
+ Metrics.PushSingleMetric(
+- name: "CallingIP",
++ metricName: "CallingIP",
+ value: 1,
+ unit: MetricUnit.Count,
+ service: "lambda-powertools-metrics-example",
+- dimensions: new Dictionary
++ defaultDimensions: new Dictionary
+ {
+ { "Metric Type", "Single" }
+ });
+@@ -104,11 +104,11 @@ public class Function
+ try
+ {
+ Metrics.PushSingleMetric(
+- name: "RecordsSaved",
++ metricName: "RecordsSaved",
+ value: 1,
+ unit: MetricUnit.Count,
+ service: "lambda-powertools-metrics-example",
+- dimensions: new Dictionary
++ defaultDimensions: new Dictionary
+ {
+ { "Metric Type", "Single" }
+ });
+diff --git a/examples/Metrics/src/HelloWorld/HelloWorld.csproj b/examples/Metrics/src/HelloWorld/HelloWorld.csproj
+index dc82111b..14d90df2 100644
+--- a/examples/Metrics/src/HelloWorld/HelloWorld.csproj
++++ b/examples/Metrics/src/HelloWorld/HelloWorld.csproj
+@@ -5,11 +5,11 @@
+ enable
+
+
+-
++
+
+-
+-
+-
++
++
++
+
+
+
+diff --git a/examples/Metrics/test/HelloWorld.Test/HelloWorld.Tests.csproj b/examples/Metrics/test/HelloWorld.Test/HelloWorld.Tests.csproj
+index 14917e4c..446d7f28 100644
+--- a/examples/Metrics/test/HelloWorld.Test/HelloWorld.Tests.csproj
++++ b/examples/Metrics/test/HelloWorld.Test/HelloWorld.Tests.csproj
+@@ -3,9 +3,9 @@
+ net6.0;net8.0
+
+
+-
++
+
+-
++
+
+
+
+diff --git a/examples/Parameters/cfn/HelloWorld.Cfn/HelloWorld.Cfn.csproj b/examples/Parameters/cfn/HelloWorld.Cfn/HelloWorld.Cfn.csproj
+index cf97597d..713914f2 100644
+--- a/examples/Parameters/cfn/HelloWorld.Cfn/HelloWorld.Cfn.csproj
++++ b/examples/Parameters/cfn/HelloWorld.Cfn/HelloWorld.Cfn.csproj
+@@ -6,8 +6,8 @@
+ HelloWorld.Cfn
+
+
+-
+-
++
++
+
+
+
+diff --git a/examples/Parameters/src/HelloWorld/HelloWorld.csproj b/examples/Parameters/src/HelloWorld/HelloWorld.csproj
+index 99b13a66..6b29f425 100644
+--- a/examples/Parameters/src/HelloWorld/HelloWorld.csproj
++++ b/examples/Parameters/src/HelloWorld/HelloWorld.csproj
+@@ -5,9 +5,9 @@
+ enable
+
+
+-
++
+
+-
++
+
+
+
+diff --git a/examples/Parameters/test/HelloWorld.Test/HelloWorld.Tests.csproj b/examples/Parameters/test/HelloWorld.Test/HelloWorld.Tests.csproj
+index 589c8306..9b17d57f 100644
+--- a/examples/Parameters/test/HelloWorld.Test/HelloWorld.Tests.csproj
++++ b/examples/Parameters/test/HelloWorld.Test/HelloWorld.Tests.csproj
+@@ -3,9 +3,9 @@
+ net6.0;net8.0
+
+
+-
++
+
+-
++
+
+
+
+diff --git a/examples/ServerlessApi/src/LambdaPowertoolsAPI/LambdaPowertoolsAPI.csproj b/examples/ServerlessApi/src/LambdaPowertoolsAPI/LambdaPowertoolsAPI.csproj
+index fd91c9de..f529937d 100644
+--- a/examples/ServerlessApi/src/LambdaPowertoolsAPI/LambdaPowertoolsAPI.csproj
++++ b/examples/ServerlessApi/src/LambdaPowertoolsAPI/LambdaPowertoolsAPI.csproj
+@@ -13,8 +13,8 @@
+
+
+
+-
+-
+-
++
++
++
+
+
+diff --git a/examples/ServerlessApi/test/LambdaPowertoolsAPI.Tests/LambdaPowertoolsAPI.Tests.csproj b/examples/ServerlessApi/test/LambdaPowertoolsAPI.Tests/LambdaPowertoolsAPI.Tests.csproj
+index edfda0a5..d9cdaef4 100644
+--- a/examples/ServerlessApi/test/LambdaPowertoolsAPI.Tests/LambdaPowertoolsAPI.Tests.csproj
++++ b/examples/ServerlessApi/test/LambdaPowertoolsAPI.Tests/LambdaPowertoolsAPI.Tests.csproj
+@@ -16,7 +16,7 @@
+
+
+
+-
++
+
+
+
+diff --git a/examples/Tracing/src/HelloWorld/Dockerfile b/examples/Tracing/src/HelloWorld/Dockerfile
+index 932a2740..8cf3b466 100644
+--- a/examples/Tracing/src/HelloWorld/Dockerfile
++++ b/examples/Tracing/src/HelloWorld/Dockerfile
+@@ -1,4 +1,4 @@
+-FROM mcr.microsoft.com/dotnet/sdk@sha256:c8fdd06e430de9f4ddd066b475ea350d771f341b77dd5ff4c2fafa748e3f2ef2 AS build-image
++FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-image
+
+ ARG FUNCTION_DIR="/build"
+ ARG SAM_BUILD_MODE="run"
+@@ -16,7 +16,7 @@ RUN mkdir -p build_artifacts
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then dotnet lambda package --configuration Debug; else dotnet lambda package --configuration Release; fi
+ RUN if [ "$SAM_BUILD_MODE" = "debug" ]; then cp -r /build/bin/Debug/net6.0/publish/* /build/build_artifacts; else cp -r /build/bin/Release/net6.0/publish/* /build/build_artifacts; fi
+
+-FROM public.ecr.aws/lambda/dotnet@sha256:ec61a7f638e2a0c86d75204117cc7710bcdc70222ffc777e3fc1458287b09834
++FROM public.ecr.aws/lambda/dotnet:6
+
+ COPY --from=build-image /build/build_artifacts/ /var/task/
+ # Command can be overwritten by providing a different command in the template directly.
+diff --git a/examples/Tracing/src/HelloWorld/HelloWorld.csproj b/examples/Tracing/src/HelloWorld/HelloWorld.csproj
+index f6c4873c..0f61b8f4 100644
+--- a/examples/Tracing/src/HelloWorld/HelloWorld.csproj
++++ b/examples/Tracing/src/HelloWorld/HelloWorld.csproj
+@@ -5,11 +5,11 @@
+ enable
+
+
+-
++
+
+-
+-
+-
++
++
++
+
+
+
+diff --git a/examples/Tracing/test/HelloWorld.Test/HelloWorld.Tests.csproj b/examples/Tracing/test/HelloWorld.Test/HelloWorld.Tests.csproj
+index 14917e4c..446d7f28 100644
+--- a/examples/Tracing/test/HelloWorld.Test/HelloWorld.Tests.csproj
++++ b/examples/Tracing/test/HelloWorld.Test/HelloWorld.Tests.csproj
+@@ -3,9 +3,9 @@
+ net6.0;net8.0
+
+
+-
++
+
+-
++
+
+
+
+diff --git a/examples/examples.sln b/examples/examples.sln
+index 6b9fa877..10ec4850 100644
+--- a/examples/examples.sln
++++ b/examples/examples.sln
+@@ -109,16 +109,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT_Logging", "AOT\AOT_Logg
+ EndProject
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT_Logging.Tests", "AOT\AOT_Logging\test\AOT_Logging.Tests\AOT_Logging.Tests.csproj", "{FC010A0E-64A9-4440-97FE-DEDA8CEE0BE5}"
+ EndProject
+-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Kafka", "Kafka", "{71027B81-CA39-498C-9A50-ADDAFA2AC2F5}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Json", "Kafka\Json\src\Json.csproj", "{58EC305E-353A-4996-A541-3CF7FC0EDD80}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Protobuf", "Kafka\Protobuf\src\Protobuf.csproj", "{853F6FE9-1762-4BA3-BAF4-2FCD605B81CF}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avro", "Kafka\Avro\src\Avro.csproj", "{B03F22B2-315C-429B-9CC0-C15BE94CBF77}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtoBufClassLibrary", "Kafka\JsonClassLibrary\src\ProtoBufClassLibrary.csproj", "{B6B3136D-B739-4917-AD3D-30F19FE12D3F}"
+-EndProject
+ Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+@@ -212,22 +202,6 @@ Global
+ {FC010A0E-64A9-4440-97FE-DEDA8CEE0BE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FC010A0E-64A9-4440-97FE-DEDA8CEE0BE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FC010A0E-64A9-4440-97FE-DEDA8CEE0BE5}.Release|Any CPU.Build.0 = Release|Any CPU
+- {58EC305E-353A-4996-A541-3CF7FC0EDD80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {58EC305E-353A-4996-A541-3CF7FC0EDD80}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {58EC305E-353A-4996-A541-3CF7FC0EDD80}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {58EC305E-353A-4996-A541-3CF7FC0EDD80}.Release|Any CPU.Build.0 = Release|Any CPU
+- {853F6FE9-1762-4BA3-BAF4-2FCD605B81CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {853F6FE9-1762-4BA3-BAF4-2FCD605B81CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {853F6FE9-1762-4BA3-BAF4-2FCD605B81CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {853F6FE9-1762-4BA3-BAF4-2FCD605B81CF}.Release|Any CPU.Build.0 = Release|Any CPU
+- {B03F22B2-315C-429B-9CC0-C15BE94CBF77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {B03F22B2-315C-429B-9CC0-C15BE94CBF77}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {B03F22B2-315C-429B-9CC0-C15BE94CBF77}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {B03F22B2-315C-429B-9CC0-C15BE94CBF77}.Release|Any CPU.Build.0 = Release|Any CPU
+- {B6B3136D-B739-4917-AD3D-30F19FE12D3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {B6B3136D-B739-4917-AD3D-30F19FE12D3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {B6B3136D-B739-4917-AD3D-30F19FE12D3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {B6B3136D-B739-4917-AD3D-30F19FE12D3F}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {0CC66DBC-C1DF-4AF6-8EEB-FFED6C578BF4} = {526F1EF7-5A9C-4BFF-ABAE-75992ACD8F78}
+@@ -275,9 +249,5 @@ Global
+ {343CF6B9-C006-43F8-924C-BF5BF5B6D051} = {FE1CAA26-87E9-4B71-800E-81D2997A7B53}
+ {FC02CF45-DE15-4413-958A-D86808B99146} = {FEE72EAB-494F-403B-A75A-825E713C3D43}
+ {FC010A0E-64A9-4440-97FE-DEDA8CEE0BE5} = {F3480212-EE7F-46FE-9ED5-24ACAB5B681D}
+- {58EC305E-353A-4996-A541-3CF7FC0EDD80} = {71027B81-CA39-498C-9A50-ADDAFA2AC2F5}
+- {853F6FE9-1762-4BA3-BAF4-2FCD605B81CF} = {71027B81-CA39-498C-9A50-ADDAFA2AC2F5}
+- {B03F22B2-315C-429B-9CC0-C15BE94CBF77} = {71027B81-CA39-498C-9A50-ADDAFA2AC2F5}
+- {B6B3136D-B739-4917-AD3D-30F19FE12D3F} = {71027B81-CA39-498C-9A50-ADDAFA2AC2F5}
+ EndGlobalSection
+ EndGlobal
+diff --git a/libraries/AWS.Lambda.Powertools.sln b/libraries/AWS.Lambda.Powertools.sln
+index 325c683e..72aea967 100644
+--- a/libraries/AWS.Lambda.Powertools.sln
++++ b/libraries/AWS.Lambda.Powertools.sln
+@@ -97,32 +97,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT-FunctionHandlerTest", "
+ EndProject
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT-FunctionMethodAttributeTest", "tests\e2e\functions\idempotency\AOT-Function\src\AOT-FunctionMethodAttributeTest\AOT-FunctionMethodAttributeTest.csproj", "{CC8CFF43-DC72-464C-A42D-55E023DE8500}"
+ EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Metrics.AspNetCore", "src\AWS.Lambda.Powertools.Metrics.AspNetCore\AWS.Lambda.Powertools.Metrics.AspNetCore.csproj", "{A2AD98B1-2BED-4864-B573-77BE7B52FED2}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Metrics.AspNetCore.Tests", "tests\AWS.Lambda.Powertools.Metrics.AspNetCore.Tests\AWS.Lambda.Powertools.Metrics.AspNetCore.Tests.csproj", "{F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}"
+-EndProject
+-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Metrics", "Metrics", "{A566F2D7-F8FE-466A-8306-85F266B7E656}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOT-Function-ILogger", "tests\e2e\functions\core\logging\AOT-Function-ILogger\src\AOT-Function-ILogger\AOT-Function-ILogger.csproj", "{7FC6DD65-0352-4139-8D08-B25C0A0403E3}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.EventHandler.Tests", "tests\AWS.Lambda.Powertools.EventHandler.Tests\AWS.Lambda.Powertools.EventHandler.Tests.csproj", "{61374D8E-F77C-4A31-AE07-35DAF1847369}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.EventHandler", "src\AWS.Lambda.Powertools.EventHandler\AWS.Lambda.Powertools.EventHandler.csproj", "{F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction", "src\AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction\AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction.csproj", "{281F7EB5-ACE5-458F-BC88-46A8899DF3BA}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction.AspNetCore", "src\AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction.AspNetCore\AWS.Lambda.Powertools.EventHandler.Resolvers.BedrockAgentFunction.AspNetCore.csproj", "{8A22F22E-D10A-4897-A89A-DC76C267F6BB}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka", "src\AWS.Lambda.Powertools.Kafka\AWS.Lambda.Powertools.Kafka.csproj", "{5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka.Tests", "tests\AWS.Lambda.Powertools.Kafka.Tests\AWS.Lambda.Powertools.Kafka.Tests.csproj", "{FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka.Avro", "src\AWS.Lambda.Powertools.Kafka.Avro\AWS.Lambda.Powertools.Kafka.Avro.csproj", "{25F0929B-2E04-4ED6-A0ED-5379A0A755B0}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka.Json", "src\AWS.Lambda.Powertools.Kafka.Json\AWS.Lambda.Powertools.Kafka.Json.csproj", "{9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}"
+-EndProject
+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka.Protobuf", "src\AWS.Lambda.Powertools.Kafka.Protobuf\AWS.Lambda.Powertools.Kafka.Protobuf.csproj", "{B640DB80-C982-407B-A2EC-CD29AC77DDB8}"
+-EndProject
+ Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+@@ -544,150 +518,6 @@ Global
+ {CC8CFF43-DC72-464C-A42D-55E023DE8500}.Release|x64.Build.0 = Release|Any CPU
+ {CC8CFF43-DC72-464C-A42D-55E023DE8500}.Release|x86.ActiveCfg = Release|Any CPU
+ {CC8CFF43-DC72-464C-A42D-55E023DE8500}.Release|x86.Build.0 = Release|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Debug|x64.Build.0 = Debug|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Debug|x86.Build.0 = Debug|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Release|Any CPU.Build.0 = Release|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Release|x64.ActiveCfg = Release|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Release|x64.Build.0 = Release|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Release|x86.ActiveCfg = Release|Any CPU
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2}.Release|x86.Build.0 = Release|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Debug|x64.Build.0 = Debug|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Debug|x86.Build.0 = Debug|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Release|Any CPU.Build.0 = Release|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Release|x64.ActiveCfg = Release|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Release|x64.Build.0 = Release|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Release|x86.ActiveCfg = Release|Any CPU
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB}.Release|x86.Build.0 = Release|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Debug|x64.Build.0 = Debug|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Debug|x86.Build.0 = Debug|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Release|Any CPU.Build.0 = Release|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Release|x64.ActiveCfg = Release|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Release|x64.Build.0 = Release|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Release|x86.ActiveCfg = Release|Any CPU
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3}.Release|x86.Build.0 = Release|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Debug|x64.Build.0 = Debug|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Debug|x86.Build.0 = Debug|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Release|Any CPU.Build.0 = Release|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Release|x64.ActiveCfg = Release|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Release|x64.Build.0 = Release|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Release|x86.ActiveCfg = Release|Any CPU
+- {61374D8E-F77C-4A31-AE07-35DAF1847369}.Release|x86.Build.0 = Release|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Debug|x64.Build.0 = Debug|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Debug|x86.Build.0 = Debug|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Release|Any CPU.Build.0 = Release|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Release|x64.ActiveCfg = Release|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Release|x64.Build.0 = Release|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Release|x86.ActiveCfg = Release|Any CPU
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE}.Release|x86.Build.0 = Release|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Debug|x64.Build.0 = Debug|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Debug|x86.Build.0 = Debug|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Release|Any CPU.Build.0 = Release|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Release|x64.ActiveCfg = Release|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Release|x64.Build.0 = Release|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Release|x86.ActiveCfg = Release|Any CPU
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA}.Release|x86.Build.0 = Release|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Debug|x64.Build.0 = Debug|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Debug|x86.Build.0 = Debug|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Release|Any CPU.Build.0 = Release|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Release|x64.ActiveCfg = Release|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Release|x64.Build.0 = Release|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Release|x86.ActiveCfg = Release|Any CPU
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB}.Release|x86.Build.0 = Release|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Debug|x64.Build.0 = Debug|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Debug|x86.Build.0 = Debug|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Release|Any CPU.Build.0 = Release|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Release|x64.ActiveCfg = Release|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Release|x64.Build.0 = Release|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Release|x86.ActiveCfg = Release|Any CPU
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3}.Release|x86.Build.0 = Release|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Debug|x64.Build.0 = Debug|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Debug|x86.Build.0 = Debug|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Release|Any CPU.Build.0 = Release|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Release|x64.ActiveCfg = Release|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Release|x64.Build.0 = Release|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Release|x86.ActiveCfg = Release|Any CPU
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645}.Release|x86.Build.0 = Release|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Debug|x64.Build.0 = Debug|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Debug|x86.Build.0 = Debug|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Release|Any CPU.Build.0 = Release|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Release|x64.ActiveCfg = Release|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Release|x64.Build.0 = Release|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Release|x86.ActiveCfg = Release|Any CPU
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0}.Release|x86.Build.0 = Release|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Debug|x64.Build.0 = Debug|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Debug|x86.Build.0 = Debug|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Release|Any CPU.Build.0 = Release|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Release|x64.ActiveCfg = Release|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Release|x64.Build.0 = Release|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Release|x86.ActiveCfg = Release|Any CPU
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E}.Release|x86.Build.0 = Release|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Debug|x64.ActiveCfg = Debug|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Debug|x64.Build.0 = Debug|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Debug|x86.ActiveCfg = Debug|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Debug|x86.Build.0 = Debug|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|Any CPU.Build.0 = Release|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x64.ActiveCfg = Release|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x64.Build.0 = Release|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x86.ActiveCfg = Release|Any CPU
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+
+ GlobalSection(NestedProjects) = preSolution
+@@ -696,6 +526,7 @@ Global
+ {3BA6251D-DE4E-4547-AAA9-25F4BA04C636} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+ {1A3AC28C-3AEE-40FE-B229-9E38BB609547} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+ {B68A0D0A-4785-48CB-864F-29E3A8ACA526} = {1CFF5568-8486-475F-81F6-06105C437528}
++ {A422C742-2CF9-409D-BDAE-15825AB62113} = {1CFF5568-8486-475F-81F6-06105C437528}
+ {4EC48E6A-45B5-4E25-ABBD-C23FE2BD6E1E} = {1CFF5568-8486-475F-81F6-06105C437528}
+ {A040AED5-BBB8-4BFA-B2A5-BBD82817B8A5} = {1CFF5568-8486-475F-81F6-06105C437528}
+ {1ECB31E8-2EF0-41E2-8C71-CB9876D207F0} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+@@ -732,19 +563,5 @@ Global
+ {ACA789EA-BD38-490B-A7F8-6A3A86985025} = {FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}
+ {E71C48D2-AD56-4177-BBD7-6BB859A40C92} = {FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}
+ {CC8CFF43-DC72-464C-A42D-55E023DE8500} = {FB2C7DA3-6FCE-429D-86F9-5775D0231EC6}
+- {A2AD98B1-2BED-4864-B573-77BE7B52FED2} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {A566F2D7-F8FE-466A-8306-85F266B7E656} = {1CFF5568-8486-475F-81F6-06105C437528}
+- {F8F80477-1EAD-4C5C-A329-CBC0A60C7CAB} = {A566F2D7-F8FE-466A-8306-85F266B7E656}
+- {A422C742-2CF9-409D-BDAE-15825AB62113} = {A566F2D7-F8FE-466A-8306-85F266B7E656}
+- {7FC6DD65-0352-4139-8D08-B25C0A0403E3} = {4EAB66F9-C9CB-4E8A-BEE6-A14CD7FDE02F}
+- {61374D8E-F77C-4A31-AE07-35DAF1847369} = {1CFF5568-8486-475F-81F6-06105C437528}
+- {F4B8D5AF-D3CA-4910-A14D-E5BAEF0FD1DE} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {281F7EB5-ACE5-458F-BC88-46A8899DF3BA} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {8A22F22E-D10A-4897-A89A-DC76C267F6BB} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {5B0DDE6F-ED16-452F-90D3-F0B6086D51B3} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {FDBDB9F8-B3E2-4ACA-9FC6-E12FF3D95645} = {1CFF5568-8486-475F-81F6-06105C437528}
+- {25F0929B-2E04-4ED6-A0ED-5379A0A755B0} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+- {B640DB80-C982-407B-A2EC-CD29AC77DDB8} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
+ EndGlobalSection
+ EndGlobal
+diff --git a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/AWS.Lambda.Powertools.BatchProcessing.csproj b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/AWS.Lambda.Powertools.BatchProcessing.csproj
+index e4bb98ea..54af1670 100644
+--- a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/AWS.Lambda.Powertools.BatchProcessing.csproj
++++ b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/AWS.Lambda.Powertools.BatchProcessing.csproj
+@@ -10,7 +10,6 @@
+
+
+
+-
+
+
+
+diff --git a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchItemFailuresResponse.cs b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchItemFailuresResponse.cs
+index 16248718..d7ef6bfa 100644
+--- a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchItemFailuresResponse.cs
++++ b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchItemFailuresResponse.cs
+@@ -1,4 +1,17 @@
+-
++/*
++ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License").
++ * You may not use this file except in compliance with the License.
++ * A copy of the License is located at
++ *
++ * http://aws.amazon.com/apache2.0
++ *
++ * or in the "license" file accompanying this file. This file is distributed
++ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
++ * express or implied. See the License for the specific language governing
++ * permissions and limitations under the License.
++ */
+
+ using System.Collections.Generic;
+ using System.Runtime.Serialization;
+diff --git a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessor.cs b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessor.cs
+index 6afeebfa..ba3c5f3f 100644
+--- a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessor.cs
++++ b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessor.cs
+@@ -1,4 +1,19 @@
+-using System;
++/*
++ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License").
++ * You may not use this file except in compliance with the License.
++ * A copy of the License is located at
++ *
++ * http://aws.amazon.com/apache2.0
++ *
++ * or in the "license" file accompanying this file. This file is distributed
++ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
++ * express or implied. See the License for the specific language governing
++ * permissions and limitations under the License.
++ */
++
++using System;
+ using System.Collections.Concurrent;
+ using System.Collections.Generic;
+ using System.Linq;
+diff --git a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessorAttribute.cs b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessorAttribute.cs
+index f28f7f3b..d693d4ec 100644
+--- a/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessorAttribute.cs
++++ b/libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessorAttribute.cs
+@@ -1,10 +1,21 @@
+-
++/*
++ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License").
++ * You may not use this file except in compliance with the License.
++ * A copy of the License is located at
++ *
++ * http://aws.amazon.com/apache2.0
++ *
++ * or in the "license" file accompanying this file. This file is distributed
++ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
++ * express or implied. See the License for the specific language governing
++ * permissions and limitations under the License.
++ */
+
+ using System;
+ using System.Collections.Generic;
+-using System.Diagnostics.CodeAnalysis;
+ using System.Linq;
+-using System.Text.Json.Serialization;
+ using System.Threading;
+ using System.Threading.Tasks;
+ using Amazon.Lambda.DynamoDBEvents;
+@@ -130,62 +141,23 @@ public class BatchProcessorAttribute : UniversalWrapperAttribute
+ ///
+ /// Type of batch processor.
+ ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+ public Type BatchProcessor { get; set; }
+
+ ///
+ /// Type of batch processor provider.
+ ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+ public Type BatchProcessorProvider { get; set; }
+
+ ///
+ /// Type of record handler.
+ ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+ public Type RecordHandler { get; set; }
+
+ ///
+ /// Type of record handler provider.
+ ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+ public Type RecordHandlerProvider { get; set; }
+
+- ///
+- /// Type of typed record handler for strongly-typed processing.
+- ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+- public Type TypedRecordHandler { get; set; }
+-
+- ///
+- /// Type of typed record handler provider for strongly-typed processing.
+- ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+- public Type TypedRecordHandlerProvider { get; set; }
+-
+- ///
+- /// Type of typed record handler with context for strongly-typed processing.
+- ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+- public Type TypedRecordHandlerWithContext { get; set; }
+-
+- ///
+- /// Type of typed record handler with context provider for strongly-typed processing.
+- ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+- public Type TypedRecordHandlerWithContextProvider { get; set; }
+-
+- ///
+- /// JsonSerializerContext type for AOT-compatible deserialization.
+- ///
+- [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
+- public Type JsonSerializerContext { get; set; }
+-
+- ///
+- /// Policy for handling deserialization errors.
+- ///
+- public DeserializationErrorPolicy DeserializationErrorPolicy { get; set; } = DeserializationErrorPolicy.FailRecord;
+-
+ ///
+ /// Error handling policy.
+ ///
+@@ -238,12 +210,6 @@ public class BatchProcessorAttribute : UniversalWrapperAttribute
+ {BatchEventType.KinesisDataStream, typeof(IRecordHandlerProvider)},
+ {BatchEventType.Sqs, typeof(IRecordHandlerProvider)}
+ };
+- private static readonly Dictionary TypedBatchProcessorTypes = new()
+- {
+- {BatchEventType.DynamoDbStream, typeof(ITypedBatchProcessor)},
+- {BatchEventType.KinesisDataStream, typeof(ITypedBatchProcessor)},
+- {BatchEventType.Sqs, typeof(ITypedBatchProcessor)}
+- };
+
+ ///
+ protected internal override T WrapSync(Func