This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new f01b65f  Fix the API documentation by using local assets
f01b65f is described below

commit f01b65f5b638e0d9f46176df5b5c260f6cda3c85
Author: Sean B. Palmer <[email protected]>
AuthorDate: Sun Jan 4 14:52:09 2026 +0000

    Fix the API documentation by using local assets
---
 .pre-commit-config.yaml                    |   3 +-
 .stylelintignore                           |   4 +
 NOTICE                                     |   4 +
 atr/server.py                              |  34 ++++-
 atr/static/css/swagger-ui.min.css          | 231 +++++++++++++++++++++++++++++
 atr/static/js/min/swagger-ui-bundle.min.js |   3 +
 atr/static/js/src/swagger-init.js          |  34 +++++
 7 files changed, 309 insertions(+), 4 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f60537a..346d982 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -89,9 +89,8 @@ repos:
     - id: stylelint
       additional_dependencies: ['[email protected]', 
'[email protected]']
       files: "atr/static/css/.*\\.css$"
-      exclude: 
"atr/static/css/bootstrap\\..*\\.css$|atr/static/css/bootstrap\\-.*\\.css$|atr/static/css/normalize\\.css$|atr/static/css/mermaid\\.min\\.css$"
       types_or: ['css']
-      args: ['--fix']
+      args: ['--fix', '--allow-empty-input']
 - repo: https://github.com/woodruffw/zizmor-pre-commit
   rev: v1.19.0
   hooks:
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 0000000..1e1b2e8
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,4 @@
+atr/static/css/bootstrap.custom.css
+atr/static/css/bootstrap-icons.min.css
+atr/static/css/normalize.css
+atr/static/css/swagger-ui.min.css
diff --git a/NOTICE b/NOTICE
index 8ddc272..fa5e2ff 100644
--- a/NOTICE
+++ b/NOTICE
@@ -8,3 +8,7 @@ The Apache Software Foundation (/).
 This code is provided for evaluation, demonstration, and
 community feedback purposes only, and is not part of any
 officially supported or maintained ASF project.
+
+This product includes Swagger UI:
+  swagger-ui
+  Copyright 2020-2021 SmartBear Software Inc.
diff --git a/atr/server.py b/atr/server.py
index 25b9e1e..120e302 100644
--- a/atr/server.py
+++ b/atr/server.py
@@ -24,7 +24,7 @@ import os
 import queue
 import urllib.parse
 from collections.abc import Iterable
-from typing import Any
+from typing import Any, Final
 
 import asfquart
 import asfquart.base as base
@@ -58,6 +58,21 @@ import atr.util as util
 # We should probably find a cleaner way to do this
 app: base.QuartApp | None = None
 
+_SWAGGER_UI_TEMPLATE: Final[str] = """<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <link type="text/css" rel="stylesheet" href="{{ swagger_css_url }}">
+  <title>{{ title }}</title>
+</head>
+<body>
+  <div id="swagger-ui" data-openapi-url="{{ openapi_url }}"></div>
+  <script src="{{ swagger_js_url }}"></script>
+  <script src="{{ swagger_init_url }}"></script>
+</body>
+</html>
+"""
+
 # Avoid OIDC
 asfquart.generics.OAUTH_URL_INIT = 
"https://oauth.apache.org/auth?state=%s&redirect_uri=%s";
 asfquart.generics.OAUTH_URL_CALLBACK = "https://oauth.apache.org/token?code=%s";
@@ -111,6 +126,9 @@ def _app_setup_api_docs(app: base.QuartApp) -> None:
 
     import atr.metadata as metadata
 
