pyegeria 5.4.4.2__py3-none-any.whl → 5.4.4.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- commands/cat/list_format_set.py +6 -2
- md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/index +0 -0
- md_processing/md_commands/data_designer_commands.py +17 -11
- md_processing/md_commands/ext_ref_commands.py +9 -6
- md_processing/md_commands/glossary_commands.py +6 -2
- md_processing/md_commands/governance_officer_commands.py +4 -2
- md_processing/md_commands/product_manager_commands.py +9 -6
- md_processing/md_commands/project_commands.py +5 -2
- pyegeria/__init__.py +1 -1
- pyegeria/_client_new.py +469 -44
- pyegeria/_output_formats.py +1338 -141
- pyegeria/external_references.py +100 -209
- pyegeria/glossary_manager.py +2 -1
- pyegeria/output_formatter.py +4 -0
- pyegeria/utils.py +5 -64
- {pyegeria-5.4.4.2.dist-info → pyegeria-5.4.4.3.dist-info}/METADATA +1 -1
- {pyegeria-5.4.4.2.dist-info → pyegeria-5.4.4.3.dist-info}/RECORD +20 -23
- commands/cat/debug_log.2025-09-10_13-48-37_153090.log.zip +0 -0
- md_processing/dr-egeria-outbox/Business-Imperative-DrE-2025-09-11-21-21-15.md +0 -33
- md_processing/md_commands/old_solution_architect_commands.py +0 -1139
- {pyegeria-5.4.4.2.dist-info → pyegeria-5.4.4.3.dist-info}/LICENSE +0 -0
- {pyegeria-5.4.4.2.dist-info → pyegeria-5.4.4.3.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.4.2.dist-info → pyegeria-5.4.4.3.dist-info}/entry_points.txt +0 -0
pyegeria/utils.py
CHANGED
@@ -57,70 +57,6 @@ def print_guid_list(guids):
|
|
57
57
|
#
|
58
58
|
|
59
59
|
|
60
|
-
def print_response(response):
|
61
|
-
"""
|
62
|
-
|
63
|
-
Args:
|
64
|
-
response:
|
65
|
-
|
66
|
-
Returns:
|
67
|
-
: str
|
68
|
-
"""
|
69
|
-
pretty_response = json.dumps(response.json(), indent=4)
|
70
|
-
print(" ")
|
71
|
-
print("Response: ")
|
72
|
-
print(pretty_response)
|
73
|
-
print(" ")
|
74
|
-
|
75
|
-
|
76
|
-
def print_unexpected_response(server_name, platform_name, platform_url, response):
|
77
|
-
"""
|
78
|
-
|
79
|
-
Args:
|
80
|
-
server_name:
|
81
|
-
platform_name:
|
82
|
-
platform_url:
|
83
|
-
response:
|
84
|
-
"""
|
85
|
-
if response.status_code == 200:
|
86
|
-
related_http_code = response.json().get("related_http_code")
|
87
|
-
if related_http_code == 200:
|
88
|
-
print("Unexpected response from server " + server_name)
|
89
|
-
print_response(response)
|
90
|
-
else:
|
91
|
-
exceptionErrorMessage = response.json().get("exceptionErrorMessage")
|
92
|
-
exceptionSystemAction = response.json().get("exceptionSystemAction")
|
93
|
-
exceptionUserAction = response.json().get("exceptionUserAction")
|
94
|
-
if exceptionErrorMessage is not None:
|
95
|
-
print(exceptionErrorMessage)
|
96
|
-
print(" * " + exceptionSystemAction)
|
97
|
-
print(" * " + exceptionUserAction)
|
98
|
-
else:
|
99
|
-
print("Unexpected response from server " + server_name)
|
100
|
-
print_response(response)
|
101
|
-
else:
|
102
|
-
print(
|
103
|
-
"Unexpected response from server platform "
|
104
|
-
+ platform_name
|
105
|
-
+ " at "
|
106
|
-
+ platform_url
|
107
|
-
)
|
108
|
-
print_response(response)
|
109
|
-
|
110
|
-
|
111
|
-
def get_last_guid(guids):
|
112
|
-
"""
|
113
|
-
|
114
|
-
Args:
|
115
|
-
guids:
|
116
|
-
|
117
|
-
Returns:
|
118
|
-
|
119
|
-
"""
|
120
|
-
if guids is None:
|
121
|
-
return None
|
122
|
-
else:
|
123
|
-
return guids[-1]
|
124
60
|
|
125
61
|
|
126
62
|
def body_slimmer(body: dict) -> dict:
|
@@ -362,5 +298,10 @@ def dynamic_catch(func: T) -> T:
|
|
362
298
|
else:
|
363
299
|
return func # Return the function unwrapped
|
364
300
|
|
301
|
+
def make_format_set_name_from_type(obj_type: str)-> str:
|
302
|
+
formatted_name = obj_type.replace(" ", "-")
|
303
|
+
return f"{formatted_name}-DrE"
|
304
|
+
|
305
|
+
|
365
306
|
if __name__ == "__main__":
|
366
307
|
print("Main-Utils")
|
@@ -3,7 +3,6 @@ commands/__init__.py,sha256=-_1ApX0GIzkVNl1NajyGMIz7fHbwZfN5DVnBQAOiScA,1174
|
|
3
3
|
commands/cat/Dr-Egeria_md-orig.py,sha256=ZX20BvRo0fIFisvy5Z-VJDLVyKbQoud89-CUV2S66tU,7336
|
4
4
|
commands/cat/README.md,sha256=-aaAnIT2fcfU63vajgB-RzQk4l4yFdhkyVfSaTPiqRY,967
|
5
5
|
commands/cat/__init__.py,sha256=l4CImkjEiTQKS7QR-RQwzHIgRpfP032Mn_NZEuIILwg,98
|
6
|
-
commands/cat/debug_log.2025-09-10_13-48-37_153090.log.zip,sha256=Wx_eCPrVj_km3sNYZu6fe4KlMUTkiuGJ3SSWmD4mOyU,13471
|
7
6
|
commands/cat/dr_egeria_command_help.py,sha256=_HOJd1IplnYhoQm1cwsROS9SxVKILLUf9YNlGMvvdF4,15359
|
8
7
|
commands/cat/dr_egeria_jupyter.py,sha256=rfLVV_84Q8Pqcq1flmijKvZ7sEZFy7JAcAP_NAbb46Y,5656
|
9
8
|
commands/cat/dr_egeria_md.py,sha256=zz-XtRW0sfBOG8kA51OFR5uKQ7JULGoOgXeJBXQBqTM,4889
|
@@ -23,7 +22,7 @@ commands/cat/list_deployed_catalogs.py,sha256=VdN6R9kRVWX-fGIgubOigvMVPzhF-hKQep
|
|
23
22
|
commands/cat/list_deployed_database_schemas.py,sha256=1Qicke1R2_7Xi3Qf5sp8KJ3_reAIt0z1iaz2sG8Z0Qs,9458
|
24
23
|
commands/cat/list_deployed_databases.py,sha256=ryrBW1CxJRfOeLP978qQwxb5oImqhIsHghtcpWeBIrw,7587
|
25
24
|
commands/cat/list_deployed_servers.py,sha256=_xR7EaaCsxIjTphxmoCZlARoja_vQqZ881pFiEuhw-8,5719
|
26
|
-
commands/cat/list_format_set.py,sha256=
|
25
|
+
commands/cat/list_format_set.py,sha256=5PFkEO_YmnQ89PAVIJFBSAyHXMBa6zIpcrK6I9Fm6fc,19286
|
27
26
|
commands/cat/list_glossaries.py,sha256=ilac-SpeizOV78-OWgPLY-Xew5RTd4TjRgtdYNFfH_w,7623
|
28
27
|
commands/cat/list_projects.py,sha256=NzWTuepTGUEyxK-eWvuUxtBgCtNWubVwmz2eqm2UN1c,7997
|
29
28
|
commands/cat/list_tech_type_elements.py,sha256=-9omj5en9dSP1xMSljYVHyfXsuhuE1bO2IFj_bZPhAs,6873
|
@@ -232,7 +231,7 @@ md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/hooks/pre-receive.sa
|
|
232
231
|
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/hooks/prepare-commit-msg.sample,sha256=6d3KpBif3dJe2X_Ix4nsp7bKFjkLI5KuMnbwyOGqRhk,1492
|
233
232
|
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/hooks/push-to-checkout.sample,sha256=pT0HQXmLKHxt16-mSu5HPzBeZdP0lGO7nXQI7DsSv18,2783
|
234
233
|
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/hooks/update.sample,sha256=jV8vqD4QPPCLV-qmdSHfkZT0XL28s32lKtWGCXoU0QY,3650
|
235
|
-
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/index,sha256=
|
234
|
+
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/index,sha256=3bDRES8J2OkinHm-kuFJlTKlQujc_6CZFyXt89nCclE,1234
|
236
235
|
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/info/exclude,sha256=ZnH-g7egfIky7okWTR8nk7IxgFjri5jcXAbuClo7DsE,240
|
237
236
|
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/logs/HEAD,sha256=OG2VAYp_x-p2OasX4aK8nbMkys1OSH-8X8nWwGWOPd4,216
|
238
237
|
md_processing/.obsidian/plugins/obsidian-sample-plugin/.git/logs/refs/heads/master,sha256=OG2VAYp_x-p2OasX4aK8nbMkys1OSH-8X8nWwGWOPd4,216
|
@@ -4292,17 +4291,15 @@ md_processing/data/commands-working.json,sha256=uCo_azcuuYqGm7QffJeCGj7PyZuZRGdu
|
|
4292
4291
|
md_processing/data/commands.json,sha256=RIHRggidx9qPwBDVmXagoY0AkVcG-sL0yobl7aiGmHI,1712477
|
4293
4292
|
md_processing/data/generated_format_sets.json,sha256=TXvGK_Gm5ieq9i6u9M1j4CaNPzoV2m0hisKK2fWCtIM,98502
|
4294
4293
|
md_processing/data/generated_format_sets.py,sha256=ZUWlUi5BHdetUQP-Hx8nQqzd3mCEubsJQXjvPmqhY3M,54980
|
4295
|
-
md_processing/dr-egeria-outbox/Business-Imperative-DrE-2025-09-11-21-21-15.md,sha256=2_SfdjR5fJXNTzM4Yx2po7vf5t4VmX2GsUedPaRujrQ,1176
|
4296
4294
|
md_processing/dr_egeria.py,sha256=OlzP8LkXqZ79lxsWOnz8zOpcOdhpLp7m_PDE0fi-YPs,19963
|
4297
4295
|
md_processing/dr_egeria_inbox/glossary_creation_experiment.ipynb,sha256=dbzNu90fCKNohOWVSRBOB1GLyd95x8Qw51I5AkaPtso,11552
|
4298
4296
|
md_processing/md_commands/__init__.py,sha256=ssEojzFlSYtY2bHqqOoKo8PFaANZ_kq_gIbtlXnuc2s,93
|
4299
|
-
md_processing/md_commands/data_designer_commands.py,sha256=
|
4300
|
-
md_processing/md_commands/ext_ref_commands.py,sha256=
|
4301
|
-
md_processing/md_commands/glossary_commands.py,sha256=
|
4302
|
-
md_processing/md_commands/governance_officer_commands.py,sha256=
|
4303
|
-
md_processing/md_commands/
|
4304
|
-
md_processing/md_commands/
|
4305
|
-
md_processing/md_commands/project_commands.py,sha256=s9-n_a0lUU-oAZMYeaW6Nq_Tii9nG4hVIuBuf3q-heI,17762
|
4297
|
+
md_processing/md_commands/data_designer_commands.py,sha256=cT2godlpPS5vbWvpZbzTDlTMjZFPm8ggKTER0U0yb7U,65116
|
4298
|
+
md_processing/md_commands/ext_ref_commands.py,sha256=YPoEm_gitLvJXr7E4-9feLNpnoLnjSamti_lxlIoO5k,24675
|
4299
|
+
md_processing/md_commands/glossary_commands.py,sha256=IOQxXxmyhwPAAZy1jha91qhXQBqzhhxUFDuVj6QkRbA,33970
|
4300
|
+
md_processing/md_commands/governance_officer_commands.py,sha256=IRCh0HOuz8C14WhZh8iooLFuUOHP6FamdzwbE28Os9s,22265
|
4301
|
+
md_processing/md_commands/product_manager_commands.py,sha256=6RCWyxfQcCw_q41bcqFswuP4fOHgm20zePzYggVWFdc,46112
|
4302
|
+
md_processing/md_commands/project_commands.py,sha256=mjBSreHVkGCluChlO_p_5cEQ0CHlG5XJ3Fo6lL9C--w,17882
|
4306
4303
|
md_processing/md_commands/solution_architect_commands.py,sha256=4Ghb8j2wlDdWtHoSCrx5jCJFEJfqII4mnFJ_tqduRKI,52569
|
4307
4304
|
md_processing/md_commands/view_commands.py,sha256=dvRD0Vjv1w9FTfV5W-4EMQBTk2NAUJlIP2jQ411kHS4,11815
|
4308
4305
|
md_processing/md_processing_utils/__init__.py,sha256=LxAmxlcji26ziKV4gGar01d95gL9vgToRIeJW8N-Ifs,80
|
@@ -4322,15 +4319,15 @@ md_processing/md_processing_utils/generate_md_templates.py,sha256=DMnMQ7_LbmQCS8
|
|
4322
4319
|
md_processing/md_processing_utils/md_processing_constants.py,sha256=m-Vq0qPMkyF3riGcHWNid1_uRXPhCto8UdRxBKS3WvE,19458
|
4323
4320
|
md_processing/md_processing_utils/message_constants.py,sha256=UBf18obM83umM6zplR7ychre4xLRbBnTzidHDZ2gNvM,548
|
4324
4321
|
pyegeria/README.md,sha256=PwX5OC7-YSZUCIsoyHh1O-WBM2hE84sm3Bd4O353NOk,1464
|
4325
|
-
pyegeria/__init__.py,sha256=
|
4322
|
+
pyegeria/__init__.py,sha256=XxELwaqinmpSsdHaTd-5TGKRe-3Abi220tjZ6svIhLQ,11842
|
4326
4323
|
pyegeria/_client.py,sha256=hJHn5pD8sbelP_M9dK-M5Z2CYqpRXzXfg1UCgAdQ6dQ,33416
|
4327
|
-
pyegeria/_client_new.py,sha256
|
4324
|
+
pyegeria/_client_new.py,sha256=SZJkA2HJQXBU0-DrFvqtP2yD7kH_GPjy0dRwIGn6PtE,65415
|
4328
4325
|
pyegeria/_deprecated_gov_engine.py,sha256=dWNcwVsE5__dF2u4QiIyQrssozzzOjBbLld8MdpmVCQ,17264
|
4329
4326
|
pyegeria/_exceptions.py,sha256=1SrnV194V4_YJNnNAU0myTHQ3dhLn4GF2B2gZcj1u90,18153
|
4330
4327
|
pyegeria/_exceptions_new.py,sha256=srmrlqoWy7VvOJOhPcYFKW32MCIovgEg5J7PrYDxzQA,19706
|
4331
4328
|
pyegeria/_globals.py,sha256=qSU5hM4uuJZPp-YapEEKxfcdgH9hauc6R7gRkELLroY,1132
|
4332
4329
|
pyegeria/_output_format_models.py,sha256=p9fTYaIa5KyTMIR4-JAbE9g66_gGMPTnUqjIq20Zr1o,14494
|
4333
|
-
pyegeria/_output_formats.py,sha256=
|
4330
|
+
pyegeria/_output_formats.py,sha256=LU36dzdUaNqVzQ6n0SV4tKfODcmmL2mm0-pEurCMPA4,171416
|
4334
4331
|
pyegeria/_validators.py,sha256=pNxND0dN2qvyuGE52N74l1Ezfrh2p9Hao2ziR_t1ENI,7425
|
4335
4332
|
pyegeria/asset_catalog_omvs.py,sha256=P6FceMP0FgakGSOt3ePxpEbsF7nnypzo1aQahjdL_94,29021
|
4336
4333
|
pyegeria/automated_curation_omvs.py,sha256=tzwCyXL0Hx8UjryBBWcPoEuBRajXZpLuwPQ1vuOg2yc,130349
|
@@ -4346,10 +4343,10 @@ pyegeria/egeria_client.py,sha256=bjhdJNwzIC1lapa8a4v2cNLPWN4Nae4HIQYjqeIHr4Y,610
|
|
4346
4343
|
pyegeria/egeria_config_client.py,sha256=YkgndiZ6-CfhwVeBW9ErS7l95SIrd0G9--H8kAfeBJY,2479
|
4347
4344
|
pyegeria/egeria_my_client.py,sha256=3dSBUlrivzih75hodNHe-2BM9pGB8AQVLru-_NbhYNE,3186
|
4348
4345
|
pyegeria/egeria_tech_client.py,sha256=TjuwE9APWQZ4cRsxM0MoVrsikF8e4vkISDt_ra93tY8,4712
|
4349
|
-
pyegeria/external_references.py,sha256=
|
4346
|
+
pyegeria/external_references.py,sha256=DyOmGhG0LWIN4INABCiJRrHxfZ5FWE7TFtc3S_k5iEI,74360
|
4350
4347
|
pyegeria/feedback_manager_omvs.py,sha256=0xBs0p54vmdfVYYgQ8pOanLC4fxfgTk1Z61Y6D1U7_I,152978
|
4351
4348
|
pyegeria/full_omag_server_config.py,sha256=CQqLCy_3DZFvJZEOcGf50HWdFaWpiAIs6z-kKyjvpDA,47464
|
4352
|
-
pyegeria/glossary_manager.py,sha256=
|
4349
|
+
pyegeria/glossary_manager.py,sha256=NIq2YV-uQHuCVmylL52lI7S3YFwiC_8n7kjxIvE1uZ8,110258
|
4353
4350
|
pyegeria/governance_officer.py,sha256=d-hflvrMt-7hH6j47OicoolpU8rf6uzV-IZRgWL485Y,100023
|
4354
4351
|
pyegeria/load_config.py,sha256=XDwPAHB3MvGRuoP8kg1lJJAI4BgMWZ3TYxfxYROgJj4,1188
|
4355
4352
|
pyegeria/load_config_orig.py,sha256=lOM37vdIBcYfLQFTLP5bDuNc7vTFGBNYPfqHtWGNvA4,11624
|
@@ -4361,7 +4358,7 @@ pyegeria/mermaid_utilities.py,sha256=Zcn8JRrqtf62oHoxuvP9tQ5G-BFxOGMNfr7-peuykgY
|
|
4361
4358
|
pyegeria/metadata_explorer_omvs.py,sha256=xHnZTQKbd6XwOhYia-RiIisrvZcqHi0SL1l6OCf04Gk,86911
|
4362
4359
|
pyegeria/models.py,sha256=JX81Wfskn5G4vTXFYl9Ctk-dnr6X2zuto-4gqbuAI9Y,19963
|
4363
4360
|
pyegeria/my_profile_omvs.py,sha256=d0oJYCJG7pS9BINPuGciVa00ac0jwPHNANXDCLginEc,34720
|
4364
|
-
pyegeria/output_formatter.py,sha256=
|
4361
|
+
pyegeria/output_formatter.py,sha256=Fvup9Z-QKsG8JII2lR4kkXwAGhkhcyCVuBkdJd8si4Y,41856
|
4365
4362
|
pyegeria/platform_services.py,sha256=AJNa8n2mKfAMK68q886YCD-p5bpCxIlCxBsRdr0R9O4,41708
|
4366
4363
|
pyegeria/project_manager.py,sha256=0rqR0Y-nVhtvkhXlGcSk4v1t1ImepHW34gGNXFnN7LQ,65843
|
4367
4364
|
pyegeria/registered_info.py,sha256=y0-LgDIQXpph0lEWxIOG3_HsqX_Z2iAIb3xu4Aa4B70,6344
|
@@ -4369,11 +4366,11 @@ pyegeria/runtime_manager_omvs.py,sha256=bVAFJPRnIbTxdzmDHx7XgJBlyh_ZyHiKeUGqFT1O
|
|
4369
4366
|
pyegeria/server_operations.py,sha256=dTqUEmX1B77b0x61OSU0aonsW8KwIpfzb3eioRpwaiI,16832
|
4370
4367
|
pyegeria/solution_architect.py,sha256=hZQOEtenUGfTGYtI7kD0zI_Nf2IBy-RMNoasfp8BgGs,236903
|
4371
4368
|
pyegeria/template_manager_omvs.py,sha256=chBljs1vy5wr9DRAtbvIt4Cob_7HxGfxLkCNlDTM-rQ,42755
|
4372
|
-
pyegeria/utils.py,sha256=
|
4369
|
+
pyegeria/utils.py,sha256=xOTxk9PH8ZGZmgIwz_a6rczTVLADLEjucr10ZJTUnY4,9272
|
4373
4370
|
pyegeria/valid_metadata_omvs.py,sha256=Xq9DqBQvBFFJzaFIRKcVZ2k4gJvSh9yeXs_j-O3vn1w,65050
|
4374
4371
|
pyegeria/x_action_author_omvs.py,sha256=RcqSzahUKCtvb_3u_wyintAlc9WFkC_2v0E12TZs8lQ,6433
|
4375
|
-
pyegeria-5.4.4.
|
4376
|
-
pyegeria-5.4.4.
|
4377
|
-
pyegeria-5.4.4.
|
4378
|
-
pyegeria-5.4.4.
|
4379
|
-
pyegeria-5.4.4.
|
4372
|
+
pyegeria-5.4.4.3.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
4373
|
+
pyegeria-5.4.4.3.dist-info/METADATA,sha256=-8F48a3OjwTXYvU8AepZ6MiZ3SNq2piVYCmu-UFiqoc,6292
|
4374
|
+
pyegeria-5.4.4.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
4375
|
+
pyegeria-5.4.4.3.dist-info/entry_points.txt,sha256=HAS-LHaaBfkaZ19XU9g5mXwn2uj2HK99isdijI-VIDk,6353
|
4376
|
+
pyegeria-5.4.4.3.dist-info/RECORD,,
|
Binary file
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# Business-Imperative-DrE Attributes
|
2
|
-
Auto-generated format for Business Imperative (Create).
|
3
|
-
|
4
|
-
# Business-Imperative-DrE Report - created at 2025-09-11 21:21
|
5
|
-
Business-Imperative-DrE found from the search string: `All`
|
6
|
-
|
7
|
-
<a id="d85814c3-dac7-4915-bdcf-751ef037d83e"></a>
|
8
|
-
# Business-Imperative-DrE Name: Sustainability Reporting Imperative
|
9
|
-
|
10
|
-
## Display Name
|
11
|
-
Sustainability Reporting Imperative
|
12
|
-
|
13
|
-
## Summary
|
14
|
-
Comply with Legal and Expected Sustainability Norms and Regulations
|
15
|
-
|
16
|
-
## Description
|
17
|
-
As an international company, Coco Pharmaceuticals must comply with local regulatory requirements as well as meeting the expectations of our customers and shareholders. Sustainability reporting and improvements are important across stakeholders. We must therefore have and communicate an explicit and robust sustainability strategy with demonstrated outcomes.
|
18
|
-
|
19
|
-
## Scope
|
20
|
-
Enterprise
|
21
|
-
|
22
|
-
## Importance
|
23
|
-
Very important, with several implications.
|
24
|
-
|
25
|
-
## Outcomes
|
26
|
-
1. Ability to operate in each location.2. Market position3. Satisfied shareholders4. Happier and engaged employees
|
27
|
-
|
28
|
-
## Qualified Name
|
29
|
-
BusinessImperative::Sustainability Reporting Imperative
|
30
|
-
|
31
|
-
## GUID
|
32
|
-
d85814c3-dac7-4915-bdcf-751ef037d83e
|
33
|
-
|