diff --git a/enrollments-events/Makefile b/enrollments-events/Makefile new file mode 100644 index 0000000..dc7246f --- /dev/null +++ b/enrollments-events/Makefile @@ -0,0 +1,5 @@ +build: + sam build --use-container + +deploy: build + sam deploy --debug diff --git a/enrollments-events/app/boto3clients.py b/enrollments-events/app/boto3clients.py new file mode 100644 index 0000000..05de43d --- /dev/null +++ b/enrollments-events/app/boto3clients.py @@ -0,0 +1,13 @@ +import os + +import boto3 + + +def get_dynamodb_client(): + if os.getenv('AWS_LAMBDA_FUNCTION_NAME'): + return boto3.client('dynamodb') + + return boto3.client('dynamodb', endpoint_url='http://127.0.0.1:8000') + + +dynamodb_client = get_dynamodb_client() diff --git a/enrollments-events/app/certs/fonts/SF-Pro.ttf b/enrollments-events/app/certs/fonts/SF-Pro.ttf new file mode 100755 index 0000000..1e8aa63 Binary files /dev/null and b/enrollments-events/app/certs/fonts/SF-Pro.ttf differ diff --git a/enrollments-events/app/certs/hello.py b/enrollments-events/app/certs/hello.py new file mode 100644 index 0000000..5aa4204 --- /dev/null +++ b/enrollments-events/app/certs/hello.py @@ -0,0 +1,53 @@ +import base64 +import io +import locale +from datetime import date +from uuid import uuid4 + +import qrcode +from jinja2 import Template +from PIL import Image +from weasyprint import HTML + +locale.setlocale(locale.LC_TIME, 'pt_BR') +today = date.today() + +with open('nr10_complementar_sep.html', encoding='utf-8') as f: + html = f.read() + + +def cpf_fmt(s: str) -> str: + """Returns a string as a Brazilian CPF number.""" + return '{}.{}.{}-{}'.format(s[:3], s[3:6], s[6:9], s[9:]) + + +qr = qrcode.QRCode( + version=1, + error_correction=qrcode.constants.ERROR_CORRECT_H, + box_size=10, + border=3, +) +qr.add_data('https://eduseg.com.br') +qr.make(fit=True) +img = qr.make_image(fill_color='black', back_color='white') +img = img.resize((120, 120), Image.NEAREST) +buffer = io.BytesIO() +img.save(buffer, format='PNG') +img_str = base64.b64encode(buffer.getvalue()).decode('utf-8') +qrcode_base64 = f'data:image/png;base64,{img_str}' + + +template = Template(html) +html_rendered = template.render( + id=uuid4(), + name='Sérgio Rafael de Siqueira', + cpf=cpf_fmt('07879819908'), + progress=91.99, + course='NR-10 Complementar (SEP)', + today=today.strftime('%-d de %B de %Y'), + started_date=today.strftime('%d/%m/%Y'), + finished_date=today.strftime('%d/%m/%Y'), + qrcode=qrcode_base64, +) + +HTML(string=html_rendered, base_url='').write_pdf('cert.pdf') diff --git a/enrollments-events/app/certs/pyproject.toml b/enrollments-events/app/certs/pyproject.toml new file mode 100644 index 0000000..0bdf59f --- /dev/null +++ b/enrollments-events/app/certs/pyproject.toml @@ -0,0 +1,28 @@ +[project] +name = "certs" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "jinja2>=3.1.6", + "layercake", + "qrcode>=8.2", +] + +[tool.uv.sources] +layercake = { path = "../layercake" } + +[tool.ruff] +target-version = "py311" +src = ["app"] + +[tool.ruff.format] +quote-style = "single" + +[tool.ruff.lint] +select = ["E", "F", "I"] +[dependency-groups] +dev = [ + "ruff>=0.11.9", +] diff --git a/enrollments-events/app/certs/sample.html b/enrollments-events/app/certs/sample.html new file mode 100644 index 0000000..65d1ef3 --- /dev/null +++ b/enrollments-events/app/certs/sample.html @@ -0,0 +1,251 @@ + + + + + NR-10 Complementar (SEP) + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +

Certificamos que

+

{{ name }}

+

+ Portador(a) do CPF {{ cpf }} , concluiu o curso + de NR-10 Complementar (SEP) com aproveitamento + de + {{ progress }}% +

+

Realizado entre {{ started_date }} e {{ finished_date }}

+

Florianópolis, SC, {{ today }}

+ +
+
+
+

Tiago Maciel do Santos

+

CEO/Diretor

+
+
+ +
+ +
+
+ +
+
+

Conteúdo programático ministrado

+ +
+ +
+
+

Carga horária

+

40 horas

+
+ +
+

Instrutor e responsável técnico

+
+

Francis Ricardo Baretta

+

CPF 039.539.409-02

+

Eng. de Segurança no Trabalho Eng. Eletricista

+

CREA/SC 126693-0

+
+
+
+
+ + diff --git a/enrollments-events/app/certs/uv.lock b/enrollments-events/app/certs/uv.lock new file mode 100644 index 0000000..c5c5307 --- /dev/null +++ b/enrollments-events/app/certs/uv.lock @@ -0,0 +1,1006 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "arnparse" +version = "0.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/42/949284e998282b167e273872fa9c39b06d41a6055163c30aa2daaeee76a0/arnparse-0.0.2.tar.gz", hash = "sha256:cb87f17200d07121108a9085d4a09cc69a55582647776b9a917b0b1f279db8f8", size = 2677, upload-time = "2019-03-12T21:17:04.586Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/6f/630bedeb32964e99661990811a66389201b62c047b35c17e332dad9be2a3/arnparse-0.0.2-py2.py3-none-any.whl", hash = "sha256:b0906734e4b8f19e39b1e32944c6cd6274b6da90c066a83882ac7a11d27553e0", size = 2904, upload-time = "2019-03-12T21:17:03.039Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "aws-encryption-sdk" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boto3" }, + { name = "cryptography" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/ff/fefbcc1cee829f3ab188dbcb5069862f61b64ed82a6205314f1ab7bb90e6/aws-encryption-sdk-4.0.1.tar.gz", hash = "sha256:7320dc4cf8d8d5a9b4c88a343be93835da18756e05308d3536554be0ca2889a5", size = 260219, upload-time = "2025-03-27T17:24:54.669Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/a5/82956e2111b169c644633212da2a5f84dd9d953b9dd146ccfccfb8a46290/aws_encryption_sdk-4.0.1-py2.py3-none-any.whl", hash = "sha256:5c2ca9a207e1732542a1370ac7efd630ab6e04d05f98e68badf20927eb95ed1d", size = 99127, upload-time = "2025-03-27T17:24:50.903Z" }, +] + +[[package]] +name = "aws-lambda-powertools" +version = "3.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/90/7cc2e76ca959ce5985fcfff73a3885bbd5e3d85d5acd8c4ba1149b5ccaec/aws_lambda_powertools-3.12.0.tar.gz", hash = "sha256:b13146bbacf7bc029539b18c2a9b07b333cecca482d9ec4fba81dff5fb8523ea", size = 671775, upload-time = "2025-05-06T07:48:35.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/86/c73f4fc738df6a937a1d542c8e4eaf0a96a242b4fcb80db2d22fe78b39bb/aws_lambda_powertools-3.12.0-py3-none-any.whl", hash = "sha256:094d5b404a8025b09ca1425099aa417ddaff537f915b250007dcd43217c61dc5", size = 801386, upload-time = "2025-05-06T07:48:32.864Z" }, +] + +[package.optional-dependencies] +all = [ + { name = "aws-encryption-sdk" }, + { name = "aws-xray-sdk" }, + { name = "fastjsonschema" }, + { name = "jsonpath-ng" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, +] + +[[package]] +name = "aws-xray-sdk" +version = "2.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/6c/8e7fb2a45f20afc5c19d52807b560793fb48b0feca1de7de116b62a7893e/aws_xray_sdk-2.14.0.tar.gz", hash = "sha256:aab843c331af9ab9ba5cefb3a303832a19db186140894a523edafc024cc0493c", size = 93976, upload-time = "2024-06-04T22:11:38.124Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/69/b417833a8926fa5491e5346d7c233bf7d8a9b12ba1f4ef41ccea2494000c/aws_xray_sdk-2.14.0-py2.py3-none-any.whl", hash = "sha256:cfbe6feea3d26613a2a869d14c9246a844285c97087ad8f296f901633554ad94", size = 101922, upload-time = "2024-06-04T22:12:25.729Z" }, +] + +[[package]] +name = "boltons" +version = "25.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz", hash = "sha256:e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace", size = 246294, upload-time = "2025-02-03T05:57:59.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl", hash = "sha256:dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62", size = 194210, upload-time = "2025-02-03T05:57:56.705Z" }, +] + +[[package]] +name = "boto3" +version = "1.38.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/89/a47f62b3f81a2e3484d2a2b8dd4906c5b6e57da0af0bd59d36f99ba20baf/boto3-1.38.13.tar.gz", hash = "sha256:6633bce2b73284acce1453ca85834c7c5a59e0dbcce1170be461cc079bdcdfcf", size = 111812, upload-time = "2025-05-09T19:33:02.962Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/25/79e219648f10d060d152542fcf3be0093120471774b99c1a7f41ceaeca9b/boto3-1.38.13-py3-none-any.whl", hash = "sha256:668400d13889d2d2fcd66ce785cc0b0fc040681f58a9c7f67daa9149a52b6c63", size = 139934, upload-time = "2025-05-09T19:33:00.855Z" }, +] + +[[package]] +name = "botocore" +version = "1.38.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/36/5b0faba074684744244e1e030e73fd5612bc2c38f557eec0a7f1a3d7ddd2/botocore-1.38.13.tar.gz", hash = "sha256:22feee15753cd3f9f7179d041604078a1024701497d27b22be7c6707e8d13ccb", size = 13882010, upload-time = "2025-05-09T19:32:51.172Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/df/a7a8097471d5a3bc7d408850222292d874ffc190aef7e1cacf9af770339e/botocore-1.38.13-py3-none-any.whl", hash = "sha256:de29fee43a1f02787fb5b3756ec09917d5661ed95b2b2d64797ab04196f69e14", size = 13544507, upload-time = "2025-05-09T19:32:37.727Z" }, +] + +[[package]] +name = "brotli" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" }, +] + +[[package]] +name = "brotlicffi" +version = "1.1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13", size = 465192, upload-time = "2023-09-14T14:22:40.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/11/7b96009d3dcc2c931e828ce1e157f03824a69fb728d06bfd7b2fc6f93718/brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851", size = 453786, upload-time = "2023-09-14T14:21:57.72Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e6/a8f46f4a4ee7856fbd6ac0c6fb0dc65ed181ba46cd77875b8d9bbe494d9e/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b", size = 2911165, upload-time = "2023-09-14T14:21:59.613Z" }, + { url = "https://files.pythonhosted.org/packages/be/20/201559dff14e83ba345a5ec03335607e47467b6633c210607e693aefac40/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814", size = 2927895, upload-time = "2023-09-14T14:22:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/cd/15/695b1409264143be3c933f708a3f81d53c4a1e1ebbc06f46331decbf6563/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820", size = 2851834, upload-time = "2023-09-14T14:22:03.571Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/b961a702463b6005baf952794c2e9e0099bde657d0d7e007f923883b907f/brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb", size = 341731, upload-time = "2023-09-14T14:22:05.74Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fa/5408a03c041114ceab628ce21766a4ea882aa6f6f0a800e04ee3a30ec6b9/brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613", size = 366783, upload-time = "2023-09-14T14:22:07.096Z" }, +] + +[[package]] +name = "camel-converter" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/3d/dd783586dc0c4aee5b6b88489666fdb2c0c344ea0aa8a5c10746cc423707/camel_converter-4.0.1.tar.gz", hash = "sha256:401414549ae4ac4073e38cdc4aa6d464dc534fc40aa06ff787bf0960b0c86535", size = 38915, upload-time = "2024-10-08T16:55:39.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/e5/806359514cc8305f047bd6d39d63890298c0596f7328b534059724bd1a9e/camel_converter-4.0.1-py3-none-any.whl", hash = "sha256:0cba7ca1354a29ca2191983deecc9dcf28889f606c28d6ed18ac7d4586b163ac", size = 6243, upload-time = "2024-10-08T16:55:37.769Z" }, +] + +[package.optional-dependencies] +pydantic = [ + { name = "pydantic" }, +] + +[[package]] +name = "certifi" +version = "2025.4.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, +] + +[[package]] +name = "certs" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "jinja2" }, + { name = "layercake" }, + { name = "qrcode" }, +] + +[package.dev-dependencies] +dev = [ + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "jinja2", specifier = ">=3.1.6" }, + { name = "layercake", directory = "../layercake" }, + { name = "qrcode", specifier = ">=8.2" }, +] + +[package.metadata.requires-dev] +dev = [{ name = "ruff", specifier = ">=0.11.9" }] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "cryptography" +version = "44.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/53/d6/1411ab4d6108ab167d06254c5be517681f1e331f90edf1379895bcb87020/cryptography-44.0.3.tar.gz", hash = "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053", size = 711096, upload-time = "2025-05-02T19:36:04.667Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/53/c776d80e9d26441bb3868457909b4e74dd9ccabd182e10b2b0ae7a07e265/cryptography-44.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", size = 6670281, upload-time = "2025-05-02T19:34:50.665Z" }, + { url = "https://files.pythonhosted.org/packages/6a/06/af2cf8d56ef87c77319e9086601bef621bedf40f6f59069e1b6d1ec498c5/cryptography-44.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", size = 3959305, upload-time = "2025-05-02T19:34:53.042Z" }, + { url = "https://files.pythonhosted.org/packages/ae/01/80de3bec64627207d030f47bf3536889efee8913cd363e78ca9a09b13c8e/cryptography-44.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", size = 4171040, upload-time = "2025-05-02T19:34:54.675Z" }, + { url = "https://files.pythonhosted.org/packages/bd/48/bb16b7541d207a19d9ae8b541c70037a05e473ddc72ccb1386524d4f023c/cryptography-44.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", size = 3963411, upload-time = "2025-05-02T19:34:56.61Z" }, + { url = "https://files.pythonhosted.org/packages/42/b2/7d31f2af5591d217d71d37d044ef5412945a8a8e98d5a2a8ae4fd9cd4489/cryptography-44.0.3-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", size = 3689263, upload-time = "2025-05-02T19:34:58.591Z" }, + { url = "https://files.pythonhosted.org/packages/25/50/c0dfb9d87ae88ccc01aad8eb93e23cfbcea6a6a106a9b63a7b14c1f93c75/cryptography-44.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", size = 4196198, upload-time = "2025-05-02T19:35:00.988Z" }, + { url = "https://files.pythonhosted.org/packages/66/c9/55c6b8794a74da652690c898cb43906310a3e4e4f6ee0b5f8b3b3e70c441/cryptography-44.0.3-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", size = 3966502, upload-time = "2025-05-02T19:35:03.091Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f7/7cb5488c682ca59a02a32ec5f975074084db4c983f849d47b7b67cc8697a/cryptography-44.0.3-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", size = 4196173, upload-time = "2025-05-02T19:35:05.018Z" }, + { url = "https://files.pythonhosted.org/packages/d2/0b/2f789a8403ae089b0b121f8f54f4a3e5228df756e2146efdf4a09a3d5083/cryptography-44.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", size = 4087713, upload-time = "2025-05-02T19:35:07.187Z" }, + { url = "https://files.pythonhosted.org/packages/1d/aa/330c13655f1af398fc154089295cf259252f0ba5df93b4bc9d9c7d7f843e/cryptography-44.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", size = 4299064, upload-time = "2025-05-02T19:35:08.879Z" }, + { url = "https://files.pythonhosted.org/packages/10/a8/8c540a421b44fd267a7d58a1fd5f072a552d72204a3f08194f98889de76d/cryptography-44.0.3-cp37-abi3-win32.whl", hash = "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d", size = 2773887, upload-time = "2025-05-02T19:35:10.41Z" }, + { url = "https://files.pythonhosted.org/packages/b9/0d/c4b1657c39ead18d76bbd122da86bd95bdc4095413460d09544000a17d56/cryptography-44.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d", size = 3209737, upload-time = "2025-05-02T19:35:12.12Z" }, + { url = "https://files.pythonhosted.org/packages/34/a3/ad08e0bcc34ad436013458d7528e83ac29910943cea42ad7dd4141a27bbb/cryptography-44.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", size = 6673501, upload-time = "2025-05-02T19:35:13.775Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f0/7491d44bba8d28b464a5bc8cc709f25a51e3eac54c0a4444cf2473a57c37/cryptography-44.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", size = 3960307, upload-time = "2025-05-02T19:35:15.917Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c8/e5c5d0e1364d3346a5747cdcd7ecbb23ca87e6dea4f942a44e88be349f06/cryptography-44.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", size = 4170876, upload-time = "2025-05-02T19:35:18.138Z" }, + { url = "https://files.pythonhosted.org/packages/73/96/025cb26fc351d8c7d3a1c44e20cf9a01e9f7cf740353c9c7a17072e4b264/cryptography-44.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", size = 3964127, upload-time = "2025-05-02T19:35:19.864Z" }, + { url = "https://files.pythonhosted.org/packages/01/44/eb6522db7d9f84e8833ba3bf63313f8e257729cf3a8917379473fcfd6601/cryptography-44.0.3-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", size = 3689164, upload-time = "2025-05-02T19:35:21.449Z" }, + { url = "https://files.pythonhosted.org/packages/68/fb/d61a4defd0d6cee20b1b8a1ea8f5e25007e26aeb413ca53835f0cae2bcd1/cryptography-44.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", size = 4198081, upload-time = "2025-05-02T19:35:23.187Z" }, + { url = "https://files.pythonhosted.org/packages/1b/50/457f6911d36432a8811c3ab8bd5a6090e8d18ce655c22820994913dd06ea/cryptography-44.0.3-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", size = 3967716, upload-time = "2025-05-02T19:35:25.426Z" }, + { url = "https://files.pythonhosted.org/packages/35/6e/dca39d553075980ccb631955c47b93d87d27f3596da8d48b1ae81463d915/cryptography-44.0.3-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", size = 4197398, upload-time = "2025-05-02T19:35:27.678Z" }, + { url = "https://files.pythonhosted.org/packages/9b/9d/d1f2fe681eabc682067c66a74addd46c887ebacf39038ba01f8860338d3d/cryptography-44.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", size = 4087900, upload-time = "2025-05-02T19:35:29.312Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f5/3599e48c5464580b73b236aafb20973b953cd2e7b44c7c2533de1d888446/cryptography-44.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", size = 4301067, upload-time = "2025-05-02T19:35:31.547Z" }, + { url = "https://files.pythonhosted.org/packages/a7/6c/d2c48c8137eb39d0c193274db5c04a75dab20d2f7c3f81a7dcc3a8897701/cryptography-44.0.3-cp39-abi3-win32.whl", hash = "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028", size = 2775467, upload-time = "2025-05-02T19:35:33.805Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ad/51f212198681ea7b0deaaf8846ee10af99fba4e894f67b353524eab2bbe5/cryptography-44.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334", size = 3210375, upload-time = "2025-05-02T19:35:35.369Z" }, +] + +[[package]] +name = "cssselect2" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tinycss2" }, + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/86/fd7f58fc498b3166f3a7e8e0cddb6e620fe1da35b02248b1bd59e95dbaaa/cssselect2-0.8.0.tar.gz", hash = "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a", size = 35716, upload-time = "2025-03-05T14:46:07.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/e7/aa315e6a749d9b96c2504a1ba0ba031ba2d0517e972ce22682e3fccecb09/cssselect2-0.8.0-py3-none-any.whl", hash = "sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e", size = 15454, upload-time = "2025-03-05T14:46:06.463Z" }, +] + +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, +] + +[[package]] +name = "elastic-transport" +version = "8.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/54/d498a766ac8fa475f931da85a154666cc81a70f8eb4a780bc8e4e934e9ac/elastic_transport-8.17.1.tar.gz", hash = "sha256:5edef32ac864dca8e2f0a613ef63491ee8d6b8cfb52881fa7313ba9290cac6d2", size = 73425, upload-time = "2025-03-13T07:28:30.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/cd/b71d5bc74cde7fc6fd9b2ff9389890f45d9762cbbbf81dc5e51fd7588c4a/elastic_transport-8.17.1-py3-none-any.whl", hash = "sha256:192718f498f1d10c5e9aa8b9cf32aed405e469a7f0e9d6a8923431dbb2c59fb8", size = 64969, upload-time = "2025-03-13T07:28:29.031Z" }, +] + +[[package]] +name = "elasticsearch" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/e4/40fc0e8d9a646889ac3f865cd35e41835f3cf888c716c7aae82248e022f0/elasticsearch-8.18.1.tar.gz", hash = "sha256:998035f17a8c1fba7ae26b183dca797dcf95db86da6a7ecba56d31afc40f07c7", size = 750746, upload-time = "2025-04-29T09:32:16.361Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/62/f62e8a5c7c6f7b27481c9ffc248fb32078ad88878aa4f3731a83a14cc797/elasticsearch-8.18.1-py3-none-any.whl", hash = "sha256:1a8c8b5ec3ce5be88f96d2f898375671648e96272978bce0dee3137d9326aabb", size = 906320, upload-time = "2025-04-29T09:32:12.527Z" }, +] + +[[package]] +name = "elasticsearch-dsl" +version = "8.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "elasticsearch" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/6d/00cbeee412a2dc825f0df18c98463a2e0b423b86800fba6c50ea2c627962/elasticsearch_dsl-8.18.0.tar.gz", hash = "sha256:763465dba9eae166add10567e924c65730aa122819b08bfe9a077e91b13b30d1", size = 31886, upload-time = "2025-04-16T11:54:14.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/a9/b200790a22585aeb023d88bd8b9fb222820e2976ce4239d401670116ae3c/elasticsearch_dsl-8.18.0-py3-none-any.whl", hash = "sha256:0522c5bb20c7abae69855109e650bf1166d486cbf706b5e1b29c28936a9102a3", size = 10406, upload-time = "2025-04-16T11:54:12.677Z" }, +] + +[[package]] +name = "email-validator" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, +] + +[[package]] +name = "face" +version = "24.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boltons" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/79/2484075a8549cd64beae697a8f664dee69a5ccf3a7439ee40c8f93c1978a/face-24.0.0.tar.gz", hash = "sha256:611e29a01ac5970f0077f9c577e746d48c082588b411b33a0dd55c4d872949f6", size = 62732, upload-time = "2024-11-02T05:24:26.095Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/47/21867c2e5fd006c8d36a560df9e32cb4f1f566b20c5dd41f5f8a2124f7de/face-24.0.0-py3-none-any.whl", hash = "sha256:0e2c17b426fa4639a4e77d1de9580f74a98f4869ba4c7c8c175b810611622cd3", size = 54742, upload-time = "2024-11-02T05:24:24.939Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, +] + +[[package]] +name = "fonttools" +version = "4.58.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522, upload-time = "2025-05-10T17:36:35.886Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320, upload-time = "2025-05-10T17:35:56.455Z" }, + { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570, upload-time = "2025-05-10T17:35:58.794Z" }, + { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066, upload-time = "2025-05-10T17:36:01.174Z" }, + { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076, upload-time = "2025-05-10T17:36:03.663Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394, upload-time = "2025-05-10T17:36:06.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160, upload-time = "2025-05-10T17:36:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919, upload-time = "2025-05-10T17:36:10.644Z" }, + { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972, upload-time = "2025-05-10T17:36:12.495Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440, upload-time = "2025-05-10T17:36:33.607Z" }, +] + +[package.optional-dependencies] +woff = [ + { name = "brotli", marker = "platform_python_implementation == 'CPython'" }, + { name = "brotlicffi", marker = "platform_python_implementation != 'CPython'" }, + { name = "zopfli" }, +] + +[[package]] +name = "ftfy" +version = "6.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload-time = "2024-10-26T00:50:35.149Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload-time = "2024-10-26T00:50:33.425Z" }, +] + +[[package]] +name = "glom" +version = "24.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boltons" }, + { name = "face" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/89/b57cfbc448189426f2e01b244fbe9226b059ef5423a9d49c1d335a1f1026/glom-24.11.0.tar.gz", hash = "sha256:4325f96759a912044af7b6c6bd0dba44ad8c1eb6038aab057329661d2021bb27", size = 195120, upload-time = "2024-11-02T23:17:50.405Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/a2/75fd80784ec33da8d39cf885e8811a4fbc045a90db5e336b8e345e66dbb2/glom-24.11.0-py3-none-any.whl", hash = "sha256:991db7fcb4bfa9687010aa519b7b541bbe21111e70e58fdd2d7e34bbaa2c1fbd", size = 102690, upload-time = "2024-11-02T23:17:46.468Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonpath-ng" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ply" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/86/08646239a313f895186ff0a4573452038eed8c86f54380b3ebac34d32fb2/jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c", size = 37838, upload-time = "2024-10-11T15:41:42.404Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/5a/73ecb3d82f8615f32ccdadeb9356726d6cae3a4bbc840b437ceb95708063/jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6", size = 30105, upload-time = "2024-11-20T17:58:30.418Z" }, +] + +[[package]] +name = "layercake" +version = "0.6.5" +source = { directory = "../layercake" } +dependencies = [ + { name = "arnparse" }, + { name = "aws-lambda-powertools", extra = ["all"] }, + { name = "elasticsearch" }, + { name = "elasticsearch-dsl" }, + { name = "ftfy" }, + { name = "glom" }, + { name = "meilisearch" }, + { name = "orjson" }, + { name = "pycpfcnpj" }, + { name = "pydantic", extra = ["email"] }, + { name = "pydantic-extra-types" }, + { name = "pytz" }, + { name = "requests" }, + { name = "smart-open", extra = ["s3"] }, + { name = "weasyprint" }, +] + +[package.metadata] +requires-dist = [ + { name = "arnparse", specifier = ">=0.0.2" }, + { name = "aws-lambda-powertools", extras = ["all"], specifier = ">=3.8.0" }, + { name = "elasticsearch", specifier = ">=8.17.2" }, + { name = "elasticsearch-dsl", specifier = ">=8.17.1" }, + { name = "ftfy", specifier = ">=6.3.1" }, + { name = "glom", specifier = ">=24.11.0" }, + { name = "meilisearch", specifier = ">=0.34.0" }, + { name = "orjson", specifier = ">=3.10.15" }, + { name = "pycpfcnpj", specifier = ">=1.8" }, + { name = "pydantic", extras = ["email"], specifier = ">=2.10.6" }, + { name = "pydantic-extra-types", specifier = ">=2.10.3" }, + { name = "pytz", specifier = ">=2025.1" }, + { name = "requests", specifier = ">=2.32.3" }, + { name = "smart-open", extras = ["s3"], specifier = ">=7.1.0" }, + { name = "weasyprint", specifier = ">=65.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "boto3", specifier = ">=1.37.16" }, + { name = "boto3-stubs", extras = ["essential"], specifier = ">=1.37.33" }, + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.5" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.11.1" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +] + +[[package]] +name = "meilisearch" +version = "0.34.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "camel-converter", extra = ["pydantic"] }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/11/d2/63b34effea260f2551685cdc38783d36e05a1734c1f14f8bd8dd059fe699/meilisearch-0.34.1.tar.gz", hash = "sha256:99a8d8f548cc1905668ffb2bbf641b5e3ec9231f3413cce4189c5d7b16e52afa", size = 24221, upload-time = "2025-04-04T13:45:07.868Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/3e/a3ec8d44b35e495444cac8ce3573b33adf19a9b6d70f2a51e4a971f17c81/meilisearch-0.34.1-py3-none-any.whl", hash = "sha256:43efa4521ce7dc3b065d404267ad5b3acb825602e6219b8b5356650306686cd4", size = 24918, upload-time = "2025-04-04T13:45:06.869Z" }, +] + +[[package]] +name = "orjson" +version = "3.10.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" }, + { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" }, + { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" }, + { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" }, + { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" }, + { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" }, + { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" }, +] + +[[package]] +name = "ply" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pycpfcnpj" +version = "1.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/de/3439a4d7838410294f47aa02ae359f16ff81f154ea9b1526b18123d8d47e/pycpfcnpj-1.8.tar.gz", hash = "sha256:c9e95d2790d582aa7a7deb4b87da252364c670bd1d78f69f3d8f8f82479ed969", size = 5127, upload-time = "2024-01-17T00:02:46.406Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/d9/5182d830ac9dc5ab20cfa11bf68520ca79809a67c5288d89178d63682669/pycpfcnpj-1.8-py3-none-any.whl", hash = "sha256:771d2ff00511f70453f2df8a20f529bad8deb8e35315a15ba0350d3b5360ef91", size = 6928, upload-time = "2024-01-17T00:02:45.338Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload-time = "2025-04-29T20:38:55.02Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/12/46b65f3534d099349e38ef6ec98b1a5a81f42536d17e0ba382c28c67ba67/pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb", size = 443900, upload-time = "2025-04-29T20:38:52.724Z" }, +] + +[package.optional-dependencies] +email = [ + { name = "email-validator" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, +] + +[[package]] +name = "pydantic-extra-types" +version = "2.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/33/0cde418479949cd6aa1ac669deffcd1c37d8d9cead99ddb48f344e75f2e3/pydantic_extra_types-2.10.4.tar.gz", hash = "sha256:bf8236a63d061eb3ecb1b2afa78ba0f97e3f67aa11dbbff56ec90491e8772edc", size = 95269, upload-time = "2025-04-28T08:18:34.869Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/ac/bee195ee49256385fad460ce420aeb42703a648dba487c20b6fd107e42ea/pydantic_extra_types-2.10.4-py3-none-any.whl", hash = "sha256:ce064595af3cab05e39ae062752432dcd0362ff80f7e695b61a3493a4d842db7", size = 37276, upload-time = "2025-04-28T08:18:31.617Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload-time = "2025-04-18T16:44:48.265Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" }, +] + +[[package]] +name = "pydyf" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/c2/97fc6ce4ce0045080dc99446def812081b57750ed8aa67bfdfafa4561fe5/pydyf-0.11.0.tar.gz", hash = "sha256:394dddf619cca9d0c55715e3c55ea121a9bf9cbc780cdc1201a2427917b86b64", size = 17769, upload-time = "2024-07-12T12:26:51.95Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/ac/d5db977deaf28c6ecbc61bbca269eb3e8f0b3a1f55c8549e5333e606e005/pydyf-0.11.0-py3-none-any.whl", hash = "sha256:0aaf9e2ebbe786ec7a78ec3fbffa4cdcecde53fd6f563221d53c6bc1328848a3", size = 8104, upload-time = "2024-07-12T12:26:49.896Z" }, +] + +[[package]] +name = "pyphen" +version = "0.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/56/e4d7e1bd70d997713649c5ce530b2d15a5fc2245a74ca820fc2d51d89d4d/pyphen-0.17.2.tar.gz", hash = "sha256:f60647a9c9b30ec6c59910097af82bc5dd2d36576b918e44148d8b07ef3b4aa3", size = 2079470, upload-time = "2025-01-20T13:18:36.296Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/1f/c2142d2edf833a90728e5cdeb10bdbdc094dde8dbac078cee0cf33f5e11b/pyphen-0.17.2-py3-none-any.whl", hash = "sha256:3a07fb017cb2341e1d9ff31b8634efb1ae4dc4b130468c7c39dd3d32e7c3affd", size = 2079358, upload-time = "2025-01-20T13:18:29.629Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "qrcode" +version = "8.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8f/b2/7fc2931bfae0af02d5f53b174e9cf701adbb35f39d69c2af63d4a39f81a9/qrcode-8.2.tar.gz", hash = "sha256:35c3f2a4172b33136ab9f6b3ef1c00260dd2f66f858f24d88418a015f446506c", size = 43317, upload-time = "2025-05-01T15:44:24.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/b8/d2d6d731733f51684bbf76bf34dab3b70a9148e8f2cef2bb544fccec681a/qrcode-8.2-py3-none-any.whl", hash = "sha256:16e64e0716c14960108e85d853062c9e8bba5ca8252c0b4d0231b9df4060ff4f", size = 45986, upload-time = "2025-05-01T15:44:22.781Z" }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, +] + +[[package]] +name = "ruff" +version = "0.11.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/e7/e55dda1c92cdcf34b677ebef17486669800de01e887b7831a1b8fdf5cb08/ruff-0.11.9.tar.gz", hash = "sha256:ebd58d4f67a00afb3a30bf7d383e52d0e036e6195143c6db7019604a05335517", size = 4132134, upload-time = "2025-05-09T16:19:41.511Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/71/75dfb7194fe6502708e547941d41162574d1f579c4676a8eb645bf1a6842/ruff-0.11.9-py3-none-linux_armv6l.whl", hash = "sha256:a31a1d143a5e6f499d1fb480f8e1e780b4dfdd580f86e05e87b835d22c5c6f8c", size = 10335453, upload-time = "2025-05-09T16:18:58.2Z" }, + { url = "https://files.pythonhosted.org/packages/74/fc/ad80c869b1732f53c4232bbf341f33c5075b2c0fb3e488983eb55964076a/ruff-0.11.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:66bc18ca783b97186a1f3100e91e492615767ae0a3be584e1266aa9051990722", size = 11072566, upload-time = "2025-05-09T16:19:01.432Z" }, + { url = "https://files.pythonhosted.org/packages/87/0d/0ccececef8a0671dae155cbf7a1f90ea2dd1dba61405da60228bbe731d35/ruff-0.11.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:bd576cd06962825de8aece49f28707662ada6a1ff2db848d1348e12c580acbf1", size = 10435020, upload-time = "2025-05-09T16:19:03.897Z" }, + { url = "https://files.pythonhosted.org/packages/52/01/e249e1da6ad722278094e183cbf22379a9bbe5f21a3e46cef24ccab76e22/ruff-0.11.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b1d18b4be8182cc6fddf859ce432cc9631556e9f371ada52f3eaefc10d878de", size = 10593935, upload-time = "2025-05-09T16:19:06.455Z" }, + { url = "https://files.pythonhosted.org/packages/ed/9a/40cf91f61e3003fe7bd43f1761882740e954506c5a0f9097b1cff861f04c/ruff-0.11.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0f3f46f759ac623e94824b1e5a687a0df5cd7f5b00718ff9c24f0a894a683be7", size = 10172971, upload-time = "2025-05-09T16:19:10.261Z" }, + { url = "https://files.pythonhosted.org/packages/61/12/d395203de1e8717d7a2071b5a340422726d4736f44daf2290aad1085075f/ruff-0.11.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f34847eea11932d97b521450cf3e1d17863cfa5a94f21a056b93fb86f3f3dba2", size = 11748631, upload-time = "2025-05-09T16:19:12.307Z" }, + { url = "https://files.pythonhosted.org/packages/66/d6/ef4d5eba77677eab511644c37c55a3bb8dcac1cdeb331123fe342c9a16c9/ruff-0.11.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f33b15e00435773df97cddcd263578aa83af996b913721d86f47f4e0ee0ff271", size = 12409236, upload-time = "2025-05-09T16:19:15.006Z" }, + { url = "https://files.pythonhosted.org/packages/c5/8f/5a2c5fc6124dd925a5faf90e1089ee9036462118b619068e5b65f8ea03df/ruff-0.11.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b27613a683b086f2aca8996f63cb3dd7bc49e6eccf590563221f7b43ded3f65", size = 11881436, upload-time = "2025-05-09T16:19:17.063Z" }, + { url = "https://files.pythonhosted.org/packages/39/d1/9683f469ae0b99b95ef99a56cfe8c8373c14eba26bd5c622150959ce9f64/ruff-0.11.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e0d88756e63e8302e630cee3ce2ffb77859797cc84a830a24473939e6da3ca6", size = 13982759, upload-time = "2025-05-09T16:19:19.693Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0b/c53a664f06e0faab596397867c6320c3816df479e888fe3af63bc3f89699/ruff-0.11.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:537c82c9829d7811e3aa680205f94c81a2958a122ac391c0eb60336ace741a70", size = 11541985, upload-time = "2025-05-09T16:19:21.831Z" }, + { url = "https://files.pythonhosted.org/packages/23/a0/156c4d7e685f6526a636a60986ee4a3c09c8c4e2a49b9a08c9913f46c139/ruff-0.11.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:440ac6a7029f3dee7d46ab7de6f54b19e34c2b090bb4f2480d0a2d635228f381", size = 10465775, upload-time = "2025-05-09T16:19:24.401Z" }, + { url = "https://files.pythonhosted.org/packages/43/d5/88b9a6534d9d4952c355e38eabc343df812f168a2c811dbce7d681aeb404/ruff-0.11.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:71c539bac63d0788a30227ed4d43b81353c89437d355fdc52e0cda4ce5651787", size = 10170957, upload-time = "2025-05-09T16:19:27.08Z" }, + { url = "https://files.pythonhosted.org/packages/f0/b8/2bd533bdaf469dc84b45815ab806784d561fab104d993a54e1852596d581/ruff-0.11.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c67117bc82457e4501473c5f5217d49d9222a360794bfb63968e09e70f340abd", size = 11143307, upload-time = "2025-05-09T16:19:29.462Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d9/43cfba291788459b9bfd4e09a0479aa94d05ab5021d381a502d61a807ec1/ruff-0.11.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e4b78454f97aa454586e8a5557facb40d683e74246c97372af3c2d76901d697b", size = 11603026, upload-time = "2025-05-09T16:19:31.569Z" }, + { url = "https://files.pythonhosted.org/packages/22/e6/7ed70048e89b01d728ccc950557a17ecf8df4127b08a56944b9d0bae61bc/ruff-0.11.9-py3-none-win32.whl", hash = "sha256:7fe1bc950e7d7b42caaee2a8a3bc27410547cc032c9558ee2e0f6d3b209e845a", size = 10548627, upload-time = "2025-05-09T16:19:33.657Z" }, + { url = "https://files.pythonhosted.org/packages/90/36/1da5d566271682ed10f436f732e5f75f926c17255c9c75cefb77d4bf8f10/ruff-0.11.9-py3-none-win_amd64.whl", hash = "sha256:52edaa4a6d70f8180343a5b7f030c7edd36ad180c9f4d224959c2d689962d964", size = 11634340, upload-time = "2025-05-09T16:19:35.815Z" }, + { url = "https://files.pythonhosted.org/packages/40/f7/70aad26e5877c8f7ee5b161c4c9fa0100e63fc4c944dc6d97b9c7e871417/ruff-0.11.9-py3-none-win_arm64.whl", hash = "sha256:bcf42689c22f2e240f496d0c183ef2c6f7b35e809f12c1db58f75d9aa8d630ca", size = 10741080, upload-time = "2025-05-09T16:19:39.605Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/9e/73b14aed38ee1f62cd30ab93cd0072dec7fb01f3033d116875ae3e7b8b44/s3transfer-0.12.0.tar.gz", hash = "sha256:8ac58bc1989a3fdb7c7f3ee0918a66b160d038a147c7b5db1500930a607e9a1c", size = 149178, upload-time = "2025-04-22T21:08:09.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/64/d2b49620039b82688aeebd510bd62ff4cdcdb86cbf650cc72ae42c5254a3/s3transfer-0.12.0-py3-none-any.whl", hash = "sha256:35b314d7d82865756edab59f7baebc6b477189e6ab4c53050e28c1de4d9cce18", size = 84773, upload-time = "2025-04-22T21:08:08.265Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smart-open" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/30/1f41c3d3b8cec82024b4b277bfd4e5b18b765ae7279eb9871fa25c503778/smart_open-7.1.0.tar.gz", hash = "sha256:a4f09f84f0f6d3637c6543aca7b5487438877a21360e7368ccf1f704789752ba", size = 72044, upload-time = "2024-12-17T13:19:17.71Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/18/9a8d9f01957aa1f8bbc5676d54c2e33102d247e146c1a3679d3bd5cc2e3a/smart_open-7.1.0-py3-none-any.whl", hash = "sha256:4b8489bb6058196258bafe901730c7db0dcf4f083f316e97269c66f45502055b", size = 61746, upload-time = "2024-12-17T13:19:21.076Z" }, +] + +[package.optional-dependencies] +s3 = [ + { name = "boto3" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tinyhtml5" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/03/6111ed99e9bf7dfa1c30baeef0e0fb7e0bd387bd07f8e5b270776fe1de3f/tinyhtml5-2.0.0.tar.gz", hash = "sha256:086f998833da24c300c414d9fe81d9b368fd04cb9d2596a008421cbc705fcfcc", size = 179507, upload-time = "2024-10-29T15:37:14.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/de/27c57899297163a4a84104d5cec0af3b1ac5faf62f44667e506373c6b8ce/tinyhtml5-2.0.0-py3-none-any.whl", hash = "sha256:13683277c5b176d070f82d099d977194b7a1e26815b016114f581a74bbfbf47e", size = 39793, upload-time = "2024-10-29T15:37:11.743Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload-time = "2025-02-25T17:27:59.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload-time = "2025-02-25T17:27:57.754Z" }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] + +[[package]] +name = "weasyprint" +version = "65.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "cssselect2" }, + { name = "fonttools", extra = ["woff"] }, + { name = "pillow" }, + { name = "pydyf" }, + { name = "pyphen" }, + { name = "tinycss2" }, + { name = "tinyhtml5" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/76/7f865f0019120be20276813097b5729b8487b93dd4aff339aa77ed8c7ad2/weasyprint-65.1.tar.gz", hash = "sha256:120281bdbd42ffaa7d7e5cedbe3182a2cef36ea5ad97fe9f357e43be6a1e58ea", size = 499028, upload-time = "2025-04-14T12:15:02.654Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/9a/14f4e5fd4bba988d3684602b72f04c0b299c0f368d26c11a79ceab97aa68/weasyprint-65.1-py3-none-any.whl", hash = "sha256:9baa54282dc86929f6b877034d06b0416e2a7cacb1af3f73d80960592fd0af89", size = 298040, upload-time = "2025-04-14T12:15:00.695Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, +] + +[[package]] +name = "zopfli" +version = "0.2.3.post1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/7c/a8f6696e694709e2abcbccd27d05ef761e9b6efae217e11d977471555b62/zopfli-0.2.3.post1.tar.gz", hash = "sha256:96484dc0f48be1c5d7ae9f38ed1ce41e3675fd506b27c11a6607f14b49101e99", size = 175629, upload-time = "2024-10-18T15:42:05.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/24/0e552e2efce9a20625b56e9609d1e33c2966be33fc008681121ec267daec/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecb7572df5372abce8073df078207d9d1749f20b8b136089916a4a0868d56051", size = 295485, upload-time = "2024-10-18T15:41:12.57Z" }, + { url = "https://files.pythonhosted.org/packages/08/83/b2564369fb98797a617fe2796097b1d719a4937234375757ad2a3febc04b/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1cf720896d2ce998bc8e051d4b4ce0d8bec007aab6243102e8e1d22a0b2fb3f", size = 163000, upload-time = "2024-10-18T15:41:13.743Z" }, + { url = "https://files.pythonhosted.org/packages/3c/55/81d419739c2aab35e19b58bce5498dcb58e6446e5eb69f2d3c748b1c9151/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aad740b4d4fcbaaae4887823925166ffd062db3b248b3f432198fc287381d1a", size = 823699, upload-time = "2024-10-18T15:41:14.874Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/89f07c8ea3c9bc64099b3461627b07a8384302235ee0f357eaa86f98f509/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6617fb10f9e4393b331941861d73afb119cd847e88e4974bdbe8068ceef3f73f", size = 826612, upload-time = "2024-10-18T15:41:16.069Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/46670fc0c7805d42bc89702440fa9b73491d68abbc39e28d687180755178/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a53b18797cdef27e019db595d66c4b077325afe2fd62145953275f53d84ce40c", size = 851148, upload-time = "2024-10-18T15:41:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/22/00/71ad39277bbb88f9fd20fb786bd3ff2ea4025c53b31652a0da796fb546cd/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b78008a69300d929ca2efeffec951b64a312e9a811e265ea4a907ab546d79fa6", size = 1754215, upload-time = "2024-10-18T15:41:18.661Z" }, + { url = "https://files.pythonhosted.org/packages/d0/4e/e542c508d20c3dfbef1b90fcf726f824f505e725747f777b0b7b7d1deb95/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa5f90d6298bda02a95bc8dc8c3c19004d5a4e44bda00b67ca7431d857b4b54", size = 1905988, upload-time = "2024-10-18T15:41:19.933Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a5/817ac1ecc888723e91dc172e8c6eeab9f48a1e52285803b965084e11bbd5/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2768c877f76c8a0e7519b1c86c93757f3c01492ddde55751e9988afb7eff64e1", size = 1835907, upload-time = "2024-10-18T15:41:21.582Z" }, + { url = "https://files.pythonhosted.org/packages/cd/35/2525f90c972d8aafc39784a8c00244eeee8e8221b26cbc576748ee9dc1cd/zopfli-0.2.3.post1-cp313-cp313-win32.whl", hash = "sha256:71390dbd3fbf6ebea9a5d85ffed8c26ee1453ee09248e9b88486e30e0397b775", size = 82742, upload-time = "2024-10-18T15:41:23.362Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c6/49b27570923956d52d37363e8f5df3a31a61bd7719bb8718527a9df3ae5f/zopfli-0.2.3.post1-cp313-cp313-win_amd64.whl", hash = "sha256:a86eb88e06bd87e1fff31dac878965c26b0c26db59ddcf78bb0379a954b120de", size = 99408, upload-time = "2024-10-18T15:41:24.377Z" }, +] diff --git a/enrollments-events/app/config.py b/enrollments-events/app/config.py new file mode 100644 index 0000000..9aff6e7 --- /dev/null +++ b/enrollments-events/app/config.py @@ -0,0 +1,16 @@ +import os + +USER_TABLE: str = os.getenv('USER_TABLE') # type: ignore +ORDER_TABLE: str = os.getenv('ORDER_TABLE') # type: ignore +ENROLLMENT_TABLE: str = os.getenv('ENROLLMENT_TABLE') # type: ignore +COURSE_TABLE: str = os.getenv('COURSE_TABLE') # type: ignore + + +# Post-migration: remove the lines below +if os.getenv('AWS_LAMBDA_FUNCTION_NAME'): + SQLITE_DATABASE = 'courses_export_2025-06-18_110214.db' +else: + SQLITE_DATABASE = 'app/courses_export_2025-06-18_110214.db' + +SQLITE_TABLE = 'courses' +OLD_ENROLLMENT_TABLE: str = os.getenv('OLD_ENROLLMENT_TABLE') # type: ignore diff --git a/enrollments-events/app/courses_export_2025-06-18_110214.db b/enrollments-events/app/courses_export_2025-06-18_110214.db new file mode 100644 index 0000000..97681f0 Binary files /dev/null and b/enrollments-events/app/courses_export_2025-06-18_110214.db differ diff --git a/enrollments-events/app/events/__init__.py b/enrollments-events/app/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/enrollments-events/app/events/issue_cert.py b/enrollments-events/app/events/issue_cert.py new file mode 100644 index 0000000..0ad0a73 --- /dev/null +++ b/enrollments-events/app/events/issue_cert.py @@ -0,0 +1,25 @@ +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer + +from boto3clients import dynamodb_client +from config import ( + COURSE_TABLE, + ENROLLMENT_TABLE, +) + +logger = Logger(__name__) +enrollment_layer = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client) +course_layer = DynamoDBPersistenceLayer(COURSE_TABLE, dynamodb_client) + + +@event_source(data_class=EventBridgeEvent) +@logger.inject_lambda_context +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + + return True diff --git a/enrollments-events/app/events/stopgap/__init__.py b/enrollments-events/app/events/stopgap/__init__.py new file mode 100644 index 0000000..5a77fb0 --- /dev/null +++ b/enrollments-events/app/events/stopgap/__init__.py @@ -0,0 +1,4 @@ +""" +Stopgap events. Everything here is a quick fix and should be replaced with +proper solutions. +""" diff --git a/enrollments-events/app/events/stopgap/enroll.py b/enrollments-events/app/events/stopgap/enroll.py new file mode 100644 index 0000000..e53e0eb --- /dev/null +++ b/enrollments-events/app/events/stopgap/enroll.py @@ -0,0 +1,59 @@ +import json +import sqlite3 + +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer +from sqlite_utils import Database + +from boto3clients import dynamodb_client +from config import ( + COURSE_TABLE, + ENROLLMENT_TABLE, + SQLITE_DATABASE, + SQLITE_TABLE, +) + +sqlite3.register_converter('json', json.loads) + +logger = Logger(__name__) +enrollment_layer = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client) +course_layer = DynamoDBPersistenceLayer(COURSE_TABLE, dynamodb_client) +deduplication_window = {'offset_days': 90} + + +class DeduplicationConflictError(Exception): + def __init__(self, *args): + super().__init__('Enrollment already exists') + + +@event_source(data_class=EventBridgeEvent) +@logger.inject_lambda_context +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + + return True + + +class CourseNotFoundError(Exception): + def __init__(self, *args): + super().__init__('Course not found') + + +def _get_course(course_id: str) -> dict: + with sqlite3.connect( + database=SQLITE_DATABASE, detect_types=sqlite3.PARSE_DECLTYPES + ) as conn: + db = Database(conn) + rows = db[SQLITE_TABLE].rows_where( + "json->>'$.metadata__betaeducacao_id' = ?", [course_id] + ) + + for row in rows: + return row['json'] + + raise CourseNotFoundError diff --git a/enrollments-events/app/fonts/SF-Pro.ttf b/enrollments-events/app/fonts/SF-Pro.ttf new file mode 100755 index 0000000..1e8aa63 Binary files /dev/null and b/enrollments-events/app/fonts/SF-Pro.ttf differ diff --git a/enrollments-events/pyproject.toml b/enrollments-events/pyproject.toml new file mode 100644 index 0000000..4265714 --- /dev/null +++ b/enrollments-events/pyproject.toml @@ -0,0 +1,33 @@ +[project] +name = "enrollments-events" +version = "0.1.0" +description = "" +readme = "" +requires-python = ">=3.13" +dependencies = ["layercake"] + +[dependency-groups] +dev = [ + "jsonlines>=4.0.0", + "pytest>=8.3.4", + "pytest-cov>=6.0.0", + "ruff>=0.9.1", +] + +[tool.pytest.ini_options] +pythonpath = ["app/"] +addopts = "--cov --cov-report html -v" + +[tool.ruff] +target-version = "py311" +src = ["app"] + +[tool.ruff.format] +quote-style = "single" + +[tool.ruff.lint] +select = ["E", "F", "I"] + + +[tool.uv.sources] +layercake = { path = "../layercake" } diff --git a/enrollments-events/pyrightconfig.json b/enrollments-events/pyrightconfig.json new file mode 100644 index 0000000..78cdf4e --- /dev/null +++ b/enrollments-events/pyrightconfig.json @@ -0,0 +1,3 @@ +{ + "extraPaths": ["app/"] +} diff --git a/enrollments-events/samconfig.toml b/enrollments-events/samconfig.toml new file mode 100644 index 0000000..d502ac0 --- /dev/null +++ b/enrollments-events/samconfig.toml @@ -0,0 +1,9 @@ +version = 0.1 +[default.deploy.parameters] +stack_name = "saladeaula-enrollments-events" +resolve_s3 = true +s3_prefix = "enrollments-events" +region = "sa-east-1" +confirm_changeset = false +capabilities = "CAPABILITY_IAM" +image_repositories = [] diff --git a/enrollments-events/template.yaml b/enrollments-events/template.yaml new file mode 100644 index 0000000..4c98188 --- /dev/null +++ b/enrollments-events/template.yaml @@ -0,0 +1,82 @@ +AWSTemplateFormatVersion: 2010-09-09 +Transform: AWS::Serverless-2016-10-31 + +Parameters: + UserTable: + Type: String + Default: betaeducacao-prod-users_d2o3r5gmm4it7j + EnrollmentTable: + Type: String + Default: betaeducacao-prod-enrollments + CourseTable: + Type: String + Default: saladeaula_courses + OrderTable: + Type: String + Default: betaeducacao-prod-orders + +Globals: + Function: + CodeUri: app/ + Runtime: python3.13 + Tracing: Active + Architectures: + - x86_64 + Layers: + - !Sub arn:aws:lambda:sa-east-1:336641857101:layer:layercake:79 + Environment: + Variables: + TZ: America/Sao_Paulo + LOG_LEVEL: DEBUG + DYNAMODB_PARTITION_KEY: id + POWERTOOLS_LOGGER_SAMPLE_RATE: 0.1 + POWERTOOLS_LOGGER_LOG_EVENT: true + USER_TABLE: !Ref UserTable + ENROLLMENT_TABLE: !Ref EnrollmentTable + ORDER_TABLE: !Ref OrderTable + COURSE_TABLE: !Ref CourseTable + +Resources: + EventLog: + Type: AWS::Logs::LogGroup + Properties: + RetentionInDays: 90 + + EventEnrollFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.stopgap.enroll.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - DynamoDBCrudPolicy: + TableName: !Ref EnrollmentTable + Events: + DynamoDBEvent: + Type: EventBridgeRule + Properties: + Pattern: + resources: [!Ref EnrollmentTable] + detail-type: [INSERT] + detail: + new_image: + sk: ["0"] + + EventIssueCertFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.issue_cert.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Events: + DynamoDBEvent: + Type: EventBridgeRule + Properties: + Pattern: + resources: [!Ref EnrollmentTable] + detail: + new_image: + sk: ["0"] + status: [COMPLETED] + old_image: + status: [PENDING] diff --git a/enrollments-events/tests/__init__.py b/enrollments-events/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/enrollments-events/tests/conftest.py b/enrollments-events/tests/conftest.py new file mode 100644 index 0000000..9bd2934 --- /dev/null +++ b/enrollments-events/tests/conftest.py @@ -0,0 +1,74 @@ +import os +from dataclasses import dataclass + +import jsonlines +import pytest + +PYTEST_TABLE_NAME = 'pytest' +PK = 'id' +SK = 'sk' + + +# https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest.hookspec.pytest_configure +def pytest_configure(): + os.environ['TZ'] = 'America/Sao_Paulo' + os.environ['DYNAMODB_PARTITION_KEY'] = PK + os.environ['DYNAMODB_SORT_KEY'] = SK + os.environ['USER_TABLE'] = PYTEST_TABLE_NAME + os.environ['COURSE_TABLE'] = PYTEST_TABLE_NAME + os.environ['ORDER_TABLE'] = PYTEST_TABLE_NAME + os.environ['ENROLLMENT_TABLE'] = PYTEST_TABLE_NAME + # Post-migration: remove it + os.environ['OLD_ENROLLMENT_TABLE'] = PYTEST_TABLE_NAME + + +@dataclass +class LambdaContext: + function_name: str = 'test' + memory_limit_in_mb: int = 128 + invoked_function_arn: str = 'arn:aws:lambda:eu-west-1:809313241:function:test' + aws_request_id: str = '52fdfc07-2182-154f-163f-5f0f9a621d72' + + +@pytest.fixture +def lambda_context() -> LambdaContext: + return LambdaContext() + + +@pytest.fixture +def dynamodb_client(): + from boto3clients import dynamodb_client as client + + client.create_table( + AttributeDefinitions=[ + {'AttributeName': PK, 'AttributeType': 'S'}, + {'AttributeName': SK, 'AttributeType': 'S'}, + ], + TableName=PYTEST_TABLE_NAME, + KeySchema=[ + {'AttributeName': PK, 'KeyType': 'HASH'}, + {'AttributeName': SK, 'KeyType': 'RANGE'}, + ], + ProvisionedThroughput={ + 'ReadCapacityUnits': 123, + 'WriteCapacityUnits': 123, + }, + ) + + yield client + + client.delete_table(TableName=PYTEST_TABLE_NAME) + + +@pytest.fixture() +def dynamodb_persistence_layer(dynamodb_client): + from layercake.dynamodb import DynamoDBPersistenceLayer + + return DynamoDBPersistenceLayer(PYTEST_TABLE_NAME, dynamodb_client) + + +@pytest.fixture() +def dynamodb_seeds(dynamodb_client): + with jsonlines.open('tests/seeds.jsonl') as lines: + for line in lines: + dynamodb_client.put_item(TableName=PYTEST_TABLE_NAME, Item=line) diff --git a/enrollments-events/tests/events/__init__.py b/enrollments-events/tests/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/enrollments-events/tests/events/stopgap/__init__.py b/enrollments-events/tests/events/stopgap/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/enrollments-events/tests/events/stopgap/test_enroll.py b/enrollments-events/tests/events/stopgap/test_enroll.py new file mode 100644 index 0000000..a85fda3 --- /dev/null +++ b/enrollments-events/tests/events/stopgap/test_enroll.py @@ -0,0 +1,39 @@ +import pprint + +import app.events.stopgap.enroll as app +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import ( + DynamoDBPersistenceLayer, + SortKey, + TransactKey, +) + + +def test_enroll( + dynamodb_seeds, + dynamodb_client, + dynamodb_persistence_layer: DynamoDBPersistenceLayer, + lambda_context: LambdaContext, +): + event = { + 'detail': { + 'new_image': { + 'id': '47ZxxcVBjvhDS5TE98tpfQ', + 'sk': '0', + } + } + } + assert app.lambda_handler(event, lambda_context) # type: ignore + + result = dynamodb_persistence_layer.collection.get_items( + TransactKey('47ZxxcVBjvhDS5TE98tpfQ') + + SortKey('0') + + SortKey('metadata#tenant') + + SortKey('metadata#author') + + SortKey('metadata#konviva') + + SortKey('metadata#lock') + + SortKey('metadata#deduplication_window') + + SortKey('metadata#cert') + ) + + pprint.pprint(result) diff --git a/enrollments-events/tests/sample.html b/enrollments-events/tests/sample.html new file mode 100644 index 0000000..fbb90d7 --- /dev/null +++ b/enrollments-events/tests/sample.html @@ -0,0 +1,251 @@ + + + + + NR-10 Complementar (SEP) + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +

Certificamos que

+

{{ name }}

+

+ Portador(a) do CPF {{ cpf }} , concluiu o curso + de NR-10 Complementar (SEP) com aproveitamento + de + {{ progress }}% +

+

Realizado entre {{ started_date }} e {{ finished_date }}

+

Florianópolis, SC, {{ today }}

+ +
+
+
+

Tiago Maciel do Santos

+

CEO/Diretor

+
+
+ +
+ +
+
+ +
+
+

Conteúdo programático ministrado

+ +
+ +
+
+

Carga horária

+

40 horas

+
+ +
+

Instrutor e responsável técnico

+
+

Francis Ricardo Baretta

+

CPF 039.539.409-02

+

Eng. de Segurança no Trabalho Eng. Eletricista

+

CREA/SC 126693-0

+
+
+
+
+ + diff --git a/enrollments-events/tests/seeds.jsonl b/enrollments-events/tests/seeds.jsonl new file mode 100644 index 0000000..59f636b --- /dev/null +++ b/enrollments-events/tests/seeds.jsonl @@ -0,0 +1,3 @@ +{"id": {"S": "47ZxxcVBjvhDS5TE98tpfQ"}, "sk": {"S": "0"}, "course": {"M": {"id": {"S": "42"}, "name": {"S": "NR-35 Segurança nos Trabalhos em Altura (Teórico)"},"time_in_days": {"N": "720"}}},"create_date": {"S": "2025-04-10T11:58:33.303347-03:00"},"konviva:id": {"N": "238662"},"progress": {"N": "16.67"},"score": {"NULL": true},"status": {"S": "IN_PROGRESS"}, "update_date": {"S": "2025-04-10T15:44:03.023054-03:00"}, "user": {"M": {"id": {"S": "5OxmMjL-ujoR5IMGegQz"}, "cpf": {"S": "07879819908"}, "email": {"S": "sergio@somosbeta.com.br"}, "name": {"S": "Sérgio Rafael Siqueira"}}}} +{"id": {"S": "47ZxxcVBjvhDS5TE98tpfQ"}, "sk": {"S": "konviva"}, "create_date": {"S": "2025-04-10T11:58:35.035729-03:00"}, "konviva_id": {"N": "238662"}} +{"id": {"S": "47ZxxcVBjvhDS5TE98tpfQ"}, "sk": {"S": "tenant"}, "create_date": {"S": "2025-04-10T11:58:33.303347-03:00"}, "name": {"S": "Beta Educação"},"org_id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}} \ No newline at end of file diff --git a/enrollments-events/uv.lock b/enrollments-events/uv.lock new file mode 100644 index 0000000..96dba15 --- /dev/null +++ b/enrollments-events/uv.lock @@ -0,0 +1,1113 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "arnparse" +version = "0.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/42/949284e998282b167e273872fa9c39b06d41a6055163c30aa2daaeee76a0/arnparse-0.0.2.tar.gz", hash = "sha256:cb87f17200d07121108a9085d4a09cc69a55582647776b9a917b0b1f279db8f8", size = 2677, upload-time = "2019-03-12T21:17:04.586Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/6f/630bedeb32964e99661990811a66389201b62c047b35c17e332dad9be2a3/arnparse-0.0.2-py2.py3-none-any.whl", hash = "sha256:b0906734e4b8f19e39b1e32944c6cd6274b6da90c066a83882ac7a11d27553e0", size = 2904, upload-time = "2019-03-12T21:17:03.039Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "aws-encryption-sdk" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boto3" }, + { name = "cryptography" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/ff/fefbcc1cee829f3ab188dbcb5069862f61b64ed82a6205314f1ab7bb90e6/aws-encryption-sdk-4.0.1.tar.gz", hash = "sha256:7320dc4cf8d8d5a9b4c88a343be93835da18756e05308d3536554be0ca2889a5", size = 260219, upload-time = "2025-03-27T17:24:54.669Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/a5/82956e2111b169c644633212da2a5f84dd9d953b9dd146ccfccfb8a46290/aws_encryption_sdk-4.0.1-py2.py3-none-any.whl", hash = "sha256:5c2ca9a207e1732542a1370ac7efd630ab6e04d05f98e68badf20927eb95ed1d", size = 99127, upload-time = "2025-03-27T17:24:50.903Z" }, +] + +[[package]] +name = "aws-lambda-powertools" +version = "3.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/2b/068efd467c0866e2272c5de7525ddb02ff4e694f71245c8d2a83d4948f23/aws_lambda_powertools-3.13.0.tar.gz", hash = "sha256:99dc11ac6eb81564f599fdd85ba79069f7740ae3481c99bca2cee8abb7c95543", size = 672664, upload-time = "2025-05-20T07:35:30.254Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/cd/2241ff877528c66ee11ea636684c4242ceeadb6459a33b08507a40151414/aws_lambda_powertools-3.13.0-py3-none-any.whl", hash = "sha256:9df045f4c3ff944176655813dbff8c1160e056babf5e6d71d4e18c0003818f2e", size = 802546, upload-time = "2025-05-20T07:35:27.767Z" }, +] + +[package.optional-dependencies] +all = [ + { name = "aws-encryption-sdk" }, + { name = "aws-xray-sdk" }, + { name = "fastjsonschema" }, + { name = "jsonpath-ng" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, +] + +[[package]] +name = "aws-xray-sdk" +version = "2.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/6c/8e7fb2a45f20afc5c19d52807b560793fb48b0feca1de7de116b62a7893e/aws_xray_sdk-2.14.0.tar.gz", hash = "sha256:aab843c331af9ab9ba5cefb3a303832a19db186140894a523edafc024cc0493c", size = 93976, upload-time = "2024-06-04T22:11:38.124Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/69/b417833a8926fa5491e5346d7c233bf7d8a9b12ba1f4ef41ccea2494000c/aws_xray_sdk-2.14.0-py2.py3-none-any.whl", hash = "sha256:cfbe6feea3d26613a2a869d14c9246a844285c97087ad8f296f901633554ad94", size = 101922, upload-time = "2024-06-04T22:12:25.729Z" }, +] + +[[package]] +name = "boltons" +version = "25.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz", hash = "sha256:e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace", size = 246294, upload-time = "2025-02-03T05:57:59.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl", hash = "sha256:dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62", size = 194210, upload-time = "2025-02-03T05:57:56.705Z" }, +] + +[[package]] +name = "boto3" +version = "1.38.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b8/38/27f7e3944daa6c8f4422e412ebf7073cbe9e59e14e7f3219a89b6c752837/boto3-1.38.20.tar.gz", hash = "sha256:aa1424213678a249fe828fb9345deac5e33f9a2266fd1b23ec72e02857b018a2", size = 111871, upload-time = "2025-05-20T23:13:01.56Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/d9/d676f22160055bf29b28ace2e0e6853c10c338c1fbaaf3d6234f85c2857c/boto3-1.38.20-py3-none-any.whl", hash = "sha256:0494bafa771561c02ae5926143ce69b6ee4017f11ced22d0293a8372acb7472a", size = 139936, upload-time = "2025-05-20T23:12:56.529Z" }, +] + +[[package]] +name = "botocore" +version = "1.38.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/c6/61fa4699aa7f6230cf018d110849388904493b4e179050b6f0fc20a0f353/botocore-1.38.20.tar.gz", hash = "sha256:03a5027a207fc66cd0bf8cd1abb98db41fd4d23e6bd5f43f68586af9736240fc", size = 13899574, upload-time = "2025-05-20T23:12:44.883Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/be/f0eb1d687ca841f9a8cf6077340123ade5069984121b67e0709b3a368851/botocore-1.38.20-py3-none-any.whl", hash = "sha256:70feba9b3f73946a9739d0c16703190d79379f065cf6e29883b5d7f791b247b8", size = 13558776, upload-time = "2025-05-20T23:12:39.685Z" }, +] + +[[package]] +name = "brotli" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" }, +] + +[[package]] +name = "brotlicffi" +version = "1.1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13", size = 465192, upload-time = "2023-09-14T14:22:40.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/11/7b96009d3dcc2c931e828ce1e157f03824a69fb728d06bfd7b2fc6f93718/brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851", size = 453786, upload-time = "2023-09-14T14:21:57.72Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e6/a8f46f4a4ee7856fbd6ac0c6fb0dc65ed181ba46cd77875b8d9bbe494d9e/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b", size = 2911165, upload-time = "2023-09-14T14:21:59.613Z" }, + { url = "https://files.pythonhosted.org/packages/be/20/201559dff14e83ba345a5ec03335607e47467b6633c210607e693aefac40/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814", size = 2927895, upload-time = "2023-09-14T14:22:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/cd/15/695b1409264143be3c933f708a3f81d53c4a1e1ebbc06f46331decbf6563/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820", size = 2851834, upload-time = "2023-09-14T14:22:03.571Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/b961a702463b6005baf952794c2e9e0099bde657d0d7e007f923883b907f/brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb", size = 341731, upload-time = "2023-09-14T14:22:05.74Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fa/5408a03c041114ceab628ce21766a4ea882aa6f6f0a800e04ee3a30ec6b9/brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613", size = 366783, upload-time = "2023-09-14T14:22:07.096Z" }, +] + +[[package]] +name = "camel-converter" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/3d/dd783586dc0c4aee5b6b88489666fdb2c0c344ea0aa8a5c10746cc423707/camel_converter-4.0.1.tar.gz", hash = "sha256:401414549ae4ac4073e38cdc4aa6d464dc534fc40aa06ff787bf0960b0c86535", size = 38915, upload-time = "2024-10-08T16:55:39.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/e5/806359514cc8305f047bd6d39d63890298c0596f7328b534059724bd1a9e/camel_converter-4.0.1-py3-none-any.whl", hash = "sha256:0cba7ca1354a29ca2191983deecc9dcf28889f606c28d6ed18ac7d4586b163ac", size = 6243, upload-time = "2024-10-08T16:55:37.769Z" }, +] + +[package.optional-dependencies] +pydantic = [ + { name = "pydantic" }, +] + +[[package]] +name = "certifi" +version = "2025.4.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "click-default-group" +version = "1.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz", hash = "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e", size = 3505, upload-time = "2023-08-04T07:54:58.425Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/1a/aff8bb287a4b1400f69e09a53bd65de96aa5cee5691925b38731c67fc695/click_default_group-1.2.4-py2.py3-none-any.whl", hash = "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f", size = 4123, upload-time = "2023-08-04T07:54:56.875Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.8.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/b4/a707d96c2c1ce9402ce1ce7124c53b9e4e1f3e617652a5ed2fbba4c9b4be/coverage-7.8.1.tar.gz", hash = "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", size = 812193, upload-time = "2025-05-21T12:39:46.1Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/0a/696a8d6c245a72f61589e2015a633fab5aacd8c916802df41d23e387b442/coverage-7.8.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", size = 211902, upload-time = "2025-05-21T12:38:44.54Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2f/0c065dfaf497586cf1693dee2a94e7489a4be840a5bbe765a7a78735268b/coverage-7.8.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", size = 212175, upload-time = "2025-05-21T12:38:46.143Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a1/a8a40658f67311c96c3d9073293fefee8a9485906ed531546dffe35fdd4b/coverage-7.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", size = 245564, upload-time = "2025-05-21T12:38:47.843Z" }, + { url = "https://files.pythonhosted.org/packages/6e/94/dc36e2256ce484f482ed5b2a103a261009c301cdad237fdefe2a9b6ddeab/coverage-7.8.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", size = 242719, upload-time = "2025-05-21T12:38:49.517Z" }, + { url = "https://files.pythonhosted.org/packages/73/d7/d096859c59f02d4550e6bc9180bd06c88313c32977d7458e0d4ed06ed057/coverage-7.8.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", size = 244634, upload-time = "2025-05-21T12:38:51.18Z" }, + { url = "https://files.pythonhosted.org/packages/be/a0/6f4db84d1d3334ca37c2dae02a54761a1a3918aec56faec26f1590077181/coverage-7.8.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", size = 244824, upload-time = "2025-05-21T12:38:52.789Z" }, + { url = "https://files.pythonhosted.org/packages/96/46/1e74016ba7d9f4242170f9d814454e6483a640332a67c0e139dab7d85762/coverage-7.8.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", size = 242872, upload-time = "2025-05-21T12:38:54.493Z" }, + { url = "https://files.pythonhosted.org/packages/22/41/51df77f279b49e7dd05ee9dfe746cf8698c873ffdf7fbe57aaee9522ec67/coverage-7.8.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", size = 244179, upload-time = "2025-05-21T12:38:56.762Z" }, + { url = "https://files.pythonhosted.org/packages/b8/83/6207522f3afb64592c47353bc79b0e3e6c3f48fde5e5221ab2b80a12e93d/coverage-7.8.1-cp313-cp313-win32.whl", hash = "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", size = 214395, upload-time = "2025-05-21T12:38:58.631Z" }, + { url = "https://files.pythonhosted.org/packages/43/b8/cd40a8fff1633112ac40edde9006aceaa55b32a84976394a42c33547ef95/coverage-7.8.1-cp313-cp313-win_amd64.whl", hash = "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", size = 215195, upload-time = "2025-05-21T12:39:00.614Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f0/8fea9beb378cdce803ba838293314b21527f4edab58dcbe2e6a5553e7dc8/coverage-7.8.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", size = 212738, upload-time = "2025-05-21T12:39:02.808Z" }, + { url = "https://files.pythonhosted.org/packages/0c/90/f28953cd1246ad7839874ef97e181f153d4274cc6db21857fbca18b89c97/coverage-7.8.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", size = 212958, upload-time = "2025-05-21T12:39:04.536Z" }, + { url = "https://files.pythonhosted.org/packages/fb/70/3f3d34ef68534afa73aee75537d1daf1e91029738cbf052ef828313aa960/coverage-7.8.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", size = 257024, upload-time = "2025-05-21T12:39:06.703Z" }, + { url = "https://files.pythonhosted.org/packages/cf/66/96ab415609b777adfcfa00f29d75d2278da139c0958de7a50dd0023811e6/coverage-7.8.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", size = 252867, upload-time = "2025-05-21T12:39:08.818Z" }, + { url = "https://files.pythonhosted.org/packages/52/4f/3d48704c62fa5f72447005b8a77cc9cce5e164c2df357433442d17f2ac0a/coverage-7.8.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", size = 255096, upload-time = "2025-05-21T12:39:10.516Z" }, + { url = "https://files.pythonhosted.org/packages/64/1d/e8d4ac647c1967dd3dbc250fb4595b838b7067ad32602a7339ac467d9c5a/coverage-7.8.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", size = 256276, upload-time = "2025-05-21T12:39:12.177Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e4/62e2f9521f3758dea07bcefc2c9c0dd34fa67d7035b0443c7c3072e6308b/coverage-7.8.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654", size = 254478, upload-time = "2025-05-21T12:39:14.325Z" }, + { url = "https://files.pythonhosted.org/packages/49/41/7af246f5e68272f97a31a122da5878747e941fef019430485534d1f6a44a/coverage-7.8.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", size = 255255, upload-time = "2025-05-21T12:39:16.059Z" }, + { url = "https://files.pythonhosted.org/packages/05/5d/5dacd7915972f82d909f36974c6415667dae08a32478d87dfdbac6788e22/coverage-7.8.1-cp313-cp313t-win32.whl", hash = "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", size = 215112, upload-time = "2025-05-21T12:39:18.263Z" }, + { url = "https://files.pythonhosted.org/packages/8b/89/48e77e71e81e5b79fd6471083d087cd69517e5f585b548d87c92d5ae873c/coverage-7.8.1-cp313-cp313t-win_amd64.whl", hash = "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", size = 216270, upload-time = "2025-05-21T12:39:20.461Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a1/4d968d4605f3a87a809f0c8f495eed81656c93cf6c00818334498ad6ad45/coverage-7.8.1-py3-none-any.whl", hash = "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", size = 203623, upload-time = "2025-05-21T12:39:43.473Z" }, +] + +[[package]] +name = "cryptography" +version = "45.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/47/92a8914716f2405f33f1814b97353e3cfa223cd94a77104075d42de3099e/cryptography-45.0.2.tar.gz", hash = "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", size = 743865, upload-time = "2025-05-18T02:46:34.986Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/2f/46b9e715157643ad16f039ec3c3c47d174da6f825bf5034b1c5f692ab9e2/cryptography-45.0.2-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", size = 7043448, upload-time = "2025-05-18T02:45:12.495Z" }, + { url = "https://files.pythonhosted.org/packages/90/52/49e6c86278e1b5ec226e96b62322538ccc466306517bf9aad8854116a088/cryptography-45.0.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", size = 4201098, upload-time = "2025-05-18T02:45:15.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/3a/201272539ac5b66b4cb1af89021e423fc0bfacb73498950280c51695fb78/cryptography-45.0.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", size = 4429839, upload-time = "2025-05-18T02:45:17.614Z" }, + { url = "https://files.pythonhosted.org/packages/99/89/fa1a84832b8f8f3917875cb15324bba98def5a70175a889df7d21a45dc75/cryptography-45.0.2-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", size = 4205154, upload-time = "2025-05-18T02:45:19.874Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c5/5225d5230d538ab461725711cf5220560a813d1eb68bafcfb00131b8f631/cryptography-45.0.2-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", size = 3897145, upload-time = "2025-05-18T02:45:22.209Z" }, + { url = "https://files.pythonhosted.org/packages/fe/24/f19aae32526cc55ae17d473bc4588b1234af2979483d99cbfc57e55ffea6/cryptography-45.0.2-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", size = 4462192, upload-time = "2025-05-18T02:45:24.773Z" }, + { url = "https://files.pythonhosted.org/packages/19/18/4a69ac95b0b3f03355970baa6c3f9502bbfc54e7df81fdb179654a00f48e/cryptography-45.0.2-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", size = 4208093, upload-time = "2025-05-18T02:45:27.028Z" }, + { url = "https://files.pythonhosted.org/packages/7c/54/2dea55ccc9558b8fa14f67156250b6ee231e31765601524e4757d0b5db6b/cryptography-45.0.2-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", size = 4461819, upload-time = "2025-05-18T02:45:29.39Z" }, + { url = "https://files.pythonhosted.org/packages/37/f1/1b220fcd5ef4b1f0ff3e59e733b61597505e47f945606cc877adab2c1a17/cryptography-45.0.2-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", size = 4329202, upload-time = "2025-05-18T02:45:31.925Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e0/51d1dc4f96f819a56db70f0b4039b4185055bbb8616135884c3c3acc4c6d/cryptography-45.0.2-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", size = 4570412, upload-time = "2025-05-18T02:45:34.348Z" }, + { url = "https://files.pythonhosted.org/packages/dc/44/88efb40a3600d15277a77cdc69eeeab45a98532078d2a36cffd9325d3b3f/cryptography-45.0.2-cp311-abi3-win32.whl", hash = "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", size = 2933584, upload-time = "2025-05-18T02:45:36.198Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a1/bc9f82ba08760442cc8346d1b4e7b769b86d197193c45b42b3595d231e84/cryptography-45.0.2-cp311-abi3-win_amd64.whl", hash = "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", size = 3408537, upload-time = "2025-05-18T02:45:38.184Z" }, + { url = "https://files.pythonhosted.org/packages/59/bc/1b6acb1dca366f9c0b3880888ecd7fcfb68023930d57df854847c6da1d10/cryptography-45.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", size = 7025581, upload-time = "2025-05-18T02:45:40.632Z" }, + { url = "https://files.pythonhosted.org/packages/31/a3/a3e4a298d3db4a04085728f5ae6c8cda157e49c5bb784886d463b9fbff70/cryptography-45.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", size = 4189148, upload-time = "2025-05-18T02:45:42.538Z" }, + { url = "https://files.pythonhosted.org/packages/53/90/100dfadd4663b389cb56972541ec1103490a19ebad0132af284114ba0868/cryptography-45.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", size = 4424113, upload-time = "2025-05-18T02:45:44.316Z" }, + { url = "https://files.pythonhosted.org/packages/0d/40/e2b9177dbed6f3fcbbf1942e1acea2fd15b17007204b79d675540dd053af/cryptography-45.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d", size = 4189696, upload-time = "2025-05-18T02:45:46.622Z" }, + { url = "https://files.pythonhosted.org/packages/70/ae/ec29c79f481e1767c2ff916424ba36f3cf7774de93bbd60428a3c52d1357/cryptography-45.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", size = 3881498, upload-time = "2025-05-18T02:45:48.884Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4a/72937090e5637a232b2f73801c9361cd08404a2d4e620ca4ec58c7ea4b70/cryptography-45.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", size = 4451678, upload-time = "2025-05-18T02:45:50.706Z" }, + { url = "https://files.pythonhosted.org/packages/d3/fa/1377fced81fd67a4a27514248261bb0d45c3c1e02169411fe231583088c8/cryptography-45.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", size = 4192296, upload-time = "2025-05-18T02:45:52.422Z" }, + { url = "https://files.pythonhosted.org/packages/d1/cf/b6fe837c83a08b9df81e63299d75fc5b3c6d82cf24b3e1e0e331050e9e5c/cryptography-45.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", size = 4451749, upload-time = "2025-05-18T02:45:55.025Z" }, + { url = "https://files.pythonhosted.org/packages/af/d8/5a655675cc635c7190bfc8cffb84bcdc44fc62ce945ad1d844adaa884252/cryptography-45.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", size = 4317601, upload-time = "2025-05-18T02:45:56.911Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d4/75d2375a20d80aa262a8adee77bf56950e9292929e394b9fae2481803f11/cryptography-45.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", size = 4560535, upload-time = "2025-05-18T02:45:59.33Z" }, + { url = "https://files.pythonhosted.org/packages/aa/18/c3a94474987ebcfb88692036b2ec44880d243fefa73794bdcbf748679a6e/cryptography-45.0.2-cp37-abi3-win32.whl", hash = "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", size = 2922045, upload-time = "2025-05-18T02:46:01.012Z" }, + { url = "https://files.pythonhosted.org/packages/63/63/fb28b30c144182fd44ce93d13ab859791adbf923e43bdfb610024bfecda1/cryptography-45.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", size = 3393321, upload-time = "2025-05-18T02:46:03.441Z" }, +] + +[[package]] +name = "cssselect2" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tinycss2" }, + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/86/fd7f58fc498b3166f3a7e8e0cddb6e620fe1da35b02248b1bd59e95dbaaa/cssselect2-0.8.0.tar.gz", hash = "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a", size = 35716, upload-time = "2025-03-05T14:46:07.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/e7/aa315e6a749d9b96c2504a1ba0ba031ba2d0517e972ce22682e3fccecb09/cssselect2-0.8.0-py3-none-any.whl", hash = "sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e", size = 15454, upload-time = "2025-03-05T14:46:06.463Z" }, +] + +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, +] + +[[package]] +name = "elastic-transport" +version = "8.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/54/d498a766ac8fa475f931da85a154666cc81a70f8eb4a780bc8e4e934e9ac/elastic_transport-8.17.1.tar.gz", hash = "sha256:5edef32ac864dca8e2f0a613ef63491ee8d6b8cfb52881fa7313ba9290cac6d2", size = 73425, upload-time = "2025-03-13T07:28:30.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/cd/b71d5bc74cde7fc6fd9b2ff9389890f45d9762cbbbf81dc5e51fd7588c4a/elastic_transport-8.17.1-py3-none-any.whl", hash = "sha256:192718f498f1d10c5e9aa8b9cf32aed405e469a7f0e9d6a8923431dbb2c59fb8", size = 64969, upload-time = "2025-03-13T07:28:29.031Z" }, +] + +[[package]] +name = "elasticsearch" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/e4/40fc0e8d9a646889ac3f865cd35e41835f3cf888c716c7aae82248e022f0/elasticsearch-8.18.1.tar.gz", hash = "sha256:998035f17a8c1fba7ae26b183dca797dcf95db86da6a7ecba56d31afc40f07c7", size = 750746, upload-time = "2025-04-29T09:32:16.361Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/62/f62e8a5c7c6f7b27481c9ffc248fb32078ad88878aa4f3731a83a14cc797/elasticsearch-8.18.1-py3-none-any.whl", hash = "sha256:1a8c8b5ec3ce5be88f96d2f898375671648e96272978bce0dee3137d9326aabb", size = 906320, upload-time = "2025-04-29T09:32:12.527Z" }, +] + +[[package]] +name = "elasticsearch-dsl" +version = "8.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "elasticsearch" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/6d/00cbeee412a2dc825f0df18c98463a2e0b423b86800fba6c50ea2c627962/elasticsearch_dsl-8.18.0.tar.gz", hash = "sha256:763465dba9eae166add10567e924c65730aa122819b08bfe9a077e91b13b30d1", size = 31886, upload-time = "2025-04-16T11:54:14.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/a9/b200790a22585aeb023d88bd8b9fb222820e2976ce4239d401670116ae3c/elasticsearch_dsl-8.18.0-py3-none-any.whl", hash = "sha256:0522c5bb20c7abae69855109e650bf1166d486cbf706b5e1b29c28936a9102a3", size = 10406, upload-time = "2025-04-16T11:54:12.677Z" }, +] + +[[package]] +name = "email-validator" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, +] + +[[package]] +name = "enrollment-management" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "layercake" }, +] + +[package.dev-dependencies] +dev = [ + { name = "jsonlines" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [{ name = "layercake", directory = "../layercake" }] + +[package.metadata.requires-dev] +dev = [ + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.4" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.9.1" }, +] + +[[package]] +name = "face" +version = "24.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boltons" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/79/2484075a8549cd64beae697a8f664dee69a5ccf3a7439ee40c8f93c1978a/face-24.0.0.tar.gz", hash = "sha256:611e29a01ac5970f0077f9c577e746d48c082588b411b33a0dd55c4d872949f6", size = 62732, upload-time = "2024-11-02T05:24:26.095Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/47/21867c2e5fd006c8d36a560df9e32cb4f1f566b20c5dd41f5f8a2124f7de/face-24.0.0-py3-none-any.whl", hash = "sha256:0e2c17b426fa4639a4e77d1de9580f74a98f4869ba4c7c8c175b810611622cd3", size = 54742, upload-time = "2024-11-02T05:24:24.939Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, +] + +[[package]] +name = "fonttools" +version = "4.58.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522, upload-time = "2025-05-10T17:36:35.886Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320, upload-time = "2025-05-10T17:35:56.455Z" }, + { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570, upload-time = "2025-05-10T17:35:58.794Z" }, + { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066, upload-time = "2025-05-10T17:36:01.174Z" }, + { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076, upload-time = "2025-05-10T17:36:03.663Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394, upload-time = "2025-05-10T17:36:06.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160, upload-time = "2025-05-10T17:36:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919, upload-time = "2025-05-10T17:36:10.644Z" }, + { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972, upload-time = "2025-05-10T17:36:12.495Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440, upload-time = "2025-05-10T17:36:33.607Z" }, +] + +[package.optional-dependencies] +woff = [ + { name = "brotli", marker = "platform_python_implementation == 'CPython'" }, + { name = "brotlicffi", marker = "platform_python_implementation != 'CPython'" }, + { name = "zopfli" }, +] + +[[package]] +name = "ftfy" +version = "6.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload-time = "2024-10-26T00:50:35.149Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload-time = "2024-10-26T00:50:33.425Z" }, +] + +[[package]] +name = "glom" +version = "24.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boltons" }, + { name = "face" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/89/b57cfbc448189426f2e01b244fbe9226b059ef5423a9d49c1d335a1f1026/glom-24.11.0.tar.gz", hash = "sha256:4325f96759a912044af7b6c6bd0dba44ad8c1eb6038aab057329661d2021bb27", size = 195120, upload-time = "2024-11-02T23:17:50.405Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/a2/75fd80784ec33da8d39cf885e8811a4fbc045a90db5e336b8e345e66dbb2/glom-24.11.0-py3-none-any.whl", hash = "sha256:991db7fcb4bfa9687010aa519b7b541bbe21111e70e58fdd2d7e34bbaa2c1fbd", size = 102690, upload-time = "2024-11-02T23:17:46.468Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonlines" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/87/bcda8e46c88d0e34cad2f09ee2d0c7f5957bccdb9791b0b934ec84d84be4/jsonlines-4.0.0.tar.gz", hash = "sha256:0c6d2c09117550c089995247f605ae4cf77dd1533041d366351f6f298822ea74", size = 11359, upload-time = "2023-09-01T12:34:44.187Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/62/d9ba6323b9202dd2fe166beab8a86d29465c41a0288cbe229fac60c1ab8d/jsonlines-4.0.0-py3-none-any.whl", hash = "sha256:185b334ff2ca5a91362993f42e83588a360cf95ce4b71a73548502bda52a7c55", size = 8701, upload-time = "2023-09-01T12:34:42.563Z" }, +] + +[[package]] +name = "jsonpath-ng" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ply" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/86/08646239a313f895186ff0a4573452038eed8c86f54380b3ebac34d32fb2/jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c", size = 37838, upload-time = "2024-10-11T15:41:42.404Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/5a/73ecb3d82f8615f32ccdadeb9356726d6cae3a4bbc840b437ceb95708063/jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6", size = 30105, upload-time = "2024-11-20T17:58:30.418Z" }, +] + +[[package]] +name = "layercake" +version = "0.6.9" +source = { directory = "../layercake" } +dependencies = [ + { name = "arnparse" }, + { name = "aws-lambda-powertools", extra = ["all"] }, + { name = "elasticsearch" }, + { name = "elasticsearch-dsl" }, + { name = "ftfy" }, + { name = "glom" }, + { name = "meilisearch" }, + { name = "orjson" }, + { name = "pycpfcnpj" }, + { name = "pydantic", extra = ["email"] }, + { name = "pydantic-extra-types" }, + { name = "pytz" }, + { name = "requests" }, + { name = "smart-open", extra = ["s3"] }, + { name = "sqlite-utils" }, + { name = "weasyprint" }, +] + +[package.metadata] +requires-dist = [ + { name = "arnparse", specifier = ">=0.0.2" }, + { name = "aws-lambda-powertools", extras = ["all"], specifier = ">=3.8.0" }, + { name = "elasticsearch", specifier = ">=8.17.2" }, + { name = "elasticsearch-dsl", specifier = ">=8.17.1" }, + { name = "ftfy", specifier = ">=6.3.1" }, + { name = "glom", specifier = ">=24.11.0" }, + { name = "meilisearch", specifier = ">=0.34.0" }, + { name = "orjson", specifier = ">=3.10.15" }, + { name = "pycpfcnpj", specifier = ">=1.8" }, + { name = "pydantic", extras = ["email"], specifier = ">=2.10.6" }, + { name = "pydantic-extra-types", specifier = ">=2.10.3" }, + { name = "pytz", specifier = ">=2025.1" }, + { name = "requests", specifier = ">=2.32.3" }, + { name = "smart-open", extras = ["s3"], specifier = ">=7.1.0" }, + { name = "sqlite-utils", specifier = ">=3.38" }, + { name = "weasyprint", specifier = ">=65.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "boto3", specifier = ">=1.37.16" }, + { name = "boto3-stubs", extras = ["essential"], specifier = ">=1.37.33" }, + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.5" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.11.1" }, +] + +[[package]] +name = "meilisearch" +version = "0.34.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "camel-converter", extra = ["pydantic"] }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/11/d2/63b34effea260f2551685cdc38783d36e05a1734c1f14f8bd8dd059fe699/meilisearch-0.34.1.tar.gz", hash = "sha256:99a8d8f548cc1905668ffb2bbf641b5e3ec9231f3413cce4189c5d7b16e52afa", size = 24221, upload-time = "2025-04-04T13:45:07.868Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/3e/a3ec8d44b35e495444cac8ce3573b33adf19a9b6d70f2a51e4a971f17c81/meilisearch-0.34.1-py3-none-any.whl", hash = "sha256:43efa4521ce7dc3b065d404267ad5b3acb825602e6219b8b5356650306686cd4", size = 24918, upload-time = "2025-04-04T13:45:06.869Z" }, +] + +[[package]] +name = "orjson" +version = "3.10.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" }, + { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" }, + { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" }, + { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" }, + { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" }, + { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" }, + { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "ply" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pycpfcnpj" +version = "1.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/de/3439a4d7838410294f47aa02ae359f16ff81f154ea9b1526b18123d8d47e/pycpfcnpj-1.8.tar.gz", hash = "sha256:c9e95d2790d582aa7a7deb4b87da252364c670bd1d78f69f3d8f8f82479ed969", size = 5127, upload-time = "2024-01-17T00:02:46.406Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/d9/5182d830ac9dc5ab20cfa11bf68520ca79809a67c5288d89178d63682669/pycpfcnpj-1.8-py3-none-any.whl", hash = "sha256:771d2ff00511f70453f2df8a20f529bad8deb8e35315a15ba0350d3b5360ef91", size = 6928, upload-time = "2024-01-17T00:02:45.338Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload-time = "2025-04-29T20:38:55.02Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/12/46b65f3534d099349e38ef6ec98b1a5a81f42536d17e0ba382c28c67ba67/pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb", size = 443900, upload-time = "2025-04-29T20:38:52.724Z" }, +] + +[package.optional-dependencies] +email = [ + { name = "email-validator" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, +] + +[[package]] +name = "pydantic-extra-types" +version = "2.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/33/0cde418479949cd6aa1ac669deffcd1c37d8d9cead99ddb48f344e75f2e3/pydantic_extra_types-2.10.4.tar.gz", hash = "sha256:bf8236a63d061eb3ecb1b2afa78ba0f97e3f67aa11dbbff56ec90491e8772edc", size = 95269, upload-time = "2025-04-28T08:18:34.869Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/ac/bee195ee49256385fad460ce420aeb42703a648dba487c20b6fd107e42ea/pydantic_extra_types-2.10.4-py3-none-any.whl", hash = "sha256:ce064595af3cab05e39ae062752432dcd0362ff80f7e695b61a3493a4d842db7", size = 37276, upload-time = "2025-04-28T08:18:31.617Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload-time = "2025-04-18T16:44:48.265Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" }, +] + +[[package]] +name = "pydyf" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/c2/97fc6ce4ce0045080dc99446def812081b57750ed8aa67bfdfafa4561fe5/pydyf-0.11.0.tar.gz", hash = "sha256:394dddf619cca9d0c55715e3c55ea121a9bf9cbc780cdc1201a2427917b86b64", size = 17769, upload-time = "2024-07-12T12:26:51.95Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/ac/d5db977deaf28c6ecbc61bbca269eb3e8f0b3a1f55c8549e5333e606e005/pydyf-0.11.0-py3-none-any.whl", hash = "sha256:0aaf9e2ebbe786ec7a78ec3fbffa4cdcecde53fd6f563221d53c6bc1328848a3", size = 8104, upload-time = "2024-07-12T12:26:49.896Z" }, +] + +[[package]] +name = "pyphen" +version = "0.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/56/e4d7e1bd70d997713649c5ce530b2d15a5fc2245a74ca820fc2d51d89d4d/pyphen-0.17.2.tar.gz", hash = "sha256:f60647a9c9b30ec6c59910097af82bc5dd2d36576b918e44148d8b07ef3b4aa3", size = 2079470, upload-time = "2025-01-20T13:18:36.296Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/1f/c2142d2edf833a90728e5cdeb10bdbdc094dde8dbac078cee0cf33f5e11b/pyphen-0.17.2-py3-none-any.whl", hash = "sha256:3a07fb017cb2341e1d9ff31b8634efb1ae4dc4b130468c7c39dd3d32e7c3affd", size = 2079358, upload-time = "2025-01-20T13:18:29.629Z" }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857, upload-time = "2025-04-05T14:07:51.592Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload-time = "2025-04-05T14:07:49.641Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, +] + +[[package]] +name = "ruff" +version = "0.11.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/4c/4a3c5a97faaae6b428b336dcca81d03ad04779f8072c267ad2bd860126bf/ruff-0.11.10.tar.gz", hash = "sha256:d522fb204b4959909ecac47da02830daec102eeb100fb50ea9554818d47a5fa6", size = 4165632, upload-time = "2025-05-15T14:08:56.76Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/9f/596c628f8824a2ce4cd12b0f0b4c0629a62dfffc5d0f742c19a1d71be108/ruff-0.11.10-py3-none-linux_armv6l.whl", hash = "sha256:859a7bfa7bc8888abbea31ef8a2b411714e6a80f0d173c2a82f9041ed6b50f58", size = 10316243, upload-time = "2025-05-15T14:08:12.884Z" }, + { url = "https://files.pythonhosted.org/packages/3c/38/c1e0b77ab58b426f8c332c1d1d3432d9fc9a9ea622806e208220cb133c9e/ruff-0.11.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:968220a57e09ea5e4fd48ed1c646419961a0570727c7e069842edd018ee8afed", size = 11083636, upload-time = "2025-05-15T14:08:16.551Z" }, + { url = "https://files.pythonhosted.org/packages/23/41/b75e15961d6047d7fe1b13886e56e8413be8467a4e1be0a07f3b303cd65a/ruff-0.11.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1067245bad978e7aa7b22f67113ecc6eb241dca0d9b696144256c3a879663bca", size = 10441624, upload-time = "2025-05-15T14:08:19.032Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2c/e396b6703f131406db1811ea3d746f29d91b41bbd43ad572fea30da1435d/ruff-0.11.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4854fd09c7aed5b1590e996a81aeff0c9ff51378b084eb5a0b9cd9518e6cff2", size = 10624358, upload-time = "2025-05-15T14:08:21.542Z" }, + { url = "https://files.pythonhosted.org/packages/bd/8c/ee6cca8bdaf0f9a3704796022851a33cd37d1340bceaf4f6e991eb164e2e/ruff-0.11.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b4564e9f99168c0f9195a0fd5fa5928004b33b377137f978055e40008a082c5", size = 10176850, upload-time = "2025-05-15T14:08:23.682Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ce/4e27e131a434321b3b7c66512c3ee7505b446eb1c8a80777c023f7e876e6/ruff-0.11.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b6a9cc5b62c03cc1fea0044ed8576379dbaf751d5503d718c973d5418483641", size = 11759787, upload-time = "2025-05-15T14:08:25.733Z" }, + { url = "https://files.pythonhosted.org/packages/58/de/1e2e77fc72adc7cf5b5123fd04a59ed329651d3eab9825674a9e640b100b/ruff-0.11.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:607ecbb6f03e44c9e0a93aedacb17b4eb4f3563d00e8b474298a201622677947", size = 12430479, upload-time = "2025-05-15T14:08:28.013Z" }, + { url = "https://files.pythonhosted.org/packages/07/ed/af0f2340f33b70d50121628ef175523cc4c37619e98d98748c85764c8d88/ruff-0.11.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b3a522fa389402cd2137df9ddefe848f727250535c70dafa840badffb56b7a4", size = 11919760, upload-time = "2025-05-15T14:08:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/24/09/d7b3d3226d535cb89234390f418d10e00a157b6c4a06dfbe723e9322cb7d/ruff-0.11.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f071b0deed7e9245d5820dac235cbdd4ef99d7b12ff04c330a241ad3534319f", size = 14041747, upload-time = "2025-05-15T14:08:33.297Z" }, + { url = "https://files.pythonhosted.org/packages/62/b3/a63b4e91850e3f47f78795e6630ee9266cb6963de8f0191600289c2bb8f4/ruff-0.11.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a60e3a0a617eafba1f2e4186d827759d65348fa53708ca547e384db28406a0b", size = 11550657, upload-time = "2025-05-15T14:08:35.639Z" }, + { url = "https://files.pythonhosted.org/packages/46/63/a4f95c241d79402ccdbdb1d823d156c89fbb36ebfc4289dce092e6c0aa8f/ruff-0.11.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:da8ec977eaa4b7bf75470fb575bea2cb41a0e07c7ea9d5a0a97d13dbca697bf2", size = 10489671, upload-time = "2025-05-15T14:08:38.437Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9b/c2238bfebf1e473495659c523d50b1685258b6345d5ab0b418ca3f010cd7/ruff-0.11.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ddf8967e08227d1bd95cc0851ef80d2ad9c7c0c5aab1eba31db49cf0a7b99523", size = 10160135, upload-time = "2025-05-15T14:08:41.247Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ef/ba7251dd15206688dbfba7d413c0312e94df3b31b08f5d695580b755a899/ruff-0.11.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5a94acf798a82db188f6f36575d80609072b032105d114b0f98661e1679c9125", size = 11170179, upload-time = "2025-05-15T14:08:43.762Z" }, + { url = "https://files.pythonhosted.org/packages/73/9f/5c336717293203ba275dbfa2ea16e49b29a9fd9a0ea8b6febfc17e133577/ruff-0.11.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3afead355f1d16d95630df28d4ba17fb2cb9c8dfac8d21ced14984121f639bad", size = 11626021, upload-time = "2025-05-15T14:08:46.451Z" }, + { url = "https://files.pythonhosted.org/packages/d9/2b/162fa86d2639076667c9aa59196c020dc6d7023ac8f342416c2f5ec4bda0/ruff-0.11.10-py3-none-win32.whl", hash = "sha256:dc061a98d32a97211af7e7f3fa1d4ca2fcf919fb96c28f39551f35fc55bdbc19", size = 10494958, upload-time = "2025-05-15T14:08:49.601Z" }, + { url = "https://files.pythonhosted.org/packages/24/f3/66643d8f32f50a4b0d09a4832b7d919145ee2b944d43e604fbd7c144d175/ruff-0.11.10-py3-none-win_amd64.whl", hash = "sha256:5cc725fbb4d25b0f185cb42df07ab6b76c4489b4bfb740a175f3a59c70e8a224", size = 11650285, upload-time = "2025-05-15T14:08:52.392Z" }, + { url = "https://files.pythonhosted.org/packages/95/3a/2e8704d19f376c799748ff9cb041225c1d59f3e7711bc5596c8cfdc24925/ruff-0.11.10-py3-none-win_arm64.whl", hash = "sha256:ef69637b35fb8b210743926778d0e45e1bffa850a7c61e428c6b971549b5f5d1", size = 10765278, upload-time = "2025-05-15T14:08:54.56Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/9e/73b14aed38ee1f62cd30ab93cd0072dec7fb01f3033d116875ae3e7b8b44/s3transfer-0.12.0.tar.gz", hash = "sha256:8ac58bc1989a3fdb7c7f3ee0918a66b160d038a147c7b5db1500930a607e9a1c", size = 149178, upload-time = "2025-04-22T21:08:09.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/64/d2b49620039b82688aeebd510bd62ff4cdcdb86cbf650cc72ae42c5254a3/s3transfer-0.12.0-py3-none-any.whl", hash = "sha256:35b314d7d82865756edab59f7baebc6b477189e6ab4c53050e28c1de4d9cce18", size = 84773, upload-time = "2025-04-22T21:08:08.265Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smart-open" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/30/1f41c3d3b8cec82024b4b277bfd4e5b18b765ae7279eb9871fa25c503778/smart_open-7.1.0.tar.gz", hash = "sha256:a4f09f84f0f6d3637c6543aca7b5487438877a21360e7368ccf1f704789752ba", size = 72044, upload-time = "2024-12-17T13:19:17.71Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/18/9a8d9f01957aa1f8bbc5676d54c2e33102d247e146c1a3679d3bd5cc2e3a/smart_open-7.1.0-py3-none-any.whl", hash = "sha256:4b8489bb6058196258bafe901730c7db0dcf4f083f316e97269c66f45502055b", size = 61746, upload-time = "2024-12-17T13:19:21.076Z" }, +] + +[package.optional-dependencies] +s3 = [ + { name = "boto3" }, +] + +[[package]] +name = "sqlite-fts4" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/6d/9dad6c3b433ab8912ace969c66abd595f8e0a2ccccdb73602b1291dbda29/sqlite-fts4-1.0.3.tar.gz", hash = "sha256:78b05eeaf6680e9dbed8986bde011e9c086a06cb0c931b3cf7da94c214e8930c", size = 9718, upload-time = "2022-07-30T01:14:26.943Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/29/0096e8b1811aaa78cfb296996f621f41120c21c2f5cd448ae1d54979d9fc/sqlite_fts4-1.0.3-py3-none-any.whl", hash = "sha256:0359edd8dea6fd73c848989e1e2b1f31a50fe5f9d7272299ff0e8dbaa62d035f", size = 9972, upload-time = "2022-07-30T01:14:24.942Z" }, +] + +[[package]] +name = "sqlite-utils" +version = "3.38" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "click-default-group" }, + { name = "pluggy" }, + { name = "python-dateutil" }, + { name = "sqlite-fts4" }, + { name = "tabulate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/51/43/ce9183a21911e0b73248c8fb83f8b8038515cb80053912c2a009e9765564/sqlite_utils-3.38.tar.gz", hash = "sha256:1ae77b931384052205a15478d429464f6c67a3ac3b4eafd3c674ac900f623aab", size = 214449, upload-time = "2024-11-23T22:49:40.308Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/eb/f8e8e827805f810838efff3311cccd2601238c5fa3fc35c1f878709e161b/sqlite_utils-3.38-py3-none-any.whl", hash = "sha256:8a27441015c3b2ef475f555861f7a2592f73bc60d247af9803a11b65fc605bf9", size = 68183, upload-time = "2024-11-23T22:49:38.289Z" }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tinyhtml5" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/03/6111ed99e9bf7dfa1c30baeef0e0fb7e0bd387bd07f8e5b270776fe1de3f/tinyhtml5-2.0.0.tar.gz", hash = "sha256:086f998833da24c300c414d9fe81d9b368fd04cb9d2596a008421cbc705fcfcc", size = 179507, upload-time = "2024-10-29T15:37:14.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/de/27c57899297163a4a84104d5cec0af3b1ac5faf62f44667e506373c6b8ce/tinyhtml5-2.0.0-py3-none-any.whl", hash = "sha256:13683277c5b176d070f82d099d977194b7a1e26815b016114f581a74bbfbf47e", size = 39793, upload-time = "2024-10-29T15:37:11.743Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload-time = "2025-02-25T17:27:59.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload-time = "2025-02-25T17:27:57.754Z" }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] + +[[package]] +name = "weasyprint" +version = "65.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "cssselect2" }, + { name = "fonttools", extra = ["woff"] }, + { name = "pillow" }, + { name = "pydyf" }, + { name = "pyphen" }, + { name = "tinycss2" }, + { name = "tinyhtml5" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/76/7f865f0019120be20276813097b5729b8487b93dd4aff339aa77ed8c7ad2/weasyprint-65.1.tar.gz", hash = "sha256:120281bdbd42ffaa7d7e5cedbe3182a2cef36ea5ad97fe9f357e43be6a1e58ea", size = 499028, upload-time = "2025-04-14T12:15:02.654Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/9a/14f4e5fd4bba988d3684602b72f04c0b299c0f368d26c11a79ceab97aa68/weasyprint-65.1-py3-none-any.whl", hash = "sha256:9baa54282dc86929f6b877034d06b0416e2a7cacb1af3f73d80960592fd0af89", size = 298040, upload-time = "2025-04-14T12:15:00.695Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, +] + +[[package]] +name = "zopfli" +version = "0.2.3.post1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/7c/a8f6696e694709e2abcbccd27d05ef761e9b6efae217e11d977471555b62/zopfli-0.2.3.post1.tar.gz", hash = "sha256:96484dc0f48be1c5d7ae9f38ed1ce41e3675fd506b27c11a6607f14b49101e99", size = 175629, upload-time = "2024-10-18T15:42:05.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/24/0e552e2efce9a20625b56e9609d1e33c2966be33fc008681121ec267daec/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecb7572df5372abce8073df078207d9d1749f20b8b136089916a4a0868d56051", size = 295485, upload-time = "2024-10-18T15:41:12.57Z" }, + { url = "https://files.pythonhosted.org/packages/08/83/b2564369fb98797a617fe2796097b1d719a4937234375757ad2a3febc04b/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1cf720896d2ce998bc8e051d4b4ce0d8bec007aab6243102e8e1d22a0b2fb3f", size = 163000, upload-time = "2024-10-18T15:41:13.743Z" }, + { url = "https://files.pythonhosted.org/packages/3c/55/81d419739c2aab35e19b58bce5498dcb58e6446e5eb69f2d3c748b1c9151/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aad740b4d4fcbaaae4887823925166ffd062db3b248b3f432198fc287381d1a", size = 823699, upload-time = "2024-10-18T15:41:14.874Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/89f07c8ea3c9bc64099b3461627b07a8384302235ee0f357eaa86f98f509/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6617fb10f9e4393b331941861d73afb119cd847e88e4974bdbe8068ceef3f73f", size = 826612, upload-time = "2024-10-18T15:41:16.069Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/46670fc0c7805d42bc89702440fa9b73491d68abbc39e28d687180755178/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a53b18797cdef27e019db595d66c4b077325afe2fd62145953275f53d84ce40c", size = 851148, upload-time = "2024-10-18T15:41:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/22/00/71ad39277bbb88f9fd20fb786bd3ff2ea4025c53b31652a0da796fb546cd/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b78008a69300d929ca2efeffec951b64a312e9a811e265ea4a907ab546d79fa6", size = 1754215, upload-time = "2024-10-18T15:41:18.661Z" }, + { url = "https://files.pythonhosted.org/packages/d0/4e/e542c508d20c3dfbef1b90fcf726f824f505e725747f777b0b7b7d1deb95/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa5f90d6298bda02a95bc8dc8c3c19004d5a4e44bda00b67ca7431d857b4b54", size = 1905988, upload-time = "2024-10-18T15:41:19.933Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a5/817ac1ecc888723e91dc172e8c6eeab9f48a1e52285803b965084e11bbd5/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2768c877f76c8a0e7519b1c86c93757f3c01492ddde55751e9988afb7eff64e1", size = 1835907, upload-time = "2024-10-18T15:41:21.582Z" }, + { url = "https://files.pythonhosted.org/packages/cd/35/2525f90c972d8aafc39784a8c00244eeee8e8221b26cbc576748ee9dc1cd/zopfli-0.2.3.post1-cp313-cp313-win32.whl", hash = "sha256:71390dbd3fbf6ebea9a5d85ffed8c26ee1453ee09248e9b88486e30e0397b775", size = 82742, upload-time = "2024-10-18T15:41:23.362Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c6/49b27570923956d52d37363e8f5df3a31a61bd7719bb8718527a9df3ae5f/zopfli-0.2.3.post1-cp313-cp313-win_amd64.whl", hash = "sha256:a86eb88e06bd87e1fff31dac878965c26b0c26db59ddcf78bb0379a954b120de", size = 99408, upload-time = "2024-10-18T15:41:24.377Z" }, +] diff --git a/konviva-events/app/events/__init__.py b/konviva-events/app/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/konviva-events/app/events/enroll.py b/konviva-events/app/events/enroll.py new file mode 100644 index 0000000..e69de29 diff --git a/order-events/Makefile b/order-events/Makefile new file mode 100644 index 0000000..dc7246f --- /dev/null +++ b/order-events/Makefile @@ -0,0 +1,5 @@ +build: + sam build --use-container + +deploy: build + sam deploy --debug diff --git a/order-events/app/boto3clients.py b/order-events/app/boto3clients.py new file mode 100644 index 0000000..3be85c6 --- /dev/null +++ b/order-events/app/boto3clients.py @@ -0,0 +1,13 @@ +import os + +import boto3 + + +def get_dynamodb_client(): + if os.getenv('AWS_LAMBDA_FUNCTION_NAME'): + return boto3.client('dynamodb') + + return boto3.client('dynamodb', endpoint_url='http://localhost:8000') + + +dynamodb_client = get_dynamodb_client() diff --git a/order-events/app/config.py b/order-events/app/config.py new file mode 100644 index 0000000..ad958ca --- /dev/null +++ b/order-events/app/config.py @@ -0,0 +1,5 @@ +import os + +USER_TABLE: str = os.getenv('USER_TABLE') # type: ignore +ORDER_TABLE: str = os.getenv('ORDER_TABLE') # type: ignore +ENROLLMENT_TABLE: str = os.getenv('ENROLLMENT_TABLE') # type: ignore diff --git a/order-events/app/events/__init__.py b/order-events/app/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/order-events/app/events/assign_tenant_cnpj.py b/order-events/app/events/assign_tenant_cnpj.py new file mode 100644 index 0000000..d3fbe44 --- /dev/null +++ b/order-events/app/events/assign_tenant_cnpj.py @@ -0,0 +1,78 @@ +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dateutils import now +from layercake.dynamodb import ( + DynamoDBPersistenceLayer, + KeyPair, + SortKey, +) + +from boto3clients import dynamodb_client +from config import ORDER_TABLE, USER_TABLE + +logger = Logger(__name__) +user_layer = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client) +order_layer = DynamoDBPersistenceLayer(ORDER_TABLE, dynamodb_client) + + +@event_source(data_class=EventBridgeEvent) +@logger.inject_lambda_context +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + now_ = now() + ids = user_layer.collection.get_items( + KeyPair( + pk='cnpj', + sk=SortKey(new_image['cnpj'], path_spec='user_id'), + rename_key='org_id', + ) + + KeyPair( + pk='email', + sk=SortKey(new_image['email'], path_spec='user_id'), + rename_key='user_id', + ), + flatten_top=False, + ) + + # Sometimes the function executes before the user insertion completes, + # so an exception is raised to trigger a retry. + if len(ids) < 2: + raise ValueError('IDs not found.') + + with order_layer.transact_writer() as transact: + transact.update( + key=KeyPair(new_image['id'], '0'), + update_expr='SET metadata__tenant_id = :tenant_id, \ + metadata__related_ids = :related_ids, \ + update_date = :update_date', + expr_attr_values={ + ':tenant_id': ids['org_id'], + ':related_ids': set(ids.values()), + ':update_date': now_, + }, + ) + transact.put( + item={ + 'id': new_image['id'], + 'sk': 'metadata#tenant', + 'tenant_id': f'ORG#{ids["org_id"]}', + 'create_date': now_, + } + ) + + for k, v in ids.items(): + kind = k.removesuffix('_id') + transact.put( + item={ + 'id': new_image['id'], + 'sk': f'related_ids#{kind}', # e.g. related_ids#user + 'create_date': now_, + k: v, + } + ) + + return True diff --git a/order-events/app/events/remove_slots_on_canceled.py b/order-events/app/events/remove_slots_on_canceled.py new file mode 100644 index 0000000..cedd453 --- /dev/null +++ b/order-events/app/events/remove_slots_on_canceled.py @@ -0,0 +1,57 @@ +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import ( + ComposeKey, + DynamoDBPersistenceLayer, + KeyPair, + SortKey, +) + +from boto3clients import dynamodb_client +from config import ENROLLMENT_TABLE, ORDER_TABLE + +logger = Logger(__name__) +enrollment_layer = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client) +order_layer = DynamoDBPersistenceLayer(ORDER_TABLE, dynamodb_client) + + +class TenantDoesNotExistError(Exception): + def __init__(self, *args): + super().__init__('Tenant does not exist') + + +@event_source(data_class=EventBridgeEvent) +@logger.inject_lambda_context +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + order_id = new_image['id'] + tenant_id = order_layer.collection.get_item( + KeyPair( + order_id, + SortKey('metadata#tenant', path_spec='tenant_id'), + ), + exc_cls=TenantDoesNotExistError, + ) + + result = enrollment_layer.collection.query( + KeyPair( + # Post-migration: rename `vacancies` to `slots` + ComposeKey(tenant_id, prefix='vacancies'), + order_id, + ) + ) + with enrollment_layer.batch_writer() as batch: + for pair in result['items']: + batch.delete_item( + Key={ + # Post-migration: rename `vacancies` to `slots` + 'id': {'S': ComposeKey(pair['id'], prefix='vacancies')}, + 'sk': {'S': pair['sk']}, + } + ) + + return True diff --git a/order-events/app/events/stopgap/__init__.py b/order-events/app/events/stopgap/__init__.py new file mode 100644 index 0000000..5a77fb0 --- /dev/null +++ b/order-events/app/events/stopgap/__init__.py @@ -0,0 +1,4 @@ +""" +Stopgap events. Everything here is a quick fix and should be replaced with +proper solutions. +""" diff --git a/order-events/app/events/stopgap/remove_slots.py b/order-events/app/events/stopgap/remove_slots.py new file mode 100644 index 0000000..b1e2c70 --- /dev/null +++ b/order-events/app/events/stopgap/remove_slots.py @@ -0,0 +1,71 @@ +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import ( + ComposeKey, + DynamoDBPersistenceLayer, + KeyPair, + SortKey, + TransactKey, +) + +from boto3clients import dynamodb_client +from config import ENROLLMENT_TABLE, ORDER_TABLE, USER_TABLE + +logger = Logger(__name__) +user_layer = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client) +order_layer = DynamoDBPersistenceLayer(ORDER_TABLE, dynamodb_client) +enrollment_layer = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client) + + +@event_source(data_class=EventBridgeEvent) +@logger.inject_lambda_context +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + """Remove slots if the Tenant has a `metadata#billing_policy` and + the order is positive.""" + new_image = event.detail['new_image'] + order_id = new_image['id'] + data = order_layer.collection.get_items( + TransactKey(order_id) + + SortKey('0') + + KeyPair( + pk=order_id, + sk=SortKey( + sk='metadata#tenant', + path_spec='tenant_id', + remove_prefix='metadata#', + ), + rename_key='tenant_id', + ) + ) + tenant_id = data['tenant_id'].removeprefix('ORG#') + + policy = user_layer.collection.get_item( + KeyPair(pk=tenant_id, sk='metadata#billing_policy'), + raise_on_error=False, + default=False, + ) + + # Skip if missing billing policy or order is zero/negative + if not policy or data['total'] <= 0: + return False + + result = enrollment_layer.collection.query( + KeyPair( + ComposeKey(tenant_id, prefix='vacancies'), + order_id, + ) + ) + with enrollment_layer.batch_writer() as batch: + for pair in result['items']: + batch.delete_item( + Key={ + 'id': {'S': ComposeKey(pair['id'], prefix='vacancies')}, + 'sk': {'S': pair['sk']}, + } + ) + + return True diff --git a/order-events/app/events/stopgap/set_as_paid.py b/order-events/app/events/stopgap/set_as_paid.py new file mode 100644 index 0000000..1edb1c2 --- /dev/null +++ b/order-events/app/events/stopgap/set_as_paid.py @@ -0,0 +1,46 @@ +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dateutils import now +from layercake.dynamodb import ( + DynamoDBPersistenceLayer, + KeyPair, +) + +from boto3clients import dynamodb_client +from config import ORDER_TABLE + +logger = Logger(__name__) +order_layer = DynamoDBPersistenceLayer(ORDER_TABLE, dynamodb_client) + + +@event_source(data_class=EventBridgeEvent) +@logger.inject_lambda_context +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + now_ = now() + + with order_layer.transact_writer() as transact: + transact.update( + key=KeyPair(new_image['id'], '0'), + update_expr='SET #status = :status, update_date = :update_date', + expr_attr_names={ + '#status': 'status', + }, + expr_attr_values={ + ':status': 'PAID', + ':update_date': now_, + }, + ) + transact.put( + item={ + 'id': new_image['id'], + 'sk': 'paid_date', + 'create_date': now_, + } + ) + + return True diff --git a/order-events/pyproject.toml b/order-events/pyproject.toml new file mode 100644 index 0000000..80b3c2d --- /dev/null +++ b/order-events/pyproject.toml @@ -0,0 +1,33 @@ +[project] +name = "orders-events" +version = "0.1.0" +description = "" +readme = "" +requires-python = ">=3.13" +dependencies = ["layercake"] + +[dependency-groups] +dev = [ + "jsonlines>=4.0.0", + "pytest>=8.3.4", + "pytest-cov>=6.0.0", + "ruff>=0.9.1", +] + +[tool.pytest.ini_options] +pythonpath = ["app/"] +addopts = "--cov --cov-report html -v" + +[tool.ruff] +target-version = "py311" +src = ["app"] + +[tool.ruff.format] +quote-style = "single" + +[tool.ruff.lint] +select = ["E", "F", "I"] + + +[tool.uv.sources] +layercake = { path = "../layercake" } diff --git a/order-events/pyrightconfig.json b/order-events/pyrightconfig.json new file mode 100644 index 0000000..78cdf4e --- /dev/null +++ b/order-events/pyrightconfig.json @@ -0,0 +1,3 @@ +{ + "extraPaths": ["app/"] +} diff --git a/order-events/samconfig.toml b/order-events/samconfig.toml new file mode 100644 index 0000000..e52c284 --- /dev/null +++ b/order-events/samconfig.toml @@ -0,0 +1,9 @@ +version = 0.1 +[default.deploy.parameters] +stack_name = "saladeaula-orders-events" +resolve_s3 = true +s3_prefix = "orders-events" +region = "sa-east-1" +confirm_changeset = false +capabilities = "CAPABILITY_IAM" +image_repositories = [] \ No newline at end of file diff --git a/order-events/template.yaml b/order-events/template.yaml new file mode 100644 index 0000000..dad47bb --- /dev/null +++ b/order-events/template.yaml @@ -0,0 +1,139 @@ +AWSTemplateFormatVersion: 2010-09-09 +Transform: AWS::Serverless-2016-10-31 + +Parameters: + UserTable: + Type: String + Default: betaeducacao-prod-users_d2o3r5gmm4it7j + EnrollmentTable: + Type: String + Default: betaeducacao-prod-enrollments + OrderTable: + Type: String + Default: betaeducacao-prod-orders + +Globals: + Function: + CodeUri: app/ + Runtime: python3.13 + Tracing: Active + Architectures: + - x86_64 + Layers: + - !Sub arn:aws:lambda:sa-east-1:336641857101:layer:layercake:79 + Environment: + Variables: + TZ: America/Sao_Paulo + LOG_LEVEL: DEBUG + DYNAMODB_PARTITION_KEY: id + POWERTOOLS_LOGGER_SAMPLE_RATE: 0.1 + POWERTOOLS_LOGGER_LOG_EVENT: true + USER_TABLE: !Ref UserTable + ORDER_TABLE: !Ref OrderTable + ENROLLMENT_TABLE: !Ref EnrollmentTable + +Resources: + EventLog: + Type: AWS::Logs::LogGroup + Properties: + RetentionInDays: 90 + + EventAssignTenantCnpjFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.assign_tenant_cnpj.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - DynamoDBCrudPolicy: + TableName: !Ref UserTable + - DynamoDBCrudPolicy: + TableName: !Ref OrderTable + Events: + Event: + Type: EventBridgeRule + Properties: + Pattern: + resources: [!Ref OrderTable] + detail-type: [INSERT] + detail: + new_image: + sk: ["0"] + cnpj: + - exists: true + metadata__tenant_id: + - exists: false + + EventRemoveSlotsOnCanceledFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.delete_slots_on_canceled.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - DynamoDBWritePolicy: + TableName: !Ref OrderTable + - DynamoDBWritePolicy: + TableName: !Ref EnrollmentTable + Events: + Event: + Type: EventBridgeRule + Properties: + Pattern: + resources: [!Ref OrderTable] + detail-type: [MODIFY] + detail: + new_image: + sk: ["0"] + cnpj: + - exists: true + status: [CANCELED, EXPIRED] + + EventSetAsPaidFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.stopgap.set_as_paid.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - DynamoDBWritePolicy: + TableName: !Ref OrderTable + Events: + Event: + Type: EventBridgeRule + Properties: + Pattern: + resources: [!Ref OrderTable] + detail-type: [INSERT] + detail: + new_image: + sk: ["0"] + cnpj: + - exists: true + total: [0] + status: [CREATING, PENDING] + payment_method: [MANUAL] + + EventRemoveSlotsFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.stopgap.remove_slots.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - DynamoDBReadPolicy: + TableName: !Ref UserTable + - DynamoDBReadPolicy: + TableName: !Ref OrderTable + - DynamoDBCrudPolicy: + TableName: !Ref EnrollmentTable + Events: + DynamoDBEvent: + Type: EventBridgeRule + Properties: + Pattern: + resources: [!Ref OrderTable] + detail: + new_image: + sk: [generated_items] + status: [SUCCESS] diff --git a/order-events/tests/__init__.py b/order-events/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/order-events/tests/conftest.py b/order-events/tests/conftest.py new file mode 100644 index 0000000..0a35607 --- /dev/null +++ b/order-events/tests/conftest.py @@ -0,0 +1,72 @@ +import os +from dataclasses import dataclass + +import jsonlines +import pytest + +PYTEST_TABLE_NAME = 'pytest' +PK = 'id' +SK = 'sk' + + +# https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest.hookspec.pytest_configure +def pytest_configure(): + os.environ['TZ'] = 'America/Sao_Paulo' + os.environ['DYNAMODB_PARTITION_KEY'] = PK + os.environ['DYNAMODB_SORT_KEY'] = SK + os.environ['USER_TABLE'] = PYTEST_TABLE_NAME + os.environ['COURSE_TABLE'] = PYTEST_TABLE_NAME + os.environ['ENROLLMENT_TABLE'] = PYTEST_TABLE_NAME + os.environ['ORDER_TABLE'] = PYTEST_TABLE_NAME + + +@dataclass +class LambdaContext: + function_name: str = 'test' + memory_limit_in_mb: int = 128 + invoked_function_arn: str = 'arn:aws:lambda:eu-west-1:809313241:function:test' + aws_request_id: str = '52fdfc07-2182-154f-163f-5f0f9a621d72' + + +@pytest.fixture +def lambda_context() -> LambdaContext: + return LambdaContext() + + +@pytest.fixture +def dynamodb_client(): + from boto3clients import dynamodb_client as client + + client.create_table( + AttributeDefinitions=[ + {'AttributeName': PK, 'AttributeType': 'S'}, + {'AttributeName': SK, 'AttributeType': 'S'}, + ], + TableName=PYTEST_TABLE_NAME, + KeySchema=[ + {'AttributeName': PK, 'KeyType': 'HASH'}, + {'AttributeName': SK, 'KeyType': 'RANGE'}, + ], + ProvisionedThroughput={ + 'ReadCapacityUnits': 123, + 'WriteCapacityUnits': 123, + }, + ) + + yield client + + client.delete_table(TableName=PYTEST_TABLE_NAME) + + +@pytest.fixture() +def dynamodb_persistence_layer(dynamodb_client): + from layercake.dynamodb import DynamoDBPersistenceLayer + + return DynamoDBPersistenceLayer(PYTEST_TABLE_NAME, dynamodb_client) + + +@pytest.fixture() +def dynamodb_seeds(dynamodb_client): + with jsonlines.open('tests/seeds.jsonl') as lines: + for line in lines: + dynamodb_client.put_item(TableName=PYTEST_TABLE_NAME, Item=line) diff --git a/order-events/tests/events/__init__.py b/order-events/tests/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/order-events/tests/events/stopgap/__init__.py b/order-events/tests/events/stopgap/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/order-events/tests/events/stopgap/test_remove_slots.py b/order-events/tests/events/stopgap/test_remove_slots.py new file mode 100644 index 0000000..28b18d2 --- /dev/null +++ b/order-events/tests/events/stopgap/test_remove_slots.py @@ -0,0 +1,30 @@ +from layercake.dynamodb import PartitionKey + +import events.stopgap.remove_slots as app + +from ...conftest import LambdaContext + + +def test_remove_slots( + dynamodb_seeds, + dynamodb_persistence_layer, + lambda_context: LambdaContext, +): + event = { + 'detail': { + 'new_image': { + 'id': '9omWNKymwU5U4aeun6mWzZ', + 'sk': 'generated_items', + 'create_date': '2024-07-23T20:43:37.303418-03:00', + 'status': 'SUCCESS', + 'scope': 'MILTI_USER', + } + }, + } + assert app.lambda_handler(event, lambda_context) # type: ignore + + result = dynamodb_persistence_layer.collection.query( + PartitionKey('vacancies#cJtK9SsnJhKPyxESe7g3DG') + ) + + assert len(result['items']) == 0 diff --git a/order-events/tests/events/stopgap/test_set_as_paid.py b/order-events/tests/events/stopgap/test_set_as_paid.py new file mode 100644 index 0000000..db8eaee --- /dev/null +++ b/order-events/tests/events/stopgap/test_set_as_paid.py @@ -0,0 +1,24 @@ +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair + +import events.stopgap.set_as_paid as app + + +def test_set_as_paid( + dynamodb_seeds, + dynamodb_persistence_layer: DynamoDBPersistenceLayer, + lambda_context: LambdaContext, +): + event = { + 'detail': { + 'new_image': { + 'id': '9omWNKymwU5U4aeun6mWzZ', + } + } + } + assert app.lambda_handler(event, lambda_context) # type: ignore + + doc = dynamodb_persistence_layer.get_item( + key=KeyPair('9omWNKymwU5U4aeun6mWzZ', '0'), + ) + assert doc['status'] == 'PAID' diff --git a/order-events/tests/events/test_assign_tenant.py b/order-events/tests/events/test_assign_tenant.py new file mode 100644 index 0000000..ccb36cb --- /dev/null +++ b/order-events/tests/events/test_assign_tenant.py @@ -0,0 +1,28 @@ +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer, PartitionKey + +import events.assign_tenant_cnpj as app + + +def test_assign_tenant_cnpj( + dynamodb_seeds, + dynamodb_persistence_layer: DynamoDBPersistenceLayer, + lambda_context: LambdaContext, +): + event = { + 'detail': { + 'new_image': { + 'id': '9omWNKymwU5U4aeun6mWzZ', + 'cnpj': '15608435000190', + 'email': 'sergio@somosbeta.com.br', + } + } + } + + assert app.lambda_handler(event, lambda_context) # type: ignore + + result = dynamodb_persistence_layer.collection.query( + PartitionKey('9omWNKymwU5U4aeun6mWzZ') + ) + + assert 4 == len(result['items']) diff --git a/order-events/tests/events/test_assign_tenant_cnpj.py b/order-events/tests/events/test_assign_tenant_cnpj.py new file mode 100644 index 0000000..bdbb2c9 --- /dev/null +++ b/order-events/tests/events/test_assign_tenant_cnpj.py @@ -0,0 +1,29 @@ +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer, PartitionKey + +import events.assign_tenant_cnpj as app + + +def test_assign_tenant_cnpj( + dynamodb_seeds, + dynamodb_persistence_layer: DynamoDBPersistenceLayer, + lambda_context: LambdaContext, +): + event = { + 'detail': { + 'new_image': { + 'id': '9omWNKymwU5U4aeun6mWzZ', + 'cnpj': '15608435000190', + 'email': 'sergio@somosbeta.com.br', + } + } + } + + assert app.lambda_handler(event, lambda_context) # type: ignore + + result = dynamodb_persistence_layer.collection.query( + PartitionKey('9omWNKymwU5U4aeun6mWzZ') + ) + + assert 4 == len(result['items']) + print(result['items']) diff --git a/order-events/tests/events/test_remove_slots_on_canceled.py b/order-events/tests/events/test_remove_slots_on_canceled.py new file mode 100644 index 0000000..ff921fe --- /dev/null +++ b/order-events/tests/events/test_remove_slots_on_canceled.py @@ -0,0 +1,27 @@ +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer, PartitionKey + +import events.remove_slots_on_canceled as app + + +def test_delete_slots_on_canceled( + dynamodb_seeds, + dynamodb_persistence_layer: DynamoDBPersistenceLayer, + lambda_context: LambdaContext, +): + event = { + 'detail': { + 'new_image': { + 'id': '9omWNKymwU5U4aeun6mWzZ', + 'status': 'CANCELED', + } + } + } + + assert app.lambda_handler(event, lambda_context) # type: ignore + + result = dynamodb_persistence_layer.collection.query( + PartitionKey('vacancies#cJtK9SsnJhKPyxESe7g3DG') + ) + + assert len(result['items']) == 0 diff --git a/order-events/tests/seeds.jsonl b/order-events/tests/seeds.jsonl new file mode 100644 index 0000000..2f87c24 --- /dev/null +++ b/order-events/tests/seeds.jsonl @@ -0,0 +1,10 @@ +{"id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "metadata#payment_policy"}, "due_days": {"N": "90"}} +{"id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "metadata#billing_policy"}, "billing_day": {"N": "1"}, "payment_method": {"S": "PIX"}} +{"id": {"S": "9omWNKymwU5U4aeun6mWzZ"}, "sk": {"S": "0"}, "total": {"N": "398"}, "status": {"S": "PENDING"}} +{"id": {"S": "9omWNKymwU5U4aeun6mWzZ"}, "sk": {"S": "metadata#tenant"}, "tenant_id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}} +{"id": {"S": "cnpj"}, "sk": {"S": "15608435000190"}, "user_id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}} +{"id": {"S": "email"}, "sk": {"S": "sergio@somosbeta.com.br"}, "user_id": {"S": "5OxmMjL-ujoR5IMGegQz"}} +{"id": {"S": "5OxmMjL-ujoR5IMGegQz"}, "sk": {"S": "0"}, "name": {"S": "Sérgio R Siqueira"}} +{"id": {"S": "vacancies#cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "9omWNKymwU5U4aeun6mWzZ#1"}} +{"id": {"S": "vacancies#cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "9omWNKymwU5U4aeun6mWzZ#2"}} +{"id": {"S": "vacancies#cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "9omWNKymwU5U4aeun6mWzZ#3"}} \ No newline at end of file diff --git a/order-events/uv.lock b/order-events/uv.lock new file mode 100644 index 0000000..e5424f7 --- /dev/null +++ b/order-events/uv.lock @@ -0,0 +1,1113 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "arnparse" +version = "0.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/42/949284e998282b167e273872fa9c39b06d41a6055163c30aa2daaeee76a0/arnparse-0.0.2.tar.gz", hash = "sha256:cb87f17200d07121108a9085d4a09cc69a55582647776b9a917b0b1f279db8f8", size = 2677, upload-time = "2019-03-12T21:17:04.586Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/6f/630bedeb32964e99661990811a66389201b62c047b35c17e332dad9be2a3/arnparse-0.0.2-py2.py3-none-any.whl", hash = "sha256:b0906734e4b8f19e39b1e32944c6cd6274b6da90c066a83882ac7a11d27553e0", size = 2904, upload-time = "2019-03-12T21:17:03.039Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "aws-encryption-sdk" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boto3" }, + { name = "cryptography" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/ff/fefbcc1cee829f3ab188dbcb5069862f61b64ed82a6205314f1ab7bb90e6/aws-encryption-sdk-4.0.1.tar.gz", hash = "sha256:7320dc4cf8d8d5a9b4c88a343be93835da18756e05308d3536554be0ca2889a5", size = 260219, upload-time = "2025-03-27T17:24:54.669Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/a5/82956e2111b169c644633212da2a5f84dd9d953b9dd146ccfccfb8a46290/aws_encryption_sdk-4.0.1-py2.py3-none-any.whl", hash = "sha256:5c2ca9a207e1732542a1370ac7efd630ab6e04d05f98e68badf20927eb95ed1d", size = 99127, upload-time = "2025-03-27T17:24:50.903Z" }, +] + +[[package]] +name = "aws-lambda-powertools" +version = "3.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/2b/068efd467c0866e2272c5de7525ddb02ff4e694f71245c8d2a83d4948f23/aws_lambda_powertools-3.13.0.tar.gz", hash = "sha256:99dc11ac6eb81564f599fdd85ba79069f7740ae3481c99bca2cee8abb7c95543", size = 672664, upload-time = "2025-05-20T07:35:30.254Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/cd/2241ff877528c66ee11ea636684c4242ceeadb6459a33b08507a40151414/aws_lambda_powertools-3.13.0-py3-none-any.whl", hash = "sha256:9df045f4c3ff944176655813dbff8c1160e056babf5e6d71d4e18c0003818f2e", size = 802546, upload-time = "2025-05-20T07:35:27.767Z" }, +] + +[package.optional-dependencies] +all = [ + { name = "aws-encryption-sdk" }, + { name = "aws-xray-sdk" }, + { name = "fastjsonschema" }, + { name = "jsonpath-ng" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, +] + +[[package]] +name = "aws-xray-sdk" +version = "2.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/6c/8e7fb2a45f20afc5c19d52807b560793fb48b0feca1de7de116b62a7893e/aws_xray_sdk-2.14.0.tar.gz", hash = "sha256:aab843c331af9ab9ba5cefb3a303832a19db186140894a523edafc024cc0493c", size = 93976, upload-time = "2024-06-04T22:11:38.124Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/69/b417833a8926fa5491e5346d7c233bf7d8a9b12ba1f4ef41ccea2494000c/aws_xray_sdk-2.14.0-py2.py3-none-any.whl", hash = "sha256:cfbe6feea3d26613a2a869d14c9246a844285c97087ad8f296f901633554ad94", size = 101922, upload-time = "2024-06-04T22:12:25.729Z" }, +] + +[[package]] +name = "boltons" +version = "25.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz", hash = "sha256:e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace", size = 246294, upload-time = "2025-02-03T05:57:59.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl", hash = "sha256:dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62", size = 194210, upload-time = "2025-02-03T05:57:56.705Z" }, +] + +[[package]] +name = "boto3" +version = "1.38.22" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/e5/4623171284e125ebfef850a21c2af22b0515b08f5cd05e77a79a1085f663/boto3-1.38.22.tar.gz", hash = "sha256:008f6a7c2f9f306984f9bd00c331d70341124aaa7dfebcb0466ecbda6619884a", size = 111818, upload-time = "2025-05-22T19:25:04.625Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/08/1bafc1871a758169c4ec528ab04ae820731e03573cb315f3f944207390c2/boto3-1.38.22-py3-none-any.whl", hash = "sha256:760c85ab6dd78f12aa669269ca917d313fe02378722dc3b8ab41a8dc13b2a999", size = 139939, upload-time = "2025-05-22T19:25:00.385Z" }, +] + +[[package]] +name = "botocore" +version = "1.38.22" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/ed/b75b99f64c8ce365213abc2e3124e7712ab7c691170718d1c3086c44aaea/botocore-1.38.22.tar.gz", hash = "sha256:3b464984674f97367ca1dfa29bdbce499327571208aaec2f9743f66e54d9ba05", size = 13908621, upload-time = "2025-05-22T19:24:45.588Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/ef/ebf61c9a83858b0e30c69caf49d762c40d3f54aeae731e569e2c968e1bb7/botocore-1.38.22-py3-none-any.whl", hash = "sha256:0e524cc763eced7c87ab256338ebd247ce10d1eb11d5cc4f71a3bd82611739e8", size = 13567201, upload-time = "2025-05-22T19:24:40.397Z" }, +] + +[[package]] +name = "brotli" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" }, +] + +[[package]] +name = "brotlicffi" +version = "1.1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13", size = 465192, upload-time = "2023-09-14T14:22:40.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/11/7b96009d3dcc2c931e828ce1e157f03824a69fb728d06bfd7b2fc6f93718/brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851", size = 453786, upload-time = "2023-09-14T14:21:57.72Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e6/a8f46f4a4ee7856fbd6ac0c6fb0dc65ed181ba46cd77875b8d9bbe494d9e/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b", size = 2911165, upload-time = "2023-09-14T14:21:59.613Z" }, + { url = "https://files.pythonhosted.org/packages/be/20/201559dff14e83ba345a5ec03335607e47467b6633c210607e693aefac40/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814", size = 2927895, upload-time = "2023-09-14T14:22:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/cd/15/695b1409264143be3c933f708a3f81d53c4a1e1ebbc06f46331decbf6563/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820", size = 2851834, upload-time = "2023-09-14T14:22:03.571Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/b961a702463b6005baf952794c2e9e0099bde657d0d7e007f923883b907f/brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb", size = 341731, upload-time = "2023-09-14T14:22:05.74Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fa/5408a03c041114ceab628ce21766a4ea882aa6f6f0a800e04ee3a30ec6b9/brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613", size = 366783, upload-time = "2023-09-14T14:22:07.096Z" }, +] + +[[package]] +name = "camel-converter" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/3d/dd783586dc0c4aee5b6b88489666fdb2c0c344ea0aa8a5c10746cc423707/camel_converter-4.0.1.tar.gz", hash = "sha256:401414549ae4ac4073e38cdc4aa6d464dc534fc40aa06ff787bf0960b0c86535", size = 38915, upload-time = "2024-10-08T16:55:39.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/e5/806359514cc8305f047bd6d39d63890298c0596f7328b534059724bd1a9e/camel_converter-4.0.1-py3-none-any.whl", hash = "sha256:0cba7ca1354a29ca2191983deecc9dcf28889f606c28d6ed18ac7d4586b163ac", size = 6243, upload-time = "2024-10-08T16:55:37.769Z" }, +] + +[package.optional-dependencies] +pydantic = [ + { name = "pydantic" }, +] + +[[package]] +name = "certifi" +version = "2025.4.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "click-default-group" +version = "1.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz", hash = "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e", size = 3505, upload-time = "2023-08-04T07:54:58.425Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/1a/aff8bb287a4b1400f69e09a53bd65de96aa5cee5691925b38731c67fc695/click_default_group-1.2.4-py2.py3-none-any.whl", hash = "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f", size = 4123, upload-time = "2023-08-04T07:54:56.875Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.8.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/b4/a707d96c2c1ce9402ce1ce7124c53b9e4e1f3e617652a5ed2fbba4c9b4be/coverage-7.8.1.tar.gz", hash = "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", size = 812193, upload-time = "2025-05-21T12:39:46.1Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/0a/696a8d6c245a72f61589e2015a633fab5aacd8c916802df41d23e387b442/coverage-7.8.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", size = 211902, upload-time = "2025-05-21T12:38:44.54Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2f/0c065dfaf497586cf1693dee2a94e7489a4be840a5bbe765a7a78735268b/coverage-7.8.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", size = 212175, upload-time = "2025-05-21T12:38:46.143Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a1/a8a40658f67311c96c3d9073293fefee8a9485906ed531546dffe35fdd4b/coverage-7.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", size = 245564, upload-time = "2025-05-21T12:38:47.843Z" }, + { url = "https://files.pythonhosted.org/packages/6e/94/dc36e2256ce484f482ed5b2a103a261009c301cdad237fdefe2a9b6ddeab/coverage-7.8.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", size = 242719, upload-time = "2025-05-21T12:38:49.517Z" }, + { url = "https://files.pythonhosted.org/packages/73/d7/d096859c59f02d4550e6bc9180bd06c88313c32977d7458e0d4ed06ed057/coverage-7.8.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", size = 244634, upload-time = "2025-05-21T12:38:51.18Z" }, + { url = "https://files.pythonhosted.org/packages/be/a0/6f4db84d1d3334ca37c2dae02a54761a1a3918aec56faec26f1590077181/coverage-7.8.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", size = 244824, upload-time = "2025-05-21T12:38:52.789Z" }, + { url = "https://files.pythonhosted.org/packages/96/46/1e74016ba7d9f4242170f9d814454e6483a640332a67c0e139dab7d85762/coverage-7.8.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", size = 242872, upload-time = "2025-05-21T12:38:54.493Z" }, + { url = "https://files.pythonhosted.org/packages/22/41/51df77f279b49e7dd05ee9dfe746cf8698c873ffdf7fbe57aaee9522ec67/coverage-7.8.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", size = 244179, upload-time = "2025-05-21T12:38:56.762Z" }, + { url = "https://files.pythonhosted.org/packages/b8/83/6207522f3afb64592c47353bc79b0e3e6c3f48fde5e5221ab2b80a12e93d/coverage-7.8.1-cp313-cp313-win32.whl", hash = "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", size = 214395, upload-time = "2025-05-21T12:38:58.631Z" }, + { url = "https://files.pythonhosted.org/packages/43/b8/cd40a8fff1633112ac40edde9006aceaa55b32a84976394a42c33547ef95/coverage-7.8.1-cp313-cp313-win_amd64.whl", hash = "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", size = 215195, upload-time = "2025-05-21T12:39:00.614Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f0/8fea9beb378cdce803ba838293314b21527f4edab58dcbe2e6a5553e7dc8/coverage-7.8.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", size = 212738, upload-time = "2025-05-21T12:39:02.808Z" }, + { url = "https://files.pythonhosted.org/packages/0c/90/f28953cd1246ad7839874ef97e181f153d4274cc6db21857fbca18b89c97/coverage-7.8.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", size = 212958, upload-time = "2025-05-21T12:39:04.536Z" }, + { url = "https://files.pythonhosted.org/packages/fb/70/3f3d34ef68534afa73aee75537d1daf1e91029738cbf052ef828313aa960/coverage-7.8.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", size = 257024, upload-time = "2025-05-21T12:39:06.703Z" }, + { url = "https://files.pythonhosted.org/packages/cf/66/96ab415609b777adfcfa00f29d75d2278da139c0958de7a50dd0023811e6/coverage-7.8.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", size = 252867, upload-time = "2025-05-21T12:39:08.818Z" }, + { url = "https://files.pythonhosted.org/packages/52/4f/3d48704c62fa5f72447005b8a77cc9cce5e164c2df357433442d17f2ac0a/coverage-7.8.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", size = 255096, upload-time = "2025-05-21T12:39:10.516Z" }, + { url = "https://files.pythonhosted.org/packages/64/1d/e8d4ac647c1967dd3dbc250fb4595b838b7067ad32602a7339ac467d9c5a/coverage-7.8.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", size = 256276, upload-time = "2025-05-21T12:39:12.177Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e4/62e2f9521f3758dea07bcefc2c9c0dd34fa67d7035b0443c7c3072e6308b/coverage-7.8.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654", size = 254478, upload-time = "2025-05-21T12:39:14.325Z" }, + { url = "https://files.pythonhosted.org/packages/49/41/7af246f5e68272f97a31a122da5878747e941fef019430485534d1f6a44a/coverage-7.8.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", size = 255255, upload-time = "2025-05-21T12:39:16.059Z" }, + { url = "https://files.pythonhosted.org/packages/05/5d/5dacd7915972f82d909f36974c6415667dae08a32478d87dfdbac6788e22/coverage-7.8.1-cp313-cp313t-win32.whl", hash = "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", size = 215112, upload-time = "2025-05-21T12:39:18.263Z" }, + { url = "https://files.pythonhosted.org/packages/8b/89/48e77e71e81e5b79fd6471083d087cd69517e5f585b548d87c92d5ae873c/coverage-7.8.1-cp313-cp313t-win_amd64.whl", hash = "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", size = 216270, upload-time = "2025-05-21T12:39:20.461Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a1/4d968d4605f3a87a809f0c8f495eed81656c93cf6c00818334498ad6ad45/coverage-7.8.1-py3-none-any.whl", hash = "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", size = 203623, upload-time = "2025-05-21T12:39:43.473Z" }, +] + +[[package]] +name = "cryptography" +version = "45.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/47/92a8914716f2405f33f1814b97353e3cfa223cd94a77104075d42de3099e/cryptography-45.0.2.tar.gz", hash = "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", size = 743865, upload-time = "2025-05-18T02:46:34.986Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/2f/46b9e715157643ad16f039ec3c3c47d174da6f825bf5034b1c5f692ab9e2/cryptography-45.0.2-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", size = 7043448, upload-time = "2025-05-18T02:45:12.495Z" }, + { url = "https://files.pythonhosted.org/packages/90/52/49e6c86278e1b5ec226e96b62322538ccc466306517bf9aad8854116a088/cryptography-45.0.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", size = 4201098, upload-time = "2025-05-18T02:45:15.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/3a/201272539ac5b66b4cb1af89021e423fc0bfacb73498950280c51695fb78/cryptography-45.0.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", size = 4429839, upload-time = "2025-05-18T02:45:17.614Z" }, + { url = "https://files.pythonhosted.org/packages/99/89/fa1a84832b8f8f3917875cb15324bba98def5a70175a889df7d21a45dc75/cryptography-45.0.2-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", size = 4205154, upload-time = "2025-05-18T02:45:19.874Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c5/5225d5230d538ab461725711cf5220560a813d1eb68bafcfb00131b8f631/cryptography-45.0.2-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", size = 3897145, upload-time = "2025-05-18T02:45:22.209Z" }, + { url = "https://files.pythonhosted.org/packages/fe/24/f19aae32526cc55ae17d473bc4588b1234af2979483d99cbfc57e55ffea6/cryptography-45.0.2-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", size = 4462192, upload-time = "2025-05-18T02:45:24.773Z" }, + { url = "https://files.pythonhosted.org/packages/19/18/4a69ac95b0b3f03355970baa6c3f9502bbfc54e7df81fdb179654a00f48e/cryptography-45.0.2-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", size = 4208093, upload-time = "2025-05-18T02:45:27.028Z" }, + { url = "https://files.pythonhosted.org/packages/7c/54/2dea55ccc9558b8fa14f67156250b6ee231e31765601524e4757d0b5db6b/cryptography-45.0.2-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", size = 4461819, upload-time = "2025-05-18T02:45:29.39Z" }, + { url = "https://files.pythonhosted.org/packages/37/f1/1b220fcd5ef4b1f0ff3e59e733b61597505e47f945606cc877adab2c1a17/cryptography-45.0.2-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", size = 4329202, upload-time = "2025-05-18T02:45:31.925Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e0/51d1dc4f96f819a56db70f0b4039b4185055bbb8616135884c3c3acc4c6d/cryptography-45.0.2-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", size = 4570412, upload-time = "2025-05-18T02:45:34.348Z" }, + { url = "https://files.pythonhosted.org/packages/dc/44/88efb40a3600d15277a77cdc69eeeab45a98532078d2a36cffd9325d3b3f/cryptography-45.0.2-cp311-abi3-win32.whl", hash = "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", size = 2933584, upload-time = "2025-05-18T02:45:36.198Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a1/bc9f82ba08760442cc8346d1b4e7b769b86d197193c45b42b3595d231e84/cryptography-45.0.2-cp311-abi3-win_amd64.whl", hash = "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", size = 3408537, upload-time = "2025-05-18T02:45:38.184Z" }, + { url = "https://files.pythonhosted.org/packages/59/bc/1b6acb1dca366f9c0b3880888ecd7fcfb68023930d57df854847c6da1d10/cryptography-45.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", size = 7025581, upload-time = "2025-05-18T02:45:40.632Z" }, + { url = "https://files.pythonhosted.org/packages/31/a3/a3e4a298d3db4a04085728f5ae6c8cda157e49c5bb784886d463b9fbff70/cryptography-45.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", size = 4189148, upload-time = "2025-05-18T02:45:42.538Z" }, + { url = "https://files.pythonhosted.org/packages/53/90/100dfadd4663b389cb56972541ec1103490a19ebad0132af284114ba0868/cryptography-45.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", size = 4424113, upload-time = "2025-05-18T02:45:44.316Z" }, + { url = "https://files.pythonhosted.org/packages/0d/40/e2b9177dbed6f3fcbbf1942e1acea2fd15b17007204b79d675540dd053af/cryptography-45.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d", size = 4189696, upload-time = "2025-05-18T02:45:46.622Z" }, + { url = "https://files.pythonhosted.org/packages/70/ae/ec29c79f481e1767c2ff916424ba36f3cf7774de93bbd60428a3c52d1357/cryptography-45.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", size = 3881498, upload-time = "2025-05-18T02:45:48.884Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4a/72937090e5637a232b2f73801c9361cd08404a2d4e620ca4ec58c7ea4b70/cryptography-45.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", size = 4451678, upload-time = "2025-05-18T02:45:50.706Z" }, + { url = "https://files.pythonhosted.org/packages/d3/fa/1377fced81fd67a4a27514248261bb0d45c3c1e02169411fe231583088c8/cryptography-45.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", size = 4192296, upload-time = "2025-05-18T02:45:52.422Z" }, + { url = "https://files.pythonhosted.org/packages/d1/cf/b6fe837c83a08b9df81e63299d75fc5b3c6d82cf24b3e1e0e331050e9e5c/cryptography-45.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", size = 4451749, upload-time = "2025-05-18T02:45:55.025Z" }, + { url = "https://files.pythonhosted.org/packages/af/d8/5a655675cc635c7190bfc8cffb84bcdc44fc62ce945ad1d844adaa884252/cryptography-45.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", size = 4317601, upload-time = "2025-05-18T02:45:56.911Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d4/75d2375a20d80aa262a8adee77bf56950e9292929e394b9fae2481803f11/cryptography-45.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", size = 4560535, upload-time = "2025-05-18T02:45:59.33Z" }, + { url = "https://files.pythonhosted.org/packages/aa/18/c3a94474987ebcfb88692036b2ec44880d243fefa73794bdcbf748679a6e/cryptography-45.0.2-cp37-abi3-win32.whl", hash = "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", size = 2922045, upload-time = "2025-05-18T02:46:01.012Z" }, + { url = "https://files.pythonhosted.org/packages/63/63/fb28b30c144182fd44ce93d13ab859791adbf923e43bdfb610024bfecda1/cryptography-45.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", size = 3393321, upload-time = "2025-05-18T02:46:03.441Z" }, +] + +[[package]] +name = "cssselect2" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tinycss2" }, + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/86/fd7f58fc498b3166f3a7e8e0cddb6e620fe1da35b02248b1bd59e95dbaaa/cssselect2-0.8.0.tar.gz", hash = "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a", size = 35716, upload-time = "2025-03-05T14:46:07.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/e7/aa315e6a749d9b96c2504a1ba0ba031ba2d0517e972ce22682e3fccecb09/cssselect2-0.8.0-py3-none-any.whl", hash = "sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e", size = 15454, upload-time = "2025-03-05T14:46:06.463Z" }, +] + +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, +] + +[[package]] +name = "elastic-transport" +version = "8.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/54/d498a766ac8fa475f931da85a154666cc81a70f8eb4a780bc8e4e934e9ac/elastic_transport-8.17.1.tar.gz", hash = "sha256:5edef32ac864dca8e2f0a613ef63491ee8d6b8cfb52881fa7313ba9290cac6d2", size = 73425, upload-time = "2025-03-13T07:28:30.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/cd/b71d5bc74cde7fc6fd9b2ff9389890f45d9762cbbbf81dc5e51fd7588c4a/elastic_transport-8.17.1-py3-none-any.whl", hash = "sha256:192718f498f1d10c5e9aa8b9cf32aed405e469a7f0e9d6a8923431dbb2c59fb8", size = 64969, upload-time = "2025-03-13T07:28:29.031Z" }, +] + +[[package]] +name = "elasticsearch" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/e4/40fc0e8d9a646889ac3f865cd35e41835f3cf888c716c7aae82248e022f0/elasticsearch-8.18.1.tar.gz", hash = "sha256:998035f17a8c1fba7ae26b183dca797dcf95db86da6a7ecba56d31afc40f07c7", size = 750746, upload-time = "2025-04-29T09:32:16.361Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/62/f62e8a5c7c6f7b27481c9ffc248fb32078ad88878aa4f3731a83a14cc797/elasticsearch-8.18.1-py3-none-any.whl", hash = "sha256:1a8c8b5ec3ce5be88f96d2f898375671648e96272978bce0dee3137d9326aabb", size = 906320, upload-time = "2025-04-29T09:32:12.527Z" }, +] + +[[package]] +name = "elasticsearch-dsl" +version = "8.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "elasticsearch" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/6d/00cbeee412a2dc825f0df18c98463a2e0b423b86800fba6c50ea2c627962/elasticsearch_dsl-8.18.0.tar.gz", hash = "sha256:763465dba9eae166add10567e924c65730aa122819b08bfe9a077e91b13b30d1", size = 31886, upload-time = "2025-04-16T11:54:14.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/a9/b200790a22585aeb023d88bd8b9fb222820e2976ce4239d401670116ae3c/elasticsearch_dsl-8.18.0-py3-none-any.whl", hash = "sha256:0522c5bb20c7abae69855109e650bf1166d486cbf706b5e1b29c28936a9102a3", size = 10406, upload-time = "2025-04-16T11:54:12.677Z" }, +] + +[[package]] +name = "email-validator" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, +] + +[[package]] +name = "face" +version = "24.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boltons" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/79/2484075a8549cd64beae697a8f664dee69a5ccf3a7439ee40c8f93c1978a/face-24.0.0.tar.gz", hash = "sha256:611e29a01ac5970f0077f9c577e746d48c082588b411b33a0dd55c4d872949f6", size = 62732, upload-time = "2024-11-02T05:24:26.095Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/47/21867c2e5fd006c8d36a560df9e32cb4f1f566b20c5dd41f5f8a2124f7de/face-24.0.0-py3-none-any.whl", hash = "sha256:0e2c17b426fa4639a4e77d1de9580f74a98f4869ba4c7c8c175b810611622cd3", size = 54742, upload-time = "2024-11-02T05:24:24.939Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, +] + +[[package]] +name = "fonttools" +version = "4.58.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522, upload-time = "2025-05-10T17:36:35.886Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320, upload-time = "2025-05-10T17:35:56.455Z" }, + { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570, upload-time = "2025-05-10T17:35:58.794Z" }, + { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066, upload-time = "2025-05-10T17:36:01.174Z" }, + { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076, upload-time = "2025-05-10T17:36:03.663Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394, upload-time = "2025-05-10T17:36:06.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160, upload-time = "2025-05-10T17:36:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919, upload-time = "2025-05-10T17:36:10.644Z" }, + { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972, upload-time = "2025-05-10T17:36:12.495Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440, upload-time = "2025-05-10T17:36:33.607Z" }, +] + +[package.optional-dependencies] +woff = [ + { name = "brotli", marker = "platform_python_implementation == 'CPython'" }, + { name = "brotlicffi", marker = "platform_python_implementation != 'CPython'" }, + { name = "zopfli" }, +] + +[[package]] +name = "ftfy" +version = "6.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload-time = "2024-10-26T00:50:35.149Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload-time = "2024-10-26T00:50:33.425Z" }, +] + +[[package]] +name = "glom" +version = "24.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boltons" }, + { name = "face" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/89/b57cfbc448189426f2e01b244fbe9226b059ef5423a9d49c1d335a1f1026/glom-24.11.0.tar.gz", hash = "sha256:4325f96759a912044af7b6c6bd0dba44ad8c1eb6038aab057329661d2021bb27", size = 195120, upload-time = "2024-11-02T23:17:50.405Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/a2/75fd80784ec33da8d39cf885e8811a4fbc045a90db5e336b8e345e66dbb2/glom-24.11.0-py3-none-any.whl", hash = "sha256:991db7fcb4bfa9687010aa519b7b541bbe21111e70e58fdd2d7e34bbaa2c1fbd", size = 102690, upload-time = "2024-11-02T23:17:46.468Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonlines" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/87/bcda8e46c88d0e34cad2f09ee2d0c7f5957bccdb9791b0b934ec84d84be4/jsonlines-4.0.0.tar.gz", hash = "sha256:0c6d2c09117550c089995247f605ae4cf77dd1533041d366351f6f298822ea74", size = 11359, upload-time = "2023-09-01T12:34:44.187Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/62/d9ba6323b9202dd2fe166beab8a86d29465c41a0288cbe229fac60c1ab8d/jsonlines-4.0.0-py3-none-any.whl", hash = "sha256:185b334ff2ca5a91362993f42e83588a360cf95ce4b71a73548502bda52a7c55", size = 8701, upload-time = "2023-09-01T12:34:42.563Z" }, +] + +[[package]] +name = "jsonpath-ng" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ply" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/86/08646239a313f895186ff0a4573452038eed8c86f54380b3ebac34d32fb2/jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c", size = 37838, upload-time = "2024-10-11T15:41:42.404Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/5a/73ecb3d82f8615f32ccdadeb9356726d6cae3a4bbc840b437ceb95708063/jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6", size = 30105, upload-time = "2024-11-20T17:58:30.418Z" }, +] + +[[package]] +name = "layercake" +version = "0.6.11" +source = { directory = "../layercake" } +dependencies = [ + { name = "arnparse" }, + { name = "aws-lambda-powertools", extra = ["all"] }, + { name = "elasticsearch" }, + { name = "elasticsearch-dsl" }, + { name = "ftfy" }, + { name = "glom" }, + { name = "meilisearch" }, + { name = "orjson" }, + { name = "pycpfcnpj" }, + { name = "pydantic", extra = ["email"] }, + { name = "pydantic-extra-types" }, + { name = "pytz" }, + { name = "requests" }, + { name = "smart-open", extra = ["s3"] }, + { name = "sqlite-utils" }, + { name = "weasyprint" }, +] + +[package.metadata] +requires-dist = [ + { name = "arnparse", specifier = ">=0.0.2" }, + { name = "aws-lambda-powertools", extras = ["all"], specifier = ">=3.8.0" }, + { name = "elasticsearch", specifier = ">=8.17.2" }, + { name = "elasticsearch-dsl", specifier = ">=8.17.1" }, + { name = "ftfy", specifier = ">=6.3.1" }, + { name = "glom", specifier = ">=24.11.0" }, + { name = "meilisearch", specifier = ">=0.34.0" }, + { name = "orjson", specifier = ">=3.10.15" }, + { name = "pycpfcnpj", specifier = ">=1.8" }, + { name = "pydantic", extras = ["email"], specifier = ">=2.10.6" }, + { name = "pydantic-extra-types", specifier = ">=2.10.3" }, + { name = "pytz", specifier = ">=2025.1" }, + { name = "requests", specifier = ">=2.32.3" }, + { name = "smart-open", extras = ["s3"], specifier = ">=7.1.0" }, + { name = "sqlite-utils", specifier = ">=3.38" }, + { name = "weasyprint", specifier = ">=65.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "boto3", specifier = ">=1.37.16" }, + { name = "boto3-stubs", extras = ["essential"], specifier = ">=1.37.33" }, + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.5" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.11.1" }, +] + +[[package]] +name = "meilisearch" +version = "0.34.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "camel-converter", extra = ["pydantic"] }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/11/d2/63b34effea260f2551685cdc38783d36e05a1734c1f14f8bd8dd059fe699/meilisearch-0.34.1.tar.gz", hash = "sha256:99a8d8f548cc1905668ffb2bbf641b5e3ec9231f3413cce4189c5d7b16e52afa", size = 24221, upload-time = "2025-04-04T13:45:07.868Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/3e/a3ec8d44b35e495444cac8ce3573b33adf19a9b6d70f2a51e4a971f17c81/meilisearch-0.34.1-py3-none-any.whl", hash = "sha256:43efa4521ce7dc3b065d404267ad5b3acb825602e6219b8b5356650306686cd4", size = 24918, upload-time = "2025-04-04T13:45:06.869Z" }, +] + +[[package]] +name = "order-management" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "layercake" }, +] + +[package.dev-dependencies] +dev = [ + { name = "jsonlines" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [{ name = "layercake", directory = "../layercake" }] + +[package.metadata.requires-dev] +dev = [ + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.4" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.9.1" }, +] + +[[package]] +name = "orjson" +version = "3.10.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" }, + { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" }, + { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" }, + { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" }, + { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" }, + { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" }, + { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "ply" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pycpfcnpj" +version = "1.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/de/3439a4d7838410294f47aa02ae359f16ff81f154ea9b1526b18123d8d47e/pycpfcnpj-1.8.tar.gz", hash = "sha256:c9e95d2790d582aa7a7deb4b87da252364c670bd1d78f69f3d8f8f82479ed969", size = 5127, upload-time = "2024-01-17T00:02:46.406Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/d9/5182d830ac9dc5ab20cfa11bf68520ca79809a67c5288d89178d63682669/pycpfcnpj-1.8-py3-none-any.whl", hash = "sha256:771d2ff00511f70453f2df8a20f529bad8deb8e35315a15ba0350d3b5360ef91", size = 6928, upload-time = "2024-01-17T00:02:45.338Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload-time = "2025-04-29T20:38:55.02Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/12/46b65f3534d099349e38ef6ec98b1a5a81f42536d17e0ba382c28c67ba67/pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb", size = 443900, upload-time = "2025-04-29T20:38:52.724Z" }, +] + +[package.optional-dependencies] +email = [ + { name = "email-validator" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, +] + +[[package]] +name = "pydantic-extra-types" +version = "2.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/33/0cde418479949cd6aa1ac669deffcd1c37d8d9cead99ddb48f344e75f2e3/pydantic_extra_types-2.10.4.tar.gz", hash = "sha256:bf8236a63d061eb3ecb1b2afa78ba0f97e3f67aa11dbbff56ec90491e8772edc", size = 95269, upload-time = "2025-04-28T08:18:34.869Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/ac/bee195ee49256385fad460ce420aeb42703a648dba487c20b6fd107e42ea/pydantic_extra_types-2.10.4-py3-none-any.whl", hash = "sha256:ce064595af3cab05e39ae062752432dcd0362ff80f7e695b61a3493a4d842db7", size = 37276, upload-time = "2025-04-28T08:18:31.617Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload-time = "2025-04-18T16:44:48.265Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" }, +] + +[[package]] +name = "pydyf" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/c2/97fc6ce4ce0045080dc99446def812081b57750ed8aa67bfdfafa4561fe5/pydyf-0.11.0.tar.gz", hash = "sha256:394dddf619cca9d0c55715e3c55ea121a9bf9cbc780cdc1201a2427917b86b64", size = 17769, upload-time = "2024-07-12T12:26:51.95Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/ac/d5db977deaf28c6ecbc61bbca269eb3e8f0b3a1f55c8549e5333e606e005/pydyf-0.11.0-py3-none-any.whl", hash = "sha256:0aaf9e2ebbe786ec7a78ec3fbffa4cdcecde53fd6f563221d53c6bc1328848a3", size = 8104, upload-time = "2024-07-12T12:26:49.896Z" }, +] + +[[package]] +name = "pyphen" +version = "0.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/56/e4d7e1bd70d997713649c5ce530b2d15a5fc2245a74ca820fc2d51d89d4d/pyphen-0.17.2.tar.gz", hash = "sha256:f60647a9c9b30ec6c59910097af82bc5dd2d36576b918e44148d8b07ef3b4aa3", size = 2079470, upload-time = "2025-01-20T13:18:36.296Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/1f/c2142d2edf833a90728e5cdeb10bdbdc094dde8dbac078cee0cf33f5e11b/pyphen-0.17.2-py3-none-any.whl", hash = "sha256:3a07fb017cb2341e1d9ff31b8634efb1ae4dc4b130468c7c39dd3d32e7c3affd", size = 2079358, upload-time = "2025-01-20T13:18:29.629Z" }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857, upload-time = "2025-04-05T14:07:51.592Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload-time = "2025-04-05T14:07:49.641Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, +] + +[[package]] +name = "ruff" +version = "0.11.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/53/ae4857030d59286924a8bdb30d213d6ff22d8f0957e738d0289990091dd8/ruff-0.11.11.tar.gz", hash = "sha256:7774173cc7c1980e6bf67569ebb7085989a78a103922fb83ef3dfe230cd0687d", size = 4186707, upload-time = "2025-05-22T19:19:34.363Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/14/f2326676197bab099e2a24473158c21656fbf6a207c65f596ae15acb32b9/ruff-0.11.11-py3-none-linux_armv6l.whl", hash = "sha256:9924e5ae54125ed8958a4f7de320dab7380f6e9fa3195e3dc3b137c6842a0092", size = 10229049, upload-time = "2025-05-22T19:18:45.516Z" }, + { url = "https://files.pythonhosted.org/packages/9a/f3/bff7c92dd66c959e711688b2e0768e486bbca46b2f35ac319bb6cce04447/ruff-0.11.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c8a93276393d91e952f790148eb226658dd275cddfde96c6ca304873f11d2ae4", size = 11053601, upload-time = "2025-05-22T19:18:49.269Z" }, + { url = "https://files.pythonhosted.org/packages/e2/38/8e1a3efd0ef9d8259346f986b77de0f62c7a5ff4a76563b6b39b68f793b9/ruff-0.11.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d6e333dbe2e6ae84cdedefa943dfd6434753ad321764fd937eef9d6b62022bcd", size = 10367421, upload-time = "2025-05-22T19:18:51.754Z" }, + { url = "https://files.pythonhosted.org/packages/b4/50/557ad9dd4fb9d0bf524ec83a090a3932d284d1a8b48b5906b13b72800e5f/ruff-0.11.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7885d9a5e4c77b24e8c88aba8c80be9255fa22ab326019dac2356cff42089fc6", size = 10581980, upload-time = "2025-05-22T19:18:54.011Z" }, + { url = "https://files.pythonhosted.org/packages/c4/b2/e2ed82d6e2739ece94f1bdbbd1d81b712d3cdaf69f0a1d1f1a116b33f9ad/ruff-0.11.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1b5ab797fcc09121ed82e9b12b6f27e34859e4227080a42d090881be888755d4", size = 10089241, upload-time = "2025-05-22T19:18:56.041Z" }, + { url = "https://files.pythonhosted.org/packages/3d/9f/b4539f037a5302c450d7c695c82f80e98e48d0d667ecc250e6bdeb49b5c3/ruff-0.11.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e231ff3132c1119ece836487a02785f099a43992b95c2f62847d29bace3c75ac", size = 11699398, upload-time = "2025-05-22T19:18:58.248Z" }, + { url = "https://files.pythonhosted.org/packages/61/fb/32e029d2c0b17df65e6eaa5ce7aea5fbeaed22dddd9fcfbbf5fe37c6e44e/ruff-0.11.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a97c9babe1d4081037a90289986925726b802d180cca784ac8da2bbbc335f709", size = 12427955, upload-time = "2025-05-22T19:19:00.981Z" }, + { url = "https://files.pythonhosted.org/packages/6e/e3/160488dbb11f18c8121cfd588e38095ba779ae208292765972f7732bfd95/ruff-0.11.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8c4ddcbe8a19f59f57fd814b8b117d4fcea9bee7c0492e6cf5fdc22cfa563c8", size = 12069803, upload-time = "2025-05-22T19:19:03.258Z" }, + { url = "https://files.pythonhosted.org/packages/ff/16/3b006a875f84b3d0bff24bef26b8b3591454903f6f754b3f0a318589dcc3/ruff-0.11.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6224076c344a7694c6fbbb70d4f2a7b730f6d47d2a9dc1e7f9d9bb583faf390b", size = 11242630, upload-time = "2025-05-22T19:19:05.871Z" }, + { url = "https://files.pythonhosted.org/packages/65/0d/0338bb8ac0b97175c2d533e9c8cdc127166de7eb16d028a43c5ab9e75abd/ruff-0.11.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:882821fcdf7ae8db7a951df1903d9cb032bbe838852e5fc3c2b6c3ab54e39875", size = 11507310, upload-time = "2025-05-22T19:19:08.584Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bf/d7130eb26174ce9b02348b9f86d5874eafbf9f68e5152e15e8e0a392e4a3/ruff-0.11.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:dcec2d50756463d9df075a26a85a6affbc1b0148873da3997286caf1ce03cae1", size = 10441144, upload-time = "2025-05-22T19:19:13.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/f3/4be2453b258c092ff7b1761987cf0749e70ca1340cd1bfb4def08a70e8d8/ruff-0.11.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99c28505ecbaeb6594701a74e395b187ee083ee26478c1a795d35084d53ebd81", size = 10081987, upload-time = "2025-05-22T19:19:15.821Z" }, + { url = "https://files.pythonhosted.org/packages/6c/6e/dfa4d2030c5b5c13db158219f2ec67bf333e8a7748dccf34cfa2a6ab9ebc/ruff-0.11.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9263f9e5aa4ff1dec765e99810f1cc53f0c868c5329b69f13845f699fe74f639", size = 11073922, upload-time = "2025-05-22T19:19:18.104Z" }, + { url = "https://files.pythonhosted.org/packages/ff/f4/f7b0b0c3d32b593a20ed8010fa2c1a01f2ce91e79dda6119fcc51d26c67b/ruff-0.11.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:64ac6f885e3ecb2fdbb71de2701d4e34526651f1e8503af8fb30d4915a3fe345", size = 11568537, upload-time = "2025-05-22T19:19:20.889Z" }, + { url = "https://files.pythonhosted.org/packages/d2/46/0e892064d0adc18bcc81deed9aaa9942a27fd2cd9b1b7791111ce468c25f/ruff-0.11.11-py3-none-win32.whl", hash = "sha256:1adcb9a18802268aaa891ffb67b1c94cd70578f126637118e8099b8e4adcf112", size = 10536492, upload-time = "2025-05-22T19:19:23.642Z" }, + { url = "https://files.pythonhosted.org/packages/1b/d9/232e79459850b9f327e9f1dc9c047a2a38a6f9689e1ec30024841fc4416c/ruff-0.11.11-py3-none-win_amd64.whl", hash = "sha256:748b4bb245f11e91a04a4ff0f96e386711df0a30412b9fe0c74d5bdc0e4a531f", size = 11612562, upload-time = "2025-05-22T19:19:27.013Z" }, + { url = "https://files.pythonhosted.org/packages/ce/eb/09c132cff3cc30b2e7244191dcce69437352d6d6709c0adf374f3e6f476e/ruff-0.11.11-py3-none-win_arm64.whl", hash = "sha256:6c51f136c0364ab1b774767aa8b86331bd8e9d414e2d107db7a2189f35ea1f7b", size = 10735951, upload-time = "2025-05-22T19:19:30.043Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/5d/9dcc100abc6711e8247af5aa561fc07c4a046f72f659c3adea9a449e191a/s3transfer-0.13.0.tar.gz", hash = "sha256:f5e6db74eb7776a37208001113ea7aa97695368242b364d73e91c981ac522177", size = 150232, upload-time = "2025-05-22T19:24:50.245Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/17/22bf8155aa0ea2305eefa3a6402e040df7ebe512d1310165eda1e233c3f8/s3transfer-0.13.0-py3-none-any.whl", hash = "sha256:0148ef34d6dd964d0d8cf4311b2b21c474693e57c2e069ec708ce043d2b527be", size = 85152, upload-time = "2025-05-22T19:24:48.703Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smart-open" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/30/1f41c3d3b8cec82024b4b277bfd4e5b18b765ae7279eb9871fa25c503778/smart_open-7.1.0.tar.gz", hash = "sha256:a4f09f84f0f6d3637c6543aca7b5487438877a21360e7368ccf1f704789752ba", size = 72044, upload-time = "2024-12-17T13:19:17.71Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/18/9a8d9f01957aa1f8bbc5676d54c2e33102d247e146c1a3679d3bd5cc2e3a/smart_open-7.1.0-py3-none-any.whl", hash = "sha256:4b8489bb6058196258bafe901730c7db0dcf4f083f316e97269c66f45502055b", size = 61746, upload-time = "2024-12-17T13:19:21.076Z" }, +] + +[package.optional-dependencies] +s3 = [ + { name = "boto3" }, +] + +[[package]] +name = "sqlite-fts4" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/6d/9dad6c3b433ab8912ace969c66abd595f8e0a2ccccdb73602b1291dbda29/sqlite-fts4-1.0.3.tar.gz", hash = "sha256:78b05eeaf6680e9dbed8986bde011e9c086a06cb0c931b3cf7da94c214e8930c", size = 9718, upload-time = "2022-07-30T01:14:26.943Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/29/0096e8b1811aaa78cfb296996f621f41120c21c2f5cd448ae1d54979d9fc/sqlite_fts4-1.0.3-py3-none-any.whl", hash = "sha256:0359edd8dea6fd73c848989e1e2b1f31a50fe5f9d7272299ff0e8dbaa62d035f", size = 9972, upload-time = "2022-07-30T01:14:24.942Z" }, +] + +[[package]] +name = "sqlite-utils" +version = "3.38" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "click-default-group" }, + { name = "pluggy" }, + { name = "python-dateutil" }, + { name = "sqlite-fts4" }, + { name = "tabulate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/51/43/ce9183a21911e0b73248c8fb83f8b8038515cb80053912c2a009e9765564/sqlite_utils-3.38.tar.gz", hash = "sha256:1ae77b931384052205a15478d429464f6c67a3ac3b4eafd3c674ac900f623aab", size = 214449, upload-time = "2024-11-23T22:49:40.308Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/eb/f8e8e827805f810838efff3311cccd2601238c5fa3fc35c1f878709e161b/sqlite_utils-3.38-py3-none-any.whl", hash = "sha256:8a27441015c3b2ef475f555861f7a2592f73bc60d247af9803a11b65fc605bf9", size = 68183, upload-time = "2024-11-23T22:49:38.289Z" }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tinyhtml5" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/03/6111ed99e9bf7dfa1c30baeef0e0fb7e0bd387bd07f8e5b270776fe1de3f/tinyhtml5-2.0.0.tar.gz", hash = "sha256:086f998833da24c300c414d9fe81d9b368fd04cb9d2596a008421cbc705fcfcc", size = 179507, upload-time = "2024-10-29T15:37:14.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/de/27c57899297163a4a84104d5cec0af3b1ac5faf62f44667e506373c6b8ce/tinyhtml5-2.0.0-py3-none-any.whl", hash = "sha256:13683277c5b176d070f82d099d977194b7a1e26815b016114f581a74bbfbf47e", size = 39793, upload-time = "2024-10-29T15:37:11.743Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] + +[[package]] +name = "weasyprint" +version = "65.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "cssselect2" }, + { name = "fonttools", extra = ["woff"] }, + { name = "pillow" }, + { name = "pydyf" }, + { name = "pyphen" }, + { name = "tinycss2" }, + { name = "tinyhtml5" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/76/7f865f0019120be20276813097b5729b8487b93dd4aff339aa77ed8c7ad2/weasyprint-65.1.tar.gz", hash = "sha256:120281bdbd42ffaa7d7e5cedbe3182a2cef36ea5ad97fe9f357e43be6a1e58ea", size = 499028, upload-time = "2025-04-14T12:15:02.654Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/9a/14f4e5fd4bba988d3684602b72f04c0b299c0f368d26c11a79ceab97aa68/weasyprint-65.1-py3-none-any.whl", hash = "sha256:9baa54282dc86929f6b877034d06b0416e2a7cacb1af3f73d80960592fd0af89", size = 298040, upload-time = "2025-04-14T12:15:00.695Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, +] + +[[package]] +name = "zopfli" +version = "0.2.3.post1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/7c/a8f6696e694709e2abcbccd27d05ef761e9b6efae217e11d977471555b62/zopfli-0.2.3.post1.tar.gz", hash = "sha256:96484dc0f48be1c5d7ae9f38ed1ce41e3675fd506b27c11a6607f14b49101e99", size = 175629, upload-time = "2024-10-18T15:42:05.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/24/0e552e2efce9a20625b56e9609d1e33c2966be33fc008681121ec267daec/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecb7572df5372abce8073df078207d9d1749f20b8b136089916a4a0868d56051", size = 295485, upload-time = "2024-10-18T15:41:12.57Z" }, + { url = "https://files.pythonhosted.org/packages/08/83/b2564369fb98797a617fe2796097b1d719a4937234375757ad2a3febc04b/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1cf720896d2ce998bc8e051d4b4ce0d8bec007aab6243102e8e1d22a0b2fb3f", size = 163000, upload-time = "2024-10-18T15:41:13.743Z" }, + { url = "https://files.pythonhosted.org/packages/3c/55/81d419739c2aab35e19b58bce5498dcb58e6446e5eb69f2d3c748b1c9151/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aad740b4d4fcbaaae4887823925166ffd062db3b248b3f432198fc287381d1a", size = 823699, upload-time = "2024-10-18T15:41:14.874Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/89f07c8ea3c9bc64099b3461627b07a8384302235ee0f357eaa86f98f509/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6617fb10f9e4393b331941861d73afb119cd847e88e4974bdbe8068ceef3f73f", size = 826612, upload-time = "2024-10-18T15:41:16.069Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/46670fc0c7805d42bc89702440fa9b73491d68abbc39e28d687180755178/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a53b18797cdef27e019db595d66c4b077325afe2fd62145953275f53d84ce40c", size = 851148, upload-time = "2024-10-18T15:41:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/22/00/71ad39277bbb88f9fd20fb786bd3ff2ea4025c53b31652a0da796fb546cd/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b78008a69300d929ca2efeffec951b64a312e9a811e265ea4a907ab546d79fa6", size = 1754215, upload-time = "2024-10-18T15:41:18.661Z" }, + { url = "https://files.pythonhosted.org/packages/d0/4e/e542c508d20c3dfbef1b90fcf726f824f505e725747f777b0b7b7d1deb95/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa5f90d6298bda02a95bc8dc8c3c19004d5a4e44bda00b67ca7431d857b4b54", size = 1905988, upload-time = "2024-10-18T15:41:19.933Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a5/817ac1ecc888723e91dc172e8c6eeab9f48a1e52285803b965084e11bbd5/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2768c877f76c8a0e7519b1c86c93757f3c01492ddde55751e9988afb7eff64e1", size = 1835907, upload-time = "2024-10-18T15:41:21.582Z" }, + { url = "https://files.pythonhosted.org/packages/cd/35/2525f90c972d8aafc39784a8c00244eeee8e8221b26cbc576748ee9dc1cd/zopfli-0.2.3.post1-cp313-cp313-win32.whl", hash = "sha256:71390dbd3fbf6ebea9a5d85ffed8c26ee1453ee09248e9b88486e30e0397b775", size = 82742, upload-time = "2024-10-18T15:41:23.362Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c6/49b27570923956d52d37363e8f5df3a31a61bd7719bb8718527a9df3ae5f/zopfli-0.2.3.post1-cp313-cp313-win_amd64.whl", hash = "sha256:a86eb88e06bd87e1fff31dac878965c26b0c26db59ddcf78bb0379a954b120de", size = 99408, upload-time = "2024-10-18T15:41:24.377Z" }, +] diff --git a/users-events/Makefile b/users-events/Makefile new file mode 100644 index 0000000..b2a2b85 --- /dev/null +++ b/users-events/Makefile @@ -0,0 +1,5 @@ +build: + sam build --use-container + +deploy: build + sam deploy --debug \ No newline at end of file diff --git a/users-events/app/boto3clients.py b/users-events/app/boto3clients.py new file mode 100644 index 0000000..f23734d --- /dev/null +++ b/users-events/app/boto3clients.py @@ -0,0 +1,14 @@ +import os + +import boto3 + + +def get_dynamodb_client(): + if os.getenv('AWS_LAMBDA_FUNCTION_NAME'): + return boto3.client('dynamodb') + + return boto3.client('dynamodb', endpoint_url='http://127.0.0.1:8000') + + +dynamodb_client = get_dynamodb_client() +s3_client = boto3.client('s3') diff --git a/users-events/app/config.py b/users-events/app/config.py new file mode 100644 index 0000000..f988eaa --- /dev/null +++ b/users-events/app/config.py @@ -0,0 +1,4 @@ +import os + +USER_TABLE: str = os.getenv('USER_TABLE') # type: ignore +CHUNK_SIZE = 50 diff --git a/users-events/app/csv_utils.py b/users-events/app/csv_utils.py new file mode 100644 index 0000000..2caf51f --- /dev/null +++ b/users-events/app/csv_utils.py @@ -0,0 +1,83 @@ +import csv +from typing import TextIO + +from smart_open import open + + +def byte_ranges( + csvfile: str, + chunk_size: int = 100, + **kwargs, +) -> list[tuple[int, int]]: + """Compute byte ranges for reading a CSV file in fixed-size line chunks. + + Returns pairs (start_byte, end_byte) for each fixed-size group of lines. + + Parameters + ---------- + csvfile : str + Path to the CSV file, opened in binary mode internally. + chunk_size : int, optional + Number of lines per chunk. Default is 100. + **kwargs : + Extra options passed to `open()`, e.g., buffering. + + Returns + ------- + list of tuple[int, int] + Byte ranges covering each chunk of lines. + + Example + ------- + >>> byte_ranges("users.csv", chunk_size=500) + [(0, 3125), (3126, 6150), (6151, 9124)] + """ + line_offsets = [0] + + with open(csvfile, 'rb', **kwargs) as fp: + while True: + if not fp.readline(): + break + line_offsets.append(fp.tell()) + + total_lines = len(line_offsets) - 1 + byte_ranges = [] + + for start_line in range(1, total_lines + 1, chunk_size): + # Calculate the end line index, bounded by total lines + end_line = min(start_line + chunk_size - 1, total_lines) + # Get byte range for this chunk + start_byte = line_offsets[start_line - 1] + end_byte = line_offsets[end_line] - 1 + + byte_ranges.append((start_byte, end_byte)) + + return byte_ranges + + +def detect_delimiter(sample: TextIO) -> str: + """Detect the delimiter character used in a CSV file. + + Parameters + ---------- + sample : TextIO + A file-like object opened in text mode (e.g., from `open('file.csv')`). + Must be readable and at position 0. + + Returns + ------- + str + The detected delimiter character (e.g., ',', ';', '\\t'). + + Raises + ------ + csv.Error + If the file cannot be parsed as CSV or delimiter detection fails. + ValueError + If the file is empty or contains no detectable delimiter. + """ + sniffer = csv.Sniffer() + dialect = sniffer.sniff(sample.read()) + sample.seek(0) + + return dialect.delimiter diff --git a/users-events/app/events/__init__.py b/users-events/app/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/users-events/app/events/batch/__init__.py b/users-events/app/events/batch/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/users-events/app/events/batch/csv_into_chunks.py b/users-events/app/events/batch/csv_into_chunks.py new file mode 100644 index 0000000..7238378 --- /dev/null +++ b/users-events/app/events/batch/csv_into_chunks.py @@ -0,0 +1,20 @@ +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext + +from boto3clients import s3_client +from config import CHUNK_SIZE +from csv_utils import byte_ranges + +transport_params = {'client': s3_client} + + +@event_source(data_class=EventBridgeEvent) +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + csvfile = new_image['s3uri'] + pairs = byte_ranges(csvfile, CHUNK_SIZE, transport_params=transport_params) + + return True diff --git a/users-events/app/events/batch/excel_to_csv.py b/users-events/app/events/batch/excel_to_csv.py new file mode 100644 index 0000000..3fb9fb4 --- /dev/null +++ b/users-events/app/events/batch/excel_to_csv.py @@ -0,0 +1,14 @@ +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext + +from boto3clients import s3_client + +transport_params = {'client': s3_client} + + +@event_source(data_class=EventBridgeEvent) +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + return True diff --git a/users-events/app/events/batch/read_csv_chunk.py b/users-events/app/events/batch/read_csv_chunk.py new file mode 100644 index 0000000..d7657f1 --- /dev/null +++ b/users-events/app/events/batch/read_csv_chunk.py @@ -0,0 +1,55 @@ +import csv +from io import StringIO +from typing import TYPE_CHECKING + +from aws_lambda_powertools.utilities.data_classes import ( + EventBridgeEvent, + event_source, +) +from aws_lambda_powertools.utilities.typing import LambdaContext + +from boto3clients import s3_client + +if TYPE_CHECKING: + from mypy_boto3_s3.client import S3Client +else: + S3Client = object + +transport_params = {'client': s3_client} + + +@event_source(data_class=EventBridgeEvent) +def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool: + new_image = event.detail['new_image'] + csvfile = new_image['s3_uri'] + + data = _get_s3_object_range( + csvfile, + start_byte=new_image['start_byte'], + end_byte=new_image['end_byte'], + s3_client=s3_client, + ) + reader = csv.reader(data) + + for x in reader: + print(x) + + return True + + +def _get_s3_object_range( + s3_uri: str, + *, + start_byte: int, + end_byte: int, + s3_client: S3Client, +) -> StringIO: + bucket, key = s3_uri.replace('s3://', '').split('/', 1) + + response = s3_client.get_object( + Bucket=bucket, + Key=key, + Range=f'bytes={start_byte}-{end_byte}', + ) + + return StringIO(response['Body'].read().decode('utf-8')) diff --git a/users-events/app/events/email_receiving.py b/users-events/app/events/email_receiving.py new file mode 100644 index 0000000..ea6ebaf --- /dev/null +++ b/users-events/app/events/email_receiving.py @@ -0,0 +1,40 @@ +import urllib.parse as urllib_parse +from email.utils import parseaddr + +from aws_lambda_powertools import Logger +from aws_lambda_powertools.utilities.data_classes import SESEvent, event_source +from aws_lambda_powertools.utilities.typing import LambdaContext +from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair, SortKey + +from boto3clients import dynamodb_client +from config import USER_TABLE +from ses_utils import get_header_value + +logger = Logger(__name__) +user_layer = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client) + + +@logger.inject_lambda_context +@event_source(data_class=SESEvent) +def lambda_handler(event: SESEvent, context: LambdaContext) -> dict: + ses = event.record.ses + to = urllib_parse.unquote(ses.receipt.recipients[0]).lower() + name, email_from = parseaddr(get_header_value(ses.mail.headers, 'from')) + + org_id = user_layer.collection.get_item( + KeyPair('email', SortKey(to, path_spec='user_id')), + raise_on_error=False, + default={}, + ) + + if not org_id: + return {'disposition': 'STOP_RULE_SET'} + + print( + { + 'id': f'mailbox#{org_id}', + 'sk': ses.mail.message_id, + } + ) + + return {'disposition': 'CONTINUE'} diff --git a/users-events/app/ses_utils.py b/users-events/app/ses_utils.py new file mode 100644 index 0000000..04a6580 --- /dev/null +++ b/users-events/app/ses_utils.py @@ -0,0 +1,20 @@ +from typing import Any, Iterator + +from aws_lambda_powertools.utilities.data_classes.ses_event import SESMailHeader + + +def get_header_value( + headers: Iterator[SESMailHeader], + header_name: str, + *, + default: Any = None, + raise_on_missing: bool = True, +) -> str: + for header in headers: + if header.name.lower() == header_name: + return header.value + + if raise_on_missing: + raise ValueError(f'{header_name} not found.') + + return default diff --git a/users-events/cf.py b/users-events/cf.py new file mode 100644 index 0000000..d2d8e64 --- /dev/null +++ b/users-events/cf.py @@ -0,0 +1,62 @@ +# /// script +# dependencies = [ +# "cloudflare" +# ] +# /// + +from cloudflare import Cloudflare + +CLOUDFLARE_ACCOUNT_ID = '5436b62470020c04b434ad31c3e4cf4e' +CLOUDFLARE_API_TOKEN = 'gFndkBJCzH4pRX7mKXokdWfw1xhm8-9FHfvLfhwa' + + +client = Cloudflare(api_token=CLOUDFLARE_API_TOKEN) + +assistant = """ +You are a data analysis assistant specialized in identifying Brazilian +personal data from CSV files. + +These CSV files may or may not include headers. + +Your task is to analyze the content and identify only three possible +data types: 'name', 'cpf', and 'email'. + +Ignore all other fields. +""" + +csv_content = """ +,RICARDO GALLES BONET,ricardo.bonet@fanucamerica.com,424.430.528-93,NR-10 (RECICLAGEM) +,RULIO SIEFERT SERA,rulio.sera@fanucamerica.com,063.916.859-08,NR-10 (RECICLAGEM) +,MACIEL FERREIRA BOMFIM,maciel.bomfim@fanucamerica.com,334.547.088-85,NR-10 (RECICLAGEM) +,JAIME EDUARDO GALVEZ AVILES,jaime.galvez@fanucamerica.com,280.238.818-50,NR-12 +,JAIME EDUARDO GALVEZ AVILES,jaime.galvez@fanucamerica.com,280.238.818-50,NR-35 (RECICLAGEM) +,HIGOR MACHADO SILVA,higor.silva@fanucamerica.com,419.879.878-88,NR-12 +,LÁZARO SOUZA DIAS,lazaro.dias@fanucamerica.com,067.179.825-19,NR-12 +,JOÃO PEDRO AGUIAR GALASSO,joao.pedro@fanucamerica.com,570.403.588-40,NR-12 +""" + +prompt = f""" +Here is a CSV sample: + +{csv_content} + +Your task is to: +- Detect which columns most likely contain "name", "cpf", or "email". +- Skip any category that is not present in the data. +- Return ONLY a valid Python list of tuples, like: +[('name', index), ('cpf', index), ('email', index)] +- Use the column index that most likely matches each data type, +based on frequency and data format. +- Don't include explanations, code, or any additional text. +""" + +r = client.ai.run( + model_name='@cf/meta/llama-3-8b-instruct', + account_id=CLOUDFLARE_ACCOUNT_ID, + messages=[ + {'role': 'system', 'content': assistant}, + {'role': 'user', 'content': prompt}, + ], +) + +print(r) diff --git a/users-events/pyproject.toml b/users-events/pyproject.toml new file mode 100644 index 0000000..a1c976a --- /dev/null +++ b/users-events/pyproject.toml @@ -0,0 +1,33 @@ +[project] +name = "users-events" +version = "0.1.0" +description = "" +readme = "" +requires-python = ">=3.13" +dependencies = ["layercake"] + +[dependency-groups] +dev = [ + "boto3-stubs[essential]>=1.38.26", + "jsonlines>=4.0.0", + "pytest>=8.3.4", + "pytest-cov>=6.0.0", + "ruff>=0.9.1", +] + +[tool.pytest.ini_options] +pythonpath = ["app/"] +addopts = "--cov --cov-report html -v" + +[tool.ruff] +target-version = "py311" +src = ["app"] + +[tool.ruff.format] +quote-style = "single" + +[tool.ruff.lint] +select = ["E", "F", "I"] + +[tool.uv.sources] +layercake = { path = "../layercake" } diff --git a/users-events/pyrightconfig.json b/users-events/pyrightconfig.json new file mode 100644 index 0000000..78cdf4e --- /dev/null +++ b/users-events/pyrightconfig.json @@ -0,0 +1,3 @@ +{ + "extraPaths": ["app/"] +} diff --git a/users-events/samconfig.toml b/users-events/samconfig.toml new file mode 100644 index 0000000..c1a37e9 --- /dev/null +++ b/users-events/samconfig.toml @@ -0,0 +1,9 @@ +version = 0.1 +[default.deploy.parameters] +stack_name = "saladeaula-users-events" +resolve_s3 = true +s3_prefix = "users-events" +region = "sa-east-1" +confirm_changeset = false +capabilities = "CAPABILITY_IAM" +image_repositories = [] \ No newline at end of file diff --git a/users-events/template.yaml b/users-events/template.yaml new file mode 100644 index 0000000..ab654fb --- /dev/null +++ b/users-events/template.yaml @@ -0,0 +1,114 @@ +AWSTemplateFormatVersion: 2010-09-09 +Transform: AWS::Serverless-2016-10-31 + +Parameters: + BucketName: + Type: String + Default: saladeaula.digital + UserTable: + Type: String + Default: betaeducacao-prod-users_d2o3r5gmm4it7j + +Globals: + Function: + CodeUri: app/ + Runtime: python3.13 + Tracing: Active + Architectures: + - x86_64 + Layers: + - !Sub arn:aws:lambda:sa-east-1:336641857101:layer:layercake:78 + Environment: + Variables: + TZ: America/Sao_Paulo + LOG_LEVEL: DEBUG + DYNAMODB_PARTITION_KEY: id + POWERTOOLS_LOGGER_SAMPLE_RATE: 0.1 + POWERTOOLS_LOGGER_LOG_EVENT: true + USER_TABLE: !Ref UserTable + +Resources: + EventLog: + Type: AWS::Logs::LogGroup + Properties: + RetentionInDays: 90 + + EventCsvChunksFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.batch.csv_chunks.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - S3CrudPolicy: + BucketName: !Ref BucketName + Events: + DynamoDBEvent: + Type: EventBridgeRule + Properties: + Pattern: + resources: [betaeducacao-prod-users_d2o3r5gmm4it7j] + detail: + new_image: + sk: + - prefix: batch_jobs# + + EventEmailReceivingFunction: + Type: AWS::Serverless::Function + Properties: + Handler: events.email_receiving.lambda_handler + LoggingConfig: + LogGroup: !Ref EventLog + Policies: + - DynamoDBCrudPolicy: + TableName: !Ref UserTable + + LambdaInvokePermission: + Type: AWS::Lambda::Permission + Properties: + FunctionName: !GetAtt EventEmailReceivingFunction.Arn + Action: lambda:InvokeFunction + Principal: ses.amazonaws.com + SourceArn: !Sub arn:aws:ses:${AWS::Region}:${AWS::AccountId}:receipt-rule-set/* + + BucketPolicy: + Type: AWS::S3::BucketPolicy + Properties: + Bucket: !Ref BucketName + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Principal: + Service: ses.amazonaws.com + Action: s3:PutObject + Resource: !Sub arn:aws:s3:::${BucketName}/* + Condition: + StringEquals: + aws:SourceAccount: !Ref AWS::AccountId + StringLike: + aws:SourceArn: !Sub arn:aws:ses:${AWS::Region}:${AWS::AccountId}:receipt-rule-set/* + + EmailReceiptRuleSet: + Type: AWS::SES::ReceiptRuleSet + Properties: + RuleSetName: users.noreply.saladeaula.digital + + EmailReceiptRule: + Type: AWS::SES::ReceiptRule + DependsOn: + - LambdaInvokePermission + - BucketPolicy + Properties: + RuleSetName: !Ref EmailReceiptRuleSet + Rule: + Name: lambda + Enabled: true + Actions: + - LambdaAction: + FunctionArn: !GetAtt EventEmailReceivingFunction.Arn + InvocationType: RequestResponse + - S3Action: + BucketName: !Ref BucketName + ObjectKeyPrefix: "mailbox" + ScanEnabled: true diff --git a/users-events/tests/__init__.py b/users-events/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/users-events/tests/conftest.py b/users-events/tests/conftest.py new file mode 100644 index 0000000..f02c5b5 --- /dev/null +++ b/users-events/tests/conftest.py @@ -0,0 +1,69 @@ +import os +from dataclasses import dataclass + +import jsonlines +import pytest + +PYTEST_TABLE_NAME = 'pytest' +PK = 'id' +SK = 'sk' + + +# https://docs.pytest.org/en/7.1.x/reference/reference.html#pytest.hookspec.pytest_configure +def pytest_configure(): + os.environ['TZ'] = 'America/Sao_Paulo' + os.environ['DYNAMODB_PARTITION_KEY'] = PK + os.environ['DYNAMODB_SORT_KEY'] = SK + os.environ['USER_TABLE'] = PYTEST_TABLE_NAME + + +@dataclass +class LambdaContext: + function_name: str = 'test' + memory_limit_in_mb: int = 128 + invoked_function_arn: str = 'arn:aws:lambda:eu-west-1:809313241:function:test' + aws_request_id: str = '52fdfc07-2182-154f-163f-5f0f9a621d72' + + +@pytest.fixture +def lambda_context() -> LambdaContext: + return LambdaContext() + + +@pytest.fixture +def dynamodb_client(): + from boto3clients import dynamodb_client as client + + client.create_table( + AttributeDefinitions=[ + {'AttributeName': PK, 'AttributeType': 'S'}, + {'AttributeName': SK, 'AttributeType': 'S'}, + ], + TableName=PYTEST_TABLE_NAME, + KeySchema=[ + {'AttributeName': PK, 'KeyType': 'HASH'}, + {'AttributeName': SK, 'KeyType': 'RANGE'}, + ], + ProvisionedThroughput={ + 'ReadCapacityUnits': 123, + 'WriteCapacityUnits': 123, + }, + ) + + yield client + + client.delete_table(TableName=PYTEST_TABLE_NAME) + + +@pytest.fixture() +def dynamodb_persistence_layer(dynamodb_client): + from layercake.dynamodb import DynamoDBPersistenceLayer + + return DynamoDBPersistenceLayer(PYTEST_TABLE_NAME, dynamodb_client) + + +@pytest.fixture() +def dynamodb_seeds(dynamodb_client): + with jsonlines.open('tests/seeds.jsonl') as lines: + for line in lines: + dynamodb_client.put_item(TableName=PYTEST_TABLE_NAME, Item=line) diff --git a/users-events/tests/events/__init__.py b/users-events/tests/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/users-events/tests/events/batch/test_csv_into_chunks.py b/users-events/tests/events/batch/test_csv_into_chunks.py new file mode 100644 index 0000000..b90f4ff --- /dev/null +++ b/users-events/tests/events/batch/test_csv_into_chunks.py @@ -0,0 +1,13 @@ +import events.batch.csv_into_chunks as app + + +def test_chunk_csv(lambda_context): + event = { + 'detail': { + 'new_image': { + 's3uri': 's3://saladeaula.digital/samples/large_users.csv', + }, + }, + } + + app.lambda_handler(event, lambda_context) # type: ignore diff --git a/users-events/tests/events/test_email_receiving.py b/users-events/tests/events/test_email_receiving.py new file mode 100644 index 0000000..2b45b0e --- /dev/null +++ b/users-events/tests/events/test_email_receiving.py @@ -0,0 +1,136 @@ +from aws_lambda_powertools.utilities.typing import LambdaContext + +import events.email_receiving as app + +event = { + 'Records': [ + { + 'eventSource': 'aws:ses', + 'eventVersion': '1.0', + 'ses': { + 'mail': { + 'timestamp': '2025-05-29T15:50:41.604Z', + 'source': 'sergio@somosbeta.com.br', + 'messageId': '2994higq3tr7efijr3lj65etntffapgg1q7hea81', + 'destination': [ + 'org+15608435000190@users.noreply.saladeaula.digital' + ], + 'headersTruncated': False, + 'headers': [ + {'name': 'Return-Path', 'value': ''}, + { + 'name': 'Received', + 'value': 'from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by inbound-smtp.sa-east-1.amazonaws.com with SMTP id 2994higq3tr7efijr3lj65etntffapgg1q7hea81 for org+35980592000130@users.noreply.saladeaula.digital; Thu, 29 May 2025 15:50:41 +0000 (UTC)', + }, + {'name': 'X-SES-Spam-Verdict', 'value': 'PASS'}, + {'name': 'X-SES-Virus-Verdict', 'value': 'PASS'}, + { + 'name': 'Received-SPF', + 'value': 'pass (spfCheck: domain of somosbeta.com.br designates 209.85.167.54 as permitted sender) client-ip=209.85.167.54; envelope-from=sergio@somosbeta.com.br; helo=mail-lf1-f54.google.com;', + }, + { + 'name': 'Authentication-Results', + 'value': 'amazonses.com; spf=pass (spfCheck: domain of somosbeta.com.br designates 209.85.167.54 as permitted sender) client-ip=209.85.167.54; envelope-from=sergio@somosbeta.com.br; helo=mail-lf1-f54.google.com; dkim=pass header.i=@somosbeta.com.br; dmarc=none header.from=somosbeta.com.br;', + }, + { + 'name': 'X-SES-RECEIPT', + 'value': 'AEFBQUFBQUFBQUFHVWpuODdPY2tGUlordE5YWkVEUlZNWWZFYkpDMU5MUURyaHNVSldnTGhEVWhCQzd5UGpzWHI4LzJoS1VaN0lOU0FkMzJFU0h6MjVuUzk2c09KUXlzbUJQdHd6T0d0Y2ptZXhRVk1KY3RkOXpRamZMb3hwSGJIVlFla2tBcmZvRmYwQS9WU3hBVlBqcUpDYm00eTdiRnRqNW45ek9ld0ZyTGJKV3k2TXRpc0J6aGhBdmFvZDFDQ000Zm9QTng3VHljNXArM0hjT2ZsYkhtM3RCZnpRV1NOczU2RDdmL0RKclJOcDNvY2ZxV1hmajNYMkczVHpsWEZCMm40Z2pQM29udkMyb01vN3JwU0p2TUI1WGorN2JPd2RPYW5lUDN3T3RMRlhsdEpGbGNCa3c9PQ==', + }, + { + 'name': 'X-SES-DKIM-SIGNATURE', + 'value': 'a=rsa-sha256; q=dns/txt; b=KPtFiBwsOTBl1YVLRTSfaZ+X6h7uSSOu/i1Cw6Pd+wvMBHRWy9EYcWUjyDjsLG/uYHShLW4+LHsSg9HiqrAP2jVJSAawrIwZr1wPQo7ovQvWuZfHQN/StgXIgBU+L7Bp6GSR26LRufxjj7q9YBmEeirjJ3d0G8E/rF2QqeITlpo=; c=relaxed/simple; s=bm3ypaoivbtdzmy3b6w37fzb5voa2uru; d=amazonses.com; t=1748533842; v=1; bh=kTUCV1DQAazu4FsUi1MrelD2QvSfHGArZ/c6A79t3/E=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT;', + }, + { + 'name': 'Received', + 'value': 'by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-54b0d638e86so1570269e87.1 for ; Thu, 29 May 2025 08:50:40 -0700 (PDT)', + }, + { + 'name': 'DKIM-Signature', + 'value': 'v=1; a=rsa-sha256; c=relaxed/relaxed; d=somosbeta.com.br; s=google; t=1748533838; x=1749138638; darn=users.noreply.saladeaula.digital; h=to:subject:message-id:date:from:in-reply-to:references:mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kTUCV1DQAazu4FsUi1MrelD2QvSfHGArZ/c6A79t3/E=; b=Qi8gk/kTpwXCLDM7FPS7ULTy+9gO/4WsGL9zY1xEDw0Rp38f4rVR8L95hIhwK2daA27mq3pv9TdrK3XKQQIuSvRVvaM0b/evkZD8QhaT9tCmL0eKEBB4czGB0OSS3Q4qP34GFWMmXIaxoKIo1td76JnXbto9ZQvjUTBr3GGlF3Lm/MPTaAHs1b3dalv2diTvyj1tzoeb4wGePKsqLh5LKGOxbbWsxPeHEJ8sLM4LyJjxoqSOO0wgKdH5S/ZNpHWcJtXBntjiDUZNeQ5ucEn8ZLbADCObZZV/gH9i/cB1BmlSvJP3D07uJTAEBqyepd+W9fIW2mox/+fmOb3OEHRthQ==', + }, + { + 'name': 'X-Google-DKIM-Signature', + 'value': 'v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748533838; x=1749138638; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kTUCV1DQAazu4FsUi1MrelD2QvSfHGArZ/c6A79t3/E=; b=UnL/uRXRahnH5uStZ276LH4kqpHigngw4iql9GHKmFaIKxJ8hLGn/wu7ie4ljnw8m/ I4CvhDKH4TVtIWPS81fm06PMgeqQYRX3jLhHvIltROCNVX6ZFzbAXgiAlk0NS1npvDYJ evVgSaPPco4D/8pMWZX4fUjU+8me32ChKxHsklEAts/LiD+MvTuHCHZovSEj1aXAz91b yGZe1bx2+phuqzUZyIOeheKjl4TNjEBx83omOzf9HtClKhjzCwHjfZ8uk2lhJ10ogKZ0 GNQ5OlnPkgdAg0/+HsifvGR6xfkFsiunIDyinBWoOhMU1o0+DiicxOIjY8QEayF3MLUt REoA==', + }, + { + 'name': 'X-Gm-Message-State', + 'value': 'AOJu0Yxw0icQkFV090vn5hx/hKp0ePH78Wr0iqi4V3x4mpVXrRX8te2o 30aBYeZRPwn8SRSrq/kbn4bLcs5mPDB+iRP9IGFxS7KLSQi+KG4PQeDHyW3R/AgOPHACUUXUUyz Vcwny029WGY5PVhxlikAYdDfhNdO8GM2DKMV1+Oxy/a+qmt5LZeuy', + }, + { + 'name': 'X-Gm-Gg', + 'value': 'ASbGncslCMPPU/pax0+RNy/cQR/Y/wUroSJMvI2DCCMq6Qld+Ih1jG4+HnhQPqn3nTK EEW6/99tqazq+SKy+31AB77ajVczvJQTElRSW/+bhd42l7by2hicTKElcR3GWivlrqd1TywUZOB DkB9J/vupSV0PDCJfZVi+7Tb9Pb61nnxaU+SQ=', + }, + { + 'name': 'X-Google-Smtp-Source', + 'value': 'AGHT+IFYi41KmJjGcfQmUvWJDdTAzGIv2JlL9XAwBpAb53mMOOm3tttzkhbvfuiKh/DI9NjITHuO3xuEPqnPI9lpum8=', + }, + { + 'name': 'X-Received', + 'value': 'by 2002:a05:6512:1392:b0:553:2f61:58f1 with SMTP id 2adb3069b0e04-5532f615a8dmr2268707e87.53.1748533837647; Thu, 29 May 2025 08:50:37 -0700 (PDT)', + }, + {'name': 'MIME-Version', 'value': '1.0'}, + { + 'name': 'References', + 'value': '', + }, + { + 'name': 'In-Reply-To', + 'value': '', + }, + { + 'name': 'From', + 'value': 'Sérgio Rafael Siqueira ', + }, + {'name': 'Date', 'value': 'Thu, 29 May 2025 12:50:26 -0300'}, + { + 'name': 'X-Gm-Features', + 'value': 'AX0GCFvofROqzf21KTgiIJq_AULCNljEuNFUJBk2xQGwVKmPjim_4slYIOP0WRw', + }, + { + 'name': 'Message-ID', + 'value': '', + }, + {'name': 'Subject', 'value': 'Re: test'}, + { + 'name': 'To', + 'value': 'org+15608435000190@users.noreply.saladeaula.digital', + }, + { + 'name': 'Content-Type', + 'value': 'multipart/alternative; boundary="00000000000045b8c206364842b3"', + }, + ], + 'commonHeaders': { + 'returnPath': 'sergio@somosbeta.com.br', + 'from': ['"Sérgio Rafael Siqueira" '], + 'date': 'Thu, 29 May 2025 12:50:26 -0300', + 'to': ['org+15608435000190@users.noreply.saladeaula.digital'], + 'messageId': '', + 'subject': 'Re: test', + }, + }, + 'receipt': { + 'timestamp': '2025-05-29T15:50:41.604Z', + 'processingTimeMillis': 1105, + 'recipients': [ + 'org+15608435000190@users.noreply.saladeaula.digital' + ], + 'spamVerdict': {'status': 'PASS'}, + 'virusVerdict': {'status': 'PASS'}, + 'spfVerdict': {'status': 'PASS'}, + 'dkimVerdict': {'status': 'PASS'}, + 'dmarcVerdict': {'status': 'GRAY'}, + 'action': { + 'type': 'Lambda', + 'functionArn': 'arn:aws:lambda:sa-east-1:336641857101:function:saladeaula-user-managemen-EventEmailReceivingFunct-LmnnEfi9tL2O', + 'invocationType': 'Event', + }, + }, + }, + } + ] +} + + +def test_email_receiving(dynamodb_seeds, lambda_context: LambdaContext): + assert app.lambda_handler(event, lambda_context) == {'disposition': 'CONTINUE'} diff --git a/users-events/tests/samples/large_users.csv b/users-events/tests/samples/large_users.csv new file mode 100644 index 0000000..57fbc4e --- /dev/null +++ b/users-events/tests/samples/large_users.csv @@ -0,0 +1,3286 @@ +Fernanda Lopes,freitasstella@uol.com.br,Beta Educação Principal,1 +Poliana Oliveira,poliana@aes.com.br,AeS Sistemas de Controles Especiais de Veículos e Pessoas Ltda,1 +Diane Sordi,engenharia.seguranca@languiru.com.br,Cooperativa Languiru,1 +Maria Gabriela,letssave@letssave.com.br,Let's Save,0 +Paulo Cesar,pcsbarbosa@hotmail.com,Paulo César Soares Barbosa,1 +Eter Transportes E Serviços Ltda,contato@eterr.com.br,Eter Transportes e serviços Ltda.,1 +Gabriel Geraldo Dosval,ggd.transportes@gmail.com,GGD TRANSPORTES,1 +Jose Ricardo Ferreira Jr.,ricardo@speedservicos.com.br,Speed Servicos Industriais Ltda,1 +Joao Carlos De Souza Ribeiro,joaocarlosribeiro2@gmail.com,JOAO CARLOS DE SOUZA RIBEIRO,1 +Elvis Tony,elvistonydepadua@hotmail.com,Pádua ltda,1 +Angela Andreatta,rh@sosmerces.com.br,Andreatta e Filho Ltda,1 +Sandro Fernandes,emporiorac@gmail.com,Empório da Eletriciade,1 +Ebson Da Silva Santos,ebson@projeville.com.br,PROJEVILLE SERVICOS LTDA ­ EPP,1 +Juliana Carvalho Cunha,kade.juju@hotmail.com,Orsine e Souza Telecomunicações Ltda ME,1 +Hailton Silva,contato@thdgroup.com.br,THD GROUP,1 +Juliano Costa Nobre,contato@costanobreengenharia.com.br,Costanobre Engenharia Ltda,1 +Edinor Koch,edinorkoch@terra.com.br,MAZP Energias Renovaveis LTDA,1 +Rebeca Candemil Haack,contato@conceptsom.com.br,Concept Som,0 +Aparecido Reis Barbosa,aparereis.ar@gmail.com,Reclimantec - Refrigeração Climatização e ManutençãO Técnica,1 +Edson Utpadel,edsonsni@gmail.com,SESMT ASSESSORIA & CONSULTORIA DO TRABALHO,1 +Deyrilucy Ferreira,deyrisattva@yahoo.com.br,Sattva Medical Center,1 +Adriana Pedroso,dricapedroso5@hotmail.com.br,MABDRICA,1 +Leandro Suhett,marcusvinisc@gmail.com,lli serralheria,1 +Renan Luiz Martins Teodoro,renanluiz@lumar-ar.com.br,Lumar Ar Condicionado,1 +Denis Budag - Pf,denis@solucao.digital,Solucão Digital,1 +Junio Cesar Ferreira Anezio,masegconsultoria@gmail.com,MASEG CONSULTORIA,1 +Vinicius Ferreira Tiago,tstvinicius.tiago@gmail.com,SPM RESENDE INDUSTRIA E COMERCIO EIRELI - EPP,1 +Wellington Ferreira Dos Santos,wellington.santos@motrisa.com.br,Moinho de Trigo Indígena S.A,1 +Simone Das Neves Faria Montevechio De Paiva,simonyfaria28@hotmail.com,POSTO MONTEVECHIO LTDA EPP,1 +Rodrigo Bertoncello,aircello@aircello.com.br,aircello Comercio e Serviços em Climatização Ltda,0 +Nivaldo Freitas Borges,cimaqfinanceiro@hotmail.com,vilela e vilela parafusos,1 +Paulo Amaral,styleglass.adm@gmail.com,Style Glass,1 +Carla Priscila G.,carla@dbug.com.br,Hoinaski & Sklasky Ltda - ME,1 +Jaqueline Elias Jaques De Souza,jaqueline.e.souza@fiesc.com.br,SENAI/SC Tubarão,1 +Patricia Laurenti,patricia_laurenti@br.ajinomoto.com,Ajinomoto,1 +Sidivan Piva,contato@sipagro.com.br,Rachel Gris,1 +"Domingos Fatobene Jr,",falecom@visualpoint.com.br,Fatto's Sign Comunicação Visual Ltdas ME,1 +Ana Kelly Da Silva,kelly.silva@inovaenergy.com.br,Inova Energy Engenharia Ltda,1 +Marcelo Vanni,marcelovanni68@gmail.com,m.a vanni serviços gerais me,1 +Juliana Andretta,juliana@xproject.com.br,X-PROJECT SOLUÇÕES EM TECNOLOGIA LTDA,1 +Claudia Garrutti Teruel Da Silva Dias,claudia.dias@imagenscuiaba.com.br,Imagens Medicina Diagnóstica,1 +Vinicius Ferreira Tiago,vinicius.ferreira@spmresende.com.br,PCB SOLDAGENS AUTOMOTIVAS LTDA.,1 +Adilson Pinheiro Pinto,adilson.pinheiro@wortex.com.br,WORTEX MAQUINAS E EQUIPAMENTOS,1 +Emerson Fernando da Silva Antonio,emerson.antonio@basf.com,BASF SA - Guaratinguetá,1 +Autopetro Petroleo E Gas Ltda,lucianacavalcanti27@gmail.com,AutoPetro Petroleo e Gas LTDA,1 +Talita Ponce Leiras,talita.leiras@parmais.com.br,PAR ADMINISTRAÇÃO DE VALORES IMOBILIÁRIOS - ME,1 +Carmelita Forbici,kira-f1@hotmail.com,carmelita forbici,1 +Eduardo Barbosa,kolbebarbosa@gmail.com,Kolbe Barbosa Patrimonial Ltda,1 +Euclides Neto Viana Da Silva,kvarengenharia@hotmail.com,kVAr Automattic,1 +Cleto Carioni,financeiro@radiotec-sc.com.br,CLETO CARIONI ME,1 +José Carlos Martins,smartinstec@gmail.com,SMARTINS & PIRES COMÉRCIO E REPRESENTAÇÃO LTDA.,1 +Fabrício K. Dornelles,fabricio.dornelles@cotica.com.br,Cótica Engenharia e Construções Ltda,1 +Vanessa Nascimento,dat.rj1@ecomed.com.br,Ecomed Comércio de Produtos Médicos Ltda,1 +Socorro Gomes,mg.cabral@bol.com.br,Om & cia eireli - epp,1 +Fernando Ribeiro Da Silva,multitecfernando@yahoo.com.br,MULTITEC TELEINFORMÁTICA,1 +Marcelo Bertacini,rh@amchidraulica.com.br,HIDRAUSERV COMÉRCIO DE EQUIPAMENTOS INDUSTRIAIS LTDA,1 +CAROLLYNA SANTOS WENZEL DE PAULA CASIMIRO,carollyna.paula@omegaenergia.com.br,Omega Energia DEFINITIVO,1 +Ramon Silton Silva Oliveira,ramon.oliveira@omegaenergia.com.br,Omega Energia DEFINITIVO,1 +G&P,gestao@omegaenergia.com.br,Omega Energia DEFINITIVO,1 +Ana Araújo,karina.araujo@omegaenergia.com.br,Omega Energia DEFINITIVO,1 +Márcio Henrique Ferreira de Macedo,marcio.macedo@omegaenergia.com.br,Omega Energia DEFINITIVO,1 +Vanessa Fernandes,vanessa@cmvvalvulas.com,CMVI Comercio e Manutenção de Válvulas e Instrumentos Industriais Ltda,1 +Ivan Antonio,postokretzer@hotmail.com,AUTO POSTO KRETZER LTDA,1 +Eduardo De Carvalho Crenn,eduardo.crenn@pocagua.com.br,POCAGUA POCOS ARTESIANOS LTDA,1 +Paulo Camargo,operacional@laborebr.com.br,LABORE,1 +Vivian Lemes Viaro,vivian.lemes@alatur.com,Alatur JTB Viagens e Turismo SA,0 +Wilson Roberto Fernandes,beto.fernandes@w3serigrafica.com.br,W. Fernandes Silk Screen Ltda.,1 +Crisonélia De Sousa Alves,cris.costa@atostelecom.com,ATHOS SERVIÇOS ELETRICOS E TELECOMUNICAÇÕES LTDA,1 +Carlos Alberto Lima Da Silva,c.albrtolima72@gmail.com,ELETRICAR SERVIÇOS ELETRICOS,1 +Micael Salvador Bortolozo,micael.bortolozo@telasul.com.br,Telasul Indústria de Móveis Ltda,1 +Marcella Molliny Lasalvia Da Silva,comercial@ebussola.com.br,Bussola Comercio e Serviços LTDA,1 +Jaqueline Alves Da Silva,jaquelinea_2010@hotmail.com,c.c.c. de morais e cia ltda,1 +Shirley Tardivel,stardivel@grupopetropolis.com.br,Grupo Petrópolis,1 +Juliana Noronha,juliananoronha@kofre.com.br,Kofre Telecomunicações,1 +Rafaela Duarte,rafaeladuarte@kofre.com.br,Kofre Telecomunicações,1 +Leandro Barbosa Dorea,leandrodorea@kofre.com.br,Kofre Telecomunicações,1 +REJANE ARAUJO DA SILVA,rejanesilva@kofre.com.br,Kofre Telecomunicações,1 +LEANDRO BARBOSA DOREA,caiosilva@kofre.com.br,Kofre Telecomunicações,1 +Patricia Vitelles Da Silva,vendas1@supertoolsresende.com.br,SUPERTOOLS COMERCIO DE FERRAMENTAS E ACESSORIOS EIRELI ME,0 +Desenvolvimento Humano,dh@cordeiroguindastes.com.br,Cordeiro Guindastes,1 +Sidney Pereira Reis,tecnoeletroautomacao@gmail.com,Tecnoeletro Automação Ltda.,1 +Danilo Silva Lopes,compras@advanta.com.br,Advanta Sistemas de Telecom. e Serviço de Informática Ltda.,1 +André Dias De Oliveira,engepro-construcoes@outlook.com,SANDRA MARIA DE SOUZA DIAS - ME,1 +Sandro Silva,sandro@fqlsolution.com,FQL,1 +Marcelo De Almeida Nobile,marcelo@sisejufe.org.br,Empresa: Sindicato dos Servidores das Justiças Federais no Estado do Rio de Janeiro - SISEJUFE,1 +Frederico De Oliveira Assunção,frederico.assuncao@findingti.com.br,Finding Tecnologias Inteligentes,1 +Claudiana Rodrigues,claudianar1@grpcom.com.br,TV Oeste do Paraná Ltda.,1 +Bruno Rodrigo De Lima,blima@argosgps.com,Argos Global Partner Services,1 +Clayton Luiz Pegorari,energy.power@outlook.com,Energy Power Elétrica e Automação,1 +Délcio Daniel,mariopinho.20@hotmail.com,Montarinox,1 +Vivian Ferreira,vferreira1@cvh.com.br,Cooperrativa Veiling Holambra,1 +Viviane Taiz Passold Mereles,viviane@alaseguros.com.br,Ala Serviços Administrativos Ltda,1 +Tarsis Costa Lima,tarsislim@gmail.com,TAR & CEL - O BOTICÁRIO,1 +Erivan Nonato Dos Santos,gmavalvulas.servicos@bol.com.br,GMA COMERCIO E SERVIÇOS,1 +Camila Silva Rocha,crsilva@alliedbrasil.com.br,Allied,1 +Veronica Pereira De Oliveira,veronica.oliveira@cetrel.com.br,CETREL S.A,1 +Barbara Stella Lima Gomes,barbara@cetrel.com.br,CETREL S.A,1 +ABDON LIMA GOES NETO,abdon.neto@cetrel.com.br,CETREL S.A,1 +Andresa Maciel Oliveira,andresaoliveira@grupoparc.com.br,CETREL S.A,1 +Ana Rita da Hora Reis,anareis@cetrel.com.br,CETREL S.A,1 +ROSELY CARVALHO DOS SANTOS,roselysantos@cetrel.com.br,CETREL S.A,1 +Rafael Pereira da Silva,rafaelpsilva@cetrel.com.br,CETREL S.A,1 +Treinamentos CETREL,treinamentosqssma@cetrel.com.br,CETREL S.A,1 +Apoio CETREL,apoioadministrativo@cetrel.com.br,CETREL S.A,1 +Sheila Rodrigues,asst@asst.com.br,ASST,1 +Walde Ferreira Sobrinho,contato@lagosservicos.com.br,Lagos Serviços de Telecomunicações,1 +Felipe Ferreira,prjcomercio@gmail.com,Projeta,1 +Fabrivcio Carneiro Nunes,fas_manutec@hotmail.com.br,F.A.S. Manutec,1 +Maria Nascimento,maria.nascimento@stemac.com.br,Stemac,1 +Carlos Magno Da Silva,carlos.magno@ferreiraesilvamontagens.com,Ferreira & Silva Montagens,0 +Fatima Ganzer,centrofaza@hotmail.com.br,FAZA CENTRO INTEGRADO DE SAÚDE,1 +Ricardo Arcari,socioambiental@socioambiental.com.br,Socioambiental Consultores Associados Ltda.,1 +Luana Velho,compras@presticominstalacao.com.br,Presticom Presticom Prestações e Serviços e Comércio,1 +Lauro Enaldo Silva Santos,lls.manutencao@hotmail.com,LLSANTOS,1 +Rosemeire Silva,scaff@scaff-andaimes.com.br,Locap Andaimes,1 +Robson Verissimo De Souza,fiscal@accept.com.br,ACC BRASIL INDUSTRIA E COMERCIO DE COMPUTADORES LTDA,1 +Pedro Ribeiro Tavares De Lira Junior,digicontrol@hotmail.com,Digicontrol,1 +Nerci Jose Dos Santos,nerci.santos@fortpar.com.br,FORTPAR PROJETOS E SERVICOS DE ENGENHARIA LTDA - ME,1 +ROSELY CARVALHO DOS SANTOS,roselysantos@cetrel.com.br,GRÊMIO RECREATIVO DOS EMPREGADOS DA CETREL GRECE,1 +Leonardo Moreira Dos Santos,leo.moreirasantos26@gmail.com,Leonardo Moreira dos Santos,1 +Wellington Costa Rodrigues,contato@tannerengenharia.com,TANNER ENGENHARIA,1 +Yanna Claudia Lopes Cândido,ylopes@centroflora.com.br,Anidro do Brasil Extrações S.A,1 +Monica Pereira,alessandra.remafra@gmail.com,COMERCIAL REMAFRA LTDA,1 +Raphael Augusto Pereira,phelipe.pereira@fruitsul.com.br,RPJ FABICACAO E DISTRIBUICAO DE PRODUTOS CONGELADOS,1 +Rejane Bizotto,rejane@khomp.com,Khomp Industria e comercio ltda,1 +Phelipe Da Silva Pereira,pereirarepresentacoesme@yahoo.com.br,RPJ FABICACAO E DISTRIBUICAO DE PRODUTOS CONGELADOS,1 +Alfredo Curado Bochnia,insec@brturbo.com.br,Insec Tecnologia Aplicada ME LTDA,1 +Fernando Luis Pedrotti,fernando@oitotecnologia.com.br,Oito Consultoria Tecnologia e Informática LTda,1 +Edson Luiz De Paula,assistenciatecnica@flexaseal.com.br,FLEX-A-SEAL,1 +Vanessa Fernandes,vanessa.fernandes@converteam.com,GE,0 +Marcelo Estrela Moscovits,lifesaudeambiental@gmail.com,MARCELO ESTRELA MOSCOVITS-ME,1 +Carlos Tadeu Arantes Maia,carlos@fckcontroletecnologico.com.br,FCK CONTROLE TECNOLOGICO,1 +Angela Frisoli Vieira,angelafrisoli@hotmail.com,panificadora gustapao,1 +Beatriz de Fátima Silva,beatriz.fatima@manserv.com.br,MANSERV - BEATRIZ,1 +Victor Felipe da Silva,victor.felipe@manserv.com.br,MANSERV - BEATRIZ,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,MANSERV - BEATRIZ,1 +Marcos Rogério Dos Santos Couto,marcosr@scpsservicos.com.br,Proxxi Tecnologia,1 +Marcus Kress,cdi-digital@oogtk.com,OOGTK,1 +Antonio Carlos Alves,prevencaoconsultoriasst@gmail.com,PREVENÇÃO CONSULTORIA E TREINAMENTOS,1 +Jerrisson Santos Pereira,jsp_tecnologia@hotmail.com,JERRISSON SANTOS PEREIRA ME,1 +Cristiane Alves,cristiane@grupovivence.com.br,VIVENCE FACILITIES,0 +Leonardo Assis De Brito,leo.assis_180@hotmail.com,rondave ltda,1 +Leandro Lopes De Lima,vendas@multiplantas.com.br,LEANDRO LOPES DE LIMA ME,1 +Diogo Fernandes Antonio,diogo.fernandes@amdm.com.br,AM&DM Industria Comércio e Importação Ltda - ME,1 +Desativado Desativado,desativadoo@bbosch.com.br,Bbosch Galvanização do Brasil Ltda,1 +Valquiriacosta Sousa Borges,hmval@hotmail.com,HVM SEGURANÇA,1 +Breno Yuri Barros Alves,brenoyuri22@gmail.com,H & C VULCANIZAÇÃO SERVIÇOS E MANUTENÇÃO INDUSTRIAL LTDA,1 +José Auresto Marques Pedreira,jamp@gbi.com.br,JAMP MINERAÇÃO LTDA EPP,1 +Vinicius Da Costa Nunes,vnunes01@hotmail.com,ELEKTRON - Manutenção de Sistemas Elétricos,1 +William Alves,informatica@familiaunida.com.br,LICITOP,1 +Kamila,kamila_karlla@hotmail.com,panelas de barro,1 +Emerson Kim,emerson_kim@me.com,black sheep sushi bar,1 +Eduardo De Oliveira Rego,eduardo.oliveira@engpolo.com.br,Engpolo Projeto e Instalações Elétrica LTDA,1 +Paula Machado De Queiroz Nogueira,paula@mrtech.med.br,MR TECH SERVIÇO TECNICO DE MANUTENCAO EM APARELHOS ELETROMEDICOS LTDA,1 +Jefferson José Da Silva,sac@infortudo.com.br,Descomplicador Forros e Divisórias,1 +Nelson De Matos,serafim.ndm@gmail.com,NDM,1 +Duane Karla Dos Santos Silva,dkss@lmwindpower.com,LM Wind power,1 +Pedro Moscon,pedro.moscon@wcngroup.com.br,WCN INFORMATICA,1 +Manoel Simão Rosa De Souza,rcustodio_@hotmail.com,RC Custódio-me,1 +Erlem Henrique,erlenhenrique@gmail.com,Visão Cursos,1 +Nilton Santos,nilton.santos@consultorianc.com.br,NC Consultoria em Segurança do Trabalho e Enfermagem do Trabalho,1 +Shirley Musa Cabral,ecosystem.sga@gmail.com,ECOSYSTEM TRANSPORTES ESPECIALIZADOS LTDA,1 +Wanderson Rodrigo Lopes,villetreinamento@gmail.com,Lopes consultoria Ltda,1 +LUCIA HELENA DE OLIVEIRA SIECZKOWSKI,lucia@squadraconsultoria.com.br,Integra Serviço e Comércio Ltda,0 +Sind dos Trab nas Inds Met Mec e de Mat Elet da Grande Porto Alegre,gabriel.maciel@integra-engenharia.com,Integra Serviço e Comércio Ltda,1 +Waldirene Maria Dos Anjos Do Prado,contato@nevaronline.com.br,Mario Julio dos Anjos Ar Condicionado EPP,1 +Luciano Ferrão Mendes,lfmendes@eletrosul.gov.br,Eletrosul Centrais Elétricas S.A.,1 +Elisama Rodrigues Oliveira,financeiro@oficinox.com.br,Oficina do Inox Ind e Com Ltda,1 +Álison José Ferreira Cunha,alison@libernet.con.br,AJNS PROVEDOR DE INTERNET LTDA,0 +Paulo Da Rosa Bonel,supervisaohotel@uol.com.br,HOTEL BONEL EIRELI,1 +Walter Vaccari,walter@nirax.com.br,Nirax Tecnologia da Informação Ltda EPP,1 +Adriana Batistella,mabdrica@gmail.com,ADRIANA TESTE,1 +Daniel Cipriano Do Nascimento,financeirossa@petroeng.com.br,PETROENG,1 +Maira Zanotti,vidracariareflex.maira@gmail.com,Vidraçaria Reflex,1 +Fabricia Cristine Dos Santos,fabricia.santos@bmw.com.br,BMW do Brasil Ltda,1 +Marcos Fischer Da Silva,marcos@tsrv.com.br,Traders Service Com. Equipamentos de Informática Ltda,1 +Marcel Bocchese Soares,marcel@cyberfly.com.br,MA Soluções em Tecnologia,1 +Marcelo Augusto Piassa,refrimar_refri@hotmail.com,refrimar refrigeração,1 +Alessandra Amaral Onofre,alessandra.amaral@saudeocupacionalunimed.com.br,SOU Saúde Ocupacional Unimed Ltda.,1 +Daniela Zanolo,daniela.dzambiseg@gmail.com,DZ ENGENHARIA E GESTÃO,1 +Lorena Sales Santos,lorena@mondesengenharia.com.br,Mondes Engenharia,0 +Jose Carlos Rodrigues,rodrigues.jose@metropolitano.com.br,AMICO SAUDE,1 +Alexandre Gorni Felicio,alexandre.gorni@tecaut.com.br,Tecaut Automação Industrial,1 +Eliane Molon,rh@commcenter-rs.com.br,Cellular House Telecomunicações Ltda,1 +Anderson Roberto Monteiro,smipreditiva@smipreditiva.com.br,SMI Manutenção Preventiva Ltda,1 +Murilo Rocha,contato@smipreditiva.com.br,SMI Manutenção Preventiva Ltda,1 +Mirella Felix,adm@k3m.com.br,K3M SOLUCOES EM CABEAMENTO LTDA,1 +Manuel Borges Da Silva Filho,manuelborges@volareengenharia.com.br,3TECH Manutenção,1 +João De Oliveira Rocha,vendascegonha@gmail.com,Cegonha Industria de Alimentos EIRELI,1 +Marcos A. B. Martins,marcos.martins@aecho.com.br,AECHO AMBIENTAL LTDA,1 +Luciane Oliveira Motta,luciane.motta@esab.com.br,CONDOR EQUIPAMENTOS,1 +Kaíza Oliva Donadia,rh5@spassu.com.br,Spassu Tecnologia e Serviços S/A,1 +Gabrielly Santiago Assis,gabrielly.assis@ceslog.com.br,CESLOG CESARI LOGISTICA,1 +Ubirajara Da Rosa Crizel Junior,junior@crizel.com.br,CRIZEL ELETROMECANICA LTDA,1 +Celso Martineli,celso.martineli@ask-chemicals.com,ASK PRODUTOS QUÍMICOS DO BRASIL LTDA,1 +Andreza De Albuquerque Gomes De Santana,andrezaaags@gmail.com,CINDACTA III,1 +Jéssica M. Uluim,administrativo@agroforte.ind.br,AGROFORTE,0 +ANDRE LUIZ DE FARIA,pacrefrigeracao@gmail.com,Pac Service Refrigeração e Ar Condicionado LTDA Me,1 +Priscila Penha,pris.weng@terra.com.br,Construtora Weng Ltda EPP,1 +Cesar Eduardo Rodrigues Ferreira De Almeida,ca.engenharia.cesar@gmail.com,CA Engenharia Solar,1 +Priscila Borges,rh@autogeradora.com,Autogeradora Com. e Locação de Geradores e Maq. Eireli,1 +Laura Castro Carriello Rosa,laura@aem.ms.gov.br,Agência Estadual de Metrologia,1 +Valdeli Ferreira,valdeli@cmocmandos.com.br,CM Comandos Lineares Ltda,0 +Francine Elisete Pereira,francine@garnise.com.br,ELISETE CLARICE PEREIRA,1 +Fernando De Andrade Paladino,diretoria@portobellotijuca.com,ARTESHOP REVESTIMENTOS CERAMICOS E SERVICOS,0 +Leandro Do Couto Nascimento,nascimentoleandro8499@yahoo.com,Emidio Prestação de Serviço,1 +Douglas De Andrade Azevedo,douglas.azevedo@ciahering.com.br,CIA HERING,1 +Alessandre Mota Lima,comercial@mixgrafica.com,mix grafica e comunicação visual ltda,1 +Henrique Moura Da Silva,henrique.silva@avato.com.br,ÁVATO TECNOLOGIA LTDA,1 +Cristiano Delavechia Rumpel,cristianorumpel@avato.com.br,ÁVATO TECNOLOGIA LTDA,1 +Carolina Maria Salviano Brandt,climatizacao@flexclean.com.br,Flex Clean Climatização Ltda,1 +Christiano Alves Da Silva,sio@suporteinfoonline.com.br,Silva e Santos Suporte em Informática Ltda,1 +Gestão De Planejamento E Convênios,convenios@funsat.campogrande.ms.gov.br,Fundação SOcial do Trabalho de Campo Grande-MS,1 +Paula Freire Leite,paula.oliveira@samaritano.com.br,SOCIEDADE HOSPITAL SAMARITANO,1 +Ariela Félix da Silva,ariela.silva@samaritano.com.br,SOCIEDADE HOSPITAL SAMARITANO,1 +Kamila Vargas Medeiros,kamila.medeiros.indra@enel.com,Enel CIEN SA,1 +Belplast Industria De Plasticos Ltda.,faturamento@belplast.com.br,BELPLAST INDUSTRIA DE PLASTICOS LTDA.,1 +Bruno Jose De Moraes Lima,eng.brlima@gmail.com,Planos construções,1 +Hércules Damasceno,hercules@oficinadascapas.com.br,Amagh Ind. Com Ltda M.E.,1 +Gilson Rezende Filho,gilson.rezende@servier.com,LABORATÓRIOS SERVIER DO BRASIL LTDA,1 +Tarciana Borgonovo,arenas.games@hotmail.com,Tarciana Borgonovo ME,1 +Rosane Cardoso,rosane.cardoso@biosev.com,Biosev S.A,1 +Ricardo Soares Simões,ricardo.simoes@senairs.org.br,serviço nacional de aprendizagem industrial,1 +Ajurimar Cravo,contatostrongpizza@gmail.com,Strong Pizza,1 +Eliezio Fernandes,elieziobarataobts@gmail.com,PEG E PAG BARATÃO,1 +Paulo Eduardo Da Silva Anunciação,comercial@fastsolucoesti.com.br,PESA SERVIÇOS WEB,0 +Bruno Vassallo,info@eeg-geofisica.com,Consultoria Geofisica EEG Ltda,0 +Gustavo Fontes,gustavo@crieaki.com,CrieAki Comunicação Visual,1 +Joceli Ana Pontarolo,financeiro@bexpoi.com.br,Bexpoi Engenharia de Manutenção de Obras Ind Pred Ltda,0 +Leocir Goncalves Correa,leocircorrea@gmail.com,weg,1 +Josias Araujo,veloxgas@outlook.com,souza e araujo dist. de gases ltda,1 +Jamyle Reis,relacionamentos@ctatreinamentos.com.br,"CTA TREINAMENTO, ASSESSORIA E SERVIÇOS CORPORATIVOS LTDA - ME",1 +Luciane Vera,servilit@servilit.com.br,SERVILIT ADMINISTRAÇÃO E MÃO DE OBRA,1 +Marcelo Goivinho Leal,mgl.instalacoesemanutencao@gmail.com,MG LEAL INSTALAÇÕES E MANUTENÇÃO ME,1 +Lenon Patrick Domingues De Almeida,fsitech@mail.com,FSI Tecnologia e Automação,1 +Eduardo Duda Da Silva,esilva2@grpcom.com.br,TV Oeste do Paraná Ltda. - Filial,1 +Simone Scorissa,dp@aciincendio.com.br,ACI COMERCIO SERVIÇOS E ASSESSORIA DE SEGURANÇA CONTRA INCENDIO LTDA,1 +Rinaldo Dantas E Castro Marques,rcmarques1@anglogoldashanti.com.br,Anglogold Ashanti,1 +Lily Maciene Diniz Silva,lily@pbgas.com.br,Companhia Paraibana de Gás,1 +Margareth Galvão,lider.rh@cipax.com.br,CIPAX Medicina Diagnostica Ltda,1 +Paulo Renato Lima,paulorenatolima@gmail.com,ALTARF ENGENHARIA E CONSULTORIA,1 +Marcia Cristina,marcia.almeida@cgg.com,CGG,1 +Andre Santos,financeiro@solussondagens.com.br,SOLOTERRA COMERCIO E SERVIÇOS LTDA,0 +Felipe Paulo Pacheco Cardoso,felipe.cardoso@gruposeres.com.br,SERES SERVICOS DE RECRUTAMENTO E SELECAO DE PESSOAL LTDA.,1 +Thais Siqueira,thais.siqueira@gruposeres.com.br,SERES SERVICOS DE RECRUTAMENTO E SELECAO DE PESSOAL LTDA.,1 +Marcelo Paiva,marcelo.paiva@enel.com,ENEL,1 +Cledija Soares Dos Prazeres Silva,admcw02@gmail.com,cw empreiteira de mao de 0bra ltda epp,1 +Kleber dos Santos,confianca@confianca.eng.br,Confiança,1 +Willian Kazuhissa Koh,willian_koh@bradycorp.com,W.H.B. DO BRASIL LTDA,1 +Alberto Andre Baroni Oliveira,baroni.bbcinfo@gmail.com,B&Z Negócios e Serviços em Informatica Ltda,1 +Victor Hugo Pilastri,contato@agilesi.ind.br,CLP SOLUÇÕES INDUSTRIAIS LTDA ME,1 +Marcio Silva Ferreira,joaoguilhermmmaufc@gmail.com,CYBERNET LAN HOUSE,1 +Hudson Muniz De Oliveira Junior,hudson@estrelavidros.com.br,KLAIER SA INDUSTRIA E COMERCIO,1 +Joselho F Da Silva,joselhofernandes0611@gmail.com,JFS.tecdesegdotrabalho,1 +Guilherme Augusto Gama Da Silva,guilhermegama0311@gmail.com,Piscina Fácil,1 +Amadeu Baldellas,amadeubaldellas@hotmail.com,AMADEU BALDELLAS ME,1 +Paula Barbosa,paula.barbosa@sakata.com.br,Sakata Seed Sudamerica Ltda,1 +Valter Silva,valtersilva76.vs@gmail.com,VSJ Engenharia,1 +Cristiano Rangel Tauffer,tauffersolutions@gmail.com,TaufferSolutions Informática LTDA ME,1 +Eliane Lopes Dos Santos,compraspedranorte@gmail.com,J.G.INDUSTRIA E COMERCIO DE PEDRAS LTDA,1 +Fagner Soares,fsoares@recordtvi.com.br,RÁDIO JORNAL FLUMINENSE DE CAMPOS LTDA,1 +Zelito Correia Dos Santos,zelitocorreia@gmail.com,zelito correia dos santos 28216075553,1 +Nivaldo Luiz Kuhn,nivaldokuhn@hotmail.com,Auto Posto Proeste Ltda.,1 +Andreia Amaral Zanatta,andreia.amaral@br.atlascopco.com,Atlas Copco Brasil,1 +Geraldo Pessoa Soares Filho,geraldojerumenha@hotmail.com,FOPROTECC,1 +Heraldo Macedo Da Silva Junior,heraldomacedo@joiadovale.com,POSTO JOIA DO VALE,1 +Rafael Jacintho Da Silva,rafaeljacintho@tmg.agr.br,TMG Tropical Melhoramento e Genetica S.A,1 +Reinaldo Borges Garibaldi,reinaldogaribaldi@gmail.com,Agetur,1 +Darieling Machado Ramos,rh@sbarao.com.br,COMERCIAL DAKAT LTDA,0 +Tiago Dos Santos Geraldo,tsantos@soin.com.br,Soluções Inteligentes Operadores Portuarios,1 +Jefter Silva De Moraes,jefter.moraes@betterbeef.com.br,better beef,1 +Camila Nasi,dracamilanasi@clinicavelleda.com.br,MTO EIRELI,0 +Arlene Gomes Dos Santos,arlene@aliancaconsultores.com,Aliança Consultoria em Gestão Empresarial,1 +Ivan Barbosa Da Silva,ivanb2@gazetadopovo.com.br,Rádio Cultura de Marialva Ltda,1 +Valdirene Machado,valdirene.brito@wmfsolutions.com.br,"WMF SOLUTIONS ENGENHARIA E EQUIPAMENTOS, LTDA.",1 +Ronaldo Sousa Vale,cenmar.rn@outlook.com,CENMAR - Centro de Ensino Marítimo,1 +Claudiana Rodrigues,claudianar3@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A. - Filial,1 +Ana Carolina Silva,anasilva@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A. - Filial,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A. - Filial,1 +Anderson Guedes,circulodofrio@gmail.com,CIRCULO DO FRIO REFRIGERACAO EIRELI ME,1 +Marina Cassinelli Marques,marina@tecnoperfilaluminio.com.br,Tecnoperfil Aluminio LTDA,1 +Felipe Gabriel Sabatini,sesmt@tecnoperfilaluminio.com.br,Tecnoperfil Aluminio LTDA,1 +Luciano Leal,eusouleal@gmail.com,Grupo Solus,1 +Fabio Maciel Nune,fabio@se77e.com.br,SE77E TELECOM EIRELI ME,1 +Regiane Gerth,regiane@holec.com.br,Holec Indústrias Elétricas Ltda,1 +Robson Renan Da Silva Martini,robsonrenan232@gmail.com,Laides Crema Da Silva,1 +Vinicius Rafael Franze,vinicius@multierri.com.br,MULTIERRI COMÉRCIO E SERVIÇOS LTDA,1 +Fernando Augusto Silva Girard Carneiro,ggcarneiro@gmail.com,Carneiro & Carneiro Ltda,1 +Renan Racanicchi Tura,rrtst@rrtst.com.br,RRT Serviços Tecnologicos,1 +Judite Maria Fernandes,francielly_vh@hotmail.com,PITGEL PINTURAS E REFORMAS LTDA,1 +Marisa Borth,instalapoa@gmail.com,Paulo e Bergmann & Cia Ltda - ME,1 +Matheus Quinzen Fernandes Dos Santos,matheusfernandesantos8881@gmail.com,Paulo e Bergmann & Cia Ltda - ME,1 +João Marcílio,marcilio@hubgreen.com.br,HubGreen Energia e Sustentabilidade,1 +Maysara Michalak,maysara@zanotti.com.br,ZANOTTI S.A.,1 +Fellipe Ozarias,suporte@socse.com,Socse Brasil Soluções em Máquinas Automatizadas LTDA,1 +Lina Lara Da Fonseca Santos,lina.lara@yahoo.com.br,Studio de pilates Bem Estar,1 +Pollyanna De Sousa Gomes,expoente@expoenteengenharia.com.br,Expoente Engenharia,1 +Wilson Oliveira,wilson311087@gmail.com,Programa Imagem ltda,1 +Cristiane Lemos,cristiane.lemos@senairs.org.br,SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL,1 +Sérgio Alves Marciel Junior,sergiomarciel1507@gmail.com,Showdesign,1 +Desativadomatheus Quinzen Fernandes Dos Santos,desativadomatheusfernandesantos888@gmail.com,Paulo E. Bergmann Cia Ltda,1 +Marisa Borth,instalapoa@gmail.com,Paulo E. Bergmann Cia Ltda,1 +Talita Figueiredo De Oliveira,talita.oliveira@zte.com.cn,"ZTE DO BRASIL, COMERCIO, SERVICOS, IMPORTACAO E EXPORTACAO LTDA.",1 +Alexsandre Oliveira Dias,criarttoldos@yahoo.com.br,Criart Toldos,1 +Wanderson Garrido De Almeida,wangalmeida@hotmail.com,SÃO FRANCISCO COMERCIO DE COMBUSTIVEIS E LUBRIFICANTES LTDA,1 +Paul Willian Failde,paul.failde@thermofisher.com,LIFE TECHNOLOGIES BRASIL COMÉRCIO E INDUSTRIA DE PRODUTOS PARA BIOTECNOLOGIA LTDA,1 +Angelica Denadai,administrativo@transgordo.com.br,Terrafat Locação de Máquinas Ltda,1 +Claudio Roberto Cerqueira,claudio@adn.com.br,NET4TIC CONSULTORIA EM GESTAO LTDA,1 +Guilherme Raposo,guilherme@foxtelecomrj.com.br,FOXTELECOM SERVIÇOS DE INSTALAÇOES,1 +Nilvan Moreira Costa,arq_engprojetos@outlook.com,"N, M. ENGENHARIA COMÉRCIO E SERVIÇOS LTDA",1 +Tiago Abeijon Gadret,tiago.gadret@fundacoesufpel.com.br,FUNDAÇÃO DELFIM MENDES SILVEIRA,1 +Alysson Vinicius Moreira Branco,avmtreinamentosrac@hotmail.com,Alysson Vinicius Moreira Branco - ME,1 +Douglas Zichtl Campos Mariani Pichetti,dpiketi@gmail.com,PICHETTI SERVIÇOS DE ENGENHARIA EIRELI,1 +Jheniffer Guimarães Dos Santos,jheniffer.santos@dunloppneus.com.br,Sumitomo Rubber do Brasil,1 +José Tiago Moraes Drum,financeiro@sauerautomacao.com.br,SGM Automação,1 +Eliana Alves,elianaacessoremoto@gmail.com,ACESSO REMOTO E EQUIPAMENTOS DE SEGURANÇA ELETRÔNICA LTDA,1 +Confiança Soluções E Segurança Ocupacional,confiancasse@gmail.com,Confiança,1 +Moisés Nunes Magalhães Neto,moises.magal@hotmail.com,MOISÉS NUNES MAGALHÃES NETO 147378174-49,1 +José Aparecido Reis Silva,jose.yago.aparecido@gmail.com,José Aparecido Reis Silva,1 +Rodrigo Fagundes Ferreira,rodrigo@montengers.com.br,Montenge Engenharia Ltda.,1 +Cássio Lucena Mendes Da Silva,vcsempremaispb@gmail.com,MARIA ERIL ANIA DE FREITAS LIMA-ME,1 +Zenaldo Onofre De Souza,matheus@granloc.com.br,gran loc locaçao e manutenção ltda,1 +Valdinei Aparecido Castanha,valdinei-castanha@outlook.com,V.a.c.seg segurança do trabalho,1 +Guilherme Araujo Amado,rh@dannenge.com,Dannenge Serviços e Comércio Eireli - ME,1 +Rodrigo Santiago,rodrigo.santiago@mayekawa.com.br,MAYEKAWA DO BRASIL EQUIPAMENTOS INDUSTRIAIS LTDA,1 +Eligiani Alves Ribeiro,eligianialves@outlook.com,Organizações Junqueira Agropecuaria Ltda,1 +Felipe Sd Teste,felipe.4726@gmail.com,Solução Digital,1 +Diego Trizotte,gcn.valtec@gmail.com,GCN Consultoria e instalações,1 +Mirlaine Eva Da Silva,faturamento@davirezende.com,CLINICA RADIOLÓGICA DR DAVI REZENDE,1 +Brunno Willians Burich,brunno.burich@fiesc.com.br,INSTITUTO EUVALDO LODI DE SANTA CATARINA,1 +Karoline Carvalho,karoline.carvalho@agenciaioio.com,AJ ORGANIZACAO DE EVENTOS LTDA,1 +Thayane Maciel,thayane.maciel@agenciaioio.com,AJ ORGANIZACAO DE EVENTOS LTDA,1 +Arnaldo Soares Dos Santos,informatica@tecborr.com.br,TECBORR TECNOLOGIA EM ELASTÔMEROS E PLÁSTICOS INDUSTRIAIS LTDA.,1 +Roberto Zugaib Abdalla,roberto@rzaengenharia.com,RZA Engenharia,1 +Tânia Sgari Dos Santos,tania@mc.inf.br,MCNET - SERVICOS DE COMUNICACOES LTDA - ME,1 +Arivaldo Wierzynski De Oliveira,contato@olmsolucoes.com.br,OLM Soluções,1 +Marcelle Rosas,marcelle.rosas@nissan.com.br,Nissan do Brasil Automóveis,1 +Larissa Azevedo,larissa.azevedo-external@nissan.com.br,Nissan do Brasil Automóveis,1 +Raynara Silva Barbosa dos Santos,raynara.santos@nissan.com.br,Nissan do Brasil Automóveis,1 +Jose Antonio Nunes Ferreira Ferreira,capimmovel@gmail.com,JOSE ANTONIO NUNES FERREIRA FERREIRA,1 +Adilson Rafael Do Nascimento,adilson.segtrabalho@hotmail.com,Facil Prev Segurança e Medicina do Trabalho,1 +Edilan Mendes De Souza,edilan@angularsi.com,angular manutenção industrial ltda,0 +Teste Da Silva,gisa_azul2009@hotmail.com.br,teste,1 +Tiago Santa Rosa,tiago@xpert.com.br,XPert,1 +Roberto Silva Dragão,roberto.dragao@faroenergy.com,Faro Energy Gestão Comércio e Locação de Projetos LTDA,1 +Ana Alice Francisco,aalice@lbv.org.br,LEGIAO DA BOA VONTADE,1 +André Elsner Stimamiglio,andre.stimamiglio@canoasfood.com.br,Canoas Food Comercio de Alimentos LTDA,0 +Meireane Bacarin,financeiro@htbautomacao.com.br,HOME TECH BRASIL AUTOMACAO LTDA,1 +Victor Silva,master.pinturas@hotmail.com,VICTO TUME DA SILVA,1 +Claudiana Rodrigues,claudianar2@grpcom.com.br,Rádio Continental de Curitiba Ltda,1 +Marcos Bragança,marcos.csp@uol.com.br,IRMÃOS MARCONI & CIA LTDA,1 +Mauricio Luis Lopes De Barros,rh@ownline.com.br,MLLB Engenharia e Consultoria Eireli EPP,1 +Nelson Junior Marques Da Silva,nelsornadioterra@gmail.com,Jalla Telecom,1 +Larissa Pereira Dias Costa,dp@penatec.com.br,PENATEC COMERCIO DE MAQUINAS DE PADARIA EIRELI EPP,1 +Eberson Cordeiro De Almeida,contato@infinittreinamentos.com.br,RICARDO RAMOS CONSTRUTORA LTDA,1 +Diter Rodrigues Dos Santos,cafefranquia@gmail.com,CHUCRI ZAIDAN CAFÉ EIRELI ME,1 +Diter Rodrigues Dos Santos,diter.santos@gmail.com,CHUCRI ZAIDAN CAFÉ EIRELI ME,1 +Thiago Ferreira Borges Silva,thiago@postomix.com.br,Postomix Representações e Serviços Ltda.,1 +Alessandro Diniz Pereira,alessandro@previnenet.com.br,Previne Serviços Gerais e Locação de Bens Móveis Ltda,1 +Wilker Lourenco Souza De Paula,ipereira@aralco.com.br,Figueira Industria e comercio,1 +Thais Taniguchi,administrativo@gigadata.com.br,Gigadata Soluçoes de Tecnologia LTDA ME,1 +Alex José Jacob,contato@jjarcondicionado.com.br,JJ Ar condicionado e comercio LTDA ME,1 +Márcio Macedo,marcio.macedo@kemin.com,Kemin do Brasil,1 +Bianca Marinho,bianca.marinho@kemin.com,Kemin do Brasil,1 +Morgana Ferretti,morgana.ferretti@agenciaioio.com,AJ ORGANIZAÇÃO DE EVENTOS LTDA,1 +Luana Janaina Franco Gonçalves,luana.fgoncalves@gmail.com,B F WIFI TELECOM LTDA ME,1 +Karina Ramos,kramos@turbpetropolis.com.br,TURB Petrópolis,0 +Luiz Rodrigues De Souza,wallison.machado@condormet.com.br,Condor Equipamentos Industriais Ltda,0 +Afrânio Ornelas Ruas Vilela,afranio_ruas@hotmail.com,BIOMINAS ENGENHARIA DE ENERGIAS,1 +Andressa Santana,andressa@primeclean.com.br,PRIME CLEAN CONS SER TER LTDA,1 +Thiago Alves Xavier,eletrixautomacao@gmail.com,THIAGO ALVES XAVIER ME,1 +Bruna Abreu,bruna.abreu@tri.com.br,TRI TELECOM LTDA.,1 +Jaqueline Gomes De Souza,financeiro03@ligo.net.br,LIGO TELECOMUNICAÇÕES LTDA-ME,1 +Gilberto Matiano,gmarianus@hotmail.com,Construtora Luxor ltda,1 +Robelito Rodrigues,robelito@vector.com.br,VECTOR SISTEMAS DE AUTOMAÇÃO LTDA,1 +Francisco De Assis Santos,mazuttisantos@hotmail.com,mazutti santos & Cia Ltda-Me,1 +Paulo Sergio Do Lago,paulo.lago@lebrut.com.br,Le Brut Ind. e Com. de Roupas Ltda.,1 +Wilmar Platero,aguerotagara@hotmail.com,LARISSA MACIEL RITTER ME,1 +João Carlos Pierri,joaoviasat@hotmail.com,Jpierri comércio e serviço Ltda me,1 +Cristiane Alves Rodrigues De Sousa,contato@grupovivence.com.br,Vivence,0 +Ja Equipamentos,rh@jaequipamentos.com.br,JA INDUSTRIA E COMERCIO DE MAQUINAS LTDA,1 +Adão Luís Lourenço,homiservi@gmail.com,HomiServi Assistência Técnica em Mãáquinas CNC Ltda - ME,1 +Gilberto Mariano,luaninhamariano@yahoo.com.br,Construtora Luxor ltda,1 +Eduardo Araujo,eduardofcaraujo@gmail.com,FA COMERCIO,1 +Cristina Pacanaro,cristina.pacanaro@grupoarion.com.br,Arion Serviços de Telecomunicações Ltda,1 +Cristiane De Fátima Pereira,cristiane.pereira@esab.com.br,ESAB,1 +Priscilla Pereira De Almeida,priscilla@officeehome.com.br,I.H.D. DE ALMEIDA ME,1 +Gabriel Moraes Henrique,gerencia.ab@ecotradeltda.com.br,Ecotrade Ambiental Água Branca CIA LTDA,0 +Paula Baliu Carnevale,contato@m2pengenharia.com,M2P Engenharia ltda,1 +Danielle Da Costa Pereira,dcpereira@anglogoldashanti.com.br,Mineração Serra Grande S/A,1 +Priscila Cruz Correia Gomes,pcgomes@anglogoldashanti.com.br,Mineração Serra Grande S/A,1 +Luciano Martins Santana,luciano@ambientepublico.com.br,AMBIENTE PÚBLICO CONSULTORIA E SERVIÇOS LTDA,0 +Renata Caetano Canto,condominiovialight@globomail.com,Condominio Edif Via Light Metropolitan,1 +Gracilea Rodrigues,administrativo@innovareeng.com.br,Innovare Engenharia,0 +Edemar Marcelo Ratkiewicz,reparolarflorianopolis@gmail.com,Reparo Lar,1 +Carla Mirelle Santos,mirelle.santos1@basf.com,BASF S/A,1 +Fernando Pereira Quinto,fernando.quinto@basf.com,BASF S/A,1 +Rafael Jose Almeida,rafael.almeida@basf.com,BASF S/A,1 +Alex Souza Vieira,alex.vieira@basf.com,BASF S/A,1 +Andrios Liviera Geleinski,construcoesrgp@gmail.com,RGP CONSTRUÇÕES E FUNILARIA LTDA. ME,1 +Jefferson Moreira Pires Batista,jeff.batista01@gmail.com,Sisteletro Elétrica e Automação,1 +Wilton Moura Valente,wmvservicos@gmail.com,WM VALENTE SERVIÇOS MANUTENÇÃO DE EQUIPAMENTOS MECANICOS EPP,1 +Rogerio Delfino,rogerio@gruponetsolution.com.br,R A DELFINO PROVEDORES DE ACESSO EIRELI ME,1 +Aline Andreozzi Macena Marinho,energy.aline@gmail.com,ENERGY COMERCIO E MONTAGENS ELÉTRICAS EIRELI EPP,1 +João Carlos Detoffol De Souza,jc@manutecmanutencao.com,MANUTEC MANUTENÇÃO EM EQUIPAMENTOS LTDA ME,1 +Elton Franco Oliveira,efoliveiraposto@hotmail.com,Comércio de Combustíveis Vieira LTDA,1 +Denise Oliveira,gestao@amchidraulica.com.br,amc hidraulica,1 +Jailton Bispo Lopes,bispomstec@hotmail.com,Ise Passos dos Santos Lopes,1 +Isaac Dos Santos Silva,isaac@goiasverde.com.br,GOIAS VERDE ALIMENTOS,1 +Vagner Batista,vania_pozzebom@hotmail.com,ELETRO ELETRONICA BEIRA RIO LTDA,1 +Victor Hugo Da Silva,tecsafe@outlook.com.br,VHSINFO,1 +Klebson Mateus,sindico@condominiocaminhodopark.com,Condominio Caminho do Park,1 +Wilton Ribeiro Silva,wilton.tecti@hotmail.com,Teste,1 +Danilo De Campos Araújo,danilocampos@live.com,Domine,1 +Walquiria Araujo Leite Frade,arteemmarmorebh@bol.com.br,ARTE EM MARMORE,1 +Thiago Merhy Valente,thiago@primeiralinhamoveis.com.br,Primeira Linha Móveis,1 +Rodrigo Paiato,rodrigo.paiato@ekmengenharia.eng.br,EKM ENGENHARIAL LTDA,0 +Michelle Miguel Fernandes,adm.equipeclassea@outlook.com,CLÍNICA MÉDICA PREVENÇÃO SOCIEDADE EMPRESÁRIA LTDA,1 +Shirlei Gadioli,postoehotelb.riacho@terra.com.br,Posto e Hotel Barra do Riacho,1 +Lourival Lobo,lourivallobo32@hotmail.com,CTS TELECOMUNICAÇÕES,1 +Thiago Merhy Valente,administrativo@primeiralinhamoveis.com.br,Primeira Linha Móveis,1 +Paulo Muller,costa@idealsms.com.br,Ideal Engenharia LTDA,0 +Juliana Ferretti Batista,dho@redeunifique.com.br,UNIFIQUE TELECOMUNICAÇÕES,1 +Lyane Silva,lyane.silva@somosnsc.com.br,NC ADMINISTRACAO E COBRANCAS LTDA - 72.271.471/0001-45,1 +Cyntia Dias,cyntia.dias@edwardsvacuum.com,Edwards Vácuo Ltda,1 +Luciano Dallago,segsolucoessst@gmail.com,SEG SOLUÇÕES SST,1 +Edson Jacob,edsonjacoob07@gmail.com,Padrão serviços autorizados,1 +Ivete Smiderle Bremm,ivete.bremm@senairs.org.br,SENAI,1 +Anderson Bonatto,gauchoserralheria@gmail.com,Anderson bonatto me,1 +Elvio Paladino,diretoria@portobellocopa.com.br,Tropofino Revestimentos Ceramicos Comércio e Serviços,0 +Darlene Renata De Souza,dinacomg@dinacoferroeaco.com.br,DINACO INDUSTRIA E COMERCIO DE FERRO E AÇO LTDA,1 +Simoni De Lourdes Silva,ssilva@diana-petfood.com,Diana PetFood,1 +Tadeu Henrique Schaion,tadeu.schaion@momentive.com,Momentive,1 +Anderson Peixoto Medeiros,apmedeiros@liquigas.com.br,Liquigás Distribuidora SA,1 +Danilo Sulino S. Pinto,danilo@rydengenharia.com.br,RYD Engenharia,0 +Gustavo De Freitas Iorio,gustavo@enbrageo.com.br,Enbrageo Engenharia Ltda,1 +Taciano Vicente De Melo,taciano@tdmengenharia.com.br,TDM ENGENHARIA LTDA,1 +Carlos Otávio De Oliveira Cortez Junior,carloscortezjr1981@gmail.com,BOM DE JOGO MÓVEIS E JOGOS DE GUAPIMIRIM LTDA ME,1 +Irene Giovaninette Orellana Mariani,irene.mariani@cummins.com,Cummins Brasil LTDA,1 +Dione Furtado,contato@projectumdecoracao.com.br,Justs smiler,1 +Adriana Pereira Soares Targa,farmaceutico@dmaximus.com,DISTRIBUIDORA DE MEDICAMENTOS MAXIMUS,1 +Marlon Fachinelli,contato@fachinellitransportes.com.br,GILMAR L FACHINELLI EPP,1 +Jessica Appelt,administrativo@h2jsolucoes.com.br,H2J SOLUCOES CORPORATIVAS EM GESTAO E TI LTDA EPP,1 +API SERVICOS ESPECIALIZADOS LTDA,apidutos@apidutos.com.br,API Dutos Engenharia,1 +Douglas Do Nascimento,douglas.dn@hotmail.com,DN Pinturas,1 +Janine Thomé Pacheco,janine.thome@pmi.com,Philip Morris Brasil,1 +Amanda Rickes Crochemore,amanda@agrobella.com,AgroBella Alimentos LTDA,1 +Cláudia Martendal Costa,operacional@centrosul.net,CONSORCIO MAGNO MARTINS,1 +Juracy Pereira,vendastsl@terra.com.br,TSL TECNOLOGIA E SISTEMAS LTDA.,1 +Gabriel Frasson,gabriel@mitsidi.com,Mitsidi Serviços e Projetos LTDA EPP,1 +Manoel Pessoa Maciel Junior,secretaria@larsaojoaodedeus.org.br,LAR SÃO JOÃO DE DEUS,1 +Emmanuel Vital De Oliveira Policarpo,contatoprintexpress@gmail.com,Print Express comunicacao visual,1 +Mcruz Engenharia,mcruz@mcruz.eng.br,MCRUZ MANUNENÇÃO E MONTAGENS ELÉTRICAS EIRELI-ME,1 +Tania Cristina Mariani De Paula,tania@setup.com.br,Setup Automação e Controle de Processos Ltda EPP,1 +Jandir Santana Gomes,segurancadotrabalho@totallfex.ind.br,total flex,0 +Ravelli Franco Bernardo,contato@nucleoautomacao.com,Núcleo Automação,1 +Patricia Macedo,patricia@jmacedocia.com.br,23837917000140,1 +Renata Hart,iwtservices@iwtservices.com.br,IWT,1 +Andréia De Azevedo Lopes,andreia.lopes@aeromot.com.br,AEROMOT AERONAVES E MOTORES S/A,1 +Marco Antonio De Castro,trad_marilia@hotmail.com,TRADIÇÃO PRODUTOS AGROPECUÁRIOS,1 +Marcelo Dias,contato@pontoclean.com,Ponto Clean Soluções Sustentáveis de limpeza ltda,0 +Paulo Souza,paulo@isopaineis.com.br,kit,0 +Miriam Aparecida França,contato@inovarreformasesolucoes.com.br,INOVAR REFORMAS E SOLUÇÕES LTDA-ME,1 +Rafael Douglas Coelho Nunes,assistencia@engecomcompressores.com.br,Karla Christiane Coelho EPP,1 +Alexsandro De Souza Da Silva,alex@actecrs.com.br,AC TEC ELÉTRICA,1 +Helton José Da Luz Pimentel,atendimento@hlpbalancas.com.br,hlp-comércio e serviços,1 +Isaac Virginio Dos Santos De Godoi,isaac_godoi@steris.com,Sercon Industria e Comércio de Aparelhos Médicos e Hospitalares Ltda,1 +Elis Bernardes,elis.bernardes@applusk2.com,k2 do brasil serviços,1 +Ana Lídia De Oliveira Ribeiro Firmino,engenharia@segmedcampos.com,SEGMED SERVIÇOS MÉDICOS LTDA,1 +Licio Venancius Oliveira Da Silva,licio@agualimpaenergia.com,ÁGUA LIMPA ENERGIA SA,1 +Evandro Lisboa,eletrobrali@gmail.com,Eletrobrali,1 +Daniela Santuches,contato@andradesinstalacoes.com,Andrades Instalações,1 +Raul Luiz Arend Da Silva Junior,at@balancascriciuma.com.br,Balanças Criciúma,1 +Lorenna Escobar,lorenna.escobar@saoexpedito.com.br,TRANSPORTES SÃO EXPEDITO,1 +Heryka Lima,heryka-costa@bol.com.br,R & H CONSULTORIA LTDA,1 +Filiph Barbosa,lifecool.cg@gmail.com,Life Cool Refrigeração e Climatização,1 +Daniel De Abreu Maciel,danielabreu88@ymail.com,Maciel Manutenção,1 +Grécia Nunes Fiuza,grecia.ssma@ws-service.com.br,WS Soluções Corporativas,1 +Fernando Sergio Miranda,fernandomiranda@tanktest.com.br,TANKTEST TECNOLOGIA AMBIENTAL LTDA,1 +Cristo Nzinga Nsimba,nsimbachri@gmail.com,kwanda limitada angola-soyo,1 +Neuriedes Da Silva Junior,neurieletricista@hotmail.com,Neuriedes da silva junior eletricista me,1 +Sirlene Dias de Souza,contato@vikacontrols.com.br,Vika Controls Com. de Inst. e Sist. Ltda,1 +Claudia Beatriz Antunes De Souza Cunha,claudiabeatrizsouza03@gmail.com,GERANCE GERENCIAMENTO E CONSULTORIA LTDA,1 +Raquel M Meneghini,meneghini_raquel@pesa.com.br,Paraná Equipamentos S/A,1 +Maria Aparecida Do Nascimento,cida@qgog.com.br,QUEIROZ GALVAO OLEO E GAS S.A.,1 +Guterres Projetos Ltda,marciatvale@guterres-br.com,GUTERRES PROJETOS LTDA,1 +Juliana Sá,financeiro@tecnoriosul.com.br,Tecno Rio Sul Comércio e Serviços Ltda,1 +Brasil Espresso,priscila.tolentino@brasilespresso.com.br,Brasil Espresso Comércio Atacadista Ltda,1 +Andre Gilberto Barth,andrebarth@certelnet.com.br,Ivania Bernadete Barth e Cia Ltda,1 +Marcio Henrique Rosa,marcio@msdsinfo.com.br,MSDS INFORMATICA E AUDIOVISUAIS LTDA ME,1 +Alef Vieira Cabreira,lefcabreira@gmail.com,EVO EQUIPAMENTOS EIRELI,1 +Luzane Silva,dp@mha.com.br,MHA Engenharia Ltda.,1 +André Luiz Resende,andre@reritec.com.br,ANDRE LUIZ RESENDE 042.823.176-47,0 +Marco Cerulli,marco@tavolaeng.com,Tavola Engenharia e Comercio de Equipamnetos Ltda,1 +Lucas Alves Pires,lucas.pires@rbdimagem.com.br,REDE BRASILEIRA DE DIAGNÓSTICO,1 +Marlise Potrick Stefani,marlise@nutritecnica.com.br,NUTRITÉCNICA LTDA,1 +Ana Carolina Melo De Sousa,karol-melo23@hotmail.com,Lima e Melo Combustíveis,1 +Eider Da Silva Silveira,comercial@essengenharia.com.br,ESS Engenharia,1 +Dayse Liz Das Gracas Conceicao,dayse.conceicao@hermespardini.com.br,instituto hermes pardini s/a,1 +Bruno Rodrigues Lopes,bruno.lopes@cmigroupe.com,CMI Serviços Brasil,1 +Mário Sérgio Da Silva,mario@gaucha.com,Fiação e Tecelagem Gaúcha LTDA,1 +Érico Rezuski,rezuskimeat@gmail.com,RezuzkiMeat o mundo das carnes,1 +Neuza Hening,dragagemmcrondon@gmail.com,dragagem mcrondon ltda,1 +José Edimar Da Silva,gia@edcontrolmacae.com.br,Edcontrol Serviços de Petroleo e manutenção de Equipamentos Ltda,1 +Jose Claudionor Pereira Da Silva,tempostar@outlook.com.br,tempostar ar condicionado,1 +Lilian Aparecida Rosa Magalhães De Arruda,lilian@msgas.com.br,COMPANHIA DE GÁS DO ESTADO DE MATO GROSSO DO SUL - MSGÁS,1 +Laraue Pommerening,laraue@msgas.com.br,COMPANHIA DE GÁS DO ESTADO DE MATO GROSSO DO SUL - MSGÁS,1 +Eduardo Ribeiro,j.p.construcoes96@gmail.com,JPconstruções e reformas,1 +Jose Faria Freire Junior,junior@construtoraarco.com.br,CONSTRUTORA ARCO LTDA,1 +Ana Paula Lopes,contato@prevensolucoes.com.br,Preven Soluções,1 +Luis Fernanado Linares,artefinal@serigrafsjb.com.br,LUIS FERNANDO LINARES ME,1 +Fabiane,fabiane.marin@ou.com.br,MARTIPLAST INDUSTRIA E COMERCIO DE PLÁSTICOS,1 +Daniele Martins,administrativo@eletronic.srv.br,NOW SERVIÇOS TECNICOS ESPECIALIZADOS,1 +Luis Miguel Meneguel,luis.miguel@construcasa.mat.br,CONSTRUFORT ENGENHARIA,0 +Stephânia Mayara Machado Marques,stephaniamarques@tca.eng.br,TCA MEIO AMBIENTE LTDA,1 +Jose Erivan Da Silva,ritelspssp@live.com,jose erivan da silva telefones EPP,1 +Guyllermo Bueno,onicron@onicron.com.br,OINCRON TRANSPORTES LTDA,1 +Arnaldo De Figueiredo,afigueiredo@centroflora.com.br,ANIDRO DO BRASIL EXTRAÇÕES S.A.,1 +Osvaldo Rodrigues Junior,osvaldo.treinamentos@hotmail.com,OSVALDO RODRIGUES JUNIOR,1 +Cleberson Rodrigues Chaves,nfe@polpacanaa.com.br,AGROINDUSTRIAL FRUTNAA LTDA,1 +Nathalia Almeida,nathalia.almeida@arborbrasil.com.br,Arbor Brasil Industria de Bebidas LTDA,1 +Leandro Dos Santos Ayala,leandrosayala11@gmail.com,L.E.S TEC,1 +Wergneaud Machado,cismed@hotmail.com,CISMED,1 +Ricardi Meneghini,ricardi@matrixenergetica.com.br,MATRIX Energética LTDA,1 +Ray Soares,best-sp@bestconstrucoes.com.br,BEST TRANSPORTES E CONSTRUÇÕES LTDA,1 +Fernando Rosa Silva,fernando.silva@primient.com,TATE & LYLE BRASIL S.A (DEFINITIVA),1 +Antonio Donzieti Da Silva,antonio.silva@primient.com,TATE & LYLE BRASIL S.A (DEFINITIVA),1 +Fernando Rosa Silva,fernando.silva@primient.com,Tate & Lyle Brasil S.A.,1 +Desativado Desativado,amanda.santosdesativado@tatyandlyle.com,Tate & Lyle Brasil S.A.,0 +Maira Sidrim,ha0g6-gm@accor.com,ATRIO HOTEIS S.A,1 +Fernanda Batista,fernanda@jomaga.com.br,JOMAGA PARTICIPAÇÕES LTDA,1 +Juliana Konflanz Da Silva,jsilva@internationalmealcompany.com,Pimenta Verde alimentos,1 +Jailton Costa Carqueija,jccarqueija@gmail.com,Gomes Geradores,1 +Tatiana Cristina Quilici De Oliveira Santos,tatianaconsultoraiso@gmail.com,T.C.Q. de O. Santos Gestão Empresarial,1 +Leonardo Afonso Alves,financeiro@relotec.com.br,Relotec Comercio Ltda,1 +Ronaldo Bonato,teresopolis@ecocontrol.com.br,R A Bonato Serviços de Dedetização,1 +Emanuelle Cristina Duarte De Figueiredo,emanuelle.duartefigueiredo@clissof.com.br,Figueiredo & Barbosa Serviços de Saúde Ltda,1 +Oscar Bessa De Campos,oscar@genaltec.com.br,Genaltec,1 +Luiz Carlo Gomes,idelagasbc@gmail.com,ideal gas,1 +Camilla Adams,rh_matriz@tecnoparksolucoes.com.br,TECNOSIN SINALIZAÇÕES EIRELI,1 +Jobson Pontes De Carvalho,uniclimaltda@terra.com.br,UNICLIMA LTDA,1 +Claudia Figueiredo,n-nely-fontan@bol.com.br,JBR PNEUS COMÉRCIOS E SERVIÇOS LTDA,1 +Fabio Toledo Campos,fabio@mcend.com.br,MC END Prestação de Serviços Ltda ME,1 +José Maria Moura Da Silva,moura_jmms@hotmail.com,Instalações elétricas Moura Ltda,1 +Evamauro Oliveira,mauro@cemtradf.com.br,Clinica Cemtra,1 +Wanderley Celestino Da Rocha,suporte@biocontrolbahia.com.br,BIO CONTROL DESINSETIZADORA,1 +Leonardo C Moreira,tecnosulconstru@hotmail.com,Tecnosul Construções Ltda.,1 +Carina Raquel Ratti,flashinfo@flashinfo.com.br,Flashinfo - Equipamentos e Serv. de Informatica LTDA - ME,1 +José Milton Anastácio Alves Júnior,grupoglobalgrafica@yahoo.com.br,GLOBAL BRINDES PERSONALIZADOS LTDA,1 +Eder Wenzel,eder@gwequipamentos.com.br,GW Equipamentos de Controle Ambiental LTDA,1 +Brenno Santos Dornela,preservlimpeza@hotmail.com,Preserv limpeza Controle de pragas Ireli,1 +João Rafael Candido de Souza,joaorcsouza@gmail.com,Preserv limpeza Controle de pragas Ireli,1 +Claudio Ferreira Madureira,eletricacfm@gmail.com,C.fmadureira prestação de serviços de eletricidade,1 +Ricardo Johnes Da Silva,johnesvitor@gmail.com,Toniolo busnello s.a,1 +Guilherme José Batista,financeiro@igtech.ind.br,igtech-engenharia e planejamento,0 +Jose Maria,comercialjjr@gmail.com,J. JUNIOR COMERCIO E REFORMAS,1 +Jorge De Castro,jorge.castro@alertbrasil.com.br,Alert Brasil,1 +Aldo Delfini Junior,aldodelfini@gmail.com,Toledo & Delfini Ltda,1 +Cesar Ramos Ferreira,ramos-ferreira2010@bol.com.br,CCF,1 +Gabriela Dal Bó Heinzen Cascaes,gabiheinzen@yahoo.com.br,Heinzen Cascaes Diagnóstico por imagem,1 +Paulo Sergio Gonçalves Aderaldo,psga2014@gmail.com,P S G ADERALDO ME,1 +Camila Fernandes,camila.fernandes@uniplastic.com.br,Uniplastic Indústria e Comércio Ltda,1 +Ivana Sayuri Kodama,ivana.kodama@fmc.com,FMC Química do Brasil LTDA,1 +Nelson Marques De Queiroz Monteiro Junior,atendimento@ethernetwork.com.br,Ethernetwork Soluções e Treinamentos,1 +Jair Monteiro De Lima Júnior,jairmlj@hotmail.com,ENSINO FUNDAMENTAL SILVA LTDA ME,1 +Adilson Araujo Leite,adilson.leite@sollarservicos.com.br,SOLLAR SERVICOS DE ENGENHARIA EIRELI - ME,0 +Marcelo Knust Sant'Anna Filho,contato@knustengenharia.com.br,Knust Engenharia,0 +Tiago Brandão Da Silveira,tiago.silveira@htengenharia.eng.br,HT Soluções em Engenharia Ltda,1 +Jaderson Thiago Lima Viana,jaderson.viana@sotreq.com.br,Sotreq S/A,1 +José Adriano Dos Santos Oliveira,adrianomontagem@hotmail.com.br,ADR MONTAGEM,1 +Artezor Toniolo Junior,artezor.toniolojunior@marfrig.com.br,Marfrig,1 +Marcio António Ribeiro Mello,suacasaemboasmaos@hotmail.com,Sua casa em boas mãos,1 +Jonatas Felippe Damotta,tjeletricistas@hotmail.com,tjeletricista,1 +Robério Perigolo De Abreu,systemsatmeltda@hotmail.com,Aquece Mais Aquecedor Solar,1 +Rodnei Rodrigues Junior,jsktt7@gmail.com,Instituto Mauá de Tecnologia,1 +Richard Silveira Maciel,atendimento@provedoraplateia.com.br,Rafael Badra Caloca,0 +Marcello Gouveia,marcello@netres.com.br,NETRES COMERCIO E PRESTAÇÃO DE SERVIÇOS LTDA -ME,1 +Hélio Pinto Rodrigues,helio@elevarconsultoria.com,Elevar Consultoria Ltda,0 +Tadeu Leite Veloso,tlveloso@hotmail.com,Posto Campeão,1 +Natali Corrêa,administracao@projeletro.com,PROJELETRO PROJETOS E MONTAGENS INDUSTRIAL,0 +Sonia Guerreiro Fistarol,sguefis@gmail.com,Hotel Lumar Ltda,1 +Rose De Souza,contato@aliancaconsultores.com,ALIANÇA CONSULTORIA EM GESTÃO EMPRESARIAL LTDA,1 +Neidi Marques,ctex@executar.com.br,GADENZ MANUTENÇÃO INDUSTRIAL LTDA,1 +Rodrigo Reis Krauchenco,rodrigo@printspace.com.br,PRINT SPACE COMUNICAÇÃO VISUAL LTDA,1 +Marcelo Piaz Vianna,comercial@4u.com.br,4u Network,1 +M E P Da Costa,costac764@gmail.com,mepdacosta,1 +Isabela Vieira,contato@emolduras.com.br,EVERALDO MOLDURAS,1 +Ricardo Delvechio Da Silva,compras@oerlikon.com,OERLIKON BALZERS REVESTIMENTOS METÁLICOS LTDA,1 +Carla Vanessa Bouchet,katiucia.barbosa@ldcom.com,LOUIS DREYFUS COMMODITIES BRASIL S.A.,1 +Rafael Rossignolo Franciscato,rafael.franciscato@terra.com.br,MS AMBIENTAL CENTRAL DE ESTERELIZAÇÃO LTDA - EPP,1 +Italo Brasileiro Guimaraes,italobrasileiro@gmail.com,tomazelli comercio e servicos ltda,1 +Adeni Da Lapa Cargnin Junior,junior@tifloripa.com.br,TEC SERVICE SERVIÇOS EM EQUIPAMENTOS ELETRÔNICOS EIRELI ME,1 +Marinda Lima,marinda.lima1@kemin.com,Kemin do Brasil Ltda,1 +Rosália Maria Raiol De Andrade,rosalia.raiol80@gmail.com,HIDROVIAS DO BRASIL - VILA DO CONDE S/A,1 +Marcia Suelí Ferreira Alves,cardealrh@ig.com.br,CARDEAL GESTAO EMPRESARIAL E SERVIÇOS LTDA,1 +Junior Morais,sincon-construtora@hotmail.com,SINCON CONSTRUTORA EIRELI - EPP,1 +Leonardo Conrat Pedro,perfectqualitysound@hotmail.com,L de carvalho gouvea conrat sons me,1 +Vanessa Dos Santos Sena,vanessa.sena@eldoradobrasil.com.br,ELDORADO BRASIL,1 +Andre Fornitani,biomedic.aph@gmail.com,BIO MEDIC ASSESSORIA E TREINAMENTOS,1 +Diego De Souza Lima,tr3bahia@gmail.com,D DE SOUZA LIMA ME,1 +Luiz Gustavo Affonso,engenharia@affonsoconstrutora.com,Affonso Construtora,0 +Jorge Bastos Vilela,jorge.bastos@abengoa.com,Omega Operação e Manuteção de Linha de Transmissão,1 +G&P,gestao@omegaenergia.com.br,Omega Operação e Manuteção de Linha de Transmissão,1 +James Goldenberg,eurobraz@novanet.com.br,Eurobraz Móveis,1 +Joel Pires Machado,piresmach@gmail.com,MDCAD PROJETOS EIRELI - ME,1 +Fernando Costa Oliveira,fernando@trafodobrasil.com.br,Trafo do Brasil Transformadores e Equip. Eireli,1 +Endrigo Dalla Riva,endrigo@amitelservices.com.br,AMITEL SERVICES LTDA,0 +Tadeu Mauricio Lohn Santos,atus_suporte@hotmail.com,ATUS SERVIÇOS E COMERCIO DE PRODUTOS DE INFORMATICA LTDA,1 +Rodrigo Castilho Da Cruz,inove@inoveqsms.com,INOVE QSMS,1 +Vinícius Aguiar De Mello,ssvendas4@gmail.com,S.S. COMÉRCIO DE EPI´S,1 +Leandro Lanzillo,contato@smart-electric.com.br,Smart Electric Engenharia e Sistemas LTDA,1 +Klezio Portes Reis,engenharia@isegconsultoria.com.br,ISEG CONSULTORIA,0 +Valéria Bezerra,cpem@secrel.com.br,CPE Consultoria e Projetos Elétricos Ltda,1 +Antônio Carlos Lapa,esacengenharia@gmail.com,Esac Engenharia Ltda,1 +Gisella De Oliveira,adm@integrasul.net.br,INTEGRASUL SISTEMAS DE SOFTWARE LTDA,1 +Lucas Davila,lucas@ieducativa.com.br,iEducativa,1 +Augusto Cesar Georgino Honório,augustoh@ipiranga.com.br,IPIRANGA PRODUTOS DE PETROLEO,1 +Bruno Garcia Cazzolato,bcazzolato@betterbeef.com.br,FRIGORIFICO BETTER BEEF LTDA,1 +Deise Tariga,deise@pertencer.com.br,Pertencer,1 +Marcelo Ribeiro Garajau,mrg.adesivos@yahoo.com.br,Mrg adesivos e prestação de serviços,1 +José Ademir Bezerra,prevencaoecombateaincendios@gmail.com,ONG DE PREVENÇÃO E COMBATE A INCÊNDIOS,1 +Marcos Da Silva,msntma222@gmail.com,Boi Corte LTDA EPP,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,MEKATRONIK IND. E COM. DE AUTOMAÇÃO LTDA,1 +Danilo Sabino,adm3@mekatronik.com.br,MEKATRONIK IND. E COM. DE AUTOMAÇÃO LTDA,1 +Auto Posto Cirimbelli,adm@cirimbelli.com,auto posto cirimbelli,1 +Luciano Campos,compras@prevenironline.com.br,PREVENIR SOLUÇÕES LTDA,1 +Thadeu Santos Bomfim,cont.colchoesecia@gmail.com,COLCHOES E CIA LTDA,1 +Victor Rodrigues,agencia.vrmarketing@gmail.com,Agencia VRMarketing,1 +Valdines De Cassia Chagas Da Silva,valdinescssia2006@yahoo.com.br,valdines de cassia chagas da silva,1 +Agem Tecnologia E Com. Ltda,afra.distribuidora@gmail.com,AGEM TECNOLOGIA,1 +Diogo Fernandes Antonio,diogo.fernandes2016@outlook.com,AM&DM INDUSTRIA COMÉRCIO E IMPORTAÇÃO LTDA,1 +Orlando Wahl,wahlwab@gmail.com,wab empreiteira de mao de obras-me,1 +Henrique Omena,henrique@sinteligente.com.br,H A DE SOUZA OMENA INTALACOES ME,0 +Jacqueline Da Silva Soares,segurancadotrabalho@vidroboxdistribuidora.com.br,Vidrobox Temper de Montes Claros,1 +Carlos Magno Da Costa,tecmagnocosta@gmail.com,TBG,1 +Ailton Bocanera,ailton@agautomacao.com,A&G Automação Industrial Ltda ME,1 +Mariana Schaedler,mariana.schaedler@ecometano.com.br,Ecometano,1 +Nathan Liyodi Nariai,financeiro@plataoenergia.com.br,PLATÃO ENERGIA LTDA - EPP,1 +Isabelle Ribeiro Rodrigues,administrativo@vdhcorreias.com.br,VAN DER HULST IND. IM. E EXP. LTDA,1 +Daltro Aécio Herbert,dah_led@live.com,Daltro Aécio Herbert,1 +Oli Telecomunicações,carlos@ngtelecom.com.br,OLI Telecomunicações,1 +Winter Correia,winter.correia@falcaobauer.com.br,Grupo Falcão Bauer,1 +Jassaiana Ribeiro Adler,jassaiana.adler@falcaobauer.com.br,Grupo Falcão Bauer,1 +Maximo Caldas Simões,maximo_caldas@hotmail.com,Maximo Caldas Simões,1 +Paulo Roberto Marcelino,pr-marcelino@ig.com.br,PAULO ROBERTO MARCELINO& CIA LTDA,1 +Fabiano Bergozza,autolab@terra.com.br,Laboratório Autolab Ltda,1 +Erika Koch,erika@longen.com.br,Longen Engenharia,1 +Athayde José Da Silva Junior,comercial@thd.com.br,ALLCONNECT,1 +Cezar Araujo Moreno,ca.eletrica.seg.eletronica@outlook.com,Cezar Araujo Elétrica e Segurança Eletrônica,1 +Henrique Teixeira Rocha,sassmaq.apoio@transac.com.br,Transac,1 +Goncalo Augusto Ribeiro Leite,gleite@stcp.com.br,STCP,1 +José Cargnin,cargnin@alca.eng.br,alca,0 +Airton De Oliveira,adancristian@outlook.com,Airton De Oliveira Restaurante,1 +Sandra Neto,admin@calcario-imap.com.br,CALCARIO IMAP,1 +Fernando Cesar Costa,fernando.costa@estre.com.br,CGR Itaborai,1 +Glaucia Andrade De Souza,financeiro@srsconnect.com.br,SRS CONNECT,1 +Alcir Jose Cordeiro,k.a.empreiteiraemaodeobra@hotmail.com,k.a.empreiteiraemaodeobra,1 +Antonio Carlos Aparecido Filho,antonio.fenix.agricola@gmail.com,Fênix Agricola,1 +Wagner Francisco De Paula,wdepaulam@ig.com.br,W&M Segurança do Trabalho e Meio Ambiente,1 +Maria Izabel Cassiano,anaclaracm25@hotmail.com,ASSADOS & CIA,1 +Debora Andrade Costa,debora.costa@sandech.com.br,SANDECH - Consultoria em Engenharia e Gestão Ltda.,1 +Emilio Cristiano Olsen Notário,emiliofrigocal@hotmail.com,FRIGOCAL,1 +Jean,jean.ferreira@phlaengenharia.com.br,PHLA,1 +Joelcio Martins Da Silva Lopes,axxo.industrial@live.com,AXXO MANUTENÇÃO INDUSTRIAL,1 +Marili Azevedo,mazevedo@igtecbrasil.com.br,IGTEC BRASIL,1 +Luciano Góes,lgcinstalacoes@hotmail.com,LGC-Instalações,1 +Adriano Eulálio,adrianoeulalio@hotmail.com,CHAMBARIL FEIJOADA DO JOÃO,1 +André Ferreira Luna,comercial@techprintinformatica.com.br,TECHPRINT SOLUÇÕES EM TI E SEGURANÇA ELETRÔNICA,1 +Isnarde Constantino Miguel Filho,isnarde@clinicachronos.com.br,Clinica Chronos - Gestão em Saúde e Segurança do Trabalho,1 +Sônia Silvestri De Araujo,restaurantebongosto@hotmail.com,RESTAURANTE BONGOSTO,1 +Franciel Alves Da Silva,franciel.fpolis@gmail.com,PADRAO REVESTIMENTOS ESPECIAIS,1 +Marcos Roberto Paulo,marcosr.paulo@hotmail.com,Eletrotecnica M&W ltda,1 +Daiane,famanutencaoadm@gmail.com,FA Manutenção,1 +Hélio,postoccolombo@redenortesul.net,Posto cristovão colombo,1 +Cíntia Aparecida Rocha Serpa,cintiarochaserpa@gmail.com,Brasil Instalações e Serviços Ltda,1 +Valmiro Quéfren Gameleira Nunes,valmiroquefren@hotmail.com,GAMELEIRA ENGENHARIA,1 +Diego Silva Seabra,diego@ecobuild.eco.br,Ecobuild - Reservatórios Metálicos,0 +Evando Vilas Boas,aircooling@oi.com.br,AIR COOLING,1 +Euricério Filho,euricerio.filho@kerneos.com,Kerneos,1 +Edson Catalan Larratea,larratea@larratea.com.br,LARRATEA COMBUSTIVEIS,1 +Leandro Souza Dos Anjos,leandro.anjos@walmart.com,Postos WalMart,1 +Paulo Rullan,paulo@innvolt.com.br,INNVOLT INSTALAÇÕES E PROJETOS,1 +Camoí Gomes De Aguiar,camoi@btnsolucoes.com.br,BTN Soluções,1 +Gerson Camargo,gerson.camargo@ppengenharia.com,PP Engenharia Ltda.,1 +Larissa Querino,larissa.querino@supermix.com.br,Supermix Concreto,1 +José Fernandes,jose.pereira@tapme.com.br,TAP M&E,1 +Rogelio Silva De Oliveira,comercial@acslab.com.br,ACS LABORATORIOS,1 +Gilmar Vitorino De Borba,wgusinagem@gmail.com,WG usinagem,1 +Elaine Maciel Da Silva,tocadasalada@gmail.com,Toca da Salada,1 +Luís Gustavo Barbosa Da Silva,luisgustavo.sp@hotmail.com,ENGSEG,1 +Mateus Rusch,financeiro@livenetwork.com.br,LIVE NETWORK,1 +Paulo Renato Lima,contato@altarf.com.br,ALTARF Engenharia e Consultoria,1 +Bruna Estefani,st11.criciuma@maxipas.com.br,Maxipas,1 +Robinson Paim,robinsonpain@gmail.com,Roogans Ambiental,1 +Maria Aparecia Neponunceno De Carvalho,marianeponunceno01@hotmail.com,AUTO POSTO TENENTE,1 +Eri Santana,eri@pontodanet.com.br,PDN TELECOM,1 +Vanise,mfsilva47@hotmail.com,HGC HOSPITAL GERAL DE CAMAÇARI,1 +Gleydson Wendell Carmo De Jesus,gleydsonwendeldocarmo@gmail.com,Do Carmo construções e reformas,1 +Juliana,seguranca@elofar.com.br,Elofar,1 +Paulo Roberto Bauer,bauer@beel.com.br,beel equipamentos eletromecanicos ltda,1 +Darling,darlingl1407@gmail.com,Bright Service,1 +Domicio Leopoldo De Andrade Neto,dlaconsultoria@globo.com,DLA CONSULTORIA,1 +Fabio Ferreira Lima,fabiosegurancastc@hotmail.com,STC,1 +Mauricio Daniel Vogel Da Silva,mauricio.vogel@ul.com,UL Testtech Laboratórios,1 +Marcelo Franco Naves,uberlandiacentro@doutorresolve.com.br,Doutor Resolve,1 +Sonia Lieko Sano Okubo,sonia.lieko@hc.fm.usp.br,Hospital Auxiliar de Suzano,1 +Leandro Oliveira,suporte@brsuper.com.br,BRSUPER,1 +Fernando Fernandes,anjorefrigeracao@gmail.com,Fernando Fernandes,1 +Darilson M. Barbosa,darilsonmb@hotmail.com,R & D Engenharia e Informatica,1 +Aloisio Angelo Marchezan,aloisio@auxile.com.br,Escola de Educação Profissional Auxile,1 +Renato Gomes Corazza,renato@corazza.eng.br,CORAZZA INCORPORADORA,1 +Guto,trattoriadoguto@hotmail.com,Trattoria do Guto,1 +Jhonatan Alberto Aguiar,brunapaula.unitec@gmail.com,UNITEC,1 +Artur Danilo S. Teixeira,artur.danilo@gmail.com,EAS Projetos,1 +Carolina,carol.bastt@gmail.com,prime soluções elétricas,1 +Rui Ambrósio Junior,ruambros@gmail.com,R & G Projetos,1 +Jaci Machado Reys,jacimachadoreys@gmail.com,Dona Jaça,1 +Maurilio Nardo,maurilio_nardo@hotmail.com,malupetro transportes ltda,1 +Maria Teresinha Da Silva,teresinha@petrobras.com.br,Unidade de Operações Refinaria Alberto Pasqualini,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,UNIMED - Unidade UNIDAS 2021,1 +Vanusa Felix,vse.contato@gmail.com,Vse-Verissimo Serviços Especializados,1 +Carlos Roberto Consorte Pasoto,pasoto@yahoo.com.br,AAP,1 +Franciete C. Moraes Batista,franciete.moraes@waterloo.com,Waterloo,1 +Suellen Gonçalves,suellen@dragagembrasil.com.br,Dragagem Brasil,1 +Frederico De Andrade Pereira,frederico@constroiengenharia.com.br,Constroi Arquitetura e Engenharia Ltda,1 +Fabio Valerio Rodrigues Louzado,treinamento@bethaespaco.com.br,OMEGA IMÓVEIS E SERVIÇOS LTDA,1 +G&P,gestao@omegaenergia.com.br,OMEGA IMÓVEIS E SERVIÇOS LTDA,1 +Lucas Couto Verreschi,lucascouto@velloznet.com.br,VELLOZNET DIGITAL NETWORK,1 +Roseane Albuquerque,seguranca@jatobeton.com.br,Jatobeton Engenharia,1 +Jorge Antonio Mendes De Oliveira,beirariosom@hotmail.com,AUTO SOM BEIRA RIO,1 +Janiely Parron,rh@consultoriointeligente.com.br,EASY,1 +Cristiano Siqueira Da Silveira,pontofrioam@ig.com.br,PONTO FRIO,1 +Marcelo Tavares Chaves,marcello.enzo@gmail.com,Body Full Nutrição Esportiva,1 +Cristiane Pereira Torres,ecocenter@ecocenter.med.br,Ecocenter Serviços Hospitalares e Diagnosticos Ltda,1 +Márcia Meneses,marcia.meneses@globalcob.com.br,Marcia,1 +Silmara Oliveira,silmara.oliveira@guiandotelecom.com.br,Guiando Sistemas de Telecomunicações,1 +Darlene Pires,darlene@mcruz.eng.br,MCRUZ ENGENHARIA LTDA,1 +Antonio Marcos Patricio Ferreira,ddtaraujo@gmail.com,Dedetizadora Araujo,1 +Daniel Luiz Aoki,danielluiz.aoki@gmail.com,PontoCom Informática,1 +Cristiane Ribeiro,criskajc@hotmail.com,Jc telgados,1 +Jose Ademir Bezerra,prevencaosegurancasmc@gmail.com,ONG DE PREVENÇÃO E COMBATE A INCÊNDIOS,1 +Luciana Cardoso Cerruti,luciana_traszi@hotmail.com,Restaurante El Gato,1 +Larissa Amaral,larissa.deus.123@hotmail.com,Estojos Baldi,1 +Valmir Pedroso Da Silva,taemcasarest@hotmail.com,RESTAURANTE TA EM CASA,1 +Carina Honório Tiago,carina.honorio@belagricola.com.br,Belagrícola,1 +Janaina Correa,financeiro@tecnofortecamaras.com.br,TECNOFORTE,1 +Roger Pinto E Silva,roger@tera.net.br,Tera informática,1 +Marcia Pivato,marciapivato@msky.com.br,Msky,0 +Thais,thais@petrelengenharia.com.br,Petrel Engenharia LTDA,1 +Maria Ap. Gonzaga,eletromagui@hotmail.com,Mag Gerenciamento,1 +Fernando Carvalho Benevides,sonhodeminas@gmail.com,fernando carvalho benevides 83870342153,1 +Marcelina Moreira Da Silva,aat.marcelina@gmail.com,AAT-MEDICINA E SEGURANÇA DO TRABALHO,1 +Paulo Ricardo,empreiteirapra@gmail.com,EMPREITEIRA P.R.A CONSTRUÇOES E SERVIÇOS,1 +Marco Antonio Dal Pai,marco01469108@gmail.com,Dal Pai Contabilidade Ltda,1 +Cassio Schneider,cassio@up3drs.com.br,UP3D Soluções em Treinamentos,0 +Marcos Rogerio Dos Santos,cm2refrigeracao@globomail.com,cm2 refrigeracão ltda,1 +Maria Aparecida Diniz,hotelcolorado@uol.com.br,HOTEL COLORADO,1 +Marcelo R Theodoro,marcelobichim@redebichim.com.br,BICHIM TRANSPORTE,1 +Rafael Da Silva Tomita,rental.tokyo@gmail.com,TOKYO RENTAL - LOCACAO DE MAQUINAS E EQUIPAMENTOS LTDA - ME,1 +Arthur Bossardi Borges,administrativo@longhiautomacao.com.br,Eletec Equipamentos para Automação,1 +Airton,airton@valpasa.com.br,Valpasa Papel e Embalagens,1 +Janaina Dias Concenza,janaina.dias@solarisbrasil.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +Rachel de Figueiredo da Silva Ataide,rfsataide@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +Ana Caroline Domingos Ferreira,acdferreira@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +Isabela Serralha de Lima Teixeira,isteixeira@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +MARINA PATRICIA MENCONCA DA SILVA,marina.mendonca@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +Matheus Homem dos Santos,matheus.homem@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +MARIANA RUFINO NOVAIS,mariana.novais@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +Allan Caputto Macedo,allan.macedo@mills.com.br,Solaris Equipamentos e Serviços S.A. / MILLS,1 +Paula,rospezani@ig.com.br,Rospezani Engenharia em Instalação Elétrica,1 +Leonardo Roque Alves,contato@serae.com.br,SERAE - Cursos Profissionalizantes,1 +Paulo Falco,phfo@uol.com.br,Paulo,1 +Rodrigo Vermoehlen,rodrigo.automacao@paranatex.com.br,Paranatex,1 +Paloma Hirakawa,paloma@etkz.com.br,Etkz,1 +Franciele Rocha,smivaipora@ig.com.br,mercado total,1 +Jaqueline Dos Santos,telredes@telredes.com.br,Telredes Cursos,1 +Cari Roberto Rosa,cariroberto@gmail.com,Caseg,1 +Jair Luiz De Matos Filho,suna_cm@hotmail.com,jls,1 +Mauricio Rubo,mauricio.rubo@trf1.jus.br,TRF 1ª Região,1 +Claudia Lucia Azevedo,azevedonoleto-ac@hotmail.com,bom paladar,1 +Vanessa Cristina Cardoso De Oliveira,ceicasteloencantado@hotmail.com,CASTELO ENCANTADO,1 +Adilson Martins Da Rosa,adilsonkr@hotmail.com,Nex Control,1 +Nataly Caroline Solano Rodrigues,mercadolagoa.floripa@gmail.com,lagoa Generos Alimenticios,1 +Leandro,leandro@promontime.com.br,Promon Time,0 +Juliana,sinttro@sinttro.com.br,SINTTRO,1 +Heraclito Charão Palmeira,charao@correios.com.br,CORREIOS,1 +Pamela Chiminacio,pamelac@grpcom.com,RPCTV-Londrina,1 +Camila Castelli Nunes,mhrconstrutora@gmail.com,MHR,1 +José Stembrino Paz Escobar,jspeassessoria@hotmail.com,J S PAZ ESCOBAR - ME,1 +Gerson Lapchenski,gerson1@energiso.com.br,Energiso,0 +Adriana,rh@syscodeconsultoria.com.br,Syscode Consultoria,1 +Norman,fnrefrigeracao@ig.com.br,FN REFRIGERAÇÃO,1 +Gabrielle Rocha,comercial@naturezaviva.com.br,Natureza Viva,1 +Adriano Alves Ribeiro,aa.alvesribeiro@hotmail.com,adriano alves construçoes,1 +Flavio Menossi Furlan,flavio@gruporasssicom.br,MASTER JARDINÓPOLIS EMPREENDIMENTOS E CONSTRUÇÕES LTDA,0 +Giovani Lima,giovanilima27@gmail.com,G Lima consultoria,1 +Cristiano Listoni,cristianoprojesul@hotmail.com,Projesul,1 +Tiago Maciel,personal.valmor@gmail.com,artigos de praia bc,1 +Luiz Antonio Alves De Oliveira,stbtreinamentos@gmail.com,STB CURSOS E TREINAMENTOS,1 +Leri Farias Gonçalves,leryfarias@gmail.com,Meu camarim,1 +Bruno Tonini,contato@pilar-aracruz.com.br,Pilar,1 +Nestor Terra Dias,nestor.dias@urbano.com.br,Arroz Urbano,1 +Márcia Alvares,contato@alvaresarcondicionado.com.br,Alvares Ar Condicionado,1 +Annibal Vianna Sampaio Neto,geradm@icb.com.br,Yacht Clube da Bahia,1 +Luciana,lrsfranca@faj.br,FAJ,1 +Sonia Maria Da Silva Santos,sonia-ramalho@hotmail.com,restaurante tia sonia ltda,1 +Marcos Roberto Righi,marcosrighi@avato.com.br,Avato,1 +RALFE TEIXEIRA REAL,ralfereal@avato.com.br,Avato,1 +Nísia F. Dellapino,nisiadellapino@cremesp.org.br,CREMESP,1 +Margareth,margareth.rodrigues@rminfraestrutura.com.br,RM INFRAESTRUTURA,1 +Marconi Muilaert Junior,marconi.markone@gmail.com,Mark One,1 +Gabriele,gabriele.figueiredo@supremocimento.com.br,Supremo Cimento,1 +Antonio Mariano Gomes,antonio.gomes@trifil.com.br,Scalina,1 +Vanessa Bilotti Laidens,rh@refratek.com.br,REFRATEK IND,1 +Viviane Duarte,amanda.sequeira@covidien.com,POLYSUTURE,1 +Creso Macedo,creso.macedo@cw-opr.com.br,CUSHMAN WAKEFIELD,0 +Daniela,daniela@wetzel.com.br,WETZEL,1 +Ismael Lourenço,recrutamento2@verdesmares.com.br,TV VERDES MARES,1 +Pablo Pinheiro,pablo@rdoisitservices.com.br,RDOIS IT SERVICES,1 +Fernanda Caroline Borges,rh@metaindustrial.com.br,Meta Engenharia.,1 +Cristiane Cordeiro,financeiro@solucoesprime.com,PREMIER SOLUÇÕES TECNOLOGICAS,1 +Josemir Manoel Da Silva,cursos1@energeticaserranopolis.com.br,energetica serranopolis,1 +Edney Monte,edney.monte@ig.com.br,CATELECOM,1 +Anderson Andrade,anderson.andrade@tdwilliamson.com,T.D. Williamson,1 +Rosely Marin Zito,contato@ahmiluminacao.com.br,AHM Iluminação,0 +César Francisco Nascimento,cmibnu@terra.com.br,CMI,1 +Willian,wst.engenharia@gmail.com.br,WST Engenharia,0 +Gabriela Henrique Zambaldi,gabriela@giga.inf.br,LUVI COMERCIAL LTDA,1 +Mislene Aparecida Lima Ferreira,mislenelima1@hotmail.com,ligue china delivery,1 +Marco Antonio,agroarms@hotmail.com,agro-ar,1 +Locaban Banheiros Químicos,socorrolages@gmail.com,Locaban,1 +Raul Soares,empsoares@yahoo.com.br,RS Empreiteira Constr. Ltda,1 +Gabriel Santiago Gastardelli,gabriel@grisanti.com.br,Grisanti,1 +Carla,santanacarlinha@hotmail.com,gringos lanches,1 +Hans,hans.kedor@engecorps.com.br,Engecorps,1 +Flavio De Luca,flavio.luca@sulnorte.com.br,Sulnorte,1 +Lilian Cristina Barbosa Ribeiro,lbribeiro.sbgl@infraero.gov.br,INFRAERO,1 +Geraldo Carlos De Araujo,carlos.policlinicabritanica@hotmail.com,POLICLINICA BRITANICA,1 +André Júnio Gonçalves,andrejgonsalves@yahoo.com.br,Barbosa & Andrade,1 +Ananias Herculano Dos Santos,setral@setralconsultoria.com.br,SETRAL CONSULTORIA,1 +Roberto Ludwig,betogueta@bol.com.br,Ludwig instalações elétricas,1 +Lucas Moura,lucas@marmoriamoura.com.br,marmoraria moura,0 +Renan Grano,h4construcao@gmail.com,H4 construcao civil e fundacoes,1 +Jean Xavier,maxseg.sms@gmail.com,JEAN CARLOS DE SOUSA XAVIER,1 +Wendell Almeida Santos,wendell.mwservice@gmail.com,MW Service,1 +Alecsandro Lopes,nadia.sn@hotmail.com,conseg,1 +Alecsandro Lopes,alex.jlopes@hotmail.com,conseg,1 +Tiago Janke,tiago@colegioestillo.com.br,Grupo Educacional Walesko EIRELE - ME,1 +Cleonice Rodrigues Das Chagas,cleonicer528@gmail.com,VOU Hotelariaeireli,1 +Jeferson Vaz De Freitas,jefersonengenharia@live.com,Jvf engenharia,1 +Andrea Vieira Lopes Cunha,marketing@vnet.com.br,ICTUS INFORMATICA E TELECOMUNICAÇÕES LTDA,1 +Leandro Borges,leandro@lifttechnology.com.br,LIFT TECHNOLOGY LTDA - ME,0 +Bahia Ferro Fsa Ltda,cintia@bahiaferro.com.br,BAHIA FERRO FSA LTDA,1 +Paulo Fernando Lovato,pflovato@uol.com.br,COMERCIAL DE COMBUSTIVEIS LOVATO LTDA,1 +Natanael Costa Da Silva,sevemhome@gmail.com,SEVEM HOME,1 +Carolina Pucci,carolpuccci@exactaderme.com.br,EXACTADERME,1 +Ana Carolina De Salles Godo,financeiro@eficel.com.br,Eficel Eficiencia Elétrica,1 +João Francisco Da Silva Filho,lucascarvalho@icamentosmartins.com.br,Içamentos Martins,1 +Johnson Hamada,johnsonhamada@hotmail.com,Hamada Agencia de Empregos,1 +Thiago Cesar Souza Lopes,coordenacao@amundialoleoegas.com.br,AMUNDIAL ÓLEO E GÁS LTDA ME,0 +Fernanda Feiten,fernanda@jaequipamentos.com.br,JA INDUSTRIA E COMERCIO DE MAQUINAS LTDA,1 +Luiz Antonio Alves De Oliveira,stbtreinamentos@terra.com.br,STB CURSOSE TREINAMENTOS,1 +Thiago Freitas,itaocapc@terra.com.br,Itaoca Projetos e Construções Ltda.,1 +Ronaldo De Oliveira E Silva,ronaldo.oliveira@rhonna.com.br,RHonna Human Solutions,1 +Beltran Rurick Guedes Lira,beltran_itachi@hotmail.com,ELETRONORTE,1 +Valério Santos De Souza,souza.valerio@ymail.com,VALERIO SANTOS DE SOUZA,1 +Hamilton Passos,gerenciaoperacao@sfrancisco.net,SAO FRANCISCO COMERCIO DE COMBUSTIVEIS E LUBRIFICANTES,1 +Rafael Alonso,administracao@sfrancisco.net,SAO FRANCISCO COMERCIO DE COMBUSTIVEIS E LUBRIFICANTES,1 +Ana Lucia De Lima Bezerra,ana.bezerra@uol.com.br,Terminal Químico de Aratu S/A - Tequimar,1 +Fabio Souza,fabio.souza@sfrancisco.net,SAO FRANCISCO COMERCIO DE COMBUSTIVEIS E LUBRIFICANTES,1 +Jackson Da Silva,estudioaraca@gmail.com,jackson da silva studio me,1 +Edson Pires Guimaraes,edson@projeletro.com,PROJELETRO PROJETOS E MONTAGENS INDUSTRIAL,0 +William Guedes,ajms.comercial@gmail.com,AJMS engenharia ltda.,1 +Joanis Ambrosio Poubel Oliveira,joanispoubel@gmail.com,CLODOALDO CESAR DE PAULA - ME,1 +Pedro Caduda,orcamentos.campinas@gmail.com,Ar condicionado campinas,1 +Marcia Baltazar,rh@marambaia.com.br,Marambaia Hotel S.A.,1 +Ivan Da Silva,sesmt@jacarei.sp.gov.br,Prefeitura de Jacareí,1 +José Vieira Dos Santos,vieira@visteon.com.br,Vistecon contabilidade SS _ EPP,0 +Nilton Jose De Oliveira,njsistemas@njsistemas.com.br,NJ SISTEMAS,0 +Andrea Martin Da Silva,andrea.martin@bourbon-online.com,BOURBON OFFSHORE MARITIMA SA,1 +Rodrigo Porto,rodrigo@ufpmaquinas.com.br,U.F.P MÁQUINAS E EQUIPAMENTOS LTDA-ME,1 +Henrique Dos Santos Scarabelli,henrique.santos@energec.com.br,Energec,1 +Murillo Tampelini,murillo.tampelini-external@bluestarsilicones.com,MURILLO,1 +Alencar José Do Carmo Veiga,alencarveiga@yahoo.com.br,Alencar José do Carmo Veiga,1 +Emidio Galvão,emidio@shw.com.br,SHW Automação Industrial,1 +Norival Brazilino Rocha Junior,norivalrc@gmail.com,NBR TELECOMUNICAÇÕES E CONSTRUÇÕES,1 +Vinicius Luis Alexandre,nfe@forjascaxiense.ind.br,Forjas Caxiense LTDA,1 +Luiz Henrique Da Silva,l.henrique26@hotmail.com,ZEITOUN & ZEITOUN,1 +Clenisse Faccioli Anunciação,segurancadotrabalho@sccereais.com.br,sc cereais,1 +Eliane Teles Ferreira,liotelesferreira@gmail.com,T & F Construções e Empreendimentos Ltda,1 +Sabrina Duenki,financeiro.bnupragas@terra.com.br,Blumenau Controle de Pragas,1 +Rangel Das Chagas Cambuim,rangel.cambuim@venergia.com.br,Votorantim Energia,1 +Camila Miranda Da Silva,camila.silva.cs1@vcimentos.com,Votorantim Energia,1 +Romeu Frusciante,cpqiguatemi@terra.com.br,ORS CAFE LTDA,1 +Jallinne Acruche,gerencia@segmedcampos.com.br,segmed serviços medicos,1 +Adm Silva,adm1@wssistec.com.br,WS SISTEC,1 +Wagner Francisco De Paula,wmsegurancadotrabalho@gmail.com,W&M Segurança do Trabalho e Meio Ambiente,1 +Kleber Bertalha Teodoro,kleber.bertalha@pssengenharia.com.br,KLEBER BERTALHA TEODORO ME,1 +Carlos Egmar De Oliveira Brito,carlinhosurso@hotmail.com,C7 CONSTRUÇÕES,1 +Amanda Silva De Almeida Lima,st@ipapeis.com.br,INDUSTRIA DE PAPEIS PARA EMBALAGENS IRMÃOS SIQUEIRA LTDA,1 +Hyatan Hyury Fagundes,wa.som@hotmail.com,hyatan hyury fagundes me,1 +Desativado Desativado,sonia@tecebem.com.brdesativado,Tecebem Beneficiamento Têxtil Ltda,0 +Ailton Bocanera,cursos@agautomacao.com,AG AUTOMAÇÃO INDUSTRIAL,1 +Miguel Topanotti,eskimosorvetespf@gmail.com,M.M. COMÉRCIO E DISTRIBUIÇÃO DE SORVETES,1 +Josue Miranda Da Silva,josue@jncombustao.com,josue miranda da silva 40131652877,1 +Lucas Borges Guimarães,guimaraesearantes.eng@gmail.com,GUIMARÃES E ARANTES LTDA,1 +Edson Nascimento,edson.nascimento@marcaambiental.com.br,MARCA CONSTRUTORA,1 +Marcelo J Gasparini,gasparini-assessoriaeconsultoria@hotmail.com,gasparini assessoria consultoria representação e venda,1 +Fernando Acosta,fernando@redetell.com.br,PRORIM,1 +ROSENILDE SCHULZ,segtrab@prorim.org.br,PRORIM,1 +Fabiano Alves Maciel,fabianoalvesmaciel@gmail.com,Faseg Assessoria e Consultoria em Segurança do Trabalho,1 +Bo Chang,bo.chang@esstech.com.br,ESSTECH SOLUCOES EM TECNOLOGIA LTDA - EPP,1 +Lazaro Destefani,jkinstalacoes@bol.com.br,joão a kanheski me,1 +Rodrigo Antunes Da Silva,guigoa_silva@live.com,RAS Prestação de Serviços,1 +Luiz Claudio Machado Da Silva,lcsms.adm@gmail.com,LC SMS SOLUÇOES EM GESTÃO INTEGRADA,1 +Edinéia De Fatima Eugênia Dos Prazeres,cieloengenharia@gmail.com,Cielo Engenharia LTDA ME,1 +Douglas Batista Silva,contato@geraldorefrigeracao.com,Silva Refrigeração Limitada - ME,0 +Raquel Vitorino,raquel.harpia@hotmail.com,HARPIA TRANSPORTE LTDA,1 +Maria Aparecida Nobre,maria.goncalves@st.unisal.br,UNISAL,1 +Icaro Ricardo Castro Piana,icaro@emeque.com.br,EMEQUE EMPRESA MINEIRA DE EQUIPAMENTOS LTDA,1 +Rivael Alves De Araújo,riva.eletricista@hotmail.com,Riva serviços elétricos,1 +Durval Simões Junior,durval@nr4.com.br,NRQuatro Segurança do Trabalho e Meio Ambiente Ltda,1 +Carolina Sampaio De Brito Duarte,marceloinho963@hotmail.com,RIO REAL DERIVADOS PETROLEO,1 +Jose Cicero,tecs.alagoas@gmail.com,tecs - seguranca do trabalho,1 +Andre Luiz Araujo,andre@intertechrio.com.br,IntertechRio,1 +Eletrotec Soluções Elétricas,eletrotecbg@gmail.com,DDP SOLUÇÕES ELÉTRICAS LTDA,1 +Cláudia Leite,comercial.cpassecon@gmail.com,CP ASSECON – Saúde e Segurança do Trabalho Eireli EPP,1 +Melina Kubo Batista,melina@catime.com.br,TRANSPORTADORA E ENTREGADORA SAO TOME LTDA,1 +Joice Martins Teixeira,joiceteixeira@factorhumano.com.br,Factor Humano,1 +Délcio Chicora,delcio@paranacidade.org.br,PARANACIDADE,1 +Diego Alexandre Rezende Marcondes,diegoarezende@gmail.com,SESMT ASSESSORIA EM SEGURANÇA DO TRABALHO E SAÚDE OCUPACIONAL,1 +Fernando Marafoc,intertelasplasticos@gmail.com,intertelas plasticos eireli me,1 +Roberto Carlos De Azevedo,robertocarlos.robertocarlosadv@gmail.com,Roberto Carlos de Azevedo Sociedade Individual de Advogados,1 +Gabriel Aparecido Damasceno Souza,comercial.gmcsolar@gmail.com,Prisma Energy Solar,1 +Alexandre Amarilho,alexandre@triaviation.com.br,Tri Aviation,1 +Adalberto Correia Dos Santos Junior,adalberto.santos@coopsp.coop.br,Coop - Cooperativa de Consumo,1 +Gcomm Teleinformatica Ltda,contato@gcomm.com.br,GCOMM TELEINFORMATICA LTDA - ME,1 +Sandra Vasconcelos,multi.solucoes@gmail.com,MULTI SOLUÇÕES EQUIPAMENTOS DE PROTEÇÃO INDIVIDUAL LTDA EPP,1 +Abmidia Comunicação,administrativo@abmidiabh.com.br,ABmidia Soluções Digitais e Editoração Ltda,1 +Lilyane Nunes De Oliveira,lilyanenunes@gmail.com,Staefa Control System Ltda,1 +Silvio Nei De Jesus Dos Santo S,silvionjsantos@hotmail.com,freelance santos,1 +Carla Virginia Arantes,arantescarla@ig.com.br,ESCOLA ARANTES LTDA,1 +Rennand Melo,saopaulo@impactoeng.com,Impacto São Paulo,1 +Clovis Hoffmann,thevesom@gmail.com,TVSOM COMERCIO DE ELETRO ELETRONICOS EIRELI - ME,1 +Thenile Coleta Arrruda,thenile.arruda@agroamazonia.com.br,AGRO AMAZÔNIA PRODUTOS AGROPECUÁRIOS S/A,1 +Iara Lurdes Pereira,geane.souza.geane@hotmail.com,Frangos Morgana Abate de aves Ltda,1 +Sandra Mendes,mendes.sandra@towerinternational.com,TOWER AUTOMOTIVE DO BRASIL LTDA,1 +Luiz Henrique Da Silva Veras,veras_skt@yahoo.com.br,Gigabyte Telecomunicações,1 +Alessandro Ferreira Dos Santos.,alessanfs.19@gmail.com,Tryoutoos,1 +Aguinaldo Ataide De Sousa,aguinaldo.ataide@yahoo.com.br,Instituto de ensino Técnico Ataide,1 +Fábio Dos S. Sousa,paulocesarpd@hotmail.com,Hidro Posto Dendezeiros,1 +Gregor Goedert De Oliveira,gregor@santopedaco.com,Santo Pedaço Pizzas Ltda,0 +Lourival Alves Antunes,refricoolmiacltda@hotmail.com,Refricool MIAC Ltda,1 +Nivea Nely De Amorim Fontan,niveanely@gmail.com,JBR PNEUS COMÉRCIOS E SERVIÇOS LTDA,1 +Edson Dos Santos Ferreira,pontualmedicao@hotmail.com,PONTUAL MEDIÇÕES E SERVIÇOS LTDA ME,1 +Jose Amilton Alves,vendas@mserradourada.com.br,metalurgica serra dourada,1 +Genilson Mendes Amaral,niu_14@hhotmail.com,VG AMARAL INSTALAÇÕES LTDA- ME,1 +Everaldo Borges,promorarprojetos@gmail.com,promorar,1 +Elizeu Marcos Izaias,elizeu.m.i.1971@gmail.com,AUTO POSTO SKINÃO DE GARÇA LTDA,1 +Joana Darc Pereira Dantas,joanadantas@hotmail.com,KIMMAI INDÚSTRIA E COMÉRCIO DE PRODUTOS DE LIMPEZA LTDA,1 +Nelson Teixeira Filho,nelson.filho@ibrep.com.br,IBREP/PR,1 +Alison Da Rosa,contato@larestrelaguia.com.br,Estrela Guia,1 +Laura Torres Oliveira Peixoto,laura@gptopografia.com.br,GP Engenharia e Topografia LTDA,1 +Luiz Carlos Mesquita,luiz.mesquita@falgoes-solutions.com.br,Falgoes-solutions Serviços industriais,0 +Jean Carlos Pereira,jean@avivalog.com.br,Aviva Serviços,1 +Fabrício Mendes,futuroinformaticacj@hotail.com,Alfa Informática,1 +São Francisco Combustíveis,paa.campinagrande@sfrancisco.net,SÃO FRANCISCO COMERCIO DE COMBUSTÍVEIS E LUB. LTDA,1 +Marco Aurélio Sugino Toba,marcotoba1@hotmail.com,Centro de Estudos Superiores de Santo Antonio de Jesus,1 +Josiane Fernandes,jfernandes@centroflora.com.br,Anidro do Brasil Extrações SA,1 +Bruno Ferreira Lemos,bruno.lemos@clnorte.com.br,CLN,1 +Thiago Sautchuk,thiago.s@eloforte.com,Eloforte Equipamentos Florestais,1 +Ana Leide Mendonca,ana.mendonca@gertec.com.br,gertec brasil ltda,1 +Levi Ferreira De Oliveira,levi.kznet@hotmail.com,KzNet Telecom,1 +Tatiana Marchese Barbosa,tatii_mar.barbosa@hotmail.com,dedetização barbosa,1 +Moizes Costa,moizes_costa@yahoo.com.br,Empreiteira Josamar LTDA,1 +José Luiz Moreira Dos Santos,joseluizmoreiradossantos@gmail.com,Futuro Solar Ltda,1 +Josiane Lopes,rh1@hmsresiduos.com.br,HMS TRANSPORTES,1 +Shirley Sousa,souzacoelhokaren@gmail.com,Supermix Concreto,1 +Washington Luis Cruz Gouveia De Asevedo Machado,washington@wmconectividade.com.br,W L C G DE A MACHADO CONECTIVIDADE E ELÉTRICA ME,1 +Massaru Nassu,massaru@biocamp.com.br,BIOCAMP LABORATÓRIOS LTDA,1 +Sergio Albuquerque Frederes,sergio.frederes@coloproctocanoas.com.br,Coloprocto - Clínica do aparelho Digestivo,1 +Vitor Waiand,vitor.waiand@brasil-agro.com,jaborandi Agricola ltda,1 +Ana Dalmar Barros Das Neves Gomes,andbng@hotmail.com,AMG ASSISTÊNCIA MÉDICA GLOBAL,1 +Sergio Aparecido Alvarenga,sap_alvarenga@hotmail.com,SERGIO APARECIDO ALVARENGA-95866752891,1 +Janaína Oiiveira Annunciato,financeiro@atriaengenharia.com.br,ATRIA CONSTRUÇÕES LTDA EPP,1 +Marcos Agner,marcosagtst@hotmail.com,moto serviços especializados,1 +Vanessa Fernandes,vanessa.fernandes@netwest.com.br,NETWEST PROVEDOR BANDA LARGA,1 +Roberto Soares,vsrionegro@hotmail.com,METAL VIDRO CONSTRUÇÃO LTDA-EPP,1 +Hermann Rainer De Britto,hermann.britto@live.com,Weir do Brasil,1 +Marcelo Borges Martins,contato@heliumsolar.com.br,CONSET,1 +Alza Gama,alza@colegioplante.com.br,Colégio PLANTE,1 +Marli Kasper Rex,marlirex@yahoo.com.br,MECANICA REX,1 +Annias Herculano Dos Santos,ananias.herculano@setralconsultoria.com.br,SETRAL CONSULTORIA,1 +Jose Claudio Mirandola,cmirandola@ashland.com,ISP Ind e Com de Ingred e Esp para Alimentos Ltda,1 +Douglas Dos Santos Rodrigues,douglas@dsrsolucoes.com.br,DSR SOLUÇÕES EM ELETRÔNICA LTDA.,1 +Ballagro Agro Tecnologia Ltda,ednaldo@ballagro.com.br,Ballagro Agro Tecnologia Ltda,1 +Jarbas Carneiro,cafecoite@gmail.com,E A RAMOS CARNEIRO,1 +Carlos Rollim,cd45ilumina@gmail.com,CD 45 Montagens Ltda ME,1 +Andre Luiz Ramos Da Silva,andretst@live.com,NACONSULT,1 +Fransimar Aparecido Da Silva,fransireformax2010@hotmail.com,FRANSI REFORMAX PINTURA HIDRÁULICA E ELÉTRICA LTDA,1 +Daniel Gomes Silva,metodoinspecoes@hotmail.com,método inspecões,1 +Matheus Borges De Oliveira,l.aservicosdeancoragem@gmail.com,L A ANCORAGEM PREDIA,1 +Giane Rodrigues Da Costa Souza,gianercs@hotmail.com,FG Confecções,1 +Clemar Marciano Di Rado,junior@vanguardsecurity.com.br,Vanguard Security,1 +Mauricio Ferreira Pinto,financeiro@csaambiental.com.br,CSA GESTÃO DE SERVIÇOS LTDA,1 +Gil Sil,gilvanerh@gmail.com,Braslumber,1 +Agenor Antonio De Freitas,agenor@gerlab.com.br,GERLAB INDÚSTRIA E COMÉRCIO DE MÓVEIS E EQUIPAMENTOS PARA LABORATÓRIO LTDA,1 +Carlos Nunes De Souza,rhdracena@hotmail.com,CNS TECNICO EM SEGURANCA DO TRABALHO,1 +Marcos Agner,marcosagtst@gmail.com,moto serviços especializados,1 +Agenor Antonio De Freitas,fiscal@gerlab.com.br,GERLAB INDÚSTRIA E COMÉRCIO DE MÓVEIS E EQUIPAMENTOS PARA LABORATÓRIO LTDA,1 +Viviane Marques De Moraes,barcafeagora@gmail.com,Viviane Marques de Moraes,1 +Marcos Santos Souza Santos,marcomssouza@hotmail.com,MS SOUZA,1 +Marcelo Santos,atendimento@multigas.com.br,D.P.A SERVIÇOS EIRELI,1 +George Lacerda,george@handsonconsultoria.com,HandsOn Consultoria,1 +Vania Regina,vania@tecnoambar.com.br,Tecnoambar Eletricidade e Automação Ltda,1 +Lazaro Destefani,laxarodestefani@bol.com.br,joão a kanheski me,1 +Lazaro Destefani,lazarodestefani@bol.com.br,joão a kanheski me,1 +Clemer Lopes,financeiro@grupoambipar.com.br,getel transporte,1 +Graziele Alves Penariol,adm1@squareautomacao.com.br,Grad Square Serviços de Automação Ltda,1 +Willian Marinho,contato@consultoriaomega.com.br,Omega Engenharia,0 +G&P,gestao@omegaenergia.com.br,Omega Engenharia,1 +Ana Kruk,financeiro@tonvisual.com.br,Ton Visual Comunicação Ltda,1 +Ana Paula Dos Santos,anaescoladominio@gmail.com,ANA P DOS SANTOS,1 +Jonathan Santana Da Silva,jhonsantanasilva92@gmail.com,Brumado Internet,1 +Digital Cine Audio Video,digitalcinevideo@gmail.com,Digital cine Audio e video,1 +William Vilani Moreira,williamvilane@alumglassesquadrias.com.br,ALUMGLASS ESQUADRIAS DE ALUMINIO,1 +Aléxis Naud Rosa,financeiro.slbc@slavierohoteis.com.br,SLAVIERO EMPREENDIMENTOS HOTELEIROS LTDA,1 +José Douglas Matheus Souza Alves,douglasmatheus12@hotmail.com,SMTT ARACAJU,1 +Rodrigo Villas,arqvillas@gmail.com,ARQVILLAS REFORMAS PREDIAIS EIRELI,1 +Sueli Mitie Katata Forti,ghk-smk@hotmail.com,São Bernardo,1 +Guaci Bravosi Tonelo,contato@aguiasegur.com.br,aguia sistemas de segurança,0 +Marcelo Cardoso,mcsguia@hotmail.com,Cases temporada.com,1 +Luiza Antunes Soares,luiza.soares@esab.com.br,ESAB - SALVADOR,1 +Vanessa Yoko Futata,qualidade@attos.ind.br,Attos Serviços de Alimentação,1 +Vanessa Yoko Futata,vanessa@attos.ind.br,Attos Serviços de Alimentação,1 +Carmelita Forbici,odomdebemcuidar233@onedrive.com,O DOM De Bem Cuidar,1 +Luiza Antunes Soares,luiza.soares@esab.com.br,ESAB-RIO DE JANEIRO,1 +Andre Silva Faria,suporte02pc@gmail.com,Tracker,1 +Luiza Antunes Soares,luiza.soares@esab.com.br,ESAB - PORTO ALEGRE,1 +Luis Roberto Ribeiro Seixas,ribeiroseixas@ribeiroseixas.com.br,Ribeiro Seixas Instalacoes e Materiais Eletricos Ltda,1 +Cordeiro Guindastes,anapaula.berg@grupocordeiro.srv.br,Grupo Cordeiro,1 +Josemari Barreto,josi.barreto@oi.com.br,usm,1 +Anderson Eduardo,lab@cottonil.com.br,Cottonil do Brasil,1 +Jacir Paris,jacir@xpert.com.br,XPERT,1 +Ramon Leal De Freitas,mgarcondicionado@hotmail.com,M&G arcondicionado,1 +Ivonildo Moura Macedo,phenix.solucoes@gmail.com,phenix.solucoes@gmail.com,1 +Mario De Melo,mario.melo@mdmconsulting.com.br,MDM CONSULTING,1 +Pablo Gutterres Martins,pablo@redesplit.com.br,Pablo Gutterres Martins,0 +Sheila Rodrigues,sheila@asst.com.br,ASST Assessoria e Suporte em Segurança ltda,1 +Poliane Heloisa De Araujo,heloizapoliane@gmail.com,DHL SUPPLY CHAIN,1 +Claudia Sandi,rh@trdi.combr,MECANICA INDUSTRIAL CAXIAS EIRELLI,0 +Jair Pereira Da Silva,jpcascavel28@hotmail.com,CONSEGT,1 +Fernanda Luisa Gewehr,fernanda203131@gmail.com,ALS CALÇADOS LTDA ME,1 +Liziane Salomao,liziane.salomao@mcgengenharia.com,MCG ENGENHARIA DE PROJETOS LTDA.,1 +BRUNO MAURITAN BISPO CINTRA,bruno.cintra@mcgengenharia.com,MCG ENGENHARIA DE PROJETOS LTDA.,1 +Cláudia de Oliveira Cruz,claudia.cruz@mcgengenharia.com,MCG ENGENHARIA DE PROJETOS LTDA.,1 +Edinaldo Cavalcante Dos Anjos,catia_sely@hotmail.com,METATIVA CONS. E SERV. DE ENGENHARIA LTDA,1 +Maria Aparecida Dos Santos,arestaurepinturas@outlook.com,Arestaurepinturas,1 +Luis Rodolfo Pereira,helptronic1508@gmail.com,Helptronic Manut. Ind.,1 +Ana Paula Vargas Monteiro,ana@multmetal.com,Multmetal Com Visual e Serralheria Ltda ME,1 +Marcelo Juliano Da Silva,delta.brasileira@gmail.com,Deltaseg - Segurança e Medicina do Trabalho,1 +Alexandre De Abreu Gomes,alex_agomes@hotmail.com,LDA Telecomunicações,1 +Igor França Guedes,suporte@1rigo.com.br,Registro de Imóveis da 1ª Circunscrição de Goiânia,1 +Janisson De Melo Santos,janisson_melo@unit.br,Gráfia Gutemberg,1 +Rafael Gomes,financeiro@procnc.com.br,"PROCNC MANUTENÇÃO, REPARAÇÃO EM EQUIOAMENTOS, IMPORTAÇÃO E COMERCIO LTDA",1 +Janisson De Melo Santos,janissonsantos@yahoo.com.br,Gráfia Gutemberg,1 +Marcia Carvalho,marcia@balancaspadrao.com.br,BALANÇAS PADRÃO LTDA,1 +Aguinaldo Ataide De Sousa,aguinaldo@institutoataide.com.br,Instituto de ensino Técnico Ataide,1 +Marcio Falchi Vieira,marcio_falchi@hotmail.com,marcio falchi vieira - mei,1 +Paulo Henrique De Lima Sabra,sabra@ssabra.com.br,S & Sabra Comércio e Serviços Ltda,1 +Kemerson De Oliveira Batista,protwork@hotmail.com,PROT-WORK ASSESSORIA E CONSULTORIA,1 +Fernando Wolffenbuttel,comercial@fwsolucoes.inf.br,20670713000170,1 +Josemari Barreto,seguranca@usm.ind.br,usm,1 +Camila R Wilbert,camila@vigimaster.com.br,Vigimaster,1 +Alumater Alumínio Industrial Ltda,maiara.orlandi@alumind.com.br,Alumater Alumínio Industrial,1 +Cristian Trapp De Carvalho,suprimentos.compras@unilasalle.edu.br,UNIVERSIDADE LA SALLE,1 +Maria Augusta,autoposto2irmaos.ro.nfe@gmail.com,COMPANHIA RODRIGUES DE COMBUSTIVEIS,1 +Robson Vieira De Castro,rvc-alsken-es@hotmail.com,Alsken Serviços Técnicos e Manutenção,1 +Roger Alvarenga,g5ambiental@hotmail.com,R. Alvarenga-ME,1 +Jorge Da Silva Santos,jorgesilvakv@yahoo.com.br,visamtec projetos e instalações Ltda.,1 +Alexandre,almoxarifado@copper100.com.br,copper100,1 +Fernando Ogawa,fernando@canalvoce.com.br,Canal Você,1 +Joy William De Oliveira Matos,joy.matos@isiengenharia.com.br,ISI ENGENHARIA E COMÉRCIO LTDA,1 +Glasiela Freire Ferreira Damazio,glasifreire@hotmail.com,Samarco,1 +Brunno Raythz,vendas@polisservicos.com.br,massagão e almeida sistemas de segurança,1 +Kênia Barbosa,psicokenia@yahoo.com.br,Shambelle indústria e comércio de cosméticos ltda,1 +Julia Fernanda,seguranca@thecmec.com.br,THECMEC CALDERARIA E TUBULAÇÃO LTDA ME,1 +Sueli Becker,mercadobecker1@hotmail.com,MERCADO BECKER,1 +Vinícius Lima,vinicius.lima@unimedprudente.com.br,Unimed - F'NA EOURO GESTAO DE FRANCHISING E NEGOCIOS LTDA,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,Unimed - F'NA EOURO GESTAO DE FRANCHISING E NEGOCIOS LTDA,1 +Mariana Garcia,mirianruolla@nobleagri.com,Noble Agri,1 +Tatiana,tatiana.castelli@gleam.com.br,Gleam,1 +Caroline,carol.pinheiro@bb.com.br,Banco do Brasil,1 +Aguinaldo Junior,junior@cargomax.com.br,Cargoflex,1 +Amarildes Pereira De Andrade,artessma@gmail.com,ARTESSMA CONSULTORIA EM SEGURANCA DO TRABALHOARTESSMA CONSULTORIA EM SEGURANCA DO TRABALHO,1 +André,andre.costa.pinto@dupont.com,Andé,1 +Normenia,comercial@jcengenharia.eng.br,JCAMARGO ENGENHARIA,1 +Natan Lopes Da Cunha,natancunha@ig.com.br,casa da nobreak,1 +Mari Stela Pedro,maristela@cidasc.sc.gov.br,CIDASC,1 +Agatha Albuquerque,adm@clinicatrinutrix.com.br,Clinica TRINUTRIX,1 +Franklin,aoitec@aoitecautomacao.com.br,aoi tec automação ltda me,1 +Gisele Uchoa Da Silva,sup.manaus@norautorentacar.com.br,NORAUTO,1 +Rafael Teixeira,rafaelteixeira@norautorentacar.com.br,Norauto Rent a Car,1 +Carlos Henrique Martins,carlos.martins@lupusalimentos.com.br,Lupus Desenvolvimento em Alimentos Ltda,1 +Alex Caetano,leco.simples@gmail.com,Comando do Terceiro Distrito Naval,1 +Ariane,arianeseg@gmail.com,CONTAF,1 +Kamilla,kamillacarvalho@bol.com.br,VJR Comercial,1 +Herlaine Romão,constanciaconst@gmail.com,NÃO TEM,1 +Rafael Costa Fernandes,rafael@neologic.ind.br,Neologic,1 +Dario Santos,dario.santos@steag-erb.com.br,STEAG-ERB,0 +Marcelo Castro Magalhães,mctbauru@gmail.com,MCM,1 +Nathalia Alves Centeno,comercial@rctel.com.br,RC TELECOMUNICAÇÕES,1 +Guilherme Gonçalves Soares,guilherme.ecivil@gmail.com,Garden Campestre,1 +Thiago,thiago@vigiaseguranca.com.br,vigia sistemas de seguranca,1 +Bruno Samarini Machado,brunosamarini@gmail.com,MAC PLACAS,1 +Guilherme Eduardo Pacheco De Oliveira,guilherme@syguima.com,Syguima Engenharia,1 +Anderson Da C Silva,baceleteengenharia@ig.com.br,bacelete e silva construções,1 +Rafael Peixoto,rafaelp_pereira@yahoo.com.br,Empresarial Serviços,1 +Jorgina Figueroa,jorgina.martins@terra.com.br,LEOBABY,1 +Rosangela,tst@internacionalcouros.com.br,INTERNACIONAL,1 +Leticia K Tessmann,nicolas@unicaconsultoriarh.com,unica consultoria,1 +Jose Ademir Bezerra,ademircursos@gmail.com,ONG DE PREVENÇÃO E COMBATE A INCÊNDIOS,1 +Ailson Tavares,eglalves@gmail.com,Poynt Net provedor,1 +Marco Antonio De Oliviera Biss,fernanda.scalcon@pr.senac.br,SENAC,1 +Leoberto Esmério Pereira,dpxgestao@gmail.com,DPX GESTAO,1 +Carlos Otávio Weber,cow62@outlook.com,Carlos Weber,1 +Jardel Korte,jardel.k@wkservice.com.br,Weise Kraft Service,1 +Luiz Claudio,marinausinagem@hotmail.com,MARINA USINAGEM,1 +Jane Maria Caetano,janemaria@queijosipanema.com.br,BRAVALAT,1 +Marilize,mari.cruz@lixastatu.com.br,GK Abrasivos,1 +Luise Tiara Benini Do Amaral,ggeral.arcongel@gmail.com,ARCONGEL AR CONDICIONADO,1 +Rafael,rafael@safetyconsultoria.com.br,Safety,1 +Frank Matos,frank.matos@macegenharia.com,Mac engenharia e Instalações ltda,0 +Adilson Duarte Dos Santos,elianepcorrea@hotmail.com,Bar e Pastelaria União Santista,1 +Daiane Lima,daianemkt.almeida@gmail.com,FACILITYDOC,1 +Cleuzi De Oliveira Assis,taty_marega@hotmail.com,samuca,1 +Delmer Sales,delmer.sales@perbras.com.br,PERBRAS - Empresa Brasileira de Perfurações,1 +Mateus Vinicius Mateus,financeiro@agyonet.com.br,AGYONET,1 +Helcio Luis De Araujo Nunes Souza,helcio.luis@gmail.com,carnaubalink,1 +Letícia,administracao@dualtronics.com.br,Dualtronics,1 +Luiza,luiza.neves@metaljato.com.br,metaljato,0 +Tadeu Lima Dos Santos,tadeu.santos@tplt.com.br,Matrinchã Transmissora de Energia,1 +Flavia Silva,flavias_p@hotmail.com,CERAMICA SAO BENTO,1 +Murilo Fleiscmann,filiperosa@grupoadservi.com.br,ADSERVI ADMINISTRADORA DE SERVIÇOS LTDA,1 +Manoel Elielson,fcjecoturismo@hotmail.com,FM TRANSPORTES LTDA,1 +Jailton,jailton@acessoocupacional.com.br,Acesso Ocupacional,1 +Tiago Dos Santos Rambor,home_service@hotmail.com.br,Home Service,1 +Adelar S Venancio,adelarvenancio@ibest.com.br,pinturas venancio,1 +Neuza Wunder Hening,dragagemmcr@hotmail.com,DRAGAGEM MCR,1 +Mateus Ciochetta Minuzzi,minuzzi2009@hotmail.com,JR construções e pavimentadora,1 +Grimaldo Farias Marques,gmarques.ssa@gmail.com,TEC VERDE,1 +Lincoln Marinho,st@lacca.com.br,LACCA,1 +Edson De Souza,edson.carvalhoesouza@gmail.com,CARVALHOESOUZA ASSISTENCIA TÉCNICA DE MAQUINAS INJETORAS .,1 +Camila Rojas,treinamento@ciaband.com.br,Bandeirantes Logistica Integrada,1 +Janaina Xavier,janainaxavier@rede020.com.br,POSTO VILA RICA,1 +Rodrigo Abrantes,rodrigo@isptec.com.br,ISPTEC TELECOMUNICAÇÕES,1 +Giuliana Aggiunti,giuliana@tintasfamosas.com.br,Tintas Famosas,1 +Hamilton Passos,combsaofrancisco@sfrancisco.net,SAO FRANCISCO COMERCIO DE COMBUSTIVEIS E LUBRIFICANTES,1 +Márcio Santos Nomiyama,marcio@omegatl.com.br,Vinimaq Eireli EPP,0 +Rosemeirre Casimiro Da Silva,rosemeirecasimiro@hotmail.com,Rosemeire,1 +Janderson Coelho Da Silva,janderson.silva@energisa.com.br,ENERGISA,1 +Ozeas Dos Santos Silva,ozeas216@gmail.com,Ozeas dos santos silva,1 +Andre Steiner Vieira,andre@antagus.com.br,ANTAGUS ENGENHARIA LTDA,1 +Glacy Ricotta,glacy@famprojetos.com.br,FAM PROJETOS CONSULTORIA IMPORTAÇÃO E EXPORTAÇÃO LTDA,1 +Camila De Miranda Pereira Corrêa,mila-cmp@hotmail.com,M&I Electric Brazil,1 +Adriela Peter Dornelles,fundacao.compras@gmail.com,Fundação Delfim Mendes Silveira,1 +Anderson Barbosa Pereira,financeiro@papereira.com.br,P. A. PEREIRA CONSTRUÇÕES PREDIAIS LTDA,1 +Melquíades Jennifer Silva Oliveira,melquiades2016@outlook.com.br,Seridó Cósmeticos,1 +Cassiano Zanon,suporte3@provedorcznet.com.br,CZNet Telecom,0 +Roger de Souza,roger.souza@cznet.net.br,CZNet Telecom,1 +Jairo Henrique De Jesus,jhairohenrique@hotmeil.com,Jáirão eletricista,1 +Carlos Eduardo Garcia,contato@diagrama.eng.br,DIAGRAMA ENGENHARIA LTDA,1 +Fabio Marques De Souza,fabio.marques@ehsbrasil.com,EHS Solutions,1 +Henrique Eterio Henriques,frt.engenharia@gmail.com,frt engenharia topografia ltda-me,1 +Vitelio De Souza Costa,viteliocosta@gmail.com,ESS Engenharia,1 +Lucas Brito,brito@mixsolucoesambientais.com.br,mix soluções ambientais ktda,1 +Vanessa Regina Tavares Duz,qualidade2@hpbio.com.br,Hp Bioproteses Ltda,1 +Andrea Vieira Lopes Cunha,andrea.vieira@vnet.com.br,ICTUS INFORMATICA E TELECOMUNICAÇÕES LTDA,1 +Mário Felipe Silva Esteves,mario.esteves@autotrac.com.br,Autotrac,1 +Deoclides Martins,servitec.assistencia@gmail.com,Servitec,1 +Angelica Tomazia Da Silva,angelica.silva@bdo.com.br,BDO RCS Auditores Independentes,1 +Amanda Martelotti,durocontrol@durocontrol.com.br,Durocontrol Industria e Comércio EIRELI,1 +Fabiola Pesos,fabiolapesos.bk_consultoria@petrobras.com.br,PETROLEO BRASILEIRO SA,1 +Paulo Francis Brunoski,eletromecanica@geroma.com.br,GEROMA DO BRASIL INDUSTRIA E COMERCIO LTDA,1 +Tatyane Oliveira Cruz,financeiro@lis.com.br,LIS SOLUÇÕES INTEGRADAS EM ILUMINAÇÃO LTDA EPP,1 +Fernanda Mafra,fernanda@enprol.com.br,Enprol Engenharia e Proejtos LTda,1 +Juliane Francine Junkes,juliane.junkes@neogrid.com,Neogrid Software S.A.,1 +Matheus Ferreira Beninca,matheus.beninca@neogrid.com,Neogrid Software S.A.,1 +Ilson Anchieta De Oliveira,ilson@arbi.com.br,Arbi Rio Incorporações Imobiliarias LTDA,1 +Luiz Augusto Silva Junior,octhaengenharia@gmail.com,Octha Engenharia Ltda Me,1 +Fernanda Silva Almeida,fernanda.almeida@tecnoset.com.br,Tecnoset Inf. Prod. Servs. Ltda.,1 +Adriana Nunes Bernardo,financeiro@etaplan.com.br,ETAPLAN,1 +Wagner Taveira Trindade,wagnertrindade@gruporesolva.com,WAGNER TAVEIRA TRINDADE,1 +Gabriella Fernandes,rh@alfakit.ind.br,ALFAKIT EIRELI EPP,1 +Luciana Cairrão,luciana.cairrao@ecoponte.com.br,CONCESSIONÁRIA PONTE RIO - NITEROI S.A. - ECOPONTE,1 +Grazielle Fatima Da Silva De Jesus,aline.maia@amil.com.br,AMIL ASSISTENCIA MEDICA INTERNACIONAL S.A - UNIDADE MORUMBI,1 +Grazielle Fatima Da Silva De Jesus,gfjesus@amil.com.br,AMIL ASSISTENCIA MEDICA INTERNACIONAL S.A,1 +Lays Nogueira Silva,quality1@ottmedical.com,ott medical eireli,1 +Aline Gerhardt,aline.gerhardt@pfiffner.com.br,PFIFFNER DO BRASIL IND E COM TRANSF LTDA,1 +Carla Mirelle Santos,mirelle.santos@basf.com,BASF S.A - JACAREÍ,1 +Katia Maria Mandu Draber,katia.draber@basf.com,BASF S.A - JACAREÍ,1 +Pedro Henrique Santos,pedro-henrique.santos@basf.com,BASF S.A - JACAREÍ,1 +Silvia Duarte,silvia.duarte@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.892.102/0001-12,1 +Thais Michelle Foppa,thais.foppa@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.892.102/0001-12,1 +Michele dos Santos Garcia,michele.garcia@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.892.102/0001-12,1 +Willian Brum Da Costa,financeiro@aluminortepoa.com.br,R E E COMERCIO DE ESQUADRIAS DE ALUMINIO LTDA ME,1 +Pâmela Machado Romano,pamela.romano@ecovias.com.br,Ecovias,1 +Dane Pereira De Abreu,dane@bitz.cafe,OÁSIS GASTRONOMIA E EVENTOS EIRELI ME,0 +Gustavo De Barros Rossi,contato@newpresentenergy.com,New Present Energy,0 +Regina Alves,cgq@fraldaskisses.com.br,Midiz Indústria e Comércio de Fraldas SA,0 +Wesley Osvaldo Da Silv,financeiro@souzatelhados.com.br,VALDEMIR DE SOUZA TELHADOS - EPP,1 +Mariana Guedes Da Cunha,cadastro@inntag.com.br,"INNTAG INDUSTRIA, COMERCIO E SERVIÇOS DE MANUTENÇÃO ELETROMECÂNICA LTDA - EPP",1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Rádio e Televisão Imagem Ltda.,1 +Wanderlei Martins,wanderleimartins@kpmg.com.br,KPMG Auditores Independentes,1 +Daniel Vasconcelos Da Rosa E Silva,daniel.rosa@inovaenergy.com.br,Inova Energy,1 +Cassiano Galone,cassiano.galone@hines.com,DMO ENGENHARIA E INCORPORAÇÕES LTDA,1 +Jairo Luis Gass,jairo@tiservicers.com.br,Ti Service Comércio e Serviços de Telecomunicações Ltda,1 +Heidi Porto,hporto@hirsa.com.br,HIRSA SISTEMAS DE AUTOMAÇÃO E CONTROLE LTDA,1 +Hamilton Jesus Silva,hamilton.silva@deca.com.br,DURATEX S.A. - LOUÇAS JUNDIAÍ,1 +Hamilton Jesus Da Silva,hamilton.silva@duratex.com.br,DURATEX S.A. - LOUÇAS JUNDIAÍ,1 +Fábio Rogério Ribeiro Garcia,fabio.garcia@deca.com.br,DURATEX S.A. - LOUÇAS JUNDIAÍ,1 +Rodrigo Joaquim Dos Santos,pontual.supri@hotmail.com,Pontual Informatica,1 +Fernanda Georgia Sales Pereira,fernanda.pereira@cscenergia.com.br,CSCENERGIA,1 +ARLEN PATRÍCIO NOVELLETTO,arlen.novelletto@cscenergia.com.br,CSCENERGIA,1 +Daiana Tamara de Souza,daiana.tamara@gmail.com,CSCENERGIA,1 +DAIANA TAMARA DE SOUZA,daiana.souza@cscenergia.com.br,CSCENERGIA,1 +Clarice Lopes,clarice.lopes@luthom.com.br,Luthom Engenharia Ltda.,1 +Katiana Lemos,pessoal@brooksambiental.com.br,BROOKS EMPREENDIMENTOS LTDA,1 +Reinaldo Oliveira,reinaldo.smartconsultoria@outlook.com,smart consultoria,1 +Juliana De Boni,juliana.dboni@orangeconnect.com.br,ORANGE CONNECT SOLUÇÕES EM INFORMATICA LTDA,1 +Camila Mendes,alisios@alisiosom.com,Alisios Eólica Ltda,1 +Fernanda Oliveira,fernanda@aahbran.eng.br,AAHBRAN ENG. MANUT. E MONT. INDL. LTDA,1 +Fleuri Douglas Soares,fleuriodonto@hotmail.com,Odonto Tucuruvi Clinica Odontologica ltda,1 +Vanessa Oliveira,vanessa.oliveira@hines.com,Hines do Brasil Empreendimentos Ltda.,1 +Alisson Ben,atendimento@protseg.com,Santos e Barreto Com. e Repes. ME,1 +Andréia Guimarães Nogueira,andreia.nogueira@pam-membranas.com.br,Pam Membranas Seletivas Ltda.,1 +Gabrielle Viveiros,gabriele@pam-membranas.com.br,Pam Membranas Seletivas Ltda.,1 +Claudia Elisa Da Silva Steindorff,claudia.elisa@ativa.com.br,RSBC REDE SULBRASILEIRA DE COMUNICAÇÃO VISUAL SA,1 +Fernando C. F. Oliveira,oliveira.fernando@phenixengenharia.com.br,Phenix Engenharia Ltda,1 +Priscila Ursulina Da Silva,priscila.ursulina@pbastones.com.br,PBA SERV E COM DE PEDRAS ORN LTDA,1 +Fabiana Justi,fabiana.justi@neosolarpro.com.br,MS ENERGIA RENOVAVEL,0 +Marcos A. Castilhos,marcos@infomac.com.br,INFOMAC,1 +Lana Flavia Barcelos Santos,lana.barcelos@albioma.com,ALBIOMA CODORA ENERGIA S.A,1 +Jéssica Nicaele Rezende,jessica.rezende@albioma.com,ALBIOMA CODORA ENERGIA S.A,1 +Michele Weigel,michele.weigel@grupopratofeito.com.br,Prato Feito Alimentação e Serviços Ltda,1 +Rayssa Santana,rayssa@gcomm.com.br,GCOMM TELEINFORMATICA LTDA - ME,1 +Sergio Ricardo Barbosa Gomes,milene.deconto@disys.com,Disys do Brasil Serviços de Tecnologia L,1 +Jaison Luis Tamanini,rh@braselio.com.br,Brasélio Ind. Com. Máq. Ltda,1 +Alisson Ben,protsegepi@hotmail.com,APP COM. DE COMB. E DERV. DE PETROLEO LTDA,1 +Andrea Vieira Lopes Cunha,andreaavl.raf@ibest.com.br,ICTUS INFORMATICA E TELECOMUNICAÇÕES LTDA,1 +Maria Claudia Pereira Lourenção,setorpessoal@colegiobezerra.com.br,Educandário dr. Bezerra de Menezes,1 +Arthur Maluf Barretto,arthur.barretto@rbasaopaulo.com.br,Elabore Representações e Assistência Técnica Ltda. ME,1 +José Carlos Saponara,ilhabelagreens@terra.com.br,Ilhabela Greens Hotelaria Ltda,1 +Ricardo Santos Rossi,rsrossi@worldcourier.com.br,WORLD COURIER DO BRASIL TRANSPORTES INTERNACIONAIS LTDA.,1 +Leandro Souza,admin@uaibaby.com,Uaibaby,1 +Daiane Giacomelli,compras@multimatech.com.br,Multimatech Indústria Metalúrgica Eireli,1 +Leandro Viel,leandro@levti.com.br,LEANDRO VIEL ACACIO INFORMATICA,1 +Paulo Rocha,procha@montana.com.br,Montana Química,1 +Claudia Sandi,rh@micxcaxias.com.br,MECANICA INDUSTRIAL CAXIAS EIRELLI,0 +Cristiane Castro,cristiane@massasul.com.br,MASSASUL PRODUTOS ALIM LTDA,1 +Josenilson Dos Santos,j.seletrica@outlook.com,JS elétrica,1 +Attos Serviços De Alimentação,qualidade1@attos.ind.br,Attos Serviços de Alimentação,1 +Rosane Rodrigues Do Vale,qualidade@sopetra.com.br,Sopetra Rolamentos e Peças Ltda,1 +Maria Da Conceição Silva Dos Santos,administrativo@wmk.com.br,WMK AUTO SERVIÇO E PEÇAS LTDA,1 +Eloi Ferreira Maruggi,efmaruggi@latam.stefanini.com,Stefanini IT Solutions,1 +Angélica Chaves Aguiar Simões,aaguiar@signusdobrasil.com.br,SIGNUS DO BRASIL COMÉRCIO DE MATERIAIS HOSPITALARES LTDA,1 +Fabrizio Rocha Lima,fabrizio@spectrumpreditiva.com.br,Spectrum Preditiva,1 +Angelo Heleno Loos,predialmasterpinturas@gmail.com,LOOS PINTURAS PREDIAIS .LTDA,1 +Fábio Rogério Ribeiro Garcia,fabio.garcia@deca.com.br,Duratex s/a _ jundiaí,1 +Ricardo Araújo Prudente Pires,ricardo@dboengenharia.com.br,DBO Engenharia Ltda,1 +Cinthya Barros,cinthya.barros@basf.com,BASF SA _ CAMAÇARI,1 +Francisco Fabio Menezes Lima,ffmlima@hotmail.com,CARTHA INDUSTRIA DE ALIMENTOS LTDA,1 +Manoel Damaceno Souza Neto,neto@grupodelfino.com.br,R.V. Provedor de Internet Ltda ME,0 +Mauricio Shizuo Shimokawa,anshin.alarmes@gmail.com,MAG ANSHIN SISTEMAS DE SEGURANÇA ELETRONICA,1 +João Paulo Silva,joaopaulo@silvaesilva.com.br,SILVA E SILVA LTDA,1 +Tamiris Correia Cunha,tamiris@soccergrass.com.br,SG PISOS ESPORTIVOS LTDA - EPP,1 +Andressa Kelly Silva De Souto,andressa.kelly@soccergrass.com.br,SOCCER GRASS ASSESSORIA E ENPREENDIMENTOS ESPORTIVOS LTDA,1 +Nathalia Martins Canola,ncanola@mauacapital.com,Mauá Capital Investimentos Imobiliários Ltda,1 +Raimundo Nonato Alves Teixeira,adm@marcenariasp.com,MSP Indústria e Comércio de Móveis,0 +Alyne Yarla De Souza,elevesulmanutencoes@gmail.com,ELEVESUL MANUTENÇÕES LTDA ME,1 +Juliana Sacardo,adm@ambientarcomercio.com.br,Ambientar Comercio e Servicos Ltda,1 +Lyane Silva,lyane.silva@somosnsc.com.br,TV COLIGADAS DE SANTA CATARINA S.A. 82.645.029/0001-95,1 +Lyane Silva,lyane.silva@somosnsc.com.br,COMPANHIA CATARINENSE DE RADIO E TELEVISÃO - 82.611.617/0001-08,1 +Lyane Silva,lyane.silva@somosnsc.com.br,NC COMUNICACOES SA 79.227.963/0014-05,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NC COMUNICACOES SA 79.227.963/0014-05,1 +Julio Cesar De Abreu,jcabreu@tbg.com.br,TRANSPORTADORA GASODUTO BOLÍVIA-BRASIL - TBG,1 +Abelino Soares De Andrade,serralheriaandrade@andrafer.com.br,SERRALHERIA ARTISTICA ANDRADE LTDA.,1 +Jaqueline Santos,jaqueline.santos@resultadosdigitais.com.br,Resultados Digitais,1 +Juliana Amelia Freire,jasantos@aralco.com.br,Figueira Industria Comercio S/N,1 +Fabiano Araujo Da Silva,fabiano@fab-ar.com.br,f a da silva com e servs me,1 +Jackson Robert Machado Paes,jacksonpaes@hotmail.com,MELITA DEBUS -ME,1 +Claudiana Rodrigues,claudianarsrep@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A.,1 +Pedro Henrique Magaldi,pedro.magaldi@cyberfly.com.br,MA Soluções em Tecnologia LTA,1 +Anderson Borges,anderson@cyberfly.com.br,MA Soluções em Tecnologia LTA,1 +Carmem Rosa,carmem.rosa@senairs.org.br,SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL,1 +Patricia Mara Gonçalves Oliveira,orlandojk@gmail.com,Patricia Mara Gonçalves Oliveira 15014848850,1 +Lyane Silva,lyane.silva@somosnsc.com.br,RBS PARTICIPACOES S A - 68.737.857/0005-56,1 +Rosana Smolski,rosana.smolski10@gruporbs.com.br,RBS PARTICIPACOES S A - 68.737.857/0005-56,1 +Renato Scatolin,rscatolin@meridianmining.co,Meridian Mineração Jaburi S/A,1 +Diego Feliciano Souza,diego@omegapi.net.br,Omega pi,1 +G&P,gestao@omegaenergia.com.br,Omega pi,1 +Claudio Aparecido Alves Pereira,claudio@powernettelecom.com.br,Priscila Santos da Silva Informatica ME,1 +Josiane Aparecida Viana,josiane@vertentes.com.br,Luma Informática LTDA EPP,1 +Rodrigo Bonoto Berni,rodrigobnoto@hotmail.com.br,mercado bonoto,1 +Fabiane Eloisa Reeck,vendas6@quimidrol.com.br,Quimidrol Comércio Indústria Importação Ltda,1 +Jeferson Guilem,suporte04@interpower.com.br,Interpower,1 +Jucelaine Da Silva Garcia,jucelaine.garcia@unilasalle.edu.br,Sociedade Porvir Científico,1 +Cristina De Oliveira,comercial@sucessoseguranca.com.br,Sucesso Serviços Terceirizados,0 +Guilherme Lourival Esteves,adm@amplamedica.com.br,Ampla Médica,1 +Celda Menezes,nfeletronica@idealnetwork.com.br,IDEAL NETWORK COMERCIO DEEQUIPAMENTO,1 +Rafael Dos Santos Almeida,rafaelsalmeida.ibrav@petrobras.com.br,Ibrav Acessórios Industriais Ltda,1 +Renato Da Silveira,renato@brasilpostos.com.br,Brasil Postos,1 +Mônica,vendas2@brasilpostos.com.br,Brasil Postos,1 +Carlos Rychlewski Gomes,unicmed@unicmed.com.br,UNICMED OCUPACIONAL,1 +Juliana Barbosa Da Silva,juliana.silva@alertbrasil.com.br,Alert Brasil,1 +Hermann Rainer De Britto,hermann.britto@mail.weir,Weir do Brasil,1 +Edison Junior Soares Dos Santos,sulaquatica@gmail.com,sulaquatica,1 +Jesse Andrade Costa,contato@htecbrasil.com.br,HFP DA SILVA TECNOLOGIA ME,1 +Robson Alves Fonseca,robson.fonseca@eco101.com.br,ECO101 CONCESSIONARIA DE RODOVIAS S/A,1 +Raphael Fagundes Pereira,raphael.pereira@eco101.com.br,ECO101 CONCESSIONARIA DE RODOVIAS S/A,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,MANSERVE FACILITIES,1 +Francisco Fabio Menezes Lima,fflima@ducoco.com.br,DUCOCO PRODUTOS ALIMENTÍCIOS S/A,1 +Mateus Santana,mateus.santana9@hotmail.com,ship it,1 +Jaila Cássia Duarte Santos,jaila.duarte@laboratoriosobral.com.br,Laboratório Industrial Farmacêutico Sobral,1 +Rafaela Leite Nunes,rafaela@irmaosmarques.com.br,IRMÃOS MARQUES LTDA - ME,1 +Marina Cachoeira,marina.cachoeira@ecogenbrasil.com.br,Ecogen Brasil,1 +Sara Caravalho,sara.carvalho@ecogenbrasil.com.br,Ecogen Brasil,1 +Thais Azevedo Mesquita Mendonça,thais.mesquita@ecogenbrasil.com.br,Ecogen Brasil,1 +Suelen de Lima Almeida,suelen.almeida@ecogenbrasil.com.br,Ecogen Brasil,1 +Telma Andreia C S Valle,telma.faje@gmail.com,FAJE LOGÍSTICA E TRANSPORTE LTDA,1 +Mateus Lattik Hickmann,mateushickmann@petrobras.com.br,PETROBRAS,1 +Lana Flavia Barcelos Santos,lana.barcelos@albioma.com,ALBIOMA Rio Pardo Termoelétrica Ltda,1 +Jéssica Nicaele Rezende,jessica.rezende@albioma.com,ALBIOMA Rio Pardo Termoelétrica Ltda,1 +Marcos Alexandre Zangarini Grisi De Oliveira,marcos.grisi@albioma.com,ALBIOMA Rio Pardo Termoelétrica Ltda,1 +Jan Adryan Alves Do Lago,jan@jgsconstrucoes.com.br,"JGS Construções, Comércio e Serviços LTDA",1 +Marcelo Rolim De Freitas Maciel,marcelorolim@eletrodataengenharia.com.br,Eletrodata Engenharia Ltda.,1 +Fabio Simoes Braga,fabio.braga@eritel.com.br,ERITEL TELECOMUNICAÇÕES LTDA,1 +Joelma Da Silva De Souza,betina3110@bol.com.br,silva e souza lanchonete e restaurante ltda - me,1 +Gertec Brasil,nfe.ba@gertec.com.br,GERTEC BRASIL LTDA,1 +Rose Ramos,recursoshumanos@energeticaserranopolis.com.br,ENERGÉTICA SERRANÓPOLIS,1 +Greice Auras,adminfln@culturainglesa-sc.com.br,Cultura Inglesa,1 +Phelipe Albani Oliveira,phelipe_albani@hotmail.com,SERRARIA SANTA RITA LTDA,1 +Ana Paula,ana.comercial@erthalcom.com.br,Erthalcom,1 +Jaqueline Cristofolini,jaqueline@r30systems.com,R30 Systems Ind. e Com. de Equipamentos Ltda. ME,1 +Cátia Aparecida Mota,treinactba@scopus.com.br,Scopus Desenvolvimento de Sistemas Ltda,1 +Eliéges Machado,administracao@gottert.com.br,GOTTERT DO BRASIL LTDA,1 +Marilise Budal Arins,marilise.arins@gmail.com,Projeville Serviços Ltda ME,1 +Adrian Alves Dos Santos,adrian@coopervale.com.br,Coopervale Soluções Ltda EPP,1 +Renata Dias,renata@mdanet.net.br,MDANET SERVIÇOS DE COMUN. INF. LTDA ME,1 +Marlon Cesar Bugai,marlon.bugai@hotmail.com,BUGAI & MARCELINO LTDA ME,1 +Jéssica Helen Da Silva,jessica.silva@tropiconet.com,TROPICO SISTEMAS E TELECOMUNICACOES DA AMAZONIA LTDA,1 +Josiely Xavier,josiely.xavier@sca-solutions.com,Schucker do Brasil Ltda,1 +Douglas Fernandes Neto,douglas@install-tec.com,Douglas Fernandes Neto 36089949809,1 +Caroline Livio Pedreira Alves,rh@eletrospitalar.com.br,Eletrospitalar Comércio e Assistência Técnica Ltda,1 +Lilyane Nunes De Oliveira,lnunes@staefa.com.br,Staefa Control System Ltda,1 +Patricia Alexandra De Moura Lohner Arouca,patricia@altaengenharia.com.br,Alta Engenharia Mecânica Ltda,1 +Sara Scarpato Marin Natel,s.marin@steute.com.br,steute do Brasil Equipamentos Eletro-eletronicos Ltda,1 +Leonardo Nobrega Pedrosa,leonardo.pedrosa@kenner.com.br,TESS INDUSTRIA E COMERCIO LTDA,1 +Tania Zanette,postococal@hotmail.com,Posto Cocal do Sul LTDA,1 +Fabrizio Chabaribery Leão,fleao@acaoenge.com.br,Ação Engenharia e Instalações Ltda.,1 +CAROLINE FARIA CUNHA MOREIRA,caroline.moreira@semeq.com,SEMEQ-SERVIÇOS DE MONITORAMENTOS DE EQUIPAMENTOS LTDA,1 +ALINE GONSALVES,aline.gonsalves@semeq.com,SEMEQ-SERVIÇOS DE MONITORAMENTOS DE EQUIPAMENTOS LTDA,1 +MAYRA ANDRADE,mayra.andrade@semeq.com,SEMEQ-SERVIÇOS DE MONITORAMENTOS DE EQUIPAMENTOS LTDA,1 +Lyane Silva,lyane.silva@somosnsc.com.br,Televisão Joaçaba Ltda - 79.845.830/0001-70,1 +Janaina Saticq,janaina.saticq@rbstv.com.br,Televisão Joaçaba Ltda - 79.845.830/0001-70,1 +Lyane Silva,lyane.silva@somosnsc.com.br,NC Comunicações SA - 79.227.963/0012-35,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NC Comunicações SA - 79.227.963/0012-35,1 +Lyane Silva,lyane.silva@somosnsc.com.br,NC Comunicações S A - 79.227.963/0002-63,1 +Rosana Smolski,rosana.smolski1@gruporbs.com.br,NC Comunicações S A - 79.227.963/0002-63,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NC Comunicações S A - 79.227.963/0002-63,1 +Lyane Silva,lyane.silva@somosnsc.com.br,NC Comunicações S A - 79.227.963/0001-82,1 +Rosana Smolski,rosana.smolski@gruporbs.com.br,NC Comunicações S A - 79.227.963/0001-82,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NC Comunicações S A - 79.227.963/0001-82,1 +Gabriel Aparecido Damasceno Souza,gabriel.aparecido1910@gmail.com,GMC SOLAR COMERCIO DE EQUIPAMENTOS DE ENERGIA LTDA - ME,1 +Flávio Falqueiro De Oliveira Melo,flavio@blondine.com.br,Blondine Cervejaria Eireli,1 +Geraldo Magela Mendes Assis,mendesassis@gmail.com,"MENDES & LIMA SERVIÇOS DE ENGENHARIA, CONSULTORIA E REPRESENTAÇÕES LTDA",1 +Luciana Costa De Oliveira De Lima,luciana@crazy4beer.com.br,Crazy4Beer Distribuidora de Bebidas LTDA EPP,1 +Paula Pimentel,paula@blondine.com.br,Crazy4Beer Distribuidora de Bebidas LTDA EPP,1 +Regina Biaggi Gomes,reginagomes@itsseg.com,It'sSeg Corretora de Seguros S.A,1 +Marcella Prado,prado_ma@hotmail.com,eSeg Soluções em SST,1 +Carla I Virginia Arantes,escolaapoiosp@gmail.com,ESCOLA ARANTES LTDA,1 +Carina Van De Groes,carina@tropclima.com.br,Trop Clima Equipamentos p/ Estufas Agrícolas Ltda.,1 +Ana Cristina Pereira,michele.valvano@campolimpoplasticos.com.br,Campo Limpo Reciclagem e Transformação de Plásticos S.A.,1 +Lyane Silva,lyane.silva@somosnsc.com.br,RBS TV Criciúma 82.916.503/0001-76,1 +Lyane Silva,lyane.silva@somosnsc.com.br,TV Chapecó - 76.851.492/0001-90,1 +Aline Garcia Cabral De Melo,aline@hepa.org.br,Hospital Espirita de Porto Alegre,1 +Fernando Teixeira Dos Reis,rh1@piscinafacil.com.br,Piscina Fácil Ltda.,1 +Huagner Pires Santos Mendonça,huagnerpsm@gmail.com,HPS REFRIGERAÇAO,1 +Claudia Regina Da Silva,claudia.fazendadaspalmas@gmail.com,Konder A Braga Comércio de Produtos Alimentícios Ltda,1 +Franz Felipe Pimenta Da Costa,sinistro.ps.bebecoauto@gmail.com,BEBECO AUTO LTDA ME,1 +Maycon Motta,contato@portofacilities.com.br,Porto Facilities,1 +Daniele Lima Pontes,daniele.pontes@normatel.com.br,NORMATEL ENGENHARIA LTDA,1 +Carlos Eduardo Leme Da Silva,eduardo@ultraer.com.br,ULTRAER AEROAGRÍCOLA LTDA,1 +Claudio Gomes Messias,claudio@serralheriarodante.com,Industria de Serralheria Rodante,1 +Natacha Cassiolato,natachacassiolato@gmail.com,"Ari Cabos - Indústria, Comércio, Importação e Exportação Ltda",1 +Samuel Vcitor Melo De Rezende,samuel.rezende@masaengenharia.com,MASA Engenharia,1 +Marcos Da Silva,msntma@gmail.com,Boi Corte LTDA,1 +Victor Felipe da Silva,victor.felipe@manserv.com.br,MANSERV FACILITIES,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,MANSERV FACILITIES,1 +Gilberto Carvalho,gilberto.carvalho@anroi.com.br,Anroi Industria e Comercio Ltda,1 +Marcia Flores,marcia@semant.com.br,Semant Serviços Industriais e Ambientais Ltda,1 +Bruna Maia Vieira,bruna@progecon.com.br,Progecon Engenharia LTDA,1 +Caio Cesar Barbosa,barbosaefilhosterraplanagem@gmail.com,Barbosa e Filhos Terraplanagem e Locação de maquinas LTDA ME,1 +Marcelo Da Costa,marcelo.costa@atostelecom.com,Athos Serviços Elétrico e Telecomunicações,1 +Francieli Deggeroni,rh@linckmaquinas.com.br,Linck Máquinas S/A,1 +Deise Priscila Vitorino Gonçalves,gil.vidro@terra.com.br,GILBERTO PEREIRA MADURO,1 +Edson Alves Da Silva,temakprojetoseobras@hotmail.com,"Temak Projetos, Obras e Manutenção Ltda.",1 +Carolina Sampaio Brito Duarte,posto_guaiba@hotmail.com,Rio Real Derivados de petróleo,1 +ROMOLO FRANCISCO PETROLLI,seguranca@engeco.ind.br,Engeco distribuidora de Materiais Elétricos LTDA,1 +Rodrigo Da Silva Costa,rodrigo.costa@lemar.eng.br,LEMAR ELETRO COMERCIAL LTDA,1 +Alice Daiana Weber,alice.weber@dentalcremer.com.br,Dental Cremer S/A,1 +Franciele Oliveira,franciele@novus.com.br,NOVUS PRODUTOS ELETRONICOS LTDA,1 +Hosiny Aparecida Rahman,conprodata.financeiro@hotmail.com,MARCO ANDRE RADOMILLE,1 +Luis Gustavo Kawahara,financeiro@egnex.com,EGNEX ELÉTRICA LTDA,1 +Gabriela Carminatti Samistraro,gabi_samis1@hotmail.com,GABISTELA,1 +Rodrigo Luis Schneider,racao@sccereais.com.br,SC CEREAIS LTDA,1 +Daniel Paulo Cunha Santiago,daniel.santiago@deca.com.br,Duratex S.A.,1 +Fábio Rogério Ribeiro Garcia,fabio.garcia@deca.com.br,Duratex S.A.,1 +Joao Victor Ferraz Bandeira,joaovictor-bandeiira@hotmail.com,Pax transportes ltda,1 +Leopoldo Jose Gama Martins,mayara@paxlog.com.br,Pax transportes ltda,1 +Anna Paula Santin Ganchar,compras@lactec.org.br,INSTITUTO DE TECNOLOGIA PARA O DESENVOLVIMENTO,1 +Wagner Da Silva Turbiani,phoenix@phoenixbalancas.com.br,Phoenix Balanças,1 +Camila Silveira Dal Col,csdalcol@klabin.com.br,Klabin S/A,1 +Luiz Fernando Fernades,fernandoprolink@hotmail.com,rastro automação comercial ltda,1 +Suleima Mara Santos Del Monaco,suleima.santos1@basf.com,BASF SA - DEMARCHI,1 +Alex Souza Vieira,alex.vieira@basf.com,BASF SA - DEMARCHI,1 +Paula Carvalho,paula.carvalho@basf.com,BASF SA - DEMARCHI,1 +Leonardo Caldeira,financeiro.cieloengenharia@gmail.com,CIELO ENGENHARIA LTDA,1 +Ana Janini Dos Santos Michels,suporte01@imsb.com.br,IMSB IND MAQ EQUIPAMENTO LTDA,1 +Fernando Cândido Da Cunha,fernando.cunha@saudeocupacionalunimed.com.br,SOU - Saúde Ocupacional Unimed LTDA,1 +Hertz Borges,postouniverde@postouniverde.com.br,POSTO UNIVERDE UBERABA,1 +Jéssica Wanzuita De Novais,bruna.baldassari@redeunifique.com.br,Cabovisão Telecomunicações Ltda EPP,1 +Adriana Braga Queiroz,adriana.queiroz@imcsaste.com.br,"IMC SASTE - Construções, Serviços e Comércio Ltda",1 +Ana Maria Kohler,rh1@tecebem.com.br,Tecebem Beneficiamento Têxtil Ltda,1 +Wallace Felix,walllace@scientiaconsultoria.com.br,Scientia Consultoria Científica,1 +Hyllen Augusto Carvalhido,hyllen@ecomg.com.br,ECO MG ENGENHARIA LTDA ME,1 +Leticia Gabriela Da Silveira,adm@azurit.com.br,Azurit Engenharia Ltda,1 +Luciano Fernandes Da Graça,administrativo@sueca.com.br,Sueca Rolamentos e Soluções Industriais Eireli,1 +Carla Da Silva,carla.dasilva@fluidserv.com,Fluidserv do Brasil,1 +Felipe Dos Santos Menezes,dp@brastelnet.com.br,Brasil Instalações e Serviços Ltda,1 +Sirleny M. Kemmer,sirleny.kemmer@fotovoltec.com.br,SMK ENERGIA SOLAR EIRELI - ME,1 +Mateus Resende,mateus.resende@biomm.com,BIOMM S/A,1 +Emilyn Thaire de Faria Marion,adm.performaquinas@gmail.com,M. E. PERFOR MÁQUINAS E EQUIPAMENTOS EIRELI - EPP,1 +Renata Kleinkauf Pereira,imunisinos@imunisinos.com.br,IMUNISINOS LTDA,1 +Onix Bandeira Ramos,onix.ramos@pierre-fabre.com,Laboratórios Pierre Fabre do Brasil Ltda,1 +Mauro Colli Inglez,mauro@azevedotravassos.com.br,AZEVEDO & TRAVASSOS ENGENHARIA LTDA,1 +Mayra Thais De Oliveira,giancarlo.ferraz@consp.com.br,Consorcio São Paulo de Fiscalização Automática de Transito,1 +Renata Hart,daniel@iwtservices.com.br,IWT Services Ltda,1 +Katia Taras,katia@permution.com.br,EJ KRIEGER & CIA LTDA,1 +Marcieli Fernanda Da Silva,marcieli@bins.com.br,BINS INDUSTRIA DE ARTEFATOS DE BORRACHA LTDA,1 +Cláudia Santos De Souza Duarte,claudiasantos@ceasaminas.com.br,Centrais de Abastecimento de Minas Gerais S/A - CeasaMinas,1 +Paulo Henrique De Melo,financeiro@sinergiaps.com,SINERGIA PRESTADORA DE SERVIÇOS S/S LTDA EPP,1 +Lucimara Pinheiro,lucimara@etica-ti.com.br,EMPRESA DE TECNOLOGIA E INFORMAÇÃO COMPUTACIONAL AVANÇADA LTDA,1 +Luciano Dallago,luciano.seg@construtorapasqualotto.com.br,Yachthouse Incorporadora LTDA,1 +Bianca Cruz,vendas@multartec.com.br,TRC DA SILVA - ME,1 +Fernando Henrique Zimmermann,fernando@doceoli.com.br,DOCEOLI ALIMENTOS LTDA,1 +Caroline Machado De Oliveira,caroline.azeredo@unilasalle.edu.br,CENTRO UNIVERSITÁRIO LA SALLE,1 +Cristiano Rumpel,27216958000170@avato.com.br,Vino Telecom EIRELI - ME,1 +Marcos Roberto Righi,marcosrighi@avato.com.br,Vino Telecom EIRELI - ME,1 +Wilson Trinidad,interlans@gmail.com,LAN SOLUTIONS INFORMATICA LTDA,1 +Sara Schledorn,sara.schledorn@ssma.com.br,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERVICOS LTDA.,1 +Marlene Baldin,marlene.baldin@fanucamerica.com,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERVICOS LTDA.,1 +Jennyfer Kaneto Sales Felicio,jennyfer.felico@fanucamerica.com,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERVICOS LTDA.,1 +Yasmin de Deus da Rocha,yasmin.rocha@fanucamerica.com,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERVICOS LTDA.,1 +Gersica Viana Ribeiro,gvi@flodim.com.br,FLODIM DO BRASIL LTDA ME,1 +Iolanda Demola,idemola@voegol.com.br,Gol Linhas Aéreas,1 +Dani Sperber,danielasspinturas@hotmail.com,"SS PINTURAS PROFISSIONAIS, COML IMP E EXP LTDA",1 +José Eduardo Machado Da Veiga,open@opentecnologia.com.br,JOSÉ EDUARDO MACHADO DA VEIGA E CIA LTDA,1 +EDVALDO RODRIGUES DE SOUZA,edvaldo.souza@tredegar.com,Tredegar Brasil Indústria de Plásticos Ltda,1 +Thiago Rezende,thiago.samonte@hotmail.com,Marquinho Motores,1 +Luir De Oliveira Ferreira,ldterraplanagem@gmail.com,Luir de Oliveira Ferreira - LD Terraplanagem,1 +Vanio José Schimidt,contato@transvanio.com.br,VANIO JOSÉ SCHIMIDT EPP,1 +Lidia Xavier,lidia.xavier@geq.com.br,Grupo Edson Queiroz,1 +Lígia Regina Kummer,ligia@pioneirobr.com.br,PIONEIRO COMBUSTÍVEIS LTDA,1 +Zilda Santos De Paula,faturamento@maiclean.com.br,MAICLEAN TERCEIRIZAÇÃO DE SERVIÇOS LTDA - PP,1 +Marcos Marques,cursos.ctne@yahoo.com.br,Nordeste Emergências e Soluções Médicas LTDA,1 +Ramses Lopes,ramses.lopes@grupomoura.com,Baterias Moura,1 +Manoela Ballen,manoela.santana@stemac.com.br,STEMAC S/A GRUPOS GERADORES,1 +Jose Francisco Sales Rizzi,vendas@rizzitherm.com.br,All Heating Systems Comércio de Matériais Elétricos Ltda-ME,1 +Rafael Schimitz,rafael@imnet.com.br,Internet Milenium Ltda Epp,1 +Luiza Pelegrini,luiza@pelegrini.com.br,CASA DA TRANSMISSÃO CAMINHÕES MOTORES E PEÇAS LTDA,1 +Sonia Vergilio Martins,sonia.vergilio@yahoo.com.br,Associação de Pais e Amigos dos Excepcionais de Portão,1 +Barbara Santana,barbara.santana@funbio.org.br,FUNDO BRASILEIRO PARA A BIODIVERSIDADE (FUNBIO),1 +Cristiano Rumpel,04771989000198@avato.com.br,EBZ INSTALACAO E MANUTENCAO EIRELI,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,UNIMED DO BRASIL CONFEDERACAO NAC DAS COOPERATIVAS MED,1 +Robson Venzon,robson.venzon@hbsis.com.br,HBSIS Soluções em TI Ltda,1 +Morgana Luiza Fischer,verticalbraz.alpinismo@gmail.com,L. BRAZ NUNES PEREIRA SERVIÇOS,1 +Alessandra Rocha,alessandrarocha@guimar.com.br,Guimar Engenharia Ltda,1 +Neville Batista Junior,comercial@hipermunck.com.br,ATN LOG LOGISTICA E TRANSPORTE LTDA,1 +Sergio Scotti,sergio@techspace.com.br,Techspace Comercio e Servicos de Produtos de Informatica Ltda,1 +Paulo Siqueira,paulo.siqueira@jbs.com.br,JBS,1 +Flavia Rocha Pereira,flavia1.aumaautomacao@gmail.com,Sami Sistema de Automação Mecânica Industrial LTDA,1 +Suilan Diniz Manfro Bianeck,doc_ideal@yahoo.com.br,DOC IDEAL RADIOLOGIA E DOCUMENTAÇÃO ODONTOLÓGICA LTDA,1 +Sâmia Roma Canalle,scanalle@iguatemi.com.br,Condomínio Complexo Iguatemi Ribeirão Preto,1 +Lucy Mara Pazini Holthausen,administrativo@weco.com.br,WECO DO BRASIL LTDA,1 +Barbara Ipiranga,barbarar@ipiranga.com.br,Ipiranga,1 +Mario Eugenio Gioto Junior,marioegj@spirol.com,SPIROL SOLUÇÕES EM FIXAÇÃO LTDA.,1 +Liziane Cabral,liziane.cabral@zumpnet.com.br,SPEAKERS PROJETOS E EXECUÇÃO EM AUDIO LTDA,1 +JULIA RONIZE COSTA DE CAMPOS,juliac.95@hotmail.com,SPEAKERS PROJETOS E EXECUÇÃO EM AUDIO LTDA,1 +Marlon Chaves Francisco,marlonfrancisco@gmail.com,Frigorifico frigmam,1 +Fabiana Fernandez Chinaque,fabiana.chinaque@foxconn.com,Foxconn Brasil Indústria e Comércio,1 +Paulo Vinicius De Oliveira Farias,pauloviny9@hotmail.com,PLANETA NET TELECOM E SERVIÇOS LTDA-ME,1 +Wellington Serrilho Soler,ws@zoopnet.com.br,Wellington Serrilho Soler ME,1 +Douglas Schio Pilecco,pileccoposto@gmail.com,POSTO PILECCO LTDA,1 +Sharles Mendes Rodrigues,rodrigues@engsigma.com.br,SIGMA PESQUISA E CONSULTORIA EM ENGENHARIA LTDA,1 +Cristiane Mansur,logistica@sensoreng.com.br,SensorEng,1 +Andreia Zinelli,rhtreinamento@cotrijal.com.br,COTRIJAL COOPERATIVA AGROPECUÁRIA E INDUSTRIAL,1 +Gelson Almeida Dos Reis,reismanutencaoeservicos@yahoo.com,reis manutenção em geral,1 +Jocimara Da Silva,artechcompressores@gmail.com,Jeferson Tavares-ME,1 +Eduardo Lopes Dos Reis,producao@sacariaourobranco.com.br,Sacaria Ouro Branco Ltda,1 +Luis Felipe Nunes Lopes,luis.lopes@hexagonagriculture.com,Arvus tecnologia S.A>,1 +Diego Barrey,diego.oliveira@hexagonagriculture.com,Arvus tecnologia S.A>,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 76.568.708/0001-70,1 +Eduardo Duda Da Silva,esilva3@grpcom.com.br,Editora Gazeta do Povo S.A. 76.568.708/0001-70,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 76.568.708/0001-70,1 +Aline Demetrio,splimaq@gmail.com,Splimaq instalação e montagem de equipamentos industriais ltda,1 +Isomi Luiz Da Silva,tecalerta@tecalerta.com.br,TECALERTA - Monitoramento 42h Via Telcomunicação,1 +Kerley Valadao,kerley_vendas@hotmail.com,Royal Impermeabilização Eirele-me,1 +Aline Brito Pintor,nina_pintor@hotmail.com,CASTELLI MATERIAIS PARA CONSTRUÇÃO LTDA - EPP,1 +Leticia Ramos Domingues,leticia.domingues@ldcom.com,LOUIS DREYFUS COMPANY,1 +Alexandre Casimiro De Freitas,alexandresuporteola@gmail.com,OLÁ SERVIÇO DE ACESSO A INTERNET LTDA,1 +Simone Santos,simone.santos@egferramentaria.com.br,EG FERRAMENTARIA,1 +Ramon Francisco Abreu Do Nascimento,amconsultoria.contato@gmail.com,AM CONSULTORIA,1 +Gregori Murakami Duarte,gregori_duarte@br.ajinomoto.com,AJINOMOTO DO BRASIL IND E COM DE ALIMENTOS LTDA,1 +Robson Junior Brighenti,brighenti.transportes1@gmail.com,BRIGHENTI TRANSPORTES LTDA ME,1 +Vera Lucia Nascimento Dos Santos Masotti,vl@workvideo.com.br,WORK VÍDEO SERVIÇOS EM ÁUDIO E VÍDEO LTDA,1 +Belone Ambiental,belone.ambiental@gmail.com,Belone Ambiental,1 +Célio Fernandes,terra.monte1@yahoo.com.br,Fernandes Terraplanagens e Pavimentações Ltda,1 +Flavio Pavan Filho,atendimento@flamarmergulho.com,FLAMAR COMERCIO E ATIVIDADES SUBAQUATICAS,1 +Mauro Cesar Toledo,geleiavitalidade@yahoo.com.br,Comercial Toledo e Toledo LTDA,1 +Matheus Calazans Parreiras,matheus@proinfoenergia.com.br,Pro-info Energia Ininterrupta e Informática ltda,1 +Vagner Rogerio Cortez,vagnerrcortez@gmail.com,JOSE PAULINO DA SILVA LAVANDERIA,1 +Eduardo Serrão Neves Leal,eduardo.serrao@copapa.com.br,Cia Paduana de Papeis,1 +Fernando Da Silva Pereira,contato@lfvidros.com.br,Letícia e Fernando Vidros ME,1 +Walter Barbosa Da Silva,grupocertecalianca@yahoo.com.br,CERTEC HOME EMPREENDIMENTOS E OBRAS,1 +Ranilson Raposo,ranilsonraposo@gmail.com,ELETROELETRONICA SERVICE LTDA - EPP,1 +Joana Silva,rh@revelarte.com.br,Revelarte,1 +Ana Lucia Da Silva Garcia,safebrasil.rj@gmail.com,SAFE BRASIL COMERCIO E LOCAÇÃO DE EQUIPAMENTOS LTDA,1 +Ingrid Barbosa Betty,ingrid.b.betty@embraco.com,Embraco,1 +Luciane Doern,rh@medlive.com.br,Medilar Importação e Distr Prod Medico Hospitalar,1 +Nagary Batista,atendimento@preserve.bio.br,PRESERVE AMBIENTAL LTDA,1 +João Rafael Candido de Souza,joaorcsouza@gmail.com,PRESERVE AMBIENTAL LTDA,1 +Silda Coutinho Ferreira,silda.coutinho@irisiluminacao.com.br,IRIS MONTAGEM DE PROJETOS DE ILUMINAÇÃO LTDA,1 +Waldir Lucio,waldir.lucio@br.atlascopco.com,AtlasCopco,1 +Ana Maria Mendes,ana.maria@copobras.com.br,Copobras S/A Ind. Com. de Embalagens,1 +Tamara Costa De Oliveira Soares,contato@3cnet.com.br,3CNET SERVIÇOS E TECNOLOGIA LTDA ME,1 +Luciano Alves,lucianoalvesconsultoria@hotmail.com,STONE BUILDING S/A IND E COM,1 +Januzi José Pereira,januzi.pereira@cerradinho.com.br,Cerradinho Bio,1 +Marcelo Lindner,lindnermarcelo@gmail.com,THE VIEW EMPREENDIMENTO IMOBILIÁRIO SPE LTDA,1 +Andréia Lemes Sabino,andreia.sabino@santaclarasa.com.br,Indústria Santa Clara S.A,1 +Gustavo Queiroz,goaqueiroz@copersucar.com.br,copersucar,1 +Leila Cristina Dos Santos,santos.jaragua@gmail.com,Comércio e Materiais de Construção Santos Ltda,1 +Karina A O Santos,karina.santos@imzadi.com.br,IMZADI CONSULTORIA & AUTOMACAO LTDA,1 +Daniel Roberto Madureira Da Silva,territoriobrasil@territoriobrasil.com.br,Território Brasil Comercial e Lazer Ltda,1 +Adriano Bezerra De Brito,adriano.brito@ale.com.br,ALESAT Combustíveis S.A.,1 +Fernanda Freitas,fernanda.freitas@docecascao.com.br,Elizabete Andreia Teixeira Prata,1 +Eduardo Ribeiro,eduardo.ribeiro@danone.com,Danone,1 +Lindomar Dierings,lindomar@coopercarga.com.br,Coopercarga,1 +Emercio Cardoso Da Silva,postoalianca1@gmail.com,ALIANÇA COMBUSTÍVEIS LTDA,1 +Iara Lurdes Pereira,iara@frangosmorgana.com.br,frangos morgana abate de aves ltda,1 +Michael Sullivan Bull,seguranca.gaseo@gmail.com,GASEO MEDICINA OCUPACIONAL LTDA EPP,1 +Mayara Felix Da Justa,mfjusta@petrobras.com.br,PETRÓLEO BRASILEIRO S.A - PETROBRAS,1 +Milena Virginea,milena@parelhasgas.com.br,parelhas gas ltda,1 +Joaquim Vicente Amorim Neto,joaquimamorim@uol.com.br,JOAQUIM VICENTE AMORIM NETO,1 +Ildo José Spanevello,faxinal@jucarcombustiveis.com.br,JUCAR TRANSPORTES E COMÉRCIO LTDA,1 +Leandro Morais Sampaio Peixoto,leandro-msp@hotmail.com,Auto Posto Princesa do Sertão,1 +Patricia Bessado,clinotorrino@uol.com.br,ROBERTO ALCANTARA MAIA S/S LTDA,1 +Marco Antonio Fornazelli Freire,marco.freire@gerdau.com.br,Gerdau,1 +Fabiana Oliveira Viana Hillerman,fabiana.viana@caixaseguradora.com.br,CAIXA SEGURADORA S/A,1 +David Martins De Faria Júnior,dmjunior@geogas.net.br,GEOGAS - SERVIÇOS DE OLEO E GAS LTDA ( SANTO ANTONIO DOS LOPES),1 +Jocenir Locks Silveira,comercial@cmemontagens.com.br,CANCELLIER MONTAGENS ELÉTRICAS EIRELI ME,1 +Fabricia Pereira Siqueira De Godoi,fabricia@gravia.ind.br,GRAVIA ESQUALITY INDUSTRIA METALURGICA LTDA,1 +Gustavo Rocha Gonçalves Coelho,logistica@gtgroup.net.br,Biosul Produtos Diagnotiscos LTDA - EPP,1 +Gilberto Costa,comercial@ksrecursoshumanos.com.br,NOVA KS RECURSOS HUMANOS CONSULTORIA LTDA,1 +Claudio Almeida Machado,cmachado@geogas.net.br,GEOGAS - SERVIÇOS DE OLEO E GAS LTDA (SÃO BRAS DO SUACUI),1 +Emerson Meireles,emeireles@banparanet.com.br,BANCO DO ESTADO DO PARA S.A.,1 +Aline Coura,aline.vieira@pcbsoldagens.com.br,PCB SOLDAGENS AUTOMOTIVAS LTDA,1 +Renan Rosa Martines,renan.martines@lautor.com,Lautor Automação e Robótica LTDA,1 +Josiane Aparecida Viana,josiane@vertentes.com.br,Luma Informática LTDA,1 +Daiana Pires,daiana.pires@timacagro.com.br,Timac Agro Indústria e Comercio de Fertilizantes Ltda.,1 +Adelino Mendes Das Neves Junior,adelino@mendesemorais.com.br,M&M Master Ad. e Cor. Segs. Ltda.,1 +Feliciano Lorenzo Filho,florenzof@hotmail.com,Ana Maria Maron de F. e Lorenzo,1 +Leonardo Biancardi Rosa,leonardo.biancardi1@saybolt.com.br,CONCREMAT ENGENHARIA E TECNOLOGIA S/A,1 +Douglas Jeunon,douglasjeunon@fundicaoalea.com.br,FUNDIÇÃO ÁLEA LTDA,1 +Fernanda Dantas,dantas2010@gmail.com,MB DANTAS INSTALAÇÕES - ME,1 +Denílson Araujo Dos Santos,denilson.araujo@icofort.com.br,ICOFORT - AGROINDUSTRIAL LTDA,1 +Franciele Schmoeller,franciele.schmoeller@giassi.com.br,Giassi,1 +Jonathan Athanasio Rosa,fransilterraplanagem@gmail.com,Fransil Terraplanagem Ltda,1 +Alice Possa Nunes,sesmt@maiseconomica.com.br,Drogaria Mais Econômica S/A,1 +Daiane Gricolo Araujo,rhcaprigem@caprigem.com.br,CAPRIGEM COMERCIO DE AUTO PEÇAS,1 +Dehuel Diniz Ferreira Lima,dehuel@cincos.eng.br,Cinco S Instalações e Automações Prediais LTDA,1 +Elisângela Manganelli,elisangela.avencurt@senairs.org.br,SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL - SENAI,1 +Kelly Monteiro,kmonteiro@supergasbras.com.br,Supergasbras,1 +Heloa Oliveira,heloaoliveira@cofcoagri.com,COFCO BRASIL S.A,1 +Patricia Germano De Carvalho Frigeri,patricia@highconnect.com.br,high connect redes eletricas e de telecomunicacoes,1 +Vanessa Lemes,financeiro@giselerodel.com.br,Rödel comercio de acessorios e artigos de joalheria eireli me,1 +Silas Elias De Souza,silaselias@outlook.com.br,Silmarketing - Fire,1 +Rodnei Rodrigues Junior,jsktt7@gmail.com.br,Instituto Mauá de Tecnologia,1 +Jose Luiz Sant'Anna,jl-santanna@bol.com.br,PRODESTEC,1 +Flavio Cesar Duriguello,flavio@mprmontagem.com.br,MPR MONTAGENS INDUSTRIAIS LTDA,1 +Daniela Zandonotto,dzandonotto@sesc-rs.com.br,SERVIÇO SOCIAL DO COMÉRCIO,1 +Juliane Vieira Iglesias Camargo,jcamargo@sesc-rs.com.br,SERVIÇO SOCIAL DO COMÉRCIO,1 +Ana Claudia,ana.claudia.b@hotmail.com,Bueno & Bonatelli Ltda - ME,1 +Rafael Nergemari Rezende Da Costa,administrativo.ce@grupofarrapos.com,Transfarrapos Transporte Comercio e Industria Ltda,1 +Maria Eudes De Souza Leite,mariaeudes2008@hotmail.com,MEDITEC INDUSTRIA COMÉRCIO E SERVIÇOS ELETRONICOS LDA,1 +Roberta Fagundes,roberta.fagundes@andritz.com,ANDRITZ BRASIL LTDA,1 +Graciele Gomes,stock@ottmedical.com,Image Equipamentos Eletronicos Ltda.,1 +Fabiana Cristiasna Moreira,facm18@hotmail.com,FABIANA CRISTINA MOREIRA DA CONCEIÇÃO - ME,1 +Angeral Batista Da Silva,eletroig_@hotmail.com,eletro ig,1 +Carlos Francisco Policarpo De Oliveira,carlos.f.policarpo@hotmail.com,TECADI ARMAZENS GERAIS LTDA,1 +Ana Renata Leal,renata.leal@climbaircraft.com.br,"QUIMIGEL INDUSTRIA, COMERCIO E SERVICOS AEREOS ESPECIALIZADOS LTDA",1 +Suelem Capistrano,suelem.capistrano@sueda.com.br,"CAPISTRANO PRESTAÇÃO DE SERVIÇOS EM ENERGIAS RENOVÁVEIS, METROLOGIA E REPRESENTAÇÃO COMERCIAL LTDA",1 +Carlos Alberto Monchelato,logistica@clinictransportes.com.br,Clinic Transportes,1 +Ribamar Júnior,ds.climatizacao10@gmail.com,Dinamite Studio &,1 +Wagner Geerrt,wag_grz@yahoo.com,Teste,1 +Marcelo Felipe De Souza,contato@cleigep.com.br,Cleiber Adriano da Silva - ME,1 +Eliana Gialin Rosset,nawa.sushi@yahoo.com.br,DEW JAPONES FOOD EIRELI - EPP,1 +Jean Felipe Cardoso,jeancardoso@cafquimica.com.br,CAF Química,1 +Wagner Pereira,facilsolucoesindustriais@gmail.com,Fácil Soluções Industriais ME,1 +Fernanda Tavares Da Silva,fernanda.silva@wirex.com.br,Wirex Cable S/A,1 +Marinalva Jacinto de Miranda Costa,marinalva.costa@wirex.com.br,Wirex Cable S/A,1 +Bruno Ferreira Fortes,bruno.fortes@wirex.com.br,Wirex Cable S/A,1 +Shirley Santiago Albuquerque,shirley_albuquerque@hotmail.com,Televisão Cidade S/A,1 +Paulo Cesar Adati,pauloadati@yahoo.com.br,CEI ESMERALDA,1 +Helena Xavier De Almeida Adati,helenaadati@gmail.com,ASSOCIAÇÃO BENEFICENTE CAMINHO DE DAMASCO,1 +Adla Novaes,requisicao@maprotec.com.br,MAPROTEC,1 +Rosália Andrade,rosalia.andrade@hbsanorte.com.br,HIDROVIAS DO BRASIL - VILA DO CONDE S.A.,1 +Fátima Costalonga Botelho,fbotelho@concept.ind.br,Concept Engenharia e Automação Ltda,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,Manserv Facilities Ltda,1 +Fernanda Peni,administracao@embraarte.com,Embraarte,1 +Leandro Alvaraz,lealvaraz@uol.com.br,leandro alvaraz me,1 +Éder Lázaro Pereira,ederpereira@mg.sense.com.br,sense eletrônica ltda,1 +Roberto P Bertoncini,terravermelhagp@hotmail.com,Terra Vermelha Iluminação Pública LTda - Me,1 +Rodolfo Lourenço Camargos,rodolfo.camargos@icro.com.br,Icro Soluções,1 +Janayne Alexsandra Da Silva Lansa,jana@barravelha.ind.br,BARRA VELHA IND E COM DE DERVIDADOS DE MANDIOCA LTDA,1 +Giovani Finetti,giovani.finetti@rotork.com,ROTORK CONTROLS COMÉRCIO DE ATUADORES LTDA,1 +Letícia Silva Santos,leticia.santos@jpte.com.br,JPTE ENGENHARIA LTDA,1 +Rodrigo Haubrichs Batista Alves,comandoreformas@hotmail.com,CONSERVADORA COMANDO LTDA,1 +Tatiana Mara Moscão Castelli,financeiro@gleam.com.br,Gleam Terceirização de Serviços Ltda - ME,1 +Marco Antonio Ranal,aplitec.aero@gmail.com,APLITEC AERO AGRICOLA LTDA,1 +Evandro Jose Da Silva,nminstalacoeseletricas@hotmail.com,NM INSTALAÇÕES ELETRICAS,1 +Jaqueline Alves Da Silva,jaqueline.alves@tech-end.com.br,c.c.c. de Morais e cia ltda,1 +Lins Sena,adla.oliveira@maprotec.com.br,Maprotec Engenharia,1 +Everton Paz Da Silva,everton.a.silva@merckgroup.com,Merck SA,1 +Paula Freitas,rh@ambiensys.com.br,AMBIENSYS GESTAO AMBIENTAL LTDA,1 +Marcia Alves Pinheiro,marcia.pinheiro@bancoamazonia.com.br,BANCO DA AMAZONIA,1 +Ana Paula Pereira Da Silva,ana.paula@casfengenharia.com.br,CASF MONTAGENS DE PAINÉIS ELETRICOS E INSTALAÇÕES IND. LTDA.,1 +Leonardo Figueredo Belchior,leonardo@ifsistemas.com.br,IF Sistemas Ltda-ME,1 +Deise Vieira,deise.vieira@br.issworld.com,ISS MANUTENÇÃO E SERVIÇOS LTDA,1 +Ricardo Alexandre De Oliveira,ricardo.a.oliveira@renault.com,Renault do Brasil S.A. (definitiva),1 +Gabriel José Bueno Telles,gabriel.telles@renault.com,Renault do Brasil S.A. (definitiva),1 +Amanda Barboza,amanda.barboza-extern@renault.com,Renault do Brasil S.A. (definitiva),1 +Regiane Galdino dos Santos,regiane.santos@renault.com,Renault do Brasil S.A. (definitiva),1 +Patryck,patryck.godoy@renault.com,Renault do Brasil S.A. (definitiva),1 +Joceleia De Oliveira Viana,joceleia@liess.ind.br,Liess Maquinas e Equipamentos Ltda,1 +Rodrigo Leite,rodrigo.dgtx@gmail.com,Techint,1 +Carlos Lima,carlos.lima@simtv.com.br,CABLE BAHIA S/A,1 +Volnei Debastiani,vdcinstalacoeseletricas@hotmail.com,vdc instalações eletricas,1 +Marcos Antônio De Oliveira,sac@lmquimica.net,Luciana Dias dos Santos ME (LM Química Controle de Pragas),1 +Luís Eduardo Da Fonte Raya,safetycleanbrasil@safetycleanbrasil.com.br,Estação de Limpeza Safety Clean Ltda,1 +Eunice Patricio,eunice.patricio@levelgroup.com.br,LEVEL CONSULTORIA EM GESTÃO EMPRESARIAL LTDA,1 +Joaquim Rogério De Oliveira,oliveiraenergiasolar@gmail.com,Marilete Pinto de Oliveira me,1 +Abigail Pereira De França De Jesus,jesus.abigail40@yahoo.com.br,ALERT BPO SOLUÇÕES INTEGRADAS LTDA,1 +Rosangela Russo Braga Silva,financeiro@sublimepisos.com,Sublime Piso Elevado Ltda,1 +Karen Ramos De Oliveira,central.treinamentos@sulgas.rs.gov.br,Companhia de Gás do Estado do Rio Grande do Sul,1 +Márcia Moreira Da Silva,mmsilvamg@gmail.com,EVAMAX IND E COM,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Gazeta do Povo - 80.242.720/000100,1 +Eduardo Duda Da Silva,esilva1@grpcom.com.br,Gazeta do Povo - 80.242.720/000100,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Gazeta do Povo - 80.242.720/000100,1 +Nataly Amanda Guerrero,nataly.guerrero@intech-automacao.com.br,In-tech Automação e Sistemas Ltda,1 +Gabriel Carnovali Pessoa,gabriel.pessoa@pentair.com,PENTAIR TAUNUS ELETROMETALÚRGICA LTDA,1 +Sabrina Francine Do Prado,financeiro@laticinioscordilheira.com,CORDILHEIRA ALIMENTO LTDA,1 +Adão Carlos Silva De Carvalho,carvalhocarlos973@gmail.com,Gan-Valle Palmitos ltda,1 +Pedro Felix,pedro@safelimp.com.br,priscila rosa jacintho,1 +Juliana Piccinini Ferrarin,ferrarinblocos@hotmail.com,ZELINDA FRANZOI FERRARIN ME,1 +Eliezer Soares Da Silva,eletricalsystem@gmail.com,Eliezer Soares da Silva ME,1 +Lidia Almeida da Silva,lidia.almeida@sinobras.com.br,SINOBRAS,1 +Caio Ubirajara,caio.ubirajara@sinobras.com.br,SINOBRAS,1 +ERICA SANTOS,erica.santos@sinobras.com.br,SINOBRAS,1 +Pedro Gomes Da Silva,infosegi@gmail.com,infoseg Informatica e segurança Eletronica Ltda - ME,1 +Paulo Roberto Navarro Junior,paulo.sos.seguranca@gmail.com,SOS Segurança Eletrônica,1 +Nilton Sousa,comercial@megarefrigeracao.com,MEGA REFRIGERAÇÃO,1 +Eusebio Sibrao Vieira Neto,eusebiosvn@hotmail.com,Dolphins construção e comercio ltda,1 +Karoline Silva,karoline.silva@lemar.eng.br,LEMAR ELETRO COMERCIAL LTDA,1 +Jose Franciel De Souza Camargo,mirelasabongi@hotmail.com,clima eletrica,1 +Silvia Dalto,sdalto12@gmail.com,NATUREZA PAISAGISMO,1 +Karen Rayany Ródio,karen@pmfezer.com.br,Power Machines Fezer Indústria Mecânica S.A.,1 +Vicente Durán Cabrera,duran@gsnetwork.com.br,GSNET Solução e Produtos de Rede Ltda,1 +Bruno Souza,lbr@lbrautomacao.eng.br,LBR AUTOMAÇÃO E INSTRUMENTAÇÃO,1 +Karine Rocha Vieira,karine.vieira@pli-petronas.com,PETRONAS,1 +Lívia Vasconcelos Cardoso,livia.cardoso@pli-petronas.com,PETRONAS,1 +Luana Cristina Santos,sha-brcge1-rh08@pli-petronas.com,PETRONAS,1 +Lyane Silva,lyane.silva@somosnsc.com.br,NC Comunicações S A - 79.227.963/0013-16,1 +Rosana Smolski,rosana.smolski@somosnsc.com.br,NC Comunicações S A - 79.227.963/0013-16,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NC Comunicações S A - 79.227.963/0013-16,1 +Rosimeiri Rocha Dos Santos,rosimeiri.rocha@leaoab.com.br,LEÃO ALIMENTOS E BEBIDAS LTDA,1 +Milena Stival,atendimento@palefix.com.br,Novelty Partners Ltda,1 +Giselle Dos Reis Nascimento,fortbones1@gmail.com,FORT BONÉS LTDA ME,1 +Roque Da Costa Ramos Junior,roque@avanteautomacao.com.br,Avante Automação Industrial Ltda,1 +Michele Aparecida Mendes,mec.construcoes@uol.com.br,M&C Serviços de Construçòes e Mat. Eletricos Ltda,1 +Lays Nunes De Morais,lays@macz.eng.br,MACZ ENGENHARIA,1 +Carlos Ferrucio Ristori,carlos@tw4.com.br,TW4 Tecnologia e Soluções Integadas Ltda,1 +Juliana Costa Vasseur,treinamento@cigam.com.br,Cigam Software Corporativo S/a,1 +Mayara Gabriela Campos,comercial@acrtecnologia.srv.br,ACR Tecnologia e Serviços Ltda,1 +Stephanie Gomes De Souza,rh3@estaciotec.com.br,ESTACIOTEC LTDA,1 +Patricia Pereira Marçal,patricia.marcal@vli-logistica.com.br,Ferrovia Centro Atlântica,1 +Rudinei Lago Dos Santos,rudilago@bol.com.br,RUDINEI LAGO DOS SANTOS ME,1 +Luciano Possamai,lpossamai@infraero.gov.br,EMP. BRAS. DE INFRAESTRUTURA AEROPORTUÁRIA INFRAERO,1 +Jéssica Ferreira De Avila,jessica.alves@itsgroup.com.br,Its Tecnologia e Informação LTDA,1 +Robson Valle,robson.valle@imerys.com,Imerys Fused Minerals Salto Ltda,1 +Fernando Souza Da Silva,fernando@instaladorapontealta.com.br,INSTALADORA DE GASES PONTE ALTA EIRELI,1 +Fernanda Bridi,fbridi@itwbi.com,"TECHNOPACK INDÚSTRIA, COMÉRCIO, E SERVIÇO DE ROTULAGEM LTDA.",1 +Suzane Monteiro Huizer,smsilva@qgog.com.br,QUEIROZ GALVÃO ÓLEO E GÁS S/A,1 +Edilene Dos Santos,tec.seguranca@chaprenda.com.br,CHÁ PRENDA DO BRASIL IND. E COMERCIO LTDA,1 +Flavia Batista,solus@solussondagens.com.br,solus sondagens e estudos geotecnicos ltda.,1 +Edivaldo Dos Santos Da Silva,eia_montagem@oi.com.br,E&A INSPEÇÃO DE SOLDAGEM E MONTAGEM INDUSTRIAL LTDA,1 +Alexsandro Andrade Boato,alexsandro.andrade@hospitallifecenter.com.br,Hospital Lifecenter S/A,1 +Letícia Mendo,leticia.mendo@htmicron.com.br,HT Micron Semicondutores SA,1 +Rosilene Garcia,compras@feesc.org.br,Fundação de Ensino e Engenharia de Santa Catarina,1 +Gustavo Ciarallo,compras@cienp.org.br,Fundação de Ensino e Engenharia de Santa Catarina,1 +Marilia Vicente Dos Reis,marilia.reis@terloc.com.br,Terloc - Terminal Logístico Cesari Ltda,1 +Edson Alves De Souza,edson@organizanegocios.com.br,organiza negocios ltda epp,1 +Patricia Prestes Teixeira,patricia.teixeira@braspine.com.br,Braspine Madeiras LTDA,1 +Euniberto Urbano Gaspar De Oliveira,gaspar@gasparealves.com.br,GASPAR E ALVES SERVIÇOS LTDA,1 +Yara Marchini,yara@march.com.br,March Automação Industrial Ltda.,1 +Juliana De Boni,juliana.dboni@orangesystem.com.br,ORANGE SYSTEM SOLUÇÕES EM INFORMÁTICA E SEGURANÇA LTDA,1 +Advaldo Tolosa Leão,advaldo.sesmt@coplastam.com.br,COPLAST - IND. E COMERCIO DE RES. PLÁSTICOS LTDA.,1 +Nielle Oliveira,administrativo1@gradualenergia.com.br,Gradual Energia Ltda - EPP,1 +Anderson Ribeiro,aribeiro@hisa.com.br,Hidraulica Industrial SA,1 +Anderson Augusto Andrade Dias,sesmt1.sao@pacificolog.com.br,Pacífico Log Logística e Transportes Eireli,1 +Regina Alves De Morais Neta,regina.neta@kisses.ind.br,MIDIZ INDÚSTRIA E COMÉRCIO DE FRALDAS LTDA ( FRALDAS KISSES),1 +Sara Eliane Gontijo Brusch Nascimento,sara_nascimento.br@infraero.gov.br,Empresa Brasileira de Infra Estrutura Aeroportuaria - INFRAERO (Porto Velho),1 +Leandro Abrantes,rh.transportesangelina@outlook.com,Transportes Angelina LTDA,1 +Rita Oliveira,rita.rh@ethos.ind.br,ETHOS METALURGICA,1 +Solange Terezinha Ferrari Poli,confeccoesbupos@gmail.com,Confecções bupos Ind. com. Ltda,1 +Pypellyne Xavier Alencar,rh@polpacanaa.com.br,Agroindustrial Frutnaã LTDA,1 +Naiara De Moura E Costa Natividade,naiara@1tabelionatojoinville.com.br,GUILHERME GAYA,1 +Giselle Dias,mariadascouves@gmail.com,GISELLE EMPRESA,1 +Elaine Teresinha Cardoso Santos,elaine@semae.rs.gov.br,SEMAE- SERVIÇO MUNICIPAL DE AGUA E ESGOTOS,1 +Vanderlei Luiz Pasa,vanderpasa@yahoo.com.br,SHO Ambiental ltda,1 +Adriana Sanoani,adriana.sanoani@mrsondagens.com,MR Sondagens Ltda ME,1 +Maria Teresinha Da Silva,maria.teresinha@petrobras.com.br,PETROLEO BRASILEIRO S.A - PETROBRAS,1 +Tatiana Camini,tatiana.camini@hagah.com.br,For Fun Entretenimento Ltda,1 +Danielle Mendonça Camargo,danielle@cbarroseng.com.br,Camargo Barros Engenharia Ltda,1 +Eliete Moreira,elietemj@hotmail.com,S.O.S Jardins e Afins,1 +Karina Castellano Hercule,karina.hercule@unidas.com.br,UNIDAS lOCADORA,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,UNIDAS lOCADORA,1 +Vivian Bernardo Dos Santos Ferreira,vferreira@cvh.com.br,COOPERATIVA VEILING HOLAMBRA,1 +Antonio Morando,vidconsertos@hotmail.com,VID CONSERTOS ANTONIO MORANDO ME,1 +Leonardo Gomes Figueira,leonardo.figueira@lnxglobal.com.br,LNX Global Serviços de Informática LTDA-ME,1 +Lívia Toscano,livia.toscano@airliquide.com,Air Liquide Brasil,1 +Cesar Augusto De Amorim,asaprestadoradeservicos@hotmail.com,Asa Prestadora de Serviços Ltda.,1 +Ezequiel Rotta Da Silva,ezequiel.rotta@hotmail.com,Ezequiel Rotta Da Silva Pinturas ME,1 +Vitor Lopes,vitor@elonenergy.com.br,Elon Energy,1 +Livia Maria Melo De Lima Rey,livia.rey@terceirosuni.com.br,Acrinor Acrilonitrila do Nordeste S/A,1 +João Paulo Previtali,joao.previtali@tecaut.com.br,Tecaut Automação Industrial Eireli,1 +Jéssica Wanzuita De Novais Gutjahr,jessica.novais@redeunifique.com.br,BR Live Telecomunicações Ltda,1 +Athos Ribeiro De Lucena,athos.rib.lucena@uol.com.br,CALCULO ENGENHARIA LTDA,1 +Andressa Noce Catarino,stsaneamento@hotmail.com,STS SERVIÇOS TÉCNICOS DE SANEAMENTOS LTDA ME,1 +Virgilio Augusto Sucena De Oliveira,vyb.eletronica@gmail.com,VYB ELETRONICA LTDA,1 +Lucilene Alende,lucilene.alende@express.srv.br,Express Restaurantes Empresariais Ltda,1 +Emerson De Souza Silva,emerson@imedempregos.com.br,imparck Limpeza e Conservação Ltda Me,1 +Vanessa Yoko Futata,vanessa@attos.ind.br,ATTOS SERVIÇOS DE ALIMENTAÇÃO LTDA,1 +Fabiano José Terra,condominio.sanraphael@outlook.com,Condomínio Edifício San Raphael,1 +Carlos Bind,carlosbind@yahoo.com.br,eletro comercial,1 +Cristiani Santos Cerqueira,cristiani.cerqueira@unimedprudente.com.br,UNIMED DE P. PTE. COOP TRAB. MEDICO,1 +Naiara De Moura E Costa,naiara.mouracosta@hotmail.com,1° Tabelionato de Notas e 1° Ofício de Protestos de Títulos da Comarca de Joinville,1 +Felipe Caranassios,caranassios.felipe@herrenknecht.com.br,Herrenknecht do Brasil,1 +Ademilton Cesar Baraviera,baltecbara@ig.com.br,ALTEC BALANÇAS IND. E COM. DE BALANÇAS E TRONCO,1 +Tatiane Freitas Brazeiro,tatiane@ebvvinhos.com.br,Empresa Brasileira de Vinificações Ltda,1 +Talita Ponce Leiras,talitaleiras@gmail.com,PAR SERVIÇOS DE APOIO ADMINISTRATIVOS LTDA,1 +Arthur Mendes Dos Santos,arthur@bla.com.br,bla bla ltda,1 +Claudia L. Tannhauser,claudia-tannhauser@corag.rs.gov.br,Companhia Rio-Grandense de Artes Gráficas - CORAG,1 +Igor Menezes,igor.menezes@eisenmann.com.br,Eisenmann Juiz de Fora Manutenção Industrial e Comércio de Peças Automotivas.,1 +Caroline Dal Bosco,global.dalbosco@gmail.com,DAL BOSCO COMERCIO DE BAZAR LTDA,1 +Eloisa Freitas Costa Bertoletti,eloisa_bertoletti@infraero.gov.br,INFRAERO - Empresa Brasileira de Infraestrutura Aeroportuária,1 +Claudia D. De Lima,claudia.dalceno@doehler.com.br,Döhler América Latina,1 +Ana Paula Kovalski,ana.kovalski@supermix.com.br,SUPERMIX CONCRETO S/A,1 +Ivan Gomes Da Costa,ivan.costa@formtap.com.br,Formtap Indústria e Comércio S/A.,1 +Nélia Simone Banderia E Ribeiro,cobrancalagunar.es@hotmail.com,Lagunar Aviation Ltda - ME,1 +Carmem Verônica Dos Santos Rêgo,ssma1@tecnofrio.net,TECNOCOLD LTDA,1 +Angela Maria Oliveira Xavier De Carvalho,angela.carvalho@pbti.com.br,Pbti Solucoes Ltda,1 +Angela Nascimento Da Fonseca Santos,angelanascimento.fmce@imbel.gov.br,Indústria de Material Bélico do Brasil - IMBEL/FMCE,1 +Fernando Pinheiro Sá,fernando.pinheiro@ceva.com,Ceva,1 +Renata Feiteiro Batista Ramos,renata.ramos@ceva.com,Ceva,1 +Renato Cezar Sertorio,lizianesertorio@hotmail.com,H.R. Açaí Comércio de Alimentos Ltda,1 +Peterson Santos,p.santos@fidia.com.br,FIDIA DO BRASIL,1 +Kell,autopostodezmais@gmail.com,Auto posto 10 mais,1 +Diego Creato,diego@colinaz.com.br,COLINAZ ENGENHARIA,1 +Gilson Morais De Oliveira,rhapis@ig.com.br,GILSON MORAIS OLIVEIRA SERVIÇOS - ME,1 +Rogério Bitencourt Marçal,rogeriomarcal@confepar.com.br,CONFEPAR,1 +Marcos Mauricio Dos Santos,marcosmauricio.quimico@gmail.com,ZIL-MAR,1 +Midian Gomes,midian.magalhaes@cassi.com.br,Cassi Sede Brasília,1 +Tisley,tisley@chaordic.com.br,Chaordic Systems S.A,1 +Jocélio Sousa Silva Filho,joceliosousasilvafilho@gmail.com,JOTA Soluções em Energias Eletrica,1 +Paulo Rogério Bonifácio,paulo.bonifacio@beumergroup.com,BEUMER Latinoamericana Equipamentos Ltda,1 +Paulo Cesar Alves Da Silva Filho,paulo@getecma.com,GETECMA,1 +Michelliny Silva De Oliveira,michelliny.oliveira@serpro.gov.br,SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS - SERPRO,1 +Consuelo Costa,consuelo@brfertil.com.br,BRFertil,1 +Osvaldo Leme Da Silva,tecnolimpe@tecnolimpe.com.br,TL IMUNIZAÇÃO E LIMPEZA LTDA-ME,1 +Adriana Santos,wallitec@hotmail.com,WALLITEC,1 +Juliano José Correa,juliano@saocamiloitapetininga.com.br,Hospital Regional de Itapetininga,1 +Miguel C. Da Silva,miguel@mcsprojetos.com.br,MCS Projetos Industriais Ltda,1 +Elza Antunes Espindola,bia@fozdochapeco.com.br,FOZ DO CHAPECÓ,1 +Norival Alves,norival_alves@hotmail.com,Esplanada,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,UNIMED DO BRASIL,1 +Carlos Roberto Pereira Paiva,g.contec@yahoo.com.br,g.contec,1 +Tamara Borges,centralclimatizacao.sc@hotmail.com,central climatização,1 +Flavio Pavan,flamar_vitoria@yahoo.com.br,FLAMAR,1 +Rosemary Sant´Ana,rosemary@laticinioscalogi.com.br,Laticínios Calogi,1 +Kassia Daneska Ramos,rh01@vilagermanica.com.br,Hotel Vila Germânica LTDA,1 +Adriana Zanin Marcon Gobo,atendimento@tecnicaensaios.com.br,TÉCNICA ENSAIOS,1 +Alzir Thomas Miguel,dalmadh@hotmail.com,metalurgica thomas,1 +Marcos Cesar Pelinson,engenharia@maqnagua.com.br,MAQNAGUA,1 +Marcio,msa.eletrica@hotmail.ccom,MSA SERVIÇOS ELETRICOS,1 +Emilio Jacobs,emilio.jacobs@ezentis.com.br,Ezentis - Serviços de Engenharia e Instalação de Comunicações,1 +Natan Bandeira,natan@bprconstrucoes.com,BPR ENGENHARIA E CONSTRUÇÕES,1 +Arlete Oliveira Bertollo,depto.pessoal4@voltenge.com.br,VOLTENGE,1 +Arthur Yamamoto,arthursilva@nobleagri.com,NOBLE BIOENERGIA UNIDADE MERIDIANO,1 +Ludmilla Guimaraes,bambina_hotel@ibest.com.br,Hotel Bambina,1 +Walmir Vitor,w.v.junior@live.com,Vitor Contabilidade,1 +Edilson Soares,edilson.soares@ourofino.com,Ourofino,1 +Heloa Oliveira,heloaoliveira@nobleagri.com,NOBLE AGRI,1 +Sinara Da Silva Bianchi,sinara.bianchi@metodistadosul.edu.br,CENTRO UNIVERSITÁRIO METODISTA,1 +Alex Ribeiro Oliveira,alex@nettriangulo.com.br,NetTriangulo Telecom,1 +Steffany Fernanda,steffany@eusoumaster.com.br,Master Tecnologia,1 +Geremias Junior,geremias.junior@moind.com.br,MOIND ENGENHARIA,1 +Manoela Meurer,manoela@weg.net,WEG Automação Critical Power LTDA,1 +Eraldo Rodrigues Dos Santos,financeiro@showdesign.com.br,Showdesign,1 +Marco Lima,marco@eritel.com.br,Eritel,1 +Joelma Teixeira De Souza Santos,rh@fortcom.com.br,FORTCOM HIGIENE INDUSTRIA E COMERCIO EIRELI,1 +Diego De Paula Aragao,diego@sticbrasil.com.br,STIC - SOLUÇÕES EM TENCNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO,1 +Kely Espindola,kely@planave.com,PLANAVE S.A.,1 +Henrique Rodrigues De Abreu,henrique.abreu@armadabrasil.com,Armada Brasil Empreendimentos,1 +Flavia Pires Do Prado,rh@injetel.com.br,INJETEL,1 +Sandra Amaral Souza,sandra@conquistasupermercados.com.br,Conquista Supermercados,1 +Camilla,comprasadm@colegiostaterezinha.com.br,Colégio Santa Terezinha,1 +Thor Callado Nolla,thor@istria.com.br,ISTRIA ENGENHARIA,1 +Celso Antonio Paiva Filho,celso@grupoaxial.com.br,Axial Construções Eireli Me,1 +Sidinei Neves,compras@nextpa.com.br,Next Projetos e Automação Industriais,1 +Marli,marli.jager@tecnicon.com.br,TECNICON SISTEMAS GERENCIAIS,1 +Alexandra Vieira,alexandra@diversuniversity.com.br,D.U. Service Offshore,1 +Roberto Aparecido Perez,eorpac@yahoo.com.br,AUTO POSTO MILA,1 +Márcia Cristina De Souza,marcia.souza@saint-gobain.com,Saint-Gobain do Brasil Produtor Industriais e Para Construção LTDA,1 +Eldalina Nunes,eldalina.lima@randstad.com.br,Randstad RH,1 +Anderson Izidoro Pedroso.,comercial@eletroizidoro.com.br,Eletro Izidoro Ltda.,1 +Sara Torres,apparatus@apparatus.eng.br,apparatus engenharia,1 +Virgulina Costa Castro,vivi@macz.eng.br,MACZ EGENHARIA,1 +Mauricio Pereira Da Motta,mauriciomotta@ohmsolucoes.com.br,OHM Soluções e Serviços,1 +Mariana Nogueira De Oliveira Pacheco,mariana_nortlar@hotmail.com,Nortlar,1 +Mateus Ciochetta Minuzzi,recursareaa@gmail.com,recursarea assessoria empresarial,1 +Carla Marquetti,rh@perfor.com.br,Perfor,1 +Poliene Aparecida Lopes Morais,poliene.morais@pharlab.com.br,PHARLAB INDUSTRIA FARMACEUTICA S.A,1 +Ingrid Regina Diniz Da Silva,ingrid@wesra.com.br,WESRA ENGENHARIA ELÉTRICA,1 +Cleiton E. Michel,cleiton.michel@personalservice.com.br,PERSONAL SERVICE,1 +Márcia Sassi Nunes,marcia@fadaplasticos.com.br,FADA Plásticos,1 +Cassio Stanislovisky,stanislovisky@cassiosantos.com,Empresa do Cassioson,1 +Giovana Pereira Dalagnollo,giovana@weg.net,WEG Motores,1 +Adriana Aparecida Carboni,focuspinturas@hotmail.com,FOCUS REFORMA E PINTURA PREDIAL,1 +Vanderlei Cardoso De Oliveira,vanderoliver@gmail.com,viva sem fio,1 +Wilson Luiz Missono,wilson.missono@kpi.srv.br,KPI Gestão,1 +Sonivaldo Abreu Duarte,sonivaldoabreu@gmail.com,Monte Santo Informática Ltda ME,1 +Renivaldo Andrade Dos Santos,renivaldo@pombalnet.com.br,NET WORLD INFORMATICA,1 +José Adilson Dos Santos,dilson@adwave.com.br,ADWAVE,1 +Kleverton Alusson Carvalho Santana,kel.portal@gmail.com,PORTAL NET,1 +Jackson Antonio Castro Almeida,jacalmeida@megainfoline.com.br,CONID,1 +Tatiane Machado,salgadosdazareia@hotmail.com,salgados dazareia ltda me,1 +Leandro Da Silva Rosa,leandro.rosa@datatraffic.com.br,DATA TRAFFIC S/A,1 +Karla Teixeira Campos,karla.campos@datatraffic.com.br,DATA TRAFFIC S/A,1 +Dhyego Ferreira de Lima,dhyego.lima@datatraffic.com.br,DATA TRAFFIC S/A,1 +Adriana Firmino,adriana.firmino@venco-csti.com.br,FIXCONSULTING,1 +Hilton Cesar Bender,hilton@bendersom.com.br,Bendersom,1 +Carmen Villas,deptopessoal@nttdata.com,NTT DATA BRASIL CONSULTORIA EM TI & SOLUÇÕES LTDA,1 +Jair Alexander Grisales,alexder.gr@bmbrasil.com,BM INSTALACAO E MONTAGEM DE EQUIPAMENTOS INDUSTRIAS,1 +Johny Patricio Pereira,patriciojohny@gmail.com,SS Pinturas,1 +Poliene Aparecida Lopes Morais,poliene.morais@pharlab.com.br,PHARLAB INDUSTRIA FARMACÊUTICA S.A.,1 +Valeria Braga,valeria.braga@pharlab.com.br,PHARLAB INDUSTRIA FARMACÊUTICA S.A.,1 +CAROLINE BRUM,caroline.brum@pharlab.com.br,PHARLAB INDUSTRIA FARMACÊUTICA S.A.,1 +Julia Alves,julia.alves@pharlab.com.br,PHARLAB INDUSTRIA FARMACÊUTICA S.A.,1 +Adriane Soares De Moraes,adris3moraes@hotmail.com,Planaltur Hotel,1 +Alan Alencar Dias De Carvalho,carvalhosolucoes@ymail.com,CSE,1 +Daniele,rh@uptelecom.com.br,UNION POWER,1 +Maicon Francisco Dallabona,mdpinturas@mdpinturas.com.br,MD Pinturas,1 +Josiane Alves Da Silva,joseanealves2005@yahoo.com.br,Comercial Auto Estima,1 +Rafael,planejamento@predlub.com.br,PREDLUB,1 +Thais Miquelasso,passauralocacoes@gmail.com,Irmãos Passaúra Locações S.A.,1 +Caique Costa,caiquec_pf@hotmail.com,PANIFICADORA DOCE PÃO,1 +Zelito Correia Os Santos,zelitocorreia@hotmail.com,ZCS SERVIÇOS,1 +Charline,logistica@msredes.com.br,MS REDES INFORMATICA E TELECOMUNICACOES LTDA,1 +Valmor Carlos Tonietto,valmor@tecnohard.ind.br,TECNOHARD,1 +José Roberto Felix Da Silva,joseroberto.sse@gmail.com,S.S.E.,1 +Vânia Garcino,vania.garcino@techplus.com.br,Itech,1 +Michele Moretti,michele.moretti@moriahambiental.com.br,Moriah Ambiental,1 +Fabrício Fernandes De Souza Reis,fabricio@redeaerea.com.br,Rede Aérea Tecnologia,1 +Nilson,nilson@phsnet.com.br,Power Net,1 +Elaine P Santana,rh@vianet.com.br,VIANET TELECOM,1 +Maicon David Jaques,contato@maytecseguranca.com.br,MAYTEC SEGURANÇA ELETRÔNICA,1 +Diego Batista Pereira,diegoluznobre@gmail.com,luz nobre,1 +Jaqueline Quintanilha,administracao@robosystem.com.br,ROBOSYSTEM,1 +Flávia Machado,comercial@etig.com.br,GRUPO ETIG,1 +Jomar Dias De Mello,serrariamelodia@gmail.com,SERRARIA MELODIA,1 +Ariel Cristina De Oliveira Porto,ariel.porto@energia1.com.br,Energia,1 +Ana Paula Souza Da Silva,apsouza@qgog.com.br,QUEIROZ GALVÃO ÓLEO E GÁS S/A,1 +Rodrigo Jose Marasca,rodrigo@primatecmt.com.br,PRIMATEC,1 +Pedro Cardoso,pedro.cardoso@electricpowerengenharia.com.br,ELECTRIC POWER COMÉRCIO E SERVIÇOS LTDA,1 +Luciane Belmonte Chami,lu.moa@gmail.com.br,FUNDAÇÃO MO'Ã,1 +Elbio Fassini,elbio@afrastelecom.com.br,Afras Telecom,1 +Robson Marcos Reinaldi Ribeiro,rob_vivi@hotmail.com,Supermercado Popeye,1 +Djeison Vossgrau,anap@diferpinturas.com.br,Difer Pinturas,1 +Célio Ricardo Quaio Goetten,celio@softenge.com.br,Softenge Automação Industrial,1 +Edvaina Cr Inacio,rh@mrgnet.ind.br,METALÚRGICA RIO GRANDE,1 +Lucas Vicki Martins,contato@plastechmaquinas.com.br,PLASTECH MÁQUINAS,1 +Aguinaldo Da Silva Montovani,aguinaldo.montovani@electroimpact.com,Eletroimpact,1 +Estevão Hudson Dos Santos,estevaohs@hotmail.com,Technical Solutions,1 +Petersen Ernani Poia,petersen@solucoesprime.com,PRIME,1 +Renata Ferreira Carnaúba,al.montanagrill@gmail.com,MONTANA GRILL EXPRESS,1 +Carlos Aníbal Cunha Cardoso,anibal@niplanne.com.br,NPE NIPLAN SERVICE LTDA,1 +Washington Luiz Landin Maia,wmaia@internitro.com.br,INTERNITRO,1 +Jenifer De Almeida Rodrigues,jenifer@mksservices.com.br,MKS DEFINITIVO,1 +Vitória Capum Rodrigues,vitoria@mksintegridade.com,MKS DEFINITIVO,1 +Joao Rodrigues De Souza Neto,joaorodriguesneto@gmail.com,Sage,1 +Enilso Martins Marques,contato@marpie.com.br,MARPIE,1 +Tatiane Rodrigues Gonçalves,ha0h2-gl@accor.com,Atrio Hoteis,1 +Natália,wtecengenharia@wtecengenharia.com,WTEC ENGENHARIA,1 +Priscila Rodrigues,tucano201103@yahoo.com.br,ÁGUA & MUNCK TUCANO,1 +Dylson Valente,dylson.valente@tlonanlogistica.com.br,T. LONAN,1 +Marcelo Rodrigo Castaldi,marcelo.castaldi@macservice.eng.br,Macservice Serviços de Enenharia Ltda.,1 +Marcio Silveira,apcabure@gmail.com,AUTO POSTO CABURÉ,1 +Divino Alves Da Silva Junior,junior@uzzifilter.com.br,UZZI FILTER,1 +José Olinto Laeber,vipesa.es@gmail.com,VIPESA,1 +Hellen,hellen@viaconect.com,VIACONECT TELECOMUNICAÇOES,1 +George Lucas Gonçalves Teixeira,emp.georgelucas@hotmail.com,George Lucas,1 +Wadson Melo Brito,wadson@netcomam.com.br,Netcom,1 +Angélica De Castro E Silva,departamentopessoal@techs.com.br,Techs Net,1 +Georgina Squeff Sanches,gsanches@inmetrics.com.br,INMETRICS,1 +Mateus Machado Scain,fiscal@parquesdaserra.com.br,BONDINHOS AÉREOS,1 +Patricia Pariol,patricia@rizzitherm.com.br,RizziTherm,1 +Andressa,andressa.dasinger@semarndt.com.br,SEMAR,1 +Diogo Padilha,coordenadorpoa@hotmail.com,AAPECAN,1 +Lauro Hoffmann Pádua,lauro@postodino.com.br,Posto Dino,1 +Débora Mello,debora.mello@divinaprovidencia.org.br,Hospital Divina Providência,1 +Maria Salete Corrêa Carvalho,mariasaletecarvalho2014@gmail.com,Formação Profissional,1 +Vanessa Estorio Vides,prontoarbauru@hotmail.com,Prontoar Bauru,1 +Luiz Fernando Pereira De Carvalho,digitacao@metroquality.com.br,METROQUALITY,1 +Josiene Nepomuceno De Carvalho,auto.posto.tenente@hotmail.com,AUTO POSTO 3 IRMÃOS,1 +Carlos Sergio Moretto,pneucar_andradina@hotmail.com,Pneucar,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,MANSERV,1 +Jean Carlos Correia,jean.correia@hotmail.com,Brava sistemas segurança,1 +Cristiani Borres,frotamodesto@gmail.com,Modesto Transportes,1 +Luis Carlos Correa De Almeida,luiscca@gmail.com,TS Cursos e Serviços,1 +Luciana De Barros Costa,lcosta@ttrans.com.br,MPE,1 +Elisabethe Silva Araujo,operacional@tecnoarcondicionados.com.br,Tecnoar,1 +Denise De Almeida Andrade,denise_dine05@hotmail.com,Nossa senhora da gloria,1 +Jarbas Carneiro,jarbascarneiro@gmail.com,JORGE TIRCO,1 +Luana Cardozo Da Silva,luana.silva@rj.senac.br,Senac Rio,1 +Sarah,sarah@thermocold.com.br,THERMOCOLD,1 +Rui Garcia,geratecgeradores@terra.com.br,GERATEC GERADORES,1 +Valkennedy De Moura Castro,valkennedy@comnt.com.br,ComNT Provedor Internet,1 +Marcelo Augusto Bernardo,marcelo.bernardo@marsh.com,MARSH CORRETORA DE SEGUROS,1 +Luana Pedroso,luana@goxin.com.br,Goxin,1 +Diva Marques,divabieltata@yahoo.com.br,ARCHER WELL,1 +Pedro Antonio Pimentel Póvoa Da Silva,diretoria@grupopoder.com.br,GRUPO PODER,1 +Analucia S Espingarda,analuciaespingarda1958@hotmail.com,Cantinho do Bom Paladar,1 +Roseli Pires Longaretti,roseli@elletrocenter.com.br,ELLETROCENTER,1 +Maysa Belo Moreira,maysabelomoreira@yahoo.com.br,biscoitos tia wanda,1 +Melissa Grahl Figueredo,melissa.figueredo123@senairs.org.br,FACULDADE DE TECNOLOGIA SENAI PORTO ALEGRE,1 +Valdecir Ribeiro Da Silva,decibarraca@gmail.com,BARRACA,1 +Gislaine Bortolin Da Rosa Brandão,viviane@orizonvidros.com.br,Orizon Vidros,1 +Marcelo Toledo De Assis,marcelo@aetbrasil.com,A & T Brasil International Business,1 +Tiara Kretz,tiara@previsc.com.br,PREVISC,1 +Kornelius Hermann Eidam,kornelius@mobiliza.com.br,Mobiliza,1 +Andre Fornitani,andre@biomedicassessoria.com.br,BIO MEDIC TREINAMENTOS,1 +Fabiana Marchezi,serra@tracbel.com.br,Tracbel S/A,1 +José Terres,terres@goldline.com.br,SPARK,1 +Wallace Sitemberg Souza Felix,wallace@scientiaconsultoria.com.br,Scientia Consultoria,1 +Edmar Martins Dos Santos,santos1486@hotmail.com,B&M guarda vidas e brigadistas,1 +Anderson Andrade,anderson.andrade@4pipe.eng.br,4PIPE,1 +Adriana Scholten,adriana@hidropan.com.br,HIDROPAN,1 +Margit Edelgard Zillmer,margit@hidropan.com.br,HIDROPAN,1 +Patricia Fischer,brustronic1@brustronic.com.br,Brustronic Automação,1 +Thais Wille,thais.wille@jti.com,JTI,1 +Eliane Vieira Monteiro,eliane_monteiro.vieira@outlook.com,mercadinho 3m,1 +Priscila Oliveira De Moraes,priscila.moraes@espro.org.br,ESPRO,1 +Alexandra Sklasky Gottardi,rose@dbug.com.br,DBug Informatica,1 +Reinaldo Geronimo Viana,rick_station@hotmail.com,casa de carne filezão,1 +Tulio Leite De Castro,caiapo.tulio@task.com.br,TLC-ME,1 +José Bento Tomazeli,jbento.tomazeli@bdnet.com.br,BDNET,1 +Tiago Maciel,adrianabatistella@gmail.com,Teste,1 +Marcio Dias De Almeida,mdajesus@mdanet.net.br,Mdanet,1 +Alex Potenza,alexpotenza@hotmail.com,potenza som e luz,1 +Maurício Barros,mauricio@ownline.com.br,"Own Line Engenharia, Consultoria e Representação LTDA",1 +Ana Raquel Almeida Da Silva,transcandeal@terra.com.br,TRANSCANDEAL,1 +Wilson Patrocínio Teixeira Alencar,wilson.alencar@inmedbrasil.com.br,InMed,1 +Eliane De Fátima Faria,elianefaria@inb.gov.br,INB,1 +Dayana Diaz,dayana.diaz@ge.com,GE ENERGY,1 +Nilda Maria Ribeiro D`Eça,diskratinha@uol.com.br,Disk Ratinha Desinsetizadora,1 +Sebastião Henrique Bergamasco,sebastiaobergamasco@hotmail.com,COLORTRANS,1 +Ana Maria Bastos De Carvalho Kohn,adm@alphachannel.com.br,Alpha Channel,1 +Silvio De Oliveira Matos,matos.silvio@gmail.com,S.O. M - Serviços de Inspeções e Diligenciamentos Técnicos Ltda,1 +Marilda Nunes Franco,letrinhasamigas@yahoo.com.br,CENTRO EDUCACIONAL LETRINHAS AMIGAS,1 +Lind,audiomixsom@hotmail.com,AUDIOMIX SOM E LUZ,1 +Bruna Bresciani Piai,bru_p@yahoo.com.br,BNC-CONVENIÊNCIA E LANCHONETE EIRELE-ME,1 +Fernando Dantas,engenharia@engenhariamb.com.br,MB ENGENHARIA,1 +Danillo,danillo.ubannet@gmail.com,Ubannet,1 +Jairo Eliel De Souza Salgado,edmeq@hotmail.com,EDMEQ REFRIGERAÇÃO,1 +Terilú Maximino,terilu.maximino@valmig.com,Valmig Comercio e Assessoria Técnica de Equipamentos LTDA,1 +Viviane Moura,viviane.moura@litens.com,Litens Automotive do Brasil Ltda,1 +Marcos Antonio Melegario Tuppan,spaautomotivo@gmail.com,POSTO SERRA MAR,1 +Danilo Bueno,danilo@wyntech.com.br,Wyntech,1 +Marina Magalhaes Farah,marina_m_farah@icloud.com,Formoso Cozinha Natural,1 +Viviane Feitosa De Andrade Fujita,vianefujita@hotmail.com,FUJITA,1 +Jair Leo Lima Neves,nevesqido@hotmail.com,LIMA NEVES SOLUÇÕES PREDIAIS,1 +Cleide Da Silva Oliveira,rh2@regionalcereais.com.br,REGIONAL CEREAIS,1 +Fernando Almeida Blanco,feblanco1@hotmail.com,DECK 104,1 +Débora Cristina Campos,rh@tecnoklima.com.br,TECNOKLIMA SISTEMAS DE AR CONDICIONADO,1 +tecnoklima,manutencao3@tecnoklima.com.br,TECNOKLIMA SISTEMAS DE AR CONDICIONADO,1 +Geovane Nascimento Da Silva,eletrowatts2@hotmail.com,Eletrowatts Instalações Elétricas,1 +José Eduardo Machado Da Veiga,eduveiga.gel@terra.com.br,Open Tecnologia,1 +Jeniffer Da Silva Thome,thome.jeniffer@br.panasonic.com,PANASONIC,1 +Marcia C Z Montagner,valledasfrutas@uol.com.br,Valle das Frutas,1 +Paulo Akira Oshiro,miekoshiro@hotmail.com,PAULO AKIRA OSHIRO,1 +Leandro Narciso Calado,leandro.narciso@i9maistecnologia.com.br,i9+ Tecnologia,1 +Jonas Amaral,administrativo@creativerj.com.br,Creative,1 +Carolina,subway.avbrasilia@gmail.com,Subway Av. Brasília,1 +Vagner F. P. Da Silva,gerencia@autopostocopaouro.com.br,vin7,1 +Marcello Anderson Uchoa De Oliveira,dpcomercio@hotmail.com,EMPÓRIO FUNCIONAL GOURMETERIA E NUTRIÇÃO,1 +Daikichi Yoshinaga,daikichi@techinova.com.br,MGY,1 +Anderson Rossim Ferreira,anderson.ferreira@tivit.com,TIVIT SANTOS,1 +Ana Claudia,ana@grupomedeirosms.com.br,Bruno Otano,1 +Aline De Freitas Da Silva,afreitas@baldan.com.br,Baldan,1 +Valmir Ponciano Rodrigues,asteca.valmir@gmail.com,Asteca,1 +Daniel Certo Lopes,queijariadafamilia@gmail.com,Queijaria da Família,1 +Camila Melissa Picolo Fonseca,nostra.pizza@yahoo.com.br,NOSTRA PIZZA,1 +Davi Assunção Taborda,assadm@secovimed-pr.com.br,SECOVIMED,1 +Emerson Padua Caetano Da Silva,emersonpadua@hotmail.com,kiosque do açai,1 +Wirlon Sastre De Oliveira,ciaoliveiraefiscal@gmail.com,CONTABILIDADE OLIVEIRA,1 +Novoponto,novopontobordados@terra.com.br,Novo Ponto,1 +Maria Mônica Pereira Da Silva Ferreira,hospitalnsp@yahoo.com.br,HOSPITAL NOSSA SENHORA DA PIEDADE,1 +Rejane Campos,rejane.campos@multiempreendimentos.com,Multiempreendimentos,1 +George José Spencer Soares,george.spencer@eletronet.com,ELETRONET S/A,1 +Marcos Ferreira,m.ferreira@embrapa.br,Embrapa Agrobiologia,1 +Jose Ricardo Pereira,trapichedasostras@gmail.com,TRAPICHE DAS OSTRAS,1 +Claudinei Luiz Dos Santos-Me,claudinei.tecnowan@gmail.com,Tecnowan Teleinformatica,1 +Denival Rosa De Souza,denival.edu.tst@gmail.com,Mgf treinamento profissional,1 +Jean Paulo Agazzi - Mari Tania Tremea Agazzi,voaldoautoposto@hotmail.com,VO ALDO AUTO POSTO LTDA,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Gazeta do Povo - 76.530.047/0001-29,1 +Claudiana Rodrigues,claudianar@grpcom.com.br,Gazeta do Povo - 76.530.047/0001-29,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Gazeta do Povo - 76.530.047/0001-29,1 +Gilvania Dos Santos,administrativo@prosolucoesindustriais.com.br,PRO SOLUÇÕES INDUSTRIAIS EIRELI - EPP,1 +Cinthia Maria Nogueira,cinthia58@gmail.com,O BARBA HAMBURGUERIA,1 +Ephigênio Domeneghetti Júnior,ephigenio.junior@candeias.tur.br,Escritório Regional de Santa Catarina,1 +Almir Bezerra Dos Santos,almir@netcom.psi.br,NET.COM,1 +Jose Barbosa Da Silva,barbosa@norteldata.com.br,NORTELDATA,1 +Anderson Dalmora,anderson@chapecobalancas.com.br,CHAPECÓ BALANÇAS E SERVIÇOS,0 +Elaine Cristina Da Silva,associacaoprojetodedeus@yahoo.com.br,CENTRO EDUCACIONAL INFANTIL PROJETO DE DEUS,1 +João Bosco,comercial@jbcservicos.com.br,JBC,1 +Camilla Freitas,camilla.freitas@syngenta.com,SYNGENTA,1 +Daiana,admfloripa@phrh.com.br,PH EVENTOS,1 +Daniela Lehmkuhl,daniela.lehmkuhl@woodtechms.com,Woodtech do Brasil,1 +Thiago Mendes Cardoso,thiagoscarnes@gmail.com,THIAGOS CARNES,1 +Luiz,rh@chacarasantaclara.com.br,CHÁCARA SANTA CLARA,1 +Angélica Gabriela Do Carmo,angelica.carmo@group-ism.com,Bebidas São Miguel,1 +Daisy Resende Pereira,daisy.resende@telebras.com.br,TELEBRAS,1 +Joane Carvalho Pizani Almada,jpizani@ttrans.com.br,TTRANS,0 +Rosa Saldanha,treinamento@passaura.com.br,Irmãos Passaúra S/A,1 +Eduardo Duda Da Silva,esilva@grpcom.com.br,RPCTV,1 +Severino Manoel Da Silva,multiplantas@hotmail.com,MULTIPLANTAS,1 +Sandra Zei,verdeserv@hotmail.com,VERDESERV,1 +Camila Araujo,financeiro@portenge.com,PORTENGE,1 +Rosana Cristiano Lopes,rosana.cristiano@hotmail.com,mercado ágape,1 +Vanessa Trizolini,vanessa.trizolini@cgi.com,CGI AMERICA DO SUL,1 +Ayres Monaliza Santana Garcia,ayres.monaliza@gmail.com,LLL alimentacao e servicos ltda me,1 +Silvia Queiroz,silvia.queiroz@br.heinenhopman.com,HEINEN & HOPMAN,1 +Marcos Antônio Da Silva,sandra@meioambiental.com.br,AMBIENTAL CONSULTORIA E PROJETOS LTDA,1 +Sidmar,sidmar2005@hotmail.com,SV TRANSPORTES,1 +Nara,rh@bextra.com.br,BEXTRA,1 +Rosangela,adm@navegantespraiahotel.com.br,NAVEGANTES PRAIA HOTEL,1 +Tania Tozzo,suportebarco@personalvideoservice.com.br,Personal Video Service,1 +Guilherme Distler,gdistler@bmdobrasil.net.br,BM DO BRASIL ENGENHARIA LTDA,1 +Daniele,monica@uptelecom.com.br,UNION SERVICES TECNOLOGIA E SERVIÇOS EPP,1 +Flávia Maia,rh@avancotelecom.com.br,AVANÇO TELECOM,1 +Ronaldo Pinto,lenon.andrade@rodagro.com,Rodagro,1 +Loren Briones Martins Silva,loren@ecoseguranca.com.br,Eco Segurança,1 +Gisele,financeiro@enfemed.com.br,Enfemed,1 +Bruna Moreira,bruna.moreira@clamed.com.br,CLAMED,1 +Ana Caroline Da Silva,ana.silva@jcvenergia.com.br,JCV Energia,1 +Leonardo Valles,valles@gmail.com,VALLES HAMBURGUERIA,1 +Elizangela Sandim Santana,rhguaicurus@hortifrutisantarita.com.br,HORTIFRUTI SANTA RITA,1 +Aline Rodrigues,aline.rodrigues@doehler.com.br,DOHLER RIO PARDO LTDA,1 +Renato Friedrich De Carvalho Rocha,contato@newhomesolutions.com.br,New Home Solutions,1 +Marcelo Augustinho Valentinari,valentinari@terra.com.br,Vidraçaria Vidral,1 +Maria De Nazareth M R Pedrosa,rh@biocap.com.br,EXECUTIVA DISTRIBUIDORA LTDA,1 +Cristina Nichele Reus,nichelecristina@gmail.com,Acquarium Gastronomia e eventos Ltda,1 +Francisnei Carmo Da Silva,francisneilico@hotmail.com,LYKO SATT SRVICOS,1 +Gabriela Lippert Vettorello,gabriela.vettorello@senairs.org.br,CFP SENAI PANAMBI,1 +Tamiris Evaldt,adm@comfortlux.com.br,COMFORT LUX SISTEMAS DE ILUMINAÇÃO LTDA,1 +Mateus Souza Santos,mateussouza@wmsolucoes.com,WTM SOLUÇÕES LTDA,1 +Comfort Lux,financeiro@comfortlux.com.br,COMFORT LUX SISTEMAS DE ILUMINAÇÃO LTDA,1 +Adelma Pereira Azevedo,adelmaazevedo@outlook.com,adelma azevedo,1 +Márcia Antunes,marcia.antunes@infotecbrasil.com.br,INFOTEC,1 +Marcos Goncalves,marcos.goncalves@infotecbrasil.com.br,INFOTEC,1 +Comfort Lux Sistemas De Iluminação Ltda,adm@comfortlux.eco.br,COMFORT LUX SISTEMAS DE ILUMINAÇÃO LTDA,1 +Helena Fatima Carrão,tcnk@tcnk.com.br,TCNK Iluminação e Sonorização Ltda,1 +Marcelo Mota Da Silva,comercial@emtctech.com.br,EMTC ENGENHARIA MANUTENÇÃO E TECNOLOGIA,1 +Giselle Zanetti,gisa_azul2009@hotmail.com,Giselle Falta Imaginação,1 +Wagner Decesaro,contato@eduaners.com.br,Eduane,1 +Ricardo Alves Dos Santos,contatotecnia@hotmail.com,Assistec,1 +Edson De Jesus Antonio Nunes,maiara.oliver0792@gmail.com,Alumater Alumínio Industrial LTDA,1 +Roberto Moreira Caldeira,rcaldeira@anp.gov.br,"Agência Nacional do Petróleo, Gás Natural e Biocombustíveis",1 +Élide Leal Silva,elide.leal@condominioft.com.br,Condominio Operacional Foodtown Osasco,1 +André Prause,andre.prause@hamiltoncompany.com,Hamilton do Brasil Comércio e Serviços Ltda.,1 +Arianne Silva Dos Santos,brazlsantos@gmail.com,ARIANNE SILVA DOS SANTOS & CIA LTDA,1 +Rodrigo Oliver,rodrigo@prolifeengenharia.com,Ranny Engenharia,1 +Reinaldo Pedro,reinaldo.pedro@kpesolution.com,KPE Solution Serviços de Engenharia Elétrica LTDA,1 +Euclydes Modolo Neto,netomodolo@uol.com.br,MODOLOG SERVIÇOS E LOCAÇÕES LTDA,1 +Marcia De Souza,contato@tonyserralheria.com.br,Tony Serralheria e Serviços Ltda,1 +Lyane Silva,lyane.silva@somosnsc.com.br,RADIO ATLANTIDA FM DE BLUMENAU LTDA - 83.093.708/0001-61,1 +Viviane Cristina Buchli,viviane.buchli@senairs.org.br,Serviço Nacional de Aprendizagem Industrial - SENAI,1 +Raiane Kelly Da Silva,secretaria@trops.com.br,TROPS CENTRO DE ESPORTE E LAZER,1 +Manuela,manuela@solucao.digital,Solução Digital,1 +Daiane Aline Da Rosa Ferreira,financeiro@fatechengenharia.com.br,Fatech engenharia,1 +Lyane Silva,lyane.silva@somosnsc.com.br,RADIO ATLANTIDA FM DE FLORIANOPOLIS LTDA - 80.430.317/0001-05,1 +Antônio Antomar De Castro Carvalho,aaccengenharia@yahoo.com,AACC ENGENHARIA EIRELI,1 +Jailson Freire Da Silva,grupojkprotecoes@gmail.com,GRUPO JK PROTECOES,1 +Associação Técnico Científica Ernesto Luiz De Oliveira Júnior,lat@dee.ufcg.edu.br,ATECEL,1 +Karla Biank,engeprime@engeprime.eng.br,JORDÃO E JORDÃO EIRELE EPP,1 +Ismael Francisco Alves,ismael@mastersulgeradores.com.br,MASTERSUL MANUTENÇÃO DE GRUPOS GERADORES EIRELI,1 +Isaac Nascimento Alves,ialves.bahia@gmail.com,LR ALVES INFORMATICA,1 +Jorge Kuzuyama Junior,jorge@techposto.com.br,TECHPOSTO TECNOLOGIA EM EQUIPAMENTOS LTDA,1 +Gisele Pereira,giselepereira@grupogelog.com.br,Gelog Locações e Transportes Ltda,1 +Sabrina Capiotti,sabrina.capiotti@pollipark.com.br,pollipark,1 +Sergio Oliveira,sergio.oliveira@bkconsultoria.com.br,BK Consultoria e Serviços,1 +Letticia Rita De Oliveira Ramos,contato@projevalle.com.br,Projevalle Construções,1 +Fabio Araujo Dos Santos,fabio.araujo@nanoteceletronica.com,Nanotec Eletrônica,1 +Michele Pivotto,dncpinturasespeciais@gmail.com,DNC INDUSTRIA E PINTURAS ESPECIAIS LTDA,1 +Erika Cipriano,ecip822@users.noreply.betaeducacao.com.br,MANN + HUMMEL Brasil Ltda,1 +Laís Reis,lrei211@users.noreply.betaeducacao.com.br,MANN + HUMMEL Brasil Ltda,1 +Dayane Cirino Costa Lourenço,Dayane.Lourenco@mann-hummel.com,MANN + HUMMEL Brasil Ltda,1 +Maynara Santos,nathalia.soares@mann-hummel.com,MANN + HUMMEL Brasil Ltda,1 +Cleuton Alves Martins,engeton@yahoo.com.br,capacitar treinamentos,1 +Dionisio Araujo,dionisio.araujo@uol.com.br,J. Dionisio de Araujo,1 +Luana Franco,desen.pessoas@eptv.com.br,Empresa Paulista de Televisão S.A,1 +Paulo Muller,pmuller@idealsms.com.br,Ideal Engenharia LTDA,0 +Karolline Miranda de Souza,karolline.souza@softplan.com.br,Lagos Centrais Empreendimentos,1 +Jessica Maia,jessica.maia@uspedra.com.br,Pedra Agroindustrial S/A - Unidade Ipê,1 +Francisco Miranda,francisco.miranda@uspedra.com.br,Pedra Agroindustrial S/A - Unidade Ipê,1 +kellen,kellen.fonseca@uspedra.com.br,Pedra Agroindustrial S/A - Unidade Ipê,1 +Gerson Ponciano,gerson.ponciano@falcaobauer.com.br,LA. FALCÃO BAUER CENTRO TECNOLÓGICO DE CONTROLE DA QUALIDADE,1 +Felipe Guimarães Sobral,felipe.sobral@falcaobauer.com.br,LA. FALCÃO BAUER CENTRO TECNOLÓGICO DE CONTROLE DA QUALIDADE,1 +Alice Juçara Rosa Da Silva,alice.rs@compagas.com.br,Companhia Paranaense de Gás - COMPAGAS,1 +M Cruz Manutenção E Montagens Elétricas Eireli-Me Engenharia,vivi@mcruz.eng.br,M CRUZ MANUTENÇÃO E MONTAGENS ELÉTRICAS EIRELI-ME ENGENHARIA,1 +Vanessa Neves Viana Anacleto,savanneanacleto@gmail.com,AMBIENTAL CONSULTORIA E PROJETOS LTDA,1 +Rafaele Oliveira Correia,rafaele.correia@padtec.com.br,PADTEC,1 +Ligia Pereira Ribeiro da Silva,ligia.silva@padtec.com.br,PADTEC,1 +Douglas Fernando Van Dall,jvandall@terra.com.br,TV Color,1 +Vanessa Bernardes Medeiros,vanessa.b.medeiros@animaeducacao.com.br,ANIMA EDUCAÇÃO,1 +Fábio Eustaquio Miranda,fabio.eustaquio@animaeducacao.com.br,ANIMA EDUCAÇÃO,1 +Neverston Paulista Soares Santana,neverston.soares@animaeducacao.com.br,ANIMA EDUCAÇÃO,1 +MARCOS ROBERTO RODRIGUES DE MORAIS,marcos.morais@una.br,ANIMA EDUCAÇÃO,1 +VANESSA BERNARDES MEDEIROS,vanessa.b.medeiros@unisociesc.com.br,ANIMA EDUCAÇÃO,1 +Cícero Araujo De Caldas,contato@henrisa.com,Henrisa Construções e Serviços Ltda.,1 +Luan Macedo Fernandes,comercial@s3comercio.com.br,S3 COMERCIO E SERVIÇOS EIRELI ME,1 +Veronica Avila,vavila@ecobrisa.com,Brisa Industria de Tecidos Tecnologicos S/A,1 +Romano Beltrame,awnmontagens@yahoo.com.br,AWN MONTAGENS,1 +Marcela Menezes Magalhães,comercial1@brasolengenharia.com.br,Brasol Energia Solar,1 +Ana Lúcia Rozeng Serafim,ana.lucia@tabelionatoicara.com.br,ADRIANA MARA DE OLIVEIRA,1 +Renata Hart,iwtservices@terra.com.br,IWT Services Ltda,1 +Gabriel Nunes Nascimento,gnascimento@rst.eng.br,RST ENGENHARIA E SOLUÇÕES LTDA,1 +Marcelo Cristino,marcelonei.lc@hotmail.com,Nei Música LTDA.,1 +Marcos Venicio Santos Sousa,vynylook@hotmail.com,MM TELECOMUNICAÇÕES LTDA,1 +Marcio Ormastroni,marcioormastroni@jembras.com.br,jembras@jembras.com.br,0 +Vicente Da Rocha Carneiro,vicente.deltatec@gmail.com,VICENTE DA ROCHA CARNEIRO EIRELI ME,1 +Lidiane Rodrigues,lidiane.rodrigues@swireos.com,Swire Oilfield Services do Brasil Ltda,1 +Nickson Wisley De Almeida Caldas,nickson@resolvoecia.com.br,RESOLVO E CIA,0 +Luciana Roberta França Bergamini,rh.luciana@faj.br,Instituto Educacional Jaguary Ltda,1 +Alair Mendes De Resende Junior,alair.resende@dcexpert.com.br,DC Expert Engenharia e Tecnologia Ltda,1 +Állan Souto De Araujo,marketing@agral.com.br,Agral Indústria e Comércio de Equipamentos Eletrônicos Ltda,1 +Reginaldo Madureira Silva,rcon@rconempreiteira.com.br,RCON EMPREITEIRA DE CONSTRUCAO CIVIL,1 +Erica Freitas,ericafreitas@montacon.com.br,MONTACON ENGENHARIA,1 +Ismael Vergiano Costa,postovitoria.r@gmail.com,Vitoria Regia Comercio de Combustiveis LTDA,1 +Thaís Cerchiaro,thais@jcf.com.br,JCF Segurança Eletrônica Ltda EPP,1 +Fernando S Almeida,atendimento@eletricasantos.com.br,Essência Serviços de Construção Especializados LTDA,1 +Mvm Engenharia,mateus@mvmengenharia.com,MVM Engenharia e Consultoria,1 +Eduardo Chiarello,echiarello@bbosch.com.br,BBOSCH GALVANIZAÇÃO DO BRASIL LTDA,1 +Naisson Cavalet,naisson.cavalet@fiesc.com.br,SESI - Serviço Social da Industria,1 +Eric Gonçalves Mackert,pchfazendavelha@gmail.com,ENERGÉTICA FAZENDA VELHA S.A.,1 +Ronaldo Soares,comercial@soaresaviamentos.com.br,Soares Aviamentos,0 +Isabella Marchesini Fanchin,isabella.marchesini@allnex.com,allnex,1 +Jessica Ferreira De Avila Alves,nfprestador@itsgroup.com.br,Its Tecnologia e Informação LTDA,1 +Carlos Otávio De Oliveira Cortez Junior,falecom@campestrerio.com.br,BOM DE JOGO MÓVEIS E JOGOS DE GUAPIMIRIM LTDA ME,1 +Rafael Ferreira,amplla@ampllaempreiteira.com.br,Rafael Josefino Duarte Ferreira ME,0 +Juliana Quintanilha Mello De Lima,juliana.lima@3cservices.com.br,3C SERVICES S.A,1 +Edson Mendes De Oliveira Filho,cityposto@hotmail.com,City Posto,1 +Marco Aurelio Faria,mafsegurancadotrabalho@gmail.com,Marco Aurélio Faria 82019266172,1 +Rafaela Costa,rafaela.santos@unigel.com.br,Acrinor,1 +Vanessa Rezende,vanessa.rezende@unigel.com.br,Acrinor,1 +Jurandir Aparecido Vaz,metalvaz@hotmail.com,Polisilar,1 +Eliseu Lopes De Carvalho,comercial@alphaenergy.net.br,Alpha Energy Manutenção de Maquinas e Equipamentos LTDA,1 +Valdeir Soares Da Silva,valdeir@kairosts.com.br,Kairós Techno Service,1 +Felipe De Francischi Dos Santos,felipe@proffac.com.br,Proffac Projetos Industriais ME,1 +Margarete Graciano,margarete.graciano@volvo.com,VOLVO DO BRASIL VEICULOS LTDA,1 +Euri Emere Ribeiro Vieira,mettambiental@gmail.com,Metta Ambiental Ltda. - ME,1 +Senai Joao Simplicio,riogrande@senairs.org.br,SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL,1 +Ismael Vergiano Costa,postocambirelamc@gmail.com,Posto Cambirela Mundo Car,1 +Ronan Ferreira,ronan.ferreira@hybrazil.com,GMW Engenharia Ltda,1 +Eduardo da Silva Lemos,eduardo.lemos@gmwengenharia.com.br,GMW Engenharia Ltda,1 +Christian Koji,koji@japaautomacao.com.br,Japa Automação Industrial,1 +Uesley Ambrosio Leite,uesley.leite@tivit.com,TIVIT,1 +João Elemar De Oliveira,jomadeoliver@gmail.com,OLIVEIRA & GUEDES LTDA,1 +Marcio Freitas De Oliveira,apacheco@rst.eng.br,RST ENGENHARIA E SOLUÇÕES LTDA,1 +Celita Paiva Pereira,meioambiente@grafitedobrasil.com.br,Extrativa Metalquimica,1 +Jobson Bispo Mascarenhas,jobson.mascarenhas@fiesc.com.br,Serviço nacional de aprendizagem industrial de santa catarina,1 +Simone Eschberger Ferreira De Aguiar,simone@lambertbrasil.com,"Lambert Indústria, Comércio e Serviços Ltda",1 +Mauro Vitor Da Silva Rebello,sigga4tsc@gmail.com,MAURO VITOR S REBELLO TREINAMENTOS E ESTETICA,1 +Ademerson Xavier De Oliveira,oliveira.sst@hotmail.com,Oliveira - Segurança do Trabalho,1 +Rita De Cassia Cardoso,ritacardoso@mixedcomunicacao.com.br,Mixed Comunicação e Marketing Ltda,1 +Gustavo Assis,contato@brasilgtw.com.br,GTW Geração e Serviços LTDA.,1 +Diogo Barbosa Moreira Neiva,diogo.neiva@brasilgtw.com.br,GTW Geração e Serviços LTDA.,1 +Jheniffer Marques,jheniffer.marques@ecogenbrasil.com.br,GTW Geração e Serviços LTDA.,1 +Anderson Silva,anderson.silva@engie.com,Engie Brasil Soluções Integradas,1 +José Carlos Ferreira De Arruda,jcfconstrufox@gmail.com,Jcf de arruda construções ME,1 +Angelo Manoel Vidolin,tst@hakme.com.br,NKF CONFECCOES LTDA,1 +Vanessa Santaniello,vanessa.santaniello@qualitechirm.com,Qualitech,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping Company 08.680.888/0005-96,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping 08.680.888/0001-62,1 +Jobson Bispo Mascarenhas,adriana.burnier@fiesc.com.br,Instituto Euvaldo Lodi SC - Blumenau,1 +Fernanda Gomes Diniz,freacom@freacom.com.br,FREACOM ELETROMECÂNICA LTDA,1 +Mauricio Silva,m.silva@royalihc.com,IHC DO BRASIL,1 +Filipe Brandt,f.brandt@royalihc.com,IHC DO BRASIL,1 +Amanda Cordeiro Damasceno,a.damasceno@royalihc.com,IHC DO BRASIL,1 +Marlos Salles Bianna,mbi.bianna@royalihc.com,IHC DO BRASIL,1 +Thais Skuratovski Araujo,t.araujo@royalihc.com,IHC DO BRASIL,1 +Patrícia Ciarlo Bayona Perez Beretella,patriciab@usinacolombo.com.br,USINA COLOMBO S/A - AÇÚCAR E ÁLCOOL,1 +Laura Lazarini Aranha,laura@usinacolombo.com.br,USINA COLOMBO S/A - AÇÚCAR E ÁLCOOL,1 +Carlos Henrique Ferreira Martins,carlos@bwse.eng.br,Martins Soluções em Engenharia Eirelli,1 +Renata Toffoli,renata_toffoli@hotmail.com,TRANSPORTES MAROTO LTDA,1 +Celita Paiva Pereira,extbh@grafitedobrasil.com.br,Extrativa Metalquimica,1 +Cristian Ruediger,rh@baumgarten.com.br,Baumgarten Grafica,1 +Leandro Da Silva De Lima,lima.limainstalacoes@gmail.com,Leandro da Silva de Lima eletrica me,1 +Daniel Ribeiro De Oliveira Filho,daniel.filho@redeconecta.net.br,Rede Conecta Serviços de Rede S/A,1 +Wesley Viena Rodrigues,wesley.rodrigues@priner.com.br,PRINER SERVIÇOS INDUSTRIAIS S.A.,1 +Diego Rodrigo Andre,damatacabamentos@hotmail.com,Vicelle Store Com de Conf Eireli,1 +Teste Pj,gisa_azul2009@gmail.com,teste pj,1 +Amanda Cotta Sartore,amanda.sartore@sunchemical.com,SUN CHEMICAL DO BRASIL LTDA,1 +Mayara Ribeiro,comercial@karlog.com.br,Karlog Serviços e Logística LTDA,1 +Marco Burtet,marco.souza@sulzer.com,Sulzer Services Brasil,1 +Leandro W. Pires,leandro.pires@consultorialw.com.br,LW PIRES TREINAMENTOS,1 +Desativado Desativado,desativadoandamento@sgmp.adv.br,"SCHNEEBELI, GIMENES, MORAES E PEPE Advogados",1 +Andrew Riedi Barazetti,andrew@otiseg.com.br,BARAZETTI E GRIS LTDA,1 +Comercial De Combustíveis Caverá Ltda,trrcavera@hotmail.com,Comercial de Combustíveis Caverá Ltda,1 +Lucas Soares Da Silva,lucas.soares@ab5.com.br,AB5 INDUSTRIA E COMÉRCIO LTDA,1 +Jaqueline Elias Jaques De Souza,jaqueline.souza@fiesc.com.br,SESI 2018 - Ambulatório Medico ENGIE,1 +Jobi Aparecido Pereira,administracao@technolav.com.br,M.S.G.TECHNOLAV CONF E LAVANDERIA EIRELI EPP,1 +Atainara De Fatima Giuriato,atainara.giuriato@sgmp.adv.br,"SCHNEEBELI, GIMENES, MORAES e PEPE Advogados",1 +João Paulo Alves De Melo,nefroendocrino@hotmail.com,CLINICA NEFRO-ENDOCRINO LTDA,1 +Efraim Mota,postorota30@gmail.com,Rota 30 Comércio de Combustíveis Ltda –ME,1 +Beatriz Castilho,beatriz.castilho@petrustech.com.br,Petrustech Oil e Gas,0 +Fernando Diego Da Silva,fernando@itafrigo.com.br,Itafrigo Instalações Industriais Ltda ME,1 +Fernanda Faneli,fernanda.faneli@petrustech.com.br,Petrustech Oil e Gas,0 +Giselle Maria,paradisoaquafresh@gmail.com,PARADISO AQUA FRESH INDUSTRIA COMERCIO E MINERADORA LTDA,1 +Filipi Bernardo Silva,tst001@pedrita.com.br,CONPNESA,1 +Diogo Henrique Barbosa De Souza,eletrizaescritorio@gmail.com,Eletriza Eletricidade & Engenharia,1 +Flávia P. Corrêa,fluxo@cyber.com.br,Fluxo Ind. De Transformadores Elétricos Ltda,1 +Jacqueline Ullirsch,compras@eletroizidoro.com.br,Eletro Motores Curitibanos Ltda,1 +Danielle,danielle.ferreira@thyssenkrupp.com,thyssenkrupp Brasil Ltda,1 +Dayane Alves,dayane.francisco@thyssenkrupp.com,thyssenkrupp Brasil Ltda,1 +Quintella Engenharia,quintella@quintella.eng.br,QUINTELLA ENGENHARIA,1 +Victor Japiassú Corrêa,victor_japiassu@hotmail.com,Ecosol Condomínio Solar,1 +Eligiani Alves Ribeiro,auxiliarescritorio@curraldeminas.com.br,Organizações Junqueira Agropecuaria Ltda,1 +Thayrine Maite S. Signorelli,thayrine@unc.br,Fundação Universidade do Contestado – FUnC Campus Mafra,1 +Alessandra Wagner Jusviacky,alessandraw@unc.br,Fundação Universidade do Contestado – FUnC Campus Mafra,1 +Wagner Tolentino De Novaes,wag_novais@hotmail.com,WT SPEED TECNOLOGIA EM INFORMATICA LTDA ME,1 +Laura Schena,laura.schena@qualirede.com.br,Qualirede,1 +Mateus Lima,servicos@connectsat.com.br,E J P Telecomunicações Ltda ME,1 +Talita Figueiredo De Oliveira,tahdeoliveira@hotmail.com,"ZTE DO BRASIL, COMERCIO, SERVICOS, IMPORTACAO E EXPORTACAO LTDA.",1 +Moacyr Lacerda,moacyrflacerda@gmail.com,Sollaris Lacerda,1 +Thayane Boos,thayane@alexandria.solar,Alexandria,1 +Murilo Kadanus Dos Santos,murilo@alexandria.solar,Alexandria,1 +Flavio Novaes,novaesflavio2017@gmail.com,Alcon Web Service Ltda,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping Company 02.378.779/0001-09,1 +Caroline Vier Saviski,caroline@elevadorescastelo.com.br,Elevadores Castelo Ltda,1 +FRANCISCO ASSIS DE LIMA,chicolima41@hotmail.com,AB ENERGY DO BRASIL LTDA,1 +PAULA ALVES SANTANA,paula.santana@gruppoab.com,AB ENERGY DO BRASIL LTDA,1 +Alonsou Louzada Araujo Santos,batista.melina@gmail.com,CATIME TRANSPORADORA E ENTREGADORA LTDA,1 +Anália Salgado De Souza Faria,analia_marenostrum@outlook.com,MARENOSTRUM CONSULTORIA E ASSISTENCIA MARITIMA LTDA,1 +Ana Paula Couto De Azevedo,comercial@aquinomoreira.com.br,construtora Aquino Moreira,1 +Marcelo De Almeida Souza Santos,marcelo.santos@plasutil.com.br,Plasútil Indústria e Comércio de Plásticos Ltda,1 +Eduardo Mattos Vidal Gouveia,seguranca2@etig.com.br,ETIG MULTIFUNCIONAL EIRELI,1 +Cleiton Da Silva,cleiton@qwe.com.br,System Log,0 +Patricia Duarte,pduarte@transportarengenharia.com.br,Transportar Telecomunicações e Eletricidade SS Ltda,1 +Camile Zanatta,camile.zanatta@paraibuna.com.br,Indústria de Papéis Sudeste Ltda,1 +Marcia Lacerda,marcia@marpie.com.br,Piemar Engenharia Ltda ME,1 +Felipe Tomaz Silva,felipe@solucao.digital,Solução Digital,1 +Michele Weigel,michele.weigel@grupopratofeito.com.br,GOLLDEN FOOD INDUSTRIA E COMERCIO DE ALIMENTOS LTDA,1 +FELIX RICARDO PAULA PADILLA,padix@padix.com.br,HELLEN A. M. PADILLA EQUIPAMENTOS INDUSTRIAIS ME,1 +FRANCISCO SANTOS REIS,contato.lagosyhwh@gmail.com,LAGOS ENGENHARIA LTDA.,1 +Fabiane,fabiane.marin@ou.com.br,Martiplast,1 +FATECH ENG ELÉTRICA,financeiro2@fatechengenharia.com.br,F. S. FERREIRA ENGENHARIA,1 +FATECH ENG ELÉTRICA,financeiro2@fatechengenharia.com.br,F S FERREIRA ENGENHARIA,1 +Rondinelio vital da costa,joaomarcosteixeiraafo@gmail.com,Posto de gasolina,1 +Rafaela Benelli,rafaela-benelli@fiesc.com.br,SENAI/SC - SAO MIGUEL DO OESTE,1 +Paula Moreira,02744484598@users.noreply.betaeducacao.com.br,KORDSA,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,KORDSA,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,KORDSA,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,KORDSA,1 +CAIQUE CARVALHO SILVA,03186585503@users.noreply.betaeducacao.com.br,KORDSA,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,KORDSA,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,KORDSA,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,KORDSA,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,KORDSA,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,KORDSA,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,KORDSA,1 +REGINA VITORIA SILVA MARQUES,regina.marques@gasmig.com.br,GASMIG,1 +Livia Melo,livia.melo@gasmig.com.br,GASMIG,1 +Marcos Roberto Righi,marcosrighi@avato.com.br,VINO INSTALADORA EIRELI,1 +ROSANE GONZAGA,contato@blondine.com.br,CRAZY4BEER DISTRIBUIDORA DE BEBIDAS LTDA,1 +ELSO FERRARI FILHO,exitoinstalacao@gmail.com,EXITO CLIMATIZAÇÃO E AQUECIMENTO,1 +LUCIANO JOSÉ VAREJÃO FASSARELLA,luciano@3lengenharia.com.br,"L-L-L ENGENHARIA, CONSULTORIA, COMÉRCIO E REPRESENTAÇÃO LTDA",1 +Mauricio Paiva,mauricio.paiva@constarco.com.br,CONSTARCO ENGENHARIA E COMERCIO LTDA,1 +MATHEUS SILVA,matheus.silva@constarco.com.br,CONSTARCO ENGENHARIA E COMERCIO LTDA,1 +Stéphanie Carvalho,contato@techmap.com.br,TECHMAP,1 +Thiago Alvez,thiagoalvez@xbtasa.com,Empresa XBTA,0 +Rosangela Pereira,adm@gmbhospitalares.com.br,GMB,1 +Ediane Bergamasco,adm@transtadiotto.com.br,RICARDO LUIZ TADIOTTO & CIA LTDA - PLANI. CURSOS,1 +ANDRE LUIZ DE FARIA,pacrefrigeracao@gmail.com,PAC SERVICE,1 +Stephany Antoniolo Almeida,rh02@ajardini.com.br,AJARDINI PAISAGISMO LTDA,1 +NIOCLAUDIO BERKENBROCK,nioclaudio@hotmail.com,SIB ENGENHARIA E CONSTRUÇÕES LTDA,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping 08.680.888/0007-58,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping 08680888001053,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping 08.680.888/0019-91,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC Mediterranean Shipping 02.378.779/0006-13,1 +Silvia Duarte,silvia.duarte@jurere.com.br,Jurerê Internacional Administração Hoteleira 03.578.193/0001-50,1 +Thais Michelle Foppa,thais.foppa@jurere.com.br,Jurerê Internacional Administração Hoteleira 03.578.193/0001-50,1 +Michele dos Santos Garcia,michele.garcia@jurere.com.br,Jurerê Internacional Administração Hoteleira 03.578.193/0001-50,1 +Silvia Duarte,silvia.duarte@jurere.com.br,Jurerê Internacional Administração Hoteleira 87.919.437/0002-92,1 +Thais Michelle Foppa,thais.foppa@jurere.com.br,Jurerê Internacional Administração Hoteleira 87.919.437/0002-92,1 +Michele dos Santos Garcia,michele.garcia@jurere.com.br,Jurerê Internacional Administração Hoteleira 87.919.437/0002-92,1 +Silvia Duarte,silvia.duarte@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.529.232/0001-95,1 +Thais Michelle Foppa,thais.foppa@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.529.232/0001-95,1 +Silvia Duarte,silvia.duarte@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.892.102/0003-84,1 +Thais Michelle Foppa,thais.foppa@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.892.102/0003-84,1 +Michele dos Santos Garcia,michele.garcia@jurere.com.br,Jurerê Internacional Administração Hoteleira 10.892.102/0003-84,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,"Editora Gazeta do Povo S.A. 04.955,882/0001-08",1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,"Editora Gazeta do Povo S.A. 04.955,882/0001-08",1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 76.498.864/0001-47,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 76.498.864/0001-47,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 81.034.977/0001-21,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 81.034.977/0001-21,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 78.712.056/0001-66,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 78.712.056/0001-66,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,"Editora Gazeta do Povo S.A. 76.494,806/0001-45",1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,"Editora Gazeta do Povo S.A. 76.494,806/0001-45",1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 76.494.806/0002-26,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 76.494.806/0002-26,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 79.135.760/0001-66,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 79.135.760/0001-66,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 80.830.334/0001-21,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 80.830.334/0001-21,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 03.699.194/0001-53,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 03.699.194/0001-53,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Editora Gazeta do Povo S.A. 03.699.194/0002-34,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A. 03.699.194/0002-34,1 +Berenice Torres de Menezes Contri,sta.telecom@terra.com.br,STA Telecomunicacoes e Eletricidade Ltda,1 +rs eventos e stands -eireli-me,rseventos@terra.com.br,rs eventos,1 +Anna Busatto,virtualinternetvbi@gmail.com,Busatto Internet e Suprimentos de Informática LTDA ME,1 +Carine Carvalho de Araujo Pierozan,contato@moveispierozan.com.br,Vinicius Besbati Pierozan - ME,1 +Sérgio Siqueira,sergio+group@somosbeta.com.br,Test,1 +Sérgio Siqueira,sergio+g2@somosbeta.com.br,Test 2,1 +Aline Fernandes dos Santos Rocha,aline.fernandes@campello.com.br,ELLO SOLUÇÕES EM TECNOLOGIA LTDA,1 +Vinicius Brandi,vinicius.brandi@msc.com,MSC 08.680.888/0001-12,1 +Antonio Dultra dos Santos,antonio.dultra@msc.com,MSC 08.680.888/0001-12,1 +Regis Cardoso,regis.cardoso@senairs.org.br,Serviço Nacional de Aprendizagem Industrial,1 +Dejaime Pinto Teixeira,dejaime.teixeira@external.atlascopco.com,Atlas Copco Brasil Ltda,1 +GUILHERME JUNIOR MONTEIRO,guilhermemonteiro01@outlook.com,GUILHERME JUNIOR MONTEIRO,1 +maurilio,edu_maurylio@hotmail.com,tristeMED,1 +maurilio,edu_maurylio@hotmail.com,joaozinho engenharia ltda,1 +maurilio,edu_maurylio@hotmail.com.br,XXXX LTDA,1 +Welysson Barbosa da Silva,welysilva@hotmail.com,JOSÉ NILTON GOMES DA SILVA -EPP,1 +MARCIA KATIANE PEREIRA POUSSAM,marciapoussan@gmail.com,Registro de Imóveis de Campo Grande,1 +Angela Maria de Morais Andreatta,angela@sosmerces.com.br,Andreatta e Filho Ltda,1 +Andre de Oliveira Carvalho,andrearteparque@gmail.com,AC MANUTENÇÃO E SERVIÇOS GERAIS,1 +Francis Flores Fiorini,francis.fiorini@senairs.org.br,SENAI SÃO LEOPOLDO,1 +Tiago Emanoel Souza Oliveira,tiago@4kservice.com.br,4k service,1 +Joelson do Nascimento,supervisorboituva@gmail.com,Joelson do Nascimento Remanufaturado ME,1 +André costa dos santos,metalurgicaverticalfms@hotmail.com,Metalurgica vertical Eirele-me,1 +Renata Abreu da Silva,financeiro@inovvar.net.br,INOVVAR,1 +Herlon Matheus Ventura,herlon@vheindustrial.com.br,H. M. Ventura - EPP,1 +BRUNO LEANDRO,LCL._@HOTMAIL.COM,LCL DA SILVA REVESTIMENTOS ME,1 +Allan Victor,dp@metalpartes.com.br,AAE METALPARTES PRODUTOS E SERVIÇOS LTDA,1 +Themis Patrício,treinamento@cdp.com.br,CDP,1 +ELISANGELA DE FATIMA PRESTES DA CRUS,elisangela.crus@powereletric.com.br,G.L DA CRUS E CIA LTDA ME,1 +Stanley Roberto Pafaro,stanley.pafaro@sabbry.com,Sabbry Industrial Solutions,1 +Kevillyn da Luz Pereira,kevillyn.pereira@powereletric.com.br,POWER ELETRIC,1 +José Carvalho Nascimento,jrp.reformasemgeral@gmail.com,JRP servicos em gerais,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-PALHOÇA 02.952.689/0010-70,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-CHAPECÓ 02.952.689/0003-41,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-JOINVILLE 02.952.689/0007-75,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-ITAJAI 02.952.689/0011-51,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-RIO DO SUL 02.952.689/0009-37,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-CONCÓRDIA 02.952.689/0006-94,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,GRUPO CARBONI-PASSO FUNDO 02.952.689/0013-13,1 +Sérgio Rafael Siqueira,sergio+5@somosbeta.com.br,Via API Lambda,1 +Sérgio Rafael Siqueira,sergio+6@somosbeta.com.br,Via API Lambda,1 +Sérgio Test,sergio+8@somosbeta.com.br,Via API Lambda,1 +Roselene Guilardi,roselene@funcionalautomacao.com.br,Funcional Automação e Manutenção Ltda,1 +JOSE FRANCISCO - TST,josefranciscolana@yahoo.com.br,SO DIESEL E CONSTRUCAO LTDA ME,1 +Priscilla Silveira,operations@roderemovedora.com.br,RODE REMOVEDORA DE RESÍDUOS LTDA,1 +DIEME SANTOS,rh@bouwman.com.br,BOUWMAN TECNOLOGIA AGROPECUARIA LTDA,1 +Volnei Carlos Pozzebon,vanderlei@grandelagoservicos.com.br,LIS Serviços e Obras LTDA,1 +Andréia De Azevedo Lopes,andreia.lopes@aeromot.com.br,Brant Comércio e Serviços Eireli,1 +Fernanda Rodrigues,shoppingacropole@gmail.com,Shopping Acrópole Empreendimento Imobiliário SPE LTDA,1 +Claudia Seindorff,csteindorff@hotmail.com,RSBC REDE SULBRASILEIRA DE COMUNICAÇÃO VISUAL S.A,1 +Magno Vinícius Machado de Souza,eletromag.vr@hotmail.com,Eletromag serviços em eletricidade- 25.263.660/0001-96,1 +Golden Maq,assistencia1@goldenmaq.com.br,GOLDEN MAQ,1 +Tiago,kizza.engenharia@gmail.com,Kizza engenharia,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +CRISTINIANO XAVIER DOS SANTOS,98985850563@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,KORDSA - Secagem/Fiação,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,KORDSA - Dipping/SEC,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +CARLA CRISTINA PENNA FERNANDES,81206917687@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,KORDSA - Manutenção,1 +Sonia,laudos@limnobras.com.br,LimnoBras Laboartórios de analises Limnológicas Ltda,1 +antonio carlos de queiroz,antonio@sulsegba.com.br,sulseg vigilância e segurança patrimonial,1 +HYLLEN AUGUSTO CARVALHIDO,hcarvalhido@gmail.com,ECO MG ENGENHARIA LTDA,1 +CELSO VIEIRA DOS SANTOS,celso.vieira@solteco.com.br,SOLTECO TECNOLOGIA E CORTE LTDA.,1 +Raquel Costa,raquel@top.eng.br,TOP Empreendimentos Ltda.,1 +ALESSANDRO PARAÍSO,apiariosnicolas@gmail.com,ISO APICULTURA BRASILEIRA LTDA-ME,1 +JÚNIO CEZAR AMARAL,junioamaral2009@hotmail.com,CASA DE CARNES E MERCEARIA AMARAL,1 +SEGURPRO,erick.costa@prosegur.com,SEGURPRO SISTEMAS DE SEGURANÇA LTDA. 74.224.163/0029-95,1 +SEGURPRO,erick.costa@prosegur.com,SEGURPRO VIGILÂNCIA PATRIMONIAL S.A. 25.278.459/0002-63,1 +Nayara Caroline de Rezende,rh02@hidrogeron.com,Hidrogeron,1 +Gislaine Lourenço Dias da Costa,gislaine@agfengenharia.com.br,AGF ENGENHARIA,1 +Sérgio Rafael Siqueira,sergio+14@somosbeta.com.br,Via API Lambda 2am,1 +Silvana Paulista,silvana.paulista@copel.com,COPEL,1 +PABLO FACHINI NASCIMENTO,pablo@mambiental.com,M. Ambiental,1 +José Carlos,jcarlos@innovaction.net.br,Innovaction,1 +Mateus Maia Bastos dos Santos,mateus.maia@grupodr1.com.br,DR1 Serviços Especializados de Inspeção Aérea ltda,1 +Sérgio Rafael Siqueira,sergio+17@somosbeta.com.br,Sergio's teste,1 +Sérgio Siqueira,sergio+18@somosbeta.com.br,Sérgio's Test,1 +Henrique Lemos De Faria,henrique@laceeng.com.br,LACE ENGENHARIA,1 +Liliane,liliane@smartups.com.br,SMART UPS SOLUTIONS SERVIÇO E COMERCIO LTDA EPP,1 +SMART UPS SOLUTIONS SERVIÇOS E COMERCIO LTDA EPP,adm@smartups.com.br,SMART UPS SOLUTIONS SERVIÇO E COMERCIO LTDA EPP,1 +JORGE,techposto@techposto.com.br,TECHPOSTO,1 +Aline Gerhardt,aline.gerhardt@pfiffner.com.br,Pfiffner do Brasil Industria e Comércio de Transformadores Ltda,1 +ROSANGELA MACIEL MATOS,rosymmatos@gmail.com,ROSANGELA MACIEL MATOS,1 +Camila Silva Rocha,crsilva@alliedbrasil.com.br,TRAMEAP,1 +BRUNO MAQUEDA DA SILVA,bruno.maqueda@trameap.com.br,TRAMEAP,1 +ADRIANA ROSA DOS SANTOS,arsantos@alliedbrasil.com.br,TRAMEAP,1 +AMANDA CARVALHO DO CARMO OLIVEIRA,accarmo@alliedbrasil.com.br,TRAMEAP,1 +Jéssica Dias de Souza,jessica.souza@tapss.com.br,TRAMEAP,1 +Victor Matheus Ortiz de Lima Araujo,victor.araujo@tapss.com.br,TRAMEAP,1 +Deivys Kunrath,construtoragdk@hotmail.com,DEIVYS KUNRATH ME,1 +TAAGEERO COMERCIAL,rh@taageero.com.br,TAAGEERO COMERCIAL LTDA ME,0 +SUZETE CARNEIRO DE QUEIROZ,suzete.queiroz@bradesco.com.br,BRADESCO,1 +Nathalia Moreli Brito,nathalia@marmorariaseleto.com.br,Marmoraria Seleto,1 +Waldenyce Francyne Leitão Santos,waldenyce.santos@ezentis.com.br,Ezentis,0 +ANTONIO RODRIGUES,financeiro@net4you.com.br,NET4YOU INTERNET SOLUTION,1 +Elaine Vieira,faturamento@novadupla.com.br,NOVA DUPLA SOLUCAO GRAFICA DIGITAL COMUNICACAO E COMERCIO EIRELI,1 +PROJETO X BRINQUEDOS LTDA,rh@projetoxbrinquedos.com.br,PROJETO X BRINQUEDOS LTDA,0 +WILLIAN DA SILVA FILHO,willian.d.silva@manserv.com.br,Manserv Janileide,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,Manserv Janileide,1 +Leonardo Silveira Martins,leonardo.martins@senairs.org.br,SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL,1 +Ivan Barbosa Da Silva,ivanb@gazetadopovo.com.br,Televisão Cultura de Maringá Ltda.,1 +Ana Carolina Silva,anasilva@grpcom.com.br,Televisão Cultura de Maringá Ltda.,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,Televisão Cultura de Maringá Ltda.,1 +Alexsandro De Souza Da Silva,alex@actecrs.com.br,AC TEC ELÉTRICA LTDA,1 +Franciele Padilha da Silva,adm@actecrs.com.br,AC TEC ELÉTRICA LTDA,1 +Washington Carlos Correia,seguranca.trabalho@ecopistas.com.br,CONCESSIONARIA ECOVIAS DOS IMIGRANTES S.A.,1 +Gildo de Souza Martins,gildomartinsseg@gmail.com,GSM TREINAMENTOS,1 +ISPL INDUSTRIA SULAMERICANA DE PRODUTOS DE LIMPEZA LTDA,rh@crivialli.com.br,CRIVIALLI,1 +Jéssica dos Santos Alves de Sousa,sesmt2@grupomagnus.com.br,Grupo Magnus,1 +Poliana Moreira de Araújo,sesmt3@grupomagnus.com.br,Grupo Magnus,1 +Andreza Vieira,andreza.vieira@gestaogps.com.br,Grupo Magnus,1 +Fabiana Capiche Alves,fabiana.capiche@ihcare.com.br,international health care offshore,1 +Gabriel Vieira Lopez,gabriel.lopez@ihcare.com.br,International Health Care Offshore LTDA,1 +CONTROL SERVICE DO BRASIL EIRELI,financeiro@controlservice.com.br,CONTROL SERVICE DO BRASIL EIRELI,1 +Renato Torre,renato.torre@vibrasom.ind.br,Vibrashop,1 +Priscila,priscila@saccobrasil.com.br,Sacco Brasil,1 +Mayara Menezes,administrativo@easyvix.com.br,EASYVIX COMERCIO E SOLUCOES INDUSTRIAIS,0 +Lindinalva dos Santos,lindinalva.santos@ecosan.com,ECOSAN EQUIPAMENTOS PARA SANEAMENTO LTDA,1 +Jullya Bárbara dos Santos Cardoso,comercial@samed.med.br,SAMED MEDICINA E SEGURANÇA DO TRABALHO LTDA.,1 +Frederico Zettel,frederico@astj.ind.br,"Jetalbras Fabricação de Equipamentos, Montagem, Manutenção e Remoção Industrial Ltda.",1 +JOANA CAROLINA PERINI,adm@pbastones.com.br,PBA SERVIÇOS E COMERCIO DE PEDRAS ORNAMENTAIS LTDA,1 +TALITA MARINHO BRAZ DA CUNHA,talita@hzn.com.br,HZN IND E COM DE ALIMENTOS LTDS,1 +GONSALES ALVES DOS SANTOS,cleyton.santos@ecosan.com,ECOSAN EQUIPAMENTOS PARA SANEAMENTO LTDA,1 +Antonio Carlos Alves Evangelista Filho,antonio@rcprojetoseconsultoria.com.br,R&C Engenharia Elétrica e Telecomunicações Ltda.,0 +WAGNER AP. DE OLIVEIRA HEMKEMEIER,renan@brasilsolaris.com.br,BRASIL SOLARIS LTDA,1 +Giana Hahn Alves,giana.alves@fiesc.com.br,Serviço Social da industria,1 +Jaqueline Zucatti,jaqueline.zucatti@indukern.com.br,Indukern Do Brasil Química - Ltda,1 +GESLIANE ANDREIS,carla.schneider@fiesc.com.br,SERVIÇO SOCIAL DA INDUSTRIA - 844,1 +valamir da silva,contato@lavippinturas.com.br,lavip lavações e pinturas prediais,0 +Joycy Machado Moro,joycy.moro@ibrav.com.br,IBRAV ACESSÓRIOS INDUSTRIAIS LTDA,1 +Marcela Braga,estacaoribeirao3235@hotmail.com,RESTAURANTE ESTAÇÃO RIBEIRÃO LTDA,1 +Joyce Improta,financeiro@karpapiscinas.com.br,Karpa Piscinas,1 +Alberto Yoshitomo Tsutsui de Oliveira,alberto@yoshitomo.com.br,Tsutsui Tec,0 +David luna Santos,contato@tldx.com.br,TLDX – Comércio e Serviços Tecnologia em Limpeza de Dutos LTDA – ME,1 +elizete secchi,elizete76secchi@gmail.com,Elizete Secchi,1 +Vitória Gissélia Vitor,vitoria.vitor@formtap.com.br,Formtap Industria e Comercio S/A,1 +Aline Holanda Mattos,aline@starnort.com.br,Starnort,1 +André Barreto das Virgens,andre.barreto@grupoplantao.srv.br,PLANTÃO SERVIÇO DE TELECOMUNICAÇÕES EIRELI - EPP,1 +Serviço Social da Indústria,vanessa.mascellaro@fiesc.com.br,SERVIÇO SOCIAL DA INDÚSTRIA,1 +Michel Simões Lopes,michel.lopes@infineum.com,Infineum Brasil Ltda,1 +João Leonel de Freitas Souza,joaoleonel.souza@infineum.com,Infineum Brasil Ltda,1 +Lucília Fernanda Fernandes Lins,luciliafernanda.lins@infineum.com,Infineum Brasil Ltda,1 +Priscila Bernardes Santoro,Priscila.Bernardes@infineum.com,Infineum Brasil Ltda,1 +Daniel Rodrigues Vieira Pinto,daniel@demcomercio.com.br,D&M Comércio Ltda,1 +Thais Aparecida Lopes Teixeira,adm3@demcomercio.com.br,D&M Comércio Ltda,1 +Lana Flavia Barcelos Santos,lana.barcelos@albioma.com,Albioma Esplanada Energia S.A,1 +Jéssica Nicaele Rezende,jessica.rezende@albioma.com,Albioma Esplanada Energia S.A,1 +Silvio Luis Bonczynski,silvio.bonczynski@sesisc.org.br,SERVICO SOCIAL DA INDUSTRIA - TUBARÃO,1 +Douglas Augusto Pereira,douglasiker@hotmail.com,Douglas A Pereira Montagem de Equipamentos M.E,1 +Luiz Geraldo Nunes,luiz.seguranca@ceraca.com.br,Ceraçá,1 +LUIZ TADEU DE MASCARENHAS AMBROS,clinica.ambros@terra.com.br,AMBROS CLINICA OFTALMOLOGICA LTDA,1 +Eduarda da Silva Kindlein,ambros.clinica32@terra.com.br,AMBROS CLINICA OFTALMOLOGICA LTDA,1 +Marcos Bornholdt,marcos@baumec.com.br,Baumec Engenharia Ltda,1 +Gabriel Zat Guizzardi,gabriel.guizzardi@setaengenharia.com.br,SETA ENGENHARIA,1 +Emerson Fagundes Ribeiro,manarthsc@gmail.com,Manarth Soluções Construtivas Ltda,1 +Leidiane,ldom960@users.noreply.betaeducacao.com.br,Mann=Hummel,1 +Dayane Cirino Costa Lourenço,Dayane.Lourenco@mann-hummel.com,Mann=Hummel,1 +Maynara Santos,nathalia.soares@mann-hummel.com,Mann=Hummel,1 +Luciano Dallago,segsolucoessst@gmail.cm,SEG SOLUÇÕES EM SAÚDE E SEGURANÇA DO TRABALHO,0 +Kássia Reis,kassia.reis@hybrazil.com,GMW Engenharia Ltda,1 +ROMILTO DE LOURENZI LOPES,contato@estudyou.com,SANTOS E BARRETO COM. E REP. LTDA,1 +ROMILTO DE LOURENZI LOPES,contato@estudyou.com,SANTOS E CIA LTDA,1 +Felipe De Biase,felipe.debiase@inventory.com.br,MINAS SOFT,1 +Albert Geraldo Alves,albert.alves@inventory.com.br,MINAS SOFT,1 +Patricia Sales de Carvalho,patricia.sales.de.carvalho@gmail.com,MSC Vila Velha,1 +REVERT SOLUCOES AMBIENTAIS LTDA,revertsolucoesambientais@gmail.com,REVERT SOLUCOES AMBIENTAIS,1 +BRUNO MAQUEDA DA SILVA,bruno.maqueda@trameap.com.br,TRAMEAP- Pratt & Whitney,1 +INTERTECHNE CONSULTORES S.A.,dcba@intertechne.com.br,Intertechne,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +CARLA CRISTINA PENNA FERNANDES,81206917687@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa- Utilidades,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +CARLA CRISTINA PENNA FERNANDES,81206917687@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa - Manutenção - Oficina Química,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +RONALDO SANTOS DE ALMEIDA,53643283504@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa - Tecelagem,1 +SOCIEDADE DA AGUA,contato@sociedadedaagua.com.br,SOCIEDADE DA ÁGUA SERVIÇOS AMBIENTAIS E GEOTECNOLOGIAS EIRELI,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa - Retorcimento,1 +WAGNER COELHO EUGENIO,marketing@logxexpress.com.br,LOGX TRANSPORTES EIRELI,1 +Mario Vitor Rosa,mario.rosa@tegula.com.br,Tegula Soluções para Telhados,1 +Ana Carolina Fanton,ana.fanton@clamed.com.br,CLAMED - Cia Latino Americana de Medicamentos,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +CARLA CRISTINA PENNA FERNANDES,81206917687@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +Jessica de andrade,07124124417@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa- Oficina Central,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa - Segurança Suporte,1 +Gabrielle Viveiros,gabriele@pam-membranas.com.br,Pam Membranas Seletivas LTDA,1 +DANIELA ARO SILVA,abeb.compras@gruppoab.com,AB ENERGY DO BRASIL - FAKE,1 +Gabriela Baltazar,financeiro@schweers.com.br,Schweers Metalurgica EIRELI,1 +Eduardo D. C. R. Costa,gerencia@segmedcampos.com,segmed serviços médicos ltda,1 +SWC,salaswc.catu@hotmail.com,SWC Service of Well Control,1 +Gabrielle Viveiros,gabriele@pam-membranas.com.br,Pam Membranas,1 +CASSIA MENDES BERNARDES SESSA,adm@housedecorsantos.com.br,A M A DECORAÇÕES LTDA,1 +Monica Pietscher,financeiro@trameap.com.br,"AUDIO PADRÃO DIAGNOSTICO, SAÚDE E SEGURANÇA OCUPACIONAL LTDA",1 +John Wilson Sadovski dos Santos,john@eratelecom.com.br,Era Telecomunicações Ltda,1 +Era Telecom,eratelecom@eratelecom.com.br,Era Telecomunicações Ltda,1 +ANA CAROLINA SILVA,anasilva@grpcom.com,TV CATARATAS,1 +gilmar barbosa silva,tatielle12345678@gmail.com,Gilmar barbosa da silva,1 +Vitória Capum Rodrigues,vitoria@mksintegridade.com,MKS SERVIÇOS ESPECIAIS DE ENGENHARIA LTDA,1 +Gabriel Jose Fraga Mello,fragamellogabriel@gmail.com,Vale Comercial Eireli,1 +BRUNO MAURITAN BISPO CINTRA,bruno.cintra@mcgengenharia.com,MCG ENGENHARIA DE PROJETOS LTDA - FAKE,1 +Christiane Ronchi da Silva Gomes,cronchi@iguacu.com.br,Cia. Iguaçu de Café Solúvel,1 +Johnathan Schoenau Vasconcellos Cardoso,johnathancardoso@gmail.com,CAPB Treinametnos,1 +Luana Cristina Santos,sha-brcge1-rh08@pli-petronas.com,Petronas Lubrificantes Brasil S.A,1 +Carlos Magno Nunes,capbtreinamentos@gmail.com,CAPB,1 +Lizandra Sanches Soares,aprendizrh@usinacolombo.com.br,Usina Colombo S/A Açúcar e Álcool,1 +Laura Lazarini Aranha,laura@usinacolombo.com.br,Usina Colombo S/A Açúcar e Álcool,1 +Breno,bsilva@recursus.com,Recursus Engenharia,1 +Amanda Duarte,rh@nunesdecorarte.com.br,NUNES ENXOVAIS IND. COM. IMP. E EXP. EIRELI,1 +Diego Alex dos Santos Sousa,diego.sousa@smipreditiva.com.br,SMI Manutenção Preventiva Ltda,1 +jae min lee,marina.dias@benvista.com.br,VMOFTSPCLINICA MEDICA OFTALMOLOGICA LTDA,1 +Renato A L F Chaves,chavrenato@gmail.com,CONDOMINIO DO EDIFICIO SONATA.,1 +Ana Paula de Albuquerque Marciano,ana.marciano@dorsolucoes.com.br,REDE D’OR SÃO LUIZ SOLUÇÕES CORPORATIVAS EM SAÚDE E SEGURANÇA DO TRABALHO,1 +Camila Gomes Selecto da Cunha,camila.cunha@dorsolucoes.com.br,REDE D’OR SÃO LUIZ SOLUÇÕES CORPORATIVAS EM SAÚDE E SEGURANÇA DO TRABALHO,1 +Poliene Aparecida Lopes Morais,poliene.morais@pharlab.com.br,Pharlab,1 +Poliene Morais,recrutamento@pharlab.com.br,Pharlab,1 +Rogerio Gardim,tendasmaringa@gmail.com,Tendas Maringá comércio e locação de tendas e estrutura para eventos EIRELLI,1 +Antonio Vasconcelos,suprimentos-m4p@m4u.com.br,M4 Produtos e Serviços,1 +Ezequias da Silva Alves,ezanengenharia@ezan.com.br,Ezan Engenharia e Geotecnia,1 +WENDELL HEINZL,wendell.heinzl@fanucamerica.com,FANUC SOUTH AMERICAEQUIP DE AUTOM E SERV LTDA,1 +Jennyfer Kaneto Sales Felicio,jennyfer.felico@fanucamerica.com,FANUC SOUTH AMERICAEQUIP DE AUTOM E SERV LTDA,1 +Yasmin de Deus da Rocha,yasmin.rocha@fanucamerica.com,FANUC SOUTH AMERICAEQUIP DE AUTOM E SERV LTDA,1 +MARIA CLARICE LAGUNA,jornalismojoaosantos@gmail.com,CANASBEACH HOTEL LTDA,1 +LEANDRO PEREIRA LACERDA,eduardo.gurgel@brturbo.com.br,SOMAR - SOCIEDADE MINERADORA LTDA.,1 +Vinicius Ruiz de Oliveira,vinicius.ruiz@vr7automacao.com.br,VR7 Automação Industrial,1 +Mateus Prohmann,mateus.prohmann@consorciobiomacae.com.br,AMP2 Soluções em Energia Ltda,1 +JOYCE RODRIGUES PIMENTEL,joyce.pimentel@uspedra.com.br,USINA BURITI PEDRA AGROINDUSTRIAL S/A,1 +Jessica Maia,jessica.maia@uspedra.com.br,USINA BURITI PEDRA AGROINDUSTRIAL S/A,1 +Francisco Miranda,francisco.miranda@uspedra.com.br,USINA BURITI PEDRA AGROINDUSTRIAL S/A,1 +kellen,kellen.fonseca@uspedra.com.br,USINA BURITI PEDRA AGROINDUSTRIAL S/A,1 +Livia Fernanda Santana,livia.santana@pedraagroindustrial.com.br,USINA BURITI PEDRA AGROINDUSTRIAL S/A,1 +NANCY ALVES LABRITZ,nancy.labritz@gmail.com,NAFEM USINAGEM E FERRAMENTARIA LTDA ME,1 +Hudson Alves martins,hudsonalvesmartins@gmail.com,Brasil Educação,1 +Donizete,donizetty.andre@gmail.com,Htp engenharia,1 +Donizette Aparecido André,htpengenharia1@gmail.com,Nova Consbras Comercio E Serviços LTDA,1 +SAMARA MEDEIROS FARIA,adm2@demcomercio.com.br,D&M COMERCIO LTDA,1 +Tiago Ongaratto,tiago.ongaratto@geraeb.com.br,BIO GERA ENERGIA LOCACOES DE MAQUINAS E EQUIPAMENTOS INDUSTRIAIS LTDA,0 +Rogger Nunes,atendimento.gratitude@gmail.com,Gratitude,1 +Paulo Rogério,logistica1@eritel.com.br,Eritel Telecomunicação,1 +Mario Zawacki,elisangela@eritel.com.br,Eritel Telecomunicações Ltda,1 +Letícia de Souza Cunha,leticia.souza@jacomarsm.com.br,Auto Posto Jacomar Boqueirão,1 +Luciano Garcia Pereira,lgpportforro@yahoo.com.br,Luciano Garcia Pereira Me,1 +RICARDO REIS DAS NEVES,producao@cbcflex.com,CBC FLEX IND E COMERCIO DE ADESIVOS LTDA,1 +Edson Cavalcante da Silva,financeiro@speedytelecom.com.br,Speedy Telecom,1 +IZABELA DO VALE FERRAZ,financeiro@viapress.com.br,VIA PRESS COMUNICAÇÃO EIRELI,1 +SAMARA MEDEIROS FARIA,sam.faria@hotmail.com,D&M COMERCIO LTDA,1 +Claudio Roberto de Menezes,reila@mg.sense.com.br,Sense Eletrônica,1 +Rosimere Mendes,rosimeiremendes@natura.net,NATURA COSMETICOS S/A 2000,1 +NATALIA PAES DOS SANTOS,nataliapaes@natura.net,NATURA COSMETICOS S/A 2000,1 +Thauane Almeida Guilherme,thauaneguilherme.espro@natura.net,NATURA COSMETICOS S/A 2000,1 +JOSIANE NASCIMENTO FLORIANO BRASANITAS,josianefloriano.brasanitas@natura.net,NATURA COSMETICOS S/A 2000,1 +Keven Ramos Gaspar,kevengaspar.associacao@natura.net,NATURA COSMETICOS S/A 2000,1 +Felipe Figueredo,felipe.figueredo@doricaeng.com.br,DORICA INSTALACAO E MANUTENCAO EIRELI,1 +Olier Pantuza Torres,clayton.assis@npegroup.com.br,NPE SERVICE MANUTENÇÃO E MONTAGEM,1 +Silvio José Montanher,compras5@colomboagroindustria.com.br,COLOMBO AGROINDUSTRIA S/A,1 +Patrícia Costa Almeida,patricia.almeida@ponsse.com,Ponsse Latin America Indústria de Máquinas Florestais LTDA,1 +José Carlos da Silveira,jose.silveira@ponsse.com,Ponsse Latin America Indústria de Máquinas Florestais LTDA,1 +ABDON LIMA GOES NETO,abdon.neto@cetrel.com.br,DAC CNPJ 0194403100163,1 +Ana Rita da Hora Reis,anareis@cetrel.com.br,DAC CNPJ 0194403100163,1 +ROSELY CARVALHO DOS SANTOS,roselysantos@cetrel.com.br,DAC CNPJ 0194403100163,1 +Rafael Pereira da Silva,rafaelpsilva@cetrel.com.br,DAC CNPJ 0194403100163,1 +Treinamentos CETREL,treinamentosqssma@cetrel.com.br,DAC CNPJ 0194403100163,1 +Apoio CETREL,apoioadministrativo@cetrel.com.br,DAC CNPJ 0194403100163,1 +Vivian,vivian.santana@ecovias.com.br,Concessionária Ecovias dos Imigrantes,1 +Bruna Carmona Picarelli,comprasagencia@climatempo.com.br,Agencia Brasileira de Meteorologia Ltda,1 +Silvio José Montanher,compras5@colomboagroindustria.com.br,COLOMBO AGROINDUSTRIA S/A-PALESTINA,1 +GIZELE,financeiro1@granaco.com.br,GRANAÇO,1 +Erick Filipino,maferkcalhas@yahoo.com,Maferk,1 +Marcia Lacerda,marcia@marpie.com.br,Piemar Engenharia Ltda,1 +Victor Bruno Carletti Silveira,vbcsilveira@saaeamparo.sp.gov.br,Serviço Autônomo de Água e Esgoto Amparo,1 +Jessica dos Santos Ribeiro,segurancadotrabalho@grupomottin.com.br,Movesa Motores e Veiculos LTDA,1 +LOURDES RIBEIRO,compras@apiceprojetos.com.br,APICE PROJETOS DE GESTAO,1 +Débora Cristina Campos,rh@tecnoklima.com.br,DS manutenção de ar condicionado,1 +Luiz,admciabrap@yahoo.com.br,Cia Brap treinamentos,1 +Roberto Cristian Pires De Souza,roberto.souza@inovaenergy.com.br,Inova Energy,1 +Fernanda Georgia Sales Pereira,fernanda.pereira@cscenergia.com.br,CSC-CENTRAL DE SERVIÇOS COMPARTILHADOS SA,1 +ARLEN PATRÍCIO NOVELLETTO,arlen.novelletto@cscenergia.com.br,CSC-CENTRAL DE SERVIÇOS COMPARTILHADOS SA,1 +Daiana Tamara de Souza,daiana.tamara@gmail.com,CSC-CENTRAL DE SERVIÇOS COMPARTILHADOS SA,1 +DAIANA TAMARA DE SOUZA,daiana.souza@cscenergia.com.br,CSC-CENTRAL DE SERVIÇOS COMPARTILHADOS SA,1 +Luciano Alves da Cruz,contato@commetro.com.br,Commetro Engenharia Eireli,1 +Dhyego Ferreira de Lima,dhyego.lima@datatraffic.com.br,DATA TRAFFIC,1 +LEANDRO VOLKART,leandro@flybyte.com.br,FLYSERVICE SERVICO DE TECNOLOGIA LTDA,1 +Nathalia Lorena,nathalia.lorena@uspedra.com.br,Pedra Agroindustrial S/A,1 +Jessica Maia,jessica.maia@uspedra.com.br,Pedra Agroindustrial S/A,1 +Francisco Miranda,francisco.miranda@uspedra.com.br,Pedra Agroindustrial S/A,1 +kellen,kellen.fonseca@uspedra.com.br,Pedra Agroindustrial S/A,1 +Livia Fernanda Santana,livia.santana@pedraagroindustrial.com.br,Pedra Agroindustrial S/A,1 +Otávio,contesini@salengenharia.com.br,Sal Engenharia,1 +Lucas Veronez,logistica2@salengenharia.com.br,Sal Engenharia,1 +Liziane Cabral,liziane.cabral@zumpnet.com.br,ZumpNet,1 +JULIA RONIZE COSTA DE CAMPOS,juliac.95@hotmail.com,ZumpNet,1 +Marco Macana,services@norsul.com,COMPANHIA DE NAVEGACAO NORSUL,1 +Elisangela Pereira de Carvalho,elisangela.pereira@inovaenergy.com.br,INOVA ENERGY ENGENHARIA,1 +Felipe Figueredo,felipe.figueredo@doricaeng.com.br,Dorica Instalacao e Manutencao LTDA,1 +Pedro Victor Peres,gerencia.operacional@crescersolucoes.com.br,CRESCER RECURSOS HUMANOS LTDA,1 +Leonardo Fonseca Albuquerque,04338749539@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +THIAGO OTON S DE OLIVEIRA,05026147577@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +Anderson Julião,03083336594@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +Ana Carolina Nepomuceno de Santana,07491762530@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,Kordsa / Manutenção Oficina Têxtil,1 +Leandro W. Pires,leandro.pires@consultorialw.com.br,LW PIRES TREINAMENTOS ME DEFINITIVO,1 +Pedro Luís Caldeira Martins,pedro@pmartinsengenharia.com.br,Pedro Martins Engenharia,1 +Taís Cristina,tais@lonjastec.com.br,LONJAS TECNOLOGIA ENERGIA E MEIO AMBIENTE LTDA,1 +Alexandre Gonzaga,alexandre.gonzaga@lonjastec.com.br,LONJAS TECNOLOGIA ENERGIA E MEIO AMBIENTE LTDA,1 +Eli Tiago Martini,kuaraecoenergy@gmail.com,Kuara Ecoenergy,1 +Washington Amélio de Queiroz Neto,trevoarcondicionado@outlook.com,Trevo Ar Condicionado,1 +André Luis Moura,sesmt@marsala.com.br,MARSALA,1 +Leandro Barbosa Dorea,leandrodorea@kofre.com.br,kofre,1 +LEANDRO BARBOSA DOREA,caiosilva@kofre.com.br,kofre,1 +Fernanda Aguiar,fernandaguiar@eurofins.com,ANALYTICAL TECHNOLOGY SERVICOS ANALITICOS E AMBIENTAIS LTDA,1 +Rafaele Oliveira Correia,rafaele.correia@padtec.com.br,PADTEC S/A,1 +Ligia Pereira Ribeiro da Silva,ligia.silva@padtec.com.br,PADTEC S/A,1 +Elaine Xavier Bueno,elaine.bueno@padtec.com.br,PADTEC S/A,1 +Eduardo Serrão Neves Leal,eduardo.serrao@copapa.com.br,COPAPA CIA PADUANA DE PAPEIS,1 +Sheila Regina Decco,sheila@mitspieler.com.br,Mitspieler Serviço e Representaçoes Ltda,1 +Marildo da silva,marildo.pop@hotmail.com,Mão serviços gerais,1 +INTERTECHNE CONSULTORES S.A.,dcba@intertechne.com.br,INTERTECHNE CONSULTORES S.A,1 +Jefferson Pradino de Carvalho,jefferson.carvalho@wcabrasil.com.br,WCA RH Belo Horizonte Ltda,1 +TAINÁ SEIDEL DURANTE,taina.durante@setaengenharia.com.br,SETA ENGENHARIA S/A,1 +Bianca Boscardini,bianca.boscardini@ext.omegaenergia.com.br,Omega Energia,1 +G&P,gestao@omegaenergia.com.br,Omega Energia,1 +Ana Araújo,karina.araujo@omegaenergia.com.br,Omega Energia,1 +Márcio Henrique Ferreira de Macedo,marcio.macedo@omegaenergia.com.br,Omega Energia,1 +Thais Siqueira,thais.siqueira@gruposeres.com.br,Grupo SERES,1 +Amanda Cotta Sartore,amanda.sartore@sunchemical.com,Sun Chemical do Brasil,1 +BRUNO MAURITAN BISPO CINTRA,bruno.cintra@mcgengenharia.com,MCG ENGENHARIA DE PROJETOS,1 +Cláudia de Oliveira Cruz,claudia.cruz@mcgengenharia.com,MCG ENGENHARIA DE PROJETOS,1 +Jéssica Nicaele Rezende,jessica.rezende@albioma.com,ALBIOMA ESPLANADA ENERGIA SA,1 +Angelica Tomazia Da Silva,angelica.silva@bdo.com.br,BDO,1 +Diogo Barbosa Moreira Neiva,diogo.neiva@brasilgtw.com.br,BRASIL GTW,1 +Jheniffer Marques,jheniffer.marques@ecogenbrasil.com.br,BRASIL GTW,1 +Feliciano Libanio da Silveira Filho,cafecampinho6@gmail.com,Café Campinho,1 +Julio Cesar da Silva Soares,j.cesar@royalihc.com,IHC do Brasil,1 +Dhyego Ferreira de Lima,dhyego.lima@datatraffic.com.br,DATA TRAFFIC SA,1 +Laís Reis,lrei211@users.noreply.betaeducacao.com.br,Mann+Hummel,1 +Dayane Cirino Costa Lourenço,Dayane.Lourenco@mann-hummel.com,Mann+Hummel,1 +Maynara Santos,nathalia.soares@mann-hummel.com,Mann+Hummel,1 +Fabio Toledo Campos,fabio@mcend.com.br,MC END Prestação de Serviço Ltda ME,1 +Leandro W. Pires,leandro.pires@consultorialw.com.br,LW PIRES TREINAMENTOS ME,1 +Zilda Santos De Paula,faturamento@maiclean.com.br,MAICLEAN TERCEIRIZAÇÃO DE SERVIÇOS LTDA- EPP,1 +Natia Moura Gonçalves,admsilvestre.adm@hotmail.com,administradora silvestre,1 +Lídia da Luz Albuquerque,rh02@maxwilhelm.com.br,BEBIDAS MAX WILHELM LTDA,1 +Juliano Rodrigues Lencina,conectwest@gmail.com,J.A. Plataforma de Serviços Online Ltda,1 +Grasiela Pedroso Scheib de Simas,grasiela@tudexcargo.com.br,Tudex Cargo Transportes,0 +Jaqueline,jaqueline.salomao@pdcbrasil.com.br,Process Development Corporation do Brasil Ltda,1 +WENDELL HEINZL,wendell.heinzl@fanucamerica.com,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERV. LTDA,1 +Yasmin de Deus da Rocha,yasmin.rocha@fanucamerica.com,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERV. LTDA,1 +FERNANDA DA ROSA SOUZA,enffernanda2009@yahoo.com.br,AGREGUE SAÚDE,1 +Rodrigo Nascimento Hernandez,relac@minasambiente.com.br,MinasAmbiente Eng. LTDA,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,MEKATRONIK IND E COM DE AUTOMAÇÃO LTDA,1 +Danilo Sabino,adm3@mekatronik.com.br,MEKATRONIK IND E COM DE AUTOMAÇÃO LTDA,1 +Petrick,compras@plasmundi.com.br,Plasmundi,1 +Marco Antônio,marco_eng10@hotmail.com,CONDOMINIO RESIDENCIAL BRASILIA,1 +G&P,gestao@omegaenergia.com.br,OMEGA GERAÇÃO S.A,1 +Ana Araújo,karina.araujo@omegaenergia.com.br,OMEGA GERAÇÃO S.A,1 +Márcio Henrique Ferreira de Macedo,marcio.macedo@omegaenergia.com.br,OMEGA GERAÇÃO S.A,1 +Juliano Rodrigues Lencina,conectwest@gmail.com,J.A Plataforma de Serviços Online ltda,1 +Vanessa Estorio Vides,prontoarbauru@hotmail.com,Prontoar Refrigeração LTDA ME,1 +Flávio Junio Castelão,flavio.castelao@toledobrasil.com.br,Toledo do Brasil Ind. de Balanças Ltda.,1 +Rachel de Figueiredo da Silva Ataide,rfsataide@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +Ana Caroline Domingos Ferreira,acdferreira@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +MARINA PATRICIA MENCONCA DA SILVA,marina.mendonca@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +Matheus Homem dos Santos,matheus.homem@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +MARIANA RUFINO NOVAIS,mariana.novais@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +Allan Caputto Macedo,allan.macedo@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +Fabio Toledo Campos,fabio@mcend.com.br,MC END Inspeções,1 +Barbara Stella Lima Gomes,barbara@cetrel.com.br,CETREL S.A.,1 +ABDON LIMA GOES NETO,abdon.neto@cetrel.com.br,CETREL S.A.,1 +Ana Rita da Hora Reis,anareis@cetrel.com.br,CETREL S.A.,1 +ROSELY CARVALHO DOS SANTOS,roselysantos@cetrel.com.br,CETREL S.A.,1 +Rafael Pereira da Silva,rafaelpsilva@cetrel.com.br,CETREL S.A.,1 +Treinamentos CETREL,treinamentosqssma@cetrel.com.br,CETREL S.A.,1 +Apoio CETREL,apoioadministrativo@cetrel.com.br,CETREL S.A.,1 +SANDRA ELIANE CORDEIRO ABDALLA,dho@fenixto.com.br,SANDRA ELIANE CORDEIRO ABDALLA - EPP,1 +Renata Abreu da Silva,financeiro@inovvar.net.br,Inovvar Soluções Empresariais LTDA ME,1 +Sheila Rissato,sheila.rissato@valedoparana.com.br,VALE DO PARANÁ S. A. ÁLCOOL E AÇÚCAR,1 +Eder,eder@rescuebrasil.com.br,Rescue brasil treinamento,1 +Dalvir Fernando Moratelli,contato@dlconsultoria.net.br,D.L. Consultoria Ltda,0 +Marcelo Felinto Macedo,marcelo.macedo@ecolab.com,ECOLAB,1 +NATHALIA LEMES RIBEIRO,adm4@demcomercio.com.br,D&M COMÉRCIO LTDA,1 +AUGUSTO,exitodiretoria@hotmail.com,EXITO PINTURA,1 +Gustavo Balbinot,gustavo@termovib.com.br,TERMOVIB análise e monitoramento,1 +NANCY ALVES LABRITZ,nancy.labritz@gmail.com,NAFEM USINAGEM E FERRAMENTARIA LTDA,1 +NANCY ALVES LABRITZ,nancy.labritz@gmail.com,NAFEM USINAGEM E FERRAMENTARIA LTDA,1 +Luciana Freiberger da Rosa,luciana.f.rosa@sesisc.org.br,Serviço Social da Industria,1 +Leandro Barbosa Dorea,leandrodorea@kofre.com.br,Kofre Tecnologia,1 +LEANDRO BARBOSA DOREA,caiosilva@kofre.com.br,Kofre Tecnologia,1 +Adriana Firmino,adriana.firmino@venco-csti.com.br,Fixconsulting Consultoria e Serviços de TL Ltda,1 +UBIRACINI RAMOS DE JESUS,compras@engrest.com.br,ENGREST ENGENHARIA DE RECUPERAÇÃO ESTRUTURAL LTDA.,1 +Washington Carlos Correia,seguranca.trabalho@ecopistas.com.br,CONCESSIONARIA ECOVIAS DOS IMIGRANTES S.A,1 +Washington Carlos Correia,seguranca.trabalho@ecopistas.com.br,CONCESSIONARIA ROD. AYRTON SENNA CARV. PINTO S.A,1 +Rangel Das Chagas Cambuim,rangel.cambuim@venergia.com.br,VOTORANTIM GERAÇÃO DE ENERGIA S.A,1 +Tiago Ongaratto,tiago.ongaratto@grupogera.com,Gera Energia Rio,1 +Adriane Kadanus Dobgynski,rhfin@geroma.com.br,GEROMA DO BRASIL IND COM LTDA,1 +Lucas de Assis,lucas.assis@prohigi.com,PRO HIGI Service LTDA,0 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI MAQUINAS AGRICOLAS LTDA,1 +ALBERTO PINHEIRO SANTOS,alberto@gbconstrutora.com.br,GB CONSTRUTORA,1 +Denise,deptpessoal@sdc.com.br,SDC Engenharia de Sistemas LTDA,1 +Fabio Toledo Campos,fabio@mcend.com.br,MC END Prestação de Serviço Ltda,1 +Tiago Pereira de Oliveira,tiago.pereira@vessel.eng.br,Vena Contracta Rio,1 +Emilyn Thaire de Faria Marion,adm.performaquinas@gmail.com,M. E. Perfor Máquinas e Equipamentos,1 +Fabio Toledo Campos,fabio@mcend.com.br,MC END Prestação de Serviços Ltda,1 +Jaco De Souza Abrantes,jaco@ab5.com.br,Ab5 Ind e Comercio Ltda.,1 +Liziane Cabral,liziane.cabral@zumpnet.com.br,Speakrs Projetos e Execuções em Áudio Ltda,1 +Claudio Almeida,flavio.querino@gunneboindustries.com.br,Gunnebo Industries Produtos para Movimentação de Cargas Ltda,1 +Joana Bernardi,joana.rh@atibrasil.com.br,ATI BRASIL ARTIGOS TÉCNICOS INDUSTRIAIS,1 +RAMON ALVES RABELO CIDADE,rh@jwsaraiva.com.br,JW SARAIVA E CIA LTDA,1 +Aline Gerhardt,aline.gerhardt@pfiffner.com.br,Pfiffner do Brasil Industria e Comercio de Transformadores Ltds,1 +Pricila Gomes Cordeiro,pricila.cordeiro@forseq.com.br,Forseq,1 +Professor luigi,professorluigi@terra.com.br,Antonio Luigi calabrese 742200808,1 +LUIZ ANGELO PIANZOLA,rita@transjap.com.br,TRANSJAP TRANSPORTES DOIS IRMAOS LTDA,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - LARANJAL,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - LARANJAL,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - LAMEIRÃO,1 +José Jorge Siqueira Barbosa,j.barbosa@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - LAMEIRÃO,1 +Landerley Lemos de Abreu,landerley@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - LAMEIRÃO,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - LAMEIRÃO,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - PFU,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - PLH,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - CHP,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - RSU,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - ITJ,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - JLE,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI DISTRIB. DE VEICULOS LTDA - CDA,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI VEÍCULOS LTDA,1 +Fabio Oliveira,fabio.oliveira@grupocarboni.com.br,CARBONI VEÍCULOS LTDA,1 +Andreza Vieira,andreza.vieira@gestaogps.com.br,TOP SERVICE SERVICOS E SISTEMAS S/A,1 +Andreza Vieira,andreza.vieira@gestaogps.com.br,IN-HAUS INDUSTRIAL E SERVICOS DE LOGISTICA LTDA,1 +LEONARDO HENRIQUE NEVES LOPES,leonardo.lopes@basis.com.br,BASIS TECNOLOGIA DA INFORMAÇÃO SA,1 +Andreza Vieira,andreza.vieira@gestaogps.com.br,GOL SEGURANCA E VIGILANCIA LTDA,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,Maketronik,1 +Michel Simões Lopes,michel.lopes@infineum.com,Infineum Brasil,1 +Lucília Fernanda Fernandes Lins,luciliafernanda.lins@infineum.com,Infineum Brasil,1 +Priscila Bernardes Santoro,Priscila.Bernardes@infineum.com,Infineum Brasil,1 +RAMON ALVES RABELO CIDADE,rh@jwsaraiva.com.br,Comércio de Combustíveis LTDA,1 +RAMON ALVES RABELO CIDADE,rh@jwsaraiva.com.br,Saraiva Comércio de Combustíveis LTDA,1 +DEIVISON RODRIGUES PEGO,derodrigueadm@gmail.com,ID DO BRASIL LOGÍSTICA LTDA,1 +MAICON MATEUS DE FREITAS,mfreitas@id-logistics.com.br,ID DO BRASIL LOGÍSTICA LTDA,1 +LUIZ CARLOS DA CRUZ,lcruz@id-logistics.com.br,ID DO BRASIL LOGÍSTICA LTDA,1 +Fabiana Lisboa de Souza,souzafab@amazon.com,ID DO BRASIL LOGÍSTICA LTDA,1 +Silvia Duarte,silvia.duarte@jurere.com.br,Jurerê Internacional Administração Hoteleira,1 +Thais Michelle Foppa,thais.foppa@jurere.com.br,Jurerê Internacional Administração Hoteleira,1 +Michele dos Santos Garcia,michele.garcia@jurere.com.br,Jurerê Internacional Administração Hoteleira,1 +API SERVICOS ESPECIALIZADOS LTDA,apidutos@apidutos.com.br,API SERVIÇOS ESPECIALIZADOS,1 +Neusa Zeferino Strey,donaldstrey@yahoo.com.br,Bom Café Cafeteria e Lanchonete Eireli,1 +Ana Lemos,ana.cruz@gestaogps.com.br,ENGESEG EMPRESA DE VIGILANCIA COMPUTADORIZADA LTDA,1 +Iuri Castro Donato,iuri.donato@unigel.com.br,Companhia Brasileira de Estireno,1 +Miqueline Neves Carvalho dos Santos,miqueline.carvalho@unigel.com.br,Companhia Brasileira de Estireno,1 +Karina Luzia Lins Vieira,karina.vieira@unigel.com.br,Companhia Brasileira de Estireno,1 +Rebeca Dantas dos Santos Trigo,rebeca.trigo@unigel.com.br,Companhia Brasileira de Estireno,1 +Edson Cavalcante da Silva,financeiro@speedytelecom.com.br,E C DA SILVA ME,1 +Zorenilda,restaurantebamboosjc@gmail.com,Restaurante Bamboo,1 +Aline Procheira,compras@attos.ind.br,Attos Serviços de Alimentação,1 +Gustavo,gustavo@edificaempreendimentos.com.br,WG Sinterização Ltda,1 +Rangel Das Chagas Cambuim,rangel.cambuim@venergia.com.br,Votorantim Geração de Energia S.A.,1 +Rubens Pires Cunha,projetos@linq.net.br,LinQ Telecomunicações,1 +Elisa,siegert@siegertdobrasil.com.br,Siegert do Brasil Ltda,1 +Marcos Damaia Tavares,marcos.tavares@ecoponte.com.br,Concessionária Ponte Rio-Niterói S/A – Ecoponte,1 +GRAZIELE A. FAZOLINI DE AZEVEDO,graziele@soletex.com,Soletex Têxtil,1 +Euri Emere Ribeiro Vieira,mettambiental@gmail.com,Metta Ambiental Ltda,1 +Iuri Castro Donato,iuri.donato@unigel.com.br,Proquigel Química S/A,1 +Miqueline Neves Carvalho dos Santos,miqueline.carvalho@unigel.com.br,Proquigel Química S/A,1 +Amauri Oliveira Tolentino,amauri.tolentino@unigel.com.br,Proquigel Química S/A,1 +Beatriz Drummond Pinto Dantas,beatriz.dantas@terceirosuni.com.br,Proquigel Química S/A,1 +Karina Luzia Lins Vieira,karina.vieira@unigel.com.br,Proquigel Química S/A,1 +Rebeca Dantas dos Santos Trigo,rebeca.trigo@unigel.com.br,Proquigel Química S/A,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,UNIMED DO BRASIL CONFEDERACAO NAC DAS COOPERATIVAS MED,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - ITALVA,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - ITALVA,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - DSG Concursados,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos - DSG Concursados,1 +Emilyn Thaire de Faria Marion,adm.performaquinas@gmail.com,M E PERFOR MAQUINAS,1 +SCHEILA SOARES,financeiro@thermokey.com.br,THERMOKEY DO BRASIL IND. E COM. DE EQUIPAMENTOS LTDA,1 +Luiz Felipe de Alvarenga Moreira,rh@jlfestruturas.com.br,SBS Eventos ltda,1 +Luiz Felipe de Alvarenga Moreira,rh@jlfestruturas.com.br,JLF Estruturas de Eventos Ltda,1 +API SERVICOS ESPECIALIZADOS LTDA,apidutos@apidutos.com.br,API Serviços Especializados em Dutos Ltda EPP,1 +Juliane Francine Junkes,juliane.junkes@neogrid.com,Neogrid Informática LTDA,1 +PABLO FACHINI NASCIMENTO,pablo@mvgeotecnicaambiental.com.br,MV SERVICOS E CONSULTORIA AMBIENTAL E GEOTECNICA LTDA,1 +Fernanda Crone Zanella,fernanda@watergel.com.br,Watergel Indústria e Comércio de Produtos Químicos,1 +SILVIA OSS EMMER,watergel@watergel.com.br,Watergel Indústria e Comércio de Produtos Químicos,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE - MONIQUE,1 +MONIQUE OLIVEIRA LOPES,mlopes@cedae.com.br,CEDAE - MONIQUE,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE - MONIQUE,1 +REGINALDO RAMOS,reginaldo-ramos@cedae.com.br,CONCURSADOS DRI,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CONCURSADOS DRI,1 +Aline Gerhardt,andriele.ferreira@pfiffner.com.br,Pfiffner do Brasil,1 +Ana Carolina Silva,anasilva@grpcom.com.br,RADIO E TELEVISÃO IMAGEM LTDA,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,RADIO E TELEVISÃO IMAGEM LTDA,1 +Ana Carolina Silva,anasilva@grpcom.com.br,TELEVISÃO CULTURA DE MARINGA LTDA,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,TELEVISÃO CULTURA DE MARINGA LTDA,1 +Ana Carolina Silva,anasilva@grpcom.com.br,SOCIEDADE RADIO EMISSORA PARANAENSE S.A FILIAL,1 +Ana Carolina Silva,anasilva@grpcom.com.br,TV CATARATAS LTDA,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,TV CATARATAS LTDA,1 +Ana Carolina Silva,anasilva@grpcom.com.br,TV ESPLANADA DO PARANÁ LTDA,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,TV ESPLANADA DO PARANÁ LTDA,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,TV ESPLANADA DO PARANÁ LTDA,1 +Ana Carolina Silva,anasilva@grpcom.com.br,TV OESTE DO PARANA LTDA,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,TV OESTE DO PARANA LTDA,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE – Cia. Estadual de Águas e Esgotos,1 +Fernanda Veiga Soares,fernandaveiga@fitzroy.com.br,Fitz Roy Entretenimento,1 +Michael D. G. da Cunha,michael@ateq.ind.br,Ateq serviços téc. LTDA,1 +RODRIGO MORI DELGADO,rodrigo.delgado@basf.com,MORUMBI – CNPJ 48.539.407/0001-18,1 +Katia Maria Mandu Draber,katia.draber@basf.com,MORUMBI – CNPJ 48.539.407/0001-18,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,OFICINA ELETRICA,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,OFICINA ELETRICA,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,OFICINA ELETRICA,1 +REGINALDO RAMOS,reginaldo-ramos@cedae.com.br,DRI 3ª TURMA,1 +Jones Gomes de Souza,joness@cedae.com.br,DRI 3ª TURMA,1 +Rangel Das Chagas Cambuim,rangel.cambuim@venergia.com.br,Votorantim Comercializadora de Energia Ltda. – CNPJ: 03.984.862/0001-94,1 +Luciano Batista Soares,luciano.soares@gpssa.com.br,TOP SERVICE SERVICOS E SISTEMAS S/A,1 +Daniela Myagushicu,daniela.myagushicu@basf.com,SANTO ANTONIO,1 +José Jorge Siqueira Barbosa,j.barbosa@cedae.com.br,DSG - LAMEIRÃO,1 +Landerley Lemos de Abreu,landerley@cedae.com.br,DSG - LAMEIRÃO,1 +Zilda Santos De Paula,faturamento@maiclean.com.br,Maiclean Terceirização de Serviços Ltda,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,MEKATRONIK IND E COM AUTOMAÇÃO LTDA,1 +Danilo Sabino,adm3@mekatronik.com.br,MEKATRONIK IND E COM AUTOMAÇÃO LTDA,1 +EDUARDO BARRELLA MARTIN,compras@emamsolucoes.com.br,EMAM SOLUÇÕES,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,DSG NR-10 NOVEMBRO,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE NR-10 NOVEMBRO,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE NR-10 NOVEMBRO,1 +ADÃO JESUS DO COUTO BRITO,adaocouto@cedae.com.br,DPR - NR-10 Novembro,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,DPR - NR-10 Novembro,1 +Antonio Vasconcelos,suprimentos-m4p@m4u.com.br,M4 Produtos e serviços S.A,1 +Marisa Borth,instalapoa@gmail.com,PAULO BERGMANN E CIA LTDA,1 +Ana Paula Tucci,ana.tucci@sakata.com.br,Sakata,1 +Paula Barbosa,paula.barbosa@sakata.com.br,Sakata,1 +CARLOS ALBERTO DE A. E SILVA JR,carlos.junior@sakata.com.br,Sakata,1 +Anderson Roberto Monteiro,smipreditiva@smipreditiva.com.br,SMI Manutenção Preventiva,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,DSG - NR-33,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,DSG - NR-33,1 +SHEILA EVALDT DA SILVA,compras.syltec@gmail.com,Syltec Serviços,1 +Juliana Quintanilha Mello De Lima,juliana.lima@3cservices.com.br,3C Services S.A.,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,TIMKEN,1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,REPRESS,1 +Francisco Miranda,francisco.miranda@uspedra.com.br,PEDRA AGROINDUSTRIAL SA,1 +kellen,kellen.fonseca@uspedra.com.br,PEDRA AGROINDUSTRIAL SA,1 +Livia Fernanda Santana,livia.santana@pedraagroindustrial.com.br,PEDRA AGROINDUSTRIAL SA,1 +Geraldo Matheus,geraldo.matheus@constanta.com.br,CONSTANTA INDUSTRIAL LTDA,1 +Emilyn Thaire de Faria Marion,adm.performaquinas@gmail.com,M E PERFOR MÁQUINAS E EQUIPAMENTOS EIRELI,1 +Leandro W. Pires,leandro.pires@consultorialw.com.br,DEFINITIVO,1 +Netinho,operacional01netinhocargas@gmail.com,Netinho serviços de carga e descarga,1 +Jessica Maia,jessica.maia@uspedra.com.br,PEDRA AGROINDUSTRIAL SA,1 +Ana Paula,financeiro@termotubos.com.br,Termotubos Importação e Exportação Eireli,1 +JEAN CLAUDIO DE CARVALHO OLIVEIRA,68113820400@users.noreply.betaeducacao.com.br,KORDSA QUALIDADE,1 +MARCELA SEPRENY DA COSTA,05222254542@users.noreply.betaeducacao.com.br,KORDSA QUALIDADE,1 +CEZAR AUGUSTO ALBUQUERQUE SANTOS,34507019591@users.noreply.betaeducacao.com.br,KORDSA QUALIDADE,1 +CRISLEIDE BRITO SANTOS,02148085565@users.noreply.betaeducacao.com.br,KORDSA QUALIDADE,1 +Rafael Schimitz,rafael@imnet.com.br,Imnet Telecomunicações Ltda,1 +Tiago Carvalho,polotest@polotest.com.br,"MCEND INSPEÇÕES, CONSULTORIA E CONTROLE DE QUALDIADE",1 +Golden Maq,assistencia1@goldenmaq.com.br,GOLDENMAQ,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,MEKATRONIK IND E COM DE AUTOMAÇÃO,1 +Danilo Sabino,adm3@mekatronik.com.br,MEKATRONIK IND E COM DE AUTOMAÇÃO,1 +Miqueline Neves Carvalho dos Santos,miqueline.carvalho@unigel.com.br,Proquigel Química SA 27.515.154/0018-10,1 +Beatriz Drummond Pinto Dantas,beatriz.dantas@terceirosuni.com.br,Proquigel Química SA 27.515.154/0018-10,1 +Karina Luzia Lins Vieira,karina.vieira@unigel.com.br,Proquigel Química SA 27.515.154/0018-10,1 +Rebeca Dantas dos Santos Trigo,rebeca.trigo@unigel.com.br,Proquigel Química SA 27.515.154/0018-10,1 +daiana visinnheski,daiana.visinheski@danica.com.br,DANICAZIPCO SISTEMAS CONSTRUTIVOS S.A.,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,SOCIEDADE RADIO EMISSORA PARANAENSE S.A FILIAL,1 +José Carlos da Silveira,jose.silveira@ponsse.com,PONSSE - 07.556.927/0006-66,1 +Ana Carolina Silva,anasilva@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A.,1 +daiana visinnheski,daiana.visinheski@danica.com.br,DANICA SOLUCOES TERMOISOLANTES INTEGRADAS S.A.,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,Rádio Continental de Curitiba Ltda,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,Rádio Intercontinental Ltda,1 +Amanda Cristina Camargo,amandacamargo@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A.,1 +ELIELSON LIMA DA SILVA,elielson@polotest.com.br,"MCEND INSPEÇÕES, CONSULTORIA E CONTROLE DE QUALDIADE",1 +Golden Maq,assistencia@goldenmaq.com.br,GOLDEN MAQ COMERCIAL IMPORTADORA DE MAQUINAS LTDA,1 +alexsandro Cazuza da Silva,anabsilveira@terra.com.br,ANA PAULA BORGES DA SILVEIRA EPP,1 +Maria Luiza De Oliveira Motta,luiza.motta@cedae.com.br,CEDAE ANO 2021,1 +LUCIANO SILVA DE SOUZA,lucianosousa@cedae.com.br,CEDAE ANO 2021,1 +Munique Dutra,dutramunique@gmail.com,Lucilia Helena Tokar Dutra,1 +Adriane Kadanus Dobgynski,rhfini@geroma.com.br,GEROMA DO BRASIL IND COM LTDA,1 +Luiz,admiciabrap@yahoo.com.br,Cia Brap treinamentos,1 +Andreza Vieira,andrezaa.vieira@gestaogps.com.br,GOL SEGURANCA E VIGILANCIA LTDA,1 +Paulo Gomes,contasapagar@mynarski.com,Mynarski International Valuation,1 +Emanuelle Livramento,emanuelle.moraes@constanta.com.br,CONSTANTA Industrial Ltda _ EMANUELLE,1 +Emanuelle Livramento,emanuelle.moraes@constanta.com.br,CONSTANTA Industrial Ltda,1 +Ana Carolina Silva,anasilva@grpcom.com.br,Editora Gazeta do Povo S.A,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora Gazeta do Povo S.A,1 +Ana Carolina Silva,anasilva@grpcom.com.br,Editora O Estado do Paraná S.A,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Editora O Estado do Paraná S.A,1 +Ana Carolina Silva,anasilva@grpcom.com.br,TV Oeste do Paraná Ltda. - Filial,1 +Claudia Faria Araujo,claudia.fariaaraujo@avon.com,Avon Industrial Ltda,1 +Ana Lemos,ana.cruz@gestaogps.com.br,TOP SERVICE SERVICOS E SISTEMAS S/A,1 +PATRICIA BERTIN,rh@eurostec.com.br,EUROSTEC,1 +NATÁLIA DE OLIVEIRA SILVA,natalia.silva@gruppoab.com,AB ENERGY DO BRASIL LTDA,1 +Barbara,barbaraa@cetrel.com.br,CETREL S.A.,1 +Bianca Testoni,bianca@genesispre.com.br,Genesis Indústria de Pré Moldados de Cimento LTDA,1 +FMC CENTER CAR LTDA,financeirocavw@viacometa.com.br,70.487.921/0001-06,1 +Orion,tatiane.rodrigues@orionvet.com.br,Orion Nutricao Animal Ltda,1 +Beatriz Drummond Pinto Dantas,beatriz.dantas@terceirosuni.com.br,UNIDADE 389,1 +Mônica,vendas22@brasilpostos.com.br,Brasil Postos Comércio de Máquinas e Equipamentos Ltda,1 +Fabio Souza de Almeida,fabio@assertiva-br.com,"ASSERTIVA - SOLUÇÕES, MANUTENÇÃO PREDITIVA, COMERCIO DE EQUIPAMENTOS E ACESSORIOS LTDA",1 +Milena Barboza Giardiello,milena.giardiello@unimed.coop.br,UNIDADE FESP,1 +Michele Weigel,qualidade@villare.com.br,Villare Gastronomia Empresarial Ltda,1 +CRISTIANE DA SILVA,rh.br@vanhessen.com,VAN HESSEN BRAZIL IND E COM DE ALIMENTOS LTDA,1 +SILVIA MARIA DE CAMPOS,silvia.campos@vanhessen.com,VAN HESSEN BRAZIL IND E COM DE ALIMENTOS LTDA,1 +Paulo Gomes,contasapagar@mynarski.com,Mynarski International Valuation Ltda,1 +Thamiris Barbosa Simões Sueiro,thamiris.sueiro@unigel.com.br,Proquigel Química S/A,1 +Gustavo Ciarallo,gustavo.ciarallo@cienp.org.br,CENTRO DE INOVAÇÃO E ENSAIOS PRÉ-CLÍNICOS,1 +Lucas de Araujo Manoel,lucas.manoel@venergia.com.br,Votorantim Geração de Energia S.A.,1 +Ana Claudete Ferreira,rh@fpf.br,Fundação Amazônica de Amparo a Pesquisa e Desenvolvimento Tecnológico Desembargador Paulo dos Anjos Feitosa,1 +Ana Ferreira,ana.ferreira@fpf.br,Fundação Amazônica de Amparo a Pesquisa e Desenvolvimento Tecnológico Desembargador Paulo dos Anjos Feitosa,1 +Jheniffer Marques,jheniffer.marques@ecogenbrasil.com.br,GTW GERACAO E SERVIÇOS LTDA,1 +Miqueline Neves Carvalho dos Santos,miqueline.carvalho@unigel.com.br,Proquigel Química SA,1 +Beatriz Drummond Pinto Dantas,beatriz.dantas@terceirosuni.com.br,Proquigel Química SA,1 +Karina Luzia Lins Vieira,karina.vieira@unigel.com.br,Proquigel Química SA,1 +Rebeca Dantas dos Santos Trigo,rebeca.trigo@unigel.com.br,Proquigel Química SA,1 +VANIA R PALODETO,acti_nfe@hotmail.com,ACTI DESENVOLVIMENTO DE SISTEMAS S/S LTDA,1 +LUCILENE PERIN,lucilene.perin@arneg.com.br,ARNEG BRASIL LTDA,1 +Pedro Funchal Teixeira,supervisao@grupoellorh.com.br,ELLOS SERVIÇOS E LOCAÇÕES LTDA,1 +Andre Ricardo A Carneiro,versatilemobiliario@gmail.com,Versatile Serviços de Móveis Planejados Eireli,1 +Pricila Gomes Cordeiro,pricila.cordeiro@forseq.com.br,Forseq Industria e Comércio de Maquinas Industriais,1 +Rossana Pelisser,rossanapelisser@gmail.com,Efeito Luz Iluminação Ltda,1 +Simone Cristina,cdpcbasecretaria@gmail.com,MCC - Centro de desenvolvimento profissional,1 +Breno Silva,breno.silva@recursus.com,Recursus Engenharia,1 +Victor Felipe da Silva,victor.felipe@manserv.com.br,MANSERV FACILITIES - 0001 SÃO CAETANO DO SUL SP,1 +WILLIAN DA SILVA FILHO,willian.d.silva@manserv.com.br,MANSERV FACILITIES - 0001 SÃO CAETANO DO SUL SP,1 +Rafael Leopoldo Batista,rafael.leopoldo@manserv.com.br,MANSERV FACILITIES - 0001 SÃO CAETANO DO SUL SP,1 +Maria Aparecida Sena Soaresa,mariaaparecidasenasoares@gmail.com,L.A Materias Elétricos e Reciclagem Ltda,1 +Claire Baccin Penso,claire@unc.br,FUNDAÇÃO UNIVERSIDADE DO CONTESTADO- FUNC,1 +Alessandra Wagner Jusviacky,alessandraw@unc.br,FUNDAÇÃO UNIVERSIDADE DO CONTESTADO- FUNC,1 +Debora Matheus,fstecnologia07@gmail.com,Fstecnologia Ltda,1 +RODRIGO ALVARENGA,rodrigo@samsungbh.com.br,BKV EXPRESS ASSISTENCIA TECNICA EIRELLI,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,MEKATORNIK IND E COM DE AUTOMAÇÃO LTDA,1 +Vitória,rh@mksintegridade.com,MKS SERVICOS ESPECIAIS DE ENGENHARIA LTDA,1 +BRUNA DE OLIVA AMBROSI,bruna@engepack.com.br,Engepack Embalagens São Paulo S/A,1 +MARTA MIRANDA DEL SANTO,samara.rosa@viacometa.com.br,Cometa Serviços De Assessoria E Consultoria Empresarial LTDA,1 +Vanessa Lima Pires,administrativo@mekatronik.com.br,MEKATORNIK IND E COM DE AUTOMAMAÇÃO LTDA,1 +Silvia Ivonete Mausolf Fortes,patrick.adm@lyonveiculos.com.br,CARWAY SUL VEÍCULOS,1 +Wilson Nogueira,divers@diversuniversity.com.br,D.U Service Offshore,1 +EVERTON GIROTTO,everton@girottologistica.com,GF BUE LOGISTICA LTDA,1 +Leandro Dorea,leandrodoreaype@yahoo.com.br,Kofre Tecnologia,1 +Sheila Regina Decco,sheila@mitspieler.com.br,Mitspieler Serviços e Representações Ltda,1 +LUCILENE PERIN,michele.strasser@arneg.com.br,ARNEG BRASIL LTDA,1 +Ariela Félix da Silva,ariela.silva@samaritano.com.br,ESHO EMPRESA DE SERVIÇOS HOSPITALARES S.A,1 +Andre Vinicius,andre.pereira@npegroup.com.br,NPE SERVIÇE MANUTENÇÃO E MONTAGEM LTDA,1 +Eduardo Serrão Neves Leal,eduardo.serrao@copapa.com.br,COPAPA CIA PADUANA DE PAPEIS DEFINITIVA,1 +Hiago Lima,hiago.lima@copapa.com.br,COPAPA CIA PADUANA DE PAPEIS DEFINITIVA,1 +Francini,francini@mksintegridade.com,MKS SERVICOS ESPECIAIS DE ENGENHARIA LTDA,1 +Francine,francineleao@mksintegridade.com,MKS SERVICOS ESPECIAIS DE ENGENHARIA LTDA,1 +Rodrigo Collaço Gusso,compras@oakmontgroup.com.br,Advanta Sistemas de Telecom. e Serviçosde Informática Ltda,1 +Júnior Cesar,junior.santos@valedoparana.com.br,VALE DO PARANA S/A ALCOOL E ACUCAR,1 +Mirele Viviane Moura Chiqueto,mirele.chiqueto@valedoparana.com.br,VALE DO PARANA S/A ALCOOL E ACUCAR,1 +Felipe,felipe.a.silva@thyssenkrupp.com,Thyssenkrupp Brasil Ltda,1 +NICOLLI,nicolli.mendes@servsul.com.br,SERVSUL,1 +Renata Feiteiro Batista Ramos,renata.ramos@ceva.com,Ceva Saúde Animal Ltda,1 +Maiara,compras@neogrid.com,Neogrid Informática LTDA,1 +Bruno de Souza,bruno@embpauli.com.br,Emablagens Paulicea,1 +Eduardo Chamizo,compras@embpauli.com.br,Emablagens Paulicea,1 +Marco Antonio Soares Jesser,eliane.anjos@haarslev.com,Haarslev Industries Ltda.,1 +NVT CATERING LTDA,nvt@unicater.com.br,NVT CATERING LTDA,1 +Daniel Paulo Cunha Santiago,daniel.santiago@deca.com.br,DURATEX S.A,1 +REJANE ARAUJO DA SILVA,rejanesilva@kofre.com.br,Kofre Tecnologia,1 +RUANY TALITA CAETANO ESTANGUII,ruany.caetano@apecatus.com,CORTEVA AGRISCIENCE DO BRASIL LTDA,1 +Debora,deborah.milagres@brasilgtw.com.br,GTW GERACAO E SERVIÇOS LTDA,1 +DIEGO DE SOUZA ALMEIDA,diego.almeida@viacometa.com.br,COMETA MATO GROSSO COMERCIO DE VEICULOS LTDA,1 +Gilvandro Neto,operacaofor@jwsaraiva.com.br,Saraiva Comercio de Combustiveis LTDA,1 +Andressa Batista,admssa@jwsaraiva.com.br,Saraiva Comercio de Combustiveis LTDA,1 +Bruna Voltolini,bruna.voltolini@sebsa.com.br,COC de Florianópolis/São José - SEB SISTEMA EDUCACIONAL BRASILEIRO,1 +Guilherme Vasconcelos Osório,guilherme.v.o.91@gmail.com,Guilherme Vasconcelos Osório,1 +Caroline,caroline.geraldini@grupogera.com,"GERAR SERVIÇOS DE ENGENHARIA, OPERAÇÃO E MANUTENÇÃO LTDA",1 +Cesar Wruch,cesar.wruch@randstad.com.br,RANDSTAD BRASIL RECURSOS HUMANOS LTDA,1 +FILIPE O MATTOS,tottal.sinal@gmail.com,TOTTAL SINALIZAÇÃO LTDA,1 +Christiane Ronchi da Silva Gomes,cronchi@iguacu.com.br,IGUAÇUMEC ELETROMECANICA LTDA,1 +Michele Marques,michele@tecnoperfilaluminio.com.br,ZINCOLOR TRATAMENTO DE METAIS LTDA,1 +Marcelo Martin,compras@ab5.com.br,Ab5 Ind e Com Ltda.,1 +viviane,viviane@ab5.com.br,Ab5 Ind e Com Ltda.,1 +Miqueline Neves Carvalho dos Santos,miqueline.carvalho@unigel.com.br,Proquigel Quimica S.A. - Filial,1 +Danielle Prata,danielle.prata@unigel.com.br,Proquigel Quimica S.A. - Filial,1 +Karina Luzia Lins Vieira,karina.vieira@unigel.com.br,Proquigel Quimica S.A. - Filial,1 +Rebeca Dantas dos Santos Trigo,rebeca.trigo@unigel.com.br,Proquigel Quimica S.A. - Filial,1 +Bruno Carvalhal,bruno@cachoeiradofagundes.com,ASSET ALLOCATION ASSESSORIA E PARTICIPACOES S.A.,1 +ANGELINA TAYNAH DA ROCHA MARCELINO,angelina.marcelino@viacometa.com.br,COMETA MOTOCENTER LTDA,1 +Jocassia Bier Leguissimo,glinoxpf@gmail.com,Gustavo Oliveira Leguissimo ME,1 +MATHEUS GOBATTI DO NASCIMENTO,giovanna@mecsulcompressores.com.br,MEC SUL COMPRESSORES,1 +Rosangela,contato@analubi.com.br,ANA LUBI DECORAÇÕES,1 +Rafaela Nayara Simeão Pelegrini,rpel893@users.noreply.betaeducacao.com.br,MANN+HUMMEL BRASIL LTDA,1 +Dayane Cirino Costa Lourenço,Dayane.Lourenco@mann-hummel.com,MANN+HUMMEL BRASIL LTDA,1 +Maynara Santos,nathalia.soares@mann-hummel.com,MANN+HUMMEL BRASIL LTDA,1 +Adriana Firmino,adriana.firmino@venco-csti.com.br,Fixconsulting Consultoria e Serviços de TI Ltda,1 +Diego Silva,financeiro@mrtech.med.br,MR TECH SERVICO TECNICO DE MANUT EM APAREL ELETROMEDIC LTDA,1 +Eduardo Godinho,eduardo.godinho@bailac.com.br,BAILAC,1 +ENIO,faturamento@soultec.com.br,SOULTEC IMPORTAÇÃO E COMERCIO LTDA,1 +DAVID BARBOSA TORRES,gislaine.silva@viacometa.com.br,ALTA FLORESTA MOTOS LTDA,1 +Gislaine,Gislaine.Coelho@swirees.com,SWIRE OILFIELD SERVICES DO BRASIL LTDA,1 +MARCELO RAMIRES MARICAUA,marcelo.ramires@viacometa.com.br,COMETA AMZIONIA MOTOS LTDA,1 +GENIVAL LIMA DO NASCIMENTO,maria.oliveira@viacometa.com.br,COMETA AMAZONIA MOTOS LTDA,1 +Gersica Viana Ribeiro,gvi@flodim.com.br,FLODIM DO BRASIL LTDA,1 +ELTON MACIEL DOS SANTOS,juliana.oliveira@viacometa.com.br,MOTOS MATO GROSSO LTDA,1 +Thais Rhein,compras@blackbox.com,Black box do Brasil,1 +Talita Christine Horita dos Santos,talita.santos@blackbox.com,Black box do Brasil,1 +GISELE ALMEIDA,gisele.almeida@blackbox.com,Black box do Brasil,1 +CINTHIA TERRA,cinthia@assertiva-br.com,Assertiva - Soluções Preditiva,1 +PEDRO ABREU BASTOS,pedro.bastos@lonjastec.com.br,LONJAS TECNOLOGIA ENERGIA E MEIO AMBITENTE LTDA,1 +PEDRO ABREU BASTOS,fiscal@lonjastec.com.br,LONJAS TECNOLOGIA ENERGIA E MEIO AMBITENTE LTDA,1 +MARCELA GONTIJO DE VARGAS CONFORTI,gerh@riominasservicos.com.br,RIO MINAS TERCEIRIZAÇÃO E ADM DE SERVIÇOS,1 +Rosangela Feliciano,administrativo@smart.emp.br,SMART Limpeza e Jardinagem Ltda,1 +TamirIs Torres,tamiris.torres@brasilgtw.com.br,ENERSERV OPERACAO E MANUTENCAO DE EQUIPAMENTOS LTDA,1 +Marcelo Augusto Bernardo,marcelo.bernardo@marsh.com,Marsh GSC Corretagem e Administracao de Seguros Ltda,1 +ANDERSON SCHNEKEMERG,comercial@projetosinteligento.com.br,INTELIGENTO INSTALACOES DE MAQUINAS E EQUIPAMENTOS INDUSTRIAIS LTDA,1 +Caique de Araujo Dias,caique.dias@efort.org.br,Instituto Efort,1 +Euri Emere Ribeiro Vieira,mettambiental@gmail.com,METTA AMBIENTAL LTDA - ME,1 +FRANCISCO ANTONIO BERREZA,consulplan.valenca@gmail.com,F A BEZERRA CONSTRUÇÕES ME,1 +Thalita Lourenço Pereira,thalita.pereira@ecopistas.com.br,ECOPISTAS,1 +Flavio da Silva Querino,flavio.querino@thecrosbygroup.com,Gunnebo Industries PMC LTDA,1 +Jaqueline,jaqueline.salomao@pdcbrasil.com.br,PROCESS DEVELOPMENT CORPORATION DO BRASIL LTDA.,1 +Michelle Silva,compras@pdcbrasil.com.br,PROCESS DEVELOPMENT CORPORATION DO BRASIL LTDA.,1 +FABIO MERIGIOLLI,cnatalseg@gmail.com,CNATAL SEGURANÇA DO TRABALHO,1 +Marcia Lacerda,marcia@marpie.com.br,Piemar Instalaçoes e Construçoes Ltda,1 +Fernanda Veiga Soares,fernandaveiga@fitzroy.com.br,Fernanda Veiga Soares,1 +Juliana Garcia Fruteiro Pereira,garciafruteiroj@gmail.com,MEDICINA E SEGURANÇA DO TRABALHO ICSE,1 +DAVI CAMPOS DE ANDRADE,daviandradeefraim@gmail.co,Efraim Obras de Engenharia Civil Eireli,0 +Davi Campos de Andrade,daviandradeefraim@gmail.com,Efraim Obras de Engenharia Civil Eireli,1 +Aline Procheira,compras@attos.ind.br,Attos Serviços de Alimentação Ltda,1 +Thais Santos,thais.santos@fitesa.com,FITESA BRASIL INDÚSTRIA DE PLÁSTICOS LTDA,1 +Robson Alves Fonseca,robson.fonseca@eco101.com.br,ECO101 CONCESSIONARIA RODOVIAS S/A,1 +Rodrigo Cezar Mululo Laino De Alencar,rodrigo.alencar@ecoponte.com.br,Concessionária Ponte Rio-Niterói S/A – Ecoponte,1 +Adjane.Silva@ecovias.com.br,Adjane.Silva@ecovias.com.br,CONCESSIONARIA ROD. AYRTON SENNA CARV. PINTO S.A,1 +Meirielly,meirielly.ferreira@3cservices.com.br,3C Services S.A.,1 +RENATO BARBIERO,financeiro@radioscan.com.br,RADIOSCAN TELECOM,1 +CLAUDIA BARBIERO,nfe@radioscan.com.br,GENIR BILIA ME,1 +Diego Leite,diego.leite@camargoesata.com.br,T FREITAS SUZUKI EIRELI,1 +Fabio Oliveira,caroline.giazzoni@grupocarboni.com.br,Carboni Distribuidora de Veículos Ltda,1 +BECKHAUSER INDUSTRIA E COMERCIO DE MALHAS LTDA,sabrina.fernandes@beckhausermalhas.com.br,BECKHAUSER INDUSTRIA E COMERCIO DE MALHAS LTDA,1 +Carolina Sampaio Brito Duarte,posto_guaiba@hotmail.com,RIO REAL DERIVADOS PETROLEO LTDA,1 +Monica Pietscher,financeiro@trameap.com.br,"AUDIO PADRAO DIAGNOSTICO, SAUDE E SEGURANCA OCUPACIONAL LTDA.",1 +Ramsés Watson Pereira,compras@ipdjjanini.com.br,DIAGNOSTICA LTDA,1 +Maria Mariana Faria,mariana@mmcengenharia.com,MMC ENGENHARIA,1 +Integra Serviço E Comercio Ltda,atendimento@squadraconsultoria.com.br,Integra serviço e comércio Ltda,0 +Gabriel Peris Maciel,lucia.sieczkowski@integra-engenharia.com,Integra serviço e comércio Ltda,1 +FRANCISCO ALECIO WAN DALL FILHO,rotagas@terra.com.br,SAGATOR COMÉRCIO DE GÁS LTDA,1 +Stefani Caparroz,scaparroz@id-logistics.com.br,ID DO BRASIL LOGISTICA LTDA,1 +Rafael de Oliveira Silva,rafael.o.silva@animaeducacao.com.br,IEDUC - INSTITUTO DE EDUCACAO E CULTURA S/A,1 +VITOR HUNG,financeiroyftrading@gmail.com,DSH DISTRIBUIDORA DE COSMETICOS EIRELI,1 +Clecio Dergam,rhlinhares@fibracem.com,FIBRACEM TELEINFORMATICA LTDA,1 +Suzinkelli Aparecida Morinigo Marcolino,sup.seguranca@fibracem.com,FIBRACEM TELEINFORMATICA LTDA,1 +Stephany Areco Gois,segurancadotrabalho@fibracem.com,FIBRACEM TELEINFORMATICA LTDA,1 +Wescley,seguranca.linhares@fibracem.com,FIBRACEM TELEINFORMATICA LTDA,1 +Amanda Scarello,amanda.scarello@group-indigo.com,Hospital Cárdio Pulmonar,1 +Paula Carvalho,paula.carvalho@basf.com,BASF S.A - JABOATÃO,1 +Lucas Melo Zurita Leao,11196877483@users.noreply.betaeducacao.com.br,BASF S.A - JABOATÃO,1 +Anthony Manon Abba Pizaia,anthonyp@grpcom.com.br,TV Oeste do Paraná Ltda,1 +Ingrid Silva,ingrid.silva@mail.mbcc-group.com,Master Builders Solutions Brasil,1 +RODRIGO MORI DELGADO,rodrigo.delgado@basf.com,BASF - Morumbi,1 +Katia Maria Mandu Draber,katia.draber@basf.com,BASF - Morumbi,1 +Juliane Da Silva Ranna,juliane.a.ranna@basf.com,BASF GUARATINGUETÁ,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NC Comunicações SA,1 +Katia Maria Mandu Draber,katia.draber@basf.com,BASF - Jacareí,1 +José Lopes Camargos Neto,contatoeletrico2017@gmail.com,José Lopes Camargos Neto ME,1 +Rosiane Martins da Paz,rosiane.paz@manserv.com.br,MANSERV FACILITIES - 0007 NOVA LIMA MG,1 +Deborah Souza Carvalho,deborah.carvalho@manserv.com.br,MANSERV FACILITIES - 0007 NOVA LIMA MG,1 +ALEXSANDRO DE SOUZA,alexsandro.souza@hexagon.com,ARVUS TECNOLOGIA LTDA,1 +Andréa Maria da Cruz Silva,andrea.silva@mills.com.br,MILLS ESTRUTURAS E SERVICOS DE ENGENHARIA S/A,1 +Andreia Freire,andreia.freire@basf.com,BASF SA,1 +VALDEMAR,compras@montesiaoplasticos.com.br,MONTE SIÃO PLASTICOS,1 +1SG-MR Nilson Rodrigues de Sousa,sousa.rodrigues@marinha.mil.br,Comando do Grupamento de Patrulha Naval do Sul,1 +Joyce Marcelia Cristina Gomes,jmgomes.angels@tbg.com.br,TRANSPORTADORA BRASILEIRA GASODUTO BOLÍVIA BRASIL S.A.,1 +VANESSA LIMA,administrtivo@mekatronik.com.br,MEKATRONIK IND E COM. DE AUTOMAÇÃO LTDA,1 +Danilo Sabino,adm3@mekatronik.com.br,MEKATRONIK IND E COM. DE AUTOMAÇÃO LTDA,1 +LIGIA,gestaoopr@jwsaraiva.com.br,JW SARAIVA E CIA LTDA,1 +Silvia Cristina Pereira Forte,silviaf@grpcom.com.br,Sociedade Rádio Emissora Paranaense S.A.,1 +KATIELLY FONSECA,fonseca@grupoandradegarcia.com.br,ANDRADE E GARCIA COMERCIO E REPRESENTAÇÕES LTDA,1 +Flávia P. Corrêa,fluxo@cyber.com.br,Fluxo Transformadores e Motores,1 +Ronaldo Campos,ronaldo@acrtecnologia.srv.br,ACR TECNOLOGIA E SERVIÇOS LTDA,1 +Fabiana Rabelo,frabelo@sescamapa.com.br,SERVIÇO SOCIAL DO COMERCIO-DR/AMAPÁ,1 +Vagner Xavier Alves,sst@limport.com.br,Portlimp cOMÉRCIO E serviços Ltda,1 +Carina Falvo,financeiro@autroma.ind.br,AUTROMA Máquinas e Automações Ltda - ME,1 +Ariela Félix da Silva,ariela.silva@samaritano.com.br,UH SAMARITANO SP,1 +Aline Borba da Silva,admproducao@rkferramentaria.com.br,RK Ferramentaria,1 +GUSTAVO VALADARES GONTIJO,contasapagar.tfa@tfaplantio.com.br,WG SINTERIZAÇAO LTDA,1 +Gustavo,awgsinterizacao@gmail.com,WG SINTERIZAÇAO LTDA,1 +Giliane Rosa,giliane.rosa@soscardio.com.br,SOS Cardio Serviços Hospitalares,1 +Tiago Carvalho,polotest@polotest.com.br,MCEDN INSPEÇÕES CONSULTORIA E CONTROLE DE QUALIDADE,1 +Hudson,hudson.diniz@hotmail.com,Hudson Fernando Diniz Silva & Cia Ltda,1 +Hudson Fernando Diniz Silva,hudson.diniz@tractusengenharia.com.br,Hudson Fernando Diniz Silva & Cia Ltda,1 +Altemis Silva,altemiis.silva@basf.com,BASF S.A - Indaiatuba-CC,1 +Romulo Gomes manfrin,romulorgm@gmail.com,Atacarejo da fábrica cruzeiro,1 +Marjorie Bezerra,marjorie.bezerra@phxslag.com,PHOENIX DO PECEM,1 +Condominio Office House,officehouse@officehouse.com.br,Condominio Office House,1 +Fernanda Tavares,qualidade@metalfoto.com.br,Metalfoto,1 +Athila Pedroso,athila.pedroso@copobras.com.br,COPOBRAS S/A IND. E COM. DE EMBALAGENS,1 +Sandra Cruz,financeiro@qpack.com.br,QPack Soluções Analíticas Ltda.,1 +LUCIANO DO VALLE SABOIA,contato@criadourooncapintada.org.br,ASSOCIAÇÃO DE PESQUIESA E CONSERVAÇÃO DA VIDA SILVESTRE,1 +Felipe Lourenço,felipe.lourenco@brasilgtw.com.br,ENERSERV OPERACAO E MANUTENCAO DE EQUIPAMENTOS LTDA,1 +JOÃO RAFAEL CANDIDO DE SOUZA,financeiro@protege.bio.br,PROTEGE CONTROLE DE PRAGAS,1 +FABRICIO DE OLIVEIRA LOPES,patrick070696@gmail.com,COMETA MTO GROSSO COMERCIO DE VEICULOS LTDA,1 +Gabriel Weiss Maciel,gabriel.maciel@ibge.gov.br,Fundação Instituto Brasileiro de Geografia e Estatística,1 +Julio Cesar da Silva Soares,j.cesar@royalihc.com,IHC do Brasil Serviços Técnicos e de Engenharia Ltda,1 +Amanda Cordeiro Damasceno,a.damasceno@royalihc.com,IHC do Brasil Serviços Técnicos e de Engenharia Ltda,1 +Marlos Salles Bianna,mbi.bianna@royalihc.com,IHC do Brasil Serviços Técnicos e de Engenharia Ltda,1 +Thais Skuratovski Araujo,t.araujo@royalihc.com,IHC do Brasil Serviços Técnicos e de Engenharia Ltda,1 +Marcilene Penha de Jesus,deiverson@asperqd.org.br,Associação dos Pescadores e Extrativistas e Remanescentes de Quilombo de Degredo,1 +ELISANGELA MARTINS DO REGO,elisangelamartins@alimentoswilson.com.br,ALIMENTOS WILSON LTDA,1 +Luciana Couto Leite,lucianacoutoleite@gmail.com,L&P alimentação comercial ltda,1 +Markivani Perondi,rh@lp3internet.com.br,LP3 Serviços de Internet Ltda,1 +Ursula Bernardes Gandra da Cruz,bernardesgandra@gmail.com,BERNARDES & GANDRA SOLUCOES INDUSTRIAL - EIRELI,1 +Rosangela Maria de Jesus Lage,thiago.dias@genyx.com.br,GENYX SOLAR COMERCIO LTDA,1 +Tiago Morais,htnnatalia@gmail.com,NGP Inspeções e Montagens Industriais Eireli,1 +Wendel,wendell.heinzl@fanucfa.com,FANUC SOUTH AMERICA EQUIPAMENTOS DE AUTOMACAO E SERV. LTDA,1 +Leticia Ozorio,leticia.ozorio@infotecbrasil.com.br,Infotec Brasil,1 +ALINE DENISE GERHARDT,gabriela.duarte@pfiffner.com.br,PFIFFNER DO BRASIL,1 +Valdir Soares,valdir.soares@pfiffner.com.br,PFIFFNER DO BRASIL,1 +MARLON DIOGO BONIN,contato@enelt.com.br,ENELT MATERIAIS LTDA,1 +EDUARDO BARRELLA MARTIN,compras@emamsolucoes.com.br,EMAM SOLUÇÕES LTDA,1 +Priscila Samara de Queiroz Medeiros,teslaenergia@teslasuaenergia.com.br,TESLA ENERGIA CONSULTORIA E SERVIÇOS LTDA,1 +JOSEMEIRE,josemeire.nascimento@antaresvision.com,ANTARES VISION DO BRASIL,1 +Gustavo Hoffmann,gustavo.hoffmann@elitetrade.com.br,Elite Trade Importação e Exportação Ltda,1 +ROSANGELA DRESCH,financeiro1@goldenmaq.com.br,GOLDEN MAQ COMERCIAL IMPORTADORA DE MAQUINAS LTDA,1 +Verônica Girardello,veronica@lgmanutencao.com.br,LG Montagem Serralheria e Manutenção Industrial LTDA,1 +FMC CENTER CAR LTDA,lucia.nunes@viacometa.com.br,70.487.921/0001-06,1 +MARMORARIA DONA ADELIA LTDA ME,marmorariadonadelia@hotmail.com,Marmorariadonadelia@hotmail.com,1 +Mário M. Pereira,danillo@procad.eng.br,Procad Engenharia Ltda,1 +MAURO,luccas.lopes@hytorcsaopaulo.com.br,HYTORC SÃO PAULO,1 +Mirlane Robério,mirlaneroberio@hotmail.com,Climed Clínica Médica de Saúde Ltda.,1 +Reginaldo Santos,dp@provider-it.com.br,C&V CONSULTORIA LTDA,1 +ANDREA LILIAN PAVAN SANTOS,karina@asconnet.com.br,GROUPSERV SERVIÇOS CONTÁBEIS LTDA,1 +Jocinei Darui,rh@freitag.com.br,Freitag Laboratórios,1 +Jessica Maia,jessica.maia@pedraagroindustrial.com.br,PEDRA AGROINDUSTRIAL S/A,1 +Aline Fortuna,aline.fortuna@gpssa.com.br,IN-HAUS INDUSTRIAL E SERVICOS DE LOGISTICA LTDA,1 +DELMO ENEIAS MENDES,comercial@tdmpreditiva.com.br,"TDM INSPEÇÃO PREDITIVA, ENGENHARIA E MANUTENÇÃO",1 +Priscila Borges,rh@autogeradora.com,AUTOGERADORA COMERC. E LOCAÇÃO,1 +JANICE BALDEZ BATISTA,janice.batista@ecosul.com.br,Empresa Concessionária de Rodovias do Sul – Ecosul,1 +ZUMPNET,eduardozumpnet@gmail.com,SPEAKERS PROJETO E EXECUÇÕES EM AUDIO LTDA,1 +JULIA RONIZE COSTA DE CAMPOS,juliac.95@hotmail.com,SPEAKERS PROJETO E EXECUÇÕES EM AUDIO LTDA,1 +Jeová Lira,jlira@id-logistics.com.br,ID DO BRASIL LOGISTICA LTDA,1 +Amilton Pereira de Matos,thais@climaseg.com.br,Climaseg Ambiental Ltda,1 +Marciano Joao maria da Silva,mstelecom.lancamentos@outlook.com,MS Telecom,1 +erlon antonio resende,erlon.resende@campello.com.br,Campello Inovação e Tecnologia em Ti Eireli,1 +Flávia Paim,flavia@engepack.com.br,Engepack Embalagens São Paulo S/A,1 +Lucicleia,lucicleia@weg.net,G Drives & Controls - 1321 -1013 - WDC - Itajaí,1 +Marcia Thais Leal,teresa.mesquita@sdredes.com.br,SdRedes Segurança de Redes LTDA,1 +PAULO ROGERIO DE LIMA PEREIRA,paulo.rogerio@eritel.com.br,ERITEL TELECOMUNICAÇOES LTDA,1 +SILVIO RINCON,joice.couto@basecientifica.com.br,BASE CIENTIFICA COMÉRCIO E SERVIÇOS LABORATORIAIS LTDA,1 +JOICE COUTO,administrativo@basecientifica.com.br,BASE CIENTIFICA COMÉRCIO E SERVIÇOS LABORATORIAIS LTDA,1 +Maria Rita Porfirio de Souza,rh@rotiv.com.br,Hiraco Produtos Siderurgicos Importacao e Exportacao Ltda.,1 +Mauricio da Silva Oliveira,mauroliveira@uhgbrasil.com.br,HOSPITAL ALVORADA,1 +Cristian Da Silva Santos,cs.santos@grupounimetal.com.br,UNIMETAL SAO VICENTE INDUSTRIA COMERCIO E EMP LTDA,1 +Almir Dadalto,adadalto@alltech.com,ALLTECH DO BRASIL AGROINDUSTRIAL LTDA,1 +Cristiane Rodrigues,cristiane.rodrigues@nsc.com.br,NSC Comunicações,1 +Lourdes Silveira,lourdes.silveira@acco.com,ACCO BRANDS BRASIL LTDA,1 +Simone Maria da Silva Freitas,financeiro@centrosul.net,CONSÓRCIO MAGNO MARTINS ENGENHARIA LTDA E ETECOL CONSTRUÇÃO LTDA,1 +PAULO SANTOS,paulo.santos@vinilengenharia.com.br,VINIL GESTAO E FACILITIES LTDA,1 +Hamilton Cesar Chambrone,hamilton@pcp.eng.br,PCP Engenharia e Comércio Ltda,1 +Kely da Silva Farneth,kely.farneth@ecoriominas.com.br,ECORIOMINAS CONCESSIONÁRIA DE RODOVIAS S.A,1 +Marcelo P. dos Santos Barroso,tecseguranca.ba@novacasadistribuidora.com.br,Nova Casa Distribuidora,1 +Deborah Souza Carvalho,deborah.carvalho@manserv.com.br,LSI ADMINISTRACAO E SERVICOS S/A(Manserv),1 +DAIANA TAMARA DE SOUZA,daiana.souza@cscenergia.com.br,BAESA-ENERGETICA BARRA GRANDE S/A,1 +DAIANA TAMARA DE SOUZA,daiana.souza@cscenergia.com.br,CAMPOS NOVOS ENERGIA S.A.,1 +Cassia Araujo dos Santos,rhjacobina@gmail.com,WN Facilities Serviços e Soluções,1 +Lucilia Fernandes,lucilia.fernandes@eleaedge.com,ELEA DIGITAL INFRAESTRUTURA E REDES DE TELECOMUNICACOES S.A. - RJ - MATRIZ,1 +Cora Braga,cora.nogueira@eleaedge.com,ELEA DIGITAL INFRAESTRUTURA E REDES DE TELECOMUNICACOES S.A. - RJ - MATRIZ,1 +Luciano Silva,luciano.silva@pauliniaverde.com.br,UTE PAULINIA VERDE S. A.,1 \ No newline at end of file diff --git a/users-events/tests/samples/users.csv b/users-events/tests/samples/users.csv new file mode 100644 index 0000000..e8b21cd --- /dev/null +++ b/users-events/tests/samples/users.csv @@ -0,0 +1,28 @@ +CADASTRO DE COLABORADOR,,,, +,NOME COMPLETO,EMAIL (letra minúscula),CPF,TREINAMENTO +,ANDRE HENRIQUE LOPES ZAFALON,henrique.zafalon@fanucamerica.com,261.955.138-22,NR-35 (RECICLAGEM) +,SERGIO DA SILVA CUPERTINO,sergio.cupertino@fanucamerica.com,066.945.708-64,NR-10 (RECICLAGEM) +,SERGIO DA SILVA CUPERTINO,sergio.cupertino@fanucamerica.com,066.945.708-64,NR-35 (RECICLAGEM) +,ROVANE CAMPOS,rovane.campos@fanucamerica.com,095.958.578-82,NR-10 (RECICLAGEM) +,ROVANE CAMPOS,rovane.campos@fanucamerica.com,095.958.578-82,NR-35 (RECICLAGEM) +,MARCIO ATSUSHI KANEKO MASUDA,marcio.masuda@fanucamerica.com,293.042.798-10,NR-10 (RECICLAGEM) +,FABIO AKIRA HARAGUCHI,fabio.haraguchi@fanucamerica.com,287.018.428-03,NR-10 (RECICLAGEM) +,EMIDIO YOITI MOCHIZUKI,emidio.mochizuki@fanucamerica.com,268.579.208-26,NR-10 (RECICLAGEM) +,EMIDIO YOITI MOCHIZUKI,emidio.mochizuki@fanucamerica.com,268.579.208-26,NR-35 (RECICLAGEM) +,ERIC HIDEKI MORIKIO,eric.morikio@fanucamerica.com,417.359.838-61,NR-10 (RECICLAGEM) +,HENRIQUE DE FIGUEIREDO BASTOS FERRAZ,henrique.ferraz@fanucamerica.com,417.059.788-51,NR-10 (RECICLAGEM) +,LAYS MORETTI DA SILVA,lays.silva@fanucamerica.com,013.107.662-07,NR-10 (RECICLAGEM) +,LAYS MORETTI DA SILVA,lays.silva@fanucamerica.com,013.107.662-07,NR-12 +,ANDRE DE SOUZA,andre.souza@fanucamerica.com,290.688.648-31,NR-10 (RECICLAGEM) +,ANDRE DE SOUZA,andre.souza@fanucamerica.com,290.688.648-31,NR-12 +,RAFAEL TOSHIO BURATO MAEDA,rafael.maeda@fanucamerica.com,394.153.268-59,NR-10 (RECICLAGEM) +,RAFAEL TOSHIO BURATO MAEDA,rafael.maeda@fanucamerica.com,394.153.268-59,NR-12 +,RAFAEL TOSHIO BURATO MAEDA,rafael.maeda@fanucamerica.com,394.153.268-59,NR-35 (RECICLAGEM) +,RICARDO GALLES BONET,ricardo.bonet@fanucamerica.com,424.430.528-93,NR-10 (RECICLAGEM) +,RULIO SIEFERT SERA,rulio.sera@fanucamerica.com,063.916.859-08,NR-10 (RECICLAGEM) +,MACIEL FERREIRA BOMFIM,maciel.bomfim@fanucamerica.com,334.547.088-85,NR-10 (RECICLAGEM) +,JAIME EDUARDO GALVEZ AVILES,jaime.galvez@fanucamerica.com,280.238.818-50,NR-12 +,JAIME EDUARDO GALVEZ AVILES,jaime.galvez@fanucamerica.com,280.238.818-50,NR-35 (RECICLAGEM) +,HIGOR MACHADO SILVA,higor.silva@fanucamerica.com,419.879.878-88,NR-12 +,LÁZARO SOUZA DIAS,lazaro.dias@fanucamerica.com,067.179.825-19,NR-12 +,JOÃO PEDRO AGUIAR GALASSO,joao.pedro@fanucamerica.com,570.403.588-40,NR-12 \ No newline at end of file diff --git a/users-events/tests/seeds.jsonl b/users-events/tests/seeds.jsonl new file mode 100644 index 0000000..b704442 --- /dev/null +++ b/users-events/tests/seeds.jsonl @@ -0,0 +1,4 @@ +{"id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "0"}, "name": {"S": "EDUSEG"}} +{"id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "admins#5OxmMjL-ujoR5IMGegQz"}, "name": {"S": "Sérgio R Siqueira"}, "email": {"S": "sergio@somosbeta.com.br"}} +{"id": {"S": "cnpj"}, "sk": {"S": "15608435000190"}, "user_id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}} +{"id": {"S": "email"}, "sk": {"S": "org+15608435000190@users.noreply.saladeaula.digital"}, "user_id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}} \ No newline at end of file diff --git a/users-events/tests/test_csv_utils.py b/users-events/tests/test_csv_utils.py new file mode 100644 index 0000000..2647818 --- /dev/null +++ b/users-events/tests/test_csv_utils.py @@ -0,0 +1,29 @@ +from csv_utils import byte_ranges, detect_delimiter + + +def test_detect_delimiter(): + with open('tests/samples/users.csv') as fp: + assert detect_delimiter(fp) == ',' + + +def test_byte_ranges(): + csvpath = 'tests/samples/users.csv' + ranges = byte_ranges(csvpath, 10) + *_, pair = ranges + start_byte, end_byte = pair + + assert ranges == [(0, 808), (809, 1655), (1656, 2303)] + + expected = """,RICARDO GALLES BONET,ricardo.bonet@fanucamerica.com,424.430.528-93,NR-10 (RECICLAGEM) +,RULIO SIEFERT SERA,rulio.sera@fanucamerica.com,063.916.859-08,NR-10 (RECICLAGEM) +,MACIEL FERREIRA BOMFIM,maciel.bomfim@fanucamerica.com,334.547.088-85,NR-10 (RECICLAGEM) +,JAIME EDUARDO GALVEZ AVILES,jaime.galvez@fanucamerica.com,280.238.818-50,NR-12 +,JAIME EDUARDO GALVEZ AVILES,jaime.galvez@fanucamerica.com,280.238.818-50,NR-35 (RECICLAGEM) +,HIGOR MACHADO SILVA,higor.silva@fanucamerica.com,419.879.878-88,NR-12 +,LÁZARO SOUZA DIAS,lazaro.dias@fanucamerica.com,067.179.825-19,NR-12 +,JOÃO PEDRO AGUIAR GALASSO,joao.pedro@fanucamerica.com,570.403.588-40,NR-12""" + + with open(csvpath, 'rb') as f: + f.seek(start_byte) + data = f.read(end_byte - start_byte + 1) + assert data.decode('utf-8') == expected diff --git a/users-events/uv.lock b/users-events/uv.lock new file mode 100644 index 0000000..bf5f797 --- /dev/null +++ b/users-events/uv.lock @@ -0,0 +1,1171 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "arnparse" +version = "0.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/42/949284e998282b167e273872fa9c39b06d41a6055163c30aa2daaeee76a0/arnparse-0.0.2.tar.gz", hash = "sha256:cb87f17200d07121108a9085d4a09cc69a55582647776b9a917b0b1f279db8f8", size = 2677, upload-time = "2019-03-12T21:17:04.586Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/6f/630bedeb32964e99661990811a66389201b62c047b35c17e332dad9be2a3/arnparse-0.0.2-py2.py3-none-any.whl", hash = "sha256:b0906734e4b8f19e39b1e32944c6cd6274b6da90c066a83882ac7a11d27553e0", size = 2904, upload-time = "2019-03-12T21:17:03.039Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "aws-encryption-sdk" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boto3" }, + { name = "cryptography" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/ff/fefbcc1cee829f3ab188dbcb5069862f61b64ed82a6205314f1ab7bb90e6/aws-encryption-sdk-4.0.1.tar.gz", hash = "sha256:7320dc4cf8d8d5a9b4c88a343be93835da18756e05308d3536554be0ca2889a5", size = 260219, upload-time = "2025-03-27T17:24:54.669Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/a5/82956e2111b169c644633212da2a5f84dd9d953b9dd146ccfccfb8a46290/aws_encryption_sdk-4.0.1-py2.py3-none-any.whl", hash = "sha256:5c2ca9a207e1732542a1370ac7efd630ab6e04d05f98e68badf20927eb95ed1d", size = 99127, upload-time = "2025-03-27T17:24:50.903Z" }, +] + +[[package]] +name = "aws-lambda-powertools" +version = "3.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/90/7cc2e76ca959ce5985fcfff73a3885bbd5e3d85d5acd8c4ba1149b5ccaec/aws_lambda_powertools-3.12.0.tar.gz", hash = "sha256:b13146bbacf7bc029539b18c2a9b07b333cecca482d9ec4fba81dff5fb8523ea", size = 671775, upload-time = "2025-05-06T07:48:35.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/86/c73f4fc738df6a937a1d542c8e4eaf0a96a242b4fcb80db2d22fe78b39bb/aws_lambda_powertools-3.12.0-py3-none-any.whl", hash = "sha256:094d5b404a8025b09ca1425099aa417ddaff537f915b250007dcd43217c61dc5", size = 801386, upload-time = "2025-05-06T07:48:32.864Z" }, +] + +[package.optional-dependencies] +all = [ + { name = "aws-encryption-sdk" }, + { name = "aws-xray-sdk" }, + { name = "fastjsonschema" }, + { name = "jsonpath-ng" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, +] + +[[package]] +name = "aws-xray-sdk" +version = "2.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/6c/8e7fb2a45f20afc5c19d52807b560793fb48b0feca1de7de116b62a7893e/aws_xray_sdk-2.14.0.tar.gz", hash = "sha256:aab843c331af9ab9ba5cefb3a303832a19db186140894a523edafc024cc0493c", size = 93976, upload-time = "2024-06-04T22:11:38.124Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/69/b417833a8926fa5491e5346d7c233bf7d8a9b12ba1f4ef41ccea2494000c/aws_xray_sdk-2.14.0-py2.py3-none-any.whl", hash = "sha256:cfbe6feea3d26613a2a869d14c9246a844285c97087ad8f296f901633554ad94", size = 101922, upload-time = "2024-06-04T22:12:25.729Z" }, +] + +[[package]] +name = "boltons" +version = "25.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz", hash = "sha256:e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace", size = 246294, upload-time = "2025-02-03T05:57:59.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl", hash = "sha256:dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62", size = 194210, upload-time = "2025-02-03T05:57:56.705Z" }, +] + +[[package]] +name = "boto3" +version = "1.38.17" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/dd/68ea8ab6dfbed46b75fcfe0bbd5ae19e4d3ef094b749ff8d944398e90f2d/boto3-1.38.17.tar.gz", hash = "sha256:6058feef976ece2878ad3555f39933e63d20d02e2bbd40610ab2926d4555710a", size = 111803, upload-time = "2025-05-15T19:35:17.029Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/89/634155fb209f50fd98da1cb11480bcdf6ed8d8ab68800d91cdb2bf59a8af/boto3-1.38.17-py3-none-any.whl", hash = "sha256:9b56c98fe7acb6559c24dacd838989878c60f3df2fb8ca5f311128419fd9f953", size = 139937, upload-time = "2025-05-15T19:35:14.663Z" }, +] + +[[package]] +name = "boto3-stubs" +version = "1.38.26" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore-stubs" }, + { name = "types-s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1e/89/9e2658210ac11459405ed8c82f47be533a5d16ae3b8203c90564b7a738a0/boto3_stubs-1.38.26.tar.gz", hash = "sha256:492e59e42323de43018ffa6d00d3bb2b93d1fead042e76c6a68fd0a0c0fe3236", size = 99065, upload-time = "2025-05-29T19:47:49.383Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/51/881ac3c7ebeefdfe0e712b1f4d815261707a492187ea301506168cf6fc20/boto3_stubs-1.38.26-py3-none-any.whl", hash = "sha256:3022b2a8f6925c60c9ce68c5e090ff9fd2bad0c918300395a1c242681a67c11c", size = 68669, upload-time = "2025-05-29T19:47:42.352Z" }, +] + +[package.optional-dependencies] +essential = [ + { name = "mypy-boto3-cloudformation" }, + { name = "mypy-boto3-dynamodb" }, + { name = "mypy-boto3-ec2" }, + { name = "mypy-boto3-lambda" }, + { name = "mypy-boto3-rds" }, + { name = "mypy-boto3-s3" }, + { name = "mypy-boto3-sqs" }, +] + +[[package]] +name = "botocore" +version = "1.38.17" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/73/8b831403be00dbea152d4827929a5772f58e0413dd3e6b6d4b3592d88d39/botocore-1.38.17.tar.gz", hash = "sha256:f2db4c4bdcfbc41d78bfe73b9affe7d217c7840f8ce120cff815536969418b18", size = 13903448, upload-time = "2025-05-15T19:35:05.325Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/fc/9c08db2e89055999e996fee3537cbbfb4ed8ebf0d4ab1b1045e1819b76d8/botocore-1.38.17-py3-none-any.whl", hash = "sha256:ec75cf02fbd3dbec18187085ce387761eab16afdccfd0774fd168db3689c6cb6", size = 13564514, upload-time = "2025-05-15T19:35:00.231Z" }, +] + +[[package]] +name = "botocore-stubs" +version = "1.38.26" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "types-awscrt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/08/f2/fd2f5a8ef00bbcfe00c12b8c49e247510266929dff5578b6fec360967a21/botocore_stubs-1.38.26.tar.gz", hash = "sha256:3bbf7662fc97e28a50dc959752619cf57029194987268b4dc13df4e54767204c", size = 42315, upload-time = "2025-05-29T20:18:25.22Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/4a/f99ef1ff37620c0c23aa67e3d9de5fce0f98b38fd26e6d30438ee440c0fc/botocore_stubs-1.38.26-py3-none-any.whl", hash = "sha256:c86ac7d2c7e24ea50a866a9686a293dfe8b40281cc3465d79e2e0e48d35ad93b", size = 65628, upload-time = "2025-05-29T20:18:23.125Z" }, +] + +[[package]] +name = "brotli" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" }, +] + +[[package]] +name = "brotlicffi" +version = "1.1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/9d/70caa61192f570fcf0352766331b735afa931b4c6bc9a348a0925cc13288/brotlicffi-1.1.0.0.tar.gz", hash = "sha256:b77827a689905143f87915310b93b273ab17888fd43ef350d4832c4a71083c13", size = 465192, upload-time = "2023-09-14T14:22:40.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/11/7b96009d3dcc2c931e828ce1e157f03824a69fb728d06bfd7b2fc6f93718/brotlicffi-1.1.0.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9b7ae6bd1a3f0df532b6d67ff674099a96d22bc0948955cb338488c31bfb8851", size = 453786, upload-time = "2023-09-14T14:21:57.72Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e6/a8f46f4a4ee7856fbd6ac0c6fb0dc65ed181ba46cd77875b8d9bbe494d9e/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19ffc919fa4fc6ace69286e0a23b3789b4219058313cf9b45625016bf7ff996b", size = 2911165, upload-time = "2023-09-14T14:21:59.613Z" }, + { url = "https://files.pythonhosted.org/packages/be/20/201559dff14e83ba345a5ec03335607e47467b6633c210607e693aefac40/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9feb210d932ffe7798ee62e6145d3a757eb6233aa9a4e7db78dd3690d7755814", size = 2927895, upload-time = "2023-09-14T14:22:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/cd/15/695b1409264143be3c933f708a3f81d53c4a1e1ebbc06f46331decbf6563/brotlicffi-1.1.0.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84763dbdef5dd5c24b75597a77e1b30c66604725707565188ba54bab4f114820", size = 2851834, upload-time = "2023-09-14T14:22:03.571Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/b961a702463b6005baf952794c2e9e0099bde657d0d7e007f923883b907f/brotlicffi-1.1.0.0-cp37-abi3-win32.whl", hash = "sha256:1b12b50e07c3911e1efa3a8971543e7648100713d4e0971b13631cce22c587eb", size = 341731, upload-time = "2023-09-14T14:22:05.74Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fa/5408a03c041114ceab628ce21766a4ea882aa6f6f0a800e04ee3a30ec6b9/brotlicffi-1.1.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:994a4f0681bb6c6c3b0925530a1926b7a189d878e6e5e38fae8efa47c5d9c613", size = 366783, upload-time = "2023-09-14T14:22:07.096Z" }, +] + +[[package]] +name = "camel-converter" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/3d/dd783586dc0c4aee5b6b88489666fdb2c0c344ea0aa8a5c10746cc423707/camel_converter-4.0.1.tar.gz", hash = "sha256:401414549ae4ac4073e38cdc4aa6d464dc534fc40aa06ff787bf0960b0c86535", size = 38915, upload-time = "2024-10-08T16:55:39.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/e5/806359514cc8305f047bd6d39d63890298c0596f7328b534059724bd1a9e/camel_converter-4.0.1-py3-none-any.whl", hash = "sha256:0cba7ca1354a29ca2191983deecc9dcf28889f606c28d6ed18ac7d4586b163ac", size = 6243, upload-time = "2024-10-08T16:55:37.769Z" }, +] + +[package.optional-dependencies] +pydantic = [ + { name = "pydantic" }, +] + +[[package]] +name = "certifi" +version = "2025.4.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/19/4f/2251e65033ed2ce1e68f00f91a0294e0f80c80ae8c3ebbe2f12828c4cd53/coverage-7.8.0.tar.gz", hash = "sha256:7a3d62b3b03b4b6fd41a085f3574874cf946cb4604d2b4d3e8dca8cd570ca501", size = 811872, upload-time = "2025-03-30T20:36:45.376Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/21/87e9b97b568e223f3438d93072479c2f36cc9b3f6b9f7094b9d50232acc0/coverage-7.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ac46d0c2dd5820ce93943a501ac5f6548ea81594777ca585bf002aa8854cacd", size = 211708, upload-time = "2025-03-30T20:35:47.417Z" }, + { url = "https://files.pythonhosted.org/packages/75/be/882d08b28a0d19c9c4c2e8a1c6ebe1f79c9c839eb46d4fca3bd3b34562b9/coverage-7.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:771eb7587a0563ca5bb6f622b9ed7f9d07bd08900f7589b4febff05f469bea00", size = 211981, upload-time = "2025-03-30T20:35:49.002Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1d/ce99612ebd58082fbe3f8c66f6d8d5694976c76a0d474503fa70633ec77f/coverage-7.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42421e04069fb2cbcbca5a696c4050b84a43b05392679d4068acbe65449b5c64", size = 245495, upload-time = "2025-03-30T20:35:51.073Z" }, + { url = "https://files.pythonhosted.org/packages/dc/8d/6115abe97df98db6b2bd76aae395fcc941d039a7acd25f741312ced9a78f/coverage-7.8.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:554fec1199d93ab30adaa751db68acec2b41c5602ac944bb19187cb9a41a8067", size = 242538, upload-time = "2025-03-30T20:35:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/cb/74/2f8cc196643b15bc096d60e073691dadb3dca48418f08bc78dd6e899383e/coverage-7.8.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aaeb00761f985007b38cf463b1d160a14a22c34eb3f6a39d9ad6fc27cb73008", size = 244561, upload-time = "2025-03-30T20:35:54.658Z" }, + { url = "https://files.pythonhosted.org/packages/22/70/c10c77cd77970ac965734fe3419f2c98665f6e982744a9bfb0e749d298f4/coverage-7.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:581a40c7b94921fffd6457ffe532259813fc68eb2bdda60fa8cc343414ce3733", size = 244633, upload-time = "2025-03-30T20:35:56.221Z" }, + { url = "https://files.pythonhosted.org/packages/38/5a/4f7569d946a07c952688debee18c2bb9ab24f88027e3d71fd25dbc2f9dca/coverage-7.8.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f319bae0321bc838e205bf9e5bc28f0a3165f30c203b610f17ab5552cff90323", size = 242712, upload-time = "2025-03-30T20:35:57.801Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a1/03a43b33f50475a632a91ea8c127f7e35e53786dbe6781c25f19fd5a65f8/coverage-7.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:04bfec25a8ef1c5f41f5e7e5c842f6b615599ca8ba8391ec33a9290d9d2db3a3", size = 244000, upload-time = "2025-03-30T20:35:59.378Z" }, + { url = "https://files.pythonhosted.org/packages/6a/89/ab6c43b1788a3128e4d1b7b54214548dcad75a621f9d277b14d16a80d8a1/coverage-7.8.0-cp313-cp313-win32.whl", hash = "sha256:dd19608788b50eed889e13a5d71d832edc34fc9dfce606f66e8f9f917eef910d", size = 214195, upload-time = "2025-03-30T20:36:01.005Z" }, + { url = "https://files.pythonhosted.org/packages/12/12/6bf5f9a8b063d116bac536a7fb594fc35cb04981654cccb4bbfea5dcdfa0/coverage-7.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:a9abbccd778d98e9c7e85038e35e91e67f5b520776781d9a1e2ee9d400869487", size = 214998, upload-time = "2025-03-30T20:36:03.006Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e6/1e9df74ef7a1c983a9c7443dac8aac37a46f1939ae3499424622e72a6f78/coverage-7.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:18c5ae6d061ad5b3e7eef4363fb27a0576012a7447af48be6c75b88494c6cf25", size = 212541, upload-time = "2025-03-30T20:36:04.638Z" }, + { url = "https://files.pythonhosted.org/packages/04/51/c32174edb7ee49744e2e81c4b1414ac9df3dacfcb5b5f273b7f285ad43f6/coverage-7.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95aa6ae391a22bbbce1b77ddac846c98c5473de0372ba5c463480043a07bff42", size = 212767, upload-time = "2025-03-30T20:36:06.503Z" }, + { url = "https://files.pythonhosted.org/packages/e9/8f/f454cbdb5212f13f29d4a7983db69169f1937e869a5142bce983ded52162/coverage-7.8.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e013b07ba1c748dacc2a80e69a46286ff145935f260eb8c72df7185bf048f502", size = 256997, upload-time = "2025-03-30T20:36:08.137Z" }, + { url = "https://files.pythonhosted.org/packages/e6/74/2bf9e78b321216d6ee90a81e5c22f912fc428442c830c4077b4a071db66f/coverage-7.8.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d766a4f0e5aa1ba056ec3496243150698dc0481902e2b8559314368717be82b1", size = 252708, upload-time = "2025-03-30T20:36:09.781Z" }, + { url = "https://files.pythonhosted.org/packages/92/4d/50d7eb1e9a6062bee6e2f92e78b0998848a972e9afad349b6cdde6fa9e32/coverage-7.8.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad80e6b4a0c3cb6f10f29ae4c60e991f424e6b14219d46f1e7d442b938ee68a4", size = 255046, upload-time = "2025-03-30T20:36:11.409Z" }, + { url = "https://files.pythonhosted.org/packages/40/9e/71fb4e7402a07c4198ab44fc564d09d7d0ffca46a9fb7b0a7b929e7641bd/coverage-7.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b87eb6fc9e1bb8f98892a2458781348fa37e6925f35bb6ceb9d4afd54ba36c73", size = 256139, upload-time = "2025-03-30T20:36:13.86Z" }, + { url = "https://files.pythonhosted.org/packages/49/1a/78d37f7a42b5beff027e807c2843185961fdae7fe23aad5a4837c93f9d25/coverage-7.8.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d1ba00ae33be84066cfbe7361d4e04dec78445b2b88bdb734d0d1cbab916025a", size = 254307, upload-time = "2025-03-30T20:36:16.074Z" }, + { url = "https://files.pythonhosted.org/packages/58/e9/8fb8e0ff6bef5e170ee19d59ca694f9001b2ec085dc99b4f65c128bb3f9a/coverage-7.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f3c38e4e5ccbdc9198aecc766cedbb134b2d89bf64533973678dfcf07effd883", size = 255116, upload-time = "2025-03-30T20:36:18.033Z" }, + { url = "https://files.pythonhosted.org/packages/56/b0/d968ecdbe6fe0a863de7169bbe9e8a476868959f3af24981f6a10d2b6924/coverage-7.8.0-cp313-cp313t-win32.whl", hash = "sha256:379fe315e206b14e21db5240f89dc0774bdd3e25c3c58c2c733c99eca96f1ada", size = 214909, upload-time = "2025-03-30T20:36:19.644Z" }, + { url = "https://files.pythonhosted.org/packages/87/e9/d6b7ef9fecf42dfb418d93544af47c940aa83056c49e6021a564aafbc91f/coverage-7.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2e4b6b87bb0c846a9315e3ab4be2d52fac905100565f4b92f02c445c8799e257", size = 216068, upload-time = "2025-03-30T20:36:21.282Z" }, + { url = "https://files.pythonhosted.org/packages/59/f1/4da7717f0063a222db253e7121bd6a56f6fb1ba439dcc36659088793347c/coverage-7.8.0-py3-none-any.whl", hash = "sha256:dbf364b4c5e7bae9250528167dfe40219b62e2d573c854d74be213e1e52069f7", size = 203435, upload-time = "2025-03-30T20:36:43.61Z" }, +] + +[[package]] +name = "cryptography" +version = "44.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/53/d6/1411ab4d6108ab167d06254c5be517681f1e331f90edf1379895bcb87020/cryptography-44.0.3.tar.gz", hash = "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053", size = 711096, upload-time = "2025-05-02T19:36:04.667Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/53/c776d80e9d26441bb3868457909b4e74dd9ccabd182e10b2b0ae7a07e265/cryptography-44.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", size = 6670281, upload-time = "2025-05-02T19:34:50.665Z" }, + { url = "https://files.pythonhosted.org/packages/6a/06/af2cf8d56ef87c77319e9086601bef621bedf40f6f59069e1b6d1ec498c5/cryptography-44.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", size = 3959305, upload-time = "2025-05-02T19:34:53.042Z" }, + { url = "https://files.pythonhosted.org/packages/ae/01/80de3bec64627207d030f47bf3536889efee8913cd363e78ca9a09b13c8e/cryptography-44.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", size = 4171040, upload-time = "2025-05-02T19:34:54.675Z" }, + { url = "https://files.pythonhosted.org/packages/bd/48/bb16b7541d207a19d9ae8b541c70037a05e473ddc72ccb1386524d4f023c/cryptography-44.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", size = 3963411, upload-time = "2025-05-02T19:34:56.61Z" }, + { url = "https://files.pythonhosted.org/packages/42/b2/7d31f2af5591d217d71d37d044ef5412945a8a8e98d5a2a8ae4fd9cd4489/cryptography-44.0.3-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", size = 3689263, upload-time = "2025-05-02T19:34:58.591Z" }, + { url = "https://files.pythonhosted.org/packages/25/50/c0dfb9d87ae88ccc01aad8eb93e23cfbcea6a6a106a9b63a7b14c1f93c75/cryptography-44.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", size = 4196198, upload-time = "2025-05-02T19:35:00.988Z" }, + { url = "https://files.pythonhosted.org/packages/66/c9/55c6b8794a74da652690c898cb43906310a3e4e4f6ee0b5f8b3b3e70c441/cryptography-44.0.3-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", size = 3966502, upload-time = "2025-05-02T19:35:03.091Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f7/7cb5488c682ca59a02a32ec5f975074084db4c983f849d47b7b67cc8697a/cryptography-44.0.3-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", size = 4196173, upload-time = "2025-05-02T19:35:05.018Z" }, + { url = "https://files.pythonhosted.org/packages/d2/0b/2f789a8403ae089b0b121f8f54f4a3e5228df756e2146efdf4a09a3d5083/cryptography-44.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", size = 4087713, upload-time = "2025-05-02T19:35:07.187Z" }, + { url = "https://files.pythonhosted.org/packages/1d/aa/330c13655f1af398fc154089295cf259252f0ba5df93b4bc9d9c7d7f843e/cryptography-44.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", size = 4299064, upload-time = "2025-05-02T19:35:08.879Z" }, + { url = "https://files.pythonhosted.org/packages/10/a8/8c540a421b44fd267a7d58a1fd5f072a552d72204a3f08194f98889de76d/cryptography-44.0.3-cp37-abi3-win32.whl", hash = "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d", size = 2773887, upload-time = "2025-05-02T19:35:10.41Z" }, + { url = "https://files.pythonhosted.org/packages/b9/0d/c4b1657c39ead18d76bbd122da86bd95bdc4095413460d09544000a17d56/cryptography-44.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d", size = 3209737, upload-time = "2025-05-02T19:35:12.12Z" }, + { url = "https://files.pythonhosted.org/packages/34/a3/ad08e0bcc34ad436013458d7528e83ac29910943cea42ad7dd4141a27bbb/cryptography-44.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", size = 6673501, upload-time = "2025-05-02T19:35:13.775Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f0/7491d44bba8d28b464a5bc8cc709f25a51e3eac54c0a4444cf2473a57c37/cryptography-44.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", size = 3960307, upload-time = "2025-05-02T19:35:15.917Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c8/e5c5d0e1364d3346a5747cdcd7ecbb23ca87e6dea4f942a44e88be349f06/cryptography-44.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", size = 4170876, upload-time = "2025-05-02T19:35:18.138Z" }, + { url = "https://files.pythonhosted.org/packages/73/96/025cb26fc351d8c7d3a1c44e20cf9a01e9f7cf740353c9c7a17072e4b264/cryptography-44.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", size = 3964127, upload-time = "2025-05-02T19:35:19.864Z" }, + { url = "https://files.pythonhosted.org/packages/01/44/eb6522db7d9f84e8833ba3bf63313f8e257729cf3a8917379473fcfd6601/cryptography-44.0.3-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", size = 3689164, upload-time = "2025-05-02T19:35:21.449Z" }, + { url = "https://files.pythonhosted.org/packages/68/fb/d61a4defd0d6cee20b1b8a1ea8f5e25007e26aeb413ca53835f0cae2bcd1/cryptography-44.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", size = 4198081, upload-time = "2025-05-02T19:35:23.187Z" }, + { url = "https://files.pythonhosted.org/packages/1b/50/457f6911d36432a8811c3ab8bd5a6090e8d18ce655c22820994913dd06ea/cryptography-44.0.3-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", size = 3967716, upload-time = "2025-05-02T19:35:25.426Z" }, + { url = "https://files.pythonhosted.org/packages/35/6e/dca39d553075980ccb631955c47b93d87d27f3596da8d48b1ae81463d915/cryptography-44.0.3-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", size = 4197398, upload-time = "2025-05-02T19:35:27.678Z" }, + { url = "https://files.pythonhosted.org/packages/9b/9d/d1f2fe681eabc682067c66a74addd46c887ebacf39038ba01f8860338d3d/cryptography-44.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", size = 4087900, upload-time = "2025-05-02T19:35:29.312Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f5/3599e48c5464580b73b236aafb20973b953cd2e7b44c7c2533de1d888446/cryptography-44.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", size = 4301067, upload-time = "2025-05-02T19:35:31.547Z" }, + { url = "https://files.pythonhosted.org/packages/a7/6c/d2c48c8137eb39d0c193274db5c04a75dab20d2f7c3f81a7dcc3a8897701/cryptography-44.0.3-cp39-abi3-win32.whl", hash = "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028", size = 2775467, upload-time = "2025-05-02T19:35:33.805Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ad/51f212198681ea7b0deaaf8846ee10af99fba4e894f67b353524eab2bbe5/cryptography-44.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334", size = 3210375, upload-time = "2025-05-02T19:35:35.369Z" }, +] + +[[package]] +name = "cssselect2" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tinycss2" }, + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/86/fd7f58fc498b3166f3a7e8e0cddb6e620fe1da35b02248b1bd59e95dbaaa/cssselect2-0.8.0.tar.gz", hash = "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a", size = 35716, upload-time = "2025-03-05T14:46:07.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/e7/aa315e6a749d9b96c2504a1ba0ba031ba2d0517e972ce22682e3fccecb09/cssselect2-0.8.0-py3-none-any.whl", hash = "sha256:46fc70ebc41ced7a32cd42d58b1884d72ade23d21e5a4eaaf022401c13f0e76e", size = 15454, upload-time = "2025-03-05T14:46:06.463Z" }, +] + +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, +] + +[[package]] +name = "elastic-transport" +version = "8.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/54/d498a766ac8fa475f931da85a154666cc81a70f8eb4a780bc8e4e934e9ac/elastic_transport-8.17.1.tar.gz", hash = "sha256:5edef32ac864dca8e2f0a613ef63491ee8d6b8cfb52881fa7313ba9290cac6d2", size = 73425, upload-time = "2025-03-13T07:28:30.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/cd/b71d5bc74cde7fc6fd9b2ff9389890f45d9762cbbbf81dc5e51fd7588c4a/elastic_transport-8.17.1-py3-none-any.whl", hash = "sha256:192718f498f1d10c5e9aa8b9cf32aed405e469a7f0e9d6a8923431dbb2c59fb8", size = 64969, upload-time = "2025-03-13T07:28:29.031Z" }, +] + +[[package]] +name = "elasticsearch" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/e4/40fc0e8d9a646889ac3f865cd35e41835f3cf888c716c7aae82248e022f0/elasticsearch-8.18.1.tar.gz", hash = "sha256:998035f17a8c1fba7ae26b183dca797dcf95db86da6a7ecba56d31afc40f07c7", size = 750746, upload-time = "2025-04-29T09:32:16.361Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/62/f62e8a5c7c6f7b27481c9ffc248fb32078ad88878aa4f3731a83a14cc797/elasticsearch-8.18.1-py3-none-any.whl", hash = "sha256:1a8c8b5ec3ce5be88f96d2f898375671648e96272978bce0dee3137d9326aabb", size = 906320, upload-time = "2025-04-29T09:32:12.527Z" }, +] + +[[package]] +name = "elasticsearch-dsl" +version = "8.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "elastic-transport" }, + { name = "elasticsearch" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/6d/00cbeee412a2dc825f0df18c98463a2e0b423b86800fba6c50ea2c627962/elasticsearch_dsl-8.18.0.tar.gz", hash = "sha256:763465dba9eae166add10567e924c65730aa122819b08bfe9a077e91b13b30d1", size = 31886, upload-time = "2025-04-16T11:54:14.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/a9/b200790a22585aeb023d88bd8b9fb222820e2976ce4239d401670116ae3c/elasticsearch_dsl-8.18.0-py3-none-any.whl", hash = "sha256:0522c5bb20c7abae69855109e650bf1166d486cbf706b5e1b29c28936a9102a3", size = 10406, upload-time = "2025-04-16T11:54:12.677Z" }, +] + +[[package]] +name = "email-validator" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, +] + +[[package]] +name = "face" +version = "24.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boltons" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/79/2484075a8549cd64beae697a8f664dee69a5ccf3a7439ee40c8f93c1978a/face-24.0.0.tar.gz", hash = "sha256:611e29a01ac5970f0077f9c577e746d48c082588b411b33a0dd55c4d872949f6", size = 62732, upload-time = "2024-11-02T05:24:26.095Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/47/21867c2e5fd006c8d36a560df9e32cb4f1f566b20c5dd41f5f8a2124f7de/face-24.0.0-py3-none-any.whl", hash = "sha256:0e2c17b426fa4639a4e77d1de9580f74a98f4869ba4c7c8c175b810611622cd3", size = 54742, upload-time = "2024-11-02T05:24:24.939Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, +] + +[[package]] +name = "fonttools" +version = "4.58.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522, upload-time = "2025-05-10T17:36:35.886Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320, upload-time = "2025-05-10T17:35:56.455Z" }, + { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570, upload-time = "2025-05-10T17:35:58.794Z" }, + { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066, upload-time = "2025-05-10T17:36:01.174Z" }, + { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076, upload-time = "2025-05-10T17:36:03.663Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394, upload-time = "2025-05-10T17:36:06.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160, upload-time = "2025-05-10T17:36:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919, upload-time = "2025-05-10T17:36:10.644Z" }, + { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972, upload-time = "2025-05-10T17:36:12.495Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440, upload-time = "2025-05-10T17:36:33.607Z" }, +] + +[package.optional-dependencies] +woff = [ + { name = "brotli", marker = "platform_python_implementation == 'CPython'" }, + { name = "brotlicffi", marker = "platform_python_implementation != 'CPython'" }, + { name = "zopfli" }, +] + +[[package]] +name = "ftfy" +version = "6.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload-time = "2024-10-26T00:50:35.149Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload-time = "2024-10-26T00:50:33.425Z" }, +] + +[[package]] +name = "glom" +version = "24.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "boltons" }, + { name = "face" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/89/b57cfbc448189426f2e01b244fbe9226b059ef5423a9d49c1d335a1f1026/glom-24.11.0.tar.gz", hash = "sha256:4325f96759a912044af7b6c6bd0dba44ad8c1eb6038aab057329661d2021bb27", size = 195120, upload-time = "2024-11-02T23:17:50.405Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/a2/75fd80784ec33da8d39cf885e8811a4fbc045a90db5e336b8e345e66dbb2/glom-24.11.0-py3-none-any.whl", hash = "sha256:991db7fcb4bfa9687010aa519b7b541bbe21111e70e58fdd2d7e34bbaa2c1fbd", size = 102690, upload-time = "2024-11-02T23:17:46.468Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonlines" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/87/bcda8e46c88d0e34cad2f09ee2d0c7f5957bccdb9791b0b934ec84d84be4/jsonlines-4.0.0.tar.gz", hash = "sha256:0c6d2c09117550c089995247f605ae4cf77dd1533041d366351f6f298822ea74", size = 11359, upload-time = "2023-09-01T12:34:44.187Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/62/d9ba6323b9202dd2fe166beab8a86d29465c41a0288cbe229fac60c1ab8d/jsonlines-4.0.0-py3-none-any.whl", hash = "sha256:185b334ff2ca5a91362993f42e83588a360cf95ce4b71a73548502bda52a7c55", size = 8701, upload-time = "2023-09-01T12:34:42.563Z" }, +] + +[[package]] +name = "jsonpath-ng" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ply" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/86/08646239a313f895186ff0a4573452038eed8c86f54380b3ebac34d32fb2/jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c", size = 37838, upload-time = "2024-10-11T15:41:42.404Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/5a/73ecb3d82f8615f32ccdadeb9356726d6cae3a4bbc840b437ceb95708063/jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6", size = 30105, upload-time = "2024-11-20T17:58:30.418Z" }, +] + +[[package]] +name = "layercake" +version = "0.6.2" +source = { directory = "../layercake" } +dependencies = [ + { name = "arnparse" }, + { name = "aws-lambda-powertools", extra = ["all"] }, + { name = "elasticsearch" }, + { name = "elasticsearch-dsl" }, + { name = "ftfy" }, + { name = "glom" }, + { name = "meilisearch" }, + { name = "orjson" }, + { name = "pycpfcnpj" }, + { name = "pydantic", extra = ["email"] }, + { name = "pydantic-extra-types" }, + { name = "pytz" }, + { name = "requests" }, + { name = "smart-open", extra = ["s3"] }, + { name = "weasyprint" }, +] + +[package.metadata] +requires-dist = [ + { name = "arnparse", specifier = ">=0.0.2" }, + { name = "aws-lambda-powertools", extras = ["all"], specifier = ">=3.8.0" }, + { name = "elasticsearch", specifier = ">=8.17.2" }, + { name = "elasticsearch-dsl", specifier = ">=8.17.1" }, + { name = "ftfy", specifier = ">=6.3.1" }, + { name = "glom", specifier = ">=24.11.0" }, + { name = "meilisearch", specifier = ">=0.34.0" }, + { name = "orjson", specifier = ">=3.10.15" }, + { name = "pycpfcnpj", specifier = ">=1.8" }, + { name = "pydantic", extras = ["email"], specifier = ">=2.10.6" }, + { name = "pydantic-extra-types", specifier = ">=2.10.3" }, + { name = "pytz", specifier = ">=2025.1" }, + { name = "requests", specifier = ">=2.32.3" }, + { name = "smart-open", extras = ["s3"], specifier = ">=7.1.0" }, + { name = "weasyprint", specifier = ">=65.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "boto3", specifier = ">=1.37.16" }, + { name = "boto3-stubs", extras = ["essential"], specifier = ">=1.37.33" }, + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.5" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.11.1" }, +] + +[[package]] +name = "meilisearch" +version = "0.34.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "camel-converter", extra = ["pydantic"] }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/11/d2/63b34effea260f2551685cdc38783d36e05a1734c1f14f8bd8dd059fe699/meilisearch-0.34.1.tar.gz", hash = "sha256:99a8d8f548cc1905668ffb2bbf641b5e3ec9231f3413cce4189c5d7b16e52afa", size = 24221, upload-time = "2025-04-04T13:45:07.868Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/3e/a3ec8d44b35e495444cac8ce3573b33adf19a9b6d70f2a51e4a971f17c81/meilisearch-0.34.1-py3-none-any.whl", hash = "sha256:43efa4521ce7dc3b065d404267ad5b3acb825602e6219b8b5356650306686cd4", size = 24918, upload-time = "2025-04-04T13:45:06.869Z" }, +] + +[[package]] +name = "mypy-boto3-cloudformation" +version = "1.38.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/40/d5/35b9301c8b2fb870e58401d13fec36de2c83f2ddef48398b8c89c9a58995/mypy_boto3_cloudformation-1.38.0.tar.gz", hash = "sha256:563399166c07e91e0695fb1e58103a248b2bee0db5e2c3f07155776dd6311805", size = 57702, upload-time = "2025-04-22T21:19:31.221Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/2f/d20ad6e0113f982ea255fcb4ed94f70d0111757d7d03bfacebc2d9f60ba4/mypy_boto3_cloudformation-1.38.0-py3-none-any.whl", hash = "sha256:a1411aa5875b737492aaac5f7e8ce450f034c18f972eb608a9eba6fe35837f6a", size = 69607, upload-time = "2025-04-22T21:19:29.235Z" }, +] + +[[package]] +name = "mypy-boto3-dynamodb" +version = "1.38.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/7f/72b68d275a80a42675c36249b80dd79ec5c7d9bd1f5cc93cdb572f866722/mypy_boto3_dynamodb-1.38.4.tar.gz", hash = "sha256:5cf3787631e312b3d75f89a6cbbbd4ad786a76f5d565af023febf03fbf23c0b5", size = 47461, upload-time = "2025-04-28T19:26:22.728Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/35/3d0ceabb0a9f3765f509cb9dce6ddfa939114682b1acc442f52a755e9bc8/mypy_boto3_dynamodb-1.38.4-py3-none-any.whl", hash = "sha256:6b29d89c649eeb1e894118bee002cb8b1304c78da735b1503aa08e46b0abfdec", size = 56395, upload-time = "2025-04-28T19:26:16.947Z" }, +] + +[[package]] +name = "mypy-boto3-ec2" +version = "1.38.25" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/88/b9a99e010224b2ad9ea45b96f6689d9706841f2788e5ffe114cb0041e543/mypy_boto3_ec2-1.38.25.tar.gz", hash = "sha256:aed7d746c7c6af7e3f75424ad64829a7ce5b94dc871114a449c403ada22954cb", size = 400494, upload-time = "2025-05-28T19:42:21.197Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b4/22/f7caf22d014c7b0b62546a41b49030b73c162702870bfd1b1aaf48e2cc05/mypy_boto3_ec2-1.38.25-py3-none-any.whl", hash = "sha256:bad444d731669eab25fdcb7259901cb0db0fb26a4e1a79836a32aef6d674dbd0", size = 389882, upload-time = "2025-05-28T19:42:17.484Z" }, +] + +[[package]] +name = "mypy-boto3-lambda" +version = "1.38.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8f/e3/0436071b28942788bdd22d6f91847654a7b1d167fb9d86c5779108e49ee9/mypy_boto3_lambda-1.38.0.tar.gz", hash = "sha256:ece7b3848c045e1be81c4f2b7482002c17ce7cb70de850661146103a8cb1a3fb", size = 41767, upload-time = "2025-04-22T21:27:54.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/09/602a39b39abd0d58d8b6bbee4c1552b64fadba2324676d7d45c3fa00fe7b/mypy_boto3_lambda-1.38.0-py3-none-any.whl", hash = "sha256:0dcb882826f61fd2751f6b98330b0e11085570654db85318aea018374ca88dc9", size = 48210, upload-time = "2025-04-22T21:27:52.034Z" }, +] + +[[package]] +name = "mypy-boto3-rds" +version = "1.38.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/97/b7/5ac46bee6617c8f955f6c28b8698a954f537812d84d655e3c887557421f0/mypy_boto3_rds-1.38.20.tar.gz", hash = "sha256:c6aa70c0cc5bc59959fec434206fbf8200386b583ff1f7e372154eaa41eb52e9", size = 85121, upload-time = "2025-05-20T23:30:09.631Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/ff/1a82134124ef41c040a40076c83b111d760f57007ec7b16649891fef0473/mypy_boto3_rds-1.38.20-py3-none-any.whl", hash = "sha256:9f600c24e687780fed1c8dc6d244b17dd0889f34705ec40c66df15e1caa420f4", size = 91368, upload-time = "2025-05-20T23:30:05.508Z" }, +] + +[[package]] +name = "mypy-boto3-s3" +version = "1.38.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/a5/366aec375b77cfe7820b7b3213318b147aefda6f12a035691541a5d557d1/mypy_boto3_s3-1.38.26.tar.gz", hash = "sha256:38a45dee5782d5c07ddea07ea50965c4d2ba7e77617c19f613b4c9f80f961b52", size = 73717, upload-time = "2025-05-29T19:43:03.468Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/fa/251b651c18341c7491909994bd459b12ad05e13059d65bfa65d3afabdf8d/mypy_boto3_s3-1.38.26-py3-none-any.whl", hash = "sha256:1129d64be1aee863e04f0c92ac8d315578f13ccae64fa199b20ad0950d2b9616", size = 80321, upload-time = "2025-05-29T19:42:59.199Z" }, +] + +[[package]] +name = "mypy-boto3-sqs" +version = "1.38.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/a0/ef5c7bdb33af5d0a48029fed11401388fa68949c6c0f9b11b2e845f5fe0e/mypy_boto3_sqs-1.38.0.tar.gz", hash = "sha256:39aebc121a2fe20f962fd83b617fd916003605d6f6851fdf195337a0aa428fe1", size = 23541, upload-time = "2025-04-22T21:35:17.315Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/97/72fccc9aaa0e3c8f3f99b4edac580ede651808aefb47b0d2b52c18a3d16b/mypy_boto3_sqs-1.38.0-py3-none-any.whl", hash = "sha256:8e881c8492f6f51dcbe1cce9d9f05334f4b256b5843e227fa925e0f6e702b31d", size = 33669, upload-time = "2025-04-22T21:35:16.073Z" }, +] + +[[package]] +name = "orjson" +version = "3.10.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" }, + { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" }, + { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" }, + { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" }, + { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" }, + { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" }, + { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "ply" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pycpfcnpj" +version = "1.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/de/3439a4d7838410294f47aa02ae359f16ff81f154ea9b1526b18123d8d47e/pycpfcnpj-1.8.tar.gz", hash = "sha256:c9e95d2790d582aa7a7deb4b87da252364c670bd1d78f69f3d8f8f82479ed969", size = 5127, upload-time = "2024-01-17T00:02:46.406Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/d9/5182d830ac9dc5ab20cfa11bf68520ca79809a67c5288d89178d63682669/pycpfcnpj-1.8-py3-none-any.whl", hash = "sha256:771d2ff00511f70453f2df8a20f529bad8deb8e35315a15ba0350d3b5360ef91", size = 6928, upload-time = "2024-01-17T00:02:45.338Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload-time = "2025-04-29T20:38:55.02Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/12/46b65f3534d099349e38ef6ec98b1a5a81f42536d17e0ba382c28c67ba67/pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb", size = 443900, upload-time = "2025-04-29T20:38:52.724Z" }, +] + +[package.optional-dependencies] +email = [ + { name = "email-validator" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, +] + +[[package]] +name = "pydantic-extra-types" +version = "2.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/33/0cde418479949cd6aa1ac669deffcd1c37d8d9cead99ddb48f344e75f2e3/pydantic_extra_types-2.10.4.tar.gz", hash = "sha256:bf8236a63d061eb3ecb1b2afa78ba0f97e3f67aa11dbbff56ec90491e8772edc", size = 95269, upload-time = "2025-04-28T08:18:34.869Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/ac/bee195ee49256385fad460ce420aeb42703a648dba487c20b6fd107e42ea/pydantic_extra_types-2.10.4-py3-none-any.whl", hash = "sha256:ce064595af3cab05e39ae062752432dcd0362ff80f7e695b61a3493a4d842db7", size = 37276, upload-time = "2025-04-28T08:18:31.617Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload-time = "2025-04-18T16:44:48.265Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" }, +] + +[[package]] +name = "pydyf" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/c2/97fc6ce4ce0045080dc99446def812081b57750ed8aa67bfdfafa4561fe5/pydyf-0.11.0.tar.gz", hash = "sha256:394dddf619cca9d0c55715e3c55ea121a9bf9cbc780cdc1201a2427917b86b64", size = 17769, upload-time = "2024-07-12T12:26:51.95Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/ac/d5db977deaf28c6ecbc61bbca269eb3e8f0b3a1f55c8549e5333e606e005/pydyf-0.11.0-py3-none-any.whl", hash = "sha256:0aaf9e2ebbe786ec7a78ec3fbffa4cdcecde53fd6f563221d53c6bc1328848a3", size = 8104, upload-time = "2024-07-12T12:26:49.896Z" }, +] + +[[package]] +name = "pyphen" +version = "0.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/56/e4d7e1bd70d997713649c5ce530b2d15a5fc2245a74ca820fc2d51d89d4d/pyphen-0.17.2.tar.gz", hash = "sha256:f60647a9c9b30ec6c59910097af82bc5dd2d36576b918e44148d8b07ef3b4aa3", size = 2079470, upload-time = "2025-01-20T13:18:36.296Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/1f/c2142d2edf833a90728e5cdeb10bdbdc094dde8dbac078cee0cf33f5e11b/pyphen-0.17.2-py3-none-any.whl", hash = "sha256:3a07fb017cb2341e1d9ff31b8634efb1ae4dc4b130468c7c39dd3d32e7c3affd", size = 2079358, upload-time = "2025-01-20T13:18:29.629Z" }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857, upload-time = "2025-04-05T14:07:51.592Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload-time = "2025-04-05T14:07:49.641Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, +] + +[[package]] +name = "ruff" +version = "0.11.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/4c/4a3c5a97faaae6b428b336dcca81d03ad04779f8072c267ad2bd860126bf/ruff-0.11.10.tar.gz", hash = "sha256:d522fb204b4959909ecac47da02830daec102eeb100fb50ea9554818d47a5fa6", size = 4165632, upload-time = "2025-05-15T14:08:56.76Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/9f/596c628f8824a2ce4cd12b0f0b4c0629a62dfffc5d0f742c19a1d71be108/ruff-0.11.10-py3-none-linux_armv6l.whl", hash = "sha256:859a7bfa7bc8888abbea31ef8a2b411714e6a80f0d173c2a82f9041ed6b50f58", size = 10316243, upload-time = "2025-05-15T14:08:12.884Z" }, + { url = "https://files.pythonhosted.org/packages/3c/38/c1e0b77ab58b426f8c332c1d1d3432d9fc9a9ea622806e208220cb133c9e/ruff-0.11.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:968220a57e09ea5e4fd48ed1c646419961a0570727c7e069842edd018ee8afed", size = 11083636, upload-time = "2025-05-15T14:08:16.551Z" }, + { url = "https://files.pythonhosted.org/packages/23/41/b75e15961d6047d7fe1b13886e56e8413be8467a4e1be0a07f3b303cd65a/ruff-0.11.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1067245bad978e7aa7b22f67113ecc6eb241dca0d9b696144256c3a879663bca", size = 10441624, upload-time = "2025-05-15T14:08:19.032Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2c/e396b6703f131406db1811ea3d746f29d91b41bbd43ad572fea30da1435d/ruff-0.11.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4854fd09c7aed5b1590e996a81aeff0c9ff51378b084eb5a0b9cd9518e6cff2", size = 10624358, upload-time = "2025-05-15T14:08:21.542Z" }, + { url = "https://files.pythonhosted.org/packages/bd/8c/ee6cca8bdaf0f9a3704796022851a33cd37d1340bceaf4f6e991eb164e2e/ruff-0.11.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b4564e9f99168c0f9195a0fd5fa5928004b33b377137f978055e40008a082c5", size = 10176850, upload-time = "2025-05-15T14:08:23.682Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ce/4e27e131a434321b3b7c66512c3ee7505b446eb1c8a80777c023f7e876e6/ruff-0.11.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b6a9cc5b62c03cc1fea0044ed8576379dbaf751d5503d718c973d5418483641", size = 11759787, upload-time = "2025-05-15T14:08:25.733Z" }, + { url = "https://files.pythonhosted.org/packages/58/de/1e2e77fc72adc7cf5b5123fd04a59ed329651d3eab9825674a9e640b100b/ruff-0.11.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:607ecbb6f03e44c9e0a93aedacb17b4eb4f3563d00e8b474298a201622677947", size = 12430479, upload-time = "2025-05-15T14:08:28.013Z" }, + { url = "https://files.pythonhosted.org/packages/07/ed/af0f2340f33b70d50121628ef175523cc4c37619e98d98748c85764c8d88/ruff-0.11.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b3a522fa389402cd2137df9ddefe848f727250535c70dafa840badffb56b7a4", size = 11919760, upload-time = "2025-05-15T14:08:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/24/09/d7b3d3226d535cb89234390f418d10e00a157b6c4a06dfbe723e9322cb7d/ruff-0.11.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f071b0deed7e9245d5820dac235cbdd4ef99d7b12ff04c330a241ad3534319f", size = 14041747, upload-time = "2025-05-15T14:08:33.297Z" }, + { url = "https://files.pythonhosted.org/packages/62/b3/a63b4e91850e3f47f78795e6630ee9266cb6963de8f0191600289c2bb8f4/ruff-0.11.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a60e3a0a617eafba1f2e4186d827759d65348fa53708ca547e384db28406a0b", size = 11550657, upload-time = "2025-05-15T14:08:35.639Z" }, + { url = "https://files.pythonhosted.org/packages/46/63/a4f95c241d79402ccdbdb1d823d156c89fbb36ebfc4289dce092e6c0aa8f/ruff-0.11.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:da8ec977eaa4b7bf75470fb575bea2cb41a0e07c7ea9d5a0a97d13dbca697bf2", size = 10489671, upload-time = "2025-05-15T14:08:38.437Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9b/c2238bfebf1e473495659c523d50b1685258b6345d5ab0b418ca3f010cd7/ruff-0.11.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ddf8967e08227d1bd95cc0851ef80d2ad9c7c0c5aab1eba31db49cf0a7b99523", size = 10160135, upload-time = "2025-05-15T14:08:41.247Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ef/ba7251dd15206688dbfba7d413c0312e94df3b31b08f5d695580b755a899/ruff-0.11.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5a94acf798a82db188f6f36575d80609072b032105d114b0f98661e1679c9125", size = 11170179, upload-time = "2025-05-15T14:08:43.762Z" }, + { url = "https://files.pythonhosted.org/packages/73/9f/5c336717293203ba275dbfa2ea16e49b29a9fd9a0ea8b6febfc17e133577/ruff-0.11.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3afead355f1d16d95630df28d4ba17fb2cb9c8dfac8d21ced14984121f639bad", size = 11626021, upload-time = "2025-05-15T14:08:46.451Z" }, + { url = "https://files.pythonhosted.org/packages/d9/2b/162fa86d2639076667c9aa59196c020dc6d7023ac8f342416c2f5ec4bda0/ruff-0.11.10-py3-none-win32.whl", hash = "sha256:dc061a98d32a97211af7e7f3fa1d4ca2fcf919fb96c28f39551f35fc55bdbc19", size = 10494958, upload-time = "2025-05-15T14:08:49.601Z" }, + { url = "https://files.pythonhosted.org/packages/24/f3/66643d8f32f50a4b0d09a4832b7d919145ee2b944d43e604fbd7c144d175/ruff-0.11.10-py3-none-win_amd64.whl", hash = "sha256:5cc725fbb4d25b0f185cb42df07ab6b76c4489b4bfb740a175f3a59c70e8a224", size = 11650285, upload-time = "2025-05-15T14:08:52.392Z" }, + { url = "https://files.pythonhosted.org/packages/95/3a/2e8704d19f376c799748ff9cb041225c1d59f3e7711bc5596c8cfdc24925/ruff-0.11.10-py3-none-win_arm64.whl", hash = "sha256:ef69637b35fb8b210743926778d0e45e1bffa850a7c61e428c6b971549b5f5d1", size = 10765278, upload-time = "2025-05-15T14:08:54.56Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/9e/73b14aed38ee1f62cd30ab93cd0072dec7fb01f3033d116875ae3e7b8b44/s3transfer-0.12.0.tar.gz", hash = "sha256:8ac58bc1989a3fdb7c7f3ee0918a66b160d038a147c7b5db1500930a607e9a1c", size = 149178, upload-time = "2025-04-22T21:08:09.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/64/d2b49620039b82688aeebd510bd62ff4cdcdb86cbf650cc72ae42c5254a3/s3transfer-0.12.0-py3-none-any.whl", hash = "sha256:35b314d7d82865756edab59f7baebc6b477189e6ab4c53050e28c1de4d9cce18", size = 84773, upload-time = "2025-04-22T21:08:08.265Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smart-open" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/30/1f41c3d3b8cec82024b4b277bfd4e5b18b765ae7279eb9871fa25c503778/smart_open-7.1.0.tar.gz", hash = "sha256:a4f09f84f0f6d3637c6543aca7b5487438877a21360e7368ccf1f704789752ba", size = 72044, upload-time = "2024-12-17T13:19:17.71Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/18/9a8d9f01957aa1f8bbc5676d54c2e33102d247e146c1a3679d3bd5cc2e3a/smart_open-7.1.0-py3-none-any.whl", hash = "sha256:4b8489bb6058196258bafe901730c7db0dcf4f083f316e97269c66f45502055b", size = 61746, upload-time = "2024-12-17T13:19:21.076Z" }, +] + +[package.optional-dependencies] +s3 = [ + { name = "boto3" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tinyhtml5" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/03/6111ed99e9bf7dfa1c30baeef0e0fb7e0bd387bd07f8e5b270776fe1de3f/tinyhtml5-2.0.0.tar.gz", hash = "sha256:086f998833da24c300c414d9fe81d9b368fd04cb9d2596a008421cbc705fcfcc", size = 179507, upload-time = "2024-10-29T15:37:14.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/de/27c57899297163a4a84104d5cec0af3b1ac5faf62f44667e506373c6b8ce/tinyhtml5-2.0.0-py3-none-any.whl", hash = "sha256:13683277c5b176d070f82d099d977194b7a1e26815b016114f581a74bbfbf47e", size = 39793, upload-time = "2024-10-29T15:37:11.743Z" }, +] + +[[package]] +name = "types-awscrt" +version = "0.27.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/6c/583522cfb3c330e92e726af517a91c13247e555e021791a60f1b03c6ff16/types_awscrt-0.27.2.tar.gz", hash = "sha256:acd04f57119eb15626ab0ba9157fc24672421de56e7bd7b9f61681fedee44e91", size = 16304, upload-time = "2025-05-16T03:10:08.712Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/82/1ee2e5c9d28deac086ab3a6ff07c8bc393ef013a083f546c623699881715/types_awscrt-0.27.2-py3-none-any.whl", hash = "sha256:49a045f25bbd5ad2865f314512afced933aed35ddbafc252e2268efa8a787e4e", size = 37761, upload-time = "2025-05-16T03:10:07.466Z" }, +] + +[[package]] +name = "types-s3transfer" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/42/c1/45038f259d6741c252801044e184fec4dbaeff939a58f6160d7c32bf4975/types_s3transfer-0.13.0.tar.gz", hash = "sha256:203dadcb9865c2f68fb44bc0440e1dc05b79197ba4a641c0976c26c9af75ef52", size = 14175, upload-time = "2025-05-28T02:16:07.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/5d/6bbe4bf6a79fb727945291aef88b5ecbdba857a603f1bbcf1a6be0d3f442/types_s3transfer-0.13.0-py3-none-any.whl", hash = "sha256:79c8375cbf48a64bff7654c02df1ec4b20d74f8c5672fc13e382f593ca5565b3", size = 19588, upload-time = "2025-05-28T02:16:06.709Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload-time = "2025-02-25T17:27:59.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload-time = "2025-02-25T17:27:57.754Z" }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, +] + +[[package]] +name = "user-management" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "layercake" }, +] + +[package.dev-dependencies] +dev = [ + { name = "boto3-stubs", extra = ["essential"] }, + { name = "jsonlines" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [{ name = "layercake", directory = "../layercake" }] + +[package.metadata.requires-dev] +dev = [ + { name = "boto3-stubs", extras = ["essential"], specifier = ">=1.38.26" }, + { name = "jsonlines", specifier = ">=4.0.0" }, + { name = "pytest", specifier = ">=8.3.4" }, + { name = "pytest-cov", specifier = ">=6.0.0" }, + { name = "ruff", specifier = ">=0.9.1" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] + +[[package]] +name = "weasyprint" +version = "65.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "cssselect2" }, + { name = "fonttools", extra = ["woff"] }, + { name = "pillow" }, + { name = "pydyf" }, + { name = "pyphen" }, + { name = "tinycss2" }, + { name = "tinyhtml5" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/76/7f865f0019120be20276813097b5729b8487b93dd4aff339aa77ed8c7ad2/weasyprint-65.1.tar.gz", hash = "sha256:120281bdbd42ffaa7d7e5cedbe3182a2cef36ea5ad97fe9f357e43be6a1e58ea", size = 499028, upload-time = "2025-04-14T12:15:02.654Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/9a/14f4e5fd4bba988d3684602b72f04c0b299c0f368d26c11a79ceab97aa68/weasyprint-65.1-py3-none-any.whl", hash = "sha256:9baa54282dc86929f6b877034d06b0416e2a7cacb1af3f73d80960592fd0af89", size = 298040, upload-time = "2025-04-14T12:15:00.695Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, +] + +[[package]] +name = "zopfli" +version = "0.2.3.post1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/7c/a8f6696e694709e2abcbccd27d05ef761e9b6efae217e11d977471555b62/zopfli-0.2.3.post1.tar.gz", hash = "sha256:96484dc0f48be1c5d7ae9f38ed1ce41e3675fd506b27c11a6607f14b49101e99", size = 175629, upload-time = "2024-10-18T15:42:05.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/24/0e552e2efce9a20625b56e9609d1e33c2966be33fc008681121ec267daec/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecb7572df5372abce8073df078207d9d1749f20b8b136089916a4a0868d56051", size = 295485, upload-time = "2024-10-18T15:41:12.57Z" }, + { url = "https://files.pythonhosted.org/packages/08/83/b2564369fb98797a617fe2796097b1d719a4937234375757ad2a3febc04b/zopfli-0.2.3.post1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1cf720896d2ce998bc8e051d4b4ce0d8bec007aab6243102e8e1d22a0b2fb3f", size = 163000, upload-time = "2024-10-18T15:41:13.743Z" }, + { url = "https://files.pythonhosted.org/packages/3c/55/81d419739c2aab35e19b58bce5498dcb58e6446e5eb69f2d3c748b1c9151/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aad740b4d4fcbaaae4887823925166ffd062db3b248b3f432198fc287381d1a", size = 823699, upload-time = "2024-10-18T15:41:14.874Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/89f07c8ea3c9bc64099b3461627b07a8384302235ee0f357eaa86f98f509/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6617fb10f9e4393b331941861d73afb119cd847e88e4974bdbe8068ceef3f73f", size = 826612, upload-time = "2024-10-18T15:41:16.069Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/46670fc0c7805d42bc89702440fa9b73491d68abbc39e28d687180755178/zopfli-0.2.3.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a53b18797cdef27e019db595d66c4b077325afe2fd62145953275f53d84ce40c", size = 851148, upload-time = "2024-10-18T15:41:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/22/00/71ad39277bbb88f9fd20fb786bd3ff2ea4025c53b31652a0da796fb546cd/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b78008a69300d929ca2efeffec951b64a312e9a811e265ea4a907ab546d79fa6", size = 1754215, upload-time = "2024-10-18T15:41:18.661Z" }, + { url = "https://files.pythonhosted.org/packages/d0/4e/e542c508d20c3dfbef1b90fcf726f824f505e725747f777b0b7b7d1deb95/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa5f90d6298bda02a95bc8dc8c3c19004d5a4e44bda00b67ca7431d857b4b54", size = 1905988, upload-time = "2024-10-18T15:41:19.933Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a5/817ac1ecc888723e91dc172e8c6eeab9f48a1e52285803b965084e11bbd5/zopfli-0.2.3.post1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2768c877f76c8a0e7519b1c86c93757f3c01492ddde55751e9988afb7eff64e1", size = 1835907, upload-time = "2024-10-18T15:41:21.582Z" }, + { url = "https://files.pythonhosted.org/packages/cd/35/2525f90c972d8aafc39784a8c00244eeee8e8221b26cbc576748ee9dc1cd/zopfli-0.2.3.post1-cp313-cp313-win32.whl", hash = "sha256:71390dbd3fbf6ebea9a5d85ffed8c26ee1453ee09248e9b88486e30e0397b775", size = 82742, upload-time = "2024-10-18T15:41:23.362Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c6/49b27570923956d52d37363e8f5df3a31a61bd7719bb8718527a9df3ae5f/zopfli-0.2.3.post1-cp313-cp313-win_amd64.whl", hash = "sha256:a86eb88e06bd87e1fff31dac878965c26b0c26db59ddcf78bb0379a954b120de", size = 99408, upload-time = "2024-10-18T15:41:24.377Z" }, +]