+    app.config["QUART_SCHEMA_SWAGGER_JS_URL"] = 
"/static/js/min/swagger-ui-bundle.min.js"
+    app.config["QUART_SCHEMA_SWAGGER_CSS_URL"] = 
"/static/css/swagger-ui.min.css"
+
     quart_schema.QuartSchema(
         app,
         info=quart_schema.Info(
@@ -119,7 +137,7 @@ def _app_setup_api_docs(app: base.QuartApp) -> None:
             version=metadata.version,
         ),
         openapi_provider_class=ApiOnlyOpenAPIProvider,
-        swagger_ui_path="/api/docs",
+        swagger_ui_path=None,
         openapi_path="/api/openapi.json",
         security_schemes={
             "BearerAuth": quart_schema.HttpSecurityScheme(
@@ -129,6 +147,18 @@ def _app_setup_api_docs(app: base.QuartApp) -> None:
         },
     )
 
+    @app.route("/api/docs")
+    @quart_schema.hide
+    async def swagger_ui() -> str:
+        return await quart.render_template_string(
+            _SWAGGER_UI_TEMPLATE,
+            title="ATR API",
+            swagger_js_url=app.config["QUART_SCHEMA_SWAGGER_JS_URL"],
+            swagger_css_url=app.config["QUART_SCHEMA_SWAGGER_CSS_URL"],
+            swagger_init_url="/static/js/src/swagger-init.js",
+            openapi_url=quart.url_for("openapi"),
+        )
+
 
 def _app_setup_context(app: base.QuartApp) -> None:
     """Setup application context processor."""
diff --git a/atr/static/css/swagger-ui.min.css 
b/atr/static/css/swagger-ui.min.css
new file mode 100644
index 0000000..a9691ee
--- /dev/null
+++ b/atr/static/css/swagger-ui.min.css
@@ -0,0 +1,231 @@
+.swagger-ui{color:#3b4151;font-family:sans-serif/*! normalize.css v7.0.0 | MIT 
License | github.com/necolas/normalize.css */}.swagger-ui 
html{text-size-adjust:100%;line-height:1.15}.swagger-ui 
body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui 
footer,.swagger-ui header,.swagger-ui nav,.swagger-ui 
section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui 
figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui 
figure{margin:1em 40px}.swagge [...]
+
+@media screen and (width >=30em){.swagger-ui 
.aspect-ratio-ns{height:0;position:relative}.swagger-ui 
.aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui 
.aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui 
.aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui 
.aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui 
.aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui 
.aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui 
.aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .a [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.aspect-ratio-m{height:0;position:relative}.swagger-ui 
.aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui 
.aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui 
.aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui 
.aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui 
.aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui 
.aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui 
.aspect-ratio--8x5-m{padding-bottom:62.5%}.swa [...]
+
+@media screen and (width >=60em){.swagger-ui 
.aspect-ratio-l{height:0;position:relative}.swagger-ui 
.aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui 
.aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui 
.aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui 
.aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui 
.aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui 
.aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui 
.aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ra [...]
+
+@media screen and (width >=30em){.swagger-ui 
.cover-ns{background-size:cover!important}.swagger-ui 
.contain-ns{background-size:contain!important}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.cover-m{background-size:cover!important}.swagger-ui 
.contain-m{background-size:contain!important}}
+
+@media screen and (width >=60em){.swagger-ui 
.cover-l{background-size:cover!important}.swagger-ui 
.contain-l{background-size:contain!important}}.swagger-ui 
.bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui 
.bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui 
.bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui 
.bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui 
.bg-left{background-position:0;backg [...]
+
+@media screen and (width >=30em){.swagger-ui 
.bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui 
.bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui 
.bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui 
.bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui
 .bg-left-ns{background-position:0;background-repeat:no-repeat}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui 
.bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui 
.bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui 
.bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui 
.bg-left-m{background-position:0;background-repeat:no-repeat}}
+
+@media screen and (width >=60em){.swagger-ui 
.bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui 
.bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui 
.bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui 
.bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui 
.bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui 
.outline{outline:1px solid}.swagger-ui .outline-transparent{outli [...]
+
+@media screen and (width >=30em){.swagger-ui .outline-ns{outline:1px 
solid}.swagger-ui .outline-transparent-ns{outline:1px solid 
transparent}.swagger-ui .outline-0-ns{outline:0}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px 
solid transparent}.swagger-ui .outline-0-m{outline:0}}
+
+@media screen and (width >=60em){.swagger-ui .outline-l{outline:1px 
solid}.swagger-ui .outline-transparent-l{outline:1px solid 
transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui 
.ba{border-style:solid;border-width:1px}.swagger-ui 
.bt{border-top-style:solid;border-top-width:1px}.swagger-ui 
.br{border-right-style:solid;border-right-width:1px}.swagger-ui 
.bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui 
.bl{border-left-style:solid;border-left-width:1px}.swagger-ui . [...]
+
+@media screen and (width >=30em){.swagger-ui 
.ba-ns{border-style:solid;border-width:1px}.swagger-ui 
.bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui 
.br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui 
.bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui 
.bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui 
.bn-ns{border-style:none;border-width:0}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.ba-m{border-style:solid;border-width:1px}.swagger-ui 
.bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui 
.br-m{border-right-style:solid;border-right-width:1px}.swagger-ui 
.bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui 
.bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui 
.bn-m{border-style:none;border-width:0}}
+
+@media screen and (width >=60em){.swagger-ui 
.ba-l{border-style:solid;border-width:1px}.swagger-ui 
.bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui 
.br-l{border-right-style:solid;border-right-width:1px}.swagger-ui 
.bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui 
.bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui 
.bn-l{border-style:none;border-width:0}}.swagger-ui 
.b--black{border-color:#000000}.swagger-ui 
.b--near-black{border-color:#111111}.s [...]
+
+@media screen and (width >=30em){.swagger-ui 
.br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui 
.br2-ns{border-radius:.25rem}.swagger-ui 
.br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui 
.br-100-ns{border-radius:100%}.swagger-ui 
.br-pill-ns{border-radius:9999px}.swagger-ui 
.br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui 
.br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui
 .br [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui 
.br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui 
.br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui 
.br-pill-m{border-radius:9999px}.swagger-ui 
.br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui 
.br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagg [...]
+
+@media screen and (width >=60em){.swagger-ui 
.br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui 
.br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui 
.br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui 
.br-pill-l{border-radius:9999px}.swagger-ui 
.br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui 
.br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui 
.br--right-l [...]
+
+@media screen and (width >=30em){.swagger-ui 
.b--dotted-ns{border-style:dotted}.swagger-ui 
.b--dashed-ns{border-style:dashed}.swagger-ui 
.b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.b--dotted-m{border-style:dotted}.swagger-ui 
.b--dashed-m{border-style:dashed}.swagger-ui 
.b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}
+
+@media screen and (width >=60em){.swagger-ui 
.b--dotted-l{border-style:dotted}.swagger-ui 
.b--dashed-l{border-style:dashed}.swagger-ui 
.b--solid-l{border-style:solid}.swagger-ui 
.b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui 
.bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui 
.bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui 
.bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui 
.br-0{border-right-wid [...]
+
+@media screen and (width >=30em){.swagger-ui 
.bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui 
.bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui 
.bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui 
.bt-0-ns{border-top-width:0}.swagger-ui 
.br-0-ns{border-right-width:0}.swagger-ui 
.bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui 
.bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui 
.bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui 
.bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui 
.bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}
+
+@media screen and (width >=60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui 
.bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui 
.bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui 
.bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui 
.br-0-l{border-right-width:0}.swagger-ui 
.bb-0-l{border-bottom-width:0}.swagger-ui 
.bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px rgb(0 
0 0 / 20%)}.swagger- [...]
+
+@media screen and (width >=30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 
2px rgb(0 0 0 / 20%)}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px rgb(0 0 0 
/ 20%)}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px rgb(0 0 0 / 
20%)}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 rgb(0 0 0 / 
20%)}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 rgb(0 0 0 / 20%)}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.shadow-1-m{box-shadow:0 0 4px 2px rgb(0 0 0 / 20%)}.swagger-ui 
.shadow-2-m{box-shadow:0 0 8px 2px rgb(0 0 0 / 20%)}.swagger-ui 
.shadow-3-m{box-shadow:2px 2px 4px 2px rgb(0 0 0 / 20%)}.swagger-ui 
.shadow-4-m{box-shadow:2px 2px 8px 0 rgb(0 0 0 / 20%)}.swagger-ui 
.shadow-5-m{box-shadow:4px 4px 8px 0 rgb(0 0 0 / 20%)}}
+
+@media screen and (width >=60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 
2px rgb(0 0 0 / 20%)}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px rgb(0 0 0 / 
20%)}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px rgb(0 0 0 / 
20%)}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 rgb(0 0 0 / 
20%)}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 rgb(0 0 0 / 
20%)}}.swagger-ui .pre{overflow:auto hidden;overflow:scroll}.swagger-ui 
.top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{ [...]
+
+@media screen and (width >=30em){.swagger-ui .top-0-ns{top:0}.swagger-ui 
.left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui 
.bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui 
.left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui 
.bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui 
.left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui 
.bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui 
.right--1-ns{right [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui 
.right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui 
.top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui 
.right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui 
.top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui 
.right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui 
.top--1-m{top:-1rem}.swagger-ui .right--1-m{r [...]
+
+@media screen and (width >=60em){.swagger-ui .top-0-l{top:0}.swagger-ui 
.left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui 
.bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui 
.left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui 
.bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui 
.left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui 
.bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui 
.right--1-l{right:-1rem}.swagge [...]
+
+@media screen and (width >=30em){.swagger-ui .cl-ns{clear:left}.swagger-ui 
.cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui 
.cb-m{clear:both}.swagger-ui .cn-m{clear:none}}
+
+@media screen and (width >=60em){.swagger-ui .cl-l{clear:left}.swagger-ui 
.cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui 
.cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui 
.inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 
auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui 
.flex-column{flex-direction:column}.swagger-ui 
.flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui 
.flex-nowrap{flex-wrap:nowrap}.s [...]
+
+@media screen and (width >=30em){.swagger-ui .flex-ns{display:flex}.swagger-ui 
.inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 
auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui 
.flex-column-ns{flex-direction:column}.swagger-ui 
.flex-row-ns{flex-direction:row}.swagger-ui 
.flex-wrap-ns{flex-wrap:wrap}.swagger-ui 
.flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui 
.flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui 
.flex-column-reverse-ns{fle [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui 
.flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui 
.flex-none-m{flex:none}.swagger-ui 
.flex-column-m{flex-direction:column}.swagger-ui 
.flex-row-m{flex-direction:row}.swagger-ui 
.flex-wrap-m{flex-wrap:wrap}.swagger-ui 
.flex-nowrap-m{flex-wrap:nowrap}.swagger-ui 
.flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-rever [...]
+
+@media screen and (width >=60em){.swagger-ui .flex-l{display:flex}.swagger-ui 
.inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 
auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui 
.flex-column-l{flex-direction:column}.swagger-ui 
.flex-row-l{flex-direction:row}.swagger-ui 
.flex-wrap-l{flex-wrap:wrap}.swagger-ui 
.flex-nowrap-l{flex-wrap:nowrap}.swagger-ui 
.flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui 
.flex-column-reverse-l{flex-directio [...]
+
+@media screen and (width >=30em){.swagger-ui .dn-ns{display:none}.swagger-ui 
.di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui 
.dib-ns{display:inline-block}.swagger-ui 
.dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui 
.dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui 
.dt-row-group-ns{display:table-row-group}.swagger-ui 
.dt-column-ns{display:table-column}.swagger-ui 
.dt-column-group-ns{display:table-column-group}.swagg [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui 
.db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui 
.dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui 
.dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui 
.dt-row-group-m{display:table-row-group}.swagger-ui 
.dt-column-m{display:table-column}.swagger-ui 
.dt-column-group-m{display:table-column-group [...]
+
+@media screen and (width >=60em){.swagger-ui .dn-l{display:none}.swagger-ui 
.di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui 
.dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui 
.dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui 
.dt-row-l{display:table-row}.swagger-ui 
.dt-row-group-l{display:table-row-group}.swagger-ui 
.dt-column-l{display:table-column}.swagger-ui 
.dt-column-group-l{display:table-column-group}.swagger-ui .dt-- [...]
+
+@media screen and (width >=30em){.swagger-ui .fl-ns{float:left}.swagger-ui 
.fr-ns{float:right}.swagger-ui .fn-ns{float:none}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.fl-m{float:left}.swagger-ui .fr-m{float:right}.swagger-ui .fn-m{float:none}}
+
+@media screen and (width >=60em){.swagger-ui .fl-l{float:left}.swagger-ui 
.fr-l{float:right}.swagger-ui .fn-l{float:none}}.swagger-ui 
.sans-serif{font-family:-apple-system,BlinkMacSystemFont,"avenir 
next","avenir","helvetica","helvetica neue","ubuntu","roboto","noto","segoe 
ui","arial",sans-serif}.swagger-ui 
.serif{font-family:"georgia",serif}.swagger-ui 
.system-sans-serif{font-family:sans-serif}.swagger-ui 
.system-serif{font-family:serif}.swagger-ui .code,.swagger-ui 
code{font-family:"C [...]
+
+@media screen and (width >=30em){.swagger-ui 
.i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}
+
+@media screen and (width >=60em){.swagger-ui 
.i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui 
.normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui 
.fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui 
.fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui 
.fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui 
.fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui 
.fw9{font-weight:900}
+
+@media screen and (width >=30em){.swagger-ui 
.normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui 
.fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui 
.fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui 
.fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui 
.fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui 
.fw9-ns{font-weight:900}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui 
.fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui 
.fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui 
.fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui 
.fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui 
.fw9-m{font-weight:900}}
+
+@media screen and (width >=60em){.swagger-ui 
.normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui 
.fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui 
.fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui 
.fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui 
.fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui 
.fw9-l{font-weight:900}}.swagger-ui .input-reset{appearance:none}.swagger-ui 
.button-reset::-moz [...]
+
+@media screen and (width >=30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui 
.h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui 
.h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui 
.h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui 
.h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui 
.min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui 
.vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui 
.vh-100-ns{height [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui 
.h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui 
.h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui 
.h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui 
.h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui 
.vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui 
.vh-75-m{height:75vh}.swagger-ui .vh-100-m{he [...]
+
+@media screen and (width >=60em){.swagger-ui .h1-l{height:1rem}.swagger-ui 
.h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui 
.h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui 
.h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui 
.h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui 
.min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui 
.vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui 
.vh-100-l{height:100vh}.swagge [...]
+
+@media screen and (width >=30em){.swagger-ui 
.tracked-ns{letter-spacing:.1em}.swagger-ui 
.tracked-tight-ns{letter-spacing:-.05em}.swagger-ui 
.tracked-mega-ns{letter-spacing:.25em}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.tracked-m{letter-spacing:.1em}.swagger-ui 
.tracked-tight-m{letter-spacing:-.05em}.swagger-ui 
.tracked-mega-m{letter-spacing:.25em}}
+
+@media screen and (width >=60em){.swagger-ui 
.tracked-l{letter-spacing:.1em}.swagger-ui 
.tracked-tight-l{letter-spacing:-.05em}.swagger-ui 
.tracked-mega-l{letter-spacing:.25em}}.swagger-ui 
.lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui 
.lh-copy{line-height:1.5}
+
+@media screen and (width >=30em){.swagger-ui 
.lh-solid-ns{line-height:1}.swagger-ui 
.lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui 
.lh-copy-m{line-height:1.5}}
+
+@media screen and (width >=60em){.swagger-ui 
.lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui 
.lh-copy-l{line-height:1.5}}.swagger-ui .link{text-decoration:none}.swagger-ui 
.link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui 
.link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color 
.15s ease-in}.swagger-ui .link:focus{outline:1px dotted 
currentcolor}.swagger-ui .list{list-style-type:none}.swagger-ui 
.mw-100{max-width:100%}. [...]
+
+@media screen and (width >=30em){.swagger-ui 
.mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui 
.mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui 
.mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui 
.mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui 
.mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui 
.mw-none-ns{max-width:none}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui 
.mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui 
.mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui 
.mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui 
.mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui 
.mw-none-m{max-width:none}}
+
+@media screen and (width >=60em){.swagger-ui 
.mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui 
.mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui 
.mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui 
.mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui 
.mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui 
.mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui 
.w2{width:2rem}.swagger-ui .w3{wi [...]
+
+@media screen and (width >=30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui 
.w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui 
.w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui 
.w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui 
.w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui 
.w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui 
.w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui 
.w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70 [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui 
.w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui 
.w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui 
.w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui 
.w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui 
.w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui 
.w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width [...]
+
+@media screen and (width >=60em){.swagger-ui .w1-l{width:1rem}.swagger-ui 
.w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui 
.w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui 
.w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui 
.w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui 
.w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui 
.w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui 
.w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui . [...]
+
+@media screen and (width >=30em){.swagger-ui 
.overflow-visible-ns{overflow:visible}.swagger-ui 
.overflow-hidden-ns{overflow:hidden}.swagger-ui 
.overflow-scroll-ns{overflow:scroll}.swagger-ui 
.overflow-auto-ns{overflow:auto}.swagger-ui 
.overflow-x-visible-ns{overflow-x:visible}.swagger-ui 
.overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui 
.overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui 
.overflow-x-auto-ns{overflow-x:auto}.swagger-ui 
.overflow-y-visible-ns{overflow-y:visible}.swagger- [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.overflow-visible-m{overflow:visible}.swagger-ui 
.overflow-hidden-m{overflow:hidden}.swagger-ui 
.overflow-scroll-m{overflow:scroll}.swagger-ui 
.overflow-auto-m{overflow:auto}.swagger-ui 
.overflow-x-visible-m{overflow-x:visible}.swagger-ui 
.overflow-x-hidden-m{overflow-x:hidden}.swagger-ui 
.overflow-x-scroll-m{overflow-x:scroll}.swagger-ui 
.overflow-x-auto-m{overflow-x:auto}.swagger-ui 
.overflow-y-visible-m{overflow-y:visible} [...]
+
+@media screen and (width >=60em){.swagger-ui 
.overflow-visible-l{overflow:visible}.swagger-ui 
.overflow-hidden-l{overflow:hidden}.swagger-ui 
.overflow-scroll-l{overflow:scroll}.swagger-ui 
.overflow-auto-l{overflow:auto}.swagger-ui 
.overflow-x-visible-l{overflow-x:visible}.swagger-ui 
.overflow-x-hidden-l{overflow-x:hidden}.swagger-ui 
.overflow-x-scroll-l{overflow-x:scroll}.swagger-ui 
.overflow-x-auto-l{overflow-x:auto}.swagger-ui 
.overflow-y-visible-l{overflow-y:visible}.swagger-ui .overf [...]
+
+@media screen and (width >=30em){.swagger-ui 
.static-ns{position:static}.swagger-ui 
.relative-ns{position:relative}.swagger-ui 
.absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui 
.absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}
+
+@media screen and (width >=60em){.swagger-ui 
.static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui 
.absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui 
.o-100{opacity:100%}.swagger-ui .o-90{opacity:90%}.swagger-ui 
.o-80{opacity:80%}.swagger-ui .o-70{opacity:70%}.swagger-ui 
.o-60{opacity:60%}.swagger-ui .o-50{opacity:50%}.swagger-ui 
.o-40{opacity:40%}.swagger-ui .o-30{opacity:30%}.swagger-ui 
.o-20{opacity:20%}.swagger-ui .o-10{opacity:10 [...]
+
+@media screen and (width >=30em){.swagger-ui 
.rotate-45-ns{transform:rotate(45deg)}.swagger-ui 
.rotate-90-ns{transform:rotate(90deg)}.swagger-ui 
.rotate-135-ns{transform:rotate(135deg)}.swagger-ui 
.rotate-180-ns{transform:rotate(180deg)}.swagger-ui 
.rotate-225-ns{transform:rotate(225deg)}.swagger-ui 
.rotate-270-ns{transform:rotate(270deg)}.swagger-ui 
.rotate-315-ns{transform:rotate(315deg)}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.rotate-45-m{transform:rotate(45deg)}.swagger-ui 
.rotate-90-m{transform:rotate(90deg)}.swagger-ui 
.rotate-135-m{transform:rotate(135deg)}.swagger-ui 
.rotate-180-m{transform:rotate(180deg)}.swagger-ui 
.rotate-225-m{transform:rotate(225deg)}.swagger-ui 
.rotate-270-m{transform:rotate(270deg)}.swagger-ui 
.rotate-315-m{transform:rotate(315deg)}}
+
+@media screen and (width >=60em){.swagger-ui 
.rotate-45-l{transform:rotate(45deg)}.swagger-ui 
.rotate-90-l{transform:rotate(90deg)}.swagger-ui 
.rotate-135-l{transform:rotate(135deg)}.swagger-ui 
.rotate-180-l{transform:rotate(180deg)}.swagger-ui 
.rotate-225-l{transform:rotate(225deg)}.swagger-ui 
.rotate-270-l{transform:rotate(270deg)}.swagger-ui 
.rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:rgb(0 0 0 / 
90%)}.swagger-ui .black-80{color:rgb(0 0 0 / 80%)}.swagger-ui .bl [...]
+
+@media screen and (width >=30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui 
.pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui 
.pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui 
.pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui 
.pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui 
.pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui 
.pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swa [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui 
.pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui 
.pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui 
.pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui 
.pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui 
.pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui 
.pl4-m{padding-left:2rem [...]
+
+@media screen and (width >=60em){.swagger-ui .pa0-l{padding:0}.swagger-ui 
.pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui 
.pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui 
.pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui 
.pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui 
.pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui 
.pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5- 
[...]
+
+@media screen and (width >=30em){.swagger-ui 
.na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui 
.na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui 
.na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui 
.na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui 
.nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui 
.nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui 
.nl6-ns{margin-left [...]
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui 
.na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui 
.na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui 
.na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui 
.nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui 
.nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui 
.nl6-m{margin [...]
+
+@media screen and (width >=60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui 
.na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui 
.na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui 
.na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui 
.nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui 
.nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui 
.nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagg [...]
+
+@media screen and (width >=30em){.swagger-ui 
.strike-ns{text-decoration:line-through}.swagger-ui 
.underline-ns{text-decoration:underline}.swagger-ui 
.no-underline-ns{text-decoration:none}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.strike-m{text-decoration:line-through}.swagger-ui 
.underline-m{text-decoration:underline}.swagger-ui 
.no-underline-m{text-decoration:none}}
+
+@media screen and (width >=60em){.swagger-ui 
.strike-l{text-decoration:line-through}.swagger-ui 
.underline-l{text-decoration:underline}.swagger-ui 
.no-underline-l{text-decoration:none}}.swagger-ui 
.tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui 
.tc{text-align:center}.swagger-ui .tj{text-align:justify}
+
+@media screen and (width >=30em){.swagger-ui 
.tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui 
.tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui 
.tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}
+
+@media screen and (width >=60em){.swagger-ui .tl-l{text-align:left}.swagger-ui 
.tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui 
.tj-l{text-align:justify}}.swagger-ui 
.ttc{text-transform:capitalize}.swagger-ui 
.ttl{text-transform:lowercase}.swagger-ui 
.ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}
+
+@media screen and (width >=30em){.swagger-ui 
.ttc-ns{text-transform:capitalize}.swagger-ui 
.ttl-ns{text-transform:lowercase}.swagger-ui 
.ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.ttc-m{text-transform:capitalize}.swagger-ui 
.ttl-m{text-transform:lowercase}.swagger-ui 
.ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}
+
+@media screen and (width >=60em){.swagger-ui 
.ttc-l{text-transform:capitalize}.swagger-ui 
.ttl-l{text-transform:lowercase}.swagger-ui 
.ttu-l{text-transform:uppercase}.swagger-ui 
.ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui 
.f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui 
.f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui 
.f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui 
.f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger [...]
+
+@media screen and (width >=30em){.swagger-ui .f-6-ns,.swagger-ui 
.f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui 
.f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui 
.f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui 
.f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui 
.f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui 
.f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui 
.f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui 
.f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui 
.f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}
+
+@media screen and (width >=60em){.swagger-ui .f-6-l,.swagger-ui 
.f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui 
.f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui 
.f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui 
.f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui 
.f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui 
.measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .m 
[...]
+
+@media screen and (width >=30em){.swagger-ui 
.measure-ns{max-width:30em}.swagger-ui 
.measure-wide-ns{max-width:34em}.swagger-ui 
.measure-narrow-ns{max-width:20em}.swagger-ui 
.indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui 
.small-caps-ns{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui 
.truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.measure-m{max-width:30em}.swagger-ui 
.measure-wide-m{max-width:34em}.swagger-ui 
.measure-narrow-m{max-width:20em}.swagger-ui 
.indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui 
.small-caps-m{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui 
.truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
+
+@media screen and (width >=60em){.swagger-ui 
.measure-l{max-width:30em}.swagger-ui 
.measure-wide-l{max-width:34em}.swagger-ui 
.measure-narrow-l{max-width:20em}.swagger-ui 
.indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui 
.small-caps-l{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui 
.truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui
 .overflow-container{overflow-y:scroll}.swagger-ui 
.center{margin-left:auto;margin-right:auto [...]
+
+@media screen and (width >=30em){.swagger-ui 
.center-ns{margin-left:auto;margin-right:auto}.swagger-ui 
.mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.center-m{margin-left:auto;margin-right:auto}.swagger-ui 
.mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}
+
+@media screen and (width >=60em){.swagger-ui 
.center-l{margin-left:auto;margin-right:auto}.swagger-ui 
.mr-auto-l{margin-right:auto}.swagger-ui 
.ml-auto-l{margin-left:auto}}.swagger-ui 
.clip{position:fixed!important}.swagger-ui .clip{clip:rect(1px 1px 1px 
1px);clip:rect(1px,1px,1px,1px)}
+
+@media screen and (width >=30em){.swagger-ui 
.clip-ns{position:fixed!important}.swagger-ui .clip-ns{clip:rect(1px 1px 1px 
1px);clip:rect(1px,1px,1px,1px)}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.clip-m{position:fixed!important}.swagger-ui .clip-m{clip:rect(1px 1px 1px 
1px);clip:rect(1px,1px,1px,1px)}}
+
+@media screen and (width >=60em){.swagger-ui 
.clip-l{position:fixed!important}.swagger-ui .clip-l{clip:rect(1px 1px 1px 
1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui 
.ws-normal{white-space:normal}.swagger-ui 
.nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}
+
+@media screen and (width >=30em){.swagger-ui 
.ws-normal-ns{white-space:normal}.swagger-ui 
.nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.ws-normal-m{white-space:normal}.swagger-ui 
.nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}
+
+@media screen and (width >=60em){.swagger-ui 
.ws-normal-l{white-space:normal}.swagger-ui 
.nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui 
.v-base{vertical-align:baseline}.swagger-ui 
.v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui 
.v-btm{vertical-align:bottom}
+
+@media screen and (width >=30em){.swagger-ui 
.v-base-ns{vertical-align:baseline}.swagger-ui 
.v-mid-ns{vertical-align:middle}.swagger-ui 
.v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}
+
+@media screen and (width >=30em)and (width <=60em){.swagger-ui 
.v-base-m{vertical-align:baseline}.swagger-ui 
.v-mid-m{vertical-align:middle}.swagger-ui 
.v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}
+
+@media screen and (width >=60em){.swagger-ui 
.v-base-l{vertical-align:baseline}.swagger-ui 
.v-mid-l{vertical-align:middle}.swagger-ui 
.v-top-l{vertical-align:top}.swagger-ui 
.v-btm-l{vertical-align:bottom}}.swagger-ui 
.dim{opacity:100%;transition:opacity .15s ease-in}.swagger-ui 
.dim:focus,.swagger-ui .dim:hover{opacity:50%;transition:opacity .15s 
ease-in}.swagger-ui .dim:active{opacity:80%;transition:opacity .15s 
ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .gl [...]
+
+@media(width <=640px){.swagger-ui .opblock-tag small,.swagger-ui 
.opblock-tag>div{flex:1}}.swagger-ui .opblock-tag 
.info__externaldocs{text-align:right}.swagger-ui 
.parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px
 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui 
.examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui
 .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{ 
[...]
+
+@media(width <=768px){.swagger-ui .opblock 
.opblock-summary-operation-id,.swagger-ui .opblock 
.opblock-summary-path,.swagger-ui .opblock 
.opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock 
.opblock-summary-path{flex-shrink:0;max-width:calc(100% - 110px - 15rem)}
+
+@media(width <=640px){.swagger-ui .opblock 
.opblock-summary-path{flex-shrink:1;max-width:100%}}.swagger-ui .opblock 
.opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui 
.opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock 
.opblock-summary-description{color:#3b4151;flex:1 1 
auto;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui 
.opblock 
.opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui
  [...]
+
+@keyframes rotation{100%{transform:rotate(1turn)}}.swagger-ui 
.response-controls{display:flex;padding-top:1em}.swagger-ui 
.response-control-media-type{margin-right:1em}.swagger-ui 
.response-control-media-type--accept-controller 
select{border-color:green}.swagger-ui 
.response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui
 .response-control-examples__title,.swagger-ui 
.response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}
+
+@keyframes blinker{50%{opacity:0%}}.swagger-ui 
.hidden{display:none}.swagger-ui 
.no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui 
.float-right{float:right}.swagger-ui 
.svg-assets{height:0;position:absolute;width:0}.swagger-ui section 
h3{color:#3b4151;font-family:sans-serif}.swagger-ui 
a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui 
a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui
 .fallback{color:#aaaaaa;padding:1em}.swagger-ui  [...]
+
+@media(width <=768px){.swagger-ui .opblock-body select{min-width:180px}}
+
+@media(width <=640px){.swagger-ui .opblock-body 
select{min-width:100%;width:100%}}.swagger-ui 
label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0
 0 5px}.swagger-ui input[type="email"],.swagger-ui 
input[type="file"],.swagger-ui input[type="password"],.swagger-ui 
input[type="search"],.swagger-ui input[type="text"]{line-height:1}
+
+@media(width <=768px){.swagger-ui input[type="email"],.swagger-ui 
input[type="file"],.swagger-ui input[type="password"],.swagger-ui 
input[type="search"],.swagger-ui 
input[type="text"]{max-width:175px}}.swagger-ui input[type="email"],.swagger-ui 
input[type="file"],.swagger-ui input[type="password"],.swagger-ui 
input[type="search"],.swagger-ui input[type="text"],.swagger-ui 
textarea{background:#ffffff;border:1px solid 
#d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px} [...]
+
+@keyframes 
shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui
 textarea{background:hsl(0deg 0% 100% / 
80%);border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:0;padding:10px;width:100%}.swagger-ui
 textarea:focus{border:2px solid #61affe}.swagger-ui 
textarea.curl{background:#41444e;border-radi [...]
+
+@keyframes 
scaleUp{0%{opacity:0%;transform:scale(.8)}100%{opacity:100%;transform:scale(1)}}.swagger-ui
 .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui 
.markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown 
pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui 
.markdown pre,.swagger-ui .renderedMarkdown pre{background:0 
0;color:#000000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui 
.markdown code,.swagger-ui [...]
diff --git a/atr/static/js/min/swagger-ui-bundle.min.js 
b/atr/static/js/min/swagger-ui-bundle.min.js
new file mode 100644
index 0000000..1d706f0
--- /dev/null
+++ b/atr/static/js/min/swagger-ui-bundle.min.js
@@ -0,0 +1,3 @@
+/*! Swagger UI - Apache License 2.0 - see NOTICE file for attribution */
+!function(e,t){"object"==typeof exports&&"object"==typeof 
module?module.exports=t():"function"==typeof 
define&&define.amd?define([],t):"object"==typeof 
exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,(()=>(()=>{var 
e={17967:(e,t)=>{"use strict";t.Nm=t.Rq=void 0;var 
n=/^([^\w]*)(javascript|data|vbscript)/im,r=/&#(\w+)(^\w|;)?/g,o=/&(newline|tab);/gi,s=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,i=/^.+(:|&colon;)/gim,a=[".","/"];t.Rq="about:blank",t.Nm=function(e){
 [...]
᠎"!=="​…᠎"[e]()||r&&s[e].name!==e}))}},74853:(e,t,n)=>{var 
r=n(95329),o=n(48219),s=n(85803),i=n(73483),a=r("".replace),l=RegExp("^["+i+"]+"),c=RegExp("(^|[^"+i+"])["+i+"]+$"),u=function(e){return
 function(t){var n=s(o(t));return 
1&e&&(n=a(n,l,"")),2&e&&(n=a(n,c,"$1")),n}};e.exports={start:u(1),end:u(2),trim:u(3)}},63405:(e,t,n)=>{var
 
r=n(53385),o=n(95981),s=n(21899).String;e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var
 e=Symbol();return!s(e)||!(Object(e)instanceof Symbol)||!Symbol.s [...]
":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function pe(e){return 
e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var
 he=new Array(256),fe=new 
Array(256),de=0;de<256;de++)he[de]=ue(de)?1:0,fe[de]=ue(de);function 
me(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||V,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledIm
 [...]
+//# sourceMappingURL=swagger-ui-bundle.js.map
\ No newline at end of file
diff --git a/atr/static/js/src/swagger-init.js 
b/atr/static/js/src/swagger-init.js
new file mode 100644
index 0000000..da6239e
--- /dev/null
+++ b/atr/static/js/src/swagger-init.js
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+window.addEventListener("DOMContentLoaded", () => {
+       var openapiUrl = 
document.getElementById("swagger-ui").dataset.openapiUrl;
+       SwaggerUIBundle({
+               deepLinking: true,
+               dom_id: "#swagger-ui",
+               layout: "BaseLayout",
+               presets: [
+                       SwaggerUIBundle.presets.apis,
+                       SwaggerUIBundle.SwaggerUIStandalonePreset,
+               ],
+               showExtensions: true,
+               showCommonExtensions: true,
+               url: openapiUrl,
+       });
+});


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to