243 lines
22 KiB
JSON
243 lines
22 KiB
JSON
{
|
|
"version": 4,
|
|
"terraform_version": "1.9.2",
|
|
"serial": 33,
|
|
"lineage": "a36de74c-83f8-01fe-0504-92c54a21d49e",
|
|
"outputs": {},
|
|
"resources": [
|
|
{
|
|
"mode": "managed",
|
|
"type": "local_file",
|
|
"name": "nginx",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/local\"]",
|
|
"instances": [
|
|
{
|
|
"index_key": "bitwarden",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for bitwarden\n############################################\n\nupstream bitwarden_backend {\n server nginx.bitwarden.svc:8080;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name bitwarden.tryton.geeraert.eu www.bitwarden.tryton.geeraert.eu;\n location / {\n proxy_pass http://bitwarden_backend;\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n\n\n \n http2 on;\n ssl_protocols TLSv1.2;\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.bitwarden.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = bitwarden.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.bitwarden.tryton.geeraert.eu bitwarden.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "YTpqmEfgRp8OS3TZMNy7SLoTCt3UYNTchR3OITgkjm8=",
|
|
"content_base64sha512": "OvZDSCJ9qtm67k7gQt+uTV/NDVtneL3vunKndKspzAk/wPJxqmthkzrv/HQ5l5ptm17YmqGOdkTK6bgkLW+y3w==",
|
|
"content_md5": "befd5d886b1d10376671904baac6be2e",
|
|
"content_sha1": "5c35d44470c4be38a4513c4211f40cd6e76d5705",
|
|
"content_sha256": "613a6a9847e0469f0e4b74d930dcbb48ba130addd460d4dc851dce2138248e6f",
|
|
"content_sha512": "3af64348227daad9baee4ee042dfae4d5fcd0d5b6778bdefba72a774ab29cc093fc0f271aa6b61933aeffc7439979a6d9b5ed89aa18e7644cae9b8242d6fb2df",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/bitwarden.tryton.geeraert.eu.conf",
|
|
"id": "5c35d44470c4be38a4513c4211f40cd6e76d5705",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "bookstack",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for bookstack\n############################################\n\nupstream bookstack_backend {\n server webserver.bookstack.svc;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name bookstack.tryton.geeraert.eu www.bookstack.tryton.geeraert.eu;\n location / {\n proxy_pass http://bookstack_backend;\n \n location ~* \\.(html|css|jpg|gif|ico|js)$ {\n\t proxy_cache cache;\n\t proxy_cache_key $host$uri$is_args$args;\n\t proxy_cache_valid 200 301 302 30m;\n\t expires 30m;\n\t proxy_pass http://bookstack_backend;\n\t\t}\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n\n\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.bookstack.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = bookstack.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.bookstack.tryton.geeraert.eu bookstack.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "OXSKkaAcbeozovKy/9nhsyLxfunVe6p3OZz0y+XnFv4=",
|
|
"content_base64sha512": "YGVEVKPjCgEqt8hA1k7BX9EyCdYzwtSrQ3v9/Pit63CYm1ip3ChlcOTVwFEg4vl+K+A2sYyAfgOQhglJLDWGCg==",
|
|
"content_md5": "f66b1e1c42e4f61b264079cb06117713",
|
|
"content_sha1": "d6b587bfdd8fd65d1c167c554274964a73c97308",
|
|
"content_sha256": "39748a91a01c6dea33a2f2b2ffd9e1b322f17ee9d57baa77399cf4cbe5e716fe",
|
|
"content_sha512": "60654454a3e30a012ab7c840d64ec15fd13209d633c2d4ab437bfdfcf8adeb70989b58a9dc286570e4d5c05120e2f97e2be036b18c807e03908609492c35860a",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/bookstack.tryton.geeraert.eu.conf",
|
|
"id": "d6b587bfdd8fd65d1c167c554274964a73c97308",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "django",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for django\n############################################\n\nupstream django_backend {\n server webserver.django-python.svc:8000;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name django.tryton.geeraert.eu www.django.tryton.geeraert.eu;\n location / {\n proxy_pass http://django_backend;\n \n location ~* \\.(html|css|jpg|gif|ico|js)$ {\n\t proxy_cache cache;\n\t proxy_cache_key $host$uri$is_args$args;\n\t proxy_cache_valid 200 301 302 30m;\n\t expires 30m;\n\t proxy_pass http://django_backend;\n\t\t}\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n\n\n \n http2 on;\n ssl_protocols TLSv1.2;\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.django.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = django.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.django.tryton.geeraert.eu django.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "JgtzbX0/Lbqprbplt5uLgJIxYOT6UujNXJVeucEvd6k=",
|
|
"content_base64sha512": "5CfWA5fW94lfWqGLG6B+PiLi86eSd6qDyCe0oD4T7MfAhgbpTqpLAEuEUm3r8zMUjka/qGKukekKrsjDFadIxw==",
|
|
"content_md5": "0adb199fdbe99b316319c99adfa5e161",
|
|
"content_sha1": "10fb8bff769effeb34701187825fff1636b1b3b3",
|
|
"content_sha256": "260b736d7d3f2dbaa9adba65b79b8b80923160e4fa52e8cd5c955eb9c12f77a9",
|
|
"content_sha512": "e427d60397d6f7895f5aa18b1ba07e3e22e2f3a79277aa83c827b4a03e13ecc7c08606e94eaa4b004b84526debf333148e46bfa862ae91e90aaec8c315a748c7",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/django.tryton.geeraert.eu.conf",
|
|
"id": "10fb8bff769effeb34701187825fff1636b1b3b3",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "echo",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for echo\n############################################\n\nupstream echo_backend {\n server echo-server.echo-server.svc:80;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name echo.tryton.geeraert.eu www.echo.tryton.geeraert.eu;\n location / {\n proxy_pass http://echo_backend;\n \n location ~* \\.(html|css|jpg|gif|ico|js)$ {\n\t proxy_cache cache;\n\t proxy_cache_key $host$uri$is_args$args;\n\t proxy_cache_valid 200 301 302 30m;\n\t expires 30m;\n\t proxy_pass http://echo_backend;\n\t\t}\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n\n\n \n http2 on;\n ssl_protocols TLSv1.2;\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.echo.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = echo.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.echo.tryton.geeraert.eu echo.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "2JB/AZrF5sgi2qN2GV/An7UaQ43+BkANXGsqWoXDnvM=",
|
|
"content_base64sha512": "y4xsUka1eLho4KEjbII9KEGpc5sWwm6FoWU1SKXL02HbuJDW6p2WDQwVyaXHm0Oo7Bo1zG25Clf0NO+Xyehn2Q==",
|
|
"content_md5": "d5282cd5b3b1751d3e5d7e177852479c",
|
|
"content_sha1": "7735c984b3094199e43e74f357351ca36603c4ce",
|
|
"content_sha256": "d8907f019ac5e6c822daa376195fc09fb51a438dfe06400d5c6b2a5a85c39ef3",
|
|
"content_sha512": "cb8c6c5246b578b868e0a1236c823d2841a9739b16c26e85a1653548a5cbd361dbb890d6ea9d960d0c15c9a5c79b43a8ec1a35cc6db90a57f434ef97c9e867d9",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/echo.tryton.geeraert.eu.conf",
|
|
"id": "7735c984b3094199e43e74f357351ca36603c4ce",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "gitlab",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for gitlab\n############################################\n\nupstream gitlab_backend {\n server webserver.gitlab.svc:443;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name gitlab.tryton.geeraert.eu www.gitlab.tryton.geeraert.eu;\n location / {\n proxy_pass http://gitlab_backend;\n \n location ~* \\.(html|css|jpg|gif|ico|js)$ {\n\t proxy_cache cache;\n\t proxy_cache_key $host$uri$is_args$args;\n\t proxy_cache_valid 200 301 302 30m;\n\t expires 30m;\n\t proxy_pass http://gitlab_backend;\n\t\t}\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n client_max_body_size 20m;\n proxy_request_buffering off;\n\n\n \n\n\n \n http2 on;\n ssl_protocols TLSv1.2;\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.gitlab.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = gitlab.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.gitlab.tryton.geeraert.eu gitlab.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "O4CcdoDvlGq11cnnlPTRC8TIuhEfn6gLuHy/T292DXg=",
|
|
"content_base64sha512": "gNKOmGlLYfQYkZ9dSvZw7uAvD5bJcrZ3lIXETfOycg1bfkLZtP46EzPOoClCXHCwgqLcioThKj7AKAJwBMAUQA==",
|
|
"content_md5": "4a178aabb7b684430fbdd33b5b557a01",
|
|
"content_sha1": "5a67da7030bf7d54c3667b56f81b587a232c7e5d",
|
|
"content_sha256": "3b809c7680ef946ab5d5c9e794f4d10bc4c8ba111f9fa80bb87cbf4f6f760d78",
|
|
"content_sha512": "80d28e98694b61f418919f5d4af670eee02f0f96c972b6779485c44df3b2720d5b7e42d9b4fe3a1333cea029425c70b082a2dc8a84e12a3ec028027004c01440",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/gitlab.tryton.geeraert.eu.conf",
|
|
"id": "5a67da7030bf7d54c3667b56f81b587a232c7e5d",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "keycloak",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for keycloak\n############################################\n\nupstream keycloak_backend {\n server keycloak.keycloak.svc:8080;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name keycloak.tryton.geeraert.eu www.keycloak.tryton.geeraert.eu;\n location / {\n proxy_pass http://keycloak_backend;\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n \n set_real_ip_from 0.0.0.0/0;\n real_ip_header X-Real-IP;\n real_ip_recursive on;\n\n \n\n\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.keycloak.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = keycloak.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.keycloak.tryton.geeraert.eu keycloak.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "vMjUSlJ4sOt9OjvUk9swHCnclYlT5JkBDFI7uxKFksg=",
|
|
"content_base64sha512": "7ej/8qY1Iib7KUN7Y7ccRzX0DdqZgf5PzTqk7eaAjIx7jjJ6GkohETcoPEeoqccHyhsYeusBpckrWn7HaoT4TQ==",
|
|
"content_md5": "9e976349fe8b513ccab4a37263fff3b2",
|
|
"content_sha1": "d63c4468f16a1a854e04bc24fab60d08e61988de",
|
|
"content_sha256": "bcc8d44a5278b0eb7d3a3bd493db301c29dc958953e499010c523bbb128592c8",
|
|
"content_sha512": "ede8fff2a6352226fb29437b63b71c4735f40dda9981fe4fcd3aa4ede6808c8c7b8e327a1a4a211137283c47a8a9c707ca1b187aeb01a5c92b5a7ec76a84f84d",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/keycloak.tryton.geeraert.eu.conf",
|
|
"id": "d63c4468f16a1a854e04bc24fab60d08e61988de",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "nextcloud",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for nextcloud\n############################################\n\nupstream nextcloud_backend {\n server webserver.nextcloud.svc;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name nextcloud.tryton.geeraert.eu www.nextcloud.tryton.geeraert.eu;\n location / {\n proxy_pass http://nextcloud_backend;\n \n location ~* \\.(html|css|jpg|gif|ico|js)$ {\n\t proxy_cache cache;\n\t proxy_cache_key $host$uri$is_args$args;\n\t proxy_cache_valid 200 301 302 30m;\n\t expires 30m;\n\t proxy_pass http://nextcloud_backend;\n\t\t}\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n \n\n location /.well-known/carddav {\n return 301 $scheme://$host/remote.php/dav;\n }\n\n location /.well-known/caldav {\n return 301 $scheme://$host/remote.php/dav;\n }\n\n location = /health {\n default_type text/html;\n return 200 \"\u003c!DOCTYPE html\u003e\u003ch2\u003ehealth check\u003c/h2\u003e\\n\";\n }\n\n \n\n\n \n http2 on;\n ssl_protocols TLSv1.2;\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.nextcloud.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = nextcloud.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.nextcloud.tryton.geeraert.eu nextcloud.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "bYH6+PkvYOS+Dv+d3rimq14gkFybnmQd2GqdJCbU5Zc=",
|
|
"content_base64sha512": "PjQFc3QIJZSpxIkJjjPJBYPx9I2qT1VAdhZYFYhuq6rXMBFBgLLIRlynp9bPR0JU564H4sT9Gdfa0K6IhOYCbg==",
|
|
"content_md5": "9dceef0d6bbbd36c41c200fe5afefd1e",
|
|
"content_sha1": "e136bd3d9fc0b1208ac49d15eb56887d55c51a10",
|
|
"content_sha256": "6d81faf8f92f60e4be0eff9ddeb8a6ab5e20905c9b9e641dd86a9d2426d4e597",
|
|
"content_sha512": "3e34057374082594a9c489098e33c90583f1f48daa4f554076165815886eabaad730114180b2c8465ca7a7d6cf474254e7ae07e2c4fd19d7dad0ae8884e6026e",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/nextcloud.tryton.geeraert.eu.conf",
|
|
"id": "e136bd3d9fc0b1208ac49d15eb56887d55c51a10",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"index_key": "sonarr",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"content": "############################################\n# config file for sonarr\n############################################\n\nupstream sonarr_backend {\n server sonarr.servarr.svc;\n server 1.1.1.1 backup;\n }\n\nserver {\n server_name sonarr.tryton.geeraert.eu www.sonarr.tryton.geeraert.eu;\n location / {\n proxy_pass http://sonarr_backend;\n \n }\n location /.well-known/acme-challenge/ {\n root /var/www/certbot;\n }\n\n \n\n\n \n\n listen 443 ssl;\n ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem;\n ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem;\n\n}\nserver {\n if ($host = www.sonarr.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n\n if ($host = sonarr.tryton.geeraert.eu) {\n return 301 https://$host$request_uri;\n }\n\n server_name www.sonarr.tryton.geeraert.eu sonarr.tryton.geeraert.eu;\n listen 80;\n return 404;\n\n}\n",
|
|
"content_base64": null,
|
|
"content_base64sha256": "A6ElmqlK5iz/RYdJ/AUwPhjtSrw+V2TMi7gS4fCLPTI=",
|
|
"content_base64sha512": "vdB+UAwb4ZQEWHJp0QFo8RHjdAmrxrhyDhZMlLbanI7WHZwpwNbkkqSD6k0lzjBeviWdwQ8kJ508nNjt1vSXig==",
|
|
"content_md5": "5626714858f4af5f2cba1d314804b819",
|
|
"content_sha1": "bb789b145b467d0b4f6a2bc0e3ddc3c2ac048946",
|
|
"content_sha256": "03a1259aa94ae62cff458749fc05303e18ed4abc3e5764cc8bb812e1f08b3d32",
|
|
"content_sha512": "bdd07e500c1be19404587269d10168f111e37409abc6b8720e164c94b6da9c8ed61d9c29c0d6e492a483ea4d25ce305ebe259dc10f24279d3c9cd8edd6f4978a",
|
|
"directory_permission": "0777",
|
|
"file_permission": "0777",
|
|
"filename": "../conf.d/sonarr.tryton.geeraert.eu.conf",
|
|
"id": "bb789b145b467d0b4f6a2bc0e3ddc3c2ac048946",
|
|
"sensitive_content": null,
|
|
"source": null
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "sensitive_content"
|
|
}
|
|
]
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"check_results": null
|
|
}
|