From fcd441ecc2363d768b75a2cb6048c210872b1def Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 21 Nov 2024 13:35:22 +0000
Subject: [PATCH] Deploy to GitHub pages
---
404.html | 175 +
categories/index.html | 350 +
categories/index.xml | 11 +
css/auto-complete.css | 67 +
css/chroma-learn.css | 87 +
css/chroma-relearn-light.css | 87 +
css/fontawesome-all.min.css | 9 +
css/fonts.css | 39 +
css/format-print.css | 174 +
css/nucleus.css | 258 +
css/perfect-scrollbar.min.css | 1 +
css/print.css | 1 +
css/swagger-dark.css | 2045 +++++
css/swagger-light.css | 0
css/swagger.css | 311 +
css/theme-blue.css | 41 +
css/theme-custom.css | 6 +
css/theme-relearn-light.css | 41 +
css/theme.css | 2378 ++++++
css/variables.css | 116 +
css/variant.css | 515 ++
dns/acme-dns/index.html | 407 +
dns/alidns/index.html | 451 ++
dns/allinkl/index.html | 432 ++
dns/arvancloud/index.html | 431 ++
dns/auroradns/index.html | 437 ++
dns/autodns/index.html | 444 ++
dns/azure/index.html | 470 ++
dns/azuredns/index.html | 613 ++
dns/bindman/index.html | 428 ++
dns/bluecat/index.html | 456 ++
dns/brandit/index.html | 442 ++
dns/bunny/index.html | 427 ++
dns/checkdomain/index.html | 435 ++
dns/civo/index.html | 427 ++
dns/clouddns/index.html | 441 ++
dns/cloudflare/index.html | 503 ++
dns/cloudns/index.html | 440 ++
dns/cloudru/index.html | 445 ++
dns/cloudxns/index.html | 431 ++
dns/conoha/index.html | 445 ++
dns/constellix/index.html | 436 ++
dns/corenetworks/index.html | 440 ++
dns/cpanel/index.html | 456 ++
dns/derak/index.html | 430 ++
dns/desec/index.html | 431 ++
dns/designate/index.html | 509 ++
dns/digitalocean/index.html | 435 ++
dns/directadmin/index.html | 445 ++
dns/dnshomede/index.html | 429 ++
dns/dnsimple/index.html | 447 ++
dns/dnsmadeeasy/index.html | 440 ++
dns/dnspod/index.html | 432 ++
dns/dode/index.html | 435 ++
dns/domeneshop/index.html | 439 ++
dns/dreamhost/index.html | 431 ++
dns/duckdns/index.html | 435 ++
dns/dyn/index.html | 441 ++
dns/dynu/index.html | 431 ++
dns/easydns/index.html | 445 ++
dns/edgedns/index.html | 492 ++
dns/efficientip/index.html | 449 ++
dns/epik/index.html | 431 ++
dns/exec/index.html | 493 ++
dns/exoscale/index.html | 441 ++
dns/freemyip/index.html | 435 ++
dns/gandi/index.html | 431 ++
dns/gandiv5/index.html | 435 ++
dns/gcloud/index.html | 449 ++
dns/gcore/index.html | 431 ++
dns/glesys/index.html | 436 ++
dns/godaddy/index.html | 442 ++
dns/googledomains/index.html | 427 ++
dns/hetzner/index.html | 431 ++
dns/hostingde/index.html | 435 ++
dns/hosttech/index.html | 435 ++
dns/httpnet/index.html | 435 ++
dns/httpreq/index.html | 468 ++
dns/huaweicloud/index.html | 442 ++
dns/hurricane/index.html | 444 ++
dns/hyperone/index.html | 443 ++
dns/ibmcloud/index.html | 437 ++
dns/iij/index.html | 438 ++
dns/iijdpf/index.html | 437 ++
dns/index.html | 2004 +++++
dns/index.xml | 1006 +++
dns/infoblox/index.html | 459 ++
dns/infomaniak/index.html | 439 ++
dns/internetbs/index.html | 436 ++
dns/inwx/index.html | 447 ++
dns/ionos/index.html | 431 ++
dns/ipv64/index.html | 431 ++
dns/iwantmyname/index.html | 436 ++
dns/joker/index.html | 483 ++
dns/liara/index.html | 431 ++
dns/lightsail/index.html | 470 ++
dns/limacity/index.html | 435 ++
dns/linode/index.html | 432 ++
dns/liquidweb/index.html | 445 ++
dns/loopia/index.html | 453 ++
dns/luadns/index.html | 436 ++
dns/mailinabox/index.html | 433 ++
dns/manual/index.html | 404 +
dns/metaname/index.html | 433 ++
dns/mijnhost/index.html | 435 ++
dns/mittwald/index.html | 435 ++
dns/mydnsjp/index.html | 436 ++
dns/mythicbeasts/index.html | 446 ++
dns/namecheap/index.html | 447 ++
dns/namedotcom/index.html | 437 ++
dns/namesilo/index.html | 428 ++
dns/nearlyfreespeech/index.html | 440 ++
dns/netcup/index.html | 441 ++
dns/netlify/index.html | 431 ++
dns/nicmanager/index.html | 473 ++
dns/nifcloud/index.html | 436 ++
dns/njalla/index.html | 431 ++
dns/nodion/index.html | 431 ++
dns/ns1/index.html | 432 ++
dns/oraclecloud/index.html | 458 ++
dns/otc/index.html | 457 ++
dns/ovh/index.html | 502 ++
dns/pdns/index.html | 453 ++
dns/plesk/index.html | 441 ++
dns/porkbun/index.html | 436 ++
dns/rackspace/index.html | 436 ++
dns/rcodezero/index.html | 436 ++
dns/regfish/index.html | 432 ++
dns/regru/index.html | 444 ++
dns/rfc2136/index.html | 462 ++
dns/rimuhosting/index.html | 431 ++
dns/route53/index.html | 570 ++
dns/safedns/index.html | 431 ++
dns/sakuracloud/index.html | 437 ++
dns/scaleway/index.html | 435 ++
dns/selectel/index.html | 435 ++
dns/selectelv2/index.html | 451 ++
dns/selfhostde/index.html | 455 ++
dns/servercow/index.html | 436 ++
dns/shellrent/index.html | 436 ++
dns/simply/index.html | 436 ++
dns/sonic/index.html | 448 ++
dns/stackpath/index.html | 437 ++
dns/technitium/index.html | 440 ++
dns/tencentcloud/index.html | 445 ++
dns/timewebcloud/index.html | 427 ++
dns/transip/index.html | 433 ++
dns/ultradns/index.html | 437 ++
dns/variomedia/index.html | 435 ++
dns/vegadns/index.html | 442 ++
dns/vercel/index.html | 435 ++
dns/versio/index.html | 445 ++
dns/vinyldns/index.html | 440 ++
dns/vkcloud/index.html | 478 ++
dns/volcengine/index.html | 449 ++
dns/vscale/index.html | 435 ++
dns/vultr/index.html | 432 ++
dns/webnames/index.html | 435 ++
dns/websupport/index.html | 440 ++
dns/wedos/index.html | 436 ++
dns/yandex/index.html | 431 ++
dns/yandex360/index.html | 436 ++
dns/yandexcloud/index.html | 450 ++
dns/zoneee/index.html | 440 ++
dns/zonomi/index.html | 431 ++
fonts/WorkSans-Bold.woff | Bin 0 -> 105088 bytes
fonts/WorkSans-Bold.woff2 | Bin 0 -> 75876 bytes
fonts/WorkSans-ExtraLight.woff | Bin 0 -> 103992 bytes
fonts/WorkSans-ExtraLight.woff2 | Bin 0 -> 74504 bytes
fonts/WorkSans-Light.woff | Bin 0 -> 103552 bytes
fonts/WorkSans-Light.woff2 | Bin 0 -> 73820 bytes
fonts/WorkSans-Medium.woff | Bin 0 -> 105508 bytes
fonts/WorkSans-Medium.woff2 | Bin 0 -> 76068 bytes
fonts/WorkSans-Regular.woff | Bin 0 -> 98800 bytes
fonts/WorkSans-Regular.woff2 | Bin 0 -> 71416 bytes
images/favicon.png | Bin 0 -> 6610 bytes
images/favicon.svg | 141 +
images/lego-logo-white.min.svg | 1 +
images/lego-logo.min.svg | 1 +
index.html | 395 +
index.search.js | 1250 +++
index.xml | 33 +
installation/index.html | 429 ++
installation/index.xml | 12 +
js/auto-complete.js | 288 +
js/clipboard.min.js | 7 +
js/d3/d3-color.min.js | 2 +
js/d3/d3-dispatch.min.js | 2 +
js/d3/d3-drag.min.js | 2 +
js/d3/d3-ease.min.js | 2 +
js/d3/d3-interpolate.min.js | 2 +
js/d3/d3-selection.min.js | 2 +
js/d3/d3-timer.min.js | 2 +
js/d3/d3-transition.min.js | 2 +
js/d3/d3-zoom.min.js | 2 +
js/js-yaml.min.js | 2 +
js/lunr/lunr.ar.min.js | 1 +
js/lunr/lunr.da.min.js | 18 +
js/lunr/lunr.de.min.js | 18 +
js/lunr/lunr.du.min.js | 18 +
js/lunr/lunr.en.min.js | 7 +
js/lunr/lunr.es.min.js | 18 +
js/lunr/lunr.fi.min.js | 18 +
js/lunr/lunr.fr.min.js | 18 +
js/lunr/lunr.hi.min.js | 1 +
js/lunr/lunr.hu.min.js | 18 +
js/lunr/lunr.it.min.js | 18 +
js/lunr/lunr.ja.min.js | 1 +
js/lunr/lunr.jp.min.js | 1 +
js/lunr/lunr.ko.min.js | 1 +
js/lunr/lunr.min.js | 6 +
js/lunr/lunr.multi.min.js | 1 +
js/lunr/lunr.nl.min.js | 18 +
js/lunr/lunr.no.min.js | 18 +
js/lunr/lunr.pt.min.js | 18 +
js/lunr/lunr.ro.min.js | 18 +
js/lunr/lunr.ru.min.js | 18 +
js/lunr/lunr.stemmer.support.min.js | 1 +
js/lunr/lunr.sv.min.js | 18 +
js/lunr/lunr.ta.min.js | 1 +
js/lunr/lunr.th.min.js | 1 +
js/lunr/lunr.tr.min.js | 18 +
js/lunr/lunr.vi.min.js | 1 +
js/lunr/lunr.zh.min.js | 1 +
js/lunr/tinyseg.js | 206 +
js/lunr/wordcut.js | 6708 +++++++++++++++++
js/mathjax/a11y/assistive-mml.js | 1 +
js/mathjax/a11y/complexity.js | 1 +
js/mathjax/a11y/explorer.js | 1 +
js/mathjax/a11y/semantic-enrich.js | 1 +
js/mathjax/a11y/sre.js | 1 +
js/mathjax/adaptors/liteDOM.js | 1 +
js/mathjax/core.js | 1 +
js/mathjax/input/asciimath.js | 1 +
js/mathjax/input/mml.js | 1 +
js/mathjax/input/mml/entities.js | 1 +
js/mathjax/input/mml/extensions/mml3.js | 1 +
js/mathjax/input/mml/extensions/mml3.sef.json | 1 +
js/mathjax/input/tex-base.js | 1 +
js/mathjax/input/tex-full.js | 34 +
js/mathjax/input/tex.js | 1 +
js/mathjax/input/tex/extensions/action.js | 1 +
.../input/tex/extensions/all-packages.js | 34 +
js/mathjax/input/tex/extensions/ams.js | 1 +
js/mathjax/input/tex/extensions/amscd.js | 1 +
js/mathjax/input/tex/extensions/autoload.js | 1 +
js/mathjax/input/tex/extensions/bbox.js | 1 +
js/mathjax/input/tex/extensions/boldsymbol.js | 1 +
js/mathjax/input/tex/extensions/braket.js | 1 +
js/mathjax/input/tex/extensions/bussproofs.js | 1 +
js/mathjax/input/tex/extensions/cancel.js | 1 +
js/mathjax/input/tex/extensions/cases.js | 1 +
js/mathjax/input/tex/extensions/centernot.js | 1 +
js/mathjax/input/tex/extensions/color.js | 1 +
js/mathjax/input/tex/extensions/colortbl.js | 1 +
js/mathjax/input/tex/extensions/colorv2.js | 1 +
.../input/tex/extensions/configmacros.js | 1 +
js/mathjax/input/tex/extensions/empheq.js | 1 +
js/mathjax/input/tex/extensions/enclose.js | 1 +
js/mathjax/input/tex/extensions/extpfeil.js | 1 +
js/mathjax/input/tex/extensions/gensymb.js | 1 +
js/mathjax/input/tex/extensions/html.js | 1 +
js/mathjax/input/tex/extensions/mathtools.js | 1 +
js/mathjax/input/tex/extensions/mhchem.js | 34 +
js/mathjax/input/tex/extensions/newcommand.js | 1 +
js/mathjax/input/tex/extensions/noerrors.js | 1 +
.../input/tex/extensions/noundefined.js | 1 +
js/mathjax/input/tex/extensions/physics.js | 1 +
js/mathjax/input/tex/extensions/require.js | 1 +
js/mathjax/input/tex/extensions/setoptions.js | 1 +
js/mathjax/input/tex/extensions/tagformat.js | 1 +
js/mathjax/input/tex/extensions/textcomp.js | 1 +
js/mathjax/input/tex/extensions/textmacros.js | 1 +
js/mathjax/input/tex/extensions/unicode.js | 1 +
js/mathjax/input/tex/extensions/upgreek.js | 1 +
js/mathjax/input/tex/extensions/verb.js | 1 +
js/mathjax/latest.js | 1 +
js/mathjax/loader.js | 1 +
js/mathjax/mml-chtml.js | 1 +
js/mathjax/mml-svg.js | 1 +
js/mathjax/node-main.js | 1 +
js/mathjax/output/chtml.js | 1 +
js/mathjax/output/chtml/fonts/tex.js | 1 +
.../fonts/woff-v2/MathJax_AMS-Regular.woff | Bin 0 -> 40808 bytes
.../woff-v2/MathJax_Calligraphic-Bold.woff | Bin 0 -> 9908 bytes
.../woff-v2/MathJax_Calligraphic-Regular.woff | Bin 0 -> 9600 bytes
.../fonts/woff-v2/MathJax_Fraktur-Bold.woff | Bin 0 -> 22340 bytes
.../woff-v2/MathJax_Fraktur-Regular.woff | Bin 0 -> 21480 bytes
.../fonts/woff-v2/MathJax_Main-Bold.woff | Bin 0 -> 34464 bytes
.../fonts/woff-v2/MathJax_Main-Italic.woff | Bin 0 -> 20832 bytes
.../fonts/woff-v2/MathJax_Main-Regular.woff | Bin 0 -> 34160 bytes
.../woff-v2/MathJax_Math-BoldItalic.woff | Bin 0 -> 19776 bytes
.../fonts/woff-v2/MathJax_Math-Italic.woff | Bin 0 -> 19360 bytes
.../fonts/woff-v2/MathJax_Math-Regular.woff | Bin 0 -> 19288 bytes
.../fonts/woff-v2/MathJax_SansSerif-Bold.woff | Bin 0 -> 15944 bytes
.../woff-v2/MathJax_SansSerif-Italic.woff | Bin 0 -> 14628 bytes
.../woff-v2/MathJax_SansSerif-Regular.woff | Bin 0 -> 12660 bytes
.../fonts/woff-v2/MathJax_Script-Regular.woff | Bin 0 -> 11852 bytes
.../fonts/woff-v2/MathJax_Size1-Regular.woff | Bin 0 -> 5792 bytes
.../fonts/woff-v2/MathJax_Size2-Regular.woff | Bin 0 -> 5464 bytes
.../fonts/woff-v2/MathJax_Size3-Regular.woff | Bin 0 -> 3244 bytes
.../fonts/woff-v2/MathJax_Size4-Regular.woff | Bin 0 -> 5148 bytes
.../woff-v2/MathJax_Typewriter-Regular.woff | Bin 0 -> 17604 bytes
.../fonts/woff-v2/MathJax_Vector-Bold.woff | Bin 0 -> 1116 bytes
.../fonts/woff-v2/MathJax_Vector-Regular.woff | Bin 0 -> 1136 bytes
.../chtml/fonts/woff-v2/MathJax_Zero.woff | Bin 0 -> 1368 bytes
js/mathjax/output/svg.js | 1 +
js/mathjax/output/svg/fonts/tex.js | 1 +
js/mathjax/sre/mathmaps/base.json | 29 +
js/mathjax/sre/mathmaps/ca.json | 140 +
js/mathjax/sre/mathmaps/da.json | 140 +
js/mathjax/sre/mathmaps/de.json | 146 +
js/mathjax/sre/mathmaps/en.json | 158 +
js/mathjax/sre/mathmaps/es.json | 140 +
js/mathjax/sre/mathmaps/fr.json | 146 +
js/mathjax/sre/mathmaps/hi.json | 146 +
js/mathjax/sre/mathmaps/it.json | 146 +
js/mathjax/sre/mathmaps/nb.json | 146 +
js/mathjax/sre/mathmaps/nemeth.json | 125 +
js/mathjax/sre/mathmaps/nn.json | 146 +
js/mathjax/sre/mathmaps/sv.json | 146 +
js/mathjax/startup.js | 1 +
js/mathjax/tex-chtml-full-speech.js | 34 +
js/mathjax/tex-chtml-full.js | 34 +
js/mathjax/tex-chtml.js | 1 +
js/mathjax/tex-mml-chtml.js | 1 +
js/mathjax/tex-mml-svg.js | 1 +
js/mathjax/tex-svg-full.js | 34 +
js/mathjax/tex-svg.js | 1 +
js/mathjax/ui/lazy.js | 1 +
js/mathjax/ui/menu.js | 1 +
js/mathjax/ui/safe.js | 1 +
js/mermaid.min.js | 2030 +++++
js/perfect-scrollbar.min.js | 20 +
js/search.js | 289 +
js/swagger-ui/swagger-ui-bundle.js | 2 +
js/swagger-ui/swagger-ui-standalone-preset.js | 2 +
js/swagger-ui/swagger-ui.css | 3 +
js/theme.js | 1751 +++++
js/variant.js | 596 ++
search.html | 359 +
sitemap.xml | 625 ++
tags/index.html | 350 +
tags/index.xml | 11 +
usage/cli/examples/index.html | 410 +
usage/cli/general-instructions/index.html | 371 +
usage/cli/index.html | 368 +
usage/cli/index.xml | 47 +
usage/cli/obtain-a-certificate/index.html | 444 ++
usage/cli/options/index.html | 690 ++
usage/cli/renew-a-certificate/index.html | 437 ++
usage/index.html | 370 +
usage/index.xml | 26 +
usage/library/index.html | 465 ++
usage/library/index.xml | 19 +
.../writing-a-challenge-solver/index.html | 423 ++
webfonts/fa-brands-400.ttf | Bin 0 -> 209376 bytes
webfonts/fa-brands-400.woff2 | Bin 0 -> 118072 bytes
webfonts/fa-regular-400.ttf | Bin 0 -> 67976 bytes
webfonts/fa-regular-400.woff2 | Bin 0 -> 25464 bytes
webfonts/fa-solid-900.ttf | Bin 0 -> 423676 bytes
webfonts/fa-solid-900.woff2 | Bin 0 -> 157192 bytes
webfonts/fa-v4compatibility.ttf | Bin 0 -> 10836 bytes
webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4800 bytes
364 files changed, 94646 insertions(+)
create mode 100644 404.html
create mode 100644 categories/index.html
create mode 100644 categories/index.xml
create mode 100644 css/auto-complete.css
create mode 100644 css/chroma-learn.css
create mode 100644 css/chroma-relearn-light.css
create mode 100644 css/fontawesome-all.min.css
create mode 100644 css/fonts.css
create mode 100644 css/format-print.css
create mode 100644 css/nucleus.css
create mode 100644 css/perfect-scrollbar.min.css
create mode 100644 css/print.css
create mode 100644 css/swagger-dark.css
create mode 100644 css/swagger-light.css
create mode 100644 css/swagger.css
create mode 100644 css/theme-blue.css
create mode 100644 css/theme-custom.css
create mode 100644 css/theme-relearn-light.css
create mode 100644 css/theme.css
create mode 100644 css/variables.css
create mode 100644 css/variant.css
create mode 100644 dns/acme-dns/index.html
create mode 100644 dns/alidns/index.html
create mode 100644 dns/allinkl/index.html
create mode 100644 dns/arvancloud/index.html
create mode 100644 dns/auroradns/index.html
create mode 100644 dns/autodns/index.html
create mode 100644 dns/azure/index.html
create mode 100644 dns/azuredns/index.html
create mode 100644 dns/bindman/index.html
create mode 100644 dns/bluecat/index.html
create mode 100644 dns/brandit/index.html
create mode 100644 dns/bunny/index.html
create mode 100644 dns/checkdomain/index.html
create mode 100644 dns/civo/index.html
create mode 100644 dns/clouddns/index.html
create mode 100644 dns/cloudflare/index.html
create mode 100644 dns/cloudns/index.html
create mode 100644 dns/cloudru/index.html
create mode 100644 dns/cloudxns/index.html
create mode 100644 dns/conoha/index.html
create mode 100644 dns/constellix/index.html
create mode 100644 dns/corenetworks/index.html
create mode 100644 dns/cpanel/index.html
create mode 100644 dns/derak/index.html
create mode 100644 dns/desec/index.html
create mode 100644 dns/designate/index.html
create mode 100644 dns/digitalocean/index.html
create mode 100644 dns/directadmin/index.html
create mode 100644 dns/dnshomede/index.html
create mode 100644 dns/dnsimple/index.html
create mode 100644 dns/dnsmadeeasy/index.html
create mode 100644 dns/dnspod/index.html
create mode 100644 dns/dode/index.html
create mode 100644 dns/domeneshop/index.html
create mode 100644 dns/dreamhost/index.html
create mode 100644 dns/duckdns/index.html
create mode 100644 dns/dyn/index.html
create mode 100644 dns/dynu/index.html
create mode 100644 dns/easydns/index.html
create mode 100644 dns/edgedns/index.html
create mode 100644 dns/efficientip/index.html
create mode 100644 dns/epik/index.html
create mode 100644 dns/exec/index.html
create mode 100644 dns/exoscale/index.html
create mode 100644 dns/freemyip/index.html
create mode 100644 dns/gandi/index.html
create mode 100644 dns/gandiv5/index.html
create mode 100644 dns/gcloud/index.html
create mode 100644 dns/gcore/index.html
create mode 100644 dns/glesys/index.html
create mode 100644 dns/godaddy/index.html
create mode 100644 dns/googledomains/index.html
create mode 100644 dns/hetzner/index.html
create mode 100644 dns/hostingde/index.html
create mode 100644 dns/hosttech/index.html
create mode 100644 dns/httpnet/index.html
create mode 100644 dns/httpreq/index.html
create mode 100644 dns/huaweicloud/index.html
create mode 100644 dns/hurricane/index.html
create mode 100644 dns/hyperone/index.html
create mode 100644 dns/ibmcloud/index.html
create mode 100644 dns/iij/index.html
create mode 100644 dns/iijdpf/index.html
create mode 100644 dns/index.html
create mode 100644 dns/index.xml
create mode 100644 dns/infoblox/index.html
create mode 100644 dns/infomaniak/index.html
create mode 100644 dns/internetbs/index.html
create mode 100644 dns/inwx/index.html
create mode 100644 dns/ionos/index.html
create mode 100644 dns/ipv64/index.html
create mode 100644 dns/iwantmyname/index.html
create mode 100644 dns/joker/index.html
create mode 100644 dns/liara/index.html
create mode 100644 dns/lightsail/index.html
create mode 100644 dns/limacity/index.html
create mode 100644 dns/linode/index.html
create mode 100644 dns/liquidweb/index.html
create mode 100644 dns/loopia/index.html
create mode 100644 dns/luadns/index.html
create mode 100644 dns/mailinabox/index.html
create mode 100644 dns/manual/index.html
create mode 100644 dns/metaname/index.html
create mode 100644 dns/mijnhost/index.html
create mode 100644 dns/mittwald/index.html
create mode 100644 dns/mydnsjp/index.html
create mode 100644 dns/mythicbeasts/index.html
create mode 100644 dns/namecheap/index.html
create mode 100644 dns/namedotcom/index.html
create mode 100644 dns/namesilo/index.html
create mode 100644 dns/nearlyfreespeech/index.html
create mode 100644 dns/netcup/index.html
create mode 100644 dns/netlify/index.html
create mode 100644 dns/nicmanager/index.html
create mode 100644 dns/nifcloud/index.html
create mode 100644 dns/njalla/index.html
create mode 100644 dns/nodion/index.html
create mode 100644 dns/ns1/index.html
create mode 100644 dns/oraclecloud/index.html
create mode 100644 dns/otc/index.html
create mode 100644 dns/ovh/index.html
create mode 100644 dns/pdns/index.html
create mode 100644 dns/plesk/index.html
create mode 100644 dns/porkbun/index.html
create mode 100644 dns/rackspace/index.html
create mode 100644 dns/rcodezero/index.html
create mode 100644 dns/regfish/index.html
create mode 100644 dns/regru/index.html
create mode 100644 dns/rfc2136/index.html
create mode 100644 dns/rimuhosting/index.html
create mode 100644 dns/route53/index.html
create mode 100644 dns/safedns/index.html
create mode 100644 dns/sakuracloud/index.html
create mode 100644 dns/scaleway/index.html
create mode 100644 dns/selectel/index.html
create mode 100644 dns/selectelv2/index.html
create mode 100644 dns/selfhostde/index.html
create mode 100644 dns/servercow/index.html
create mode 100644 dns/shellrent/index.html
create mode 100644 dns/simply/index.html
create mode 100644 dns/sonic/index.html
create mode 100644 dns/stackpath/index.html
create mode 100644 dns/technitium/index.html
create mode 100644 dns/tencentcloud/index.html
create mode 100644 dns/timewebcloud/index.html
create mode 100644 dns/transip/index.html
create mode 100644 dns/ultradns/index.html
create mode 100644 dns/variomedia/index.html
create mode 100644 dns/vegadns/index.html
create mode 100644 dns/vercel/index.html
create mode 100644 dns/versio/index.html
create mode 100644 dns/vinyldns/index.html
create mode 100644 dns/vkcloud/index.html
create mode 100644 dns/volcengine/index.html
create mode 100644 dns/vscale/index.html
create mode 100644 dns/vultr/index.html
create mode 100644 dns/webnames/index.html
create mode 100644 dns/websupport/index.html
create mode 100644 dns/wedos/index.html
create mode 100644 dns/yandex/index.html
create mode 100644 dns/yandex360/index.html
create mode 100644 dns/yandexcloud/index.html
create mode 100644 dns/zoneee/index.html
create mode 100644 dns/zonomi/index.html
create mode 100644 fonts/WorkSans-Bold.woff
create mode 100644 fonts/WorkSans-Bold.woff2
create mode 100644 fonts/WorkSans-ExtraLight.woff
create mode 100644 fonts/WorkSans-ExtraLight.woff2
create mode 100644 fonts/WorkSans-Light.woff
create mode 100644 fonts/WorkSans-Light.woff2
create mode 100644 fonts/WorkSans-Medium.woff
create mode 100644 fonts/WorkSans-Medium.woff2
create mode 100644 fonts/WorkSans-Regular.woff
create mode 100644 fonts/WorkSans-Regular.woff2
create mode 100644 images/favicon.png
create mode 100644 images/favicon.svg
create mode 100644 images/lego-logo-white.min.svg
create mode 100644 images/lego-logo.min.svg
create mode 100644 index.html
create mode 100644 index.search.js
create mode 100644 index.xml
create mode 100644 installation/index.html
create mode 100644 installation/index.xml
create mode 100644 js/auto-complete.js
create mode 100644 js/clipboard.min.js
create mode 100644 js/d3/d3-color.min.js
create mode 100644 js/d3/d3-dispatch.min.js
create mode 100644 js/d3/d3-drag.min.js
create mode 100644 js/d3/d3-ease.min.js
create mode 100644 js/d3/d3-interpolate.min.js
create mode 100644 js/d3/d3-selection.min.js
create mode 100644 js/d3/d3-timer.min.js
create mode 100644 js/d3/d3-transition.min.js
create mode 100644 js/d3/d3-zoom.min.js
create mode 100644 js/js-yaml.min.js
create mode 100644 js/lunr/lunr.ar.min.js
create mode 100644 js/lunr/lunr.da.min.js
create mode 100644 js/lunr/lunr.de.min.js
create mode 100644 js/lunr/lunr.du.min.js
create mode 100644 js/lunr/lunr.en.min.js
create mode 100644 js/lunr/lunr.es.min.js
create mode 100644 js/lunr/lunr.fi.min.js
create mode 100644 js/lunr/lunr.fr.min.js
create mode 100644 js/lunr/lunr.hi.min.js
create mode 100644 js/lunr/lunr.hu.min.js
create mode 100644 js/lunr/lunr.it.min.js
create mode 100644 js/lunr/lunr.ja.min.js
create mode 100644 js/lunr/lunr.jp.min.js
create mode 100644 js/lunr/lunr.ko.min.js
create mode 100644 js/lunr/lunr.min.js
create mode 100644 js/lunr/lunr.multi.min.js
create mode 100644 js/lunr/lunr.nl.min.js
create mode 100644 js/lunr/lunr.no.min.js
create mode 100644 js/lunr/lunr.pt.min.js
create mode 100644 js/lunr/lunr.ro.min.js
create mode 100644 js/lunr/lunr.ru.min.js
create mode 100644 js/lunr/lunr.stemmer.support.min.js
create mode 100644 js/lunr/lunr.sv.min.js
create mode 100644 js/lunr/lunr.ta.min.js
create mode 100644 js/lunr/lunr.th.min.js
create mode 100644 js/lunr/lunr.tr.min.js
create mode 100644 js/lunr/lunr.vi.min.js
create mode 100644 js/lunr/lunr.zh.min.js
create mode 100644 js/lunr/tinyseg.js
create mode 100644 js/lunr/wordcut.js
create mode 100644 js/mathjax/a11y/assistive-mml.js
create mode 100644 js/mathjax/a11y/complexity.js
create mode 100644 js/mathjax/a11y/explorer.js
create mode 100644 js/mathjax/a11y/semantic-enrich.js
create mode 100644 js/mathjax/a11y/sre.js
create mode 100644 js/mathjax/adaptors/liteDOM.js
create mode 100644 js/mathjax/core.js
create mode 100644 js/mathjax/input/asciimath.js
create mode 100644 js/mathjax/input/mml.js
create mode 100644 js/mathjax/input/mml/entities.js
create mode 100644 js/mathjax/input/mml/extensions/mml3.js
create mode 100644 js/mathjax/input/mml/extensions/mml3.sef.json
create mode 100644 js/mathjax/input/tex-base.js
create mode 100644 js/mathjax/input/tex-full.js
create mode 100644 js/mathjax/input/tex.js
create mode 100644 js/mathjax/input/tex/extensions/action.js
create mode 100644 js/mathjax/input/tex/extensions/all-packages.js
create mode 100644 js/mathjax/input/tex/extensions/ams.js
create mode 100644 js/mathjax/input/tex/extensions/amscd.js
create mode 100644 js/mathjax/input/tex/extensions/autoload.js
create mode 100644 js/mathjax/input/tex/extensions/bbox.js
create mode 100644 js/mathjax/input/tex/extensions/boldsymbol.js
create mode 100644 js/mathjax/input/tex/extensions/braket.js
create mode 100644 js/mathjax/input/tex/extensions/bussproofs.js
create mode 100644 js/mathjax/input/tex/extensions/cancel.js
create mode 100644 js/mathjax/input/tex/extensions/cases.js
create mode 100644 js/mathjax/input/tex/extensions/centernot.js
create mode 100644 js/mathjax/input/tex/extensions/color.js
create mode 100644 js/mathjax/input/tex/extensions/colortbl.js
create mode 100644 js/mathjax/input/tex/extensions/colorv2.js
create mode 100644 js/mathjax/input/tex/extensions/configmacros.js
create mode 100644 js/mathjax/input/tex/extensions/empheq.js
create mode 100644 js/mathjax/input/tex/extensions/enclose.js
create mode 100644 js/mathjax/input/tex/extensions/extpfeil.js
create mode 100644 js/mathjax/input/tex/extensions/gensymb.js
create mode 100644 js/mathjax/input/tex/extensions/html.js
create mode 100644 js/mathjax/input/tex/extensions/mathtools.js
create mode 100644 js/mathjax/input/tex/extensions/mhchem.js
create mode 100644 js/mathjax/input/tex/extensions/newcommand.js
create mode 100644 js/mathjax/input/tex/extensions/noerrors.js
create mode 100644 js/mathjax/input/tex/extensions/noundefined.js
create mode 100644 js/mathjax/input/tex/extensions/physics.js
create mode 100644 js/mathjax/input/tex/extensions/require.js
create mode 100644 js/mathjax/input/tex/extensions/setoptions.js
create mode 100644 js/mathjax/input/tex/extensions/tagformat.js
create mode 100644 js/mathjax/input/tex/extensions/textcomp.js
create mode 100644 js/mathjax/input/tex/extensions/textmacros.js
create mode 100644 js/mathjax/input/tex/extensions/unicode.js
create mode 100644 js/mathjax/input/tex/extensions/upgreek.js
create mode 100644 js/mathjax/input/tex/extensions/verb.js
create mode 100644 js/mathjax/latest.js
create mode 100644 js/mathjax/loader.js
create mode 100644 js/mathjax/mml-chtml.js
create mode 100644 js/mathjax/mml-svg.js
create mode 100644 js/mathjax/node-main.js
create mode 100644 js/mathjax/output/chtml.js
create mode 100644 js/mathjax/output/chtml/fonts/tex.js
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff
create mode 100644 js/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff
create mode 100644 js/mathjax/output/svg.js
create mode 100644 js/mathjax/output/svg/fonts/tex.js
create mode 100644 js/mathjax/sre/mathmaps/base.json
create mode 100644 js/mathjax/sre/mathmaps/ca.json
create mode 100644 js/mathjax/sre/mathmaps/da.json
create mode 100644 js/mathjax/sre/mathmaps/de.json
create mode 100644 js/mathjax/sre/mathmaps/en.json
create mode 100644 js/mathjax/sre/mathmaps/es.json
create mode 100644 js/mathjax/sre/mathmaps/fr.json
create mode 100644 js/mathjax/sre/mathmaps/hi.json
create mode 100644 js/mathjax/sre/mathmaps/it.json
create mode 100644 js/mathjax/sre/mathmaps/nb.json
create mode 100644 js/mathjax/sre/mathmaps/nemeth.json
create mode 100644 js/mathjax/sre/mathmaps/nn.json
create mode 100644 js/mathjax/sre/mathmaps/sv.json
create mode 100644 js/mathjax/startup.js
create mode 100644 js/mathjax/tex-chtml-full-speech.js
create mode 100644 js/mathjax/tex-chtml-full.js
create mode 100644 js/mathjax/tex-chtml.js
create mode 100644 js/mathjax/tex-mml-chtml.js
create mode 100644 js/mathjax/tex-mml-svg.js
create mode 100644 js/mathjax/tex-svg-full.js
create mode 100644 js/mathjax/tex-svg.js
create mode 100644 js/mathjax/ui/lazy.js
create mode 100644 js/mathjax/ui/menu.js
create mode 100644 js/mathjax/ui/safe.js
create mode 100644 js/mermaid.min.js
create mode 100644 js/perfect-scrollbar.min.js
create mode 100644 js/search.js
create mode 100644 js/swagger-ui/swagger-ui-bundle.js
create mode 100644 js/swagger-ui/swagger-ui-standalone-preset.js
create mode 100644 js/swagger-ui/swagger-ui.css
create mode 100644 js/theme.js
create mode 100644 js/variant.js
create mode 100644 search.html
create mode 100644 sitemap.xml
create mode 100644 tags/index.html
create mode 100644 tags/index.xml
create mode 100644 usage/cli/examples/index.html
create mode 100644 usage/cli/general-instructions/index.html
create mode 100644 usage/cli/index.html
create mode 100644 usage/cli/index.xml
create mode 100644 usage/cli/obtain-a-certificate/index.html
create mode 100644 usage/cli/options/index.html
create mode 100644 usage/cli/renew-a-certificate/index.html
create mode 100644 usage/index.html
create mode 100644 usage/index.xml
create mode 100644 usage/library/index.html
create mode 100644 usage/library/index.xml
create mode 100644 usage/library/writing-a-challenge-solver/index.html
create mode 100644 webfonts/fa-brands-400.ttf
create mode 100644 webfonts/fa-brands-400.woff2
create mode 100644 webfonts/fa-regular-400.ttf
create mode 100644 webfonts/fa-regular-400.woff2
create mode 100644 webfonts/fa-solid-900.ttf
create mode 100644 webfonts/fa-solid-900.woff2
create mode 100644 webfonts/fa-v4compatibility.ttf
create mode 100644 webfonts/fa-v4compatibility.woff2
diff --git a/404.html b/404.html
new file mode 100644
index 0000000000..6ff210a0a7
--- /dev/null
+++ b/404.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 404 Page not found :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4 4
+ Not found
+
+ Whoops. Looks like this page doesn't exist ¯\_(ツ)_/¯.
+
+ Go to homepage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/categories/index.html b/categories/index.html
new file mode 100644
index 0000000000..abaef91689
--- /dev/null
+++ b/categories/index.html
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Categories :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Lego > Categories
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/categories/index.xml b/categories/index.xml
new file mode 100644
index 0000000000..130cdc2e2f
--- /dev/null
+++ b/categories/index.xml
@@ -0,0 +1,11 @@
+
+
+
+ Categories :: Let’s Encrypt client and ACME library written in Go.
+ https://go-acme.github.io/lego/categories/index.html
+
+ Hugo
+ en
+
+
+
\ No newline at end of file
diff --git a/css/auto-complete.css b/css/auto-complete.css
new file mode 100644
index 0000000000..9080dcb0d6
--- /dev/null
+++ b/css/auto-complete.css
@@ -0,0 +1,67 @@
+.autocomplete-suggestions {
+ text-align: start;
+ color-scheme: only light; /* set browser scrollbar color */
+ cursor: default;
+ border: 1px solid rgba( 204, 204, 204, 1 );
+ border-top: 0;
+ background: rgba( 255, 255, 255, 1 );
+ box-shadow: -1px 1px 3px rgba( 0, 0, 0, .1 );
+ width: calc( 100% - 2rem );
+
+ /* core styles should not be changed */
+ position: absolute;
+ display: none;
+ z-index: 9999;
+ max-height: 10em;
+ max-height: calc( 100vh - 10em );
+ overflow: hidden;
+ overflow-y: auto;
+ box-sizing: border-box;
+}
+.autocomplete-suggestion {
+ position: relative;
+ cursor: pointer;
+ padding: .46em;
+ line-height: 1.5em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ color: rgba( 40, 40, 40, 1 );
+}
+
+.autocomplete-suggestion b {
+ font-weight: normal;
+ color: rgba( 31, 141, 214, 1 );
+}
+
+.autocomplete-suggestion.selected {
+ background: rgba( 40, 40, 40, 1 );
+ color: rgba( 255, 255, 255, 1 );
+}
+
+.autocomplete-suggestion:hover,
+.autocomplete-suggestion:focus,
+.autocomplete-suggestion:active,
+.autocomplete-suggestion:hover > .context,
+.autocomplete-suggestion:focus > .context,
+.autocomplete-suggestion:active > .context,
+#R-searchresults .autocomplete-suggestion:hover > .context,
+#R-searchresults .autocomplete-suggestion:focus > .context,
+#R-searchresults .autocomplete-suggestion:active > .context {
+ background: rgba( 56, 56, 56, 1 );
+ color: rgba( 255, 255, 255, 1 );
+}
+
+.autocomplete-suggestion > .breadcrumbs {
+ font-size: .7869em;
+ margin-inline-start: 1em;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.autocomplete-suggestion > .context {
+ font-size: .7869em;
+ margin-inline-start: 1em;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/css/chroma-learn.css b/css/chroma-learn.css
new file mode 100644
index 0000000000..21ba092c32
--- /dev/null
+++ b/css/chroma-learn.css
@@ -0,0 +1,87 @@
+/* based on base16-snazzy */
+/* Background */ .bg { color: #e2e4e5; background-color: #282a36; }
+/* PreWrapper */ .chroma { color: #e2e4e5; background-color: #282a36; }
+/* Other */ .chroma .x { }
+/* Error */ .chroma .err { color: #ff5c57 }
+/* CodeLine */ .chroma .cl { }
+/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
+/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
+/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
+/* LineHighlight */ .chroma .hl { background-color: #505050 }
+/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
+/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
+/* Line */ .chroma .line { display: flex; }
+/* Keyword */ .chroma .k { color: #ff6ac1 }
+/* KeywordConstant */ .chroma .kc { color: #ff6ac1 }
+/* KeywordDeclaration */ .chroma .kd { color: #ff5c57 }
+/* KeywordNamespace */ .chroma .kn { color: #ff6ac1 }
+/* KeywordPseudo */ .chroma .kp { color: #ff6ac1 }
+/* KeywordReserved */ .chroma .kr { color: #ff6ac1 }
+/* KeywordType */ .chroma .kt { color: #9aedfe }
+/* Name */ .chroma .n { }
+/* NameAttribute */ .chroma .na { color: #57c7ff }
+/* NameBuiltin */ .chroma .nb { color: #ff5c57 }
+/* NameBuiltinPseudo */ .chroma .bp { }
+/* NameClass */ .chroma .nc { color: #f3f99d }
+/* NameConstant */ .chroma .no { color: #ff9f43 }
+/* NameDecorator */ .chroma .nd { color: #ff9f43 }
+/* NameEntity */ .chroma .ni { }
+/* NameException */ .chroma .ne { }
+/* NameFunction */ .chroma .nf { color: #57c7ff }
+/* NameFunctionMagic */ .chroma .fm { }
+/* NameLabel */ .chroma .nl { color: #ff5c57 }
+/* NameNamespace */ .chroma .nn { }
+/* NameOther */ .chroma .nx { }
+/* NameProperty */ .chroma .py { }
+/* NameTag */ .chroma .nt { color: #ff6ac1 }
+/* NameVariable */ .chroma .nv { color: #ff5c57 }
+/* NameVariableClass */ .chroma .vc { color: #ff5c57 }
+/* NameVariableGlobal */ .chroma .vg { color: #ff5c57 }
+/* NameVariableInstance */ .chroma .vi { color: #ff5c57 }
+/* NameVariableMagic */ .chroma .vm { }
+/* Literal */ .chroma .l { }
+/* LiteralDate */ .chroma .ld { }
+/* LiteralString */ .chroma .s { color: #5af78e }
+/* LiteralStringAffix */ .chroma .sa { color: #5af78e }
+/* LiteralStringBacktick */ .chroma .sb { color: #5af78e }
+/* LiteralStringChar */ .chroma .sc { color: #5af78e }
+/* LiteralStringDelimiter */ .chroma .dl { color: #5af78e }
+/* LiteralStringDoc */ .chroma .sd { color: #5af78e }
+/* LiteralStringDouble */ .chroma .s2 { color: #5af78e }
+/* LiteralStringEscape */ .chroma .se { color: #5af78e }
+/* LiteralStringHeredoc */ .chroma .sh { color: #5af78e }
+/* LiteralStringInterpol */ .chroma .si { color: #5af78e }
+/* LiteralStringOther */ .chroma .sx { color: #5af78e }
+/* LiteralStringRegex */ .chroma .sr { color: #5af78e }
+/* LiteralStringSingle */ .chroma .s1 { color: #5af78e }
+/* LiteralStringSymbol */ .chroma .ss { color: #5af78e }
+/* LiteralNumber */ .chroma .m { color: #ff9f43 }
+/* LiteralNumberBin */ .chroma .mb { color: #ff9f43 }
+/* LiteralNumberFloat */ .chroma .mf { color: #ff9f43 }
+/* LiteralNumberHex */ .chroma .mh { color: #ff9f43 }
+/* LiteralNumberInteger */ .chroma .mi { color: #ff9f43 }
+/* LiteralNumberIntegerLong */ .chroma .il { color: #ff9f43 }
+/* LiteralNumberOct */ .chroma .mo { color: #ff9f43 }
+/* Operator */ .chroma .o { color: #ff6ac1 }
+/* OperatorWord */ .chroma .ow { color: #ff6ac1 }
+/* Punctuation */ .chroma .p { }
+/* Comment */ .chroma .c { color: #78787e }
+/* CommentHashbang */ .chroma .ch { color: #78787e }
+/* CommentMultiline */ .chroma .cm { color: #78787e }
+/* CommentSingle */ .chroma .c1 { color: #78787e }
+/* CommentSpecial */ .chroma .cs { color: #78787e }
+/* CommentPreproc */ .chroma .cp { color: #78787e }
+/* CommentPreprocFile */ .chroma .cpf { color: #78787e }
+/* Generic */ .chroma .g { }
+/* GenericDeleted */ .chroma .gd { color: #ff5c57 }
+/* GenericEmph */ .chroma .ge { text-decoration: underline }
+/* GenericError */ .chroma .gr { color: #ff5c57 }
+/* GenericHeading */ .chroma .gh { font-weight: bold }
+/* GenericInserted */ .chroma .gi { font-weight: bold }
+/* GenericOutput */ .chroma .go { color: #43454f }
+/* GenericPrompt */ .chroma .gp { }
+/* GenericStrong */ .chroma .gs { font-style: italic }
+/* GenericSubheading */ .chroma .gu { font-weight: bold }
+/* GenericTraceback */ .chroma .gt { }
+/* GenericUnderline */ .chroma .gl { text-decoration: underline }
+/* TextWhitespace */ .chroma .w { }
diff --git a/css/chroma-relearn-light.css b/css/chroma-relearn-light.css
new file mode 100644
index 0000000000..98667eedc4
--- /dev/null
+++ b/css/chroma-relearn-light.css
@@ -0,0 +1,87 @@
+/* based on monokailight */
+/* Background */ .bg { color: #272822; background-color: #fafafa; }
+/* PreWrapper */ .chroma { color: #272822; background-color: #fafafa; }
+/* Other */ .chroma .x { }
+/* Error */ .chroma .err { color: #960050; }
+/* CodeLine */ .chroma .cl { }
+/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
+/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
+/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
+/* LineHighlight */ .chroma .hl { background-color: #e1e1e1 }
+/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
+/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
+/* Line */ .chroma .line { display: flex; }
+/* Keyword */ .chroma .k { color: #00a8c8 }
+/* KeywordConstant */ .chroma .kc { color: #00a8c8 }
+/* KeywordDeclaration */ .chroma .kd { color: #00a8c8 }
+/* KeywordNamespace */ .chroma .kn { color: #f92672 }
+/* KeywordPseudo */ .chroma .kp { color: #00a8c8 }
+/* KeywordReserved */ .chroma .kr { color: #00a8c8 }
+/* KeywordType */ .chroma .kt { color: #00a8c8 }
+/* Name */ .chroma .n { color: #111111 }
+/* NameAttribute */ .chroma .na { color: #75af00 }
+/* NameBuiltin */ .chroma .nb { color: #111111 }
+/* NameBuiltinPseudo */ .chroma .bp { color: #111111 }
+/* NameClass */ .chroma .nc { color: #75af00 }
+/* NameConstant */ .chroma .no { color: #00a8c8 }
+/* NameDecorator */ .chroma .nd { color: #75af00 }
+/* NameEntity */ .chroma .ni { color: #111111 }
+/* NameException */ .chroma .ne { color: #75af00 }
+/* NameFunction */ .chroma .nf { color: #75af00 }
+/* NameFunctionMagic */ .chroma .fm { color: #111111 }
+/* NameLabel */ .chroma .nl { color: #111111 }
+/* NameNamespace */ .chroma .nn { color: #111111 }
+/* NameOther */ .chroma .nx { color: #75af00 }
+/* NameProperty */ .chroma .py { color: #111111 }
+/* NameTag */ .chroma .nt { color: #f92672 }
+/* NameVariable */ .chroma .nv { color: #111111 }
+/* NameVariableClass */ .chroma .vc { color: #111111 }
+/* NameVariableGlobal */ .chroma .vg { color: #111111 }
+/* NameVariableInstance */ .chroma .vi { color: #111111 }
+/* NameVariableMagic */ .chroma .vm { color: #111111 }
+/* Literal */ .chroma .l { color: #ae81ff }
+/* LiteralDate */ .chroma .ld { color: #d88200 }
+/* LiteralString */ .chroma .s { color: #d88200 }
+/* LiteralStringAffix */ .chroma .sa { color: #d88200 }
+/* LiteralStringBacktick */ .chroma .sb { color: #d88200 }
+/* LiteralStringChar */ .chroma .sc { color: #d88200 }
+/* LiteralStringDelimiter */ .chroma .dl { color: #d88200 }
+/* LiteralStringDoc */ .chroma .sd { color: #d88200 }
+/* LiteralStringDouble */ .chroma .s2 { color: #d88200 }
+/* LiteralStringEscape */ .chroma .se { color: #8045ff }
+/* LiteralStringHeredoc */ .chroma .sh { color: #d88200 }
+/* LiteralStringInterpol */ .chroma .si { color: #d88200 }
+/* LiteralStringOther */ .chroma .sx { color: #d88200 }
+/* LiteralStringRegex */ .chroma .sr { color: #d88200 }
+/* LiteralStringSingle */ .chroma .s1 { color: #d88200 }
+/* LiteralStringSymbol */ .chroma .ss { color: #d88200 }
+/* LiteralNumber */ .chroma .m { color: #ae81ff }
+/* LiteralNumberBin */ .chroma .mb { color: #ae81ff }
+/* LiteralNumberFloat */ .chroma .mf { color: #ae81ff }
+/* LiteralNumberHex */ .chroma .mh { color: #ae81ff }
+/* LiteralNumberInteger */ .chroma .mi { color: #ae81ff }
+/* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff }
+/* LiteralNumberOct */ .chroma .mo { color: #ae81ff }
+/* Operator */ .chroma .o { color: #f92672 }
+/* OperatorWord */ .chroma .ow { color: #f92672 }
+/* Punctuation */ .chroma .p { color: #111111 }
+/* Comment */ .chroma .c { color: #a7a187 }
+/* CommentHashbang */ .chroma .ch { color: #a7a187 }
+/* CommentMultiline */ .chroma .cm { color: #a7a187 }
+/* CommentSingle */ .chroma .c1 { color: #a7a187 }
+/* CommentSpecial */ .chroma .cs { color: #a7a187 }
+/* CommentPreproc */ .chroma .cp { color: #a7a187 }
+/* CommentPreprocFile */ .chroma .cpf { color: #a7a187 }
+/* Generic */ .chroma .g { }
+/* GenericDeleted */ .chroma .gd { }
+/* GenericEmph */ .chroma .ge { font-style: italic }
+/* GenericError */ .chroma .gr { }
+/* GenericHeading */ .chroma .gh { }
+/* GenericInserted */ .chroma .gi { }
+/* GenericOutput */ .chroma .go { }
+/* GenericPrompt */ .chroma .gp { }
+/* GenericStrong */ .chroma .gs { font-weight: bold }
+/* GenericSubheading */ .chroma .gu { }
+/* GenericTraceback */ .chroma .gt { }
+/* GenericUnderline */ .chroma .gl { }
+/* TextWhitespace */ .chroma .w { }
diff --git a/css/fontawesome-all.min.css b/css/fontawesome-all.min.css
new file mode 100644
index 0000000000..08cf8326b6
--- /dev/null
+++ b/css/fontawesome-all.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ * Copyright 2024 Fonticons, Inc.
+ */
+.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp-solid,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}
+
+.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-thumb-tack-slash:before,.fa-thumbtack-slash:before{content:"\e68f"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-table-cells-column-lock:before{content:"\e678"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-table-cells-row-lock:before{content:"\e67a"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-table-cells-row-unlock:before{content:"\e691"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}
+.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-jxl:before{content:"\e67b"}.fa-dart-lang:before{content:"\e693"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before,.fa-square-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-web-awesome:before{content:"\e682"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-square-web-awesome-stroke:before{content:"\e684"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-flutter:before{content:"\e694"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-square-upwork:before{content:"\e67c"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-square-web-awesome:before{content:"\e683"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-bluesky:before{content:"\e671"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
\ No newline at end of file
diff --git a/css/fonts.css b/css/fonts.css
new file mode 100644
index 0000000000..46411080fd
--- /dev/null
+++ b/css/fonts.css
@@ -0,0 +1,39 @@
+@font-face {
+ font-family: 'Work Sans';
+ font-style: normal;
+ font-weight: 200;
+ src: url("../fonts/WorkSans-ExtraLight.woff2") format("woff2"), url("../fonts/WorkSans-ExtraLight.woff") format("woff");
+ font-display: swap;
+}
+
+@font-face {
+ font-family: 'Work Sans';
+ font-style: normal;
+ font-weight: 300;
+ src: url("../fonts/WorkSans-Light.woff2") format("woff2"), url("../fonts/WorkSans-Light.woff") format("woff");
+ font-display: swap;
+}
+
+@font-face {
+ font-family: 'Work Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: url("../fonts/WorkSans-Regular.woff2") format("woff2"), url("../fonts/WorkSans-Regular.woff") format("woff");
+ font-display: swap;
+}
+
+@font-face {
+ font-family: 'Work Sans';
+ font-style: normal;
+ font-weight: 500;
+ src: url("../fonts/WorkSans-Medium.woff2") format("woff2"), url("../fonts/WorkSans-Medium.woff") format("woff");
+ font-display: swap;
+}
+
+@font-face {
+ font-family: 'Work Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: url("../fonts/WorkSans-Bold.woff2") format("woff2"), url("../fonts/WorkSans-Bold.woff") format("woff");
+ font-display: swap;
+}
diff --git a/css/format-print.css b/css/format-print.css
new file mode 100644
index 0000000000..a0c99fb553
--- /dev/null
+++ b/css/format-print.css
@@ -0,0 +1,174 @@
+@import "theme-relearn-light.css?1732196118";
+@import "chroma-relearn-light.css?1732196118";
+
+#R-sidebar {
+ display: none;
+}
+#R-body {
+ margin-left: 0 !important;
+ margin-right: 0 !important;
+ min-width: 100% !important;
+ max-width: 100% !important;
+ width: 100% !important;
+}
+#R-body #navigation {
+ display: none;
+}
+html{
+ font-size: 8.763pt;
+}
+body {
+ background-color: rgba( 255, 255, 255, 1 );
+}
+code.copy-to-clipboard-code {
+ border-start-end-radius: 2px;
+ border-end-end-radius: 2px;
+ border-inline-end-width: 1px;
+}
+pre:not(.mermaid) {
+ border: 1px solid rgba( 204, 204, 204, 1 );
+}
+#R-body #R-topbar{
+ background-color: rgba( 255, 255, 255, 1 ); /* avoid background bleeding*/
+ border-bottom: 1px solid rgba( 221, 221, 221, 1 );
+ border-radius: 0;
+ color: rgba( 119, 119, 119, 1 );
+ padding-left: 0; /* for print, we want to align with the footer to ease the layout */
+ padding-right: 0;
+}
+#R-body .topbar-button {
+ /* we don't need the buttons while printing */
+ /* we need !important to turn off JS topbar button handling setting element styles */
+ display: none !important;
+}
+@media screen and (max-width: 47.999rem) {
+ #R-body .topbar-breadcrumbs {
+ visibility: visible;
+ }
+}
+#R-body .copy-to-clipboard-button {
+ display: none;
+}
+
+#R-body .svg-reset-button {
+ display: none;
+}
+
+#R-body h1, #R-body h2, #R-body h3, #R-body .article-subheading, #R-body h4, #R-body h5, #R-body h6 {
+ /* better contrast for colored elements */
+ color: rgba( 0, 0, 0, 1 );
+}
+#R-body th, #R-body td,
+#R-body code, #R-body strong, #R-body b,
+#R-body li, #R-body dd, #R-body dt,
+#R-body p,
+#R-body a, #R-body button, #R-body .badge .badge-content {
+ /* better contrast for colored elements */
+ color: rgba( 0, 0, 0, 1 );
+}
+#R-body .anchor{
+ display: none;
+}
+#R-body pre:not(.mermaid),
+#R-body code {
+ background-color: rgba( 255, 255, 255, 1 );
+ border-color: rgba( 221, 221, 221, 1 );
+}
+
+hr{
+ border-bottom: 1px solid rgba( 221, 221, 221, 1 );
+}
+#R-body #R-body-inner {
+ overflow: visible; /* turn off limitations for perfect scrollbar */
+ /* reset paddings for chapters in screen */
+ padding: 0 3.25rem 4rem 3.25rem;
+}
+
+#R-body #R-body-inner h1 {
+ border-bottom: 1px solid rgba( 221, 221, 221, 1 );
+ margin-bottom: 2rem;
+ padding-bottom: .75rem;
+}
+#R-body-inner .chapter h3:first-of-type {
+ margin-top: 2rem;
+}
+
+/* Children shortcode */
+.children p,
+.children-li p,
+.children-h2 p,
+.children-h3 p {
+ font-size: 1rem;
+}
+
+.footline {
+ /* in print mode show footer line to signal reader the end of document */
+ border-top: 1px solid rgba( 221, 221, 221, 1 );
+ color: rgba( 119, 119, 119, 1 );
+ margin-top: 1.5rem;
+ padding-top: .75rem;
+}
+
+h1 + .footline{
+ /* if we have no content in the page we remove the footer as it is of no real value in print */
+ display: none;
+}
+
+#R-body #R-body-inner .headline a,
+#R-body #R-body-inner .footline a,
+#R-body #R-body-inner .btn a {
+ text-decoration: none;
+}
+#R-body #R-body-inner a {
+ /* in print we want to distinguish links in our content from
+ normal text even if printed black/white;
+ don't use a.highlight in selector to also get links that are
+ put as HTML into markdown */
+ text-decoration-line: underline;
+}
+#R-topbar{
+ /* the header is sticky which is not suitable for print; */
+ position: initial;
+}
+#R-topbar > .topbar-wrapper {
+ background-color: initial;
+}
+#R-body .topbar-sidebar-divider {
+ border-width: 0;
+}
+.term-list {
+ display: none;
+}
+mark.search {
+ background: inherit;
+ color: inherit;
+}
+.mermaid.zoom:hover {
+ border-color: transparent;
+}
+div.box > .box-content {
+ background-color: rgba( 255, 255, 255, 1 );
+}
+
+.btn,
+#R-body .tab-nav-button {
+ color: rgba( 0, 0, 0, 1 );
+}
+#R-body .tab-nav-button.active {
+ border-bottom-color: rgba( 255, 255, 255, 1 );
+ color: rgba( 0, 0, 0, 1 );
+}
+#R-body .tab-nav-button.active > .tab-nav-text {
+ background-color: rgba( 255, 255, 255, 1 );
+}
+#R-body .tab-content-text {
+ background-color: rgba( 255, 255, 255, 1 ) ;
+ color: rgba( 0, 0, 0, 1 );
+}
+
+article {
+ break-before: page;
+}
+#R-body-inner > * > article:first-of-type {
+ break-before: avoid;
+}
diff --git a/css/nucleus.css b/css/nucleus.css
new file mode 100644
index 0000000000..3b83873dbf
--- /dev/null
+++ b/css/nucleus.css
@@ -0,0 +1,258 @@
+*, *::before, *::after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+
+@-webkit-viewport {
+ width: device-width; }
+@-moz-viewport {
+ width: device-width; }
+@-o-viewport {
+ width: device-width; }
+@viewport {
+ width: device-width; }
+html {
+ font-size: 16px;
+ -webkit-text-size-adjust: 100%;
+ text-size-adjust: 100%; }
+
+body {
+ margin: 0; }
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block; }
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ vertical-align: baseline; }
+
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+[hidden],
+template {
+ display: none; }
+
+a {
+ background: transparent;
+ text-decoration: none; }
+
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+b,
+strong {
+ font-weight: bold; }
+
+dfn {
+ font-style: italic; }
+
+sub,
+sup {
+ font-size: 0.8rem;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+iframe {
+ border: 0; }
+
+img {
+ border: 0;
+ max-width: 100%; }
+
+svg:not(:root) {
+ overflow: hidden; }
+
+figure {
+ margin: 1rem 2.5rem; }
+
+hr {
+ height: 0; }
+
+pre:not(.mermaid) {
+ overflow: auto; }
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ font: inherit;
+ margin: 0; }
+
+button {
+ overflow: visible;
+ padding: 0; }
+
+button,
+select {
+ text-transform: none; }
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer; }
+
+button[disabled],
+html input[disabled] {
+ cursor: default; }
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+input {
+ line-height: normal; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ padding: 0; }
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+input[type="search"] {
+ -webkit-appearance: textfield; }
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+legend {
+ border: 0;
+ padding: 0; }
+
+textarea {
+ overflow: auto; }
+
+optgroup {
+ font-weight: bold; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ table-layout: fixed;
+ width: 100%; }
+
+tr, td, th {
+ vertical-align: middle; }
+
+th, td {
+ padding: 0.425rem 0; }
+
+th {
+ text-align: start; }
+
+p {
+ margin: 1rem 0; }
+
+ul, ol {
+ margin-top: 1rem;
+ margin-bottom: 1rem; }
+ ul ul, ul ol, ol ul, ol ol {
+ margin-top: 0;
+ margin-bottom: 0; }
+
+blockquote {
+ margin: 1.5rem 0;
+ padding-inline-start: 0.85rem; }
+
+cite {
+ display: block;
+ font-size: 0.925rem; }
+ cite:before {
+ content: "\2014 \0020"; }
+
+pre:not(.mermaid) {
+ margin: 1.5rem 0;
+ padding: 0.938rem; }
+
+code {
+ vertical-align: bottom; }
+
+small {
+ font-size: 0.925rem; }
+
+hr {
+ border-left: none;
+ border-right: none;
+ border-top: none;
+ margin: 1.5rem 0; }
+
+fieldset {
+ border: 0;
+ padding: 0.938rem;
+ margin: 0 0 1rem 0; }
+
+input,
+label,
+select {
+ display: block; }
+
+label {
+ margin-bottom: 0.425rem; }
+ label.required:after {
+ content: "*"; }
+ label abbr {
+ display: none; }
+
+textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] {
+ -webkit-transition: border-color;
+ -moz-transition: border-color;
+ transition: border-color;
+ border-radius: 0.1875rem;
+ margin-bottom: 0.85rem;
+ padding: 0.425rem 0.425rem;
+ width: 100%; }
+ textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
+ outline: none; }
+
+textarea {
+ resize: vertical; }
+
+input[type="checkbox"], input[type="radio"] {
+ display: inline;
+ margin-inline-end: 0.425rem; }
+
+input[type="file"] {
+ width: 100%; }
+
+select {
+ width: auto;
+ max-width: 100%;
+ margin-bottom: 1rem; }
+
+button,
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+ white-space: nowrap;
+ border: inherit; }
diff --git a/css/perfect-scrollbar.min.css b/css/perfect-scrollbar.min.css
new file mode 100644
index 0000000000..a8d1f8abd2
--- /dev/null
+++ b/css/perfect-scrollbar.min.css
@@ -0,0 +1 @@
+:root{--ps-thumb-color:#aaa;--ps-thumb-hover-color:#999;--ps-rail-hover-color:#eee}.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}@media (hover:hover){.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}@media (hover:hover){.ps .ps__rail-x:hover,.ps .ps__rail-y:hover{background-color:#eee;background-color:var(--ps-rail-hover-color);opacity:.9}}.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;background-color:var(--ps-rail-hover-color);opacity:.9}.ps__thumb-x{background-color:#aaa;background-color:var(--ps-thumb-color);border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;background-color:var(--ps-thumb-color);border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}@media (hover:hover){.ps__rail-x:hover>.ps__thumb-x{background-color:#999;background-color:var(--ps-thumb-hover-color);height:11px}}.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;background-color:var(--ps-thumb-hover-color);height:11px}@media (hover:hover){.ps__rail-y:hover>.ps__thumb-y{background-color:#999;background-color:var(--ps-thumb-hover-color);width:11px}}.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;background-color:var(--ps-thumb-hover-color);width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ps{overflow:auto!important}}
\ No newline at end of file
diff --git a/css/print.css b/css/print.css
new file mode 100644
index 0000000000..38ed231724
--- /dev/null
+++ b/css/print.css
@@ -0,0 +1 @@
+@import "format-print.css?1732196118";
diff --git a/css/swagger-dark.css b/css/swagger-dark.css
new file mode 100644
index 0000000000..527be0ea90
--- /dev/null
+++ b/css/swagger-dark.css
@@ -0,0 +1,2045 @@
+/*
+ _______
+ / \
+ .==. .==.
+ (( ))==(( ))
+ / "==" "=="\
+ /____|| || ||___\
+ ________ ____ ________ ___ ___
+ | ___ \ / \ | ___ \ | | / /
+ | | \ \ / /\ \ | | \ \| |_/ /
+ | | ) / /__\ \ | |__/ /| ___ \
+ | |__/ / ______ \| ____ \| | \ \
+_______|_______/__/ ____ \__\__|___\__\__|___\__\____
+| ___ \ | ____/ / \ | ___ \ | ____| ___ \
+| | \ \| |___ / /\ \ | | \ \| |___| | \ \
+| |__/ /| ____/ /__\ \ | | ) | ____| |__/ /
+| ____ \| |__/ ______ \| |__/ /| |___| ____ \
+|__| \__\____/__/ \__\_______/ |______|__| \__\
+ https://darkreader.org
+*/
+
+/*! Dark reader generated CSS | Licensed under MIT https://github.com/darkreader/darkreader/blob/main/LICENSE */
+
+/* User-Agent Style */
+html {
+ background-color-relearn: var(--INTERNAL-MAIN-BG-color) !important;
+}
+html {
+ color-scheme-relearn: var(--INTERNAL-BROWSER-theme) !important;
+}
+html, body {
+ background-color-relearn: var(--INTERNAL-MAIN-BG-color);
+}
+html, body {
+ border-color: #736b5e;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+a {
+ color-relearn: var(--INTERNAL-MAIN-LINK-color);
+}
+table {
+ border-color: #545b5e;
+}
+::placeholder {
+ color: #b2aba1;
+}
+input:-webkit-autofill,
+textarea:-webkit-autofill,
+select:-webkit-autofill {
+ background-color: #404400 !important;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color) !important;
+}
+::-webkit-scrollbar {
+ background-color: #202324;
+ color: #aba499;
+}
+::-webkit-scrollbar-thumb {
+ background-color: #454a4d;
+}
+::-webkit-scrollbar-thumb:hover {
+ background-color: #575e62;
+}
+::-webkit-scrollbar-thumb:active {
+ background-color: #484e51;
+}
+::-webkit-scrollbar-corner {
+ background-color-relearn: var(--INTERNAL-MAIN-BG-color);
+}
+::selection {
+ background-color: #004daa !important;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color) !important;
+}
+::-moz-selection {
+ background-color: #004daa !important;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color) !important;
+}
+
+/* Text Style */
+*:not(pre, pre *, code, .far, .fa, .glyphicon, [class*="vjs-"], .fab, .fa-github, .fas, .material-icons, .icofont, .typcn, mu, [class*="mu-"], .glyphicon, .icon) {
+ font-family-relearn: var(--INTERNAL-MAIN-font) !important;
+}
+
+/* Invert Style */
+.jfk-bubble.gtx-bubble, .captcheck_answer_label > input + img, span#closed_text > img[src^="https://www.gstatic.com/images/branding/googlelogo"], span[data-href^="https://www.hcaptcha.com/"] > #icon, #bit-notification-bar-iframe, ::-webkit-calendar-picker-indicator {
+ filter: invert(100%) hue-rotate(180deg) contrast(90%) !important;
+}
+
+/* Variables Style */
+:root {
+ --darkreader-neutral-background-relearn: var(--INTERNAL-MAIN-font);
+ --darkreader-neutral-text-relearn: var(--INTERNAL-MAIN-TEXT-color);
+ --darkreader-selection-background: #004daa;
+ --darkreader-selection-text-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+/* Modified CSS */
+.swagger-ui {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui a {
+ background-color: transparent;
+}
+.swagger-ui abbr[title] {
+ border-bottom-color: initial;
+ text-decoration-color: initial;
+}
+.swagger-ui mark {
+ background-color: rgb(153, 153, 0);
+ color: rgb(232, 230, 227);
+}
+.swagger-ui legend {
+ color: inherit;
+}
+.swagger-ui .debug * {
+ outline-color: rgb(179, 151, 0);
+}
+.swagger-ui .debug-white * {
+ outline-color: rgb(48, 52, 54);
+}
+.swagger-ui .debug-black * {
+ outline-color: rgb(140, 130, 115);
+}
+.swagger-ui .debug-grid {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==");
+ background-color: transparent;
+}
+.swagger-ui .debug-grid-16 {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC");
+ background-color: transparent;
+}
+.swagger-ui .debug-grid-8-solid {
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOCIgaGVpZ2h0PSI4Ij48ZGVmcz48ZmlsdGVyIGlkPSJkYXJrcmVhZGVyLWltYWdlLWZpbHRlciI+PGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAuMzMzIC0wLjY2NyAtMC42NjcgMC4wMDAgMS4wMDAgLTAuNjY3IDAuMzMzIC0wLjY2NyAwLjAwMCAxLjAwMCAtMC42NjcgLTAuNjY3IDAuMzMzIDAuMDAwIDEuMDAwIDAuMDAwIDAuMDAwIDAuMDAwIDEuMDAwIDAuMDAwIiAvPjwvZmlsdGVyPjwvZGVmcz48aW1hZ2Ugd2lkdGg9IjgiIGhlaWdodD0iOCIgZmlsdGVyPSJ1cmwoI2RhcmtyZWFkZXItaW1hZ2UtZmlsdGVyKSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNFFBWVJYaHBaZ0FBU1VrcUFBZ0FBQUFBQUFBQUFBQUFBUC9zQUJGRWRXTnJlUUFCQUFRQUFBQUFBQUQvNFFNeGFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x3QThQM2h3WVdOclpYUWdZbVZuYVc0OUl1Kzd2eUlnYVdROUlsYzFUVEJOY0VObGFHbEllbkpsVTNwT1ZHTjZhMk01WkNJL1BpQThlRHA0YlhCdFpYUmhJSGh0Ykc1ek9uZzlJbUZrYjJKbE9tNXpPbTFsZEdFdklpQjRPbmh0Y0hSclBTSkJaRzlpWlNCWVRWQWdRMjl5WlNBMUxqWXRZekV4TVNBM09TNHhOVGd6TWpVc0lESXdNVFV2TURrdk1UQXRNREU2TVRBNk1qQWdJQ0FnSUNBZ0lDSStJRHh5WkdZNlVrUkdJSGh0Ykc1ek9uSmtaajBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOHdNaTh5TWkxeVpHWXRjM2x1ZEdGNExXNXpJeUkrSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUlIaHRiRzV6T25odGNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMeUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0YlhBNlEzSmxZWFJ2Y2xSdmIydzlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMUlDaE5ZV05wYm5SdmMyZ3BJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0l4TWpJME9UY3pOamRDTXpFeFJUWkNNa0pEUlRJME1EZ3hNREF5TVRjeElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSXhNakkwT1RjME5qZENNekV4UlRaQ01rSkRSVEkwTURneE1EQXlNVGN4SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFqRXlNalE1TnpFMk4wSXpNVEZGTmtJeVFrTkZNalF3T0RFd01ESXhOekVpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UWpFeU1qUTVOekkyTjBJek1URkZOa0l5UWtORk1qUXdPREV3TURJeE56RWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejcvN2dBT1FXUnZZbVVBWk1BQUFBQUIvOXNBaEFBYkdob3BIU2xCSmlaQlFpOHZMMEpIUHo0K1AwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSEFSMHBLVFFtTkQ4b0tEOUhQelUvUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZEhSMGRIUjBkSFIwZi93QUFSQ0FBSUFBZ0RBU0lBQWhFQkF4RUIvOFFBV1FBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFZQkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFJRUVBRUJBQU1CQUFBQUFBQUFBQUFBQUFBQkFERUNBMEVSQUFFREJRQUFBQUFBQUFBQUFBQUFBQUFSSVRGQlVXRVNJdi9hQUF3REFRQUNFUU1SQUQ4QW9PblRWMVFURDdKSnNoUDN2U00zUC8vWiIgLz48L3N2Zz4=");
+ background-color: rgb(24, 26, 27);
+}
+.swagger-ui .debug-grid-16-solid {
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxkZWZzPjxmaWx0ZXIgaWQ9ImRhcmtyZWFkZXItaW1hZ2UtZmlsdGVyIj48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4zMzMgLTAuNjY3IC0wLjY2NyAwLjAwMCAxLjAwMCAtMC42NjcgMC4zMzMgLTAuNjY3IDAuMDAwIDEuMDAwIC0wLjY2NyAtMC42NjcgMC4zMzMgMC4wMDAgMS4wMDAgMC4wMDAgMC4wMDAgMC4wMDAgMS4wMDAgMC4wMDAiIC8+PC9maWx0ZXI+PC9kZWZzPjxpbWFnZSB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbHRlcj0idXJsKCNkYXJrcmVhZGVyLWltYWdlLWZpbHRlcikiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBSUFBQUNRa1dnMkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeWhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTVRFeElEYzVMakUxT0RNeU5Td2dNakF4TlM4d09TOHhNQzB3TVRveE1Eb3lNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UVWdLRTFoWTJsdWRHOXphQ2tpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TnpZM01rSkVOMFUyTjBNMU1URkZOa0l5UWtORk1qUXdPREV3TURJeE56RWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOelkzTWtKRU4wWTJOME0xTVRGRk5rSXlRa05GTWpRd09ERXdNREl4TnpFaVBpQThlRzF3VFUwNlJHVnlhWFpsWkVaeWIyMGdjM1JTWldZNmFXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzNOamN5UWtRM1F6WTNRelV4TVVVMlFqSkNRMFV5TkRBNE1UQXdNakUzTVNJZ2MzUlNaV1k2Wkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvM05qY3lRa1EzUkRZM1F6VXhNVVUyUWpKQ1EwVXlOREE0TVRBd01qRTNNU0l2UGlBOEwzSmtaanBFWlhOamNtbHdkR2x2Ymo0Z1BDOXlaR1k2VWtSR1BpQThMM2c2ZUcxd2JXVjBZVDRnUEQ5NGNHRmphMlYwSUdWdVpEMGljaUkvUHZlNkoza0FBQUF6U1VSQlZIamFZdnovL3o4RDBVRHNNd01qU1JvWVA1R3E0U1BOYlJqVk1FUTFmQ1JEZytpbi82K0oxQUpVeHNnQUVHQUEzMUJBSk1TMEdZRUFBQUFBU1VWT1JLNUNZSUk9IiAvPjwvc3ZnPg==");
+ background-color: rgb(24, 26, 27);
+}
+.swagger-ui .outline {
+ outline-color: initial;
+}
+.swagger-ui .outline-transparent {
+ outline-color: transparent;
+}
+.swagger-ui .outline-0 {
+ outline-color: initial;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .outline-ns {
+ outline-color: initial;
+ }
+ .swagger-ui .outline-transparent-ns {
+ outline-color: transparent;
+ }
+ .swagger-ui .outline-0-ns {
+ outline-color: initial;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .outline-m {
+ outline-color: initial;
+ }
+ .swagger-ui .outline-transparent-m {
+ outline-color: transparent;
+ }
+ .swagger-ui .outline-0-m {
+ outline-color: initial;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .outline-l {
+ outline-color: initial;
+ }
+ .swagger-ui .outline-transparent-l {
+ outline-color: transparent;
+ }
+ .swagger-ui .outline-0-l {
+ outline-color: initial;
+ }
+}
+.swagger-ui .b--black {
+ border-color: rgb(140, 130, 115);
+}
+.swagger-ui .b--near-black {
+ border-color: rgb(134, 125, 110);
+}
+.swagger-ui .b--dark-gray {
+ border-color: rgb(123, 114, 101);
+}
+.swagger-ui .b--mid-gray {
+ border-color: rgb(112, 104, 92);
+}
+.swagger-ui .b--gray {
+ border-color: rgb(101, 94, 83);
+}
+.swagger-ui .b--silver {
+ border-color: rgb(77, 83, 86);
+}
+.swagger-ui .b--light-silver {
+ border-color: rgb(72, 78, 81);
+}
+.swagger-ui .b--moon-gray {
+ border-color: rgb(62, 68, 70);
+}
+.swagger-ui .b--light-gray {
+ border-color: rgb(53, 57, 59);
+}
+.swagger-ui .b--near-white {
+ border-color: rgb(51, 55, 57);
+}
+.swagger-ui .b--white {
+ border-color: rgb(48, 52, 54);
+}
+.swagger-ui .b--white-90 {
+ border-color: rgba(48, 52, 54, 0.9);
+}
+.swagger-ui .b--white-80 {
+ border-color: rgba(48, 52, 54, 0.8);
+}
+.swagger-ui .b--white-70 {
+ border-color: rgba(48, 52, 54, 0.7);
+}
+.swagger-ui .b--white-60 {
+ border-color: rgba(48, 52, 54, 0.6);
+}
+.swagger-ui .b--white-50 {
+ border-color: rgba(48, 52, 54, 0.5);
+}
+.swagger-ui .b--white-40 {
+ border-color: rgba(48, 52, 54, 0.4);
+}
+.swagger-ui .b--white-30 {
+ border-color: rgba(48, 52, 54, 0.3);
+}
+.swagger-ui .b--white-20 {
+ border-color: rgba(48, 52, 54, 0.2);
+}
+.swagger-ui .b--white-10 {
+ border-color: rgba(48, 52, 54, 0.1);
+}
+.swagger-ui .b--white-05 {
+ border-color: rgba(48, 52, 54, 0.05);
+}
+.swagger-ui .b--white-025 {
+ border-color: rgba(48, 52, 54, 0.02);
+}
+.swagger-ui .b--white-0125 {
+ border-color: rgba(48, 52, 54, 0.01);
+}
+.swagger-ui .b--black-90 {
+ border-color: rgba(140, 130, 115, 0.9);
+}
+.swagger-ui .b--black-80 {
+ border-color: rgba(140, 130, 115, 0.8);
+}
+.swagger-ui .b--black-70 {
+ border-color: rgba(140, 130, 115, 0.7);
+}
+.swagger-ui .b--black-60 {
+ border-color: rgba(140, 130, 115, 0.6);
+}
+.swagger-ui .b--black-50 {
+ border-color: rgba(140, 130, 115, 0.5);
+}
+.swagger-ui .b--black-40 {
+ border-color: rgba(140, 130, 115, 0.4);
+}
+.swagger-ui .b--black-30 {
+ border-color: rgba(140, 130, 115, 0.3);
+}
+.swagger-ui .b--black-20 {
+ border-color: rgba(140, 130, 115, 0.2);
+}
+.swagger-ui .b--black-10 {
+ border-color: rgba(140, 130, 115, 0.1);
+}
+.swagger-ui .b--black-05 {
+ border-color: rgba(140, 130, 115, 0.05);
+}
+.swagger-ui .b--black-025 {
+ border-color: rgba(140, 130, 115, 0.02);
+}
+.swagger-ui .b--black-0125 {
+ border-color: rgba(140, 130, 115, 0.01);
+}
+.swagger-ui .b--dark-red {
+ border-color: rgb(181, 3, 12);
+}
+.swagger-ui .b--red {
+ border-color: rgb(162, 9, 0);
+}
+.swagger-ui .b--light-red {
+ border-color: rgb(151, 20, 0);
+}
+.swagger-ui .b--orange {
+ border-color: rgb(179, 69, 0);
+}
+.swagger-ui .b--gold {
+ border-color: rgb(179, 128, 0);
+}
+.swagger-ui .b--yellow {
+ border-color: rgb(179, 151, 0);
+}
+.swagger-ui .b--light-yellow {
+ border-color: rgb(123, 109, 6);
+}
+.swagger-ui .b--purple {
+ border-color: rgb(86, 40, 152);
+}
+.swagger-ui .b--light-purple {
+ border-color: rgb(70, 12, 141);
+}
+.swagger-ui .b--dark-pink {
+ border-color: rgb(191, 0, 128);
+}
+.swagger-ui .b--hot-pink {
+ border-color: rgb(159, 0, 96);
+}
+.swagger-ui .b--pink {
+ border-color: rgb(140, 0, 84);
+}
+.swagger-ui .b--light-pink {
+ border-color: rgb(130, 0, 73);
+}
+.swagger-ui .b--dark-green {
+ border-color: rgb(29, 184, 127);
+}
+.swagger-ui .b--green {
+ border-color: rgb(25, 171, 118);
+}
+.swagger-ui .b--light-green {
+ border-color: rgb(23, 114, 81);
+}
+.swagger-ui .b--navy {
+ border-color: rgb(129, 120, 106);
+}
+.swagger-ui .b--dark-blue {
+ border-color: rgb(0, 89, 208);
+}
+.swagger-ui .b--blue {
+ border-color: rgb(25, 78, 148);
+}
+.swagger-ui .b--light-blue {
+ border-color: rgb(0, 69, 133);
+}
+.swagger-ui .b--lightest-blue {
+ border-color: rgb(0, 73, 117);
+}
+.swagger-ui .b--washed-blue {
+ border-color: rgb(0, 105, 93);
+}
+.swagger-ui .b--washed-green {
+ border-color: rgb(9, 101, 66);
+}
+.swagger-ui .b--washed-yellow {
+ border-color: rgb(108, 92, 0);
+}
+.swagger-ui .b--washed-red {
+ border-color: rgb(112, 0, 0);
+}
+.swagger-ui .b--transparent {
+ border-color: transparent;
+}
+.swagger-ui .b--inherit {
+ border-color: inherit;
+}
+.swagger-ui .shadow-1 {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 4px 2px;
+}
+.swagger-ui .shadow-2 {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px 2px;
+}
+.swagger-ui .shadow-3 {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 4px 2px;
+}
+.swagger-ui .shadow-4 {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 8px 0px;
+}
+.swagger-ui .shadow-5 {
+ box-shadow: rgba(0, 0, 0, 0.2) 4px 4px 8px 0px;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .shadow-1-ns {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 4px 2px;
+ }
+ .swagger-ui .shadow-2-ns {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px 2px;
+ }
+ .swagger-ui .shadow-3-ns {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 4px 2px;
+ }
+ .swagger-ui .shadow-4-ns {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 8px 0px;
+ }
+ .swagger-ui .shadow-5-ns {
+ box-shadow: rgba(0, 0, 0, 0.2) 4px 4px 8px 0px;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .shadow-1-m {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 4px 2px;
+ }
+ .swagger-ui .shadow-2-m {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px 2px;
+ }
+ .swagger-ui .shadow-3-m {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 4px 2px;
+ }
+ .swagger-ui .shadow-4-m {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 8px 0px;
+ }
+ .swagger-ui .shadow-5-m {
+ box-shadow: rgba(0, 0, 0, 0.2) 4px 4px 8px 0px;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .shadow-1-l {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 4px 2px;
+ }
+ .swagger-ui .shadow-2-l {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px 2px;
+ }
+ .swagger-ui .shadow-3-l {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 4px 2px;
+ }
+ .swagger-ui .shadow-4-l {
+ box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 8px 0px;
+ }
+ .swagger-ui .shadow-5-l {
+ box-shadow: rgba(0, 0, 0, 0.2) 4px 4px 8px 0px;
+ }
+}
+.swagger-ui .link {
+ text-decoration-color: initial;
+}
+.swagger-ui .link:focus {
+ outline-color: currentcolor;
+}
+.swagger-ui .black-90 {
+ color: rgba(232, 230, 227, 0.9);
+}
+.swagger-ui .black-80 {
+ color: rgba(232, 230, 227, 0.8);
+}
+.swagger-ui .black-70 {
+ color: rgba(232, 230, 227, 0.7);
+}
+.swagger-ui .black-60 {
+ color: rgba(232, 230, 227, 0.6);
+}
+.swagger-ui .black-50 {
+ color: rgba(232, 230, 227, 0.5);
+}
+.swagger-ui .black-40 {
+ color: rgba(232, 230, 227, 0.4);
+}
+.swagger-ui .black-30 {
+ color: rgba(232, 230, 227, 0.3);
+}
+.swagger-ui .black-20 {
+ color: rgba(232, 230, 227, 0.2);
+}
+.swagger-ui .black-10 {
+ color: rgba(232, 230, 227, 0.1);
+}
+.swagger-ui .black-05 {
+ color: rgba(232, 230, 227, 0.05);
+}
+.swagger-ui .white-90 {
+ color: rgba(232, 230, 227, 0.9);
+}
+.swagger-ui .white-80 {
+ color: rgba(232, 230, 227, 0.8);
+}
+.swagger-ui .white-70 {
+ color: rgba(232, 230, 227, 0.7);
+}
+.swagger-ui .white-60 {
+ color: rgba(232, 230, 227, 0.6);
+}
+.swagger-ui .white-50 {
+ color: rgba(232, 230, 227, 0.5);
+}
+.swagger-ui .white-40 {
+ color: rgba(232, 230, 227, 0.4);
+}
+.swagger-ui .white-30 {
+ color: rgba(232, 230, 227, 0.3);
+}
+.swagger-ui .white-20 {
+ color: rgba(232, 230, 227, 0.2);
+}
+.swagger-ui .white-10 {
+ color: rgba(232, 230, 227, 0.1);
+}
+.swagger-ui .black {
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .near-black {
+ color: rgb(221, 218, 214);
+}
+.swagger-ui .dark-gray {
+ color: rgb(200, 195, 188);
+}
+.swagger-ui .mid-gray {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .gray {
+ color: rgb(157, 148, 136);
+}
+.swagger-ui .silver {
+ color: rgb(168, 160, 149);
+}
+.swagger-ui .light-silver {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .moon-gray {
+ color: rgb(200, 195, 188);
+}
+.swagger-ui .light-gray {
+ color: rgb(221, 218, 214);
+}
+.swagger-ui .near-white {
+ color: rgb(225, 222, 219);
+}
+.swagger-ui .white {
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .dark-red {
+ color: rgb(251, 43, 53);
+}
+.swagger-ui .red {
+ color: rgb(255, 74, 63);
+}
+.swagger-ui .light-red {
+ color: rgb(255, 112, 90);
+}
+.swagger-ui .orange {
+ color: rgb(255, 115, 26);
+}
+.swagger-ui .gold {
+ color: rgb(255, 190, 26);
+}
+.swagger-ui .yellow {
+ color: rgb(255, 219, 26);
+}
+.swagger-ui .light-yellow {
+ color: rgb(250, 237, 146);
+}
+.swagger-ui .purple {
+ color: rgb(146, 99, 213);
+}
+.swagger-ui .light-purple {
+ color: rgb(164, 99, 242);
+}
+.swagger-ui .dark-pink {
+ color: rgb(255, 55, 189);
+}
+.swagger-ui .hot-pink {
+ color: rgb(255, 71, 182);
+}
+.swagger-ui .pink {
+ color: rgb(255, 115, 199);
+}
+.swagger-ui .light-pink {
+ color: rgb(255, 140, 205);
+}
+.swagger-ui .dark-green {
+ color: rgb(128, 235, 195);
+}
+.swagger-ui .green {
+ color: rgb(92, 231, 180);
+}
+.swagger-ui .light-green {
+ color: rgb(145, 232, 200);
+}
+.swagger-ui .navy {
+ color: rgb(211, 207, 201);
+}
+.swagger-ui .dark-blue {
+ color: rgb(109, 186, 255);
+}
+.swagger-ui .blue {
+ color: rgb(70, 151, 224);
+}
+.swagger-ui .light-blue {
+ color: rgb(131, 200, 255);
+}
+.swagger-ui .lightest-blue {
+ color: rgb(169, 222, 255);
+}
+.swagger-ui .washed-blue {
+ color: rgb(198, 255, 249);
+}
+.swagger-ui .washed-green {
+ color: rgb(192, 250, 228);
+}
+.swagger-ui .washed-yellow {
+ color: rgb(255, 245, 190);
+}
+.swagger-ui .washed-red {
+ color: rgb(255, 182, 182);
+}
+.swagger-ui .color-inherit {
+ color: inherit;
+}
+.swagger-ui .bg-black-90 {
+ background-color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .bg-black-80 {
+ background-color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .bg-black-70 {
+ background-color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .bg-black-60 {
+ background-color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .bg-black-50 {
+ background-color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .bg-black-40 {
+ background-color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .bg-black-30 {
+ background-color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .bg-black-20 {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .bg-black-10 {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .bg-black-05 {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+.swagger-ui .bg-white-90 {
+ background-color: rgba(24, 26, 27, 0.9);
+}
+.swagger-ui .bg-white-80 {
+ background-color: rgba(24, 26, 27, 0.8);
+}
+.swagger-ui .bg-white-70 {
+ background-color: rgba(24, 26, 27, 0.7);
+}
+.swagger-ui .bg-white-60 {
+ background-color: rgba(24, 26, 27, 0.6);
+}
+.swagger-ui .bg-white-50 {
+ background-color: rgba(24, 26, 27, 0.5);
+}
+.swagger-ui .bg-white-40 {
+ background-color: rgba(24, 26, 27, 0.4);
+}
+.swagger-ui .bg-white-30 {
+ background-color: rgba(24, 26, 27, 0.3);
+}
+.swagger-ui .bg-white-20 {
+ background-color: rgba(24, 26, 27, 0.2);
+}
+.swagger-ui .bg-white-10 {
+ background-color: rgba(24, 26, 27, 0.1);
+}
+.swagger-ui .bg-black {
+ background-color: rgb(0, 0, 0);
+}
+.swagger-ui .bg-near-black {
+ background-color: rgb(13, 14, 14);
+}
+.swagger-ui .bg-dark-gray {
+ background-color: rgb(38, 42, 43);
+}
+.swagger-ui .bg-mid-gray {
+ background-color: rgb(64, 69, 72);
+}
+.swagger-ui .bg-gray {
+ background-color: rgb(90, 97, 101);
+}
+.swagger-ui .bg-silver {
+ background-color: rgb(82, 88, 92);
+}
+.swagger-ui .bg-light-silver {
+ background-color: rgb(72, 78, 81);
+}
+.swagger-ui .bg-moon-gray {
+ background-color: rgb(53, 57, 59);
+}
+.swagger-ui .bg-light-gray {
+ background-color: rgb(34, 36, 38);
+}
+.swagger-ui .bg-near-white {
+ background-color: rgb(30, 33, 34);
+}
+.swagger-ui .bg-white {
+ background-color: rgb(24, 26, 27);
+}
+.swagger-ui .bg-transparent {
+ background-color: transparent;
+}
+.swagger-ui .bg-dark-red {
+ background-color: rgb(185, 3, 12);
+}
+.swagger-ui .bg-red {
+ background-color: rgb(172, 9, 0);
+}
+.swagger-ui .bg-light-red {
+ background-color: rgb(149, 20, 0);
+}
+.swagger-ui .bg-orange {
+ background-color: rgb(204, 79, 0);
+}
+.swagger-ui .bg-gold {
+ background-color: rgb(153, 110, 0);
+}
+.swagger-ui .bg-yellow {
+ background-color: rgb(153, 129, 0);
+}
+.swagger-ui .bg-light-yellow {
+ background-color: rgb(75, 67, 4);
+}
+.swagger-ui .bg-purple {
+ background-color: rgb(75, 35, 132);
+}
+.swagger-ui .bg-light-purple {
+ background-color: rgb(70, 12, 141);
+}
+.swagger-ui .bg-dark-pink {
+ background-color: rgb(170, 0, 114);
+}
+.swagger-ui .bg-hot-pink {
+ background-color: rgb(165, 0, 100);
+}
+.swagger-ui .bg-pink {
+ background-color: rgb(127, 0, 76);
+}
+.swagger-ui .bg-light-pink {
+ background-color: rgb(106, 0, 60);
+}
+.swagger-ui .bg-dark-green {
+ background-color: rgb(15, 95, 66);
+}
+.swagger-ui .bg-green {
+ background-color: rgb(20, 135, 93);
+}
+.swagger-ui .bg-light-green {
+ background-color: rgb(21, 100, 79);
+}
+.swagger-ui .bg-navy {
+ background-color: rgb(0, 22, 54);
+}
+.swagger-ui .bg-dark-blue {
+ background-color: rgb(0, 54, 126);
+}
+.swagger-ui .bg-blue {
+ background-color: rgb(28, 87, 165);
+}
+.swagger-ui .bg-light-blue {
+ background-color: rgb(0, 59, 114);
+}
+.swagger-ui .bg-lightest-blue {
+ background-color: rgb(38, 41, 43);
+}
+.swagger-ui .bg-washed-blue {
+ background-color: rgb(0, 56, 52);
+}
+.swagger-ui .bg-washed-green {
+ background-color: rgb(5, 61, 45);
+}
+.swagger-ui .bg-washed-yellow {
+ background-color: rgb(47, 40, 0);
+}
+.swagger-ui .bg-washed-red {
+ background-color: rgb(70, 0, 0);
+}
+.swagger-ui .bg-inherit {
+ background-color: inherit;
+}
+.swagger-ui .hover-black:focus,
+.swagger-ui .hover-black:hover {
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .hover-near-black:focus,
+.swagger-ui .hover-near-black:hover {
+ color: rgb(221, 218, 214);
+}
+.swagger-ui .hover-dark-gray:focus,
+.swagger-ui .hover-dark-gray:hover {
+ color: rgb(200, 195, 188);
+}
+.swagger-ui .hover-mid-gray:focus,
+.swagger-ui .hover-mid-gray:hover {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .hover-gray:focus,
+.swagger-ui .hover-gray:hover {
+ color: rgb(157, 148, 136);
+}
+.swagger-ui .hover-silver:focus,
+.swagger-ui .hover-silver:hover {
+ color: rgb(168, 160, 149);
+}
+.swagger-ui .hover-light-silver:focus,
+.swagger-ui .hover-light-silver:hover {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .hover-moon-gray:focus,
+.swagger-ui .hover-moon-gray:hover {
+ color: rgb(200, 195, 188);
+}
+.swagger-ui .hover-light-gray:focus,
+.swagger-ui .hover-light-gray:hover {
+ color: rgb(221, 218, 214);
+}
+.swagger-ui .hover-near-white:focus,
+.swagger-ui .hover-near-white:hover {
+ color: rgb(225, 222, 219);
+}
+.swagger-ui .hover-white:focus,
+.swagger-ui .hover-white:hover {
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .hover-black-90:focus,
+.swagger-ui .hover-black-90:hover {
+ color: rgba(232, 230, 227, 0.9);
+}
+.swagger-ui .hover-black-80:focus,
+.swagger-ui .hover-black-80:hover {
+ color: rgba(232, 230, 227, 0.8);
+}
+.swagger-ui .hover-black-70:focus,
+.swagger-ui .hover-black-70:hover {
+ color: rgba(232, 230, 227, 0.7);
+}
+.swagger-ui .hover-black-60:focus,
+.swagger-ui .hover-black-60:hover {
+ color: rgba(232, 230, 227, 0.6);
+}
+.swagger-ui .hover-black-50:focus,
+.swagger-ui .hover-black-50:hover {
+ color: rgba(232, 230, 227, 0.5);
+}
+.swagger-ui .hover-black-40:focus,
+.swagger-ui .hover-black-40:hover {
+ color: rgba(232, 230, 227, 0.4);
+}
+.swagger-ui .hover-black-30:focus,
+.swagger-ui .hover-black-30:hover {
+ color: rgba(232, 230, 227, 0.3);
+}
+.swagger-ui .hover-black-20:focus,
+.swagger-ui .hover-black-20:hover {
+ color: rgba(232, 230, 227, 0.2);
+}
+.swagger-ui .hover-black-10:focus,
+.swagger-ui .hover-black-10:hover {
+ color: rgba(232, 230, 227, 0.1);
+}
+.swagger-ui .hover-white-90:focus,
+.swagger-ui .hover-white-90:hover {
+ color: rgba(232, 230, 227, 0.9);
+}
+.swagger-ui .hover-white-80:focus,
+.swagger-ui .hover-white-80:hover {
+ color: rgba(232, 230, 227, 0.8);
+}
+.swagger-ui .hover-white-70:focus,
+.swagger-ui .hover-white-70:hover {
+ color: rgba(232, 230, 227, 0.7);
+}
+.swagger-ui .hover-white-60:focus,
+.swagger-ui .hover-white-60:hover {
+ color: rgba(232, 230, 227, 0.6);
+}
+.swagger-ui .hover-white-50:focus,
+.swagger-ui .hover-white-50:hover {
+ color: rgba(232, 230, 227, 0.5);
+}
+.swagger-ui .hover-white-40:focus,
+.swagger-ui .hover-white-40:hover {
+ color: rgba(232, 230, 227, 0.4);
+}
+.swagger-ui .hover-white-30:focus,
+.swagger-ui .hover-white-30:hover {
+ color: rgba(232, 230, 227, 0.3);
+}
+.swagger-ui .hover-white-20:focus,
+.swagger-ui .hover-white-20:hover {
+ color: rgba(232, 230, 227, 0.2);
+}
+.swagger-ui .hover-white-10:focus,
+.swagger-ui .hover-white-10:hover {
+ color: rgba(232, 230, 227, 0.1);
+}
+.swagger-ui .hover-inherit:focus,
+.swagger-ui .hover-inherit:hover {
+ color: inherit;
+}
+.swagger-ui .hover-bg-black:focus,
+.swagger-ui .hover-bg-black:hover {
+ background-color: rgb(0, 0, 0);
+}
+.swagger-ui .hover-bg-near-black:focus,
+.swagger-ui .hover-bg-near-black:hover {
+ background-color: rgb(13, 14, 14);
+}
+.swagger-ui .hover-bg-dark-gray:focus,
+.swagger-ui .hover-bg-dark-gray:hover {
+ background-color: rgb(38, 42, 43);
+}
+.swagger-ui .hover-bg-mid-gray:focus,
+.swagger-ui .hover-bg-mid-gray:hover {
+ background-color: rgb(64, 69, 72);
+}
+.swagger-ui .hover-bg-gray:focus,
+.swagger-ui .hover-bg-gray:hover {
+ background-color: rgb(90, 97, 101);
+}
+.swagger-ui .hover-bg-silver:focus,
+.swagger-ui .hover-bg-silver:hover {
+ background-color: rgb(82, 88, 92);
+}
+.swagger-ui .hover-bg-light-silver:focus,
+.swagger-ui .hover-bg-light-silver:hover {
+ background-color: rgb(72, 78, 81);
+}
+.swagger-ui .hover-bg-moon-gray:focus,
+.swagger-ui .hover-bg-moon-gray:hover {
+ background-color: rgb(53, 57, 59);
+}
+.swagger-ui .hover-bg-light-gray:focus,
+.swagger-ui .hover-bg-light-gray:hover {
+ background-color: rgb(34, 36, 38);
+}
+.swagger-ui .hover-bg-near-white:focus,
+.swagger-ui .hover-bg-near-white:hover {
+ background-color: rgb(30, 33, 34);
+}
+.swagger-ui .hover-bg-white:focus,
+.swagger-ui .hover-bg-white:hover {
+ background-color: rgb(24, 26, 27);
+}
+.swagger-ui .hover-bg-transparent:focus,
+.swagger-ui .hover-bg-transparent:hover {
+ background-color: transparent;
+}
+.swagger-ui .hover-bg-black-90:focus,
+.swagger-ui .hover-bg-black-90:hover {
+ background-color: rgba(0, 0, 0, 0.9);
+}
+.swagger-ui .hover-bg-black-80:focus,
+.swagger-ui .hover-bg-black-80:hover {
+ background-color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .hover-bg-black-70:focus,
+.swagger-ui .hover-bg-black-70:hover {
+ background-color: rgba(0, 0, 0, 0.7);
+}
+.swagger-ui .hover-bg-black-60:focus,
+.swagger-ui .hover-bg-black-60:hover {
+ background-color: rgba(0, 0, 0, 0.6);
+}
+.swagger-ui .hover-bg-black-50:focus,
+.swagger-ui .hover-bg-black-50:hover {
+ background-color: rgba(0, 0, 0, 0.5);
+}
+.swagger-ui .hover-bg-black-40:focus,
+.swagger-ui .hover-bg-black-40:hover {
+ background-color: rgba(0, 0, 0, 0.4);
+}
+.swagger-ui .hover-bg-black-30:focus,
+.swagger-ui .hover-bg-black-30:hover {
+ background-color: rgba(0, 0, 0, 0.3);
+}
+.swagger-ui .hover-bg-black-20:focus,
+.swagger-ui .hover-bg-black-20:hover {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .hover-bg-black-10:focus,
+.swagger-ui .hover-bg-black-10:hover {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .hover-bg-white-90:focus,
+.swagger-ui .hover-bg-white-90:hover {
+ background-color: rgba(24, 26, 27, 0.9);
+}
+.swagger-ui .hover-bg-white-80:focus,
+.swagger-ui .hover-bg-white-80:hover {
+ background-color: rgba(24, 26, 27, 0.8);
+}
+.swagger-ui .hover-bg-white-70:focus,
+.swagger-ui .hover-bg-white-70:hover {
+ background-color: rgba(24, 26, 27, 0.7);
+}
+.swagger-ui .hover-bg-white-60:focus,
+.swagger-ui .hover-bg-white-60:hover {
+ background-color: rgba(24, 26, 27, 0.6);
+}
+.swagger-ui .hover-bg-white-50:focus,
+.swagger-ui .hover-bg-white-50:hover {
+ background-color: rgba(24, 26, 27, 0.5);
+}
+.swagger-ui .hover-bg-white-40:focus,
+.swagger-ui .hover-bg-white-40:hover {
+ background-color: rgba(24, 26, 27, 0.4);
+}
+.swagger-ui .hover-bg-white-30:focus,
+.swagger-ui .hover-bg-white-30:hover {
+ background-color: rgba(24, 26, 27, 0.3);
+}
+.swagger-ui .hover-bg-white-20:focus,
+.swagger-ui .hover-bg-white-20:hover {
+ background-color: rgba(24, 26, 27, 0.2);
+}
+.swagger-ui .hover-bg-white-10:focus,
+.swagger-ui .hover-bg-white-10:hover {
+ background-color: rgba(24, 26, 27, 0.1);
+}
+.swagger-ui .hover-dark-red:focus,
+.swagger-ui .hover-dark-red:hover {
+ color: rgb(251, 43, 53);
+}
+.swagger-ui .hover-red:focus,
+.swagger-ui .hover-red:hover {
+ color: rgb(255, 74, 63);
+}
+.swagger-ui .hover-light-red:focus,
+.swagger-ui .hover-light-red:hover {
+ color: rgb(255, 112, 90);
+}
+.swagger-ui .hover-orange:focus,
+.swagger-ui .hover-orange:hover {
+ color: rgb(255, 115, 26);
+}
+.swagger-ui .hover-gold:focus,
+.swagger-ui .hover-gold:hover {
+ color: rgb(255, 190, 26);
+}
+.swagger-ui .hover-yellow:focus,
+.swagger-ui .hover-yellow:hover {
+ color: rgb(255, 219, 26);
+}
+.swagger-ui .hover-light-yellow:focus,
+.swagger-ui .hover-light-yellow:hover {
+ color: rgb(250, 237, 146);
+}
+.swagger-ui .hover-purple:focus,
+.swagger-ui .hover-purple:hover {
+ color: rgb(146, 99, 213);
+}
+.swagger-ui .hover-light-purple:focus,
+.swagger-ui .hover-light-purple:hover {
+ color: rgb(164, 99, 242);
+}
+.swagger-ui .hover-dark-pink:focus,
+.swagger-ui .hover-dark-pink:hover {
+ color: rgb(255, 55, 189);
+}
+.swagger-ui .hover-hot-pink:focus,
+.swagger-ui .hover-hot-pink:hover {
+ color: rgb(255, 71, 182);
+}
+.swagger-ui .hover-pink:focus,
+.swagger-ui .hover-pink:hover {
+ color: rgb(255, 115, 199);
+}
+.swagger-ui .hover-light-pink:focus,
+.swagger-ui .hover-light-pink:hover {
+ color: rgb(255, 140, 205);
+}
+.swagger-ui .hover-dark-green:focus,
+.swagger-ui .hover-dark-green:hover {
+ color: rgb(128, 235, 195);
+}
+.swagger-ui .hover-green:focus,
+.swagger-ui .hover-green:hover {
+ color: rgb(92, 231, 180);
+}
+.swagger-ui .hover-light-green:focus,
+.swagger-ui .hover-light-green:hover {
+ color: rgb(145, 232, 200);
+}
+.swagger-ui .hover-navy:focus,
+.swagger-ui .hover-navy:hover {
+ color: rgb(211, 207, 201);
+}
+.swagger-ui .hover-dark-blue:focus,
+.swagger-ui .hover-dark-blue:hover {
+ color: rgb(109, 186, 255);
+}
+.swagger-ui .hover-blue:focus,
+.swagger-ui .hover-blue:hover {
+ color: rgb(70, 151, 224);
+}
+.swagger-ui .hover-light-blue:focus,
+.swagger-ui .hover-light-blue:hover {
+ color: rgb(131, 200, 255);
+}
+.swagger-ui .hover-lightest-blue:focus,
+.swagger-ui .hover-lightest-blue:hover {
+ color: rgb(169, 222, 255);
+}
+.swagger-ui .hover-washed-blue:focus,
+.swagger-ui .hover-washed-blue:hover {
+ color: rgb(198, 255, 249);
+}
+.swagger-ui .hover-washed-green:focus,
+.swagger-ui .hover-washed-green:hover {
+ color: rgb(192, 250, 228);
+}
+.swagger-ui .hover-washed-yellow:focus,
+.swagger-ui .hover-washed-yellow:hover {
+ color: rgb(255, 245, 190);
+}
+.swagger-ui .hover-washed-red:focus,
+.swagger-ui .hover-washed-red:hover {
+ color: rgb(255, 182, 182);
+}
+.swagger-ui .hover-bg-dark-red:focus,
+.swagger-ui .hover-bg-dark-red:hover {
+ background-color: rgb(185, 3, 12);
+}
+.swagger-ui .hover-bg-red:focus,
+.swagger-ui .hover-bg-red:hover {
+ background-color: rgb(172, 9, 0);
+}
+.swagger-ui .hover-bg-light-red:focus,
+.swagger-ui .hover-bg-light-red:hover {
+ background-color: rgb(149, 20, 0);
+}
+.swagger-ui .hover-bg-orange:focus,
+.swagger-ui .hover-bg-orange:hover {
+ background-color: rgb(204, 79, 0);
+}
+.swagger-ui .hover-bg-gold:focus,
+.swagger-ui .hover-bg-gold:hover {
+ background-color: rgb(153, 110, 0);
+}
+.swagger-ui .hover-bg-yellow:focus,
+.swagger-ui .hover-bg-yellow:hover {
+ background-color: rgb(153, 129, 0);
+}
+.swagger-ui .hover-bg-light-yellow:focus,
+.swagger-ui .hover-bg-light-yellow:hover {
+ background-color: rgb(75, 67, 4);
+}
+.swagger-ui .hover-bg-purple:focus,
+.swagger-ui .hover-bg-purple:hover {
+ background-color: rgb(75, 35, 132);
+}
+.swagger-ui .hover-bg-light-purple:focus,
+.swagger-ui .hover-bg-light-purple:hover {
+ background-color: rgb(70, 12, 141);
+}
+.swagger-ui .hover-bg-dark-pink:focus,
+.swagger-ui .hover-bg-dark-pink:hover {
+ background-color: rgb(170, 0, 114);
+}
+.swagger-ui .hover-bg-hot-pink:focus,
+.swagger-ui .hover-bg-hot-pink:hover {
+ background-color: rgb(165, 0, 100);
+}
+.swagger-ui .hover-bg-pink:focus,
+.swagger-ui .hover-bg-pink:hover {
+ background-color: rgb(127, 0, 76);
+}
+.swagger-ui .hover-bg-light-pink:focus,
+.swagger-ui .hover-bg-light-pink:hover {
+ background-color: rgb(106, 0, 60);
+}
+.swagger-ui .hover-bg-dark-green:focus,
+.swagger-ui .hover-bg-dark-green:hover {
+ background-color: rgb(15, 95, 66);
+}
+.swagger-ui .hover-bg-green:focus,
+.swagger-ui .hover-bg-green:hover {
+ background-color: rgb(20, 135, 93);
+}
+.swagger-ui .hover-bg-light-green:focus,
+.swagger-ui .hover-bg-light-green:hover {
+ background-color: rgb(21, 100, 79);
+}
+.swagger-ui .hover-bg-navy:focus,
+.swagger-ui .hover-bg-navy:hover {
+ background-color: rgb(0, 22, 54);
+}
+.swagger-ui .hover-bg-dark-blue:focus,
+.swagger-ui .hover-bg-dark-blue:hover {
+ background-color: rgb(0, 54, 126);
+}
+.swagger-ui .hover-bg-blue:focus,
+.swagger-ui .hover-bg-blue:hover {
+ background-color: rgb(28, 87, 165);
+}
+.swagger-ui .hover-bg-light-blue:focus,
+.swagger-ui .hover-bg-light-blue:hover {
+ background-color: rgb(0, 59, 114);
+}
+.swagger-ui .hover-bg-lightest-blue:focus,
+.swagger-ui .hover-bg-lightest-blue:hover {
+ background-color: rgb(38, 41, 43);
+}
+.swagger-ui .hover-bg-washed-blue:focus,
+.swagger-ui .hover-bg-washed-blue:hover {
+ background-color: rgb(0, 56, 52);
+}
+.swagger-ui .hover-bg-washed-green:focus,
+.swagger-ui .hover-bg-washed-green:hover {
+ background-color: rgb(5, 61, 45);
+}
+.swagger-ui .hover-bg-washed-yellow:focus,
+.swagger-ui .hover-bg-washed-yellow:hover {
+ background-color: rgb(47, 40, 0);
+}
+.swagger-ui .hover-bg-washed-red:focus,
+.swagger-ui .hover-bg-washed-red:hover {
+ background-color: rgb(70, 0, 0);
+}
+.swagger-ui .hover-bg-inherit:focus,
+.swagger-ui .hover-bg-inherit:hover {
+ background-color: inherit;
+}
+.swagger-ui .striped--light-silver:nth-child(2n+1) {
+ background-color: rgb(72, 78, 81);
+}
+.swagger-ui .striped--moon-gray:nth-child(2n+1) {
+ background-color: rgb(53, 57, 59);
+}
+.swagger-ui .striped--light-gray:nth-child(2n+1) {
+ background-color: rgb(34, 36, 38);
+}
+.swagger-ui .striped--near-white:nth-child(2n+1) {
+ background-color: rgb(30, 33, 34);
+}
+.swagger-ui .stripe-light:nth-child(2n+1) {
+ background-color: rgba(24, 26, 27, 0.1);
+}
+.swagger-ui .stripe-dark:nth-child(2n+1) {
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .strike {
+ text-decoration-color: initial;
+}
+.swagger-ui .underline {
+ text-decoration-color: initial;
+}
+.swagger-ui .no-underline {
+ text-decoration-color: initial;
+}
+@media screen and (min-width: 30em) {
+ .swagger-ui .strike-ns {
+ text-decoration-color: initial;
+ }
+ .swagger-ui .underline-ns {
+ text-decoration-color: initial;
+ }
+ .swagger-ui .no-underline-ns {
+ text-decoration-color: initial;
+ }
+}
+@media screen and (min-width: 30em) and (max-width: 60em) {
+ .swagger-ui .strike-m {
+ text-decoration-color: initial;
+ }
+ .swagger-ui .underline-m {
+ text-decoration-color: initial;
+ }
+ .swagger-ui .no-underline-m {
+ text-decoration-color: initial;
+ }
+}
+@media screen and (min-width: 60em) {
+ .swagger-ui .strike-l {
+ text-decoration-color: initial;
+ }
+ .swagger-ui .underline-l {
+ text-decoration-color: initial;
+ }
+ .swagger-ui .no-underline-l {
+ text-decoration-color: initial;
+ }
+}
+.swagger-ui .underline-hover:focus,
+.swagger-ui .underline-hover:hover {
+ text-decoration-color: initial;
+}
+.swagger-ui .shadow-hover::after {
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 16px 2px;
+}
+.swagger-ui .nested-links a {
+ color-relearn: var(--INTERNAL-MAIN-LINK-color);
+}
+.swagger-ui .nested-links a:focus,
+.swagger-ui .nested-links a:hover {
+ color-relearn: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+.swagger-ui .opblock-tag {
+ border-bottom-color: rgba(117, 109, 96, 0.3);
+}
+.swagger-ui .opblock-tag:hover {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.02);
+}
+.swagger-ui .opblock-tag {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock-tag small {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .parameter__type {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock {
+ border-color: rgb(140, 130, 115);
+ box-shadow: rgba(0, 0, 0, 0.19) 0px 0px 3px;
+}
+.swagger-ui .opblock .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color: rgb(96, 104, 108);
+}
+.swagger-ui .opblock.is-open .opblock-summary {
+ border-bottom-color: rgb(140, 130, 115);
+}
+.swagger-ui .opblock .opblock-section-header {
+ background-image: initial;
+ background-color: rgba(24, 26, 27, 0.8);
+ box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px;
+}
+.swagger-ui .opblock .opblock-section-header > label {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock .opblock-section-header h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .opblock .opblock-summary-method {
+ background-image: initial;
+ background-color: rgb(0, 0, 0);
+ color: rgb(232, 230, 227);
+ text-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0px;
+}
+.swagger-ui .opblock .opblock-summary-operation-id,
+.swagger-ui .opblock .opblock-summary-path,
+.swagger-ui .opblock .opblock-summary-path__deprecated {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock .opblock-summary-path__deprecated {
+ text-decoration-color: initial;
+}
+.swagger-ui .opblock .opblock-summary-description {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock.opblock-post {
+ background-image: initial;
+ background-color: rgba(42, 149, 112, 0.1);
+ border-color-relearn: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-post .opblock-summary-method {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-post .opblock-summary {
+ border-color-relearn: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-put {
+ background-image: initial;
+ background-color: rgba(174, 98, 3, 0.1);
+ border-color-relearn: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-put .opblock-summary-method {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-put .opblock-summary {
+ border-color-relearn: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-delete {
+ background-image: initial;
+ background-color: rgba(165, 5, 5, 0.1);
+ border-color-relearn: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-delete .opblock-summary-method {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-delete .opblock-summary {
+ border-color-relearn: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-get {
+ background-image: initial;
+ background-color: rgba(1, 73, 145, 0.1);
+ border-color-relearn: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-get .opblock-summary-method {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-get .opblock-summary {
+ border-color-relearn: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-patch {
+ background-image: initial;
+ background-color: rgba(24, 149, 128, 0.1);
+ border-color: rgb(22, 140, 114);
+}
+.swagger-ui .opblock.opblock-patch .opblock-summary-method {
+ background-image: initial;
+ background-color: rgb(24, 149, 128);
+}
+.swagger-ui .opblock.opblock-patch .opblock-summary {
+ border-color: rgb(22, 140, 114);
+}
+.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color: rgb(24, 149, 128);
+}
+.swagger-ui .opblock.opblock-head {
+ background-image: initial;
+ background-color: rgba(103, 1, 193, 0.1);
+ border-color: rgb(93, 1, 173);
+}
+.swagger-ui .opblock.opblock-head .opblock-summary-method {
+ background-image: initial;
+ background-color: rgb(103, 1, 193);
+}
+.swagger-ui .opblock.opblock-head .opblock-summary {
+ border-color: rgb(93, 1, 173);
+}
+.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color: rgb(103, 1, 193);
+}
+.swagger-ui .opblock.opblock-options {
+ background-image: initial;
+ background-color: rgba(10, 72, 134, 0.1);
+ border-color: rgb(15, 101, 186);
+}
+.swagger-ui .opblock.opblock-options .opblock-summary-method {
+ background-image: initial;
+ background-color: rgb(10, 72, 134);
+}
+.swagger-ui .opblock.opblock-options .opblock-summary {
+ border-color: rgb(15, 101, 186);
+}
+.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color: rgb(10, 72, 134);
+}
+.swagger-ui .opblock.opblock-deprecated {
+ background-image: initial;
+ background-color: rgba(35, 38, 40, 0.1);
+ border-color: rgb(54, 58, 60);
+}
+.swagger-ui .opblock.opblock-deprecated .opblock-summary-method {
+ background-image: initial;
+ background-color: rgb(35, 38, 40);
+}
+.swagger-ui .opblock.opblock-deprecated .opblock-summary {
+ border-color: rgb(54, 58, 60);
+}
+.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span::after {
+ background-image: initial;
+ background-color: rgb(35, 38, 40);
+}
+.swagger-ui .filter .operation-filter-input {
+ border-color: rgb(57, 62, 64);
+}
+.swagger-ui .download-url-wrapper .failed,
+.swagger-ui .filter .failed {
+ color: rgb(255, 26, 26);
+}
+.swagger-ui .download-url-wrapper .loading,
+.swagger-ui .filter .loading {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .tab {
+ list-style-image: initial;
+}
+.swagger-ui .tab li {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .tab li:first-of-type::after {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.2);
+}
+.swagger-ui .tab li button.tablinks {
+ background-image: none;
+ background-color: initial;
+ border-color: initial;
+ color: inherit;
+}
+.swagger-ui .opblock-description-wrapper,
+.swagger-ui .opblock-external-docs-wrapper,
+.swagger-ui .opblock-title_normal {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock-description-wrapper h4,
+.swagger-ui .opblock-external-docs-wrapper h4,
+.swagger-ui .opblock-title_normal h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .opblock-description-wrapper p,
+.swagger-ui .opblock-external-docs-wrapper p,
+.swagger-ui .opblock-title_normal p {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .responses-inner h4{
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .responses-inner h5 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H5-TEXT-color);
+}
+.swagger-ui .response-col_status {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .response-col_status .response-undocumented {
+ color: rgb(162, 154, 142);
+}
+.swagger-ui .response-col_links {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .response-col_links .response-undocumented {
+ color: rgb(162, 154, 142);
+}
+.swagger-ui .opblock-body pre.microlight {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-MAIN-BG-color);
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .download-contents {
+ background-image: initial;
+ background-color: rgb(91, 99, 103);
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .scheme-container {
+ background-image: initial;
+ background-color: rgb(24, 26, 27);
+ box-shadow: rgba(0, 0, 0, 0.15) 0px 1px 2px 0px;
+}
+.swagger-ui .scheme-container .schemes > label {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .loading-container .loading::after {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .loading-container .loading::before {
+ border-color: rgba(140, 130, 115, 0.6) rgba(112, 104, 92, 0.1) rgba(112, 104, 92, 0.1);
+}
+.swagger-ui .response-control-media-type--accept-controller select {
+ border-color: rgb(0, 217, 0);
+}
+.swagger-ui .response-control-media-type__accept-message {
+ color: rgb(114, 255, 114);
+}
+.swagger-ui .no-margin {
+ border-color: initial;
+}
+.swagger-ui section h3 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H3-TEXT-color);
+}
+.swagger-ui a.nostyle,
+.swagger-ui a.nostyle:visited {
+ color: inherit;
+ text-decoration-color: inherit;
+}
+.swagger-ui .fallback {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .version-pragma__message code {
+ background-color: rgb(43, 46, 48);
+}
+.swagger-ui span.token-string {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui span.token-not-formatted {
+ color: rgb(178, 172, 162);
+}
+.swagger-ui .btn {
+ background-image: initial;
+ background-color: transparent;
+ border-color: rgb(84, 91, 94);
+ box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .btn:hover {
+ box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 5px;
+}
+.swagger-ui .btn.cancel {
+ background-color: transparent;
+ border-color: rgb(150, 0, 0);
+ color: rgb(255, 93, 93);
+}
+.swagger-ui .btn.authorize {
+ background-color: transparent;
+ border-color: rgb(38, 134, 90);
+ color: rgb(88, 208, 153);
+}
+.swagger-ui .btn.authorize svg {
+ fill: rgb(88, 208, 153);
+}
+.swagger-ui .btn.execute {
+ background-color: rgb(24, 84, 153);
+ border-color: rgb(23, 78, 143);
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .authorization__btn {
+ background-image: none;
+ background-color: initial;
+ border-color: initial;
+}
+.swagger-ui .model-box-control,
+.swagger-ui .models-control,
+.swagger-ui .opblock-summary-control {
+ border-bottom-color: initial;
+}
+.swagger-ui .model-box-control:focus,
+.swagger-ui .models-control:focus,
+.swagger-ui .opblock-summary-control:focus {
+ outline-color: initial;
+}
+.swagger-ui .expand-methods,
+.swagger-ui .expand-operation {
+ background-image: none;
+ background-color: initial;
+ border-color: initial;
+}
+.swagger-ui .expand-methods:hover svg {
+ fill: rgb(192, 186, 178);
+}
+.swagger-ui .expand-methods svg {
+ fill: rgb(161, 153, 141);
+}
+.swagger-ui button.invalid {
+ background-image: initial;
+ background-color: rgb(61, 3, 3);
+ border-color: rgb(157, 5, 5);
+}
+.swagger-ui .copy-to-clipboard {
+ background-image: initial;
+ background-color: rgb(91, 99, 103);
+ border-color: initial;
+}
+.swagger-ui .copy-to-clipboard button {
+ background-color: initial;
+ border-color: initial;
+}
+.swagger-ui select {
+ background-color: rgb(29, 31, 32);
+ border-color: rgb(116, 108, 96);
+ box-shadow: rgba(0, 0, 0, 0.25) 0px 1px 2px 0px;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui select[multiple] {
+ background-image: initial;
+ background-color: rgb(29, 31, 32);
+}
+.swagger-ui select.invalid {
+ background-image: initial;
+ background-color: rgb(61, 3, 3);
+ border-color: rgb(157, 5, 5);
+}
+.swagger-ui label {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.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-image: initial;
+ background-color: rgb(24, 26, 27);
+ border-color: rgb(59, 64, 66);
+}
+.swagger-ui input[type="email"].invalid, .swagger-ui input[type="file"].invalid, .swagger-ui input[type="password"].invalid, .swagger-ui input[type="search"].invalid, .swagger-ui input[type="text"].invalid,
+.swagger-ui textarea.invalid {
+ background-image: initial;
+ background-color: rgb(61, 3, 3);
+ border-color: rgb(157, 5, 5);
+}
+.swagger-ui input[disabled],
+.swagger-ui select[disabled],
+.swagger-ui textarea[disabled] {
+ background-color: rgb(27, 29, 30);
+ color: rgb(157, 148, 136);
+}
+.swagger-ui select[disabled] {
+ border-color: rgb(82, 88, 92);
+}
+.swagger-ui textarea[disabled] {
+ background-color: rgb(54, 58, 61);
+ color: rgb(232, 230, 227);
+}
+.swagger-ui textarea {
+ background-image: initial;
+ background-color: rgba(24, 26, 27, 0.8);
+ border-color: initial;
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+ outline-color: initial;
+}
+.swagger-ui textarea:focus {
+ border-color: rgb(1, 74, 149);
+}
+.swagger-ui textarea.curl {
+ background-image: initial;
+ background-color: rgb(54, 58, 61);
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .checkbox {
+ color: rgb(202, 197, 190);
+}
+.swagger-ui .checkbox p {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .checkbox input[type="checkbox"] + label > .item {
+ background-image: initial;
+ background-color: rgb(37, 40, 42);
+ box-shadow: rgb(37, 40, 42) 0px 0px 0px 2px;
+}
+.swagger-ui .checkbox input[type="checkbox"]:checked + label > .item {
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAiIGhlaWdodD0iOCI+PGRlZnM+PGZpbHRlciBpZD0iZGFya3JlYWRlci1pbWFnZS1maWx0ZXIiPjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwLjI0OSAtMC42MTQgLTAuNjcyIDAuMDAwIDEuMDM1IC0wLjY0NiAwLjI4OCAtMC42NjQgMC4wMDAgMS4wMjAgLTAuNjM2IC0wLjYwOSAwLjI1MCAwLjAwMCAwLjk5NCAwLjAwMCAwLjAwMCAwLjAwMCAxLjAwMCAwLjAwMCIgLz48L2ZpbHRlcj48L2RlZnM+PGltYWdlIHdpZHRoPSIxMCIgaGVpZ2h0PSI4IiBmaWx0ZXI9InVybCgjZGFya3JlYWRlci1pbWFnZS1maWx0ZXIpIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCw8c3ZnIHdpZHRoPSIxMCIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIzIDcgMTAgOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIlMjM0MTQ3NEUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYuMzMzIDE1IDMgMTEuNjY3bDEuMzMzLTEuMzM0IDIgMkwxMS42NjcgNyAxMyA4LjMzM3oiLz48L3N2Zz4iIC8+PC9zdmc+");
+ background-color: rgb(37, 40, 42);
+}
+.swagger-ui .dialog-ux .backdrop-ux {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.8);
+}
+.swagger-ui .dialog-ux .modal-ux {
+ background-image: initial;
+ background-color: rgb(24, 26, 27);
+ border-color: rgb(54, 58, 60);
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 10px 30px 0px;
+}
+.swagger-ui .dialog-ux .modal-ux-content p {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .dialog-ux .modal-ux-content h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .dialog-ux .modal-ux-header {
+ border-bottom-color: rgb(54, 58, 60);
+}
+.swagger-ui .dialog-ux .modal-ux-header .close-modal {
+ background-image: none;
+ background-color: initial;
+ border-color: initial;
+}
+.swagger-ui .dialog-ux .modal-ux-header h3 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H3-TEXT-color);
+}
+.swagger-ui .model {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .model .deprecated span,
+.swagger-ui .model .deprecated td {
+ color: rgb(172, 165, 154) !important;
+}
+.swagger-ui .model .deprecated > td:first-of-type {
+ text-decoration-color: initial;
+}
+.swagger-ui .model-toggle::after {
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxkZWZzPjxmaWx0ZXIgaWQ9ImRhcmtyZWFkZXItaW1hZ2UtZmlsdGVyIj48ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yNDkgLTAuNjE0IC0wLjY3MiAwLjAwMCAxLjAzNSAtMC42NDYgMC4yODggLTAuNjY0IDAuMDAwIDEuMDIwIC0wLjYzNiAtMC42MDkgMC4yNTAgMC4wMDAgMC45OTQgMC4wMDAgMC4wMDAgMC4wMDAgMS4wMDAgMC4wMDAiIC8+PC9maWx0ZXI+PC9kZWZzPjxpbWFnZSB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbHRlcj0idXJsKCNkYXJrcmVhZGVyLWltYWdlLWZpbHRlcikiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGQ9Ik0xMCA2IDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnoiLz48L3N2Zz4iIC8+PC9zdmc+");
+ background-color: initial;
+}
+.swagger-ui .model-hint {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.7);
+ color: rgb(219, 216, 212);
+}
+.swagger-ui .model .property {
+ color: rgb(168, 160, 149);
+}
+.swagger-ui .model .property.primitive {
+ color: rgb(164, 157, 145);
+}
+.swagger-ui .model .external-docs,
+.swagger-ui table.model tr.description {
+ color: rgb(168, 160, 149);
+}
+.swagger-ui table.model tr.property-row .star {
+ color: rgb(255, 26, 26);
+}
+.swagger-ui table.model tr.extension {
+ color: rgb(157, 148, 136);
+}
+.swagger-ui section.models {
+ border-color: rgba(117, 109, 96, 0.3);
+}
+.swagger-ui section.models.is-open h4 {
+ border-bottom-color: rgba(117, 109, 96, 0.3);
+}
+.swagger-ui section.models h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui section.models h4:hover {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.02);
+}
+.swagger-ui section.models h5 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H5-TEXT-color);
+}
+.swagger-ui section.models .model-container {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.05);
+}
+.swagger-ui section.models .model-container:hover {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.07);
+}
+.swagger-ui section.models .model-box {
+ background-image: none;
+ background-color: initial;
+}
+.swagger-ui .model-box {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.1);
+}
+.swagger-ui .model-title {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .model-deprecated-warning {
+ color: rgb(249, 70, 70);
+}
+.swagger-ui .prop-type {
+ color: rgb(119, 144, 187);
+}
+.swagger-ui .prop-format {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .servers > label {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui table.headers td {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui table.headers .header-example {
+ color: rgb(168, 160, 149);
+}
+.swagger-ui table thead tr td,
+.swagger-ui table thead tr th {
+ border-bottom-color: rgba(117, 109, 96, 0.2);
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .parameter__name {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .parameter__name.required span {
+ color: rgb(255, 26, 26);
+}
+.swagger-ui .parameter__name.required::after {
+ color: rgba(255, 26, 26, 0.6);
+}
+.swagger-ui .parameter__extension,
+.swagger-ui .parameter__in {
+ color: rgb(152, 143, 129);
+}
+.swagger-ui .parameter__deprecated {
+ color: rgb(255, 26, 26);
+}
+.swagger-ui .response__extension {
+ color: rgb(152, 143, 129);
+}
+.swagger-ui .topbar {
+ background-color: rgb(20, 22, 23);
+}
+.swagger-ui .topbar a {
+ color: rgb(232, 230, 227); text-decoration-color: initial;
+}
+.swagger-ui .topbar .download-url-wrapper input[type="text"] {
+ border-color: rgb(83, 135, 53);
+ outline-color: initial;
+}
+.swagger-ui .topbar .download-url-wrapper .select-label {
+ color: rgb(223, 220, 215);
+}
+.swagger-ui .topbar .download-url-wrapper .select-label select {
+ border-color: rgb(83, 135, 53);
+ box-shadow: none;
+ outline-color: initial;
+}
+.swagger-ui .topbar .download-url-wrapper .download-url-button {
+ background-image: initial;
+ background-color: rgb(78, 128, 50);
+ border-color: initial;
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .info li,
+.swagger-ui .info p,
+.swagger-ui .info table {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .info h1 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H1-TEXT-color);
+}
+.swagger-ui .info h2 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H2-TEXT-color);
+}
+.swagger-ui .info h3 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H3-TEXT-color);
+}
+.swagger-ui .info h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .info h5 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H5-TEXT-color);
+}
+.swagger-ui .info a {
+ color-relearn: var(--INTERNAL-MAIN-LINK-color);
+}
+.swagger-ui .info a:hover {
+ color-relearn: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+.swagger-ui .info .base-url {
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .info .title {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .info .title small {
+ background-image: initial;
+ background-color: rgb(91, 99, 103);
+}
+.swagger-ui .info .title small.version-stamp {
+ background-color: rgb(110, 153, 3);
+}
+.swagger-ui .info .title small pre {
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .auth-container {
+ border-bottom-color: rgb(54, 58, 60);
+}
+.swagger-ui .auth-container:last-of-type {
+ border-color: initial;
+}
+.swagger-ui .auth-container .errors {
+ background-color: rgb(61, 0, 0);
+ color-relearn: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .scopes h2 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H2-TEXT-color);
+}
+.swagger-ui .scopes h2 a {
+ color-relearn: var(--INTERNAL-MAIN-LINK-color);
+ text-decoration-color: initial;
+}
+.swagger-ui .errors-wrapper {
+ background-image: initial;
+ background-color: rgba(165, 5, 5, 0.1);
+ border-color: rgb(157, 5, 5);
+}
+.swagger-ui .errors-wrapper .errors h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .errors-wrapper .errors small {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .errors-wrapper .errors .error-line {
+ text-decoration-color: initial;
+}
+.swagger-ui .errors-wrapper hgroup h4 {
+ color-relearn: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .markdown pre,
+.swagger-ui .renderedMarkdown pre {
+ background-image: none;
+ background-color: initial;
+ color: rgb(232, 230, 227);
+}
+.swagger-ui .markdown code,
+.swagger-ui .renderedMarkdown code {
+ background-image: initial;
+ background-color: rgba(0, 0, 0, 0.05);
+ color: rgb(154, 38, 254);
+}
+body {
+ background-image: initial;
+ background-color-relearn: var(--INTERNAL-MAIN-BG-color);
+}
+
+/* Override Style */
+.vimvixen-hint {
+ background-color: #7b5300 !important;
+ border-color: #d8b013 !important;
+ color: #f3e8c8 !important;
+}
+::placeholder {
+ opacity: 0.5 !important;
+}
+#edge-translate-panel-body,
+.MuiTypography-body1,
+.nfe-quote-text {
+ color: var(--darkreader-neutral-text) !important;
+}
+gr-main-header {
+ background-color: #0f3a48 !important;
+}
+.tou-z65h9k,
+.tou-mignzq,
+.tou-1b6i2ox,
+.tou-lnqlqk {
+ background-color: var(--darkreader-neutral-background) !important;
+}
+.tou-75mvi {
+ background-color: #032029 !important;
+}
+.tou-ta9e87,
+.tou-1w3fhi0,
+.tou-1b8t2us,
+.tou-py7lfi,
+.tou-1lpmd9d,
+.tou-1frrtv8,
+.tou-17ezmgn {
+ background-color: #0a0a0a !important;
+}
+.tou-uknfeu {
+ background-color: #231603 !important;
+}
+.tou-6i3zyv {
+ background-color: #19576c !important;
+}
+embed[type="application/pdf"][src="about:blank"] { filter: invert(100%) contrast(90%); }
+
+/* Relearn Fix Style */
+.swagger-ui select {
+ background-image: url("data:image/svg+xml;charset=utf-8, ");
+}
+.swagger-ui .model-toggle::after {
+ background-image: url("data:image/svg+xml;charset=utf-8, ");
+}
+.swagger-ui section.models .model-container {
+ background-color: rgba(0, 0, 0, 0.25);
+}
+.swagger-ui section.models .model-container:hover {
+ background-color: rgba(0, 0, 0, 0.5);
+}
diff --git a/css/swagger-light.css b/css/swagger-light.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/css/swagger.css b/css/swagger.css
new file mode 100644
index 0000000000..9db30699c9
--- /dev/null
+++ b/css/swagger.css
@@ -0,0 +1,311 @@
+/* Styles to make Swagger-UI fit into our theme */
+
+@import "fonts.css?1732196118";
+@import "variables.css?1732196118";
+
+body{
+ line-height: 1.574;
+ font-weight: 300;
+ margin: 0;
+ overflow: hidden;
+}
+body,
+.swagger-ui .info *,
+#relearn-swagger-ui .renderedMarkdown *,
+#relearn-swagger-ui p{
+ font-size: 1.015625rem;
+}
+.swagger-ui .scheme-container{
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+.swagger-ui .wrapper{
+ padding-left: 0;
+ padding-right: 0;
+}
+h2 {
+ font-weight: 500;
+}
+svg{
+ fill: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .info h2.title {
+ color: var(--INTERNAL-MAIN-TITLES-H2-TEXT-color);
+}
+.relearn-expander{
+ display: block;
+ float: right;
+ margin: .5rem;
+}
+#relearn-swagger-ui{
+ clear: both;
+}
+
+/* Styles extracted from swagger-dark.css generated by Dark Reader */
+
+html {
+ background-color: var(--INTERNAL-MAIN-BG-color) !important;
+}
+html {
+ color-scheme: var(--INTERNAL-BROWSER-theme) !important;
+}
+html, body {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
+html, body {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+a {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+input:-webkit-autofill,
+textarea:-webkit-autofill,
+select:-webkit-autofill {
+ color: var(--INTERNAL-MAIN-TEXT-color) !important;
+}
+::-webkit-scrollbar-corner {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
+::selection {
+ color: var(--INTERNAL-MAIN-TEXT-color) !important;
+}
+::-moz-selection {
+ color: var(--INTERNAL-MAIN-TEXT-color) !important;
+}
+*:not(pre, pre *, code, .far, .fa, .glyphicon, [class*="vjs-"], .fab, .fa-github, .fas, .material-icons, .icofont, .typcn, mu, [class*="mu-"], .glyphicon, .icon) {
+ font-family: var(--INTERNAL-MAIN-font) !important;
+}
+:root {
+ --darkreader-neutral-background: var(--INTERNAL-MAIN-BG-color);
+ --darkreader-neutral-text: var(--INTERNAL-MAIN-TEXT-color);
+ --darkreader-selection-text: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .nested-links a {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+.swagger-ui .nested-links a:focus,
+.swagger-ui .nested-links a:hover {
+ color: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+.swagger-ui .opblock-tag {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock-tag small {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .parameter__type {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock .opblock-section-header > label {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock .opblock-section-header h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .opblock .opblock-summary-operation-id,
+.swagger-ui .opblock .opblock-summary-path,
+.swagger-ui .opblock .opblock-summary-path__deprecated {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock .opblock-summary-description {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock.opblock-post {
+ border-color: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-post .opblock-summary-method {
+ background-color: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-post .opblock-summary {
+ border-color: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span::after {
+ background-color: var(--INTERNAL-BOX-GREEN-color);
+}
+.swagger-ui .opblock.opblock-put {
+ border-color: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-put .opblock-summary-method {
+ background-color: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-put .opblock-summary {
+ border-color: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span::after {
+ background-color: var(--INTERNAL-BOX-ORANGE-color);
+}
+.swagger-ui .opblock.opblock-delete {
+ border-color: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-delete .opblock-summary-method {
+ background-color: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-delete .opblock-summary {
+ border-color: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span::after {
+ background-color: var(--INTERNAL-BOX-RED-color);
+}
+.swagger-ui .opblock.opblock-get {
+ border-color: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-get .opblock-summary-method {
+ background-color: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-get .opblock-summary {
+ border-color: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span::after {
+ background-color: var(--INTERNAL-BOX-BLUE-color);
+}
+.swagger-ui .tab li {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock-description-wrapper,
+.swagger-ui .opblock-external-docs-wrapper,
+.swagger-ui .opblock-title_normal {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock-description-wrapper h4,
+.swagger-ui .opblock-external-docs-wrapper h4,
+.swagger-ui .opblock-title_normal h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .opblock-description-wrapper p,
+.swagger-ui .opblock-external-docs-wrapper p,
+.swagger-ui .opblock-title_normal p {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .responses-inner h4{
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .responses-inner h5 {
+ color: var(--INTERNAL-MAIN-TITLES-H5-TEXT-color);
+}
+.swagger-ui .response-col_status {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .response-col_links {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .opblock-body pre.microlight {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .scheme-container .schemes > label {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .loading-container .loading::after {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui section h3 {
+ color: var(--INTERNAL-MAIN-TITLES-H3-TEXT-color);
+}
+.swagger-ui .btn {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui select {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui label {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui textarea {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .checkbox p {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .dialog-ux .modal-ux-content p {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .dialog-ux .modal-ux-content h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .dialog-ux .modal-ux-header h3 {
+ color: var(--INTERNAL-MAIN-TITLES-H3-TEXT-color);
+}
+.swagger-ui .model {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui section.models h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui section.models h5 {
+ color: var(--INTERNAL-MAIN-TITLES-H5-TEXT-color);
+}
+.swagger-ui .model-title {
+ color: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .prop-format {
+ color: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .servers > label {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui table.headers td {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui table thead tr td,
+.swagger-ui table thead tr th {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .parameter__name {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .info li,
+.swagger-ui .info p,
+.swagger-ui .info table {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .info h1 {
+ color: var(--INTERNAL-MAIN-TITLES-H1-TEXT-color);
+}
+.swagger-ui .info h2 {
+ color: var(--INTERNAL-MAIN-TITLES-H2-TEXT-color);
+}
+.swagger-ui .info h3 {
+ color: var(--INTERNAL-MAIN-TITLES-H3-TEXT-color);
+}
+.swagger-ui .info h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .info h5 {
+ color: var(--INTERNAL-MAIN-TITLES-H5-TEXT-color);
+}
+.swagger-ui .info a {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+.swagger-ui .info a:hover {
+ color: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+.swagger-ui .info .base-url {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .info .title {
+ color: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .auth-container .errors {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+.swagger-ui .scopes h2 {
+ color: var(--INTERNAL-MAIN-TITLES-H2-TEXT-color);
+}
+.swagger-ui .scopes h2 a {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+.swagger-ui .errors-wrapper .errors h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+.swagger-ui .errors-wrapper .errors small {
+ color: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+}
+.swagger-ui .errors-wrapper hgroup h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-TEXT-color);
+}
+body {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
diff --git a/css/theme-blue.css b/css/theme-blue.css
new file mode 100644
index 0000000000..a424fc4f85
--- /dev/null
+++ b/css/theme-blue.css
@@ -0,0 +1,41 @@
+:root {
+ --MAIN-TEXT-color: rgba( 50, 50, 50, 1 ); /* Color of text by default */
+ --MAIN-TITLES-TEXT-color: rgba( 94, 94, 94, 1 ); /* Color of titles h2-h3-h4-h5-h6 */
+ --MAIN-TITLES-H1-color: rgba( 34, 34, 34, 1 ); /* text color of h1 titles */
+ --MAIN-LINK-color: rgba( 28, 144, 243, 1 ); /* Color of links */
+ --MAIN-LINK-HOVER-color: rgba( 22, 122, 208, 1 ); /* Color of hovered links */
+ --MAIN-BG-color: rgba( 255, 255, 255, 1 ); /* color of text by default */
+
+ --CODE-theme: learn; /* name of the chroma stylesheet file */
+ --CODE-BLOCK-color: rgba( 226, 228, 229, 1 ); /* fallback color for code text */
+ --CODE-BLOCK-BG-color: rgba( 40, 42, 54, 1 ); /* fallback color for code background */
+ --CODE-BLOCK-BORDER-color: rgba( 40, 42, 54, 1 ); /* color of block code border */
+ --CODE-INLINE-color: rgba( 94, 94, 94, 1 ); /* color for inline code text */
+ --CODE-INLINE-BG-color: rgba( 255, 250, 233, 1 ); /* color for inline code background */
+ --CODE-INLINE-BORDER-color: rgba( 248, 232, 200, 1 ); /* color of inline code border */
+
+ --MENU-HOME-LINK-color: rgba( 45, 54, 63, 1 ); /* Color of the home button text */
+ --MENU-HOME-LINK-HOVER-color: rgba( 0, 0, 0, 1 ); /* Color of the hovered home button text */
+
+ --MENU-HEADER-BG-color: rgba( 28, 144, 243, 1 ); /* Background color of menu header */
+ --MENU-HEADER-BORDER-color: rgba( 51, 161, 255, 1 ); /*Color of menu header border */
+
+ --MENU-SEARCH-color: rgba( 255, 255, 255, 1 ); /* Color of search field text */
+ --MENU-SEARCH-BG-color: rgba( 22, 122, 208, 1 ); /* Search field background color (by default borders + icons) */
+ --MENU-SEARCH-BORDER-color: rgba( 51, 161, 255, 1 ); /* Override search field border color */
+
+ --MENU-SECTIONS-ACTIVE-BG-color: rgba( 32, 39, 43, 1 ); /* Background color of the active section and its children */
+ --MENU-SECTIONS-BG-color: rgba( 37, 44, 49, 1 ); /* Background color of other sections */
+ --MENU-SECTIONS-LINK-color: rgba( 204, 204, 204, 1 ); /* Color of links in menu */
+ --MENU-SECTIONS-LINK-HOVER-color: rgba( 230, 230, 230, 1 ); /* Color of links in menu, when hovered */
+ --MENU-SECTION-ACTIVE-CATEGORY-color: rgba( 119, 119, 119, 1 ); /* Color of active category text */
+ --MENU-SECTION-ACTIVE-CATEGORY-BG-color: rgba( 255, 255, 255, 1 ); /* Color of background for the active category (only) */
+
+ --MENU-VISITED-color: rgba( 28, 144, 243, 1 ); /* Color of 'page visited' icons in menu */
+ --MENU-SECTION-SEPARATOR-color: rgba( 32, 39, 43, 1 ); /* Color of separator in menu */
+
+ /* base styling for boxes */
+ --BOX-CAPTION-color: rgba( 255, 255, 255, 1 ); /* color of the title text */
+ --BOX-BG-color: rgba( 255, 255, 255, .833 ); /* color of the content background */
+ --BOX-TEXT-color: rgba( 16, 16, 16, 1 ); /* fixed color of the content text */
+}
diff --git a/css/theme-custom.css b/css/theme-custom.css
new file mode 100644
index 0000000000..833d2886e9
--- /dev/null
+++ b/css/theme-custom.css
@@ -0,0 +1,6 @@
+#top-bar-sticky-wrapper,
+#top-bar,
+#body-inner {
+ max-width: 72em;
+ margin: 0 auto;
+}
diff --git a/css/theme-relearn-light.css b/css/theme-relearn-light.css
new file mode 100644
index 0000000000..1581592d29
--- /dev/null
+++ b/css/theme-relearn-light.css
@@ -0,0 +1,41 @@
+:root {
+ --PRIMARY-color: rgba( 125, 201, 3, 1 ); /* brand primary color */
+ --SECONDARY-color: rgba( 72, 106, 201, 1 ); /* brand secondary color */
+ --ACCENT-color: rgb( 255, 102, 78 ); /* brand accent color, used for search highlights */
+
+ --MAIN-TEXT-color: rgba( 0, 0, 0, 1 ); /* text color of content and h1 titles */
+ --MAIN-LINK-HOVER-color: rgba( 32, 40, 145, 1 ); /* hovered link color of content */
+ --MAIN-BG-color: rgba( 255, 255, 255, 1 ); /* background color of content */
+ --MAIN-TITLES-TEXT-color: rgba( 16, 16, 16, 1 ); /* text color of h2-h6 titles and transparent box titles */
+
+ --CODE-theme: relearn-light; /* name of the chroma stylesheet file */
+ --CODE-BLOCK-color: rgba( 39, 40, 34, 1 ); /* fallback text color of block code; should be adjusted to your selected chroma style */
+ --CODE-BLOCK-BG-color: rgba( 250, 250, 250, 1 ); /* fallback background color of block code; should be adjusted to your selected chroma style */
+ --CODE-BLOCK-BORDER-color: rgba( 216, 216, 216, 1 ); /* border color of block code */
+ --CODE-INLINE-color: rgba( 94, 94, 94, 1 ); /* text color of inline code */
+ --CODE-INLINE-BG-color: rgba( 255, 250, 233, 1 ); /* background color of inline code */
+ --CODE-INLINE-BORDER-color: rgba( 248, 232, 200, 1 ); /* border color of inline code */
+
+ --BROWSER-theme: light; /* name of the theme for browser scrollbars of the main section */
+ --MERMAID-theme: default; /* name of the default Mermaid theme for this variant, can be overridden in hugo.toml */
+ --OPENAPI-theme: light; /* name of the default OpenAPI theme for this variant, can be overridden in hugo.toml */
+ --OPENAPI-CODE-theme: idea; /* name of the default OpenAPI code theme for this variant, can be overridden in hugo.toml */
+
+ --MENU-HOME-LINK-color: rgba( 64, 64, 64, 1 ); /* home button color if configured */
+ --MENU-HOME-LINK-HOVER-color: rgba( 0, 0, 0, 1 ); /* hovered home button color if configured */
+
+ --MENU-SEARCH-color: rgba( 224, 224, 224, 1 ); /* text and icon color of search box */
+ --MENU-SEARCH-BG-color: rgba( 50, 50, 50, 1 ); /* background color of search box */
+ --MENU-SEARCH-BORDER-color: rgba( 224, 224, 224, 1 ); /* border color of search box */
+
+ --MENU-SECTIONS-BG-color: rgba( 40, 40, 40, 1 ); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
+ --MENU-SECTIONS-ACTIVE-BG-color: rgba( 0, 0, 0, .166 ); /* background color of the active menu section */
+ --MENU-SECTIONS-LINK-color: rgba( 186, 186, 186, 1 ); /* link color of menu topics */
+ --MENU-SECTIONS-LINK-HOVER-color: rgba( 255, 255, 255, 1 ); /* hovered link color of menu topics */
+ --MENU-SECTION-ACTIVE-CATEGORY-color: rgba( 68, 68, 68, 1 ); /* text color of the displayed menu topic */
+ --MENU-SECTION-SEPARATOR-color: rgba( 96, 96, 96, 1 ); /* separator color between menu sections and menu footer */
+
+ --BOX-CAPTION-color: rgba( 255, 255, 255, 1 ); /* text color of colored box titles */
+ --BOX-BG-color: rgba( 255, 255, 255, .833 ); /* background color of colored boxes */
+ --BOX-TEXT-color: rgba( 16, 16, 16, 1 ); /* text color of colored box content */
+}
diff --git a/css/theme.css b/css/theme.css
new file mode 100644
index 0000000000..a30826eb5e
--- /dev/null
+++ b/css/theme.css
@@ -0,0 +1,2378 @@
+@charset "UTF-8";
+
+/* until browsers don't let us set length values based on dppx, we
+need a way to calculate them ourself */
+:root {
+ --dpr: 1;
+ --bpx: 1;
+ --bpx1: 1;
+}
+@media (min-resolution: 105dpi) {
+ :root {
+ --dpr: 1.1;
+ --bpx: 1.1;
+ --bpx1: calc(1/1.1);
+ }
+}
+@media (min-resolution: 115dpi) {
+ :root {
+ --dpr: 1.2;
+ --bpx: 1.2;
+ --bpx1: calc(1/1.2);
+ }
+}
+@media (min-resolution: 120dpi) {
+ :root {
+ --dpr: 1.25;
+ --bpx: 1.25;
+ --bpx1: calc(1/1.25);
+ }
+}
+@media (min-resolution: 128dpi) {
+ :root {
+ --dpr: 1.333;
+ --bpx: 1.333;
+ --bpx1: calc(1/1.333);
+ }
+}
+@media (min-resolution: 144dpi) {
+ :root {
+ --dpr: 1.5;
+ --bpx: 1.5;
+ --bpx1: calc(1/1.5);
+ }
+}
+@media (min-resolution: 160dpi) {
+ :root {
+ --dpr: 1.666;
+ --bpx: 1.666;
+ --bpx1: calc(1/1.666);
+ }
+}
+@media (min-resolution: 168dpi) {
+ :root {
+ --dpr: 1.75;
+ --bpx: 1.75;
+ --bpx1: calc(1/1.75);
+ }
+}
+@media (min-resolution: 192dpi) {
+ :root {
+ --dpr: 2;
+ --bpx: 1;
+ --bpx1: 1;
+ }
+}
+@media (min-resolution: 240dpi) {
+ :root {
+ --dpr: 2.5;
+ --bpx: 1.25;
+ --bpx1: calc(1/1.25);
+ }
+}
+@media (min-resolution: 288dpi) {
+ :root {
+ --dpr: 3;
+ --bpx: 1;
+ --bpx1: 1;
+ }
+}
+@media (min-resolution: 384dpi) {
+ :root {
+ --dpr: 4;
+ --bpx: 1;
+ --bpx1: 1;
+ }
+}
+@media (min-resolution: 480dpi) {
+ :root {
+ --dpr: 5;
+ --bpx: 1.25;
+ --bpx1: calc(1/1.25);
+ }
+}
+@media (min-resolution: 576dpi) {
+ :root {
+ --dpr: 6;
+ --bpx: 1.5;
+ --bpx1: calc(1/1.5);
+ }
+}
+@media (min-resolution: 768dpi) {
+ :root {
+ --dpr: 8;
+ --bpx: 1;
+ --bpx1: 1;
+ }
+}
+
+html {
+ height: 100%;
+ width: 100%;
+}
+
+body {
+ display: flex;
+ flex-direction: row-reverse; /* to allow body to have initial focus for PS in some browsers and better SEO and a11y */
+ font-size: 1.015625rem;
+ font-weight: 300;
+ height: 100%;
+ justify-content: flex-end;
+ line-height: 1.574;
+ /* overflow: hidden; PSC removed for #242 #243 #244; to avoid browser scrollbar to flicker before we create our own */
+ width: 100%;
+}
+
+b,
+strong,
+label,
+th {
+ font-weight: 600;
+}
+
+ul {
+ list-style: disc;
+}
+
+dt {
+ font-style: italic;
+}
+
+dd {
+ display: list-item;
+ list-style: circle;
+}
+
+.default-animation{
+ transition: all 0.35s ease;
+}
+
+#R-sidebar {
+ display: flex;
+ flex-basis: auto;
+ flex-direction: column;
+ flex-grow: 0;
+ flex-shrink: 0;
+ font-size: .953125rem;
+ height: 100%;
+ inset-inline-start: 0;
+ line-height: 1.574;
+ min-height: 100%;
+ position: fixed;
+ min-width: var(--INTERNAL-MENU-WIDTH-L);
+ max-width: var(--INTERNAL-MENU-WIDTH-L);
+ width: var(--INTERNAL-MENU-WIDTH-L);
+}
+
+#R-sidebar a{
+ text-decoration: none;
+}
+
+#R-header-wrapper {
+ text-align: center;
+ padding: 1rem;
+ position: relative;
+}
+#R-header {
+ border-block-end: 1px solid transparent;
+ position: relative;
+ z-index: 1;
+}
+#R-header a {
+ display: inline-block;
+}
+
+.searchbox {
+ border-radius: 4px;
+ border-style: solid;
+ border-width: 1px;
+ position: relative;
+ margin-top: 1rem;
+}
+
+.searchbox > :first-child {
+ inset-inline-start: .5rem;
+ position: absolute;
+}
+
+.searchbox > button {
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: transparent;
+ border: 0;
+ margin: 0;
+ padding: 0;
+ top: .25rem;
+}
+
+.searchbox > i {
+ top: .45rem;
+}
+
+.searchbox > :last-child {
+ inset-inline-end: .5rem;
+ position: absolute;
+}
+
+#R-sidebar .searchbox > :first-child,
+#R-sidebar .searchbox > :last-child{
+ opacity: .65;
+}
+
+#R-sidebar .searchbox button:hover {
+ opacity: 1;
+}
+
+.searchbox input {
+ display: inline-block;
+ width: 100%;
+ height: 1.875rem;
+ background: transparent;
+ border: 0;
+ padding-bottom: 0;
+ padding-inline-end: 1.6rem;
+ padding-inline-start: 1.8rem;
+ padding-top: 0;
+ margin: 0;
+ font-weight: 300;
+}
+
+.searchbox input::placeholder {
+ opacity: .45;
+}
+
+#R-content-wrapper {
+ --ps-rail-hover-color: rgba( 176, 176, 176, .25 );
+ display: flex;
+ flex-direction: column;
+ flex: 1; /* fill rest of vertical space */
+ overflow: hidden;
+ position: relative; /* PS */
+ z-index: 100;
+}
+
+#R-sidebar .padding {
+ padding: 0 1rem;
+}
+
+.footerFooter {
+ font-size: .8125rem;
+ padding-top: 2rem;
+ padding-bottom: .75rem;
+ text-align: center;
+}
+
+.footerFooter > * {
+ margin: 0 auto;
+}
+
+#R-footer > hr:first-child {
+ margin-top: 0;
+}
+
+/* increase specifity to override following #R-content-wrapper hr style */
+#R-footer > hr:nth-child(n) {
+ margin-left: 0;
+ margin-right: 0;
+}
+
+#R-sidebar ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+#R-sidebar ul li {
+ padding: 0;
+}
+
+#R-sidebar ul li.visited + span {
+ margin-inline-end: 1rem;
+}
+
+#R-sidebar ul li .read-icon {
+ display: none;
+ font-size: .8125rem;
+ inset-inline-end: 1rem;
+ margin: .25rem 0 0 0;
+ min-width: 1rem;
+ position: absolute;
+}
+
+#R-sidebar ul li.visited > a .read-icon {
+ display: inline;
+}
+
+#R-sidebar .nav-title {
+ font-size: 2rem;
+ font-weight: 200;
+ letter-spacing: -.02175em;
+ line-height: 110%;
+ margin: 1.2rem 0 .8rem 0;
+ padding-inline-start: 1rem;
+ text-rendering: optimizeLegibility;
+ text-transform: uppercase;
+}
+
+#R-sidebar .footermargin {
+ flex-grow: 1;
+}
+
+#R-content-wrapper hr {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ margin: 1.5rem 1rem 1rem 1rem;
+}
+
+.tags{
+ margin-left: 1rem;
+ margin-top: 1rem;
+}
+
+.tags.term-list ul > li ~ li:before {
+ content: " "
+}
+
+#R-body .tags a.term-link {
+ border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ box-shadow: 0 1px 2px rgba( 0, 0, 0, .2 );
+ display: inline-block;
+ font-size: 0.8em;
+ font-weight: 400;
+ line-height: 2em;
+ margin: 0 0 8px -1px;
+ margin-inline-end: 16px;
+ padding: 0 10px 0 12px;
+ position: relative;
+}
+
+#R-body .tags a.term-link:before {
+ border-color: transparent;
+ border-style: solid;
+ border-width: 1em 1em 1em 0;
+ content: "";
+ left: -1em;
+ height: 0;
+ position: absolute;
+ top:0;
+ width: 0;
+}
+
+#R-body .tags a.term-link:after {
+ border-radius: 100%;
+ content: "";
+ left: 1px;
+ height: 5px;
+ position: absolute;
+ top: 10px;
+ width: 5px;
+}
+
+#R-body .tags a.term-link:hover:after {
+ width: 5px;
+}
+
+#R-body {
+ display: flex;
+ flex-basis: 100%;
+ flex-direction: column;
+ flex-grow: 1;
+ flex-shrink: 0;
+ height: 100%;
+ margin-inline-start: var(--INTERNAL-MENU-WIDTH-L);
+ min-height: 100%;
+ overflow-wrap: break-word; /* avoid x-scrolling of body if it is to large to fit */
+ position: relative; /* PS */
+ min-width: calc( 100% - var(--INTERNAL-MENU-WIDTH-L) );
+ max-width: calc( 100% - var(--INTERNAL-MENU-WIDTH-L) );
+ width: calc( 100% - var(--INTERNAL-MENU-WIDTH-L) );
+ z-index: 70;
+}
+
+#R-body img,
+#R-body figure > figcaption > h4,
+#R-body figure > figcaption > p,
+#R-body .video-container {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ padding: 0;
+ text-align: center;
+}
+
+#R-body img:not(.lightbox-image).left {
+ margin-left: 0;
+}
+
+#R-body img:not(.lightbox-image).right {
+ margin-right: 0;
+}
+
+#R-body img:not(.lightbox-image).border,
+#R-body .video-container.border {
+ background-clip: padding-box;
+ border: 1px solid rgba( 134, 134, 134, .333 );
+}
+
+#R-body img:not(.lightbox-image).shadow,
+#R-body .video-container.shadow {
+ box-shadow: 0 10px 30px rgba( 176, 176, 176, .666 );
+}
+
+#R-body img:not(.lightbox-image).inline {
+ display: inline;
+ margin: 0;
+ vertical-align: bottom;
+}
+
+#R-body figure > figcaption{
+ margin: 0;
+}
+
+#R-body figure > figcaption > h4{
+ font-size: 1.0rem;
+ font-weight: 500;
+ margin: 0;
+}
+
+#R-body figure > figcaption > p{
+ font-size: .85rem;
+ font-weight: 300;
+ margin-top: .15rem;
+}
+#R-body figure > figcaption > h4 + p{
+ margin-top: 0;
+}
+
+#R-body-inner {
+ display: flex;
+ flex: auto;
+ flex-direction: column;
+ overflow-y: auto;
+ padding: 0 3.25rem 4rem 3.25rem;
+ position: relative; /* PS */
+}
+@media screen and (max-width: 59.999rem) {
+ #R-body-inner {
+ padding: 0 2rem 1rem 2rem;
+ }
+}
+@media screen and (max-width: 47.999rem) {
+ #R-body-inner {
+ padding: 0 1.25rem .375rem 1.25rem;
+ }
+}
+
+#R-topbar a:hover:empty,
+#R-topbar a:active:empty,
+#R-topbar a:focus:empty,
+#R-topbar a:hover :not(i),
+#R-topbar a:active :not(i),
+#R-topbar a:focus :not(i),
+#R-topbar button:hover :not(i),
+#R-topbar button:active :not(i),
+#R-topbar button:focus :not(i),
+#R-topbar .title:hover,
+#R-topbar .title:active,
+#R-topbar .title:focus,
+.topbar-content a:hover,
+.topbar-content a:active,
+.topbar-content a:focus,
+article a:hover,
+article a:active,
+article a:focus,
+article a:hover .copy-to-clipboard,
+article a:active .copy-to-clipboard,
+article a:focus .copy-to-clipboard {
+ text-decoration: underline;
+}
+.topbar-content a:hover,
+.topbar-content a:active,
+.topbar-content a:focus,
+article a:hover,
+article a:active,
+article a:focus,
+article a:hover .copy-to-clipboard,
+article a:active .copy-to-clipboard,
+article a:focus .copy-to-clipboard,
+article a.lightbox-back:hover > img:only-child:empty,
+article a.lightbox-back:active > img:only-child:empty,
+article a.lightbox-back:focus > img:only-child:empty
+article .btn > button:hover,
+article .btn > button:active,
+article .btn > button:focus{
+ outline: none;
+}
+article a:hover > img:only-child:empty,
+article a:active > img:only-child:empty,
+article a:focus > img:only-child:empty{
+ outline: .15rem solid var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+
+#R-body-inner:focus-visible{
+ /* remove focus indicator for programatically set focus */
+ outline: none;
+}
+
+#R-body h1 + hr {
+ margin-bottom: 2rem;
+ margin-top: -1rem;
+}
+
+#R-body .flex-block-wrapper {
+ margin-left: auto;
+ margin-right: auto;
+ max-width: calc( var(--INTERNAL-MAIN-WIDTH-MAX) - var(--INTERNAL-MENU-WIDTH-L) - 2 * 3.25rem );
+ width: 100%;
+}
+body:not(.print) #R-body .narrow .flex-block-wrapper {
+ max-width: calc( var(--INTERNAL-MAIN-WIDTH-MAX) - var(--INTERNAL-MENU-WIDTH-L) - 2 * 9.75rem );
+}
+/* we limit width if we have large screens */
+body.main-width-max #R-body .flex-block-wrapper {
+ width: calc( var(--INTERNAL-MAIN-WIDTH-MAX) - var(--INTERNAL-MENU-WIDTH-L) - 2 * 3.25rem );
+}
+body.main-width-max:not(.print) #R-body .narrow .flex-block-wrapper {
+ width: calc( var(--INTERNAL-MAIN-WIDTH-MAX) - var(--INTERNAL-MENU-WIDTH-L) - 2 * 9.75rem );
+}
+
+body:not(.print) #R-body-inner.narrow {
+ padding: 0 9.75rem 2rem 9.75rem;
+}
+@media screen and (max-width: 59.999rem) {
+ body:not(.print) #R-body-inner.narrow {
+ padding: 0 6.5rem 1rem 6.5rem;
+ }
+}
+@media screen and (max-width: 47.999rem) {
+ body:not(.print) #R-body-inner.narrow {
+ padding: 0 3.25rem .375rem 3.25rem;
+ }
+}
+
+#R-body-inner div.article-subheading,
+#R-body-inner .chapter.deprecated h3:first-of-type {
+ font-weight: 200;
+ margin-top: 0;
+ text-align: center;
+}
+body:not(.print) #R-body-inner.narrow div.article-subheading{
+ margin-top: 2rem;
+}
+@media screen and (max-width: 59.999rem) {
+ body:not(.print) #R-body-inner.narrow div.article-subheading{
+ margin-top: 1rem;
+ }
+}
+@media screen and (max-width: 47.999rem) {
+ body:not(.print) #R-body-inner.narrow div.article-subheading{
+ margin-top: .375rem;
+ }
+}
+
+body:not(.print) #R-body-inner.narrow p {
+ font-size: 1.2rem;
+ text-align: justify;
+}
+
+mark {
+ background: transparent;
+ border-radius: 0.8em 0.3rem;
+ -webkit-box-decoration-break: clone;
+ box-decoration-break: clone;
+ color: rgba( 0, 0, 0, 1 );
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ margin: 0 -0.4rem;
+ padding: 0.1em 0.4rem;
+}
+
+kbd {
+ background-color: rgba( 134, 134, 134, .166 );
+ border-color: rgba( 134, 134, 134, .5 );
+ border-radius: 0.25rem;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: 0 .0625rem 0 .0625rem rgba( 134, 134, 134, .5 );
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ font-size: 0.75rem;
+ line-height: 1;
+ min-width: 0.75rem;
+ padding: .125rem .3125rem .125rem .3125rem;
+ position: relative;
+ text-align: center;
+ top: -.125rem;
+}
+
+h1 {
+ font-size: 3.25rem;
+ font-weight: 200;
+ margin: 0.85rem 0 1rem 0;
+ /* big titles cause a horizontal scrollbar - fixing this by wrapping text */
+ overflow-wrap: break-word;
+ overflow-x: hidden;
+ text-align: center;
+ text-rendering: optimizeLegibility;
+ text-transform: uppercase;
+}
+
+body:not(.print) #R-body-inner.narrow h1 {
+ border-bottom: 4px solid rgba( 134, 134, 134, .125 );
+ font-size: 3.5rem;
+}
+@media only screen and (min-width: 48rem) and (max-width: 59.999rem) {
+ body:not(.print) #R-body-inner.narrow h1 {
+ font-size: 2.8rem;
+ }
+}
+@media only screen and (max-width: 47.999rem) {
+ body:not(.print) #R-body-inner.narrow h1 {
+ font-size: 2.5rem;
+ }
+}
+
+h2 {
+ font-size: 2.2rem;
+ font-weight: 500;
+}
+
+h3, .article-subheading {
+ font-size: 1.8rem;
+ font-weight: 500;
+}
+
+h4 {
+ font-size: 1.85rem;
+ font-weight: 300;
+}
+
+h5 {
+ font-size: 1.6rem;
+ font-weight: 300;
+}
+
+h6 {
+ font-size: 1.3rem;
+ font-weight: 300;
+}
+
+h2, h3, .article-subheading, h4, h5, h6 {
+ letter-spacing: -.0625rem;
+ margin: 2rem 0 1rem 0;
+ /* big titles cause a horizontal scrollbar - fixing this by wrapping text */
+ overflow-wrap: break-word;
+ overflow-x: hidden;
+ text-rendering: optimizeLegibility;
+}
+
+h2, h3, h4, h5, h6 {
+ /* leave space for anchor to avoid overflow */
+ padding-inline-end: 2rem;
+}
+
+blockquote {
+ border-inline-start: .6rem solid rgba( 134, 134, 134, .4 );
+}
+
+blockquote p {
+ font-size: 1.06640625rem;
+ font-style: italic;
+ opacity: .75;
+ text-align: justify;
+}
+
+blockquote cite {
+ display: block;
+ font-weight: bold;
+ opacity: .5;
+ padding-top: .5rem;
+ text-align: end;
+}
+
+/* colored boxes */
+
+.cstyle {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-NEUTRAL-color);
+ --VARIABLE-BOX-CAPTION-color: var(--INTERNAL-BOX-CAPTION-color);
+ --VARIABLE-BOX-BG-color: var(--INTERNAL-BOX-BG-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-NEUTRAL-TEXT-color);
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+}
+
+div.box {
+ margin: 1.5rem 0;
+ border-style: solid;
+ border-width: 1px;
+}
+
+div.box > .box-label {
+ font-weight: 500;
+ padding: .2rem .6rem;
+}
+
+div.box > .box-content {
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+p:empty {
+ /* in case of image render hook, Hugo may generate empty s that we want to ignore */
+ display: none;
+}
+
+/* in case of image render hook, Hugo may generate empty
s that we want to ignore as well, so a simple :first-child or :last-child is not enough */
+#R-body table th > :nth-child(1 of :not(:empty)),
+#R-body table th > :nth-child(1 of :not(:empty)) :nth-child(1 of :not(:empty)),
+#R-body table td > :nth-child(1 of :not(:empty)),
+#R-body table td > :nth-child(1 of :not(:empty)) :nth-child(1 of :not(:empty)),
+#R-body div.box > .box-content > :nth-child(1 of :not(:empty)),
+#R-body div.box > .box-content > :nth-child(1 of :not(:empty)) :nth-child(1 of :not(:empty)),
+#R-body div.expand > .expand-content-text > :nth-child(1 of :not(:empty)),
+#R-body div.expand > .expand-content-text > :nth-child(1 of :not(:empty)) :nth-child(1 of :not(:empty)),
+#R-body div.tab-content > .tab-content-text > :nth-child(1 of :not(:empty)),
+#R-body div.tab-content > .tab-content-text > :nth-child(1 of :not(:empty)) :nth-child(1 of :not(:empty)) {
+ margin-top: 0;
+}
+
+#R-body table th > :nth-last-child(1 of :not(:empty)),
+#R-body table th > :nth-last-child(1 of :not(:empty)) :nth-last-child(1 of :not(:empty)),
+#R-body table th > div.highlight:last-child pre:not(.mermaid),
+#R-body table td > :nth-last-child(1 of :not(:empty)),
+#R-body table td > :nth-last-child(1 of :not(:empty)) :nth-last-child(1 of :not(:empty)),
+#R-body table td > div:last-child pre:not(.mermaid),
+#R-body div.box > .box-content > :nth-last-child(1 of :not(:empty)),
+#R-body div.box > .box-content > :nth-last-child(1 of :not(:empty)) :nth-last-child(1 of :not(:empty)),
+#R-body div.box > .box-content > div:last-child pre:not(.mermaid),
+#R-body div.expand > .expand-content-text > :nth-last-child(1 of :not(:empty)),
+#R-body div.expand > .expand-content-text > :nth-last-child(1 of :not(:empty)) :nth-last-child(1 of :not(:empty)),
+#R-body div.expand > .expand-content-text > div:last-child pre:not(.mermaid),
+#R-body div.tab-content > .tab-content-text > :nth-last-child(1 of :not(:empty)),
+#R-body div.tab-content > .tab-content-text > :nth-last-child(1 of :not(:empty)) :nth-last-child(1 of :not(:empty)),
+#R-body div.tab-content > .tab-content-text > div:last-child pre:not(.mermaid) {
+ margin-bottom: 0;
+}
+
+/* resources shortcode */
+
+div.attachments .box-content {
+ display: block;
+ margin: 0;
+ padding-inline-start: 1.75rem;
+}
+
+/* Children shortcode */
+
+.children p {
+ font-size: .8125rem;
+ margin-bottom: 0;
+ margin-top: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+}
+
+.children-li p {
+ font-size: .8125rem;
+ font-style: italic;
+}
+
+.children-h2 p,
+.children-h3 p {
+ font-size: .8125rem;
+ margin-bottom: 0;
+ margin-top: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+}
+
+#R-body-inner .children h2,
+#R-body-inner .children h3,
+#R-body-inner .children h4,
+#R-body-inner .children h5,
+#R-body-inner .children h6 {
+ margin-bottom: 0;
+ margin-top: 1rem;
+}
+#R-body-inner ul.children-h2,
+#R-body-inner ul.children-h3,
+#R-body-inner ul.children-h4,
+#R-body-inner ul.children-h5,
+#R-body-inner ul.children-h6 {
+ /* if we display children with style=h2 but without a containerstyle
+ a ul will be used for structuring; we remove default indention for uls
+ in this case */
+ padding-inline-start: 0;
+}
+
+code,
+kbd,
+pre:not(.mermaid),
+samp {
+ font-size: .934375rem;
+ vertical-align: baseline;
+}
+
+code {
+ border-radius: 2px;
+ border-style: solid;
+ border-width: 1px;
+ -webkit-print-color-adjust: economy;
+ color-adjust: economy;
+ padding-left: 2px;
+ padding-right: 2px;
+ white-space: nowrap;
+}
+
+span.copy-to-clipboard {
+ display: inline-block;
+ white-space: nowrap;
+}
+
+code.copy-to-clipboard-code {
+ border-end-end-radius: 0;
+ border-start-end-radius: 0;
+ border-inline-end-width: 0;
+}
+
+pre:not(.mermaid) {
+ border-radius: 2px;
+ border-style: solid;
+ border-width: 1px;
+ -webkit-print-color-adjust: economy;
+ color-adjust: economy;
+ line-height: 1.15;
+ padding: 1rem;
+ position: relative;
+}
+
+/* pre:not(.mermaid):has( code ), */
+/* the :has() operator isn't available in FF yet, so we patch this by JS */
+pre:not(.mermaid).pre-code {
+ direction: ltr;
+ text-align: left;
+}
+
+pre:not(.mermaid) code {
+ background-color: inherit;
+ border: 0;
+ color: inherit;
+ -webkit-print-color-adjust: economy;
+ color-adjust: economy;
+ font-size: .9375rem;
+ margin: 0;
+ padding: 0;
+}
+
+div.highlight{
+ position: relative;
+}
+/* we may have special treatment if highlight shortcode was used in table lineno mode */
+div.highlight > div{
+ border-style: solid;
+ border-width: 1px;
+}
+/* remove default style for usual markdown tables */
+div.highlight > div table{
+ background-color: transparent;
+ border-width: 0;
+ margin: 0;
+}
+div.highlight > div td{
+ border-width: 0;
+}
+#R-body div.highlight > div a {
+ line-height: inherit;
+}
+#R-body div.highlight > div a:after {
+ display: none;
+}
+/* disable selection for lineno cells */
+div.highlight > div td:first-child:not(:last-child){
+ -webkit-user-select: none;
+ user-select: none;
+}
+/* increase code column to full width if highlight shortcode was used in table lineno mode */
+div.highlight > div td:not(:first-child):last-child{
+ width: 100%;
+}
+/* add scrollbars if highlight shortcode was used in table lineno mode */
+div.highlight > div table{
+ display: block;
+ overflow: auto;
+}
+div.highlight:not(.wrap-code) pre:not(.mermaid){
+ overflow: auto;
+}
+div.highlight:not(.wrap-code) pre:not(.mermaid) code{
+ white-space: pre;
+}
+div.highlight.wrap-code pre:not(.mermaid) code{
+ white-space: pre-wrap;
+}
+/* remove border from row cells if highlight shortcode was used in table lineno mode */
+div.highlight > div td > pre:not(.mermaid) {
+ border-radius: 0;
+ border-width: 0;
+}
+/* in case of table lineno mode we want to move each row closer together - besides the edges
+this usually applies only to wrapfix tables but it doesn't hurt for non-wrapfix tables too */
+div.highlight > div tr:not(:first-child) pre:not(.mermaid){
+ padding-top: 0;
+}
+div.highlight > div tr:not(:last-child) pre:not(.mermaid){
+ padding-bottom: 0;
+}
+/* in case of table lineno mode we want to move each columns closer together on the inside */
+div.highlight > div td:first-child:not(:last-child) pre:not(.mermaid){
+ padding-right: 0;
+}
+div.highlight > div td:not(:first-child):last-child pre:not(.mermaid){
+ padding-left: 0;
+}
+
+hr {
+ border-bottom: 4px solid rgba( 134, 134, 134, .125 );
+}
+
+#R-body-inner pre:not(.mermaid) {
+ white-space: pre-wrap;
+}
+
+table {
+ border: 1px solid rgba( 134, 134, 134, .333 );
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+ table-layout: auto;
+}
+
+th,
+thead td {
+ background-color: rgba( 134, 134, 134, .166 );
+ border: 1px solid rgba( 134, 134, 134, .333 );
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ padding: 0.5rem;
+}
+
+td {
+ border: 1px solid rgba( 134, 134, 134, .333 );
+ padding: 0.5rem;
+}
+tbody > tr:nth-child(even) > td {
+ background-color: rgba( 134, 134, 134, .045 );
+}
+
+.tooltipped {
+ position: relative;
+}
+
+.tooltipped:after {
+ background: rgba( 0, 0, 0, 1 );
+ border: 1px solid rgba( 119, 119, 119, 1 );
+ border-radius: 3px;
+ color: rgba( 255, 255, 255, 1 );
+ content: attr(aria-label);
+ display: none;
+ font-family: "Work Sans", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
+ font-size: .6875rem;
+ font-weight: normal;
+ -webkit-font-smoothing: subpixel-antialiased;
+ letter-spacing: normal;
+ line-height: 1.5;
+ padding: 5px 8px;
+ pointer-events: none;
+ position: absolute;
+ text-align: center;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: pre;
+ word-wrap: break-word;
+ z-index: 140;
+}
+
+.tooltipped:before {
+ border: 5px solid transparent;
+ color: rgba( 0, 0, 0, 1 );
+ content: "";
+ display: none;
+ height: 0;
+ pointer-events: none;
+ position: absolute;
+ width: 0;
+ z-index: 150;
+}
+
+.tooltipped:hover:before,
+.tooltipped:hover:after,
+.tooltipped:active:before,
+.tooltipped:active:after,
+.tooltipped:focus:before,
+.tooltipped:focus:after {
+ display: inline-block;
+ text-decoration: none;
+}
+
+.tooltipped-s:after,
+.tooltipped-se:after,
+.tooltipped-sw:after {
+ margin-top: 5px;
+ right: 50%;
+ top: 100%;
+}
+
+.tooltipped-s:before,
+.tooltipped-se:before,
+.tooltipped-sw:before {
+ border-bottom-color: rgba( 0, 0, 0, .8 );
+ bottom: -5px;
+ margin-right: -5px;
+ right: 50%;
+ top: auto;
+}
+
+.tooltipped-se:after {
+ left: 50%;
+ margin-left: -15px;
+ right: auto;
+}
+
+.tooltipped-sw:after {
+ margin-right: -15px;
+}
+
+.tooltipped-n:after,
+.tooltipped-ne:after,
+.tooltipped-nw:after {
+ bottom: 100%;
+ margin-bottom: 5px;
+ right: 50%;
+}
+
+.tooltipped-n:before,
+.tooltipped-ne:before,
+.tooltipped-nw:before {
+ border-top-color: rgba( 0, 0, 0, .8 );
+ bottom: auto;
+ margin-right: -5px;
+ right: 50%;
+ top: -5px;
+}
+
+.tooltipped-ne:after {
+ left: 50%;
+ margin-left: -15px;
+ right: auto;
+}
+
+.tooltipped-nw:after {
+ margin-right: -15px;
+}
+
+.tooltipped-s:after,
+.tooltipped-n:after {
+ transform: translateX(50%);
+}
+
+.tooltipped-w:after {
+ bottom: 50%;
+ margin-right: 5px;
+ right: 100%;
+ transform: translateY(50%);
+}
+
+.tooltipped-w:before {
+ border-left-color: rgba( 0, 0, 0, .8 );
+ bottom: 50%;
+ left: -5px;
+ margin-top: -5px;
+ top: 50%;
+}
+
+.tooltipped-e:after {
+ bottom: 50%;
+ left: 100%;
+ margin-left: 5px;
+ transform: translateY(50%);
+}
+
+.tooltipped-e:before {
+ border-right-color: rgba( 0, 0, 0, .8 );
+ bottom: 50%;
+ margin-top: -5px;
+ right: -5px;
+ top: 50%;
+}
+
+#R-topbar {
+ min-height: 3rem;
+ position: relative;
+ z-index: 170;
+}
+
+#R-topbar > .topbar-wrapper {
+ align-items: center;
+ background-color: rgba( 134, 134, 134, .066 );
+ display: flex;
+ flex-basis: 100%;
+ flex-direction: row;
+ height: 100%;
+}
+
+.topbar-button {
+ display: inline-block;
+ position: relative;
+}
+.topbar-button:not([data-origin]) {
+ display: none;
+}
+
+.topbar-button > .topbar-control {
+ display: inline-block;
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+.topbar-wrapper > .topbar-area-start > .topbar-button > .topbar-control {
+ border-inline-end: 1px solid rgba( 134, 134, 134, .333 );
+}
+.topbar-wrapper > .topbar-area-end > .topbar-button > .topbar-control {
+ border-inline-start: 1px solid rgba( 134, 134, 134, .333 );
+}
+
+.topbar-button > button:disabled i,
+.topbar-button > span i {
+ color: rgba( 134, 134, 134, .333 );
+}
+.topbar-button button{
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: transparent;
+}
+
+.topbar-sidebar-divider {
+ border-inline-start-style: solid;
+ border-inline-start-width: 1px;
+ margin-inline-end: -1px;
+ width: 1px;
+}
+.topbar-sidebar-divider::after {
+ content: "\00a0";
+}
+
+.topbar-wrapper > .topbar-area-start {
+ display: flex;
+ flex-direction: row;
+ flex-shrink: 0;
+}
+.topbar-wrapper > .topbar-area-end {
+ display: flex;
+ flex-direction: row;
+ flex-shrink: 0;
+}
+.topbar-wrapper > .topbar-hidden {
+ display: none;
+}
+
+html[dir="rtl"] .topbar-button-prev i,
+html[dir="rtl"] .topbar-button-next i {
+ transform: scaleX(-1);
+}
+
+.topbar-content {
+ top: .75rem;
+}
+.topbar-wrapper > .topbar-area-start .topbar-content {
+ inset-inline-start: 1.5rem;
+}
+.topbar-wrapper > .topbar-area-end .topbar-content {
+ inset-inline-end: 1.5rem;
+}
+.topbar-content .topbar-content{
+ /* we don't allow flyouts in flyouts; come on, don't get funny... */
+ display: none;
+}
+
+.topbar-breadcrumbs {
+ flex-grow: 1;
+ margin: 0;
+ padding: 0 1rem;
+}
+@media screen and (max-width: 47.999rem) {
+ .topbar-breadcrumbs {
+ /* we just hide the breadcrumbs instead of display: none;
+ this makes sure that the breadcrumbs are still usable for
+ accessability */
+ visibility: hidden;
+ }
+}
+
+.breadcrumbs {
+ min-width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ width: 100%;
+ white-space: nowrap;
+}
+
+.breadcrumbs meta {
+ display: none;
+}
+
+.breadcrumbs li {
+ display: inline-block;
+}
+
+#R-body a[aria-disabled="true"] {
+ pointer-events: none;
+ text-decoration: none;
+}
+
+@media screen and (max-width: 59.999rem) {
+ #R-sidebar {
+ min-width: var(--INTERNAL-MENU-WIDTH-M);
+ max-width: var(--INTERNAL-MENU-WIDTH-M);
+ width: var(--INTERNAL-MENU-WIDTH-M);
+ }
+ #R-body {
+ margin-inline-start: var(--INTERNAL-MENU-WIDTH-M);
+ min-width: calc( 100% - var(--INTERNAL-MENU-WIDTH-M) );
+ max-width: calc( 100% - var(--INTERNAL-MENU-WIDTH-M) );
+ width: calc( 100% - var(--INTERNAL-MENU-WIDTH-M) );
+ }
+}
+@media screen and (max-width: 47.999rem) {
+ /* we don't support sidebar flyout in mobile */
+ .mobile-support #R-sidebar {
+ inset-inline-start: calc( -1 * var(--INTERNAL-MENU-WIDTH-S) );
+ min-width: var(--INTERNAL-MENU-WIDTH-S);
+ max-width: var(--INTERNAL-MENU-WIDTH-S);
+ width: var(--INTERNAL-MENU-WIDTH-S);
+ }
+ .mobile-support #navshow{
+ display: inline;
+ }
+ .mobile-support #R-body {
+ min-width: 100%;
+ max-width: 100%;
+ width: 100%;
+ }
+ .mobile-support #R-body {
+ margin-inline-start: 0;
+ }
+ .mobile-support.sidebar-flyout {
+ overflow: hidden;
+ }
+ .mobile-support.sidebar-flyout #R-sidebar {
+ inset-inline-start: 0;
+ z-index: 90;
+ }
+ .mobile-support.sidebar-flyout #R-body {
+ margin-inline-start: var(--INTERNAL-MENU-WIDTH-S);
+ overflow: hidden;
+ }
+ .mobile-support.sidebar-flyout #R-body-overlay{
+ background-color: rgba( 134, 134, 134, .5 );
+ bottom: 0;
+ cursor: pointer;
+ height: 100vh;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 190;
+ }
+}
+
+.copy-to-clipboard-button {
+ border-start-start-radius: 0;
+ border-start-end-radius: 2px;
+ border-end-end-radius: 2px;
+ border-end-start-radius: 0;
+ border-style: solid;
+ border-width: 1px;
+ cursor: pointer;
+ font-size: .934375rem;
+ line-height: 1.15;
+}
+
+span > .copy-to-clipboard-button {
+ border-start-start-radius: 0;
+ border-start-end-radius: 2px;
+ border-end-end-radius: 2px;
+ border-end-start-radius: 0;
+}
+
+.copy-to-clipboard-button > i {
+ font-size: .859625rem;
+}
+
+/* only show copy to clipboard on hover for code blocks if configured */
+div.highlight .copy-to-clipboard-button {
+ display: none;
+}
+@media (any-hover: none) {
+ /* if there is at least one input device that does not support hover, we want to force the copy button */
+ div.highlight .copy-to-clipboard-button {
+ display: block;
+ }
+}
+div.highlight:hover .copy-to-clipboard-button {
+ display: block;
+}
+.disableHoverBlockCopyToClipBoard div.highlight .copy-to-clipboard-button {
+ display: block;
+}
+
+div.highlight > div table + .copy-to-clipboard-button > i,
+div.highlight pre:not(.mermaid) + .copy-to-clipboard-button > i,
+.copy-to-clipboard-code + .copy-to-clipboard-button > i {
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+div.highlight > div table + .copy-to-clipboard-button,
+div.highlight pre:not(.mermaid) + .copy-to-clipboard-button,
+pre:not(.mermaid) > .copy-to-clipboard-button {
+ background-color: rgba( 160, 160, 160, .2 );
+ border-radius: 2px;
+ border-style: solid;
+ border-width: 1px;
+ right: 4px;
+ padding: 5px 3px;
+ position: absolute;
+ top: 4px;
+}
+
+.disableInlineCopyToClipboard span > code.copy-to-clipboard-code + span.copy-to-clipboard-button {
+ display: none;
+}
+
+.disableInlineCopyToClipboard span > code.copy-to-clipboard-code {
+ border-start-end-radius: 2px;
+ border-end-end-radius: 2px;
+ border-inline-end-width: 1px;
+}
+
+#R-homelinks {
+ padding: 0;
+}
+#R-homelinks ul {
+ margin: .5rem 0;
+}
+#R-homelinks hr {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ margin: 0 1rem 3px 1rem;
+}
+
+option {
+ color: initial;
+}
+
+.expand {
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+ position: relative;
+}
+
+.expand > input {
+ -webkit-appearance: none;
+ appearance: none;
+ cursor: pointer;
+}
+
+.expand > label {
+ cursor: pointer;
+ display: inline;
+ font-weight: 300;
+ inset-inline-start: 0;
+ line-height: 1.1;
+ margin-top: .2rem;
+ position: absolute;
+}
+
+.expand > input:active + label,
+.expand > input:focus + label,
+.expand > label:hover {
+ text-decoration: underline;
+}
+
+.expand > label > .fas {
+ font-size: .8rem;
+ width: .6rem;
+}
+
+.expand > .expand-content {
+ margin-inline-start: 1rem;
+ margin-top: .5rem;
+}
+/* closed expander */
+.expand > input + label + div {
+ display: none;
+}
+
+.expand > input + label > .fa-chevron-down {
+ display: none;
+}
+.expand > input + label > .fa-chevron-right {
+ display: inline-block;
+}
+
+/* open expander */
+.expand > input:checked + label + div {
+ display: block;
+}
+
+.expand > input:checked + label > .fa-chevron-down {
+ display: inline-block;
+}
+.expand > input:checked + label > .fa-chevron-right {
+ display: none;
+}
+
+/* adjust expander for RTL reading direction */
+html[dir="rtl"] .expand > .expand-label > i.fa-chevron-right {
+ transform: scaleX(-1);
+}
+
+#R-body footer.footline{
+ margin-top: 2rem;
+}
+
+.headline i,
+.footline i{
+ margin-inline-start: .5rem;
+}
+.headline i:first-child,
+.footline i:first-child{
+ margin-inline-start: 0;
+}
+
+.mermaid-container {
+ margin-bottom: 1.7rem;
+ margin-top: 1.7rem;
+}
+
+.mermaid {
+ display: inline-block;
+ border: 1px solid transparent;
+ padding: .5rem .5rem 0 .5rem;
+ position: relative;
+ /* don't use display: none, as this will cause no renderinge by Mermaid */
+ visibility: hidden;
+ width: 100%;
+}
+.mermaid-container.zoomable > .mermaid:hover {
+ border-color: rgba( 134, 134, 134, .333 );
+}
+.mermaid.mermaid-render {
+ visibility: visible;
+}
+
+.mermaid > svg {
+ /* remove inline height from generated diagram */
+ height: initial !important;
+}
+.mermaid-container.zoomable > .mermaid > svg {
+ cursor: grab;
+}
+
+.svg-reset-button {
+ background-color: rgba( 160, 160, 160, .2 );
+ border-radius: 2px;
+ border-style: solid;
+ border-width: 1px;
+ cursor: pointer;
+ display: none;
+ font-size: .934375rem;
+ line-height: 1.15;
+ padding: 5px 3px;
+ position: absolute;
+ right: 4px;
+ top: 4px;
+}
+.mermaid:hover .svg-reset-button.zoomed {
+ display: block;
+}
+@media (any-hover: some) {
+ /* if there is at least one input device that does not support hover, we want to force the reset button if zoomed */
+ .svg-reset-button.zoomed {
+ display: block;
+ }
+}
+
+.svg-reset-button > i {
+ font-size: .859625rem;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+.mermaid-code {
+ display: none;
+}
+
+.include.hide-first-heading h1:first-of-type,
+.include.hide-first-heading h2:first-of-type,
+.include.hide-first-heading h3:first-of-type,
+.include.hide-first-heading h4:first-of-type,
+.include.hide-first-heading h5:first-of-type,
+.include.hide-first-heading h6:first-of-type {
+ display: none;
+}
+
+.include.hide-first-heading h1 + h2:first-of-type,
+.include.hide-first-heading h1 + h3:first-of-type,
+.include.hide-first-heading h2 + h3:first-of-type,
+.include.hide-first-heading h1 + h4:first-of-type,
+.include.hide-first-heading h2 + h4:first-of-type,
+.include.hide-first-heading h3 + h4:first-of-type,
+.include.hide-first-heading h1 + h5:first-of-type,
+.include.hide-first-heading h2 + h5:first-of-type,
+.include.hide-first-heading h3 + h5:first-of-type,
+.include.hide-first-heading h4 + h5:first-of-type,
+.include.hide-first-heading h1 + h6:first-of-type,
+.include.hide-first-heading h2 + h6:first-of-type,
+.include.hide-first-heading h3 + h6:first-of-type,
+.include.hide-first-heading h4 + h6:first-of-type,
+.include.hide-first-heading h5 + h6:first-of-type {
+ display: block;
+}
+
+/* Table of contents */
+
+.topbar-flyout #R-main-overlay{
+ bottom: 0;
+ cursor: pointer;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 3rem;
+ z-index: 160;
+}
+
+.topbar-content {
+ border: 0 solid rgba( 134, 134, 134, .166 );
+ box-shadow: 1px 2px 5px 1px rgba( 134, 134, 134, .2 );
+ height: 0;
+ opacity: 0;
+ overflow: hidden;
+ position: absolute;
+ visibility: hidden;
+ width: 0;
+ z-index: 180;
+}
+
+.topbar-button.topbar-flyout .topbar-content {
+ border-width: 1px;
+ height: auto;
+ opacity: 1;
+ visibility: visible;
+ width: auto;
+}
+
+.topbar-content .topbar-content-wrapper {
+ background-color: rgba( 134, 134, 134, .066 );
+}
+
+.topbar-content-wrapper {
+ --ps-rail-hover-color: rgba( 176, 176, 176, .25 );
+ max-height: 90vh;
+ overflow: hidden;
+ padding: .5rem 1rem;
+ position: relative; /* PS */
+}
+
+.topbar-content .topbar-button .topbar-control {
+ border-width: 0;
+ padding: 0;
+}
+.topbar-content .topbar-button .topbar-control {
+ border-width: 0;
+ padding: .5rem 0;
+}
+
+#TableOfContents,
+.TableOfContents {
+ font-size: .8125rem;
+}
+#TableOfContents ul,
+.TableOfContents ul {
+ list-style: none;
+ margin: 0;
+ padding: 0 1rem;
+}
+
+#TableOfContents > ul,
+.TableOfContents > ul {
+ padding: 0;
+}
+
+#TableOfContents li,
+.TableOfContents li {
+ white-space: nowrap;
+}
+
+#TableOfContents > ul > li > a,
+.TableOfContents > ul > li > a {
+ font-weight: 500;
+}
+
+.btn {
+ border-radius: 4px;
+ display: inline-block;
+ font-size: .9rem;
+ font-weight: 500;
+ line-height: 1.1;
+ margin-bottom: 0;
+ touch-action: manipulation;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.btn.interactive {
+ cursor: pointer;
+}
+
+.btn > span,
+.btn > a {
+ display: block;
+}
+
+.btn > :where(button) {
+ -webkit-appearance: none;
+ appearance: none;
+ border-width: 0;
+ margin: 0;
+ padding: 0;
+}
+
+.btn > * {
+ background-color: transparent;
+ border-radius: 4px;
+ border-style: solid;
+ border-width: 1px;
+ padding: 6px 12px;
+ text-align: center;
+ touch-action: manipulation;
+ -webkit-user-select: none;
+ user-select: none;
+ white-space: nowrap;
+}
+
+.btn > *:after {
+ /* avoid breakage if no content is given */
+ content: "\200b"
+}
+
+#R-body #R-body-inner .btn > *.highlight:after {
+ background-color: transparent;
+}
+
+.btn.interactive > .btn-interactive:focus {
+ outline: none;
+}
+
+.btn.interactive > *:hover,
+.btn.interactive > *:active,
+.btn.interactive > *:focus {
+ text-decoration: none;
+}
+
+/* anchors */
+.anchor {
+ cursor: pointer;
+ font-size: .5em;
+ margin-inline-start: .66em;
+ margin-top: .9em;
+ position: absolute;
+ visibility: hidden;
+}
+@media (any-hover: none) {
+ /* if there is at least one input device that does not support hover, we want to force the copy button */
+ .anchor {
+ visibility: visible;
+ }
+}
+
+h2:hover .anchor,
+h3:hover .anchor,
+h4:hover .anchor,
+h5:hover .anchor,
+h6:hover .anchor {
+ visibility: visible;
+}
+
+/* Redfines headers style */
+
+h1 a,
+h2 a,
+h3 a,
+h4 a,
+h5 a,
+h6 a {
+ font-weight: inherit;
+}
+
+#R-body h1 + h2,
+#R-body h1 + h3,
+#R-body h1 + h4,
+#R-body h1 + h5,
+#R-body h1 + h6,
+#R-body h2 + h3,
+#R-body h2 + h4,
+#R-body h2 + h5,
+#R-body h2 + h6,
+#R-body h3 + h4,
+#R-body h3 + h5,
+#R-body h3 + h6,
+#R-body h4 + h5,
+#R-body h4 + h6,
+#R-body h5 + h6 {
+ margin-top: 1rem;
+}
+
+.menu-control .control-style {
+ cursor: pointer;
+ height: 1.574em;
+ overflow: hidden;
+}
+
+.menu-control i {
+ padding-top: .25em;
+}
+
+.menu-control i,
+.menu-control span {
+ cursor: pointer;
+ display: block;
+ float: left;
+}
+html[dir="rtl"] .menu-control i,
+html[dir="rtl"] .menu-control span {
+ float: right;
+}
+
+.menu-control :hover,
+.menu-control i:hover,
+.menu-control span:hover {
+ cursor: pointer;
+}
+
+.menu-control select,
+.menu-control button {
+ -webkit-appearance: none;
+ appearance: none;
+ height: 1.33rem;
+ outline: none;
+ width: 100%;
+}
+.menu-control button:active,
+.menu-control button:focus,
+.menu-control select:active,
+.menu-control select:focus{
+ outline-style: solid;
+}
+
+.menu-control select {
+ background-color: transparent;
+ background-image: none;
+ border: none;
+ box-shadow: none;
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.menu-control option {
+ color: rgba( 0, 0, 0, 1 );
+ padding: 0;
+ margin: 0;
+}
+
+.menu-control button {
+ background-color: transparent;
+ cursor: pointer;
+ display: block;
+ text-align: start;
+}
+
+.clear {
+ clear: both;
+}
+
+.footerLangSwitch,
+.footerVariantSwitch,
+.footerVisitedLinks,
+.footerFooter {
+ display: none;
+}
+
+.showLangSwitch,
+.showVariantSwitch,
+.showVisitedLinks,
+.showFooter {
+ display: block;
+}
+
+/* clears the 'X' from Chrome's search input */
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-results-button,
+input[type="search"]::-webkit-search-results-decoration { display: none; }
+
+span.math:has(> mjx-container[display]) {
+ display: block;
+}
+
+@supports selector(.math:has(> mjx-container)){
+ .math{
+ visibility: hidden;
+ }
+ .math:has(> mjx-container){
+ visibility: visible;
+ }
+}
+.math.align-left > mjx-container{
+ text-align: left !important;
+}
+
+.math.align-center > mjx-container{
+ text-align: center !important;
+}
+
+.math.align-right > mjx-container{
+ text-align: right !important;
+}
+
+.scrollbar-measure {
+ /* https://davidwalsh.name/detect-scrollbar-width */
+ height: 100px;
+ overflow: scroll;
+ position: absolute;
+ width: 100px;
+ top: -9999px;
+}
+
+.a11y-only {
+ /* idea taken from https://www.filamentgroup.com/lab/a11y-form-labels.html */
+ clip-path: polygon(0 0, 1px 0, 1px 1px, 0 1px);
+ overflow: hidden;
+ position: absolute;
+ height: 1px;
+ transform: translateY(-100%);
+ transition: transform .5s cubic-bezier(.18,.89,.32,1.28);
+ white-space: nowrap;
+ width: 1px;
+}
+
+/* filament style for making action visible on focus - not adapted yet
+.a11y-only:focus {
+ position: fixed;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ margin: 0 0 0 -100px;
+ top: -.3em;
+ left: 50%;
+ text-align: center;
+ width: 200px;
+ background: rgba( 255, 255, 255, 1 );
+ color: rgba( 54, 133, 18, 1 );
+ padding: .8em 0 .7em;
+ font-size: 16px;
+ z-index: 5000;
+ text-decoration: none;
+ border-bottom-right-radius: 8px;
+ border-bottom-left-radius: 8px;
+ outline: 0;
+ transform: translateY(0%);
+}
+*/
+
+.mermaid-container.align-right {
+ text-align: right;
+}
+
+.mermaid-container.align-center {
+ text-align: center;
+}
+
+.mermaid-container.align-left {
+ text-align: left;
+}
+
+.searchform {
+ display: flex;
+}
+
+.searchform input {
+ flex: 1 0 60%;
+ border-radius: 4px;
+ border: 2px solid rgba( 134, 134, 134, .125 );
+ background: rgba( 134, 134, 134, .125 );
+ display: block;
+ margin: 0;
+ margin-inline-end: .5rem;
+}
+
+.searchform input::-webkit-input-placeholder,
+.searchform input::placeholder {
+ color: rgba( 134, 134, 134, 1 );
+ opacity: .666;
+}
+
+.searchform .btn {
+ display: inline-flex;
+}
+
+.searchhint {
+ margin-top: 1rem;
+ height: 1.5rem;
+}
+
+#R-searchresults a.autocomplete-suggestion {
+ display: block;
+ font-size: 1.3rem;
+ font-weight: 500;
+ line-height: 1.5rem;
+ padding: 1rem;
+ text-decoration: none;
+}
+
+#R-searchresults a.autocomplete-suggestion:after {
+ height: 0;
+}
+
+#R-searchresults .autocomplete-suggestion > .breadcrumbs {
+ font-size: .9rem;
+ font-weight: 400;
+ margin-top: .167em;
+ padding-left: .2em;
+ padding-right: .2em;
+}
+
+#R-searchresults .autocomplete-suggestion > .context {
+ font-size: 1rem;
+ font-weight: 300;
+ margin-top: .66em;
+ padding-left: .1em;
+ padding-right: .1em;
+}
+
+.badge {
+ border-radius: 3px;
+ display: inline-block;
+ font-size: .8rem;
+ font-weight: 500;
+ vertical-align: middle;
+}
+
+.badge > * {
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ display: inline-block;
+ padding: 0 .25rem
+}
+
+.badge > .badge-title {
+ background-color: rgba( 16, 16, 16, 1 );
+ border-inline-end: 0;
+ border-start-end-radius: 0;
+ border-end-end-radius: 0;
+ color: rgba( 240, 240, 240, 1 );
+ filter: contrast(2);
+ opacity: .75;
+}
+
+.badge.badge-with-title > .badge-content {
+ border-start-start-radius: 0;
+ border-end-start-radius: 0;
+}
+
+.badge-content:after {
+ /* avoid breakage if no content is given */
+ content: "\200b";
+}
+
+/* task list and its checkboxes */
+article ul > li:has(> input[type="checkbox"]) {
+ list-style: none;
+ margin-inline-start: -1rem;
+}
+
+article ul > li:has(> input[type="checkbox"])::before {
+ content: "\200B"; /* accessibilty for Safari https://developer.mozilla.org/en-US/docs/Web/CSS/list-style */
+}
+
+/* https://moderncss.dev/pure-css-custom-checkbox-style/ */
+article ul > li > input[type="checkbox"] {
+ -webkit-appearance: none;
+ appearance: none;
+ /* For iOS < 15 */
+ border: 0.15em solid currentColor;
+ border-radius: 0.15em;
+ display: inline-grid;
+ font: inherit;
+ height: 1.15em;
+ margin: 0;
+ place-content: center;
+ transform: translateY(-0.075em);
+ width: 1.15em;
+}
+
+article ul > li > input[type="checkbox"]::before {
+ box-shadow: inset 1em 1em var(--INTERNAL-PRIMARY-color);
+ clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
+ content: "";
+ height: 0.65em;
+ transform: scale(0);
+ transform-origin: bottom left;
+ transition: 120ms transform ease-in-out;
+ width: 0.65em;
+ /* Windows High Contrast Mode fallback must be last */
+ background-color: CanvasText;
+}
+
+article ul > li > input[type="checkbox"]:checked::before {
+ transform: scale(1);
+}
+
+/* CSS Lightbox https://codepen.io/gschier/pen/kyRXVx */
+.lightbox-back {
+ align-items: center;
+ background: rgba( 0, 0, 0, .8 );
+ bottom: 0;
+ display: none;
+ justify-content: center;
+ left: 0;
+ position: fixed;
+ right: 0;
+ text-align: center;
+ top: 0;
+ white-space: nowrap;
+ z-index: 1999;
+}
+
+.lightbox-back:target {
+ display: flex;
+}
+
+.lightbox-back img {
+ max-height: 95%;
+ max-width: 95%;
+ overflow: auto;
+ padding: min(2vh, 2vw);
+}
+
+/* basic menu list styles (non-collapsible) */
+
+#R-sidebar ul > li > :is( a, span ) {
+ display: block;
+ position: relative;
+}
+
+#R-sidebar ul.space > li > * {
+ padding-bottom: .125rem;
+ padding-top: .125rem;
+}
+#R-sidebar ul.space > li > ul {
+ padding-bottom: 0;
+ padding-top: 0;
+}
+
+#R-sidebar ul.morespace > li > * {
+ padding-bottom: .25rem;
+ padding-top: .25rem;
+}
+#R-sidebar ul.morespace > li > ul {
+ padding-bottom: 0;
+ padding-top: 0;
+}
+
+#R-sidebar ul.enlarge > li > :is( a, span ) {
+ font-size: 1.1rem;
+ line-height: 2rem;
+}
+#R-sidebar ul.enlarge > li > a > .read-icon {
+ margin-top: .5rem;
+}
+#R-sidebar ul.enlarge > li > ul > li:last-child {
+ padding-bottom: 1rem;
+}
+
+#R-sidebar ul ul {
+ padding-inline-start: 1rem;
+}
+
+/* collapsible menu style overrides */
+
+#R-sidebar ul.collapsible-menu > li {
+ position: relative;
+}
+
+#R-sidebar ul.collapsible-menu > li > input {
+ -webkit-appearance: none;
+ appearance: none;
+ cursor: pointer;
+ display: inline-block;
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: .65rem;
+ position: absolute;
+ width: 1rem;
+ z-index: 1;
+}
+#R-sidebar ul.collapsible-menu.enlarge > li > input {
+ margin-top: .9rem;
+}
+
+#R-sidebar ul.collapsible-menu > li > label {
+ cursor: pointer;
+ display: inline-block;
+ inset-inline-start: 0;
+ margin-bottom: 0; /* nucleus */
+ padding-inline-start: .125rem;
+ position: absolute;
+ width: 1rem;
+ z-index: 2;
+}
+#R-sidebar ul.collapsible-menu.enlarge > li > label {
+ font-size: 1.1rem;
+ line-height: 2rem;
+}
+
+#R-sidebar ul.collapsible-menu > li > label:after {
+ content: "";
+ display: block;
+ height: 1px;
+ transition: width 0.5s ease;
+ width: 0%;
+}
+
+#R-sidebar ul.collapsible-menu > li > label:hover:after {
+ width: 100%;
+}
+
+#R-sidebar ul.collapsible-menu > li > label > .fas {
+ font-size: .8rem;
+ width: .6rem;
+}
+
+#R-sidebar ul.collapsible-menu > li > :is( a, span ) {
+ display: inline-block;
+ width: 100%;
+}
+
+/* menu states for not(.collapsible-menu) */
+
+#R-sidebar ul ul {
+ display: none;
+}
+
+#R-sidebar ul > li.parent > ul,
+#R-sidebar ul > li.active > ul,
+#R-sidebar ul > li.alwaysopen > ul {
+ display: block;
+}
+
+/* closed menu */
+
+#R-sidebar ul.collapsible-menu > li > input + label ~ ul {
+ display: none;
+}
+
+#R-sidebar ul.collapsible-menu > li > input + label > .fa-chevron-down {
+ display: none;
+}
+#R-sidebar ul.collapsible-menu > li > input + label > .fa-chevron-right {
+ display: inline-block;
+}
+
+/* open menu */
+
+#R-sidebar ul.collapsible-menu > li > input:checked + label ~ ul {
+ display: block;
+}
+
+#R-sidebar ul.collapsible-menu > li > input:checked + label > .fa-chevron-down {
+ display: inline-block;
+}
+#R-sidebar ul.collapsible-menu > li > input:checked + label > .fa-chevron-right {
+ display: none;
+}
+
+/* adjust menu for RTL reading direction */
+
+html[dir="rtl"] #R-sidebar ul.collapsible-menu > li > label > i.fa-chevron-right {
+ transform: scaleX(-1);
+}
+
+.columnize{
+ column-count: 2;
+}
+@media screen and (min-width: 79.25rem) {
+ .columnize{
+ column-count: 3;
+ }
+}
+
+.columnize > *{
+ break-inside: avoid-column;
+}
+
+.columnize .breadcrumbs{
+ font-size: .859625rem;
+}
+
+#R-body .tab-panel{
+ margin-bottom: 1.5rem;
+ margin-top: 1.5rem;
+}
+
+#R-body .tab-nav{
+ display: flex;
+ flex-wrap: wrap;
+}
+
+#R-body .tab-nav-title{
+ font-size: .9rem;
+ font-weight: 400;
+ line-height: 1.42857143;
+ padding: .2rem 0;
+ margin-inline-start: .6rem;
+}
+
+#R-body .tab-nav-button{
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: transparent;
+ border: 1px solid transparent;
+ display: block;
+ font-size: .9rem;
+ font-weight: 300;
+ line-height: 1.42857143;
+ margin-inline-start: .6rem;
+}
+
+#R-body .tab-nav-button.active{
+ border-radius: 2px 2px 0 0;
+ cursor: default;
+}
+
+#R-body .tab-nav-button > .tab-nav-text{
+ border-bottom-style: solid;
+ border-bottom-width: .15rem;
+ display: block;
+ padding: .2rem .6rem 0 .6rem;
+}
+/* https://stackoverflow.com/a/46452396 */
+#R-body .tab-nav-button.active > .tab-nav-text{
+ border-bottom-color: transparent;
+ border-radius: 1px 1px 0 0;
+ text-shadow: -0.06ex 0 0 currentColor, 0.06ex 0 0 currentColor;
+}
+@supports (-webkit-text-stroke-width: 0.04ex){
+ #R-body .tab-nav-button.active > .tab-nav-text{
+ text-shadow: -0.03ex 0 0 currentColor, 0.03ex 0 0 currentColor;
+ -webkit-text-stroke-width: 0.04ex;
+ }
+}
+
+#R-body .tab-content{
+ border-style: solid;
+ border-width: 1px;
+ display: none;
+ /* if setting a border to 1px, a browser instead sets it to 1dppx which is not
+ usable as a unit yet, so we have to calculate it ourself */
+ margin-top: calc( var(--bpx1)*-1px );
+ z-index: 10;
+}
+
+#R-body .tab-content.active{
+ display: block;
+}
+
+#R-body .tab-content-text{
+ padding: 1rem;
+}
+
+/* remove margin if only a single code block is contained in the tab (FF without :has using .codify style) */
+#R-body .tab-content.codify > .tab-content-text{
+ padding: 0;
+}
+#R-body .tab-content-text:has(> div.highlight:only-child){
+ padding: 0;
+}
+
+/* remove border from code block if single in tab */
+#R-body .tab-content-text > div.highlight:only-child > div,
+#R-body .tab-content-text > div.highlight:only-child pre:not(.mermaid),
+#R-body .tab-content-text > pre:not(.mermaid).pre-code:only-child{
+ border-width: 0;
+}
+
+/* bordering the menu and topbar */
+
+#R-topbar {
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+}
+
+#R-header-topbar {
+ border-bottom-color: transparent;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ border-inline-end-style: solid;
+ border-inline-end-width: 1px;
+ height: 3rem;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1;
+}
+
+#R-header-wrapper,
+#R-homelinks,
+#R-content-wrapper > * {
+ border-inline-end-style: solid;
+ border-inline-end-width: 1px;
+}
+
+#topics > ul {
+ margin-top: 1rem;
+}
+
+#R-sidebar ul.collapsible-menu li.active > a{
+ border-style: solid;
+ border-width: 1px;
+ padding-bottom: calc( .25rem - var(--bpx1)*1px);
+ padding-left: calc( 1rem - var(--bpx1)*1px);
+ padding-right: calc( 1rem - var(--bpx1)*1px);
+ padding-top: calc( .25rem - var(--bpx1)*1px);
+ width: calc(100% + var(--bpx1)*1px);
+}
+
+#R-menu-footer {
+ padding-bottom: 1rem;
+}
+
+#R-topics {
+ padding-top: 1rem;
+}
+
+.term-list ul,
+.term-list li {
+ list-style: none;
+ display: inline;
+ padding: 0;
+}
+.term-list i ~ ul > li:before{
+ content: " "
+}
+.term-list ul > li ~ li:before {
+ content: " | "
+}
diff --git a/css/variables.css b/css/variables.css
new file mode 100644
index 0000000000..daa3932baf
--- /dev/null
+++ b/css/variables.css
@@ -0,0 +1,116 @@
+:root {
+ /* initially use section background to avoid flickering on load when a non default variant is active;
+ this is only possible because every color variant defines this variable, otherwise we would have been lost */
+ --INTERNAL-PRIMARY-color: var(--PRIMARY-color, var(--MENU-HEADER-BG-color, rgba( 0, 0, 0, 0 ))); /* not --INTERNAL-MENU-HEADER-BG-color */
+ --INTERNAL-SECONDARY-color: var(--SECONDARY-color, var(--MAIN-LINK-color, rgba( 72, 106, 201, 1 ))); /* not --INTERNAL-MAIN-LINK-color */
+ --INTERNAL-ACCENT-color: var(--ACCENT-color, rgba( 255, 255, 0, 1 ));
+
+ --INTERNAL-MAIN-TOPBAR-BORDER-color: var(--MAIN-TOPBAR-BORDER-color, transparent);
+ --INTERNAL-MAIN-LINK-color: var(--MAIN-LINK-color, var(--SECONDARY-color, rgba( 72, 106, 201, 1 ))); /* not --INTERNAL-SECONDARY-color */
+ --INTERNAL-MAIN-LINK-HOVER-color: var(--MAIN-LINK-HOVER-color, var(--INTERNAL-MAIN-LINK-color));
+ --INTERNAL-MAIN-BG-color: var(--MAIN-BG-color, rgba( 255, 255, 255, 1 ));
+
+ --INTERNAL-MAIN-TEXT-color: var(--MAIN-TEXT-color, rgba( 16, 16, 16, 1 ));
+ --INTERNAL-MAIN-TITLES-TEXT-color: var(--MAIN-TITLES-TEXT-color, var(--INTERNAL-MAIN-TEXT-color));
+
+ --INTERNAL-MAIN-TITLES-H1-color: var(--MAIN-TITLES-H1-color, var(--INTERNAL-MAIN-TEXT-color));
+ --INTERNAL-MAIN-TITLES-H2-color: var(--MAIN-TITLES-H2-color, var(--INTERNAL-MAIN-TITLES-TEXT-color));
+ --INTERNAL-MAIN-TITLES-H3-color: var(--MAIN-TITLES-H3-color, var(--INTERNAL-MAIN-TITLES-H2-color));
+ --INTERNAL-MAIN-TITLES-H4-color: var(--MAIN-TITLES-H4-color, var(--INTERNAL-MAIN-TITLES-H3-color));
+ --INTERNAL-MAIN-TITLES-H5-color: var(--MAIN-TITLES-H5-color, var(--INTERNAL-MAIN-TITLES-H4-color));
+ --INTERNAL-MAIN-TITLES-H6-color: var(--MAIN-TITLES-H6-color, var(--INTERNAL-MAIN-TITLES-H5-color));
+
+ --INTERNAL-MAIN-font: var(--MAIN-font, "Work Sans", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif);
+ --INTERNAL-MAIN-TITLES-TEXT-font: var(--MAIN-TITLES-TEXT-font, var(--INTERNAL-MAIN-font));
+
+ --INTERNAL-MAIN-TITLES-H1-font: var(--MAIN-TITLES-H1-font, var(--INTERNAL-MAIN-font));
+ --INTERNAL-MAIN-TITLES-H2-font: var(--MAIN-TITLES-H2-font, var(--INTERNAL-MAIN-TITLES-TEXT-font));
+ --INTERNAL-MAIN-TITLES-H3-font: var(--MAIN-TITLES-H3-font, var(--INTERNAL-MAIN-TITLES-H2-font));
+ --INTERNAL-MAIN-TITLES-H4-font: var(--MAIN-TITLES-H4-font, var(--INTERNAL-MAIN-TITLES-H3-font));
+ --INTERNAL-MAIN-TITLES-H5-font: var(--MAIN-TITLES-H5-font, var(--INTERNAL-MAIN-TITLES-H4-font));
+ --INTERNAL-MAIN-TITLES-H6-font: var(--MAIN-TITLES-H6-font, var(--INTERNAL-MAIN-TITLES-H5-font));
+
+ --INTERNAL-CODE-theme: var(--CODE-theme, relearn-light);
+ --INTERNAL-CODE-font: var(--CODE-font, "Consolas", menlo, monospace);
+ --INTERNAL-CODE-BLOCK-color: var(--CODE-BLOCK-color, var(--MAIN-CODE-color, rgba( 39, 40, 34, 1 )));
+ --INTERNAL-CODE-BLOCK-BG-color: var(--CODE-BLOCK-BG-color, var(--MAIN-CODE-BG-color, rgba( 250, 250, 250, 1 )));
+ --INTERNAL-CODE-BLOCK-BORDER-color: var(--CODE-BLOCK-BORDER-color, var(--MAIN-CODE-BG-color, var(--INTERNAL-CODE-BLOCK-BG-color)));
+ --INTERNAL-CODE-INLINE-color: var(--CODE-INLINE-color, rgba( 94, 94, 94, 1 ));
+ --INTERNAL-CODE-INLINE-BG-color: var(--CODE-INLINE-BG-color, rgba( 255, 250, 233, 1 ));
+ --INTERNAL-CODE-INLINE-BORDER-color: var(--CODE-INLINE-BORDER-color, rgba( 251, 240, 203, 1 ));
+
+ --INTERNAL-BROWSER-theme: var(--BROWSER-theme, light);
+ --INTERNAL-MERMAID-theme: var(--CONFIG-MERMAID-theme, var(--MERMAID-theme, var(--INTERNAL-PRINT-MERMAID-theme)));
+ --INTERNAL-OPENAPI-theme: var(--CONFIG-OPENAPI-theme, var(--OPENAPI-theme, var(--SWAGGER-theme, var(--INTERNAL-PRINT-OPENAPI-theme))));
+ --INTERNAL-OPENAPI-CODE-theme: var(--CONFIG-OPENAPI-CODE-theme, var(--OPENAPI-CODE-theme, --INTERNAL-PRINT-OPENAPI-CODE-theme));
+
+ --INTERNAL-TAG-BG-color: var(--TAG-BG-color, var(--INTERNAL-PRIMARY-color));
+
+ --INTERNAL-MENU-BORDER-color: var(--MENU-BORDER-color, transparent);
+ --INTERNAL-MENU-TOPBAR-BORDER-color: var(--MENU-TOPBAR-BORDER-color, var(--INTERNAL-MENU-HEADER-BG-color));
+ --INTERNAL-MENU-TOPBAR-SEPARATOR-color: var(--MENU-TOPBAR-SEPARATOR-color, transparent);
+ --INTERNAL-MENU-HEADER-BG-color: var(--MENU-HEADER-BG-color, var(--PRIMARY-color, rgba( 0, 0, 0, 0 ))); /* not --INTERNAL-PRIMARY-color */
+ --INTERNAL-MENU-HEADER-BORDER-color: var(--MENU-HEADER-BORDER-color, var(--INTERNAL-MENU-HEADER-BG-color));
+ --INTERNAL-MENU-HEADER-SEPARATOR-color: var(--MENU-HEADER-SEPARATOR-color, var(--INTERNAL-MENU-HEADER-BORDER-color));
+
+ --INTERNAL-MENU-HOME-LINK-color: var(--MENU-HOME-LINK-color, rgba( 50, 50, 50, 1 ));
+ --INTERNAL-MENU-HOME-LINK-HOVER-color: var(--MENU-HOME-LINK-HOVER-color, var(--MENU-HOME-LINK-HOVERED-color, rgba( 128, 128, 128, 1 )));
+
+ --INTERNAL-MENU-SEARCH-color: var(--MENU-SEARCH-color, var(--MENU-SEARCH-BOX-ICONS-color, rgba( 224, 224, 224, 1 )));
+ --INTERNAL-MENU-SEARCH-BG-color: var(--MENU-SEARCH-BG-color, rgba( 50, 50, 50, 1 ));
+ --INTERNAL-MENU-SEARCH-BORDER-color: var(--MENU-SEARCH-BORDER-color, var(--MENU-SEARCH-BOX-color, var(--INTERNAL-MENU-SEARCH-BG-color)));
+
+ --INTERNAL-MENU-SECTIONS-ACTIVE-BG-color: var(--MENU-SECTIONS-ACTIVE-BG-color, rgba( 0, 0, 0, .166 ));
+ --INTERNAL-MENU-SECTIONS-BG-color: var(--MENU-SECTIONS-BG-color, rgba( 40, 40, 40, 1 ));
+ --INTERNAL-MENU-SECTIONS-LINK-color: var(--MENU-SECTIONS-LINK-color, rgba( 186, 186, 186, 1 ));
+ --INTERNAL-MENU-SECTIONS-LINK-HOVER-color: var(--MENU-SECTIONS-LINK-HOVER-color, var(--INTERNAL-MENU-SECTIONS-LINK-color));
+ --INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-color: var(--MENU-SECTION-ACTIVE-CATEGORY-color, rgba( 68, 68, 68, 1 ));
+ --INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-BG-color: var(--MENU-SECTION-ACTIVE-CATEGORY-BG-color, var(--INTERNAL-MAIN-BG-color));
+ --INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-BORDER-color: var(--MENU-SECTION-ACTIVE-CATEGORY-BORDER-color, transparent);
+
+ --INTERNAL-MENU-VISITED-color: var(--MENU-VISITED-color, var(--INTERNAL-SECONDARY-color));
+ --INTERNAL-MENU-SECTION-SEPARATOR-color: var(--MENU-SECTION-SEPARATOR-color, var(--MENU-SECTION-HR-color, rgba( 96, 96, 96, 1 )));
+
+ --INTERNAL-BOX-CAPTION-color: var(--BOX-CAPTION-color, rgba( 255, 255, 255, 1 ));
+ --INTERNAL-BOX-BG-color: var(--BOX-BG-color, rgba( 255, 255, 255, .833 ));
+ --INTERNAL-BOX-TEXT-color: var(--BOX-TEXT-color, var(--INTERNAL-MAIN-TEXT-color));
+
+ --INTERNAL-BOX-BLUE-color: var(--BOX-BLUE-color, rgba( 48, 117, 229, 1 ));
+ --INTERNAL-BOX-GREEN-color: var(--BOX-GREEN-color, rgba( 42, 178, 24, 1 ));
+ --INTERNAL-BOX-GREY-color: var(--BOX-GREY-color, rgba( 160, 160, 160, 1 ));
+ --INTERNAL-BOX-ORANGE-color: var(--BOX-ORANGE-color, rgba( 237, 153, 9, 1 ));
+ --INTERNAL-BOX-RED-color: var(--BOX-RED-color, rgba( 224, 62, 62, 1 ));
+
+ --INTERNAL-BOX-INFO-color: var(--BOX-INFO-color, var(--INTERNAL-BOX-BLUE-color));
+ --INTERNAL-BOX-NEUTRAL-color: var(--BOX-NEUTRAL-color, var(--INTERNAL-BOX-GREY-color));
+ --INTERNAL-BOX-NOTE-color: var(--BOX-NOTE-color, var(--INTERNAL-BOX-ORANGE-color));
+ --INTERNAL-BOX-TIP-color: var(--BOX-TIP-color, var(--INTERNAL-BOX-GREEN-color));
+ --INTERNAL-BOX-WARNING-color: var(--BOX-WARNING-color, var(--INTERNAL-BOX-RED-color));
+
+ --INTERNAL-BOX-BLUE-TEXT-color: var(--BOX-BLUE-TEXT-color, var(--INTERNAL-BOX-TEXT-color));
+ --INTERNAL-BOX-GREEN-TEXT-color: var(--BOX-GREEN-TEXT-color, var(--INTERNAL-BOX-TEXT-color));
+ --INTERNAL-BOX-GREY-TEXT-color: var(--BOX-GREY-TEXT-color, var(--INTERNAL-BOX-TEXT-color));
+ --INTERNAL-BOX-ORANGE-TEXT-color: var(--BOX-ORANGE-TEXT-color, var(--INTERNAL-BOX-TEXT-color));
+ --INTERNAL-BOX-RED-TEXT-color: var(--BOX-RED-TEXT-color, var(--INTERNAL-BOX-TEXT-color));
+
+ --INTERNAL-BOX-INFO-TEXT-color: var(--BOX-INFO-TEXT-color, var(--INTERNAL-BOX-BLUE-TEXT-color));
+ --INTERNAL-BOX-NEUTRAL-TEXT-color: var(--BOX-NEUTRAL-TEXT-color, var(--INTERNAL-BOX-GREY-TEXT-color));
+ --INTERNAL-BOX-NOTE-TEXT-color: var(--BOX-NOTE-TEXT-color, var(--INTERNAL-BOX-ORANGE-TEXT-color));
+ --INTERNAL-BOX-TIP-TEXT-color: var(--BOX-TIP-TEXT-color, var(--INTERNAL-BOX-GREEN-TEXT-color));
+ --INTERNAL-BOX-WARNING-TEXT-color: var(--BOX-WARNING-TEXT-color, var(--INTERNAL-BOX-RED-TEXT-color));
+
+ /* print style, values taken from relearn-light as it is used as a default print style */
+ --INTERNAL-PRINT-MAIN-BG-color: var(--PRINT-MAIN-BG-color, rgba( 255, 255, 255, 1 ));
+ --INTERNAL-PRINT-CODE-font: var(--PRINT-CODE-font, "Consolas", menlo, monospace);
+ --INTERNAL-PRINT-TAG-BG-color: var(--PRINT-TAG-BG-color, rgba( 125, 201, 3, 1 ));
+ --INTERNAL-PRINT-MAIN-font: var(--PRINT-MAIN-font, "Work Sans", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif);
+ --INTERNAL-PRINT-MAIN-TEXT-color: var(--PRINT-MAIN-TEXT-color, rgba( 16, 16, 16, 1 ));
+ --INTERNAL-PRINT-MERMAID-theme: var(--PRINT-MERMAID-theme, default);
+ --INTERNAL-PRINT-OPENAPI-theme: var(--PRINT-OPENAPI-theme, var(--PRINT-SWAGGER-theme, light));
+ --INTERNAL-PRINT-OPENAPI-CODE-theme: var(--PRINT-OPENAPI-CODE-theme, idea);
+
+ --INTERNAL-MENU-WIDTH-S: var(--MENU-WIDTH-S, 14.375rem);
+ --INTERNAL-MENU-WIDTH-M: var(--MENU-WIDTH-M, 14.375rem);
+ --INTERNAL-MENU-WIDTH-L: var(--MENU-WIDTH-L, 18.75rem);
+ --INTERNAL-MAIN-WIDTH-MAX: var(--MAIN-WIDTH-MAX, 81.25rem);
+}
diff --git a/css/variant.css b/css/variant.css
new file mode 100644
index 0000000000..4482085259
--- /dev/null
+++ b/css/variant.css
@@ -0,0 +1,515 @@
+@import "variables.css?1732196118";
+
+html {
+ color-scheme: only var(--INTERNAL-BROWSER-theme);
+}
+
+body {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+ color: var(--INTERNAL-MAIN-TEXT-color);
+ font-family: var(--INTERNAL-MAIN-font);
+}
+
+a,
+.anchor,
+.topbar-button button,
+#R-searchresults .autocomplete-suggestion {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+
+a:hover,
+a:active,
+a:focus,
+.anchor:hover,
+.anchor:active,
+.anchor:focus,
+.topbar-button button:hover,
+.topbar-button button:active,
+.topbar-button button:focus{
+ color: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+
+#R-sidebar {
+ background: var(--INTERNAL-MENU-SECTIONS-BG-color);
+}
+
+#R-header-wrapper {
+ background-color: var(--INTERNAL-MENU-HEADER-BG-color);
+ color: var(--INTERNAL-MENU-SEARCH-color);
+}
+
+.searchbox {
+ border-color: var(--INTERNAL-MENU-SEARCH-BORDER-color);
+ background-color: var(--INTERNAL-MENU-SEARCH-BG-color);
+}
+
+#R-sidebar .searchbox > :first-child,
+#R-sidebar .searchbox > :last-child {
+ color: var(--INTERNAL-MENU-SEARCH-color);
+}
+
+.searchbox input::-webkit-input-placeholder,
+.searchbox input::placeholder {
+ color: var(--INTERNAL-MENU-SEARCH-color);
+}
+
+#R-sidebar .collapsible-menu label,
+#R-sidebar .menu-control,
+#R-sidebar :is( a, span ) {
+ color: var(--INTERNAL-MENU-SECTIONS-LINK-color);
+}
+
+#R-sidebar select:hover,
+#R-sidebar .collapsible-menu li:not(.active) > label:hover,
+#R-sidebar .menu-control:hover,
+#R-sidebar a:hover {
+ color: var(--INTERNAL-MENU-SECTIONS-LINK-HOVER-color);
+}
+
+#R-sidebar ul.enlarge > li.parent,
+#R-sidebar ul.enlarge > li.active {
+ background-color: var(--INTERNAL-MENU-SECTIONS-ACTIVE-BG-color);
+}
+
+#R-sidebar li.active > label,
+#R-sidebar li.active > a {
+ color: var(--INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-color);
+}
+
+#R-sidebar li.active > a {
+ background-color: var(--INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-BG-color);
+}
+
+#R-sidebar ul li > a .read-icon {
+ color: var(--INTERNAL-MENU-VISITED-color);
+}
+
+#R-sidebar .nav-title {
+ color: var(--INTERNAL-MENU-SECTIONS-LINK-color);
+}
+
+#R-content-wrapper hr {
+ border-color: var(--INTERNAL-MENU-SECTION-SEPARATOR-color);
+}
+
+#R-footer {
+ color: var(--INTERNAL-MENU-SECTIONS-LINK-color);
+}
+
+mark {
+ background-image: linear-gradient(
+ to right,
+ color-mix( in srgb, var(--INTERNAL-ACCENT-color) 20%, transparent ),
+ color-mix( in srgb, var(--INTERNAL-ACCENT-color) 90%, transparent ) 4%,
+ color-mix( in srgb, var(--INTERNAL-ACCENT-color) 40%, transparent )
+ );
+}
+
+kbd {
+ color: var(--INTERNAL-TEXT-color);
+ font-family: var(--INTERNAL-CODE-font);
+}
+
+h1 {
+ color: var(--INTERNAL-MAIN-TITLES-H1-color);
+ font-family: var(--INTERNAL-MAIN-TITLES-H1-font);
+}
+
+h2 {
+ color: var(--INTERNAL-MAIN-TITLES-H2-color);
+ font-family: var(--INTERNAL-MAIN-TITLES-H2-font);
+}
+
+h3, .article-subheading {
+ color: var(--INTERNAL-MAIN-TITLES-H3-color);
+ font-family: var(--INTERNAL-MAIN-TITLES-H3-font);
+}
+
+h4 {
+ color: var(--INTERNAL-MAIN-TITLES-H4-color);
+ font-family: var(--INTERNAL-MAIN-TITLES-H4-font);
+}
+
+h5 {
+ color: var(--INTERNAL-MAIN-TITLES-H5-color);
+ font-family: var(--INTERNAL-MAIN-TITLES-H5-font);
+}
+
+h6 {
+ color: var(--INTERNAL-MAIN-TITLES-H6-color);
+ font-family: var(--INTERNAL-MAIN-TITLES-H6-font);
+}
+
+div.box {
+ background-color: var(--VARIABLE-BOX-color);
+ border-color: var(--VARIABLE-BOX-color);
+}
+
+div.box > .box-label {
+ color: var(--VARIABLE-BOX-CAPTION-color);
+}
+
+div.box > .box-content {
+ background-color: var(--VARIABLE-BOX-BG-color);
+ color: var(--VARIABLE-BOX-TEXT-color);
+}
+
+.cstyle.info {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-INFO-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-INFO-TEXT-color);
+}
+
+.cstyle.warning {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-WARNING-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-WARNING-TEXT-color);
+}
+
+.cstyle.note {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-NOTE-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-NOTE-TEXT-color);
+}
+
+.cstyle.tip {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-TIP-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-TIP-TEXT-color);
+}
+
+.cstyle.primary {
+ --VARIABLE-BOX-color: var(--INTERNAL-PRIMARY-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+.cstyle.secondary {
+ --VARIABLE-BOX-color: var(--INTERNAL-SECONDARY-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+.cstyle.accent {
+ --VARIABLE-BOX-color: var(--INTERNAL-ACCENT-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+.cstyle.blue {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-BLUE-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-BLUE-TEXT-color);
+}
+
+.cstyle.green {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-GREEN-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-GREEN-TEXT-color);
+}
+
+.cstyle.grey {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-GREY-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-GREY-TEXT-color);
+}
+
+.cstyle.orange {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-ORANGE-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-ORANGE-TEXT-color);
+}
+
+.cstyle.red {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-RED-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-BOX-RED-TEXT-color);
+}
+
+.cstyle.code {
+ --VARIABLE-BOX-color: var(--INTERNAL-CODE-BLOCK-BORDER-color);
+ --VARIABLE-BOX-CAPTION-color: var(--INTERNAL-CODE-BLOCK-color);
+ --VARIABLE-BOX-BG-color: var(--INTERNAL-CODE-BLOCK-BG-color);
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-CODE-BLOCK-color);
+}
+
+.cstyle.transparent {
+ --VARIABLE-BOX-color: transparent;
+ --VARIABLE-BOX-CAPTION-color: var(--INTERNAL-MAIN-TITLES-TEXT-color);
+ --VARIABLE-BOX-BG-color: transparent;
+ --VARIABLE-BOX-TEXT-color: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+code,
+kbd,
+pre:not(.mermaid),
+samp {
+ font-family: var(--INTERNAL-CODE-font);
+}
+
+code {
+ background-color: var(--INTERNAL-CODE-INLINE-BG-color);
+ border-color: var(--INTERNAL-CODE-INLINE-BORDER-color);
+ color: var(--INTERNAL-CODE-INLINE-color);
+}
+
+pre:not(.mermaid) {
+ background-color: var(--INTERNAL-CODE-BLOCK-BG-color);
+ border-color: var(--INTERNAL-CODE-BLOCK-BORDER-color);
+ color: var(--INTERNAL-CODE-BLOCK-color);
+}
+
+div.highlight > div {
+ background-color: var(--INTERNAL-CODE-BLOCK-BG-color);
+ border-color: var(--INTERNAL-CODE-BLOCK-BORDER-color);
+}
+
+table {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
+
+.lightbox-back img{
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
+
+#R-topbar {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
+
+.topbar-sidebar-divider {
+ border-inline-start-color: var(--INTERNAL-MENU-TOPBAR-SEPARATOR-color);
+}
+@media screen and (max-width: 47.999rem) {
+ .topbar-sidebar-divider {
+ border-inline-start-color: transparent;
+ }
+}
+
+#R-body a[aria-disabled="true"],
+#R-searchresults .autocomplete-suggestion > .context {
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+#R-searchresults .autocomplete-suggestion > .breadcrumbs {
+ color: var(--INTERNAL-PRIMARY-color);
+}
+
+.copy-to-clipboard-button {
+ background-color: var(--INTERNAL-CODE-INLINE-BG-color);
+ border-color: var(--INTERNAL-CODE-INLINE-BORDER-color);
+ color: var(--INTERNAL-CODE-INLINE-color);
+ font-family: var(--INTERNAL-CODE-font);
+}
+
+.copy-to-clipboard-button:hover {
+ background-color: var(--INTERNAL-CODE-INLINE-color);
+ color: var(--INTERNAL-CODE-INLINE-BG-color);
+}
+
+div.highlight > div table + .copy-to-clipboard-button,
+div.highlight pre:not(.mermaid) + .copy-to-clipboard-button,
+pre:not(.mermaid) .copy-to-clipboard-button {
+ border-color: transparent;
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+
+div.highlight > div table + .copy-to-clipboard-button:hover,
+div.highlight pre:not(.mermaid) + .copy-to-clipboard-button:hover,
+pre:not(.mermaid) .copy-to-clipboard-button:hover {
+ background-color: var(--INTERNAL-MAIN-LINK-color);
+ border-color: var(--INTERNAL-MAIN-LINK-color);
+ color: var(--INTERNAL-CODE-BLOCK-BG-color);
+}
+
+.expand > label {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+
+.expand > label:hover,
+.expand > label:active,
+.expand > label:focus,
+.expand > input:hover + label,
+.expand > input:active + label,
+.expand > input:focus + label{
+ color: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+
+.svg-reset-button {
+ border-color: transparent;
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+.svg-reset-button:hover {
+ background-color: var(--INTERNAL-MAIN-LINK-color);
+ border-color: var(--INTERNAL-MAIN-LINK-color);
+ color: var(--INTERNAL-MAIN-BG-color);
+}
+
+#R-homelinks {
+ background-color: var(--INTERNAL-MENU-HEADER-BORDER-color);
+}
+
+#R-homelinks a {
+ color: var(--INTERNAL-MENU-HOME-LINK-color);
+}
+
+#R-homelinks a:hover {
+ color: var(--INTERNAL-MENU-HOME-LINK-HOVER-color);
+}
+
+#R-homelinks hr {
+ border-color: var(--INTERNAL-MENU-HEADER-SEPARATOR-color);
+}
+
+.topbar-content {
+ background-color: var(--INTERNAL-MAIN-BG-color);
+}
+
+.btn {
+ background-color: var(--VARIABLE-BOX-color);
+}
+
+.btn > * {
+ border-color: var(--VARIABLE-BOX-color);
+ color: var(--VARIABLE-BOX-CAPTION-color);
+}
+
+.btn.interactive > *:hover,
+.btn.interactive > *:active,
+.btn.interactive > *:focus {
+ background-color: var(--VARIABLE-BOX-BG-color);
+ color: var(--VARIABLE-BOX-TEXT-color);
+}
+
+.btn.cstyle.transparent {
+ --VARIABLE-BOX-BG-color: var(--INTERNAL-BOX-BG-color);
+}
+
+.btn.cstyle.interactive.transparent:hover,
+.btn.cstyle.interactive.transparent:focus,
+.btn.cstyle.interactive.transparent:active,
+.btn.cstyle.interactive.transparent:has(a:hover),
+.btn.cstyle.interactive.transparent:has(a:focus),
+.btn.cstyle.interactive.transparent:has(a:active) {
+ background-color: var(--INTERNAL-BOX-NEUTRAL-color);
+}
+
+.btn.cstyle.transparent > * {
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-NEUTRAL-color);
+ --VARIABLE-BOX-TEXT-color: var(--VARIABLE-BOX-CAPTION-color);
+}
+
+#R-body .tags {
+ --VARIABLE-TAGS-color: var(--INTERNAL-MAIN-BG-color);
+ --VARIABLE-TAGS-BG-color: var(--VARIABLE-BOX-color);
+}
+
+#R-body .tags a.term-link {
+ background-color: var(--VARIABLE-TAGS-BG-color);
+ color: var(--VARIABLE-TAGS-color);
+}
+
+#R-body .tags a.term-link:before {
+ border-right-color: var(--VARIABLE-TAGS-BG-color);
+}
+
+#R-body .tags a.term-link:after {
+ background-color: var(--VARIABLE-TAGS-color);
+}
+
+.badge > * {
+ border-color: var(--VARIABLE-BOX-TEXT-color);
+}
+
+.badge > .badge-content {
+ background-color: var(--VARIABLE-BOX-color);
+ color: var(--VARIABLE-BOX-CAPTION-color);
+}
+
+.badge.cstyle.transparent{
+ --VARIABLE-BOX-BG-color: var(--INTERNAL-BOX-BG-color);
+}
+
+article ul > li > input[type="checkbox"] {
+ background-color: var(--INTERNAL-MAIN-BG-color); /* box background */
+ color: var(--INTERNAL-MAIN-TEXT-color);
+}
+
+#R-body .tab-nav-button {
+ color: var(--INTERNAL-MAIN-LINK-color);
+}
+#R-body .tab-nav-button:not(.active):hover,
+#R-body .tab-nav-button:not(.active):active,
+#R-body .tab-nav-button:not(.active):focus {
+ color: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+
+#R-body .tab-nav-button.active {
+ background-color: var(--VARIABLE-BOX-color);
+ border-bottom-color: var(--VARIABLE-BOX-BG-color);
+ color: var(--VARIABLE-BOX-TEXT-color);
+}
+
+#R-body .tab-nav-button > .tab-nav-text{
+ border-bottom-color: var(--VARIABLE-BOX-color);
+}
+#R-body .tab-nav-button.active > .tab-nav-text{
+ background-color: var(--VARIABLE-BOX-BG-color);
+}
+#R-body .tab-nav-button:not(.active):hover > .tab-nav-text,
+#R-body .tab-nav-button:not(.active):active > .tab-nav-text,
+#R-body .tab-nav-button:not(.active):focus > .tab-nav-text {
+ border-bottom-color: var(--INTERNAL-MAIN-LINK-HOVER-color);
+}
+
+#R-body .tab-content{
+ background-color: var(--VARIABLE-BOX-color);
+ border-color: var(--VARIABLE-BOX-color);
+}
+
+#R-body .tab-content-text{
+ background-color: var(--VARIABLE-BOX-BG-color);
+ color: var(--VARIABLE-BOX-TEXT-color);
+}
+
+.tab-panel-style.cstyle.initial,
+.tab-panel-style.cstyle.default {
+ --VARIABLE-BOX-BG-color: var(--INTERNAL-MAIN-BG-color);
+}
+
+.tab-panel-style.cstyle.transparent {
+ --VARIABLE-BOX-color: rgba( 134, 134, 134, .4 );
+ --VARIABLE-BOX-BG-color: transparent;
+}
+
+#R-body .tab-panel-style.cstyle.initial.tab-nav-button.active,
+#R-body .tab-panel-style.cstyle.default.tab-nav-button.active,
+#R-body .tab-panel-style.cstyle.transparent.tab-nav-button.active{
+ background-color: var(--VARIABLE-BOX-BG-color);
+ border-left-color: var(--VARIABLE-BOX-color);
+ border-right-color: var(--VARIABLE-BOX-color);
+ border-top-color: var(--VARIABLE-BOX-color);
+}
+
+#R-body .tab-panel-style.cstyle.code.tab-nav-button:not(.active){
+ --VARIABLE-BOX-color: var(--INTERNAL-BOX-NEUTRAL-color);
+}
+
+#R-body .tab-panel-style.cstyle.initial.tab-content,
+#R-body .tab-panel-style.cstyle.default.tab-content,
+#R-body .tab-panel-style.cstyle.transparent.tab-content{
+ background-color: var(--VARIABLE-BOX-BG-color);
+}
+
+#R-topbar {
+ border-bottom-color: var(--INTERNAL-MAIN-TOPBAR-BORDER-color);
+}
+
+#R-header-topbar {
+ border-inline-end-color: var(--INTERNAL-MENU-TOPBAR-BORDER-color);
+}
+@media screen and (max-width: 47.999rem) {
+ .mobile-support #R-header-topbar {
+ border-inline-end-color: var(--INTERNAL-MENU-BORDER-color);
+ }
+}
+
+#R-header-wrapper,
+#R-homelinks,
+#R-content-wrapper > * {
+ border-inline-end-color: var(--INTERNAL-MENU-BORDER-color);
+}
+
+#R-sidebar ul.collapsible-menu li.active > a{
+ border-bottom-color: var(--INTERNAL-MENU-BORDER-color);
+ border-top-color: var(--INTERNAL-MENU-BORDER-color);
+ border-inline-start-color: var(--INTERNAL-MENU-BORDER-color);
+ border-inline-end-color: var(--INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-BORDER-color);
+}
diff --git a/dns/acme-dns/index.html b/dns/acme-dns/index.html
new file mode 100644
index 0000000000..617ccf3d81
--- /dev/null
+++ b/dns/acme-dns/index.html
@@ -0,0 +1,407 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Joohoi's ACME-DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Joohoi's ACME-DNS
+
+
+
+
+Configuration for Joohoi’s ACME-DNS .
+
+Code: acme-dns
+Since: v1.1.0
+
+Here is an example bash command using the Joohoi’s ACME-DNS provider:
+ACME_DNS_API_BASE = http://10.0.0.8:4443 \
+ ACME_DNS_STORAGE_PATH = /root/.lego-acme-dns-accounts.json \
+ lego --email you@example.com --dns "acme-dns" -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ACME_DNS_API_BASE
+The ACME-DNS API address
+
+
+ACME_DNS_STORAGE_PATH
+The ACME-DNS JSON account data file. A per-domain account will be registered/persisted to this file and used for TXT updates.
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/alidns/index.html b/dns/alidns/index.html
new file mode 100644
index 0000000000..c4638164f0
--- /dev/null
+++ b/dns/alidns/index.html
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Alibaba Cloud DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Alibaba Cloud DNS
+
+
+
+
+Configuration for Alibaba Cloud DNS .
+
+Code: alidns
+Since: v1.1.0
+
+Here is an example bash command using the Alibaba Cloud DNS provider:
+# Setup using instance RAM role
+ALICLOUD_RAM_ROLE = lego \
+ lego --email you@example.com --dns alidns -d '*.example.com' -d example.com run
+
+ # Or, using credentials
+ALICLOUD_ACCESS_KEY = abcdefghijklmnopqrstuvwx \
+ ALICLOUD_SECRET_KEY = your-secret-key \
+ ALICLOUD_SECURITY_TOKEN = your-sts-token \
+ lego --email you@example.com --dns alidns - -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ALICLOUD_ACCESS_KEY
+Access key ID
+
+
+ALICLOUD_RAM_ROLE
+Your instance RAM role (https://www.alibabacloud.com/help/doc-detail/54579.htm )
+
+
+ALICLOUD_SECRET_KEY
+Access Key secret
+
+
+ALICLOUD_SECURITY_TOKEN
+STS Security Token (optional)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ALICLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+ALICLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+ALICLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+ALICLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/allinkl/index.html b/dns/allinkl/index.html
new file mode 100644
index 0000000000..625aaa2ef1
--- /dev/null
+++ b/dns/allinkl/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all-inkl :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+all-inkl
+
+
+
+
+Configuration for all-inkl .
+
+Code: allinkl
+Since: v4.5.0
+
+Here is an example bash command using the all-inkl provider:
+ALL_INKL_LOGIN = xxxxxxxxxxxxxxxxxxxxxxxxxx \
+ ALL_INKL_PASSWORD = yyyyyyyyyyyyyyyyyyyyyyyyyy \
+ lego --email you@example.com --dns allinkl -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ALL_INKL_LOGIN
+KAS login
+
+
+ALL_INKL_PASSWORD
+KAS password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ALL_INKL_HTTP_TIMEOUT
+API request timeout
+
+
+ALL_INKL_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+ALL_INKL_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/arvancloud/index.html b/dns/arvancloud/index.html
new file mode 100644
index 0000000000..a1d3806631
--- /dev/null
+++ b/dns/arvancloud/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ArvanCloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ArvanCloud
+
+
+
+
+Configuration for ArvanCloud .
+
+Code: arvancloud
+Since: v3.8.0
+
+Here is an example bash command using the ArvanCloud provider:
+ARVANCLOUD_API_KEY = "Apikey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
+ lego --email you@example.com --dns arvancloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ARVANCLOUD_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ARVANCLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+ARVANCLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+ARVANCLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+ARVANCLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/auroradns/index.html b/dns/auroradns/index.html
new file mode 100644
index 0000000000..9cc9f52b18
--- /dev/null
+++ b/dns/auroradns/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Aurora DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Aurora DNS
+
+
+
+
+Configuration for Aurora DNS .
+
+Code: auroradns
+Since: v0.4.0
+
+Here is an example bash command using the Aurora DNS provider:
+AURORA_API_KEY = xxxxx \
+ AURORA_SECRET = yyyyyy \
+ lego --email you@example.com --dns auroradns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AURORA_API_KEY
+API key or username to used
+
+
+AURORA_SECRET
+Secret password to be used
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AURORA_ENDPOINT
+API endpoint URL
+
+
+AURORA_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+AURORA_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+AURORA_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/autodns/index.html b/dns/autodns/index.html
new file mode 100644
index 0000000000..6548b5115e
--- /dev/null
+++ b/dns/autodns/index.html
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Autodns :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Autodns
+
+
+
+
+Configuration for Autodns .
+
+Code: autodns
+Since: v3.2.0
+
+Here is an example bash command using the Autodns provider:
+AUTODNS_API_USER = username \
+ AUTODNS_API_PASSWORD = supersecretpassword \
+ lego --email you@example.com --dns autodns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AUTODNS_API_PASSWORD
+User Password
+
+
+AUTODNS_API_USER
+Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AUTODNS_CONTEXT
+API context (4 for production, 1 for testing. Defaults to 4)
+
+
+AUTODNS_ENDPOINT
+API endpoint URL, defaults to https://api.autodns.com/v1/
+
+
+AUTODNS_HTTP_TIMEOUT
+API request timeout, defaults to 30 seconds
+
+
+AUTODNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+AUTODNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+AUTODNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/azure/index.html b/dns/azure/index.html
new file mode 100644
index 0000000000..15d5aba013
--- /dev/null
+++ b/dns/azure/index.html
@@ -0,0 +1,470 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Azure (deprecated) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Azure (deprecated)
+
+
+
+
+Configuration for Azure (deprecated) .
+
+Code: azure
+Since: v0.4.0
+
+
+
+
Note
+
+
+
Please contribute by adding a CLI example.
+
+
+Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AZURE_CLIENT_ID
+Client ID
+
+
+AZURE_CLIENT_SECRET
+Client secret
+
+
+AZURE_ENVIRONMENT
+Azure environment, one of: public, usgovernment, german, and china
+
+
+AZURE_RESOURCE_GROUP
+Resource group
+
+
+AZURE_SUBSCRIPTION_ID
+Subscription ID
+
+
+AZURE_TENANT_ID
+Tenant ID
+
+
+instance metadata service
+If the credentials are not set via the environment, then it will attempt to get a bearer token via the instance metadata service .
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AZURE_METADATA_ENDPOINT
+Metadata Service endpoint URL
+
+
+AZURE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+AZURE_PRIVATE_ZONE
+Set to true to use Azure Private DNS Zones and not public
+
+
+AZURE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+AZURE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+AZURE_ZONE_NAME
+Zone name to use inside Azure DNS service to add the TXT record in
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/azuredns/index.html b/dns/azuredns/index.html
new file mode 100644
index 0000000000..1dfbcff7f3
--- /dev/null
+++ b/dns/azuredns/index.html
@@ -0,0 +1,613 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Azure DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Azure DNS
+
+
+
+
+Configuration for Azure DNS .
+
+Code: azuredns
+Since: v4.13.0
+
+Here is an example bash command using the Azure DNS provider:
+### Using client secret
+
+ AZURE_CLIENT_ID = <your service principal client ID> \
+ AZURE_TENANT_ID = <your service principal tenant ID> \
+ AZURE_CLIENT_SECRET = <your service principal client secret> \
+ lego --email you@example.com --dns azuredns -d '*.example.com' -d example.com run
+
+ ### Using client certificate
+
+ AZURE_CLIENT_ID = <your service principal client ID> \
+ AZURE_TENANT_ID = <your service principal tenant ID> \
+ AZURE_CLIENT_CERTIFICATE_PATH = <your service principal certificate path> \
+ lego --email you@example.com --dns azuredns -d '*.example.com' -d example.com run
+
+ ### Using Azure CLI
+
+ az login \
+ lego --email you@example.com --dns azuredns -d '*.example.com' -d example.com run
+
+ ### Using Managed Identity (Azure VM)
+
+ AZURE_TENANT_ID = <your service principal tenant ID> \
+ AZURE_RESOURCE_GROUP = <your target zone resource group name> \
+ lego --email you@example.com --dns azuredns -d '*.example.com' -d example.com run
+
+ ### Using Managed Identity (Azure Arc)
+
+ AZURE_TENANT_ID = <your service principal tenant ID> \
+ IMDS_ENDPOINT = http://localhost:40342 \
+ IDENTITY_ENDPOINT = http://localhost:40342/metadata/identity/oauth2/token \
+ lego --email you@example.com --dns azuredns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AZURE_CLIENT_CERTIFICATE_PATH
+Client certificate path
+
+
+AZURE_CLIENT_ID
+Client ID
+
+
+AZURE_CLIENT_SECRET
+Client secret
+
+
+AZURE_TENANT_ID
+Tenant ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AZURE_AUTH_METHOD
+Specify which authentication method to use
+
+
+AZURE_AUTH_MSI_TIMEOUT
+Managed Identity timeout duration
+
+
+AZURE_ENVIRONMENT
+Azure environment, one of: public, usgovernment, and china
+
+
+AZURE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+AZURE_PRIVATE_ZONE
+Set to true to use Azure Private DNS Zones and not public
+
+
+AZURE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+AZURE_RESOURCE_GROUP
+DNS zone resource group
+
+
+AZURE_SERVICEDISCOVERY_FILTER
+Advanced ServiceDiscovery filter using Kusto query condition
+
+
+AZURE_SUBSCRIPTION_ID
+DNS zone subscription ID
+
+
+AZURE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+AZURE_ZONE_NAME
+Zone name to use inside Azure DNS service to add the TXT record in
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+Several authentication methods can be used to authenticate against Azure DNS API.
+Default Azure Credentials (default option)
+Default Azure Credentials automatically detects in the following locations and prioritized in the following order:
+
+Environment variables for client secret: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
+Environment variables for client certificate: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_CERTIFICATE_PATH
+Workload identity for resources hosted in Azure environment (see below)
+Shared credentials (defaults to ~/.azure
folder), used by Azure CLI
+
+Link:
+
+Environment variables
+Service Discovery
+Lego automatically finds all visible Azure (private) DNS zones using Azure ResourceGraph query .
+This can be limited by specifying environment variable AZURE_SUBSCRIPTION_ID
and/or AZURE_RESOURCE_GROUP
which limits the
+DNS zones to only a subscription or to one resourceGroup.
+Additionally environment variable AZURE_SERVICEDISCOVERY_FILTER
can be used to filter DNS zones with an addition Kusto filter eg:
+resources
+| where type =~ "microsoft.network/dnszones"
+| ${AZURE_SERVICEDISCOVERY_FILTER}
+| project subscriptionId, resourceGroup, name
Client secret
+The Azure Credentials can be configured using the following environment variables:
+
+AZURE_CLIENT_ID = “Client ID”
+AZURE_CLIENT_SECRET = “Client secret”
+AZURE_TENANT_ID = “Tenant ID”
+
+This authentication method can be specifically used by setting the AZURE_AUTH_METHOD
environment variable to env
.
+Client certificate
+The Azure Credentials can be configured using the following environment variables:
+
+AZURE_CLIENT_ID = “Client ID”
+AZURE_CLIENT_CERTIFICATE_PATH = “Client certificate path”
+AZURE_TENANT_ID = “Tenant ID”
+
+This authentication method can be specifically used by setting the AZURE_AUTH_METHOD
environment variable to env
.
+Workload identity
+Workload identity allows workloads running Azure Kubernetes Services (AKS) clusters to authenticate as an Azure AD application identity using federated credentials.
+This must be configured in kubernetes workload deployment in one hand and on the Azure AD application registration in the other hand.
+Here is a summary of the steps to follow to use it :
+
+create a ServiceAccount
resource, add following annotations to reference the targeted Azure AD application registration : azure.workload.identity/client-id
and azure.workload.identity/tenant-id
.
+on the Deployment
resource you must reference the previous ServiceAccount
and add the following label : azure.workload.identity/use: "true"
.
+create a federated credentials of type Kubernetes accessing Azure resources
, add the cluster issuer URL and add the namespace and name of your kubernetes service account.
+
+Link :
+
+This authentication method can be specifically used by setting the AZURE_AUTH_METHOD
environment variable to wli
.
+Azure Managed Identity
+Azure Managed Identity (with Azure workload)
+The Azure Managed Identity service allows linking Azure AD identities to Azure resources, without needing to manually manage client IDs and secrets.
+Workloads with a Managed Identity can manage their own certificates, with permissions on specific domain names set using IAM assignments.
+For this to work, the Managed Identity requires the Reader role on the target DNS Zone,
+and the DNS Zone Contributor on the relevant _acme-challenge
TXT records.
+For example, to allow a Managed Identity to create a certificate for “fw01.lab.example.com”, using Azure CLI:
+export AZURE_SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000"
+export AZURE_RESOURCE_GROUP = "rg1"
+export SERVICE_PRINCIPAL_ID = "00000000-0000-0000-0000-000000000000"
+
+ export AZURE_DNS_ZONE = "lab.example.com"
+export AZ_HOSTNAME = "fw01"
+export AZ_RECORD_SET = "_acme-challenge. ${ AZ_HOSTNAME } "
+
+ az role assignment create \
+ --assignee " ${ SERVICE_PRINCIPAL_ID } " \
+ --role "Reader" \
+ --scope "/subscriptions/ ${ AZURE_SUBSCRIPTION_ID } /resourceGroups/ ${ AZURE_RESOURCE_GROUP } /providers/Microsoft.Network/dnszones/ ${ AZURE_DNS_ZONE } "
+
+ az role assignment create \
+ --assignee " ${ SERVICE_PRINCIPAL_ID } " \
+ --role "DNS Zone Contributor" \
+ --scope "/subscriptions/ ${ AZURE_SUBSCRIPTION_ID } /resourceGroups/ ${ AZURE_RESOURCE_GROUP } /providers/Microsoft.Network/dnszones/ ${ AZURE_DNS_ZONE } /TXT/ ${ AZ_RECORD_SET } "
A timeout wrapper is configured for this authentication method.
+The duration can be configured by setting the AZURE_AUTH_MSI_TIMEOUT
.
+The default timeout is 2 seconds.
+This authentication method can be specifically used by setting the AZURE_AUTH_METHOD
environment variable to msi
.
+Azure Managed Identity (with Azure Arc)
+The Azure Arc agent provides the ability to use a Managed Identity on resources hosted outside of Azure
+(such as on-prem virtual machines, or VMs in another cloud provider).
+While the upstream azidentity
SDK will try to automatically identify and use the Azure Arc metadata service,
+if you get azuredns: DefaultAzureCredential: failed to acquire a token.
error messages,
+you may need to set the environment variables:
+
+IMDS_ENDPOINT=http://localhost:40342
+IDENTITY_ENDPOINT=http://localhost:40342/metadata/identity/oauth2/token
+
+A timeout wrapper is configured for this authentication method.
+The duration can be configured by setting the AZURE_AUTH_MSI_TIMEOUT
.
+The default timeout is 2 seconds.
+This authentication method can be specifically used by setting the AZURE_AUTH_METHOD
environment variable to msi
.
+Azure CLI
+The Azure CLI is a command-line tool provided by Microsoft to interact with Azure resources.
+It provides an easy way to authenticate by simply running az login
command.
+The generated token will be cached by default in the ~/.azure
folder.
+This authentication method can be specifically used by setting the AZURE_AUTH_METHOD
environment variable to cli
.
+Open ID Connect
+Open ID Connect is a mechanism that establish a trust relationship between a running environment and the Azure AD identity provider.
+It can be enabled by setting the AZURE_AUTH_METHOD
environment variable to oidc
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/bindman/index.html b/dns/bindman/index.html
new file mode 100644
index 0000000000..8af825d4c0
--- /dev/null
+++ b/dns/bindman/index.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bindman :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bindman
+
+
+
+
+Configuration for Bindman .
+
+Code: bindman
+Since: v2.6.0
+
+Here is an example bash command using the Bindman provider:
+BINDMAN_MANAGER_ADDRESS = <your bindman manager address> \
+ lego --email you@example.com --dns bindman -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BINDMAN_MANAGER_ADDRESS
+The server URL, should have scheme, hostname, and port (if required) of the Bindman-DNS Manager server
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BINDMAN_HTTP_TIMEOUT
+API request timeout
+
+
+BINDMAN_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+BINDMAN_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/bluecat/index.html b/dns/bluecat/index.html
new file mode 100644
index 0000000000..6407a2bb10
--- /dev/null
+++ b/dns/bluecat/index.html
@@ -0,0 +1,456 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bluecat :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bluecat
+
+
+
+
+Configuration for Bluecat .
+
+Code: bluecat
+Since: v0.5.0
+
+Here is an example bash command using the Bluecat provider:
+BLUECAT_PASSWORD = mypassword \
+ BLUECAT_DNS_VIEW = myview \
+ BLUECAT_USER_NAME = myusername \
+ BLUECAT_CONFIG_NAME = myconfig \
+ BLUECAT_SERVER_URL = https://bam.example.com \
+ BLUECAT_TTL = 30 \
+ lego --email you@example.com --dns bluecat -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BLUECAT_CONFIG_NAME
+Configuration name
+
+
+BLUECAT_DNS_VIEW
+External DNS View Name
+
+
+BLUECAT_PASSWORD
+API password
+
+
+BLUECAT_SERVER_URL
+The server URL, should have scheme, hostname, and port (if required) of the authoritative Bluecat BAM serve
+
+
+BLUECAT_USER_NAME
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BLUECAT_HTTP_TIMEOUT
+API request timeout
+
+
+BLUECAT_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+BLUECAT_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+BLUECAT_SKIP_DEPLOY
+Skip deployements
+
+
+BLUECAT_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/brandit/index.html b/dns/brandit/index.html
new file mode 100644
index 0000000000..0f54e3f72b
--- /dev/null
+++ b/dns/brandit/index.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Brandit (deprecated) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Brandit (deprecated)
+
+
+
+
+Brandit has been acquired by Abion.
+Abion has a different API.
+If you are a Brandit/Albion user, you can try the PR https://github.com/go-acme/lego/pull/2112 .
+
+Code: brandit
+Since: v4.11.0
+
+Here is an example bash command using the Brandit (deprecated) provider:
+BRANDIT_API_KEY = xxxxxxxxxxxxxxxxxxxxx \
+ BRANDIT_API_USERNAME = yyyyyyyyyyyyyyyyyyyy \
+ lego --email you@example.com --dns brandit -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BRANDIT_API_KEY
+The API key
+
+
+BRANDIT_API_USERNAME
+The API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BRANDIT_HTTP_TIMEOUT
+API request timeout
+
+
+BRANDIT_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+BRANDIT_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+BRANDIT_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/bunny/index.html b/dns/bunny/index.html
new file mode 100644
index 0000000000..11fc5c9210
--- /dev/null
+++ b/dns/bunny/index.html
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bunny :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bunny
+
+
+
+
+Configuration for Bunny .
+
+Code: bunny
+Since: v4.11.0
+
+Here is an example bash command using the Bunny provider:
+BUNNY_API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
+ lego --email you@example.com --dns bunny -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BUNNY_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+BUNNY_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+BUNNY_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+BUNNY_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/checkdomain/index.html b/dns/checkdomain/index.html
new file mode 100644
index 0000000000..28d2fdfac9
--- /dev/null
+++ b/dns/checkdomain/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checkdomain :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Checkdomain
+
+
+
+
+Configuration for Checkdomain .
+
+Code: checkdomain
+Since: v3.3.0
+
+Here is an example bash command using the Checkdomain provider:
+CHECKDOMAIN_TOKEN = yoursecrettoken \
+ lego --email you@example.com --dns checkdomain -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CHECKDOMAIN_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CHECKDOMAIN_ENDPOINT
+API endpoint URL, defaults to https://api.checkdomain.de
+
+
+CHECKDOMAIN_HTTP_TIMEOUT
+API request timeout, defaults to 30 seconds
+
+
+CHECKDOMAIN_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CHECKDOMAIN_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CHECKDOMAIN_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/civo/index.html b/dns/civo/index.html
new file mode 100644
index 0000000000..9e37257591
--- /dev/null
+++ b/dns/civo/index.html
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Civo :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Civo
+
+
+
+
+Configuration for Civo .
+
+Code: civo
+Since: v4.9.0
+
+Here is an example bash command using the Civo provider:
+CIVO_TOKEN = xxxxxx \
+ lego --email you@example.com --dns civo -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CIVO_TOKEN
+Authentication token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CIVO_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CIVO_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CIVO_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/clouddns/index.html b/dns/clouddns/index.html
new file mode 100644
index 0000000000..f7ba5629c0
--- /dev/null
+++ b/dns/clouddns/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CloudDNS
+
+
+
+
+Configuration for CloudDNS .
+
+Code: clouddns
+Since: v3.6.0
+
+Here is an example bash command using the CloudDNS provider:
+CLOUDDNS_CLIENT_ID = bLsdFAks23429841238feb177a572aX \
+ CLOUDDNS_EMAIL = you@example.com \
+ CLOUDDNS_PASSWORD = b9841238feb177a84330f \
+ lego --email you@example.com --dns clouddns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDDNS_CLIENT_ID
+Client ID
+
+
+CLOUDDNS_EMAIL
+Account email
+
+
+CLOUDDNS_PASSWORD
+Account password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDDNS_HTTP_TIMEOUT
+API request timeout
+
+
+CLOUDDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CLOUDDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CLOUDDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/cloudflare/index.html b/dns/cloudflare/index.html
new file mode 100644
index 0000000000..05ef73e4b4
--- /dev/null
+++ b/dns/cloudflare/index.html
@@ -0,0 +1,503 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cloudflare :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Cloudflare
+
+
+
+
+Configuration for Cloudflare .
+
+Code: cloudflare
+Since: v0.3.0
+
+Here is an example bash command using the Cloudflare provider:
+CLOUDFLARE_EMAIL = you@example.com \
+ CLOUDFLARE_API_KEY = b9841238feb177a84330febba8a83208921177bffe733 \
+ lego --email you@example.com --dns cloudflare -d '*.example.com' -d example.com run
+
+ # or
+
+ CLOUDFLARE_DNS_API_TOKEN = 1234567890abcdefghijklmnopqrstuvwxyz \
+ lego --email you@example.com --dns cloudflare -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CF_API_EMAIL
+Account email
+
+
+CF_API_KEY
+API key
+
+
+CF_DNS_API_TOKEN
+API token with DNS:Edit permission (since v3.1.0)
+
+
+CF_ZONE_API_TOKEN
+API token with Zone:Read permission (since v3.1.0)
+
+
+CLOUDFLARE_API_KEY
+Alias to CF_API_KEY
+
+
+CLOUDFLARE_DNS_API_TOKEN
+Alias to CF_DNS_API_TOKEN
+
+
+CLOUDFLARE_EMAIL
+Alias to CF_API_EMAIL
+
+
+CLOUDFLARE_ZONE_API_TOKEN
+Alias to CF_ZONE_API_TOKEN
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDFLARE_HTTP_TIMEOUT
+API request timeout (in seconds)
+
+
+CLOUDFLARE_POLLING_INTERVAL
+Time between DNS propagation check (in seconds)
+
+
+CLOUDFLARE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation (in seconds)
+
+
+CLOUDFLARE_TTL
+The TTL of the TXT record used for the DNS challenge (in seconds)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+You may use CF_API_EMAIL
and CF_API_KEY
to authenticate, or CF_DNS_API_TOKEN
, or CF_DNS_API_TOKEN
and CF_ZONE_API_TOKEN
.
+API keys
+If using API keys (CF_API_EMAIL
and CF_API_KEY
), the Global API Key needs to be used, not the Origin CA Key.
+Please be aware, that this in principle allows Lego to read and change everything related to this account.
+API tokens
+With API tokens (CF_DNS_API_TOKEN
, and optionally CF_ZONE_API_TOKEN
),
+very specific access can be granted to your resources at Cloudflare.
+See this Cloudflare announcement for details.
+The main resources Lego cares for are the DNS entries for your Zones.
+It also needs to resolve a domain name to an internal Zone ID in order to manipulate DNS entries.
+Hence, you should create an API token with the following permissions:
+
+Zone / Zone / Read
+Zone / DNS / Edit
+
+You also need to scope the access to all your domains for this to work.
+Then pass the API token as CF_DNS_API_TOKEN
to Lego.
+Alternatively, if you prefer a more strict set of privileges,
+you can split the access tokens:
+
+Create one with Zone / Zone / Read permissions and scope it to all your zones or just the individual zone you need to edit.
+This is needed to resolve domain names to Zone IDs and can be shared among multiple Lego installations.
+Pass this API token as CF_ZONE_API_TOKEN
to Lego.
+Create another API token with Zone / DNS / Edit permissions and set the scope to the domains you want to manage with a single Lego installation.
+Pass this token as CF_DNS_API_TOKEN
to Lego.
+Repeat the previous step for each host you want to run Lego on.
+It is possible to use the same api token for both variables if it is given Zone:Read
and DNS:Edit
permission for the zone.
+
+This “paranoid” setup is mainly interesting for users who manage many zones/domains with a single Cloudflare account.
+It follows the principle of least privilege and limits the possible damage, should one of the hosts become compromised.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/cloudns/index.html b/dns/cloudns/index.html
new file mode 100644
index 0000000000..71083e7780
--- /dev/null
+++ b/dns/cloudns/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClouDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ClouDNS
+
+
+
+
+Configuration for ClouDNS .
+
+Code: cloudns
+Since: v2.3.0
+
+Here is an example bash command using the ClouDNS provider:
+CLOUDNS_AUTH_ID = xxxx \
+ CLOUDNS_AUTH_PASSWORD = yyyy \
+ lego --email you@example.com --dns cloudns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDNS_AUTH_ID
+The API user ID
+
+
+CLOUDNS_AUTH_PASSWORD
+The password for API user ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDNS_HTTP_TIMEOUT
+API request timeout
+
+
+CLOUDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CLOUDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CLOUDNS_SUB_AUTH_ID
+The API sub user ID
+
+
+CLOUDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/cloudru/index.html b/dns/cloudru/index.html
new file mode 100644
index 0000000000..709ffded1a
--- /dev/null
+++ b/dns/cloudru/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cloud.ru :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Cloud.ru
+
+
+
+
+Configuration for Cloud.ru .
+
+Code: cloudru
+Since: v4.14.0
+
+Here is an example bash command using the Cloud.ru provider:
+CLOUDRU_SERVICE_INSTANCE_ID = ppp \
+ CLOUDRU_KEY_ID = xxx \
+ CLOUDRU_SECRET = yyy \
+ lego --email you@example.com --dns cloudru -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDRU_KEY_ID
+Key ID (login)
+
+
+CLOUDRU_SECRET
+Key Secret
+
+
+CLOUDRU_SERVICE_INSTANCE_ID
+Service Instance ID (parentId)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDRU_HTTP_TIMEOUT
+API request timeout
+
+
+CLOUDRU_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CLOUDRU_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CLOUDRU_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+CLOUDRU_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/cloudxns/index.html b/dns/cloudxns/index.html
new file mode 100644
index 0000000000..3a8df15b7e
--- /dev/null
+++ b/dns/cloudxns/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CloudXNS (Deprecated) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CloudXNS (Deprecated)
+
+
+
+
+The CloudXNS DNS provider has shut down.
+
+Code: cloudxns
+Since: v0.5.0
+
+Here is an example bash command using the CloudXNS (Deprecated) provider:
+CLOUDXNS_API_KEY = xxxx \
+ CLOUDXNS_SECRET_KEY = yyyy \
+ lego --email you@example.com --dns cloudxns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDXNS_API_KEY
+The API key
+
+
+CLOUDXNS_SECRET_KEY
+The API secret key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CLOUDXNS_HTTP_TIMEOUT
+API request timeout
+
+
+CLOUDXNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CLOUDXNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CLOUDXNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/conoha/index.html b/dns/conoha/index.html
new file mode 100644
index 0000000000..5d0e1217b3
--- /dev/null
+++ b/dns/conoha/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConoHa :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ConoHa
+
+
+
+
+Configuration for ConoHa .
+
+Code: conoha
+Since: v1.2.0
+
+Here is an example bash command using the ConoHa provider:
+CONOHA_TENANT_ID = 487727e3921d44e3bfe7ebb337bf085e \
+ CONOHA_API_USERNAME = xxxx \
+ CONOHA_API_PASSWORD = yyyy \
+ lego --email you@example.com --dns conoha -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CONOHA_API_PASSWORD
+The API password
+
+
+CONOHA_API_USERNAME
+The API username
+
+
+CONOHA_TENANT_ID
+Tenant ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CONOHA_HTTP_TIMEOUT
+API request timeout
+
+
+CONOHA_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CONOHA_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CONOHA_REGION
+The region
+
+
+CONOHA_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/constellix/index.html b/dns/constellix/index.html
new file mode 100644
index 0000000000..df53dbb5aa
--- /dev/null
+++ b/dns/constellix/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constellix :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constellix
+
+
+
+
+Configuration for Constellix .
+
+Code: constellix
+Since: v3.4.0
+
+Here is an example bash command using the Constellix provider:
+CONSTELLIX_API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
+ CONSTELLIX_SECRET_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
+ lego --email you@example.com --dns constellix -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CONSTELLIX_API_KEY
+User API key
+
+
+CONSTELLIX_SECRET_KEY
+User secret key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CONSTELLIX_HTTP_TIMEOUT
+API request timeout
+
+
+CONSTELLIX_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CONSTELLIX_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CONSTELLIX_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/corenetworks/index.html b/dns/corenetworks/index.html
new file mode 100644
index 0000000000..6a0a9a41b4
--- /dev/null
+++ b/dns/corenetworks/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Core-Networks :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Core-Networks
+
+
+
+
+Configuration for Core-Networks .
+
+Code: corenetworks
+Since: v4.20.0
+
+Here is an example bash command using the Core-Networks provider:
+CORENETWORKS_LOGIN = "xxxx" \
+ CORENETWORKS_PASSWORD = "yyyy" \
+ lego --email you@example.com --dns corenetworks -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CORENETWORKS_LOGIN
+The username of the API account
+
+
+CORENETWORKS_PASSWORD
+The password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CORENETWORKS_HTTP_TIMEOUT
+API request timeout
+
+
+CORENETWORKS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CORENETWORKS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CORENETWORKS_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+CORENETWORKS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/cpanel/index.html b/dns/cpanel/index.html
new file mode 100644
index 0000000000..54f3b121a6
--- /dev/null
+++ b/dns/cpanel/index.html
@@ -0,0 +1,456 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CPanel/WHM :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CPanel/WHM
+
+
+
+
+Configuration for CPanel/WHM .
+
+Code: cpanel
+Since: v4.16.0
+
+Here is an example bash command using the CPanel/WHM provider:
+### CPANEL (default)
+
+ CPANEL_USERNAME = "yyyy"
+CPANEL_TOKEN = "xxxx"
+CPANEL_BASE_URL = "https://example.com:2083" \
+ lego --email you@example.com --dns cpanel -d '*.example.com' -d example.com run
+
+ ## WHM
+
+ CPANEL_MODE = whm
+CPANEL_USERNAME = "yyyy"
+CPANEL_TOKEN = "xxxx"
+CPANEL_BASE_URL = "https://example.com:2087" \
+ lego --email you@example.com --dns cpanel -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CPANEL_BASE_URL
+API server URL
+
+
+CPANEL_TOKEN
+API token
+
+
+CPANEL_USERNAME
+username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+CPANEL_HTTP_TIMEOUT
+API request timeout
+
+
+CPANEL_MODE
+use cpanel API or WHM API (Default: cpanel)
+
+
+CPANEL_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+CPANEL_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+CPANEL_REGION
+The region
+
+
+CPANEL_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/derak/index.html b/dns/derak/index.html
new file mode 100644
index 0000000000..a3e15d1aba
--- /dev/null
+++ b/dns/derak/index.html
@@ -0,0 +1,430 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Derak Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Derak Cloud
+
+
+
+
+Configuration for Derak Cloud .
+
+Code: derak
+Since: v4.12.0
+
+Here is an example bash command using the Derak Cloud provider:
+DERAK_API_KEY = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns derak -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DERAK_API_KEY
+The API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DERAK_HTTP_TIMEOUT
+API request timeout
+
+
+DERAK_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DERAK_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DERAK_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+DERAK_WEBSITE_ID
+Force the zone/website ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/desec/index.html b/dns/desec/index.html
new file mode 100644
index 0000000000..3fe426fd6f
--- /dev/null
+++ b/dns/desec/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ deSEC.io :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+deSEC.io
+
+
+
+
+Configuration for deSEC.io .
+
+Code: desec
+Since: v3.7.0
+
+Here is an example bash command using the deSEC.io provider:
+DESEC_TOKEN = x-xxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns desec -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DESEC_TOKEN
+Domain token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DESEC_HTTP_TIMEOUT
+API request timeout
+
+
+DESEC_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DESEC_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DESEC_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/designate/index.html b/dns/designate/index.html
new file mode 100644
index 0000000000..f78c66c229
--- /dev/null
+++ b/dns/designate/index.html
@@ -0,0 +1,509 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Designate DNSaaS for Openstack :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Designate DNSaaS for Openstack
+
+
+
+
+Configuration for Designate DNSaaS for Openstack .
+
+Code: designate
+Since: v2.2.0
+
+Here is an example bash command using the Designate DNSaaS for Openstack provider:
+# With a `clouds.yaml`
+OS_CLOUD = my_openstack \
+ lego --email you@example.com --dns designate -d '*.example.com' -d example.com run
+
+ # or
+
+ OS_AUTH_URL = https://openstack.example.org \
+ OS_REGION_NAME = RegionOne \
+ OS_PROJECT_ID = 23d4522a987d4ab529f722a007c27846
+OS_USERNAME = myuser \
+ OS_PASSWORD = passw0rd \
+ lego --email you@example.com --dns designate -d '*.example.com' -d example.com run
+
+ # or
+
+ OS_AUTH_URL = https://openstack.example.org \
+ OS_REGION_NAME = RegionOne \
+ OS_AUTH_TYPE = v3applicationcredential \
+ OS_APPLICATION_CREDENTIAL_ID = imn74uq0or7dyzz20dwo1ytls4me8dry \
+ OS_APPLICATION_CREDENTIAL_SECRET = 68FuSPSdQqkFQYH5X1OoriEIJOwyLtQ8QSqXZOc9XxFK1A9tzZT6He2PfPw0OMja \
+ lego --email you@example.com --dns designate -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OS_APPLICATION_CREDENTIAL_ID
+Application credential ID
+
+
+OS_APPLICATION_CREDENTIAL_NAME
+Application credential name
+
+
+OS_APPLICATION_CREDENTIAL_SECRET
+Application credential secret
+
+
+OS_AUTH_URL
+Identity endpoint URL
+
+
+OS_PASSWORD
+Password
+
+
+OS_PROJECT_NAME
+Project name
+
+
+OS_REGION_NAME
+Region name
+
+
+OS_USERNAME
+Username
+
+
+OS_USER_ID
+User ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DESIGNATE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DESIGNATE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DESIGNATE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+DESIGNATE_ZONE_NAME
+The zone name to use in the OpenStack Project to manage TXT records.
+
+
+OS_PROJECT_ID
+Project ID
+
+
+OS_TENANT_NAME
+Tenant name (deprecated see OS_PROJECT_NAME and OS_PROJECT_ID)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+There are three main ways of authenticating with Designate:
+
+The first one is by using the OS_CLOUD
environment variable and a clouds.yaml
file.
+The second one is using your username and password, via the OS_USERNAME
, OS_PASSWORD
and OS_PROJECT_NAME
environment variables.
+The third one is by using an application credential, via the OS_APPLICATION_CREDENTIAL_*
and OS_USER_ID
environment variables.
+
+For the username/password and application methods, the OS_AUTH_URL
and OS_REGION_NAME
environment variables are required.
+For more information, you can read about the different methods of authentication with OpenStack in the Keystone’s documentation and the gophercloud documentation:
+
+Public cloud providers with support for Designate:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/digitalocean/index.html b/dns/digitalocean/index.html
new file mode 100644
index 0000000000..35f933532d
--- /dev/null
+++ b/dns/digitalocean/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Digital Ocean :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Digital Ocean
+
+
+
+
+Configuration for Digital Ocean .
+
+Code: digitalocean
+Since: v0.3.0
+
+Here is an example bash command using the Digital Ocean provider:
+DO_AUTH_TOKEN = xxxxxx \
+ lego --email you@example.com --dns digitalocean -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DO_AUTH_TOKEN
+Authentication token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DO_API_URL
+The URL of the API
+
+
+DO_HTTP_TIMEOUT
+API request timeout
+
+
+DO_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DO_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DO_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/directadmin/index.html b/dns/directadmin/index.html
new file mode 100644
index 0000000000..9a8791c969
--- /dev/null
+++ b/dns/directadmin/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DirectAdmin :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DirectAdmin
+
+
+
+
+Configuration for DirectAdmin .
+
+Code: directadmin
+Since: v4.18.0
+
+Here is an example bash command using the DirectAdmin provider:
+DIRECTADMIN_API_URL = "http://example.com:2222" \
+ DIRECTADMIN_USERNAME = xxxx \
+ DIRECTADMIN_PASSWORD = yyy \
+ lego --email you@example.com --dns directadmin -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DIRECTADMIN_API_URL
+URL of the API
+
+
+DIRECTADMIN_PASSWORD
+API password
+
+
+DIRECTADMIN_USERNAME
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DIRECTADMIN_HTTP_TIMEOUT
+API request timeout
+
+
+DIRECTADMIN_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DIRECTADMIN_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DIRECTADMIN_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+DIRECTADMIN_ZONE_NAME
+Zone name used to add the TXT record
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dnshomede/index.html b/dns/dnshomede/index.html
new file mode 100644
index 0000000000..7ffa35e5c1
--- /dev/null
+++ b/dns/dnshomede/index.html
@@ -0,0 +1,429 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dnsHome.de :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dnsHome.de
+
+
+
+
+Configuration for dnsHome.de .
+
+Code: dnshomede
+Since: v4.10.0
+
+Here is an example bash command using the dnsHome.de provider:
+DNSHOMEDE_CREDENTIALS = example.org:password \
+ lego --email you@example.com --dns dnshomede -d '*.example.com' -d example.com run
+
+ DNSHOMEDE_CREDENTIALS = my.example.org:password1,demo.example.org:password2 \
+ lego --email you@example.com --dns dnshomede -d my.example.org -d demo.example.org
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSHOMEDE_CREDENTIALS
+Comma-separated list of domain:password credential pairs
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSHOMEDE_HTTP_TIMEOUT
+API request timeout
+
+
+DNSHOMEDE_POLLING_INTERVAL
+Time between DNS propagation checks
+
+
+DNSHOMEDE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation; defaults to 300s (5 minutes)
+
+
+DNSHOMEDE_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dnsimple/index.html b/dns/dnsimple/index.html
new file mode 100644
index 0000000000..3044986a8f
--- /dev/null
+++ b/dns/dnsimple/index.html
@@ -0,0 +1,447 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DNSimple :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DNSimple
+
+
+
+
+Configuration for DNSimple .
+
+Code: dnsimple
+Since: v0.3.0
+
+Here is an example bash command using the DNSimple provider:
+DNSIMPLE_OAUTH_TOKEN = 1234567890abcdefghijklmnopqrstuvwxyz \
+ lego --email you@example.com --dns dnsimple -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSIMPLE_OAUTH_TOKEN
+OAuth token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSIMPLE_BASE_URL
+API endpoint URL
+
+
+DNSIMPLE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DNSIMPLE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DNSIMPLE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+DNSIMPLE_BASE_URL
is optional and must be set to production (https://api.dnsimple.com ).
+if DNSIMPLE_BASE_URL
is not defined or empty, the production URL is used by default.
+While you can manage DNS records in the DNSimple Sandbox environment ,
+DNS records will not resolve, and you will not be able to satisfy the ACME DNS challenge.
+To authenticate you need to provide a valid API token.
+HTTP Basic Authentication is intentionally not supported.
+API tokens
+You can generate a new API token from your account page.
+Only Account API tokens are supported, if you try to use a User API token you will receive an error message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dnsmadeeasy/index.html b/dns/dnsmadeeasy/index.html
new file mode 100644
index 0000000000..d51e7b0da8
--- /dev/null
+++ b/dns/dnsmadeeasy/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DNS Made Easy :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DNS Made Easy
+
+
+
+
+Configuration for DNS Made Easy .
+
+Code: dnsmadeeasy
+Since: v0.4.0
+
+Here is an example bash command using the DNS Made Easy provider:
+DNSMADEEASY_API_KEY = xxxxxx \
+ DNSMADEEASY_API_SECRET = yyyyy \
+ lego --email you@example.com --dns dnsmadeeasy -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSMADEEASY_API_KEY
+The API key
+
+
+DNSMADEEASY_API_SECRET
+The API Secret key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSMADEEASY_HTTP_TIMEOUT
+API request timeout
+
+
+DNSMADEEASY_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DNSMADEEASY_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DNSMADEEASY_SANDBOX
+Activate the sandbox (boolean)
+
+
+DNSMADEEASY_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dnspod/index.html b/dns/dnspod/index.html
new file mode 100644
index 0000000000..167e2ab576
--- /dev/null
+++ b/dns/dnspod/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DNSPod (deprecated) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DNSPod (deprecated)
+
+
+
+
+Use the Tencent Cloud provider instead.
+
+Code: dnspod
+Since: v0.4.0
+
+Here is an example bash command using the DNSPod (deprecated) provider:
+DNSPOD_API_KEY = xxxxxx \
+ lego --email you@example.com --dns dnspod -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSPOD_API_KEY
+The user token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DNSPOD_HTTP_TIMEOUT
+API request timeout
+
+
+DNSPOD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DNSPOD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DNSPOD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dode/index.html b/dns/dode/index.html
new file mode 100644
index 0000000000..329912cc2b
--- /dev/null
+++ b/dns/dode/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Domain Offensive (do.de) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Domain Offensive (do.de)
+
+
+
+
+Configuration for Domain Offensive (do.de) .
+
+Code: dode
+Since: v2.4.0
+
+Here is an example bash command using the Domain Offensive (do.de) provider:
+DODE_TOKEN = xxxxxx \
+ lego --email you@example.com --dns dode -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DODE_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DODE_HTTP_TIMEOUT
+API request timeout
+
+
+DODE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DODE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DODE_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+DODE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/domeneshop/index.html b/dns/domeneshop/index.html
new file mode 100644
index 0000000000..961f69c2a2
--- /dev/null
+++ b/dns/domeneshop/index.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Domeneshop :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Domeneshop
+
+
+
+
+Configuration for Domeneshop .
+
+Code: domeneshop
+Since: v4.3.0
+
+Here is an example bash command using the Domeneshop provider:
+DOMENESHOP_API_TOKEN = <token> \
+ DOMENESHOP_API_SECRET = <secret> \
+ lego --email example@example.com --dns domeneshop -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DOMENESHOP_API_SECRET
+API secret
+
+
+DOMENESHOP_API_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DOMENESHOP_HTTP_TIMEOUT
+API request timeout
+
+
+DOMENESHOP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DOMENESHOP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+API credentials
+Visit the following page for information on how to create API credentials with Domeneshop:
+https://api.domeneshop.no/docs/#section/Authentication
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dreamhost/index.html b/dns/dreamhost/index.html
new file mode 100644
index 0000000000..af32c5a0d5
--- /dev/null
+++ b/dns/dreamhost/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DreamHost :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DreamHost
+
+
+
+
+Configuration for DreamHost .
+
+Code: dreamhost
+Since: v1.1.0
+
+Here is an example bash command using the DreamHost provider:
+DREAMHOST_API_KEY = "YOURAPIKEY" \
+ lego --email you@example.com --dns dreamhost -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DREAMHOST_API_KEY
+The API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DREAMHOST_HTTP_TIMEOUT
+API request timeout
+
+
+DREAMHOST_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DREAMHOST_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DREAMHOST_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/duckdns/index.html b/dns/duckdns/index.html
new file mode 100644
index 0000000000..74b7b64aff
--- /dev/null
+++ b/dns/duckdns/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Duck DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Duck DNS
+
+
+
+
+Configuration for Duck DNS .
+
+Code: duckdns
+Since: v0.5.0
+
+Here is an example bash command using the Duck DNS provider:
+DUCKDNS_TOKEN = xxxxxx \
+ lego --email you@example.com --dns duckdns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DUCKDNS_TOKEN
+Account token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DUCKDNS_HTTP_TIMEOUT
+API request timeout
+
+
+DUCKDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DUCKDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DUCKDNS_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+DUCKDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dyn/index.html b/dns/dyn/index.html
new file mode 100644
index 0000000000..e64e33dedf
--- /dev/null
+++ b/dns/dyn/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dyn :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dyn
+
+
+
+
+Configuration for Dyn .
+
+Code: dyn
+Since: v0.3.0
+
+Here is an example bash command using the Dyn provider:
+DYN_CUSTOMER_NAME = xxxxxx \
+ DYN_USER_NAME = yyyyy \
+ DYN_PASSWORD = zzzz \
+ lego --email you@example.com --dns dyn -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DYN_CUSTOMER_NAME
+Customer name
+
+
+DYN_PASSWORD
+Password
+
+
+DYN_USER_NAME
+User name
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DYN_HTTP_TIMEOUT
+API request timeout
+
+
+DYN_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DYN_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DYN_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/dynu/index.html b/dns/dynu/index.html
new file mode 100644
index 0000000000..863cfe6bfc
--- /dev/null
+++ b/dns/dynu/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dynu :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dynu
+
+
+
+
+Configuration for Dynu .
+
+Code: dynu
+Since: v3.5.0
+
+Here is an example bash command using the Dynu provider:
+DYNU_API_KEY = 1234567890abcdefghijklmnopqrstuvwxyz \
+ lego --email you@example.com --dns dynu -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DYNU_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+DYNU_HTTP_TIMEOUT
+API request timeout
+
+
+DYNU_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+DYNU_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+DYNU_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/easydns/index.html b/dns/easydns/index.html
new file mode 100644
index 0000000000..d8adab0eb0
--- /dev/null
+++ b/dns/easydns/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EasyDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+EasyDNS
+
+
+
+
+Configuration for EasyDNS .
+
+Code: easydns
+Since: v2.6.0
+
+Here is an example bash command using the EasyDNS provider:
+EASYDNS_TOKEN = xxx \
+ EASYDNS_KEY = yyy \
+ lego --email you@example.com --dns easydns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EASYDNS_KEY
+API Key
+
+
+EASYDNS_TOKEN
+API Token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EASYDNS_ENDPOINT
+The endpoint URL of the API Server
+
+
+EASYDNS_HTTP_TIMEOUT
+API request timeout
+
+
+EASYDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+EASYDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+EASYDNS_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+EASYDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+To test with the sandbox environment set EASYDNS_ENDPOINT=https://sandbox.rest.easydns.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/edgedns/index.html b/dns/edgedns/index.html
new file mode 100644
index 0000000000..67c14e108d
--- /dev/null
+++ b/dns/edgedns/index.html
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Akamai EdgeDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Akamai EdgeDNS
+
+
+
+
+Akamai edgedns supersedes FastDNS; implementing a DNS provider for solving the DNS-01 challenge using Akamai EdgeDNS
+
+Code: edgedns
+Since: v3.9.0
+
+Here is an example bash command using the Akamai EdgeDNS provider:
+AKAMAI_CLIENT_SECRET = abcdefghijklmnopqrstuvwxyz1234567890ABCDEFG = \
+ AKAMAI_CLIENT_TOKEN = akab-mnbvcxzlkjhgfdsapoiuytrewq1234567 \
+ AKAMAI_HOST = akab-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.luna.akamaiapis.net \
+ AKAMAI_ACCESS_TOKEN = akab-1234567890qwerty-asdfghjklzxcvtnu \
+ lego --email you@example.com --dns edgedns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AKAMAI_ACCESS_TOKEN
+Access token, managed by the Akamai EdgeGrid client
+
+
+AKAMAI_CLIENT_SECRET
+Client secret, managed by the Akamai EdgeGrid client
+
+
+AKAMAI_CLIENT_TOKEN
+Client token, managed by the Akamai EdgeGrid client
+
+
+AKAMAI_EDGERC
+Path to the .edgerc file, managed by the Akamai EdgeGrid client
+
+
+AKAMAI_EDGERC_SECTION
+Configuration section, managed by the Akamai EdgeGrid client
+
+
+AKAMAI_HOST
+API host, managed by the Akamai EdgeGrid client
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AKAMAI_POLLING_INTERVAL
+Time between DNS propagation check. Default: 15 seconds
+
+
+AKAMAI_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation. Default: 3 minutes
+
+
+AKAMAI_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Akamai’s credentials are automatically detected in the following locations and prioritized in the following order:
+
+Section-specific environment variables (where {SECTION}
is specified using AKAMAI_EDGERC_SECTION
):
+
+
+AKAMAI_{SECTION}_HOST
+AKAMAI_{SECTION}_ACCESS_TOKEN
+AKAMAI_{SECTION}_CLIENT_TOKEN
+AKAMAI_{SECTION}_CLIENT_SECRET
+
+
+If AKAMAI_EDGERC_SECTION
is not defined or is set to default
, environment variables:
+
+
+AKAMAI_HOST
+AKAMAI_ACCESS_TOKEN
+AKAMAI_CLIENT_TOKEN
+AKAMAI_CLIENT_SECRET
+
+
+.edgerc
file located at AKAMAI_EDGERC
+
+
+defaults to ~/.edgerc
, sections can be specified using AKAMAI_EDGERC_SECTION
+
+
+Default environment variables:
+
+
+AKAMAI_HOST
+AKAMAI_ACCESS_TOKEN
+AKAMAI_CLIENT_TOKEN
+AKAMAI_CLIENT_SECRET
+
+See also:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/efficientip/index.html b/dns/efficientip/index.html
new file mode 100644
index 0000000000..194190da8e
--- /dev/null
+++ b/dns/efficientip/index.html
@@ -0,0 +1,449 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Efficient IP :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Efficient IP
+
+
+
+
+Configuration for Efficient IP .
+
+Code: efficientip
+Since: v4.13.0
+
+Here is an example bash command using the Efficient IP provider:
+EFFICIENTIP_USERNAME = "user" \
+ EFFICIENTIP_PASSWORD = "secret" \
+ EFFICIENTIP_HOSTNAME = "ipam.example.org" \
+ EFFICIENTIP_DNS_NAME = "dns.smart" \
+ lego --email you@example.com --dns efficientip -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EFFICIENTIP_DNS_NAME
+DNS name (ex: dns.smart)
+
+
+EFFICIENTIP_HOSTNAME
+Hostname (ex: foo.example.com)
+
+
+EFFICIENTIP_PASSWORD
+Password
+
+
+EFFICIENTIP_USERNAME
+Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EFFICIENTIP_HTTP_TIMEOUT
+API request timeout
+
+
+EFFICIENTIP_INSECURE_SKIP_VERIFY
+Whether or not to verify EfficientIP API certificate
+
+
+EFFICIENTIP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+EFFICIENTIP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+EFFICIENTIP_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+EFFICIENTIP_VIEW_NAME
+View name (ex: external)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/epik/index.html b/dns/epik/index.html
new file mode 100644
index 0000000000..48e8eb044c
--- /dev/null
+++ b/dns/epik/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Epik :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Epik
+
+
+
+
+Configuration for Epik .
+
+Code: epik
+Since: v4.5.0
+
+Here is an example bash command using the Epik provider:
+EPIK_SIGNATURE = xxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns epik -d '*.example.com' -d example.com run
Credentials
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EPIK_HTTP_TIMEOUT
+API request timeout
+
+
+EPIK_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+EPIK_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+EPIK_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/exec/index.html b/dns/exec/index.html
new file mode 100644
index 0000000000..ac408f4e4c
--- /dev/null
+++ b/dns/exec/index.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ External program :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+External program
+
+
+
+
+Solving the DNS-01 challenge using an external program.
+
+Code: exec
+Since: v0.5.0
+
+Here is an example bash command using the External program provider:
+EXEC_PATH = /the/path/to/myscript.sh \
+ lego --email you@example.com --dns exec -d '*.example.com' -d example.com run
Base Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EXEC_MODE
+RAW
, none
+
+
+EXEC_PATH
+The path of the the external program.
+
+
+
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EXEC_POLLING_INTERVAL
+Time between DNS propagation check.
+
+
+EXEC_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation.
+
+
+EXEC_SEQUENCE_INTERVAL
+Time between sequential requests.
+
+
+
+Description
+The file name of the external program is specified in the environment variable EXEC_PATH
.
+When it is run by lego, three command-line parameters are passed to it:
+The action (“present” or “cleanup”), the fully-qualified domain name and the value for the record.
+For example, requesting a certificate for the domain ‘my.example.org’ can be achieved by calling lego as follows:
+EXEC_PATH = ./update-dns.sh \
+ lego --email you@example.com --dns exec --d my.example.org run
It will then call the program ‘./update-dns.sh’ with like this:
+./update-dns.sh "present" "_acme-challenge.my.example.org." "MsijOYZxqyjGnFGwhjrhfg-Xgbl5r68WPda0J9EgqqI"
The program then needs to make sure the record is inserted.
+When it returns an error via a non-zero exit code, lego aborts.
+When the record is to be removed again,
+the program is called with the first command-line parameter set to cleanup
instead of present
.
+If you want to use the raw domain, token, and keyAuth values with your program, you can set EXEC_MODE=RAW
:
+EXEC_MODE = RAW \
+ EXEC_PATH = ./update-dns.sh \
+ lego --email you@example.com --dns exec -d my.example.org run
It will then call the program ./update-dns.sh
like this:
+./update-dns.sh "present" "--" "my.example.org." "some-token" "KxAy-J3NwUmg9ZQuM-gP_Mq1nStaYSaP9tYQs5_-YsE.ksT-qywTd8058G-SHHWA3RAN72Pr0yWtPYmmY5UBpQ8"
Commands
+
+
+
Note
+
+
+
The --
is because the token MAY start with a -
, and the called program may try and interpret a -
as indicating a flag.
+In the case of urfave, which is commonly used,
+you can use the --
delimiter to specify the start of positional arguments, and handle such a string safely.
+
+
+Present
+
+
+
+Mode
+Command
+
+
+
+
+default
+myprogram present <FQDN> <record>
+
+
+RAW
+myprogram present -- <domain> <token> <key_auth>
+
+
+
+Cleanup
+
+
+
+Mode
+Command
+
+
+
+
+default
+myprogram cleanup <FQDN> <record>
+
+
+RAW
+myprogram cleanup -- <domain> <token> <key_auth>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/exoscale/index.html b/dns/exoscale/index.html
new file mode 100644
index 0000000000..d41c17fde0
--- /dev/null
+++ b/dns/exoscale/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Exoscale :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Exoscale
+
+
+
+
+Configuration for Exoscale .
+
+Code: exoscale
+Since: v0.4.0
+
+Here is an example bash command using the Exoscale provider:
+EXOSCALE_API_KEY = abcdefghijklmnopqrstuvwx \
+ EXOSCALE_API_SECRET = xxxxxxx \
+ lego --email you@example.com --dns exoscale -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EXOSCALE_API_KEY
+API key
+
+
+EXOSCALE_API_SECRET
+API secret
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+EXOSCALE_ENDPOINT
+API endpoint URL
+
+
+EXOSCALE_HTTP_TIMEOUT
+API request timeout
+
+
+EXOSCALE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+EXOSCALE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+EXOSCALE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/freemyip/index.html b/dns/freemyip/index.html
new file mode 100644
index 0000000000..0bec54262f
--- /dev/null
+++ b/dns/freemyip/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ freemyip.com :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+freemyip.com
+
+
+
+
+Configuration for freemyip.com .
+
+Code: freemyip
+Since: v4.5.0
+
+Here is an example bash command using the freemyip.com provider:
+FREEMYIP_TOKEN = xxxxxx \
+ lego --email you@example.com --dns freemyip -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+FREEMYIP_TOKEN
+Account token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+FREEMYIP_HTTP_TIMEOUT
+API request timeout
+
+
+FREEMYIP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+FREEMYIP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+FREEMYIP_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+FREEMYIP_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/gandi/index.html b/dns/gandi/index.html
new file mode 100644
index 0000000000..160a1c0633
--- /dev/null
+++ b/dns/gandi/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gandi :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gandi
+
+
+
+
+Configuration for Gandi .
+
+Code: gandi
+Since: v0.3.0
+
+Here is an example bash command using the Gandi provider:
+GANDI_API_KEY = abcdefghijklmnopqrstuvwx \
+ lego --email you@example.com --dns gandi -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GANDI_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GANDI_HTTP_TIMEOUT
+API request timeout
+
+
+GANDI_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GANDI_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+GANDI_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/gandiv5/index.html b/dns/gandiv5/index.html
new file mode 100644
index 0000000000..6fba140b35
--- /dev/null
+++ b/dns/gandiv5/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gandi Live DNS (v5) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gandi Live DNS (v5)
+
+
+
+
+Configuration for Gandi Live DNS (v5) .
+
+Code: gandiv5
+Since: v0.5.0
+
+Here is an example bash command using the Gandi Live DNS (v5) provider:
+GANDIV5_PERSONAL_ACCESS_TOKEN = abcdefghijklmnopqrstuvwx \
+ lego --email you@example.com --dns gandiv5 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GANDIV5_API_KEY
+API key (Deprecated)
+
+
+GANDIV5_PERSONAL_ACCESS_TOKEN
+Personal Access Token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GANDIV5_HTTP_TIMEOUT
+API request timeout
+
+
+GANDIV5_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GANDIV5_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+GANDIV5_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/gcloud/index.html b/dns/gcloud/index.html
new file mode 100644
index 0000000000..91be5c063f
--- /dev/null
+++ b/dns/gcloud/index.html
@@ -0,0 +1,449 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Google Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Google Cloud
+
+
+
+
+Configuration for Google Cloud .
+
+Code: gcloud
+Since: v0.3.0
+
+Here is an example bash command using the Google Cloud provider:
+GCE_PROJECT = "gc-project-id" \
+ GCE_SERVICE_ACCOUNT_FILE = "/path/to/svc/account/file.json" \
+ lego --email you@email.com --dns gcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+Application Default Credentials
+Documentation
+
+
+GCE_PROJECT
+Project name (by default, the project name is auto-detected by using the metadata service)
+
+
+GCE_SERVICE_ACCOUNT
+Account
+
+
+GCE_SERVICE_ACCOUNT_FILE
+Account file path
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GCE_ALLOW_PRIVATE_ZONE
+Allows requested domain to be in private DNS zone, works only with a private ACME server (by default: false)
+
+
+GCE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GCE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+GCE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+GCE_ZONE_ID
+Allows to skip the automatic detection of the zone
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/gcore/index.html b/dns/gcore/index.html
new file mode 100644
index 0000000000..6979549eb6
--- /dev/null
+++ b/dns/gcore/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ G-Core :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+G-Core
+
+
+
+
+Configuration for G-Core .
+
+Code: gcore
+Since: v4.5.0
+
+Here is an example bash command using the G-Core provider:
+GCORE_PERMANENT_API_TOKEN = xxxxx \
+ lego --email you@example.com --dns gcore -d '*.example.com' -d example.com run
Credentials
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GCORE_HTTP_TIMEOUT
+API request timeout
+
+
+GCORE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GCORE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+GCORE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/glesys/index.html b/dns/glesys/index.html
new file mode 100644
index 0000000000..4a02f7402d
--- /dev/null
+++ b/dns/glesys/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Glesys :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Glesys
+
+
+
+
+Configuration for Glesys .
+
+Code: glesys
+Since: v0.5.0
+
+Here is an example bash command using the Glesys provider:
+GLESYS_API_USER = xxxxx \
+ GLESYS_API_KEY = yyyyy \
+ lego --email you@example.com --dns glesys -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GLESYS_API_KEY
+API key
+
+
+GLESYS_API_USER
+API user
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GLESYS_HTTP_TIMEOUT
+API request timeout
+
+
+GLESYS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GLESYS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+GLESYS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/godaddy/index.html b/dns/godaddy/index.html
new file mode 100644
index 0000000000..1d3a1176bf
--- /dev/null
+++ b/dns/godaddy/index.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Go Daddy :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Go Daddy
+
+
+
+
+Configuration for Go Daddy .
+
+Code: godaddy
+Since: v0.5.0
+
+Here is an example bash command using the Go Daddy provider:
+GODADDY_API_KEY = xxxxxxxx \
+ GODADDY_API_SECRET = yyyyyyyy \
+ lego --email you@example.com --dns godaddy -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GODADDY_API_KEY
+API key
+
+
+GODADDY_API_SECRET
+API secret
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GODADDY_HTTP_TIMEOUT
+API request timeout
+
+
+GODADDY_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GODADDY_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+GODADDY_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+GoDaddy has recently (2024-04) updated the account requirements to access parts of their production Domains API:
+
+Availability API: Limited to accounts with 50 or more domains.
+Management and DNS APIs: Limited to accounts with 10 or more domains and/or an active Discount Domain Club plan.
+
+https://community.letsencrypt.org/t/getting-unauthorized-url-error-while-trying-to-get-cert-for-subdomains/217329/12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/googledomains/index.html b/dns/googledomains/index.html
new file mode 100644
index 0000000000..c8c792b923
--- /dev/null
+++ b/dns/googledomains/index.html
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Google Domains :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Google Domains
+
+
+
+
+Configuration for Google Domains .
+
+Code: googledomains
+Since: v4.11.0
+
+Here is an example bash command using the Google Domains provider:
+GOOGLE_DOMAINS_ACCESS_TOKEN = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns googledomains -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GOOGLE_DOMAINS_ACCESS_TOKEN
+Access token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+GOOGLE_DOMAINS_HTTP_TIMEOUT
+API request timeout
+
+
+GOOGLE_DOMAINS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+GOOGLE_DOMAINS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/hetzner/index.html b/dns/hetzner/index.html
new file mode 100644
index 0000000000..12c1577218
--- /dev/null
+++ b/dns/hetzner/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hetzner :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hetzner
+
+
+
+
+Configuration for Hetzner .
+
+Code: hetzner
+Since: v3.7.0
+
+Here is an example bash command using the Hetzner provider:
+HETZNER_API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
+ lego --email you@example.com --dns hetzner -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HETZNER_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HETZNER_HTTP_TIMEOUT
+API request timeout
+
+
+HETZNER_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HETZNER_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HETZNER_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/hostingde/index.html b/dns/hostingde/index.html
new file mode 100644
index 0000000000..3ef188c57b
--- /dev/null
+++ b/dns/hostingde/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hosting.de :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hosting.de
+
+
+
+
+Configuration for Hosting.de .
+
+Code: hostingde
+Since: v1.1.0
+
+Here is an example bash command using the Hosting.de provider:
+HOSTINGDE_API_KEY = xxxxxxxx \
+ lego --email you@example.com --dns hostingde -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HOSTINGDE_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HOSTINGDE_HTTP_TIMEOUT
+API request timeout
+
+
+HOSTINGDE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HOSTINGDE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HOSTINGDE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+HOSTINGDE_ZONE_NAME
+Zone name in ACE format
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/hosttech/index.html b/dns/hosttech/index.html
new file mode 100644
index 0000000000..845343f495
--- /dev/null
+++ b/dns/hosttech/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hosttech :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hosttech
+
+
+
+
+Configuration for Hosttech .
+
+Code: hosttech
+Since: v4.5.0
+
+Here is an example bash command using the Hosttech provider:
+HOSTTECH_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns hosttech -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HOSTTECH_API_KEY
+API login
+
+
+HOSTTECH_PASSWORD
+API password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HOSTTECH_HTTP_TIMEOUT
+API request timeout
+
+
+HOSTTECH_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HOSTTECH_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HOSTTECH_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/httpnet/index.html b/dns/httpnet/index.html
new file mode 100644
index 0000000000..ad229a6794
--- /dev/null
+++ b/dns/httpnet/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http.net :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+http.net
+
+
+
+
+Configuration for http.net .
+
+Code: httpnet
+Since: v4.15.0
+
+Here is an example bash command using the http.net provider:
+HTTPNET_API_KEY = xxxxxxxx \
+ lego --email you@example.com --dns httpnet -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HTTPNET_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HTTPNET_HTTP_TIMEOUT
+API request timeout
+
+
+HTTPNET_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HTTPNET_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HTTPNET_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+HTTPNET_ZONE_NAME
+Zone name in ACE format
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/httpreq/index.html b/dns/httpreq/index.html
new file mode 100644
index 0000000000..c909da4b82
--- /dev/null
+++ b/dns/httpreq/index.html
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HTTP request :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+HTTP request
+
+
+
+
+Configuration for HTTP request .
+
+Code: httpreq
+Since: v2.0.0
+
+Here is an example bash command using the HTTP request provider:
+HTTPREQ_ENDPOINT = http://my.server.com:9090 \
+ lego --email you@example.com --dns httpreq -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HTTPREQ_ENDPOINT
+The URL of the server
+
+
+HTTPREQ_MODE
+RAW
, none
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HTTPREQ_HTTP_TIMEOUT
+API request timeout
+
+
+HTTPREQ_PASSWORD
+Basic authentication password
+
+
+HTTPREQ_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HTTPREQ_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HTTPREQ_USERNAME
+Basic authentication username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+The server must provide:
+
+POST
/present
+POST
/cleanup
+
+The URL of the server must be defined by HTTPREQ_ENDPOINT
.
+Mode
+There are 2 modes (HTTPREQ_MODE
):
+
+{
+ "fqdn" : "_acme-challenge.domain." ,
+ "value" : "LHDhK3oGRvkiefQnx7OOczTY5Tic_xZ6HcMOc_gmtoM"
+ }
+{
+ "domain" : "domain" ,
+ "token" : "token" ,
+ "keyAuth" : "key"
+ }
Authentication
+Basic authentication (optional) can be set with some environment variables:
+
+HTTPREQ_USERNAME
and HTTPREQ_PASSWORD
+both values must be set, otherwise basic authentication is not defined.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/huaweicloud/index.html b/dns/huaweicloud/index.html
new file mode 100644
index 0000000000..3e180dc9f4
--- /dev/null
+++ b/dns/huaweicloud/index.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Huawei Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Huawei Cloud
+
+
+
+
+Configuration for Huawei Cloud .
+
+Code: huaweicloud
+Since: v4.19
+
+Here is an example bash command using the Huawei Cloud provider:
+HUAWEICLOUD_ACCESS_KEY_ID = your-access-key-id \
+ HUAWEICLOUD_SECRET_ACCESS_KEY = your-secret-access-key \
+ HUAWEICLOUD_REGION = cn-south-1 \
+ lego --email you@example.com --dns huaweicloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HUAWEICLOUD_ACCESS_KEY_ID
+Access key ID
+
+
+HUAWEICLOUD_REGION
+Region
+
+
+HUAWEICLOUD_SECRET_ACCESS_KEY
+Access Key secret
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HUAWEICLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+HUAWEICLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HUAWEICLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HUAWEICLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/hurricane/index.html b/dns/hurricane/index.html
new file mode 100644
index 0000000000..7eb5b8152f
--- /dev/null
+++ b/dns/hurricane/index.html
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hurricane Electric DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hurricane Electric DNS
+
+
+
+
+Configuration for Hurricane Electric DNS .
+
+Code: hurricane
+Since: v4.3.0
+
+Here is an example bash command using the Hurricane Electric DNS provider:
+HURRICANE_TOKENS = example.org:token \
+ lego --email you@example.com --dns hurricane -d '*.example.com' -d example.com run
+
+ HURRICANE_TOKENS = my.example.org:token1,demo.example.org:token2 \
+ lego --email you@example.com --dns hurricane -d my.example.org -d demo.example.org
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HURRICANE_TOKENS
+TXT record names and tokens
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HURRICANE_HTTP_TIMEOUT
+API request timeout
+
+
+HURRICANE_POLLING_INTERVAL
+Time between DNS propagation checks
+
+
+HURRICANE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation; defaults to 300s (5 minutes)
+
+
+HURRICANE_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Before using lego to request a certificate for a given domain or wildcard (such as my.example.org
or *.my.example.org
),
+create a TXT record named _acme-challenge.my.example.org
, and enable dynamic updates on it.
+Generate a token for each URL with Hurricane Electric’s UI, and copy it down.
+Stick to alphanumeric tokens for greatest reliability.
+To authenticate with the Hurricane Electric API,
+add each record name/token pair you want to update to the HURRICANE_TOKENS
environment variable, as shown in the examples.
+Record names (without the _acme-challenge.
component) and their tokens are separated with colons,
+while the credential pairs are concatenated into a comma-separated list, like so:
+HURRICANE_TOKENS=my.example.org:token1,demo.example.org:token2
If you are issuing both a wildcard certificate and a standard certificate for a given subdomain,
+you should not have repeat entries for that name, as both will use the same credential.
+HURRICANE_TOKENS=example.org:token
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/hyperone/index.html b/dns/hyperone/index.html
new file mode 100644
index 0000000000..8edaf1856f
--- /dev/null
+++ b/dns/hyperone/index.html
@@ -0,0 +1,443 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HyperOne :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+HyperOne
+
+
+
+
+Configuration for HyperOne .
+
+Code: hyperone
+Since: v3.9.0
+
+Here is an example bash command using the HyperOne provider:
+lego --email you@example.com --dns hyperone -d '*.example.com' -d example.com run
Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+HYPERONE_API_URL
+Allows to pass custom API Endpoint to be used in the challenge (default https://api.hyperone.com/v2 )
+
+
+HYPERONE_LOCATION_ID
+Specifies location (region) to be used in API calls. (default pl-waw-1)
+
+
+HYPERONE_PASSPORT_LOCATION
+Allows to pass custom passport file location (default ~/.h1/passport.json)
+
+
+HYPERONE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+HYPERONE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+HYPERONE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+Default configuration does not require any additional environment variables,
+just a passport file in ~/.h1/passport.json
location.
+Generating passport file using H1 CLI
+To use this application you have to generate passport file for sa
:
+h1 iam project sa credential generate --name my-passport --project <project ID> --sa <sa ID> --passport-output-file ~/.h1/passport.json
Required permissions
+The application requires following permissions:
+
+dns/zone/list
+dns/zone.recordset/list
+dns/zone.recordset/create
+dns/zone.recordset/delete
+dns/zone.record/create
+dns/zone.record/list
+dns/zone.record/delete
+
+All required permissions are available via platform role tool.lego
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/ibmcloud/index.html b/dns/ibmcloud/index.html
new file mode 100644
index 0000000000..a5a1448905
--- /dev/null
+++ b/dns/ibmcloud/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IBM Cloud (SoftLayer) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+IBM Cloud (SoftLayer)
+
+
+
+
+Configuration for IBM Cloud (SoftLayer) .
+
+Code: ibmcloud
+Since: v4.5.0
+
+Here is an example bash command using the IBM Cloud (SoftLayer) provider:
+SOFTLAYER_USERNAME = xxxxx \
+ SOFTLAYER_API_KEY = yyyyy \
+ lego --email you@example.com --dns ibmcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SOFTLAYER_API_KEY
+Classic Infrastructure API key
+
+
+SOFTLAYER_USERNAME
+Username (IBM Cloud is _)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SOFTLAYER_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SOFTLAYER_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SOFTLAYER_TIMEOUT
+API request timeout
+
+
+SOFTLAYER_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/iij/index.html b/dns/iij/index.html
new file mode 100644
index 0000000000..e4e7c7243a
--- /dev/null
+++ b/dns/iij/index.html
@@ -0,0 +1,438 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Internet Initiative Japan :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Internet Initiative Japan
+
+
+
+
+Configuration for Internet Initiative Japan .
+
+Code: iij
+Since: v1.1.0
+
+Here is an example bash command using the Internet Initiative Japan provider:
+IIJ_API_ACCESS_KEY = xxxxxxxx \
+ IIJ_API_SECRET_KEY = yyyyyy \
+ IIJ_DO_SERVICE_CODE = zzzzzz \
+ lego --email you@example.com --dns iij -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IIJ_API_ACCESS_KEY
+API access key
+
+
+IIJ_API_SECRET_KEY
+API secret key
+
+
+IIJ_DO_SERVICE_CODE
+DO service code
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IIJ_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+IIJ_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+IIJ_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/iijdpf/index.html b/dns/iijdpf/index.html
new file mode 100644
index 0000000000..dcdc7fb910
--- /dev/null
+++ b/dns/iijdpf/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IIJ DNS Platform Service :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Configuration for IIJ DNS Platform Service .
+
+Code: iijdpf
+Since: v4.7.0
+
+Here is an example bash command using the IIJ DNS Platform Service provider:
+IIJ_DPF_API_TOKEN = xxxxxxxx \
+ IIJ_DPF_DPM_SERVICE_CODE = yyyyyy \
+ lego --email you@example.com --dns iijdpf -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IIJ_DPF_API_TOKEN
+API token
+
+
+IIJ_DPF_DPM_SERVICE_CODE
+IIJ Managed DNS Service’s service code
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IIJ_DPF_API_ENDPOINT
+API endpoint URL, defaults to https://api.dns-platform.jp/dpf/v1
+
+
+IIJ_DPF_POLLING_INTERVAL
+Time between DNS propagation check, defaults to 5 second
+
+
+IIJ_DPF_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation, defaults to 660 second
+
+
+IIJ_DPF_TTL
+The TTL of the TXT record used for the DNS challenge, default to 300
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/index.html b/dns/index.html
new file mode 100644
index 0000000000..6b98532110
--- /dev/null
+++ b/dns/index.html
@@ -0,0 +1,2004 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DNS Providers :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Lego > DNS Providers
+
+
+
+
+
+
+
+
+
+
+DNS Providers
+
+Configuration and Credentials
+Credentials and DNS configuration for DNS providers must be passed through environment variables.
+Environment Variables: Value
+The environment variables can reference a value.
+Here is an example bash command using the Cloudflare DNS provider:
+$ CLOUDFLARE_EMAIL = you@example.com \
+ CLOUDFLARE_API_KEY = b9841238feb177a84330febba8a83208921177bffe733 \
+ lego --dns cloudflare --domains www.example.com --email you@example.com run
Environment Variables: File
+The environment variables can reference a path to file.
+In this case the name of environment variable must be suffixed by _FILE
.
+
+
+
Note
+
+
+
The file must contain only the value.
+
+
+Here is an example bash command using the CloudFlare DNS provider:
+$ cat /the/path/to/my/key
+ b9841238feb177a84330febba8a83208921177bffe733
+
+ $ cat /the/path/to/my/email
+ you@example.com
+
+ $ CLOUDFLARE_EMAIL_FILE = /the/path/to/my/email \
+ CLOUDFLARE_API_KEY_FILE = /the/path/to/my/key \
+ lego --dns cloudflare --domains www.example.com --email you@example.com run
DNS Providers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/index.xml b/dns/index.xml
new file mode 100644
index 0000000000..a01e96aaa9
--- /dev/null
+++ b/dns/index.xml
@@ -0,0 +1,1006 @@
+
+
+
+ DNS Providers :: Let’s Encrypt client and ACME library written in Go.
+ https://go-acme.github.io/lego/dns/index.html
+ Configuration and Credentials Credentials and DNS configuration for DNS providers must be passed through environment variables.
Environment Variables: Value The environment variables can reference a value.
Here is an example bash command using the Cloudflare DNS provider:
$ CLOUDFLARE_EMAIL=you@example.com \ CLOUDFLARE_API_KEY=b9841238feb177a84330febba8a83208921177bffe733 \ lego --dns cloudflare --domains www.example.com --email you@example.com runEnvironment Variables: File The environment variables can reference a path to file.
In this case the name of environment variable must be suffixed by _FILE.
+ Hugo
+ en
+ Sun, 10 Nov 2024 16:12:07 -0800
+
+ -
+
Akamai EdgeDNS
+ https://go-acme.github.io/lego/dns/edgedns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/edgedns/index.html
+ Akamai edgedns supersedes FastDNS; implementing a DNS provider for solving the DNS-01 challenge using Akamai EdgeDNS
+
+ -
+
Alibaba Cloud DNS
+ https://go-acme.github.io/lego/dns/alidns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/alidns/index.html
+ Configuration for Alibaba Cloud DNS.
+
+ -
+
all-inkl
+ https://go-acme.github.io/lego/dns/allinkl/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/allinkl/index.html
+ Configuration for all-inkl.
+
+ -
+
Amazon Lightsail
+ https://go-acme.github.io/lego/dns/lightsail/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/lightsail/index.html
+ Configuration for Amazon Lightsail.
+
+ -
+
Amazon Route 53
+ https://go-acme.github.io/lego/dns/route53/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/route53/index.html
+ Configuration for Amazon Route 53.
+
+ -
+
ArvanCloud
+ https://go-acme.github.io/lego/dns/arvancloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/arvancloud/index.html
+ Configuration for ArvanCloud.
+
+ -
+
Aurora DNS
+ https://go-acme.github.io/lego/dns/auroradns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/auroradns/index.html
+ Configuration for Aurora DNS.
+
+ -
+
Autodns
+ https://go-acme.github.io/lego/dns/autodns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/autodns/index.html
+ Configuration for Autodns.
+
+ -
+
Azure (deprecated)
+ https://go-acme.github.io/lego/dns/azure/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/azure/index.html
+ Configuration for Azure (deprecated).
+
+ -
+
Azure DNS
+ https://go-acme.github.io/lego/dns/azuredns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/azuredns/index.html
+ Configuration for Azure DNS.
+
+ -
+
Bindman
+ https://go-acme.github.io/lego/dns/bindman/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/bindman/index.html
+ Configuration for Bindman.
+
+ -
+
Bluecat
+ https://go-acme.github.io/lego/dns/bluecat/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/bluecat/index.html
+ Configuration for Bluecat.
+
+ -
+
Brandit (deprecated)
+ https://go-acme.github.io/lego/dns/brandit/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/brandit/index.html
+ Brandit has been acquired by Abion. Abion has a different API.
If you are a Brandit/Albion user, you can try the PR https://github.com/go-acme/lego/pull/2112.
+
+ -
+
Bunny
+ https://go-acme.github.io/lego/dns/bunny/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/bunny/index.html
+ Configuration for Bunny.
+
+ -
+
Checkdomain
+ https://go-acme.github.io/lego/dns/checkdomain/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/checkdomain/index.html
+ Configuration for Checkdomain.
+
+ -
+
Civo
+ https://go-acme.github.io/lego/dns/civo/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/civo/index.html
+ Configuration for Civo.
+
+ -
+
Cloud.ru
+ https://go-acme.github.io/lego/dns/cloudru/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/cloudru/index.html
+ Configuration for Cloud.ru.
+
+ -
+
CloudDNS
+ https://go-acme.github.io/lego/dns/clouddns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/clouddns/index.html
+ Configuration for CloudDNS.
+
+ -
+
Cloudflare
+ https://go-acme.github.io/lego/dns/cloudflare/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/cloudflare/index.html
+ Configuration for Cloudflare.
+
+ -
+
ClouDNS
+ https://go-acme.github.io/lego/dns/cloudns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/cloudns/index.html
+ Configuration for ClouDNS.
+
+ -
+
CloudXNS (Deprecated)
+ https://go-acme.github.io/lego/dns/cloudxns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/cloudxns/index.html
+ The CloudXNS DNS provider has shut down.
+
+ -
+
ConoHa
+ https://go-acme.github.io/lego/dns/conoha/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/conoha/index.html
+ Configuration for ConoHa.
+
+ -
+
Constellix
+ https://go-acme.github.io/lego/dns/constellix/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/constellix/index.html
+ Configuration for Constellix.
+
+ -
+
Core-Networks
+ https://go-acme.github.io/lego/dns/corenetworks/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/corenetworks/index.html
+ Configuration for Core-Networks.
+
+ -
+
CPanel/WHM
+ https://go-acme.github.io/lego/dns/cpanel/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/cpanel/index.html
+ Configuration for CPanel/WHM.
+
+ -
+
Derak Cloud
+ https://go-acme.github.io/lego/dns/derak/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/derak/index.html
+ Configuration for Derak Cloud.
+
+ -
+
deSEC.io
+ https://go-acme.github.io/lego/dns/desec/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/desec/index.html
+ Configuration for deSEC.io.
+
+ -
+
Designate DNSaaS for Openstack
+ https://go-acme.github.io/lego/dns/designate/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/designate/index.html
+ Configuration for Designate DNSaaS for Openstack.
+
+ -
+
Digital Ocean
+ https://go-acme.github.io/lego/dns/digitalocean/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/digitalocean/index.html
+ Configuration for Digital Ocean.
+
+ -
+
DirectAdmin
+ https://go-acme.github.io/lego/dns/directadmin/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/directadmin/index.html
+ Configuration for DirectAdmin.
+
+ -
+
DNS Made Easy
+ https://go-acme.github.io/lego/dns/dnsmadeeasy/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dnsmadeeasy/index.html
+ Configuration for DNS Made Easy.
+
+ -
+
dnsHome.de
+ https://go-acme.github.io/lego/dns/dnshomede/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dnshomede/index.html
+ Configuration for dnsHome.de.
+
+ -
+
DNSimple
+ https://go-acme.github.io/lego/dns/dnsimple/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dnsimple/index.html
+ Configuration for DNSimple.
+
+ -
+
DNSPod (deprecated)
+ https://go-acme.github.io/lego/dns/dnspod/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dnspod/index.html
+ Use the Tencent Cloud provider instead.
+
+ -
+
Domain Offensive (do.de)
+ https://go-acme.github.io/lego/dns/dode/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dode/index.html
+ Configuration for Domain Offensive (do.de).
+
+ -
+
Domeneshop
+ https://go-acme.github.io/lego/dns/domeneshop/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/domeneshop/index.html
+ Configuration for Domeneshop.
+
+ -
+
DreamHost
+ https://go-acme.github.io/lego/dns/dreamhost/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dreamhost/index.html
+ Configuration for DreamHost.
+
+ -
+
Duck DNS
+ https://go-acme.github.io/lego/dns/duckdns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/duckdns/index.html
+ Configuration for Duck DNS.
+
+ -
+
Dyn
+ https://go-acme.github.io/lego/dns/dyn/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dyn/index.html
+ Configuration for Dyn.
+
+ -
+
Dynu
+ https://go-acme.github.io/lego/dns/dynu/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/dynu/index.html
+ Configuration for Dynu.
+
+ -
+
EasyDNS
+ https://go-acme.github.io/lego/dns/easydns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/easydns/index.html
+ Configuration for EasyDNS.
+
+ -
+
Efficient IP
+ https://go-acme.github.io/lego/dns/efficientip/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/efficientip/index.html
+ Configuration for Efficient IP.
+
+ -
+
Epik
+ https://go-acme.github.io/lego/dns/epik/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/epik/index.html
+ Configuration for Epik.
+
+ -
+
Exoscale
+ https://go-acme.github.io/lego/dns/exoscale/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/exoscale/index.html
+ Configuration for Exoscale.
+
+ -
+
External program
+ https://go-acme.github.io/lego/dns/exec/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/exec/index.html
+ Solving the DNS-01 challenge using an external program.
+
+ -
+
freemyip.com
+ https://go-acme.github.io/lego/dns/freemyip/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/freemyip/index.html
+ Configuration for freemyip.com.
+
+ -
+
G-Core
+ https://go-acme.github.io/lego/dns/gcore/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/gcore/index.html
+ Configuration for G-Core.
+
+ -
+
Gandi
+ https://go-acme.github.io/lego/dns/gandi/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/gandi/index.html
+ Configuration for Gandi.
+
+ -
+
Gandi Live DNS (v5)
+ https://go-acme.github.io/lego/dns/gandiv5/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/gandiv5/index.html
+ Configuration for Gandi Live DNS (v5).
+
+ -
+
Glesys
+ https://go-acme.github.io/lego/dns/glesys/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/glesys/index.html
+ Configuration for Glesys.
+
+ -
+
Go Daddy
+ https://go-acme.github.io/lego/dns/godaddy/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/godaddy/index.html
+ Configuration for Go Daddy.
+
+ -
+
Google Cloud
+ https://go-acme.github.io/lego/dns/gcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/gcloud/index.html
+ Configuration for Google Cloud.
+
+ -
+
Google Domains
+ https://go-acme.github.io/lego/dns/googledomains/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/googledomains/index.html
+ Configuration for Google Domains.
+
+ -
+
Hetzner
+ https://go-acme.github.io/lego/dns/hetzner/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/hetzner/index.html
+ Configuration for Hetzner.
+
+ -
+
Hosting.de
+ https://go-acme.github.io/lego/dns/hostingde/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/hostingde/index.html
+ Configuration for Hosting.de.
+
+ -
+
Hosttech
+ https://go-acme.github.io/lego/dns/hosttech/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/hosttech/index.html
+ Configuration for Hosttech.
+
+ -
+
HTTP request
+ https://go-acme.github.io/lego/dns/httpreq/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/httpreq/index.html
+ Configuration for HTTP request.
+
+ -
+
http.net
+ https://go-acme.github.io/lego/dns/httpnet/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/httpnet/index.html
+ Configuration for http.net.
+
+ -
+
Huawei Cloud
+ https://go-acme.github.io/lego/dns/huaweicloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/huaweicloud/index.html
+ Configuration for Huawei Cloud.
+
+ -
+
Hurricane Electric DNS
+ https://go-acme.github.io/lego/dns/hurricane/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/hurricane/index.html
+ Configuration for Hurricane Electric DNS.
+
+ -
+
HyperOne
+ https://go-acme.github.io/lego/dns/hyperone/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/hyperone/index.html
+ Configuration for HyperOne.
+
+ -
+
IBM Cloud (SoftLayer)
+ https://go-acme.github.io/lego/dns/ibmcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/ibmcloud/index.html
+ Configuration for IBM Cloud (SoftLayer).
+
+ -
+
IIJ DNS Platform Service
+ https://go-acme.github.io/lego/dns/iijdpf/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/iijdpf/index.html
+ Configuration for IIJ DNS Platform Service.
+
+ -
+
Infoblox
+ https://go-acme.github.io/lego/dns/infoblox/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/infoblox/index.html
+ Configuration for Infoblox.
+
+ -
+
Infomaniak
+ https://go-acme.github.io/lego/dns/infomaniak/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/infomaniak/index.html
+ Configuration for Infomaniak.
+
+ -
+
Internet Initiative Japan
+ https://go-acme.github.io/lego/dns/iij/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/iij/index.html
+ Configuration for Internet Initiative Japan.
+
+ -
+
Internet.bs
+ https://go-acme.github.io/lego/dns/internetbs/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/internetbs/index.html
+ Configuration for Internet.bs.
+
+ -
+
INWX
+ https://go-acme.github.io/lego/dns/inwx/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/inwx/index.html
+ Configuration for INWX.
+
+ -
+
Ionos
+ https://go-acme.github.io/lego/dns/ionos/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/ionos/index.html
+ Configuration for Ionos.
+
+ -
+
IPv64
+ https://go-acme.github.io/lego/dns/ipv64/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/ipv64/index.html
+ Configuration for IPv64.
+
+ -
+
iwantmyname
+ https://go-acme.github.io/lego/dns/iwantmyname/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/iwantmyname/index.html
+ Configuration for iwantmyname.
+
+ -
+
Joker
+ https://go-acme.github.io/lego/dns/joker/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/joker/index.html
+ Configuration for Joker.
+
+ -
+
Joohoi's ACME-DNS
+ https://go-acme.github.io/lego/dns/acme-dns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/acme-dns/index.html
+ Configuration for Joohoi’s ACME-DNS.
+
+ -
+
Liara
+ https://go-acme.github.io/lego/dns/liara/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/liara/index.html
+ Configuration for Liara.
+
+ -
+
Lima-City
+ https://go-acme.github.io/lego/dns/limacity/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/limacity/index.html
+ Configuration for Lima-City.
+
+ -
+
Linode (v4)
+ https://go-acme.github.io/lego/dns/linode/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/linode/index.html
+ Configuration for Linode (v4).
+
+ -
+
Liquid Web
+ https://go-acme.github.io/lego/dns/liquidweb/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/liquidweb/index.html
+ Configuration for Liquid Web.
+
+ -
+
Loopia
+ https://go-acme.github.io/lego/dns/loopia/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/loopia/index.html
+ Configuration for Loopia.
+
+ -
+
LuaDNS
+ https://go-acme.github.io/lego/dns/luadns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/luadns/index.html
+ Configuration for LuaDNS.
+
+ -
+
Mail-in-a-Box
+ https://go-acme.github.io/lego/dns/mailinabox/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/mailinabox/index.html
+ Configuration for Mail-in-a-Box.
+
+ -
+
Manual
+ https://go-acme.github.io/lego/dns/manual/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/manual/index.html
+ Solving the DNS-01 challenge using CLI prompt.
+
+ -
+
Metaname
+ https://go-acme.github.io/lego/dns/metaname/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/metaname/index.html
+ Configuration for Metaname.
+
+ -
+
mijn.host
+ https://go-acme.github.io/lego/dns/mijnhost/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/mijnhost/index.html
+ Configuration for mijn.host.
+
+ -
+
Mittwald
+ https://go-acme.github.io/lego/dns/mittwald/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/mittwald/index.html
+ Configuration for Mittwald.
+
+ -
+
MyDNS.jp
+ https://go-acme.github.io/lego/dns/mydnsjp/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/mydnsjp/index.html
+ Configuration for MyDNS.jp.
+
+ -
+
MythicBeasts
+ https://go-acme.github.io/lego/dns/mythicbeasts/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/mythicbeasts/index.html
+ Configuration for MythicBeasts.
+
+ -
+
Name.com
+ https://go-acme.github.io/lego/dns/namedotcom/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/namedotcom/index.html
+ Configuration for Name.com.
+
+ -
+
Namecheap
+ https://go-acme.github.io/lego/dns/namecheap/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/namecheap/index.html
+ Configuration for Namecheap.
To enable API access on the Namecheap production environment, some opaque requirements must be met. More information in the section Enabling API Access of the Namecheap documentation. (2020-08: Account balance of $50+, 20+ domains in your account, or purchases totaling $50+ within the last 2 years.)
+
+ -
+
Namesilo
+ https://go-acme.github.io/lego/dns/namesilo/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/namesilo/index.html
+ Configuration for Namesilo.
+
+ -
+
NearlyFreeSpeech.NET
+ https://go-acme.github.io/lego/dns/nearlyfreespeech/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/nearlyfreespeech/index.html
+ Configuration for NearlyFreeSpeech.NET.
+
+ -
+
Netcup
+ https://go-acme.github.io/lego/dns/netcup/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/netcup/index.html
+ Configuration for Netcup.
+
+ -
+
Netlify
+ https://go-acme.github.io/lego/dns/netlify/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/netlify/index.html
+ Configuration for Netlify.
+
+ -
+
Nicmanager
+ https://go-acme.github.io/lego/dns/nicmanager/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/nicmanager/index.html
+ Configuration for Nicmanager.
+
+ -
+
NIFCloud
+ https://go-acme.github.io/lego/dns/nifcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/nifcloud/index.html
+ Configuration for NIFCloud.
+
+ -
+
Njalla
+ https://go-acme.github.io/lego/dns/njalla/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/njalla/index.html
+ Configuration for Njalla.
+
+ -
+
Nodion
+ https://go-acme.github.io/lego/dns/nodion/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/nodion/index.html
+ Configuration for Nodion.
+
+ -
+
NS1
+ https://go-acme.github.io/lego/dns/ns1/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/ns1/index.html
+ Configuration for NS1.
+
+ -
+
Open Telekom Cloud
+ https://go-acme.github.io/lego/dns/otc/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/otc/index.html
+ Configuration for Open Telekom Cloud.
+
+ -
+
Oracle Cloud
+ https://go-acme.github.io/lego/dns/oraclecloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/oraclecloud/index.html
+ Configuration for Oracle Cloud.
+
+ -
+
OVH
+ https://go-acme.github.io/lego/dns/ovh/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/ovh/index.html
+ Configuration for OVH.
+
+ -
+
plesk.com
+ https://go-acme.github.io/lego/dns/plesk/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/plesk/index.html
+ Configuration for plesk.com.
+
+ -
+
Porkbun
+ https://go-acme.github.io/lego/dns/porkbun/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/porkbun/index.html
+ Configuration for Porkbun.
+
+ -
+
PowerDNS
+ https://go-acme.github.io/lego/dns/pdns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/pdns/index.html
+ Configuration for PowerDNS.
+
+ -
+
Rackspace
+ https://go-acme.github.io/lego/dns/rackspace/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/rackspace/index.html
+ Configuration for Rackspace.
+
+ -
+
RcodeZero
+ https://go-acme.github.io/lego/dns/rcodezero/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/rcodezero/index.html
+ Configuration for RcodeZero.
+
+ -
+
reg.ru
+ https://go-acme.github.io/lego/dns/regru/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/regru/index.html
+ Configuration for reg.ru.
+
+ -
+
Regfish
+ https://go-acme.github.io/lego/dns/regfish/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/regfish/index.html
+ Configuration for Regfish.
+
+ -
+
RFC2136
+ https://go-acme.github.io/lego/dns/rfc2136/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/rfc2136/index.html
+ Configuration for RFC2136.
+
+ -
+
RimuHosting
+ https://go-acme.github.io/lego/dns/rimuhosting/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/rimuhosting/index.html
+ Configuration for RimuHosting.
+
+ -
+
Sakura Cloud
+ https://go-acme.github.io/lego/dns/sakuracloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/sakuracloud/index.html
+ Configuration for Sakura Cloud.
+
+ -
+
Scaleway
+ https://go-acme.github.io/lego/dns/scaleway/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/scaleway/index.html
+ Configuration for Scaleway.
+
+ -
+
Selectel
+ https://go-acme.github.io/lego/dns/selectel/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/selectel/index.html
+ Configuration for Selectel.
+
+ -
+
Selectel v2
+ https://go-acme.github.io/lego/dns/selectelv2/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/selectelv2/index.html
+ Configuration for Selectel v2.
+
+ -
+
SelfHost.(de|eu)
+ https://go-acme.github.io/lego/dns/selfhostde/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/selfhostde/index.html
+ Configuration for SelfHost.(de|eu).
+
+ -
+
Servercow
+ https://go-acme.github.io/lego/dns/servercow/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/servercow/index.html
+ Configuration for Servercow.
+
+ -
+
Shellrent
+ https://go-acme.github.io/lego/dns/shellrent/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/shellrent/index.html
+ Configuration for Shellrent.
+
+ -
+
Simply.com
+ https://go-acme.github.io/lego/dns/simply/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/simply/index.html
+ Configuration for Simply.com.
+
+ -
+
Sonic
+ https://go-acme.github.io/lego/dns/sonic/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/sonic/index.html
+ Configuration for Sonic.
+
+ -
+
Stackpath
+ https://go-acme.github.io/lego/dns/stackpath/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/stackpath/index.html
+ Configuration for Stackpath.
+
+ -
+
Technitium
+ https://go-acme.github.io/lego/dns/technitium/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/technitium/index.html
+ Configuration for Technitium.
+
+ -
+
Tencent Cloud DNS
+ https://go-acme.github.io/lego/dns/tencentcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/tencentcloud/index.html
+ Configuration for Tencent Cloud DNS.
+
+ -
+
Timeweb Cloud
+ https://go-acme.github.io/lego/dns/timewebcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/timewebcloud/index.html
+ Configuration for Timeweb Cloud.
+
+ -
+
TransIP
+ https://go-acme.github.io/lego/dns/transip/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/transip/index.html
+ Configuration for TransIP.
+
+ -
+
UKFast SafeDNS
+ https://go-acme.github.io/lego/dns/safedns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/safedns/index.html
+ Configuration for UKFast SafeDNS.
+
+ -
+
Ultradns
+ https://go-acme.github.io/lego/dns/ultradns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/ultradns/index.html
+ Configuration for Ultradns.
+
+ -
+
Variomedia
+ https://go-acme.github.io/lego/dns/variomedia/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/variomedia/index.html
+ Configuration for Variomedia.
+
+ -
+
VegaDNS
+ https://go-acme.github.io/lego/dns/vegadns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/vegadns/index.html
+ Configuration for VegaDNS.
+
+ -
+
Vercel
+ https://go-acme.github.io/lego/dns/vercel/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/vercel/index.html
+ Configuration for Vercel.
+
+ -
+
Versio.[nl|eu|uk]
+ https://go-acme.github.io/lego/dns/versio/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/versio/index.html
+ Configuration for Versio.[nl|eu|uk].
+
+ -
+
VinylDNS
+ https://go-acme.github.io/lego/dns/vinyldns/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/vinyldns/index.html
+ Configuration for VinylDNS.
+
+ -
+
VK Cloud
+ https://go-acme.github.io/lego/dns/vkcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/vkcloud/index.html
+ Configuration for VK Cloud.
+
+ -
+
Volcano Engine/火山引擎
+ https://go-acme.github.io/lego/dns/volcengine/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/volcengine/index.html
+ Configuration for Volcano Engine/火山引擎.
+
+ -
+
Vscale
+ https://go-acme.github.io/lego/dns/vscale/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/vscale/index.html
+ Configuration for Vscale.
+
+ -
+
Vultr
+ https://go-acme.github.io/lego/dns/vultr/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/vultr/index.html
+ Configuration for Vultr.
+
+ -
+
Webnames
+ https://go-acme.github.io/lego/dns/webnames/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/webnames/index.html
+ Configuration for Webnames.
+
+ -
+
Websupport
+ https://go-acme.github.io/lego/dns/websupport/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/websupport/index.html
+ Configuration for Websupport.
+
+ -
+
WEDOS
+ https://go-acme.github.io/lego/dns/wedos/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/wedos/index.html
+ Configuration for WEDOS.
+
+ -
+
Yandex 360
+ https://go-acme.github.io/lego/dns/yandex360/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/yandex360/index.html
+ Configuration for Yandex 360.
+
+ -
+
Yandex Cloud
+ https://go-acme.github.io/lego/dns/yandexcloud/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/yandexcloud/index.html
+ Configuration for Yandex Cloud.
+
+ -
+
Yandex PDD
+ https://go-acme.github.io/lego/dns/yandex/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/yandex/index.html
+ Configuration for Yandex PDD.
+
+ -
+
Zone.ee
+ https://go-acme.github.io/lego/dns/zoneee/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/zoneee/index.html
+ Configuration for Zone.ee.
+
+ -
+
Zonomi
+ https://go-acme.github.io/lego/dns/zonomi/index.html
+ Sun, 03 Mar 2019 16:39:46 +0100
+ https://go-acme.github.io/lego/dns/zonomi/index.html
+ Configuration for Zonomi.
+
+
+
\ No newline at end of file
diff --git a/dns/infoblox/index.html b/dns/infoblox/index.html
new file mode 100644
index 0000000000..813c356661
--- /dev/null
+++ b/dns/infoblox/index.html
@@ -0,0 +1,459 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infoblox :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Infoblox
+
+
+
+
+Configuration for Infoblox .
+
+Code: infoblox
+Since: v4.4.0
+
+Here is an example bash command using the Infoblox provider:
+INFOBLOX_USERNAME = api-user-529 \
+ INFOBLOX_PASSWORD = b9841238feb177a84330febba8a83208921177bffe733 \
+ INFOBLOX_HOST = infoblox.example.org
+lego --email you@example.com --dns infoblox -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INFOBLOX_HOST
+Host URI
+
+
+INFOBLOX_PASSWORD
+Account Password
+
+
+INFOBLOX_USERNAME
+Account Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INFOBLOX_DNS_VIEW
+The view for the TXT records, default: External
+
+
+INFOBLOX_HTTP_TIMEOUT
+HTTP request timeout
+
+
+INFOBLOX_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+INFOBLOX_PORT
+The port for the infoblox grid manager, default: 443
+
+
+INFOBLOX_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+INFOBLOX_SSL_VERIFY
+Whether or not to verify the TLS certificate, default: true
+
+
+INFOBLOX_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+INFOBLOX_WAPI_VERSION
+The version of WAPI being used, default: 2.11
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+When creating an API’s user ensure it has the proper permissions for the view you are working with.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/infomaniak/index.html b/dns/infomaniak/index.html
new file mode 100644
index 0000000000..fcca2f0a45
--- /dev/null
+++ b/dns/infomaniak/index.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infomaniak :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Infomaniak
+
+
+
+
+Configuration for Infomaniak .
+
+Code: infomaniak
+Since: v4.1.0
+
+Here is an example bash command using the Infomaniak provider:
+INFOMANIAK_ACCESS_TOKEN = 1234567898765432 \
+ lego --email you@example.com --dns infomaniak -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INFOMANIAK_ACCESS_TOKEN
+Access token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INFOMANIAK_ENDPOINT
+https://api.infomaniak.com
+
+
+INFOMANIAK_HTTP_TIMEOUT
+API request timeout
+
+
+INFOMANIAK_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+INFOMANIAK_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+INFOMANIAK_TTL
+The TTL of the TXT record used for the DNS challenge in seconds
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Access token
+Access token can be created at the url https://manager.infomaniak.com/v3/infomaniak-api .
+You will need domain scope.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/internetbs/index.html b/dns/internetbs/index.html
new file mode 100644
index 0000000000..7206c2631e
--- /dev/null
+++ b/dns/internetbs/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Internet.bs :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Internet.bs
+
+
+
+
+Configuration for Internet.bs .
+
+Code: internetbs
+Since: v4.5.0
+
+Here is an example bash command using the Internet.bs provider:
+INTERNET_BS_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxx \
+ INTERNET_BS_PASSWORD = yyyyyyyyyyyyyyyyyyyyyyyyyy \
+ lego --email you@example.com --dns internetbs -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INTERNET_BS_API_KEY
+API key
+
+
+INTERNET_BS_PASSWORD
+API password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INTERNET_BS_HTTP_TIMEOUT
+API request timeout
+
+
+INTERNET_BS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+INTERNET_BS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+INTERNET_BS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/inwx/index.html b/dns/inwx/index.html
new file mode 100644
index 0000000000..f956cb3ca6
--- /dev/null
+++ b/dns/inwx/index.html
@@ -0,0 +1,447 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INWX :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+INWX
+
+
+
+
+Configuration for INWX .
+
+Code: inwx
+Since: v2.0.0
+
+Here is an example bash command using the INWX provider:
+INWX_USERNAME = xxxxxxxxxx \
+ INWX_PASSWORD = yyyyyyyyyy \
+ lego --email you@example.com --dns inwx -d '*.example.com' -d example.com run
+
+ # 2FA
+INWX_USERNAME = xxxxxxxxxx \
+ INWX_PASSWORD = yyyyyyyyyy \
+ INWX_SHARED_SECRET = zzzzzzzzzz \
+ lego --email you@example.com --dns inwx -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INWX_PASSWORD
+Password
+
+
+INWX_USERNAME
+Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+INWX_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+INWX_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation (default 360s)
+
+
+INWX_SANDBOX
+Activate the sandbox (boolean)
+
+
+INWX_SHARED_SECRET
+shared secret related to 2FA
+
+
+INWX_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/ionos/index.html b/dns/ionos/index.html
new file mode 100644
index 0000000000..ba7284d14e
--- /dev/null
+++ b/dns/ionos/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ionos :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ionos
+
+
+
+
+Configuration for Ionos .
+
+Code: ionos
+Since: v4.2.0
+
+Here is an example bash command using the Ionos provider:
+IONOS_API_KEY = xxxxxxxx \
+ lego --email you@example.com --dns ionos -d '*.example.com' -d example.com run
Credentials
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IONOS_HTTP_TIMEOUT
+API request timeout
+
+
+IONOS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+IONOS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+IONOS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/ipv64/index.html b/dns/ipv64/index.html
new file mode 100644
index 0000000000..908de80f5a
--- /dev/null
+++ b/dns/ipv64/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IPv64 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+IPv64
+
+
+
+
+Configuration for IPv64 .
+
+Code: ipv64
+Since: v4.13.0
+
+Here is an example bash command using the IPv64 provider:
+IPV64_API_KEY = xxxxxx \
+ lego --email you@example.com --dns ipv64 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IPV64_API_KEY
+Account API Key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IPV64_HTTP_TIMEOUT
+API request timeout
+
+
+IPV64_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+IPV64_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+IPV64_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/iwantmyname/index.html b/dns/iwantmyname/index.html
new file mode 100644
index 0000000000..375cdb46f9
--- /dev/null
+++ b/dns/iwantmyname/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ iwantmyname :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+iwantmyname
+
+
+
+
+Configuration for iwantmyname .
+
+Code: iwantmyname
+Since: v4.7.0
+
+Here is an example bash command using the iwantmyname provider:
+IWANTMYNAME_USERNAME = xxxxxxxx \
+ IWANTMYNAME_PASSWORD = xxxxxxxx \
+ lego --email you@example.com --dns iwantmyname -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IWANTMYNAME_PASSWORD
+API password
+
+
+IWANTMYNAME_USERNAME
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+IWANTMYNAME_HTTP_TIMEOUT
+API request timeout
+
+
+IWANTMYNAME_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+IWANTMYNAME_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+IWANTMYNAME_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/joker/index.html b/dns/joker/index.html
new file mode 100644
index 0000000000..df9b7bf3a6
--- /dev/null
+++ b/dns/joker/index.html
@@ -0,0 +1,483 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Joker :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Joker
+
+
+
+
+Configuration for Joker .
+
+Code: joker
+Since: v2.6.0
+
+Here is an example bash command using the Joker provider:
+# SVC
+JOKER_API_MODE = SVC \
+ JOKER_USERNAME = <your email> \
+ JOKER_PASSWORD = <your password> \
+ lego --email you@example.com --dns joker -d '*.example.com' -d example.com run
+
+ # DMAPI
+JOKER_API_MODE = DMAPI \
+ JOKER_USERNAME = <your email> \
+ JOKER_PASSWORD = <your password> \
+ lego --email you@example.com --dns joker -d '*.example.com' -d example.com run
+## or
+JOKER_API_MODE = DMAPI \
+ JOKER_API_KEY = <your API key> \
+ lego --email you@example.com --dns joker -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+JOKER_API_KEY
+API key (only with DMAPI mode)
+
+
+JOKER_API_MODE
+‘DMAPI’ or ‘SVC’. DMAPI is for resellers accounts. (Default: DMAPI)
+
+
+JOKER_PASSWORD
+Joker.com password
+
+
+JOKER_USERNAME
+Joker.com username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+JOKER_HTTP_TIMEOUT
+API request timeout
+
+
+JOKER_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+JOKER_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+JOKER_SEQUENCE_INTERVAL
+Time between sequential requests (only with ‘SVC’ mode)
+
+
+JOKER_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+SVC mode
+In the SVC mode, username and passsword are not your email and account passwords, but those displayed in Joker.com domain dashboard when enabling Dynamic DNS.
+As per Joker.com documentation :
+
+
+
+please log in at Joker.com, visit ‘My Domains’,
+find the domain you want to add Let’s Encrypt certificate for, and chose “DNS” in the menu
+
+
+on the top right, you will find the setting for ‘Dynamic DNS’.
+If not already active, please activate it.
+It will not affect any other already existing DNS records of this domain.
+
+
+please take a note of the credentials which are now shown as ‘Dynamic DNS Authentication’, consisting of a ‘username’ and a ‘password’.
+
+
+this is all you have to do here - and only once per domain.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/liara/index.html b/dns/liara/index.html
new file mode 100644
index 0000000000..d0c2b682c5
--- /dev/null
+++ b/dns/liara/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Liara :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Liara
+
+
+
+
+Configuration for Liara .
+
+Code: liara
+Since: v4.10.0
+
+Here is an example bash command using the Liara provider:
+LIARA_API_KEY = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns liara -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LIARA_API_KEY
+The API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LIARA_HTTP_TIMEOUT
+API request timeout
+
+
+LIARA_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LIARA_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+LIARA_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/lightsail/index.html b/dns/lightsail/index.html
new file mode 100644
index 0000000000..e2d19cf12f
--- /dev/null
+++ b/dns/lightsail/index.html
@@ -0,0 +1,470 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Amazon Lightsail :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Amazon Lightsail
+
+
+
+
+Configuration for Amazon Lightsail .
+
+Code: lightsail
+Since: v0.5.0
+
+
+
+
Note
+
+
+
Please contribute by adding a CLI example.
+
+
+Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AWS_ACCESS_KEY_ID
+Managed by the AWS client. Access key ID (AWS_ACCESS_KEY_ID_FILE
is not supported, use AWS_SHARED_CREDENTIALS_FILE
instead)
+
+
+AWS_SECRET_ACCESS_KEY
+Managed by the AWS client. Secret access key (AWS_SECRET_ACCESS_KEY_FILE
is not supported, use AWS_SHARED_CREDENTIALS_FILE
instead)
+
+
+DNS_ZONE
+Domain name of the DNS zone
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AWS_SHARED_CREDENTIALS_FILE
+Managed by the AWS client. Shared credentials file.
+
+
+LIGHTSAIL_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LIGHTSAIL_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+AWS Credentials are automatically detected in the following locations and prioritized in the following order:
+
+Environment variables: AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, [AWS_SESSION_TOKEN
]
+Shared credentials file (defaults to ~/.aws/credentials
, profiles can be specified using AWS_PROFILE
)
+Amazon EC2 IAM role
+
+AWS region is not required to set as the Lightsail DNS zone is in global (us-east-1) region.
+Policy
+The following AWS IAM policy document describes the minimum permissions required for lego to complete the DNS challenge.
+{
+ "Version" : "2012-10-17" ,
+ "Statement" : [
+ {
+ "Effect" : "Allow" ,
+ "Action" : [
+ "lightsail:DeleteDomainEntry" ,
+ "lightsail:CreateDomainEntry"
+ ],
+ "Resource" : "<Lightsail DNS zone ARN>"
+ }
+ ]
+ }
Replace the Resource
value with your Lightsail DNS zone ARN.
+You can retrieve the ARN using aws cli by running aws lightsail get-domains --region us-east-1
(Lightsail web console does not show the ARN, unfortunately).
+It should be in the format of arn:aws:lightsail:global:<ACCOUNT ID>:Domain/<DOMAIN ID>
.
+You also need to replace the region in the ARN to us-east-1
(instead of global
).
+Alternatively, you can also set the Resource
to *
(wildcard), which allow to access all domain, but this is not recommended.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/limacity/index.html b/dns/limacity/index.html
new file mode 100644
index 0000000000..7b95c483a4
--- /dev/null
+++ b/dns/limacity/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Lima-City :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lima-City
+
+
+
+
+Configuration for Lima-City .
+
+Code: limacity
+Since: v4.18.0
+
+Here is an example bash command using the Lima-City provider:
+LIMACITY_API_KEY = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns limacity -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LIMACITY_API_KEY
+The API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LIMACITY_HTTP_TIMEOUT
+API request timeout
+
+
+LIMACITY_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LIMACITY_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+LIMACITY_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+LIMACITY_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/linode/index.html b/dns/linode/index.html
new file mode 100644
index 0000000000..a562853d5c
--- /dev/null
+++ b/dns/linode/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Linode (v4) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Linode (v4)
+
+
+
+
+Configuration for Linode (v4) .
+
+Code: linode
+Since: v1.1.0
+
+Here is an example bash command using the Linode (v4) provider:
+LINODE_TOKEN = xxxxx \
+ lego --email you@example.com --dns linode -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LINODE_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LINODE_HTTP_TIMEOUT
+API request timeout
+
+
+LINODE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LINODE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+LINODE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/liquidweb/index.html b/dns/liquidweb/index.html
new file mode 100644
index 0000000000..86df99aea8
--- /dev/null
+++ b/dns/liquidweb/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Liquid Web :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Liquid Web
+
+
+
+
+Configuration for Liquid Web .
+
+Code: liquidweb
+Since: v3.1.0
+
+Here is an example bash command using the Liquid Web provider:
+LWAPI_USERNAME = someuser \
+ LWAPI_PASSWORD = somepass \
+ lego --email you@example.com --dns liquidweb -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LWAPI_PASSWORD
+Liquid Web API Password
+
+
+LWAPI_USERNAME
+Liquid Web API Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LWAPI_HTTP_TIMEOUT
+Maximum waiting time for the DNS records to be created (not verified)
+
+
+LWAPI_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LWAPI_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+LWAPI_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+LWAPI_URL
+Liquid Web API endpoint
+
+
+LWAPI_ZONE
+DNS Zone
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/loopia/index.html b/dns/loopia/index.html
new file mode 100644
index 0000000000..b7ad1a9111
--- /dev/null
+++ b/dns/loopia/index.html
@@ -0,0 +1,453 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loopia :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Loopia
+
+
+
+
+Configuration for Loopia .
+
+Code: loopia
+Since: v4.2.0
+
+Here is an example bash command using the Loopia provider:
+LOOPIA_API_USER = xxxxxxxx \
+ LOOPIA_API_PASSWORD = yyyyyyyy \
+ lego --email you@example.com --dns loopia -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LOOPIA_API_PASSWORD
+API password
+
+
+LOOPIA_API_USER
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LOOPIA_API_URL
+API endpoint. Ex: https://api.loopia.se/RPCSERV or https://api.loopia.rs/RPCSERV
+
+
+LOOPIA_HTTP_TIMEOUT
+API request timeout
+
+
+LOOPIA_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LOOPIA_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+LOOPIA_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+API user
+You can generate a new API user from your account page.
+It needs to have the following permissions:
+
+addZoneRecord
+getZoneRecords
+removeZoneRecord
+removeSubdomain
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/luadns/index.html b/dns/luadns/index.html
new file mode 100644
index 0000000000..4b9208b111
--- /dev/null
+++ b/dns/luadns/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LuaDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+LuaDNS
+
+
+
+
+Configuration for LuaDNS .
+
+Code: luadns
+Since: v3.7.0
+
+Here is an example bash command using the LuaDNS provider:
+LUADNS_API_USERNAME = youremail \
+ LUADNS_API_TOKEN = xxxxxxxx \
+ lego --email you@example.com --dns luadns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LUADNS_API_TOKEN
+API token
+
+
+LUADNS_API_USERNAME
+Username (your email)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+LUADNS_HTTP_TIMEOUT
+API request timeout
+
+
+LUADNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+LUADNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+LUADNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/mailinabox/index.html b/dns/mailinabox/index.html
new file mode 100644
index 0000000000..f29e973383
--- /dev/null
+++ b/dns/mailinabox/index.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mail-in-a-Box :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mail-in-a-Box
+
+
+
+
+Configuration for Mail-in-a-Box .
+
+Code: mailinabox
+Since: v4.16.0
+
+Here is an example bash command using the Mail-in-a-Box provider:
+MAILINABOX_EMAIL = user@example.com \
+ MAILINABOX_PASSWORD = yyyy \
+ MAILINABOX_BASE_URL = https://box.example.com \
+ lego --email you@example.com --dns mailinabox -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MAILINABOX_BASE_URL
+Base API URL (ex: https://box.example.com )
+
+
+MAILINABOX_EMAIL
+User email
+
+
+MAILINABOX_PASSWORD
+User password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MAILINABOX_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+MAILINABOX_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/manual/index.html b/dns/manual/index.html
new file mode 100644
index 0000000000..7be61cce7d
--- /dev/null
+++ b/dns/manual/index.html
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Manual :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manual
+
+Solving the DNS-01 challenge using CLI prompt.
+Example
+To start using the CLI prompt “provider”, start lego with --dns manual
:
+$ lego --email "you@example.com" --domains= "example.com" --dns "manual" run
+
What follows are a few log print-outs, interspersed with some prompts, asking for you to do perform some actions:
+No key found for account you@example.com. Generating a P256 key.
+ Saved key to ./.lego/accounts/acme-v02.api.letsencrypt.org/you@example.com/keys/you@example.com.key
+ Please review the TOS at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
+ Do you accept the TOS? Y/n
If you accept the linked Terms of Service, hit Enter
.
+[INFO] acme: Registering account for you@example.com
+ !!!! HEADS UP !!!!
+
+ Your account credentials have been saved in your Let's Encrypt
+ configuration directory at "./.lego/accounts".
+
+ You should make a secure backup of this folder now. This
+ configuration directory will also contain certificates and
+ private keys obtained from Let's Encrypt so making regular
+ backups of this folder is ideal.
+ [INFO] [example.com] acme: Obtaining bundled SAN certificate
+ [INFO] [example.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/2345678901
+ [INFO] [example.com] acme: Could not find solver for: tls-alpn-01
+ [INFO] [example.com] acme: Could not find solver for: http-01
+ [INFO] [example.com] acme: use dns-01 solver
+ [INFO] [example.com] acme: Preparing to solve DNS-01
+ lego: Please create the following TXT record in your example.com. zone:
+ _acme-challenge.example.com. 120 IN TXT "hX0dPkG6Gfs9hUvBAchQclkyyoEKbShbpvJ9mY5q2JQ"
+ lego: Press 'Enter' when you are done
Do as instructed, and create the TXT records, and hit Enter
.
+[INFO] [example.com] acme: Trying to solve DNS-01
+ [INFO] [example.com] acme: Checking DNS record propagation using [192.168.8.1:53]
+ [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
+ [INFO] [example.com] acme: Waiting for DNS record propagation.
+ [INFO] [example.com] The server validated our request
+ [INFO] [example.com] acme: Cleaning DNS-01 challenge
+ lego: You can now remove this TXT record from your example.com. zone:
+ _acme-challenge.example.com. 120 IN TXT "hX0dPkG6Gfs9hUvBAchQclkyyoEKbShbpvJ9mY5q2JQ"
+ [INFO] [example.com] acme: Validations succeeded; requesting certificates
+ [INFO] [example.com] Server responded with a certificate.
As mentioned, you can now remove the TXT record again.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/metaname/index.html b/dns/metaname/index.html
new file mode 100644
index 0000000000..fc13277921
--- /dev/null
+++ b/dns/metaname/index.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Metaname :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Configuration for Metaname .
+
+Code: metaname
+Since: v4.13.0
+
+Here is an example bash command using the Metaname provider:
+METANAME_ACCOUNT_REFERENCE = xxxx \
+ METANAME_API_KEY = yyyyyyy \
+ lego --email you@example.com --dns metaname -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+METANAME_ACCOUNT_REFERENCE
+The four-digit reference of a Metaname account
+
+
+METANAME_API_KEY
+API Key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+METANAME_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+METANAME_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+METANAME_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/mijnhost/index.html b/dns/mijnhost/index.html
new file mode 100644
index 0000000000..d66ca1724e
--- /dev/null
+++ b/dns/mijnhost/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mijn.host :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mijn.host
+
+
+
+
+Configuration for mijn.host .
+
+Code: mijnhost
+Since: v4.18.0
+
+Here is an example bash command using the mijn.host provider:
+MIJNHOST_API_KEY = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns mijnhost -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MIJNHOST_API_KEY
+The API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MIJNHOST_HTTP_TIMEOUT
+API request timeout
+
+
+MIJNHOST_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+MIJNHOST_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+MIJNHOST_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+MIJNHOST_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/mittwald/index.html b/dns/mittwald/index.html
new file mode 100644
index 0000000000..110ef41599
--- /dev/null
+++ b/dns/mittwald/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mittwald :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mittwald
+
+
+
+
+Configuration for Mittwald .
+
+Code: mittwald
+Since: v1.48.0
+
+Here is an example bash command using the Mittwald provider:
+MITTWALD_TOKEN = my-token \
+ lego --email you@example.com --dns mittwald -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MITTWALD_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MITTWALD_HTTP_TIMEOUT
+API request timeout
+
+
+MITTWALD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+MITTWALD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+MITTWALD_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+MITTWALD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/mydnsjp/index.html b/dns/mydnsjp/index.html
new file mode 100644
index 0000000000..7af031d38d
--- /dev/null
+++ b/dns/mydnsjp/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MyDNS.jp :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MyDNS.jp
+
+
+
+
+Configuration for MyDNS.jp .
+
+Code: mydnsjp
+Since: v1.2.0
+
+Here is an example bash command using the MyDNS.jp provider:
+MYDNSJP_MASTER_ID = xxxxx \
+ MYDNSJP_PASSWORD = xxxxx \
+ lego --email you@example.com --dns mydnsjp -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MYDNSJP_MASTER_ID
+Master ID
+
+
+MYDNSJP_PASSWORD
+Password
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MYDNSJP_HTTP_TIMEOUT
+API request timeout
+
+
+MYDNSJP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+MYDNSJP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+MYDNSJP_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/mythicbeasts/index.html b/dns/mythicbeasts/index.html
new file mode 100644
index 0000000000..d56524a733
--- /dev/null
+++ b/dns/mythicbeasts/index.html
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MythicBeasts :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MythicBeasts
+
+
+
+
+Configuration for MythicBeasts .
+
+Code: mythicbeasts
+Since: v0.3.7
+
+Here is an example bash command using the MythicBeasts provider:
+MYTHICBEASTS_USERNAME = myuser \
+ MYTHICBEASTS_PASSWORD = mypass \
+ lego --email you@example.com --dns mythicbeasts -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MYTHICBEASTS_PASSWORD
+Password
+
+
+MYTHICBEASTS_USERNAME
+User name
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+MYTHICBEASTS_API_ENDPOINT
+The endpoint for the API (must implement v2)
+
+
+MYTHICBEASTS_AUTH_API_ENDPOINT
+The endpoint for Mythic Beasts’ Authentication
+
+
+MYTHICBEASTS_HTTP_TIMEOUT
+API request timeout
+
+
+MYTHICBEASTS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+MYTHICBEASTS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+MYTHICBEASTS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+If you are using specific API keys, then the username is the API ID for your API key, and the password is the API secret.
+Your API key name is not needed to operate lego.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/namecheap/index.html b/dns/namecheap/index.html
new file mode 100644
index 0000000000..2a1b0a601b
--- /dev/null
+++ b/dns/namecheap/index.html
@@ -0,0 +1,447 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Namecheap :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Namecheap
+
+
+
+
+Configuration for Namecheap .
+To enable API access on the Namecheap production environment, some opaque requirements must be met.
+More information in the section Enabling API Access of the Namecheap documentation.
+(2020-08: Account balance of $50+, 20+ domains in your account, or purchases totaling $50+ within the last 2 years.)
+
+Code: namecheap
+Since: v0.3.0
+
+Here is an example bash command using the Namecheap provider:
+NAMECHEAP_API_USER = user \
+ NAMECHEAP_API_KEY = key \
+ lego --email you@example.com --dns namecheap -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NAMECHEAP_API_KEY
+API key
+
+
+NAMECHEAP_API_USER
+API user
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NAMECHEAP_HTTP_TIMEOUT
+API request timeout
+
+
+NAMECHEAP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NAMECHEAP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NAMECHEAP_SANDBOX
+Activate the sandbox (boolean)
+
+
+NAMECHEAP_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/namedotcom/index.html b/dns/namedotcom/index.html
new file mode 100644
index 0000000000..fc634a140e
--- /dev/null
+++ b/dns/namedotcom/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name.com :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Name.com
+
+
+
+
+Configuration for Name.com .
+
+Code: namedotcom
+Since: v0.5.0
+
+Here is an example bash command using the Name.com provider:
+NAMECOM_USERNAME = foo.bar \
+ NAMECOM_API_TOKEN = a379a6f6eeafb9a55e378c118034e2751e682fab \
+ lego --email you@example.com --dns namedotcom -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NAMECOM_API_TOKEN
+API token
+
+
+NAMECOM_USERNAME
+Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NAMECOM_HTTP_TIMEOUT
+API request timeout
+
+
+NAMECOM_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NAMECOM_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NAMECOM_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/namesilo/index.html b/dns/namesilo/index.html
new file mode 100644
index 0000000000..81fedbd462
--- /dev/null
+++ b/dns/namesilo/index.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Namesilo :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Namesilo
+
+
+
+
+Configuration for Namesilo .
+
+Code: namesilo
+Since: v2.7.0
+
+Here is an example bash command using the Namesilo provider:
+NAMESILO_API_KEY = b9841238feb177a84330febba8a83208921177bffe733 \
+ lego --email you@example.com --dns namesilo -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NAMESILO_API_KEY
+Client ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NAMESILO_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NAMESILO_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation, it is better to set larger than 15m
+
+
+NAMESILO_TTL
+The TTL of the TXT record used for the DNS challenge, should be in [3600, 2592000]
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/nearlyfreespeech/index.html b/dns/nearlyfreespeech/index.html
new file mode 100644
index 0000000000..e53c56c5d9
--- /dev/null
+++ b/dns/nearlyfreespeech/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NearlyFreeSpeech.NET :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+NearlyFreeSpeech.NET
+
+
+
+
+Configuration for NearlyFreeSpeech.NET .
+
+Code: nearlyfreespeech
+Since: v4.8.0
+
+Here is an example bash command using the NearlyFreeSpeech.NET provider:
+NEARLYFREESPEECH_API_KEY = xxxxxx \
+ NEARLYFREESPEECH_LOGIN = xxxx \
+ lego --email you@example.com --dns nearlyfreespeech -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NEARLYFREESPEECH_API_KEY
+API Key for API requests
+
+
+NEARLYFREESPEECH_LOGIN
+Username for API requests
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NEARLYFREESPEECH_HTTP_TIMEOUT
+API request timeout
+
+
+NEARLYFREESPEECH_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NEARLYFREESPEECH_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NEARLYFREESPEECH_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+NEARLYFREESPEECH_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/netcup/index.html b/dns/netcup/index.html
new file mode 100644
index 0000000000..b39b10b007
--- /dev/null
+++ b/dns/netcup/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Netcup :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Netcup
+
+
+
+
+Configuration for Netcup .
+
+Code: netcup
+Since: v1.1.0
+
+Here is an example bash command using the Netcup provider:
+NETCUP_CUSTOMER_NUMBER = xxxx \
+ NETCUP_API_KEY = yyyy \
+ NETCUP_API_PASSWORD = zzzz \
+ lego --email you@example.com --dns netcup -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NETCUP_API_KEY
+API key
+
+
+NETCUP_API_PASSWORD
+API password
+
+
+NETCUP_CUSTOMER_NUMBER
+Customer number
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NETCUP_HTTP_TIMEOUT
+API request timeout
+
+
+NETCUP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NETCUP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NETCUP_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/netlify/index.html b/dns/netlify/index.html
new file mode 100644
index 0000000000..f44705434d
--- /dev/null
+++ b/dns/netlify/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Netlify :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Netlify
+
+
+
+
+Configuration for Netlify .
+
+Code: netlify
+Since: v3.7.0
+
+Here is an example bash command using the Netlify provider:
+NETLIFY_TOKEN = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns netlify -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NETLIFY_TOKEN
+Token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NETLIFY_HTTP_TIMEOUT
+API request timeout
+
+
+NETLIFY_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NETLIFY_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NETLIFY_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/nicmanager/index.html b/dns/nicmanager/index.html
new file mode 100644
index 0000000000..811472bde1
--- /dev/null
+++ b/dns/nicmanager/index.html
@@ -0,0 +1,473 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nicmanager :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nicmanager
+
+
+
+
+Configuration for Nicmanager .
+
+Code: nicmanager
+Since: v4.5.0
+
+Here is an example bash command using the Nicmanager provider:
+## Login using email
+
+ NICMANAGER_API_EMAIL = "you@example.com" \
+ NICMANAGER_API_PASSWORD = "password" \
+
+# Optionally, if your account has TOTP enabled, set the secret here
+NICMANAGER_API_OTP = "long-secret" \
+
+lego --email you@example.com --dns nicmanager -d '*.example.com' -d example.com run
+
+ ## Login using account name + username
+
+ NICMANAGER_API_LOGIN = "myaccount" \
+ NICMANAGER_API_USERNAME = "myuser" \
+ NICMANAGER_API_PASSWORD = "password" \
+
+# Optionally, if your account has TOTP enabled, set the secret here
+NICMANAGER_API_OTP = "long-secret" \
+
+lego --email you@example.com --dns nicmanager -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NICMANAGER_API_EMAIL
+Email-based login
+
+
+NICMANAGER_API_LOGIN
+Login, used for Username-based login
+
+
+NICMANAGER_API_PASSWORD
+Password, always required
+
+
+NICMANAGER_API_USERNAME
+Username, used for Username-based login
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NICMANAGER_API_MODE
+mode: ‘anycast’ or ‘zone’ (default: ‘anycast’)
+
+
+NICMANAGER_API_OTP
+TOTP Secret (optional)
+
+
+NICMANAGER_HTTP_TIMEOUT
+API request timeout
+
+
+NICMANAGER_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NICMANAGER_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NICMANAGER_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+You can log in using your account name + username or using your email address.
+Optionally if TOTP is configured for your account, set NICMANAGER_API_OTP
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/nifcloud/index.html b/dns/nifcloud/index.html
new file mode 100644
index 0000000000..4c06a00029
--- /dev/null
+++ b/dns/nifcloud/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NIFCloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+NIFCloud
+
+
+
+
+Configuration for NIFCloud .
+
+Code: nifcloud
+Since: v1.1.0
+
+Here is an example bash command using the NIFCloud provider:
+NIFCLOUD_ACCESS_KEY_ID = xxxx \
+ NIFCLOUD_SECRET_ACCESS_KEY = yyyy \
+ lego --email you@example.com --dns nifcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NIFCLOUD_ACCESS_KEY_ID
+Access key
+
+
+NIFCLOUD_SECRET_ACCESS_KEY
+Secret access key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NIFCLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+NIFCLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NIFCLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NIFCLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/njalla/index.html b/dns/njalla/index.html
new file mode 100644
index 0000000000..f11f441499
--- /dev/null
+++ b/dns/njalla/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Njalla :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Njalla
+
+
+
+
+Configuration for Njalla .
+
+Code: njalla
+Since: v4.3.0
+
+Here is an example bash command using the Njalla provider:
+NJALLA_TOKEN = xxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns njalla -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NJALLA_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NJALLA_HTTP_TIMEOUT
+API request timeout
+
+
+NJALLA_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NJALLA_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NJALLA_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/nodion/index.html b/dns/nodion/index.html
new file mode 100644
index 0000000000..9e4f12d4e1
--- /dev/null
+++ b/dns/nodion/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nodion :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nodion
+
+
+
+
+Configuration for Nodion .
+
+Code: nodion
+Since: v4.11.0
+
+Here is an example bash command using the Nodion provider:
+NODION_API_TOKEN = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns nodion -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NODION_API_TOKEN
+The API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NODION_HTTP_TIMEOUT
+API request timeout
+
+
+NODION_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NODION_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NODION_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/ns1/index.html b/dns/ns1/index.html
new file mode 100644
index 0000000000..82b51bd843
--- /dev/null
+++ b/dns/ns1/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NS1 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+NS1
+
+
+
+
+Configuration for NS1 .
+
+Code: ns1
+Since: v0.4.0
+
+Here is an example bash command using the NS1 provider:
+NS1_API_KEY = xxxx \
+ lego --email you@example.com --dns ns1 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NS1_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+NS1_HTTP_TIMEOUT
+API request timeout
+
+
+NS1_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+NS1_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+NS1_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/oraclecloud/index.html b/dns/oraclecloud/index.html
new file mode 100644
index 0000000000..005a67a21b
--- /dev/null
+++ b/dns/oraclecloud/index.html
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Oracle Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Oracle Cloud
+
+
+
+
+Configuration for Oracle Cloud .
+
+Code: oraclecloud
+Since: v2.3.0
+
+Here is an example bash command using the Oracle Cloud provider:
+OCI_PRIVKEY_FILE = "~/.oci/oci_api_key.pem" \
+ OCI_PRIVKEY_PASS = "secret" \
+ OCI_TENANCY_OCID = "ocid1.tenancy.oc1..secret" \
+ OCI_USER_OCID = "ocid1.user.oc1..secret" \
+ OCI_PUBKEY_FINGERPRINT = "00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00" \
+ OCI_REGION = "us-phoenix-1" \
+ OCI_COMPARTMENT_OCID = "ocid1.tenancy.oc1..secret" \
+ lego --email you@example.com --dns oraclecloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OCI_COMPARTMENT_OCID
+Compartment OCID
+
+
+OCI_PRIVKEY_FILE
+Private key file
+
+
+OCI_PRIVKEY_PASS
+Private key password
+
+
+OCI_PUBKEY_FINGERPRINT
+Public key fingerprint
+
+
+OCI_REGION
+Region
+
+
+OCI_TENANCY_OCID
+Tenancy OCID
+
+
+OCI_USER_OCID
+User OCID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OCI_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+OCI_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+OCI_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/otc/index.html b/dns/otc/index.html
new file mode 100644
index 0000000000..c9154ffe94
--- /dev/null
+++ b/dns/otc/index.html
@@ -0,0 +1,457 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Open Telekom Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Open Telekom Cloud
+
+
+
+
+Configuration for Open Telekom Cloud .
+
+Code: otc
+Since: v0.4.1
+
+
+
+
Note
+
+
+
Please contribute by adding a CLI example.
+
+
+Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OTC_DOMAIN_NAME
+Domain name
+
+
+OTC_IDENTITY_ENDPOINT
+Identity endpoint URL
+
+
+OTC_PASSWORD
+Password
+
+
+OTC_PROJECT_NAME
+Project name
+
+
+OTC_USER_NAME
+User name
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OTC_HTTP_TIMEOUT
+API request timeout
+
+
+OTC_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+OTC_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+OTC_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+OTC_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/ovh/index.html b/dns/ovh/index.html
new file mode 100644
index 0000000000..f58f8aeaba
--- /dev/null
+++ b/dns/ovh/index.html
@@ -0,0 +1,502 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OVH :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+OVH
+
+
+
+
+Configuration for OVH .
+
+Code: ovh
+Since: v0.4.0
+
+Here is an example bash command using the OVH provider:
+# Application Key authentication:
+
+ OVH_APPLICATION_KEY = 1234567898765432 \
+ OVH_APPLICATION_SECRET = b9841238feb177a84330febba8a832089 \
+ OVH_CONSUMER_KEY = 256vfsd347245sdfg \
+ OVH_ENDPOINT = ovh-eu \
+ lego --email you@example.com --dns ovh -d '*.example.com' -d example.com run
+
+ # Or Access Token:
+
+ OVH_ACCESS_TOKEN = xxx \
+ OVH_ENDPOINT = ovh-eu \
+ lego --email you@example.com --dns ovh -d '*.example.com' -d example.com run
+
+ # Or OAuth2:
+
+ OVH_CLIENT_ID = yyy \
+ OVH_CLIENT_SECRET = xxx \
+ OVH_ENDPOINT = ovh-eu \
+ lego --email you@example.com --dns ovh -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OVH_ACCESS_TOKEN
+Access token
+
+
+OVH_APPLICATION_KEY
+Application key (Application Key authentication)
+
+
+OVH_APPLICATION_SECRET
+Application secret (Application Key authentication)
+
+
+OVH_CLIENT_ID
+Client ID (OAuth2)
+
+
+OVH_CLIENT_SECRET
+Client secret (OAuth2)
+
+
+OVH_CONSUMER_KEY
+Consumer key (Application Key authentication)
+
+
+OVH_ENDPOINT
+Endpoint URL (ovh-eu or ovh-ca)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+OVH_HTTP_TIMEOUT
+API request timeout
+
+
+OVH_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+OVH_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+OVH_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Application Key and Secret
+Application key and secret can be created by following the OVH guide .
+When requesting the consumer key, the following configuration can be used to define access rights:
+{
+ "accessRules" : [
+ {
+ "method" : "POST" ,
+ "path" : "/domain/zone/*"
+ },
+ {
+ "method" : "DELETE" ,
+ "path" : "/domain/zone/*"
+ }
+ ]
+ }
OAuth2 Client Credentials
+Another method for authentication is by using OAuth2 client credentials.
+An IAM policy and service account can be created by following the OVH guide .
+Following IAM policies need to be authorized for the affected domain:
+
+dnsZone:apiovh:record/create
+dnsZone:apiovh:record/delete
+dnsZone:apiovh:refresh
+
+Important Note
+Both authentication methods cannot be used at the same time.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/pdns/index.html b/dns/pdns/index.html
new file mode 100644
index 0000000000..3e4c11945a
--- /dev/null
+++ b/dns/pdns/index.html
@@ -0,0 +1,453 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PowerDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+PowerDNS
+
+
+
+
+Configuration for PowerDNS .
+
+Code: pdns
+Since: v0.4.0
+
+Here is an example bash command using the PowerDNS provider:
+PDNS_API_URL = http://pdns-server:80/ \
+ PDNS_API_KEY = xxxx \
+ lego --email you@example.com --dns pdns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+PDNS_API_KEY
+API key
+
+
+PDNS_API_URL
+API URL
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+PDNS_API_VERSION
+Skip API version autodetection and use the provided version number.
+
+
+PDNS_HTTP_TIMEOUT
+API request timeout
+
+
+PDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+PDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+PDNS_SERVER_NAME
+Name of the server in the URL, ’localhost’ by default
+
+
+PDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+Tested and confirmed to work with PowerDNS authoritative server 3.4.8 and 4.0.1. Refer to PowerDNS documentation instructions on how to enable the built-in API interface.
+PowerDNS Notes:
+
+PowerDNS API does not currently support SSL, therefore you should take care to ensure that traffic between lego and the PowerDNS API is over a trusted network, VPN etc.
+In order to have the SOA serial automatically increment each time the _acme-challenge
record is added/modified via the API, set SOA-EDIT-API
to INCEPTION-INCREMENT
for the zone in the domainmetadata
table
+Some PowerDNS servers doesn’t have root API endpoints enabled and API version autodetection will not work. In that case version number can be defined using PDNS_API_VERSION
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/plesk/index.html b/dns/plesk/index.html
new file mode 100644
index 0000000000..f7b186bced
--- /dev/null
+++ b/dns/plesk/index.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ plesk.com :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+plesk.com
+
+
+
+
+Configuration for plesk.com .
+
+Code: plesk
+Since: v4.11.0
+
+Here is an example bash command using the plesk.com provider:
+PLESK_SERVER_BASE_URL = "https://plesk.myserver.com:8443" \
+ PLESK_USERNAME = xxxxxx \
+ PLESK_PASSWORD = yyyyyy \
+ lego --email you@example.com --dns plesk -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+PLESK_PASSWORD
+API password
+
+
+PLESK_SERVER_BASE_URL
+Base URL of the server (ex: https://plesk.myserver.com:8443 )
+
+
+PLESK_USERNAME
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+PLESK_HTTP_TIMEOUT
+API request timeout
+
+
+PLESK_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+PLESK_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+PLESK_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/porkbun/index.html b/dns/porkbun/index.html
new file mode 100644
index 0000000000..1f34d693f3
--- /dev/null
+++ b/dns/porkbun/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Porkbun :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Porkbun
+
+
+
+
+Configuration for Porkbun .
+
+Code: porkbun
+Since: v4.4.0
+
+Here is an example bash command using the Porkbun provider:
+PORKBUN_SECRET_API_KEY = xxxxxx \
+ PORKBUN_API_KEY = yyyyyy \
+ lego --email you@example.com --dns porkbun -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+PORKBUN_API_KEY
+API key
+
+
+PORKBUN_SECRET_API_KEY
+secret API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+PORKBUN_HTTP_TIMEOUT
+API request timeout
+
+
+PORKBUN_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+PORKBUN_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+PORKBUN_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/rackspace/index.html b/dns/rackspace/index.html
new file mode 100644
index 0000000000..85a0931d07
--- /dev/null
+++ b/dns/rackspace/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rackspace :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Rackspace
+
+
+
+
+Configuration for Rackspace .
+
+Code: rackspace
+Since: v0.4.0
+
+Here is an example bash command using the Rackspace provider:
+RACKSPACE_USER = xxxx \
+ RACKSPACE_API_KEY = yyyy \
+ lego --email you@example.com --dns rackspace -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RACKSPACE_API_KEY
+API key
+
+
+RACKSPACE_USER
+API user
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RACKSPACE_HTTP_TIMEOUT
+API request timeout
+
+
+RACKSPACE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+RACKSPACE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+RACKSPACE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/rcodezero/index.html b/dns/rcodezero/index.html
new file mode 100644
index 0000000000..8923d8f611
--- /dev/null
+++ b/dns/rcodezero/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RcodeZero :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RcodeZero
+
+
+
+
+Configuration for RcodeZero .
+
+Code: rcodezero
+Since: v4.13
+
+Here is an example bash command using the RcodeZero provider:
+RCODEZERO_API_TOKEN = <mytoken> \
+ lego --email you@example.com --dns rcodezero -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RCODEZERO_API_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RCODEZERO_HTTP_TIMEOUT
+API request timeout
+
+
+RCODEZERO_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+RCODEZERO_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+RCODEZERO_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+Generate your API Token via https://my.rcodezero.at with the ACME
permissions.
+These are special tokens with limited access for ACME requests only.
+RcodeZero is an Anycast Network so the distribution of the DNS01-Challenge can take up to 2 minutes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/regfish/index.html b/dns/regfish/index.html
new file mode 100644
index 0000000000..3776c2f1e9
--- /dev/null
+++ b/dns/regfish/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Regfish :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Regfish
+
+
+
+
+Configuration for Regfish .
+
+Code: regfish
+Since: v4.20.0
+
+Here is an example bash command using the Regfish provider:
+REGFISH_API_KEY = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns regfish -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+REGFISH_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+REGFISH_HTTP_TIMEOUT
+API request timeout
+
+
+REGFISH_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+REGFISH_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+REGFISH_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/regru/index.html b/dns/regru/index.html
new file mode 100644
index 0000000000..4eb4b5735a
--- /dev/null
+++ b/dns/regru/index.html
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ reg.ru :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+reg.ru
+
+
+
+
+Configuration for reg.ru .
+
+Code: regru
+Since: v3.5.0
+
+Here is an example bash command using the reg.ru provider:
+REGRU_USERNAME = xxxxxx \
+ REGRU_PASSWORD = yyyyyy \
+ lego --email you@example.com --dns regru -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+REGRU_PASSWORD
+API password
+
+
+REGRU_USERNAME
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+REGRU_HTTP_TIMEOUT
+API request timeout
+
+
+REGRU_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+REGRU_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+REGRU_TLS_CERT
+authentication certificate
+
+
+REGRU_TLS_KEY
+authentication private key
+
+
+REGRU_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/rfc2136/index.html b/dns/rfc2136/index.html
new file mode 100644
index 0000000000..8221f3ad37
--- /dev/null
+++ b/dns/rfc2136/index.html
@@ -0,0 +1,462 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RFC2136 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RFC2136
+
+
+
+
+Configuration for RFC2136 .
+
+Code: rfc2136
+Since: v0.3.0
+
+Here is an example bash command using the RFC2136 provider:
+RFC2136_NAMESERVER = 127.0.0.1 \
+ RFC2136_TSIG_KEY = example.com \
+ RFC2136_TSIG_ALGORITHM = hmac-sha256. \
+ RFC2136_TSIG_SECRET = YWJjZGVmZGdoaWprbG1ub3BxcnN0dXZ3eHl6MTIzNDU = \
+ lego --email you@example.com --dns rfc2136 -d '*.example.com' -d example.com run
+
+ ## ---
+
+ keyname = example.com; keyfile = example.com.key; tsig-keygen $keyname > $keyfile
+
+ RFC2136_NAMESERVER = 127.0.0.1 \
+ RFC2136_TSIG_FILE = " $keyfile " \
+ lego --email you@example.com --dns rfc2136 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RFC2136_NAMESERVER
+Network address in the form “host” or “host:port”
+
+
+RFC2136_TSIG_ALGORITHM
+TSIG algorithm. See miekg/dns#tsig.go for supported values. To disable TSIG authentication, leave the RFC2136_TSIG_KEY
or RFC2136_TSIG_SECRET
variables unset.
+
+
+RFC2136_TSIG_KEY
+Name of the secret key as defined in DNS server configuration. To disable TSIG authentication, leave the RFC2136_TSIG_KEY
variable unset.
+
+
+RFC2136_TSIG_SECRET
+Secret key payload. To disable TSIG authentication, leave the RFC2136_TSIG_SECRET
variable unset.
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RFC2136_DNS_TIMEOUT
+API request timeout
+
+
+RFC2136_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+RFC2136_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+RFC2136_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+RFC2136_TSIG_FILE
+Path to a key file generated by tsig-keygen
+
+
+RFC2136_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/rimuhosting/index.html b/dns/rimuhosting/index.html
new file mode 100644
index 0000000000..d98a8a7db3
--- /dev/null
+++ b/dns/rimuhosting/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RimuHosting :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RimuHosting
+
+
+
+
+Configuration for RimuHosting .
+
+Code: rimuhosting
+Since: v0.3.5
+
+Here is an example bash command using the RimuHosting provider:
+RIMUHOSTING_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns rimuhosting -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RIMUHOSTING_API_KEY
+User API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+RIMUHOSTING_HTTP_TIMEOUT
+API request timeout
+
+
+RIMUHOSTING_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+RIMUHOSTING_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+RIMUHOSTING_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/route53/index.html b/dns/route53/index.html
new file mode 100644
index 0000000000..7d3c872beb
--- /dev/null
+++ b/dns/route53/index.html
@@ -0,0 +1,570 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Amazon Route 53 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Amazon Route 53
+
+
+
+
+Configuration for Amazon Route 53 .
+
+Code: route53
+Since: v0.3.0
+
+Here is an example bash command using the Amazon Route 53 provider:
+AWS_ACCESS_KEY_ID = your_key_id \
+ AWS_SECRET_ACCESS_KEY = your_secret_access_key \
+ AWS_REGION = aws-region \
+ AWS_HOSTED_ZONE_ID = your_hosted_zone_id \
+ lego --email you@example.com --dns route53 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AWS_ACCESS_KEY_ID
+Managed by the AWS client. Access key ID (AWS_ACCESS_KEY_ID_FILE
is not supported, use AWS_SHARED_CREDENTIALS_FILE
instead)
+
+
+AWS_ASSUME_ROLE_ARN
+Managed by the AWS Role ARN (AWS_ASSUME_ROLE_ARN_FILE
is not supported)
+
+
+AWS_EXTERNAL_ID
+Managed by STS AssumeRole API operation (AWS_EXTERNAL_ID_FILE
is not supported)
+
+
+AWS_HOSTED_ZONE_ID
+Override the hosted zone ID.
+
+
+AWS_PROFILE
+Managed by the AWS client (AWS_PROFILE_FILE
is not supported)
+
+
+AWS_REGION
+Managed by the AWS client (AWS_REGION_FILE
is not supported)
+
+
+AWS_SDK_LOAD_CONFIG
+Managed by the AWS client. Retrieve the region from the CLI config file (AWS_SDK_LOAD_CONFIG_FILE
is not supported)
+
+
+AWS_SECRET_ACCESS_KEY
+Managed by the AWS client. Secret access key (AWS_SECRET_ACCESS_KEY_FILE
is not supported, use AWS_SHARED_CREDENTIALS_FILE
instead)
+
+
+AWS_WAIT_FOR_RECORD_SETS_CHANGED
+Wait for changes to be INSYNC (it can be unstable)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+AWS_MAX_RETRIES
+The number of maximum returns the service will use to make an individual API request
+
+
+AWS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+AWS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+AWS_SHARED_CREDENTIALS_FILE
+Managed by the AWS client. Shared credentials file.
+
+
+AWS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Description
+AWS Credentials are automatically detected in the following locations and prioritized in the following order:
+
+Environment variables: AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, [AWS_SESSION_TOKEN
]
+Shared credentials file (defaults to ~/.aws/credentials
, profiles can be specified using AWS_PROFILE
)
+Amazon EC2 IAM role
+
+The AWS Region is automatically detected in the following locations and prioritized in the following order:
+
+Environment variables: AWS_REGION
+Shared configuration file if AWS_SDK_LOAD_CONFIG
is set (defaults to ~/.aws/config
, profiles can be specified using AWS_PROFILE
)
+
+If AWS_HOSTED_ZONE_ID
is not set, Lego tries to determine the correct public hosted zone via the FQDN.
+See also:
+
+IAM Policy Examples
+Broad privileges for testing purposes
+The following IAM policy document grants access to the required APIs needed by lego to complete the DNS challenge.
+A word of caution:
+These permissions grant write access to any DNS record in any hosted zone,
+so it is recommended to narrow them down as much as possible if you are using this policy in production.
+{
+ "Version" : "2012-10-17" ,
+ "Statement" : [
+ {
+ "Effect" : "Allow" ,
+ "Action" : [
+ "route53:GetChange" ,
+ "route53:ChangeResourceRecordSets" ,
+ "route53:ListResourceRecordSets"
+ ],
+ "Resource" : [
+ "arn:aws:route53:::hostedzone/*" ,
+ "arn:aws:route53:::change/*"
+ ]
+ },
+ {
+ "Effect" : "Allow" ,
+ "Action" : "route53:ListHostedZonesByName" ,
+ "Resource" : "*"
+ }
+ ]
+ }
Least privilege policy for production purposes
+The following AWS IAM policy document describes the least privilege permissions required for lego to complete the DNS challenge.
+Write access is limited to a specified hosted zone’s DNS TXT records with a key of _acme-challenge.example.com
.
+Replace Z11111112222222333333
with your hosted zone ID and example.com
with your domain name to use this policy.
+{
+ "Version" : "2012-10-17" ,
+ "Statement" : [
+ {
+ "Effect" : "Allow" ,
+ "Action" : "route53:GetChange" ,
+ "Resource" : "arn:aws:route53:::change/*"
+ },
+ {
+ "Effect" : "Allow" ,
+ "Action" : "route53:ListHostedZonesByName" ,
+ "Resource" : "*"
+ },
+ {
+ "Effect" : "Allow" ,
+ "Action" : [
+ "route53:ListResourceRecordSets"
+ ],
+ "Resource" : [
+ "arn:aws:route53:::hostedzone/Z11111112222222333333"
+ ]
+ },
+ {
+ "Effect" : "Allow" ,
+ "Action" : [
+ "route53:ChangeResourceRecordSets"
+ ],
+ "Resource" : [
+ "arn:aws:route53:::hostedzone/Z11111112222222333333"
+ ],
+ "Condition" : {
+ "ForAllValues:StringEquals" : {
+ "route53:ChangeResourceRecordSetsNormalizedRecordNames" : [
+ "_acme-challenge.example.com"
+ ],
+ "route53:ChangeResourceRecordSetsRecordTypes" : [
+ "TXT"
+ ]
+ }
+ }
+ }
+ ]
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/safedns/index.html b/dns/safedns/index.html
new file mode 100644
index 0000000000..d61f1bb096
--- /dev/null
+++ b/dns/safedns/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UKFast SafeDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+UKFast SafeDNS
+
+
+
+
+Configuration for UKFast SafeDNS .
+
+Code: safedns
+Since: v4.6.0
+
+Here is an example bash command using the UKFast SafeDNS provider:
+SAFEDNS_AUTH_TOKEN = xxxxxx \
+ lego --email you@example.com --dns safedns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SAFEDNS_AUTH_TOKEN
+Authentication token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SAFEDNS_HTTP_TIMEOUT
+API request timeout
+
+
+SAFEDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SAFEDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SAFEDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/sakuracloud/index.html b/dns/sakuracloud/index.html
new file mode 100644
index 0000000000..05dc1c12d6
--- /dev/null
+++ b/dns/sakuracloud/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sakura Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sakura Cloud
+
+
+
+
+Configuration for Sakura Cloud .
+
+Code: sakuracloud
+Since: v1.1.0
+
+Here is an example bash command using the Sakura Cloud provider:
+SAKURACLOUD_ACCESS_TOKEN = xxxxx \
+ SAKURACLOUD_ACCESS_TOKEN_SECRET = yyyyy \
+ lego --email you@example.com --dns sakuracloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SAKURACLOUD_ACCESS_TOKEN
+Access token
+
+
+SAKURACLOUD_ACCESS_TOKEN_SECRET
+Access token secret
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SAKURACLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+SAKURACLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SAKURACLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SAKURACLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/scaleway/index.html b/dns/scaleway/index.html
new file mode 100644
index 0000000000..821f12296b
--- /dev/null
+++ b/dns/scaleway/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Scaleway :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Scaleway
+
+
+
+
+Configuration for Scaleway .
+
+Code: scaleway
+Since: v3.4.0
+
+Here is an example bash command using the Scaleway provider:
+SCW_SECRET_KEY = xxxxxxx-xxxxx-xxxx-xxx-xxxxxx \
+ lego --email you@example.com --dns scaleway -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SCW_PROJECT_ID
+Project to use (optional)
+
+
+SCW_SECRET_KEY
+Secret key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SCW_ACCESS_KEY
+Access key
+
+
+SCW_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SCW_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SCW_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/selectel/index.html b/dns/selectel/index.html
new file mode 100644
index 0000000000..f21354d637
--- /dev/null
+++ b/dns/selectel/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Selectel :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Selectel
+
+
+
+
+Configuration for Selectel .
+
+Code: selectel
+Since: v1.2.0
+
+Here is an example bash command using the Selectel provider:
+SELECTEL_API_TOKEN = xxxxx \
+ lego --email you@example.com --dns selectel -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SELECTEL_API_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SELECTEL_BASE_URL
+API endpoint URL
+
+
+SELECTEL_HTTP_TIMEOUT
+API request timeout
+
+
+SELECTEL_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SELECTEL_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SELECTEL_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/selectelv2/index.html b/dns/selectelv2/index.html
new file mode 100644
index 0000000000..bce12cb6f0
--- /dev/null
+++ b/dns/selectelv2/index.html
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Selectel v2 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Selectel v2
+
+
+
+
+Configuration for Selectel v2 .
+
+Code: selectelv2
+Since: v4.17.0
+
+Here is an example bash command using the Selectel v2 provider:
+SELECTELV2_USERNAME = trex \
+ SELECTELV2_PASSWORD = xxxxx \
+ SELECTELV2_ACCOUNT_ID = 1234567 \
+ SELECTELV2_PROJECT_ID = 111a11111aaa11aa1a11aaa11111aa1a \
+ lego --email you@example.com --dns selectelv2 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SELECTELV2_ACCOUNT_ID
+Selectel account ID (INT)
+
+
+SELECTELV2_PASSWORD
+Openstack username’s password
+
+
+SELECTELV2_PROJECT_ID
+Cloud project ID (UUID)
+
+
+SELECTELV2_USERNAME
+Openstack username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SELECTELV2_BASE_URL
+API endpoint URL
+
+
+SELECTELV2_HTTP_TIMEOUT
+API request timeout
+
+
+SELECTELV2_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SELECTELV2_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SELECTELV2_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/selfhostde/index.html b/dns/selfhostde/index.html
new file mode 100644
index 0000000000..6a63f03d58
--- /dev/null
+++ b/dns/selfhostde/index.html
@@ -0,0 +1,455 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SelfHost.(de|eu) :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SelfHost.(de|eu)
+
+
+
+
+Configuration for SelfHost.(de|eu) .
+
+Code: selfhostde
+Since: v4.19.0
+
+Here is an example bash command using the SelfHost.(de|eu) provider:
+SELFHOSTDE_USERNAME = xxx \
+ SELFHOSTDE_PASSWORD = yyy \
+ SELFHOSTDE_RECORDS_MAPPING = my.example.com:123 \
+ lego --email you@example.com --dns selfhostde -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SELFHOSTDE_PASSWORD
+Password
+
+
+SELFHOSTDE_RECORDS_MAPPING
+Record IDs mapping with domains (ex: example.com:123:456,example.org:789,foo.example.com:147)
+
+
+SELFHOSTDE_USERNAME
+Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SELFHOSTDE_HTTP_TIMEOUT
+API request timeout
+
+
+SELFHOSTDE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SELFHOSTDE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SELFHOSTDE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+SelfHost.de doesn’t have an API to create or delete TXT records,
+there is only an “unofficial” and undocumented endpoint to update an existing TXT record.
+So, before using lego to request a certificate for a given domain or wildcard (such as my.example.org
or *.my.example.org
),
+you must create:
+
+one TXT record named _acme-challenge.my.example.org
if you are not using wildcard for this domain.
+two TXT records named _acme-challenge.my.example.org
if you are using wildcard for this domain.
+
+After that you must edit the TXT record(s) to get the ID(s).
+You then must prepare the SELFHOSTDE_RECORDS_MAPPING
environment variable with the following format:
+<domain_A>:<record_id_A1>:<record_id_A2>,<domain_B>:<record_id_B1>:<record_id_B2>,<domain_C>:<record_id_C1>:<record_id_C2>
where each group of domain + record ID(s) is separated with a comma (,
),
+and the domain and record ID(s) are separated with a colon (:
).
+For example, if you want to create or renew a certificate for my.example.org
, *.my.example.org
, and other.example.org
,
+you would need:
+
+two separate records for _acme-challenge.my.example.org
+and another separate record for _acme-challenge.other.example.org
+
+The resulting environment variable would then be: SELFHOSTDE_RECORDS_MAPPING=my.example.com:123:456,other.example.com:789
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/servercow/index.html b/dns/servercow/index.html
new file mode 100644
index 0000000000..f57dd38c4e
--- /dev/null
+++ b/dns/servercow/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Servercow :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Servercow
+
+
+
+
+Configuration for Servercow .
+
+Code: servercow
+Since: v3.4.0
+
+Here is an example bash command using the Servercow provider:
+SERVERCOW_USERNAME = xxxxxxxx \
+ SERVERCOW_PASSWORD = xxxxxxxx \
+ lego --email you@example.com --dns servercow -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SERVERCOW_PASSWORD
+API password
+
+
+SERVERCOW_USERNAME
+API username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SERVERCOW_HTTP_TIMEOUT
+API request timeout
+
+
+SERVERCOW_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SERVERCOW_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SERVERCOW_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/shellrent/index.html b/dns/shellrent/index.html
new file mode 100644
index 0000000000..bbc0b2bd45
--- /dev/null
+++ b/dns/shellrent/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Shellrent :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Shellrent
+
+
+
+
+Configuration for Shellrent .
+
+Code: shellrent
+Since: v4.16.0
+
+Here is an example bash command using the Shellrent provider:
+SHELLRENT_USERNAME = xxxx \
+ SHELLRENT_TOKEN = yyyy \
+ lego --email you@example.com --dns shellrent -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SHELLRENT_TOKEN
+Token
+
+
+SHELLRENT_USERNAME
+Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SHELLRENT_HTTP_TIMEOUT
+API request timeout
+
+
+SHELLRENT_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SHELLRENT_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SHELLRENT_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/simply/index.html b/dns/simply/index.html
new file mode 100644
index 0000000000..a62774c0e6
--- /dev/null
+++ b/dns/simply/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Simply.com :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Simply.com
+
+
+
+
+Configuration for Simply.com .
+
+Code: simply
+Since: v4.4.0
+
+Here is an example bash command using the Simply.com provider:
+SIMPLY_ACCOUNT_NAME = xxxxxx \
+ SIMPLY_API_KEY = yyyyyy \
+ lego --email you@example.com --dns simply -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SIMPLY_ACCOUNT_NAME
+Account name
+
+
+SIMPLY_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SIMPLY_HTTP_TIMEOUT
+API request timeout
+
+
+SIMPLY_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SIMPLY_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SIMPLY_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/sonic/index.html b/dns/sonic/index.html
new file mode 100644
index 0000000000..32a9ce1b23
--- /dev/null
+++ b/dns/sonic/index.html
@@ -0,0 +1,448 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sonic :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sonic
+
+
+
+
+Configuration for Sonic .
+
+Code: sonic
+Since: v4.4.0
+
+Here is an example bash command using the Sonic provider:
+SONIC_USER_ID = 12345 \
+ SONIC_API_KEY = 4d6fbf2f9ab0fa11697470918d37625851fc0c51 \
+ lego --email you@example.com --dns sonic -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SONIC_API_KEY
+API Key
+
+
+SONIC_USER_ID
+User ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SONIC_HTTP_TIMEOUT
+API request timeout
+
+
+SONIC_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+SONIC_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+SONIC_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+SONIC_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+API keys
+The API keys must be generated by calling the dyndns/api_key
endpoint.
+Example:
+$ curl -X POST -H "Content-Type: application/json" --data '{"username":"notarealuser","password":"notarealpassword","hostname":"example.com"}' https://public-api.sonic.net/dyndns/api_key
+ { "userid" :"12345" ,"apikey" :"4d6fbf2f9ab0fa11697470918d37625851fc0c51" ,"result" :200,"message" :"OK" }
See https://public-api.sonic.net/dyndns/#requesting_an_api_key for additional details.
+This userid
and apikey
combo allow modifications to any DNS entries connected to the managed domain (hostname).
+Hostname should be the toplevel domain managed e.g. example.com
not www.example.com
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/stackpath/index.html b/dns/stackpath/index.html
new file mode 100644
index 0000000000..e875c96337
--- /dev/null
+++ b/dns/stackpath/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stackpath :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Stackpath
+
+
+
+
+Configuration for Stackpath .
+
+Code: stackpath
+Since: v1.1.0
+
+Here is an example bash command using the Stackpath provider:
+STACKPATH_CLIENT_ID = xxxxx \
+ STACKPATH_CLIENT_SECRET = yyyyy \
+ STACKPATH_STACK_ID = zzzzz \
+ lego --email you@example.com --dns stackpath -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+STACKPATH_CLIENT_ID
+Client ID
+
+
+STACKPATH_CLIENT_SECRET
+Client secret
+
+
+STACKPATH_STACK_ID
+Stack ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+STACKPATH_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+STACKPATH_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+STACKPATH_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/technitium/index.html b/dns/technitium/index.html
new file mode 100644
index 0000000000..61d5b319d9
--- /dev/null
+++ b/dns/technitium/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Technitium :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Technitium
+
+
+
+
+Configuration for Technitium .
+
+Code: technitium
+Since: v4.20.0
+
+Here is an example bash command using the Technitium provider:
+TECHNITIUM_SERVER_BASE_URL = "https://localhost:5380" \
+ TECHNITIUM_API_TOKEN = "xxxxxxxxxxxxxxxxxxxxx" \
+ lego --email you@example.com --dns technitium -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TECHNITIUM_API_TOKEN
+API token
+
+
+TECHNITIUM_SERVER_BASE_URL
+Server base URL
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TECHNITIUM_HTTP_TIMEOUT
+API request timeout
+
+
+TECHNITIUM_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+TECHNITIUM_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+TECHNITIUM_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Technitium DNS Server supports Dynamic Updates (RFC2136) for primary zones,
+so you can also use the RFC2136 provider .
+RFC2136 provider is much better compared to the HTTP API option from security perspective.
+Technitium recommends to use it in production over the HTTP API.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/tencentcloud/index.html b/dns/tencentcloud/index.html
new file mode 100644
index 0000000000..46d762ea80
--- /dev/null
+++ b/dns/tencentcloud/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tencent Cloud DNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Tencent Cloud DNS
+
+
+
+
+Configuration for Tencent Cloud DNS .
+
+Code: tencentcloud
+Since: v4.6.0
+
+Here is an example bash command using the Tencent Cloud DNS provider:
+TENCENTCLOUD_SECRET_ID = abcdefghijklmnopqrstuvwx \
+ TENCENTCLOUD_SECRET_KEY = your-secret-key \
+ lego --email you@example.com --dns tencentcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TENCENTCLOUD_SECRET_ID
+Access key ID
+
+
+TENCENTCLOUD_SECRET_KEY
+Access Key secret
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TENCENTCLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+TENCENTCLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+TENCENTCLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+TENCENTCLOUD_REGION
+Region
+
+
+TENCENTCLOUD_SESSION_TOKEN
+Access Key token
+
+
+TENCENTCLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/timewebcloud/index.html b/dns/timewebcloud/index.html
new file mode 100644
index 0000000000..e3d4c2f7ef
--- /dev/null
+++ b/dns/timewebcloud/index.html
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Timeweb Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Timeweb Cloud
+
+
+
+
+Configuration for Timeweb Cloud .
+
+Code: timewebcloud
+Since: v4.20.0
+
+Here is an example bash command using the Timeweb Cloud provider:
+TIMEWEBCLOUD_AUTH_TOKEN = xxxxxx \
+ lego --email you@example.com --dns timewebcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TIMEWEBCLOUD_AUTH_TOKEN
+Authentication token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TIMEWEBCLOUD_HTTP_TIMEOUT
+API request timeout
+
+
+TIMEWEBCLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+TIMEWEBCLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/transip/index.html b/dns/transip/index.html
new file mode 100644
index 0000000000..08429da4b1
--- /dev/null
+++ b/dns/transip/index.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TransIP :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+TransIP
+
+
+
+
+Configuration for TransIP .
+
+Code: transip
+Since: v2.0.0
+
+Here is an example bash command using the TransIP provider:
+TRANSIP_ACCOUNT_NAME = "Account name" \
+ TRANSIP_PRIVATE_KEY_PATH = "transip.key" \
+ lego --email you@example.com --dns transip -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TRANSIP_ACCOUNT_NAME
+Account name
+
+
+TRANSIP_PRIVATE_KEY_PATH
+Private key path
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+TRANSIP_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+TRANSIP_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+TRANSIP_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/ultradns/index.html b/dns/ultradns/index.html
new file mode 100644
index 0000000000..7dcb5ee4cc
--- /dev/null
+++ b/dns/ultradns/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ultradns :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ultradns
+
+
+
+
+Configuration for Ultradns .
+
+Code: ultradns
+Since: v4.10.0
+
+Here is an example bash command using the Ultradns provider:
+ULTRADNS_USERNAME = username \
+ ULTRADNS_PASSWORD = password \
+ lego --email you@example.com --dns ultradns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ULTRADNS_PASSWORD
+API Password
+
+
+ULTRADNS_USERNAME
+API Username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ULTRADNS_ENDPOINT
+API endpoint URL, defaults to https://api.ultradns.com/
+
+
+ULTRADNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+ULTRADNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+ULTRADNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/variomedia/index.html b/dns/variomedia/index.html
new file mode 100644
index 0000000000..8d4a65f76d
--- /dev/null
+++ b/dns/variomedia/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Variomedia :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Configuration for Variomedia .
+
+Code: variomedia
+Since: v4.8.0
+
+Here is an example bash command using the Variomedia provider:
+VARIOMEDIA_API_TOKEN = xxxx \
+ lego --email you@example.com --dns variomedia -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VARIOMEDIA_API_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VARIOMEDIA_HTTP_TIMEOUT
+API request timeout
+
+
+VARIOMEDIA_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VARIOMEDIA_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VARIOMEDIA_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+VARIOMEDIA_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/vegadns/index.html b/dns/vegadns/index.html
new file mode 100644
index 0000000000..6a10c92fac
--- /dev/null
+++ b/dns/vegadns/index.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VegaDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VegaDNS
+
+
+
+
+Configuration for VegaDNS .
+
+Code: vegadns
+Since: v1.1.0
+
+
+
+
Note
+
+
+
Please contribute by adding a CLI example.
+
+
+Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+SECRET_VEGADNS_KEY
+API key
+
+
+SECRET_VEGADNS_SECRET
+API secret
+
+
+VEGADNS_URL
+API endpoint URL
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VEGADNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VEGADNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VEGADNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/vercel/index.html b/dns/vercel/index.html
new file mode 100644
index 0000000000..12d2672e3b
--- /dev/null
+++ b/dns/vercel/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vercel :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vercel
+
+
+
+
+Configuration for Vercel .
+
+Code: vercel
+Since: v4.7.0
+
+Here is an example bash command using the Vercel provider:
+VERCEL_API_TOKEN = xxxxxx \
+ lego --email you@example.com --dns vercel -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VERCEL_API_TOKEN
+Authentication token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VERCEL_HTTP_TIMEOUT
+API request timeout
+
+
+VERCEL_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VERCEL_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VERCEL_TEAM_ID
+Team ID (ex: team_xxxxxxxxxxxxxxxxxxxxxxxx)
+
+
+VERCEL_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/versio/index.html b/dns/versio/index.html
new file mode 100644
index 0000000000..64a46e46ff
--- /dev/null
+++ b/dns/versio/index.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Versio.[nl|eu|uk] :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Versio.[nl|eu|uk]
+
+
+
+
+Configuration for Versio.[nl|eu|uk] .
+
+Code: versio
+Since: v2.7.0
+
+Here is an example bash command using the Versio.[nl|eu|uk] provider:
+VERSIO_USERNAME = <your login> \
+ VERSIO_PASSWORD = <your password> \
+ lego --email you@example.com --dns versio -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VERSIO_PASSWORD
+Basic authentication password
+
+
+VERSIO_USERNAME
+Basic authentication username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VERSIO_ENDPOINT
+The endpoint URL of the API Server
+
+
+VERSIO_HTTP_TIMEOUT
+API request timeout
+
+
+VERSIO_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VERSIO_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VERSIO_SEQUENCE_INTERVAL
+Time between sequential requests, default 60s
+
+
+VERSIO_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+To test with the sandbox environment set VERSIO_ENDPOINT=https://www.versio.nl/testapi/v1/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/vinyldns/index.html b/dns/vinyldns/index.html
new file mode 100644
index 0000000000..85a7e9f828
--- /dev/null
+++ b/dns/vinyldns/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VinylDNS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VinylDNS
+
+
+
+
+Configuration for VinylDNS .
+
+Code: vinyldns
+Since: v4.4.0
+
+Here is an example bash command using the VinylDNS provider:
+VINYLDNS_ACCESS_KEY = xxxxxx \
+ VINYLDNS_SECRET_KEY = yyyyy \
+ VINYLDNS_HOST = https://api.vinyldns.example.org:9443 \
+ lego --email you@example.com --dns vinyldns -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VINYLDNS_ACCESS_KEY
+The VinylDNS API key
+
+
+VINYLDNS_HOST
+The VinylDNS API URL
+
+
+VINYLDNS_SECRET_KEY
+The VinylDNS API Secret key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VINYLDNS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VINYLDNS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VINYLDNS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+The vinyldns integration makes use of dotted hostnames to ease permission management.
+Users are required to have DELETE ACL level or zone admin permissions on the VinylDNS zone containing the target host.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/vkcloud/index.html b/dns/vkcloud/index.html
new file mode 100644
index 0000000000..d57bc25fe2
--- /dev/null
+++ b/dns/vkcloud/index.html
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VK Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VK Cloud
+
+
+
+
+Configuration for VK Cloud .
+
+Code: vkcloud
+Since: v4.9.0
+
+Here is an example bash command using the VK Cloud provider:
+VK_CLOUD_PROJECT_ID = "<your_project_id>" \
+ VK_CLOUD_USERNAME = "<your_email>" \
+ VK_CLOUD_PASSWORD = "<your_password>" \
+ lego --email you@example.com --dns vkcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VK_CLOUD_PASSWORD
+Password for VK Cloud account
+
+
+VK_CLOUD_PROJECT_ID
+String ID of project in VK Cloud
+
+
+VK_CLOUD_USERNAME
+Email of VK Cloud account
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VK_CLOUD_DNS_ENDPOINT
+URL of DNS API. Defaults to https://mcs.mail.ru/public-dns but can be changed for usage with private clouds
+
+
+VK_CLOUD_DOMAIN_NAME
+Openstack users domain name. Defaults to users
but can be changed for usage with private clouds
+
+
+VK_CLOUD_IDENTITY_ENDPOINT
+URL of OpenStack Auth API, Defaults to https://infra.mail.ru:35357/v3/ but can be changed for usage with private clouds
+
+
+VK_CLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VK_CLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VK_CLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+You can find all required and additional information on “Project/Keys” page of your cloud.
+
+
+
+ENV Variable
+Parameter from page
+
+
+
+
+VK_CLOUD_PROJECT_ID
+Project ID
+
+
+VK_CLOUD_USERNAME
+Username
+
+
+VK_CLOUD_DOMAIN_NAME
+User Domain Name
+
+
+VK_CLOUD_IDENTITY_ENDPOINT
+Identity endpoint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/volcengine/index.html b/dns/volcengine/index.html
new file mode 100644
index 0000000000..499db07d19
--- /dev/null
+++ b/dns/volcengine/index.html
@@ -0,0 +1,449 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Volcano Engine/火山引擎 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Volcano Engine/火山引擎
+
+
+
+
+Configuration for Volcano Engine/火山引擎 .
+
+Code: volcengine
+Since: v4.19.0
+
+Here is an example bash command using the Volcano Engine/火山引擎 provider:
+VOLC_ACCESSKEY = xxx \
+ VOLC_SECRETKEY = yyy \
+ lego --email you@example.com --dns volcengine -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VOLC_ACCESSKEY
+Access Key ID (AK)
+
+
+VOLC_SECRETKEY
+Secret Access Key (SK)
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VOLC_HOST
+API host
+
+
+VOLC_HTTP_TIMEOUT
+API request timeout
+
+
+VOLC_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VOLC_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VOLC_REGION
+Region
+
+
+VOLC_SCHEME
+API scheme
+
+
+VOLC_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/vscale/index.html b/dns/vscale/index.html
new file mode 100644
index 0000000000..d8e28631c3
--- /dev/null
+++ b/dns/vscale/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vscale :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vscale
+
+
+
+
+Configuration for Vscale .
+
+Code: vscale
+Since: v2.0.0
+
+Here is an example bash command using the Vscale provider:
+VSCALE_API_TOKEN = xxxxx \
+ lego --email you@example.com --dns vscale -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VSCALE_API_TOKEN
+API token
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VSCALE_BASE_URL
+API endpoint URL
+
+
+VSCALE_HTTP_TIMEOUT
+API request timeout
+
+
+VSCALE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VSCALE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VSCALE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/vultr/index.html b/dns/vultr/index.html
new file mode 100644
index 0000000000..dac4efb316
--- /dev/null
+++ b/dns/vultr/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vultr :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vultr
+
+
+
+
+Configuration for Vultr .
+
+Code: vultr
+Since: v0.3.1
+
+Here is an example bash command using the Vultr provider:
+VULTR_API_KEY = xxxxx \
+ lego --email you@example.com --dns vultr -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VULTR_API_KEY
+API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+VULTR_HTTP_TIMEOUT
+API request timeout
+
+
+VULTR_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+VULTR_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+VULTR_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/webnames/index.html b/dns/webnames/index.html
new file mode 100644
index 0000000000..ee44231c5d
--- /dev/null
+++ b/dns/webnames/index.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Webnames :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Webnames
+
+
+
+
+Configuration for Webnames .
+
+Code: webnames
+Since: v4.15.0
+
+Here is an example bash command using the Webnames provider:
+WEBNAMES_API_KEY = xxxxxx \
+ lego --email you@example.com --dns webnames -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+WEBNAMES_API_KEY
+Domain API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+WEBNAMES_HTTP_TIMEOUT
+API request timeout
+
+
+WEBNAMES_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+WEBNAMES_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+WEBNAMES_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+API Key
+To obtain the key, you need to change the DNS server to *.nameself.com
: Personal account / My domains and services / Select the required domain / DNS servers
+The API key can be found: Personal account / My domains and services / Select the required domain / Zone management / acme.sh or certbot settings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/websupport/index.html b/dns/websupport/index.html
new file mode 100644
index 0000000000..04c13f786a
--- /dev/null
+++ b/dns/websupport/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Websupport :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Websupport
+
+
+
+
+Configuration for Websupport .
+
+Code: websupport
+Since: v4.10.0
+
+Here is an example bash command using the Websupport provider:
+WEBSUPPORT_API_KEY = "xxxxxxxxxxxxxxxxxxxxx" \
+ WEBSUPPORT_SECRET = "yyyyyyyyyyyyyyyyyyyyy" \
+ lego --email you@example.com --dns websupport -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+WEBSUPPORT_API_KEY
+API key
+
+
+WEBSUPPORT_SECRET
+API secret
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+WEBSUPPORT_HTTP_TIMEOUT
+API request timeout
+
+
+WEBSUPPORT_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+WEBSUPPORT_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+WEBSUPPORT_SEQUENCE_INTERVAL
+Time between sequential requests
+
+
+WEBSUPPORT_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/wedos/index.html b/dns/wedos/index.html
new file mode 100644
index 0000000000..bf641a382c
--- /dev/null
+++ b/dns/wedos/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WEDOS :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+WEDOS
+
+
+
+
+Configuration for WEDOS .
+
+Code: wedos
+Since: v4.4.0
+
+Here is an example bash command using the WEDOS provider:
+WEDOS_USERNAME = xxxxxxxx \
+ WEDOS_WAPI_PASSWORD = xxxxxxxx \
+ lego --email you@example.com --dns wedos -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+WEDOS_USERNAME
+Username is the same as for the admin account
+
+
+WEDOS_WAPI_PASSWORD
+Password needs to be generated and IP allowed in the admin interface
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+WEDOS_HTTP_TIMEOUT
+API request timeout
+
+
+WEDOS_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+WEDOS_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+WEDOS_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/yandex/index.html b/dns/yandex/index.html
new file mode 100644
index 0000000000..48a10227cc
--- /dev/null
+++ b/dns/yandex/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Yandex PDD :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Yandex PDD
+
+
+
+
+Configuration for Yandex PDD .
+
+Code: yandex
+Since: v3.7.0
+
+Here is an example bash command using the Yandex PDD provider:
+YANDEX_PDD_TOKEN = <your PDD Token> \
+ lego --email you@example.com --dns yandex -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+YANDEX_PDD_TOKEN
+Basic authentication username
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+YANDEX_HTTP_TIMEOUT
+API request timeout
+
+
+YANDEX_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+YANDEX_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+YANDEX_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/yandex360/index.html b/dns/yandex360/index.html
new file mode 100644
index 0000000000..10e5d2a88e
--- /dev/null
+++ b/dns/yandex360/index.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Yandex 360 :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Yandex 360
+
+
+
+
+Configuration for Yandex 360 .
+
+Code: yandex360
+Since: v4.14.0
+
+Here is an example bash command using the Yandex 360 provider:
+YANDEX360_OAUTH_TOKEN = <your OAuth Token> \
+ YANDEX360_ORG_ID = <your organization ID> \
+ lego --email you@example.com --dns yandex360 -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+YANDEX360_OAUTH_TOKEN
+The OAuth Token
+
+
+YANDEX360_ORG_ID
+The organization ID
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+YANDEX360_HTTP_TIMEOUT
+API request timeout
+
+
+YANDEX360_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+YANDEX360_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+YANDEX360_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/yandexcloud/index.html b/dns/yandexcloud/index.html
new file mode 100644
index 0000000000..54b7e9d845
--- /dev/null
+++ b/dns/yandexcloud/index.html
@@ -0,0 +1,450 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Yandex Cloud :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Yandex Cloud
+
+
+
+
+Configuration for Yandex Cloud .
+
+Code: yandexcloud
+Since: v4.9.0
+
+Here is an example bash command using the Yandex Cloud provider:
+YANDEX_CLOUD_IAM_TOKEN = <base64_IAM_token> \
+ YANDEX_CLOUD_FOLDER_ID = <folder/project_id> \
+ lego --email you@example.com --dns yandexcloud -d '*.example.com' -d example.com run
+
+ # ---
+
+ YANDEX_CLOUD_IAM_TOKEN = $( echo '{ \
+ "id": "<string id>", \
+ "service_account_id": "<string id>", \
+ "created_at": "<datetime>", \
+ "key_algorithm": "RSA_2048", \
+ "public_key": "-----BEGIN PUBLIC KEY-----<rsa public key>-----END PUBLIC KEY-----", \
+ "private_key": "-----BEGIN PRIVATE KEY-----<rsa private key>-----END PRIVATE KEY-----" \
+ }' | base64) \
+ YANDEX_CLOUD_FOLDER_ID = <yandex cloud folder( project) id> \
+ lego --email you@example.com --dns yandexcloud -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+YANDEX_CLOUD_FOLDER_ID
+The string id of folder (aka project) in Yandex Cloud
+
+
+YANDEX_CLOUD_IAM_TOKEN
+The base64 encoded json which contains information about iam token of service account with dns.admin
permissions
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+YANDEX_CLOUD_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+YANDEX_CLOUD_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+YANDEX_CLOUD_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+IAM Token
+The simplest way to retrieve IAM access token is usage of yc-cli,
+follow docs to get it
+yc iam key create --service-account-name my-robot --output key.json
+ cat key.json | base64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/zoneee/index.html b/dns/zoneee/index.html
new file mode 100644
index 0000000000..f7ca42f02d
--- /dev/null
+++ b/dns/zoneee/index.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Zone.ee :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zone.ee
+
+
+
+
+Configuration for Zone.ee .
+
+Code: zoneee
+Since: v2.1.0
+
+Here is an example bash command using the Zone.ee provider:
+ZONEEE_API_USER = xxxxx \
+ ZONEEE_API_KEY = yyyyy \
+ lego --email you@example.com --dns zoneee -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ZONEEE_API_KEY
+API key
+
+
+ZONEEE_API_USER
+API user
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ZONEEE_ENDPOINT
+API endpoint URL
+
+
+ZONEEE_HTTP_TIMEOUT
+API request timeout
+
+
+ZONEEE_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+ZONEEE_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+ZONEEE_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dns/zonomi/index.html b/dns/zonomi/index.html
new file mode 100644
index 0000000000..5fc82eacb8
--- /dev/null
+++ b/dns/zonomi/index.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Zonomi :: Let’s Encrypt client and ACME library written in Go.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zonomi
+
+
+
+
+Configuration for Zonomi .
+
+Code: zonomi
+Since: v3.5.0
+
+Here is an example bash command using the Zonomi provider:
+ZONOMI_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
+ lego --email you@example.com --dns zonomi -d '*.example.com' -d example.com run
Credentials
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ZONOMI_API_KEY
+User API key
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+Additional Configuration
+
+
+
+Environment Variable Name
+Description
+
+
+
+
+ZONOMI_HTTP_TIMEOUT
+API request timeout
+
+
+ZONOMI_POLLING_INTERVAL
+Time between DNS propagation check
+
+
+ZONOMI_PROPAGATION_TIMEOUT
+Maximum waiting time for DNS propagation
+
+
+ZONOMI_TTL
+The TTL of the TXT record used for the DNS challenge
+
+
+
+The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
+More information here .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fonts/WorkSans-Bold.woff b/fonts/WorkSans-Bold.woff
new file mode 100644
index 0000000000000000000000000000000000000000..3f0806698749d51b2cc320a65d9b207545d81aed
GIT binary patch
literal 105088
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